From 378479fb0dc424203526d862a37db02badc88b9f Mon Sep 17 00:00:00 2001
From: Michael Lee <lee.5151@osu.edu>
Date: Thu, 21 Apr 2022 11:35:37 -0400
Subject: [PATCH] Upgrading drupal/core-recommended (9.3.9 => 9.3.12)

---
 composer.lock                                 |   26 +-
 vendor/composer/installed.json                |   30 +-
 vendor/composer/installed.php                 |  242 +-
 web/core/.eslintrc.json                       |    1 +
 .../vendor/ckeditor5/alignment/alignment.js   |    6 +-
 .../ckeditor5/alignment/translations/bs.js    |    1 +
 .../ckeditor5/alignment/translations/el.js    |    1 +
 .../ckeditor5/alignment/translations/jv.js    |    1 +
 .../ckeditor5/alignment/translations/uz.js    |    1 +
 .../ckeditor5/basic-styles/basic-styles.js    |    6 +-
 .../ckeditor5/basic-styles/translations/bs.js |    1 +
 .../ckeditor5/basic-styles/translations/el.js |    2 +-
 .../ckeditor5/basic-styles/translations/jv.js |    1 +
 .../ckeditor5/basic-styles/translations/uz.js |    1 +
 .../ckeditor5/block-quote/block-quote.js      |    6 +-
 .../ckeditor5/block-quote/translations/bs.js  |    1 +
 .../ckeditor5/block-quote/translations/uz.js  |    1 +
 .../ckeditor5/ckeditor5-dll/ckeditor5-dll.js  |    6 +-
 .../ckeditor5-dll/translations/ar.js          |    2 +-
 .../ckeditor5-dll/translations/bs.js          |    1 +
 .../ckeditor5-dll/translations/cs.js          |    2 +-
 .../ckeditor5-dll/translations/da.js          |    2 +-
 .../ckeditor5-dll/translations/el.js          |    2 +-
 .../ckeditor5-dll/translations/en-au.js       |    2 +-
 .../ckeditor5-dll/translations/es.js          |    2 +-
 .../ckeditor5-dll/translations/fa.js          |    2 +-
 .../ckeditor5-dll/translations/fi.js          |    2 +-
 .../ckeditor5-dll/translations/he.js          |    2 +-
 .../ckeditor5-dll/translations/hr.js          |    2 +-
 .../ckeditor5-dll/translations/id.js          |    2 +-
 .../ckeditor5-dll/translations/jv.js          |    1 +
 .../ckeditor5-dll/translations/ko.js          |    2 +-
 .../ckeditor5-dll/translations/ne.js          |    2 +-
 .../ckeditor5-dll/translations/nl.js          |    2 +-
 .../ckeditor5-dll/translations/pt-br.js       |    2 +-
 .../ckeditor5-dll/translations/sk.js          |    2 +-
 .../ckeditor5-dll/translations/tk.js          |    2 +-
 .../ckeditor5-dll/translations/ug.js          |    2 +-
 .../ckeditor5-dll/translations/uz.js          |    1 +
 .../ckeditor5-dll/translations/zh.js          |    2 +-
 .../vendor/ckeditor5/code-block/code-block.js |    5 +
 .../ckeditor5/code-block/translations/az.js   |    1 +
 .../ckeditor5/code-block/translations/bs.js   |    1 +
 .../ckeditor5/code-block/translations/cs.js   |    1 +
 .../ckeditor5/code-block/translations/da.js   |    1 +
 .../code-block/translations/de-ch.js          |    1 +
 .../ckeditor5/code-block/translations/de.js   |    1 +
 .../ckeditor5/code-block/translations/el.js   |    1 +
 .../code-block/translations/en-au.js          |    1 +
 .../ckeditor5/code-block/translations/es.js   |    1 +
 .../ckeditor5/code-block/translations/et.js   |    1 +
 .../ckeditor5/code-block/translations/fa.js   |    1 +
 .../ckeditor5/code-block/translations/fr.js   |    1 +
 .../ckeditor5/code-block/translations/gl.js   |    1 +
 .../ckeditor5/code-block/translations/hi.js   |    1 +
 .../ckeditor5/code-block/translations/hr.js   |    1 +
 .../ckeditor5/code-block/translations/hu.js   |    1 +
 .../ckeditor5/code-block/translations/id.js   |    1 +
 .../ckeditor5/code-block/translations/it.js   |    1 +
 .../ckeditor5/code-block/translations/ja.js   |    1 +
 .../ckeditor5/code-block/translations/jv.js   |    1 +
 .../ckeditor5/code-block/translations/ko.js   |    1 +
 .../ckeditor5/code-block/translations/ku.js   |    1 +
 .../ckeditor5/code-block/translations/lv.js   |    1 +
 .../ckeditor5/code-block/translations/nl.js   |    1 +
 .../ckeditor5/code-block/translations/no.js   |    1 +
 .../ckeditor5/code-block/translations/pl.js   |    1 +
 .../code-block/translations/pt-br.js          |    1 +
 .../ckeditor5/code-block/translations/ro.js   |    1 +
 .../ckeditor5/code-block/translations/ru.js   |    1 +
 .../ckeditor5/code-block/translations/sk.js   |    1 +
 .../code-block/translations/sr-latn.js        |    1 +
 .../ckeditor5/code-block/translations/sr.js   |    1 +
 .../ckeditor5/code-block/translations/th.js   |    1 +
 .../ckeditor5/code-block/translations/tk.js   |    1 +
 .../ckeditor5/code-block/translations/tr.js   |    1 +
 .../ckeditor5/code-block/translations/ug.js   |    1 +
 .../ckeditor5/code-block/translations/uk.js   |    1 +
 .../ckeditor5/code-block/translations/uz.js   |    1 +
 .../code-block/translations/zh-cn.js          |    1 +
 .../ckeditor5/code-block/translations/zh.js   |    1 +
 .../editor-classic/editor-classic.js          |    5 +-
 .../editor-decoupled/editor-decoupled.js      |    5 +-
 .../vendor/ckeditor5/essentials/essentials.js |    5 +-
 .../vendor/ckeditor5/heading/heading.js       |    6 +-
 .../ckeditor5/heading/translations/bs.js      |    1 +
 .../ckeditor5/heading/translations/el.js      |    2 +-
 .../ckeditor5/heading/translations/jv.js      |    1 +
 .../ckeditor5/heading/translations/uz.js      |    1 +
 .../horizontal-line/horizontal-line.js        |    6 +-
 .../horizontal-line/translations/bs.js        |    1 +
 .../horizontal-line/translations/el.js        |    1 +
 .../horizontal-line/translations/jv.js        |    1 +
 .../ckeditor5/html-support/html-support.js    |    6 +-
 .../ckeditor5/html-support/translations/cs.js |    1 +
 .../ckeditor5/html-support/translations/el.js |    1 +
 .../html-support/translations/en-au.js        |    1 +
 .../ckeditor5/html-support/translations/es.js |    1 +
 .../ckeditor5/html-support/translations/hr.js |    1 +
 .../ckeditor5/html-support/translations/id.js |    1 +
 .../ckeditor5/html-support/translations/jv.js |    1 +
 .../html-support/translations/pt-br.js        |    1 +
 .../ckeditor5/html-support/translations/sk.js |    1 +
 .../ckeditor5/html-support/translations/zh.js |    1 +
 .../assets/vendor/ckeditor5/image/image.js    |    6 +-
 .../vendor/ckeditor5/image/translations/bs.js |    1 +
 .../vendor/ckeditor5/image/translations/cs.js |    2 +-
 .../vendor/ckeditor5/image/translations/el.js |    2 +-
 .../ckeditor5/image/translations/en-au.js     |    2 +-
 .../vendor/ckeditor5/image/translations/es.js |    2 +-
 .../vendor/ckeditor5/image/translations/hr.js |    2 +-
 .../vendor/ckeditor5/image/translations/id.js |    2 +-
 .../vendor/ckeditor5/image/translations/jv.js |    1 +
 .../ckeditor5/image/translations/pt-br.js     |    2 +-
 .../vendor/ckeditor5/image/translations/sk.js |    2 +-
 .../vendor/ckeditor5/image/translations/uz.js |    1 +
 .../ckeditor5/image/translations/zh-cn.js     |    2 +-
 .../vendor/ckeditor5/image/translations/zh.js |    2 +-
 .../assets/vendor/ckeditor5/indent/indent.js  |    6 +-
 .../ckeditor5/indent/translations/el.js       |    1 +
 .../ckeditor5/indent/translations/uz.js       |    1 +
 .../vendor/ckeditor5/language/language.js     |    6 +-
 .../ckeditor5/language/translations/da.js     |    1 +
 .../ckeditor5/language/translations/el.js     |    1 +
 .../ckeditor5/language/translations/en-au.js  |    1 +
 .../ckeditor5/language/translations/fi.js     |    1 +
 .../ckeditor5/language/translations/hr.js     |    1 +
 .../ckeditor5/language/translations/jv.js     |    1 +
 .../ckeditor5/language/translations/pt-br.js  |    1 +
 web/core/assets/vendor/ckeditor5/link/link.js |    6 +-
 .../vendor/ckeditor5/link/translations/el.js  |    2 +-
 .../vendor/ckeditor5/link/translations/es.js  |    2 +-
 .../vendor/ckeditor5/link/translations/fi.js  |    2 +-
 .../vendor/ckeditor5/link/translations/hr.js  |    2 +-
 .../vendor/ckeditor5/link/translations/uz.js  |    1 +
 web/core/assets/vendor/ckeditor5/list/list.js |    6 +-
 .../vendor/ckeditor5/list/translations/ar.js  |    2 +-
 .../vendor/ckeditor5/list/translations/ast.js |    2 +-
 .../vendor/ckeditor5/list/translations/az.js  |    2 +-
 .../vendor/ckeditor5/list/translations/bg.js  |    2 +-
 .../vendor/ckeditor5/list/translations/cs.js  |    2 +-
 .../vendor/ckeditor5/list/translations/da.js  |    2 +-
 .../ckeditor5/list/translations/de-ch.js      |    2 +-
 .../vendor/ckeditor5/list/translations/de.js  |    2 +-
 .../vendor/ckeditor5/list/translations/el.js  |    2 +-
 .../ckeditor5/list/translations/en-au.js      |    2 +-
 .../ckeditor5/list/translations/en-gb.js      |    2 +-
 .../vendor/ckeditor5/list/translations/eo.js  |    2 +-
 .../vendor/ckeditor5/list/translations/es.js  |    2 +-
 .../vendor/ckeditor5/list/translations/et.js  |    2 +-
 .../vendor/ckeditor5/list/translations/eu.js  |    2 +-
 .../vendor/ckeditor5/list/translations/fa.js  |    2 +-
 .../vendor/ckeditor5/list/translations/fi.js  |    2 +-
 .../vendor/ckeditor5/list/translations/fr.js  |    2 +-
 .../vendor/ckeditor5/list/translations/gl.js  |    2 +-
 .../vendor/ckeditor5/list/translations/he.js  |    2 +-
 .../vendor/ckeditor5/list/translations/hi.js  |    2 +-
 .../vendor/ckeditor5/list/translations/hr.js  |    2 +-
 .../vendor/ckeditor5/list/translations/hu.js  |    2 +-
 .../vendor/ckeditor5/list/translations/id.js  |    2 +-
 .../vendor/ckeditor5/list/translations/it.js  |    2 +-
 .../vendor/ckeditor5/list/translations/ja.js  |    2 +-
 .../vendor/ckeditor5/list/translations/jv.js  |    1 +
 .../vendor/ckeditor5/list/translations/km.js  |    2 +-
 .../vendor/ckeditor5/list/translations/kn.js  |    2 +-
 .../vendor/ckeditor5/list/translations/ko.js  |    2 +-
 .../vendor/ckeditor5/list/translations/ku.js  |    2 +-
 .../vendor/ckeditor5/list/translations/lt.js  |    2 +-
 .../vendor/ckeditor5/list/translations/lv.js  |    2 +-
 .../vendor/ckeditor5/list/translations/nb.js  |    2 +-
 .../vendor/ckeditor5/list/translations/ne.js  |    2 +-
 .../vendor/ckeditor5/list/translations/nl.js  |    2 +-
 .../vendor/ckeditor5/list/translations/no.js  |    2 +-
 .../vendor/ckeditor5/list/translations/pl.js  |    2 +-
 .../ckeditor5/list/translations/pt-br.js      |    2 +-
 .../vendor/ckeditor5/list/translations/pt.js  |    2 +-
 .../vendor/ckeditor5/list/translations/ro.js  |    2 +-
 .../vendor/ckeditor5/list/translations/ru.js  |    2 +-
 .../vendor/ckeditor5/list/translations/si.js  |    2 +-
 .../vendor/ckeditor5/list/translations/sk.js  |    2 +-
 .../vendor/ckeditor5/list/translations/sq.js  |    2 +-
 .../ckeditor5/list/translations/sr-latn.js    |    2 +-
 .../vendor/ckeditor5/list/translations/sr.js  |    2 +-
 .../vendor/ckeditor5/list/translations/sv.js  |    2 +-
 .../vendor/ckeditor5/list/translations/tk.js  |    2 +-
 .../vendor/ckeditor5/list/translations/tr.js  |    2 +-
 .../vendor/ckeditor5/list/translations/ug.js  |    2 +-
 .../vendor/ckeditor5/list/translations/uk.js  |    2 +-
 .../vendor/ckeditor5/list/translations/uz.js  |    1 +
 .../vendor/ckeditor5/list/translations/vi.js  |    2 +-
 .../ckeditor5/list/translations/zh-cn.js      |    2 +-
 .../vendor/ckeditor5/list/translations/zh.js  |    2 +-
 .../paste-from-office/paste-from-office.js    |    5 +-
 .../ckeditor5/remove-format/remove-format.js  |    6 +-
 .../remove-format/translations/el.js          |    1 +
 .../remove-format/translations/uz.js          |    1 +
 .../source-editing/source-editing.js          |    6 +-
 .../source-editing/translations/cs.js         |    1 +
 .../source-editing/translations/el.js         |    1 +
 .../source-editing/translations/en-au.js      |    1 +
 .../source-editing/translations/es.js         |    1 +
 .../source-editing/translations/hr.js         |    1 +
 .../source-editing/translations/id.js         |    1 +
 .../source-editing/translations/pt-br.js      |    1 +
 .../source-editing/translations/sk.js         |    1 +
 .../special-characters/special-characters.js  |    6 +-
 .../special-characters/translations/az.js     |    1 +
 .../special-characters/translations/el.js     |    1 +
 .../special-characters/translations/id.js     |    1 +
 .../special-characters/translations/uz.js     |    1 +
 .../assets/vendor/ckeditor5/table/table.js    |    6 +-
 .../vendor/ckeditor5/table/translations/cs.js |    2 +-
 .../vendor/ckeditor5/table/translations/el.js |    1 +
 .../ckeditor5/table/translations/en-au.js     |    2 +-
 .../vendor/ckeditor5/table/translations/es.js |    2 +-
 .../vendor/ckeditor5/table/translations/hr.js |    2 +-
 .../vendor/ckeditor5/table/translations/id.js |    2 +-
 .../ckeditor5/table/translations/pt-br.js     |    2 +-
 .../vendor/ckeditor5/table/translations/sk.js |    2 +-
 .../vendor/ckeditor5/table/translations/uz.js |    1 +
 .../vendor/ckeditor5/table/translations/zh.js |    2 +-
 web/core/assets/vendor/jquery.ui/AUTHORS.txt  |  333 --
 web/core/assets/vendor/jquery.ui/README.txt   |   59 -
 .../jquery.ui/themes/base/autocomplete.css    |    2 +-
 .../vendor/jquery.ui/themes/base/button.css   |    2 +-
 .../jquery.ui/themes/base/checkboxradio.css   |    2 +-
 .../jquery.ui/themes/base/controlgroup.css    |    2 +-
 .../vendor/jquery.ui/themes/base/core.css     |    4 +-
 .../vendor/jquery.ui/themes/base/dialog.css   |    2 +-
 .../jquery.ui/themes/base/draggable.css       |    2 +-
 .../base/images/ui-icons_444444_256x240.png   |   26 +-
 .../base/images/ui-icons_555555_256x240.png   |   24 +-
 .../base/images/ui-icons_777620_256x240.png   |   24 +-
 .../base/images/ui-icons_777777_256x240.png   |   20 +-
 .../base/images/ui-icons_cc0000_256x240.png   |   23 +-
 .../base/images/ui-icons_ffffff_256x240.png   |   28 +-
 .../vendor/jquery.ui/themes/base/menu.css     |    2 +-
 .../jquery.ui/themes/base/resizable.css       |    2 +-
 .../vendor/jquery.ui/themes/base/theme.css    |   15 +-
 .../assets/vendor/jquery.ui/ui/data-min.js    |    5 +-
 .../vendor/jquery.ui/ui/data-min.js.map       |    1 +
 web/core/assets/vendor/jquery.ui/ui/data.js   |   12 +-
 .../jquery.ui/ui/disable-selection-min.js     |    5 +-
 .../jquery.ui/ui/disable-selection-min.js.map |    1 +
 .../vendor/jquery.ui/ui/disable-selection.js  |    9 +-
 .../jquery.ui/ui/escape-selector-min.js       |    1 -
 .../vendor/jquery.ui/ui/escape-selector.js    |   21 -
 .../vendor/jquery.ui/ui/focusable-min.js      |    5 +-
 .../vendor/jquery.ui/ui/focusable-min.js.map  |    1 +
 .../assets/vendor/jquery.ui/ui/focusable.js   |   13 +-
 .../assets/vendor/jquery.ui/ui/form-min.js    |    3 +-
 .../vendor/jquery.ui/ui/form-min.js.map       |    1 +
 .../jquery.ui/ui/form-reset-mixin-min.js      |    5 +-
 .../jquery.ui/ui/form-reset-mixin-min.js.map  |    1 +
 .../vendor/jquery.ui/ui/form-reset-mixin.js   |   11 +-
 web/core/assets/vendor/jquery.ui/ui/form.js   |    9 +-
 web/core/assets/vendor/jquery.ui/ui/ie-min.js |    3 +-
 .../assets/vendor/jquery.ui/ui/ie-min.js.map  |    1 +
 web/core/assets/vendor/jquery.ui/ui/ie.js     |    7 +-
 .../vendor/jquery.ui/ui/jquery-1-7-min.js     |   10 -
 .../assets/vendor/jquery.ui/ui/jquery-1-7.js  |   89 -
 .../vendor/jquery.ui/ui/jquery-patch-min.js   |   11 +
 .../jquery.ui/ui/jquery-patch-min.js.map      |    1 +
 .../vendor/jquery.ui/ui/jquery-patch.js       |   89 +
 .../assets/vendor/jquery.ui/ui/keycode-min.js |    5 +-
 .../vendor/jquery.ui/ui/keycode-min.js.map    |    1 +
 .../assets/vendor/jquery.ui/ui/keycode.js     |   10 +-
 .../assets/vendor/jquery.ui/ui/labels-min.js  |    5 +-
 .../vendor/jquery.ui/ui/labels-min.js.map     |    1 +
 web/core/assets/vendor/jquery.ui/ui/labels.js |   17 +-
 .../assets/vendor/jquery.ui/ui/plugin-min.js  |    3 +-
 .../vendor/jquery.ui/ui/plugin-min.js.map     |    1 +
 web/core/assets/vendor/jquery.ui/ui/plugin.js |    7 +-
 .../vendor/jquery.ui/ui/position-min.js       |    5 +-
 .../vendor/jquery.ui/ui/position-min.js.map   |    1 +
 .../assets/vendor/jquery.ui/ui/position.js    |   28 +-
 .../jquery.ui/ui/safe-active-element-min.js   |    3 +-
 .../ui/safe-active-element-min.js.map         |    1 +
 .../jquery.ui/ui/safe-active-element.js       |    8 +-
 .../vendor/jquery.ui/ui/safe-blur-min.js      |    3 +-
 .../vendor/jquery.ui/ui/safe-blur-min.js.map  |    1 +
 .../assets/vendor/jquery.ui/ui/safe-blur.js   |    8 +-
 .../vendor/jquery.ui/ui/scroll-parent-min.js  |    5 +-
 .../jquery.ui/ui/scroll-parent-min.js.map     |    1 +
 .../vendor/jquery.ui/ui/scroll-parent.js      |    9 +-
 .../vendor/jquery.ui/ui/tabbable-min.js       |    5 +-
 .../vendor/jquery.ui/ui/tabbable-min.js.map   |    1 +
 .../assets/vendor/jquery.ui/ui/tabbable.js    |   11 +-
 .../vendor/jquery.ui/ui/unique-id-min.js      |    5 +-
 .../vendor/jquery.ui/ui/unique-id-min.js.map  |    1 +
 .../assets/vendor/jquery.ui/ui/unique-id.js   |    9 +-
 .../assets/vendor/jquery.ui/ui/version-min.js |    3 +-
 .../vendor/jquery.ui/ui/version-min.js.map    |    1 +
 .../assets/vendor/jquery.ui/ui/version.js     |    9 +-
 .../assets/vendor/jquery.ui/ui/widget-min.js  |    5 +-
 .../vendor/jquery.ui/ui/widget-min.js.map     |    1 +
 web/core/assets/vendor/jquery.ui/ui/widget.js |   73 +-
 .../jquery.ui/ui/widgets/autocomplete-min.js  |    5 +-
 .../ui/widgets/autocomplete-min.js.map        |    1 +
 .../jquery.ui/ui/widgets/autocomplete.js      |   68 +-
 .../vendor/jquery.ui/ui/widgets/button-min.js |    5 +-
 .../jquery.ui/ui/widgets/button-min.js.map    |    1 +
 .../vendor/jquery.ui/ui/widgets/button.js     |  101 +-
 .../jquery.ui/ui/widgets/checkboxradio-min.js |    5 +-
 .../ui/widgets/checkboxradio-min.js.map       |    1 +
 .../jquery.ui/ui/widgets/checkboxradio.js     |   19 +-
 .../jquery.ui/ui/widgets/controlgroup-min.js  |    5 +-
 .../ui/widgets/controlgroup-min.js.map        |    1 +
 .../jquery.ui/ui/widgets/controlgroup.js      |   16 +-
 .../vendor/jquery.ui/ui/widgets/dialog-min.js |    5 +-
 .../jquery.ui/ui/widgets/dialog-min.js.map    |    1 +
 .../vendor/jquery.ui/ui/widgets/dialog.js     |   77 +-
 .../jquery.ui/ui/widgets/draggable-min.js     |    5 +-
 .../jquery.ui/ui/widgets/draggable-min.js.map |    1 +
 .../vendor/jquery.ui/ui/widgets/draggable.js  |   35 +-
 .../vendor/jquery.ui/ui/widgets/menu-min.js   |    5 +-
 .../jquery.ui/ui/widgets/menu-min.js.map      |    1 +
 .../vendor/jquery.ui/ui/widgets/menu.js       |  126 +-
 .../vendor/jquery.ui/ui/widgets/mouse-min.js  |    5 +-
 .../jquery.ui/ui/widgets/mouse-min.js.map     |    1 +
 .../vendor/jquery.ui/ui/widgets/mouse.js      |   25 +-
 .../jquery.ui/ui/widgets/resizable-min.js     |    5 +-
 .../jquery.ui/ui/widgets/resizable-min.js.map |    1 +
 .../vendor/jquery.ui/ui/widgets/resizable.js  |   54 +-
 web/core/core.libraries.yml                   |  109 +-
 web/core/lib/Drupal.php                       |    2 +-
 .../Component/Render/FormattableMarkup.php    |    2 +-
 .../Cache/Context/CookiesCacheContext.php     |    7 +-
 .../lib/Drupal/Core/Composer/Composer.php     |    3 +-
 .../Core/Database/Driver/mysql/Schema.php     |   40 -
 web/core/lib/Drupal/Core/Form/FormBuilder.php |    2 +-
 .../lib/Drupal/Core/Logger/LoggerChannel.php  |    2 +-
 .../Drupal/Core/Render/Element/Checkboxes.php |   32 +-
 .../lib/Drupal/Core/Render/Element/Radios.php |    6 +
 .../Core/TypedData/TranslatableInterface.php  |    8 +-
 web/core/misc/cspell/dictionary.txt           |    1 +
 web/core/modules/block/src/BlockForm.php      |    3 +-
 .../src/FunctionalJavascript/BlockAddTest.php |   51 +
 .../install/block.block.foobargorilla.yml     |    4 +-
 .../Functional/BlockContentCreationTest.php   |    2 +-
 .../src/Functional/BlockContentListTest.php   |   11 +-
 .../Functional/BlockContentPageViewTest.php   |    2 +-
 .../src/Functional/BlockContentSaveTest.php   |    2 +-
 .../src/Functional/BlockContentTypeTest.php   |    2 +-
 .../src/Functional/UnpublishedBlockTest.php   |    8 +-
 web/core/modules/ckeditor5/ckeditor5.api.php  |   11 +-
 .../modules/ckeditor5/ckeditor5.ckeditor5.yml |  100 +-
 .../modules/ckeditor5/ckeditor5.libraries.yml |   30 +-
 web/core/modules/ckeditor5/ckeditor5.module   |  105 +-
 .../modules/ckeditor5/ckeditor5.services.yml  |   10 +
 .../ckeditor5/css/code-block.admin.css        |    3 +
 web/core/modules/ckeditor5/css/image.css      |   82 +
 web/core/modules/ckeditor5/icons/caret.svg    |    1 +
 .../modules/ckeditor5/icons/code-block.svg    |    1 +
 web/core/modules/ckeditor5/icons/warning.svg  |    1 +
 .../ckeditor5/js/build/ckeditor5.types.jsdoc  | 3149 +++++++++++++++++
 .../modules/ckeditor5/js/build/drupalImage.js |    2 +-
 .../modules/ckeditor5/js/build/drupalMedia.js |    2 +-
 .../ckeditor5/js/ckeditor5.admin.es6.js       |   34 +-
 .../modules/ckeditor5/js/ckeditor5.admin.js   |   15 +-
 .../modules/ckeditor5/js/ckeditor5.es6.js     |   71 +-
 .../js/ckeditor5.filter.admin.es6.js          |   20 +
 .../ckeditor5/js/ckeditor5.filter.admin.js    |    7 +
 web/core/modules/ckeditor5/js/ckeditor5.js    |    9 +-
 .../drupalImage/src/drupalimage.js            |    5 +-
 .../src/drupalimagealternativetext.js         |   40 +
 .../drupalImage/src/drupalimageediting.js     |   84 +-
 .../drupalimagealternativetextediting.js      |  168 +
 .../drupalimagealternativetextui.js           |  321 ++
 .../ui/imagealternativetextformview.js        |  279 ++
 .../ui/missingalternativetextview.js          |   48 +
 .../drupalelementstylecommand.js              |   48 +-
 .../drupalelementstyleediting.js              |    5 +-
 .../drupallinkmedia/drupallinkmediaediting.js |  158 +-
 .../drupalmediacaptioncommand.js              |   53 +-
 .../drupalmediacaptionui.js                   |    7 +-
 .../src/drupalmediacaption/utils.js           |   25 +
 .../drupalMedia/src/drupalmediaediting.js     |   36 +-
 .../src/drupalmediageneralhtmlsupport.js      |    9 -
 .../drupalMedia/src/drupalmediatoolbar.js     |    5 +-
 .../mediaimagetextalternativecommand.js       |   28 +-
 .../mediaimagetextalternativeediting.js       |    7 +-
 .../mediaimagetextalternativeui.js            |    7 +-
 .../drupalMedia/src/ui/utils.js               |    6 +-
 .../drupalMedia/src/utils.js                  |   33 +-
 .../ckeditor5/js/ie11.filter.warnings.es6.js  |   10 +-
 .../ckeditor5/js/ie11.filter.warnings.js      |    8 +-
 .../ckeditor5/js/ie11.user.warnings.es6.js    |    8 +-
 .../ckeditor5/js/ie11.user.warnings.js        |    6 +-
 .../src/CKEditor5StylesheetsMessage.php       |  134 +
 .../src/EventSubscriber/CKEditor5CacheTag.php |   61 +
 .../ckeditor5/src/HTMLRestrictions.php        |  310 +-
 .../src/Plugin/CKEditor4To5Upgrade/Core.php   |   56 +-
 .../CKEditor4To5UpgradePluginInterface.php    |   12 +-
 .../CKEditor4To5UpgradePluginManager.php      |   12 +-
 .../Plugin/CKEditor5Plugin/SourceEditing.php  |    6 +-
 .../src/Plugin/CKEditor5PluginManager.php     |   45 +-
 .../CKEditor5PluginManagerInterface.php       |   19 +-
 .../ckeditor5/src/Plugin/Editor/CKEditor5.php |   33 +-
 .../CKEditor5ElementConstraintValidator.php   |    6 +-
 ...mentalCompatibilityConstraintValidator.php |   12 +
 .../SourceEditingRedundantTagsConstraint.php  |   12 +-
 ...ditingRedundantTagsConstraintValidator.php |  110 +-
 .../ckeditor5/src/SmartDefaultSettings.php    |  433 ++-
 ...ckeditor5_drupalelementstyle_test.info.yml |    7 +
 .../ckeditor5_drupalelementstyle_test.module  |   30 +
 ...ditor5_manual_decorator_test.ckeditor5.yml |   25 +
 .../ckeditor5_manual_decorator_test.info.yml  |    6 +
 ...editor5_plugin_elements_test.ckeditor5.yml |    8 +-
 .../src/Functional/AddedStylesheetsTest.php   |  108 +
 .../CKEditor5QuickEditLibraryTest.php         |   87 +
 .../src/FunctionalJavascript/AdminUiTest.php  |   77 +-
 .../FunctionalJavascript/CKEditor5Test.php    |   29 +-
 .../CKEditorStylesheetsWarningTest.php        |   73 +
 .../src/FunctionalJavascript/ImageTest.php    |  275 +-
 .../FunctionalJavascript/MediaLibraryTest.php |    9 +-
 .../src/FunctionalJavascript/MediaTest.php    |  242 +-
 .../SourceEditingTest.php                     |  117 +-
 .../CKEditor4to5UpgradeCompletenessTest.php   |   18 +-
 .../src/Kernel/CKEditor5PluginManagerTest.php |   48 +-
 .../src/Kernel/CKEditor5StylesheetsTest.php   |   70 +
 .../src/Kernel/SmartDefaultSettingsTest.php   |  209 +-
 .../tests/src/Kernel/ValidatorsTest.php       |   82 +-
 .../src/Kernel/WildcardHtmlSupportTest.php    |  218 ++
 .../src/Traits/PrivateMethodUnitTestTrait.php |   30 +
 .../tests/src/Unit/CKEditor5Test.php          |   21 +-
 .../tests/src/Unit/HTMLRestrictionsTest.php   |  434 ++-
 .../src/Unit/SmartDefaultSettingsTest.php     |  264 ++
 web/core/modules/editor/editor.module         |    1 +
 .../FunctionalJavascript/EditorAdminTest.php  |   24 +
 .../config/schema/field_test.schema.yml       |    4 +-
 .../tests/src/Kernel/EntityDisplayTest.php    |   22 +-
 .../help/tests/src/Functional/HelpTest.php    |    2 +-
 .../tests/src/Functional/BlockTest.php        |    8 +-
 .../FunctionalJavascript/AjaxBlockTest.php    |    1 +
 .../ContentPreviewToggleTest.php              |    2 +
 .../LayoutBuilderDisableInteractionsTest.php  |    9 +
 .../LayoutBuilderNestedFormUiTest.php         |    2 +
 .../LayoutBuilderTest.php                     |   15 +-
 .../test_layout_theme.info.yml                |    2 +-
 .../media/src/MediaAccessControlHandler.php   |    2 +-
 .../CKEditorIntegrationTest.php               |    8 +
 .../MediaStandardProfileTest.php              |    8 +
 .../Field/FieldWidget/MediaLibraryWidget.php  |   34 +
 .../EntityReferenceWidgetTest.php             |   86 +
 .../src/Plugin/migrate/process/Callback.php   |   11 +
 .../tests/src/Unit/process/CallbackTest.php   |    5 +
 ...FileExists.php => StateFileExistsTest.php} |    2 +-
 .../node/src/NodeAccessControlHandler.php     |    4 +-
 .../CKEditor5IntegrationTest.php              |    6 +-
 .../QuickEditIntegrationTest.php              |    2 +
 web/core/modules/shortcut/shortcut.api.php    |    4 +-
 .../modules/system/migrations/system_site.yml |   52 +-
 .../src/Controller/AjaxTestController.php     |    2 +-
 .../src/Form/FormTestDisabledElementsForm.php |   30 +-
 .../modules/module_test/module_test.module    |   12 +-
 .../off_canvas_test/js/resize-helper.es6.js   |   18 +
 .../off_canvas_test/js/resize-helper.js       |   16 +
 .../off_canvas_test.libraries.yml             |    5 +
 .../off_canvas_test/off_canvas_test.module    |   18 +
 .../tests/src/Functional/Form/FormTest.php    |    4 +-
 .../src/Functional/Module/DependencyTest.php  |   12 +-
 .../Kernel/Extension/ModuleHandlerTest.php    |   30 +-
 .../d6/MigrateSystemConfigurationTest.php     |    8 +-
 .../d7/MigrateSystemConfigurationTest.php     |   21 +-
 .../tests/src/Traits/OffCanvasTestTrait.php   |   28 +
 ..._ckeditor_stylesheets_drupal_root.info.yml |    2 +
 ...est_ckeditor_stylesheets_external.info.yml |    2 +
 ...tor_stylesheets_protocol_relative.info.yml |    2 +
 ...est_ckeditor_stylesheets_relative.info.yml |    2 +
 .../css/yokotsoko.css                         |    4 +
 ...st_ckeditor_stylesheets_without_5.info.yml |    9 +
 .../css/another.css                           |    5 +
 ...ng_ckeditor_stylesheets_without_5.info.yml |    9 +
 .../tests/src/Functional/FieldUITest.php      |    4 +-
 .../tests/src/Functional/HandlerTest.php      |    4 +-
 .../tests/src/Functional/PreviewTest.php      |   19 +-
 .../src/FunctionalJavascript/DisplayTest.php  |    4 +-
 .../src/FunctionalJavascript/PreviewTest.php  |   27 +-
 .../FunctionalJavascript/ViewsListingTest.php |   14 +-
 .../views_test_classy_subtheme.info.yml       |    2 +-
 web/core/package.json                         |   54 +-
 .../images/borscht-with-pork-ribs-umami.jpg   |  287 ++
 .../languages/en/media/image.csv              |    1 +
 .../languages/en/node/recipe.csv              |    1 +
 .../borscht-with-pork-ribs-umami.html         |   12 +
 .../languages/es/media/image.csv              |    1 +
 .../languages/es/node/recipe.csv              |    1 +
 .../borscht-with-pork-ribs-umami.html         |   11 +
 web/core/scripts/dev/commit-code-check.sh     |   37 +-
 web/core/scripts/js/assets/ckeditor5Files.js  |   65 +
 .../scripts/js/assets/process/jqueryui.js     |   47 +
 web/core/scripts/js/assets/process/map.js     |   20 +
 .../js/ckeditor5-types-documentation.js       |  117 +
 web/core/scripts/js/jqueryui-build.js         |   46 -
 web/core/scripts/js/jqueryui-check.js         |   24 -
 web/core/scripts/js/jqueryui-terser.js        |   14 -
 .../js/{assets.js => vendor-update.js}        |  220 +-
 .../BuildTests/Composer/LegacyScriptsTest.php |  134 +
 .../Ajax/AjaxTest.php                         |    2 +-
 .../FunctionalJavascriptTests/JSWebAssert.php |    4 +-
 .../Libraries/JqueryUiLibraryAssetsTest.php   |   42 +-
 .../Asset/DeprecatedJqueryUiAssetsTest.php    |   20 +-
 .../Cache/Context/CookieCacheContextTest.php  |   43 +
 .../Tests/Core/Command/QuickStartTest.php     |    2 +
 .../Tests/Core/Logger/LoggerChannelTest.php   |   37 +-
 .../claro/css/components/jquery.ui/theme.css  |    1 -
 .../css/components/jquery.ui/theme.pcss.css   |    1 -
 web/core/yarn.lock                            | 1513 ++++----
 509 files changed, 11610 insertions(+), 3302 deletions(-)
 create mode 100644 web/core/assets/vendor/ckeditor5/alignment/translations/bs.js
 create mode 100644 web/core/assets/vendor/ckeditor5/alignment/translations/el.js
 create mode 100644 web/core/assets/vendor/ckeditor5/alignment/translations/jv.js
 create mode 100644 web/core/assets/vendor/ckeditor5/alignment/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/basic-styles/translations/bs.js
 create mode 100644 web/core/assets/vendor/ckeditor5/basic-styles/translations/jv.js
 create mode 100644 web/core/assets/vendor/ckeditor5/basic-styles/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/block-quote/translations/bs.js
 create mode 100644 web/core/assets/vendor/ckeditor5/block-quote/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bs.js
 create mode 100644 web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/jv.js
 create mode 100644 web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/code-block.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/az.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/bs.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/cs.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/da.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/de-ch.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/de.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/el.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/en-au.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/es.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/et.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/fa.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/fr.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/gl.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/hi.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/hr.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/hu.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/id.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/it.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/ja.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/jv.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/ko.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/ku.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/lv.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/nl.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/no.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/pl.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/pt-br.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/ro.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/ru.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/sk.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/sr-latn.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/sr.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/th.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/tk.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/tr.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/ug.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/uk.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/zh-cn.js
 create mode 100644 web/core/assets/vendor/ckeditor5/code-block/translations/zh.js
 create mode 100644 web/core/assets/vendor/ckeditor5/heading/translations/bs.js
 create mode 100644 web/core/assets/vendor/ckeditor5/heading/translations/jv.js
 create mode 100644 web/core/assets/vendor/ckeditor5/heading/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/horizontal-line/translations/bs.js
 create mode 100644 web/core/assets/vendor/ckeditor5/horizontal-line/translations/el.js
 create mode 100644 web/core/assets/vendor/ckeditor5/horizontal-line/translations/jv.js
 create mode 100644 web/core/assets/vendor/ckeditor5/html-support/translations/cs.js
 create mode 100644 web/core/assets/vendor/ckeditor5/html-support/translations/el.js
 create mode 100644 web/core/assets/vendor/ckeditor5/html-support/translations/en-au.js
 create mode 100644 web/core/assets/vendor/ckeditor5/html-support/translations/es.js
 create mode 100644 web/core/assets/vendor/ckeditor5/html-support/translations/hr.js
 create mode 100644 web/core/assets/vendor/ckeditor5/html-support/translations/id.js
 create mode 100644 web/core/assets/vendor/ckeditor5/html-support/translations/jv.js
 create mode 100644 web/core/assets/vendor/ckeditor5/html-support/translations/pt-br.js
 create mode 100644 web/core/assets/vendor/ckeditor5/html-support/translations/sk.js
 create mode 100644 web/core/assets/vendor/ckeditor5/html-support/translations/zh.js
 create mode 100644 web/core/assets/vendor/ckeditor5/image/translations/bs.js
 create mode 100644 web/core/assets/vendor/ckeditor5/image/translations/jv.js
 create mode 100644 web/core/assets/vendor/ckeditor5/image/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/indent/translations/el.js
 create mode 100644 web/core/assets/vendor/ckeditor5/indent/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/language/translations/da.js
 create mode 100644 web/core/assets/vendor/ckeditor5/language/translations/el.js
 create mode 100644 web/core/assets/vendor/ckeditor5/language/translations/en-au.js
 create mode 100644 web/core/assets/vendor/ckeditor5/language/translations/fi.js
 create mode 100644 web/core/assets/vendor/ckeditor5/language/translations/hr.js
 create mode 100644 web/core/assets/vendor/ckeditor5/language/translations/jv.js
 create mode 100644 web/core/assets/vendor/ckeditor5/language/translations/pt-br.js
 create mode 100644 web/core/assets/vendor/ckeditor5/link/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/list/translations/jv.js
 create mode 100644 web/core/assets/vendor/ckeditor5/list/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/remove-format/translations/el.js
 create mode 100644 web/core/assets/vendor/ckeditor5/remove-format/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/source-editing/translations/cs.js
 create mode 100644 web/core/assets/vendor/ckeditor5/source-editing/translations/el.js
 create mode 100644 web/core/assets/vendor/ckeditor5/source-editing/translations/en-au.js
 create mode 100644 web/core/assets/vendor/ckeditor5/source-editing/translations/es.js
 create mode 100644 web/core/assets/vendor/ckeditor5/source-editing/translations/hr.js
 create mode 100644 web/core/assets/vendor/ckeditor5/source-editing/translations/id.js
 create mode 100644 web/core/assets/vendor/ckeditor5/source-editing/translations/pt-br.js
 create mode 100644 web/core/assets/vendor/ckeditor5/source-editing/translations/sk.js
 create mode 100644 web/core/assets/vendor/ckeditor5/special-characters/translations/az.js
 create mode 100644 web/core/assets/vendor/ckeditor5/special-characters/translations/el.js
 create mode 100644 web/core/assets/vendor/ckeditor5/special-characters/translations/id.js
 create mode 100644 web/core/assets/vendor/ckeditor5/special-characters/translations/uz.js
 create mode 100644 web/core/assets/vendor/ckeditor5/table/translations/el.js
 create mode 100644 web/core/assets/vendor/ckeditor5/table/translations/uz.js
 delete mode 100644 web/core/assets/vendor/jquery.ui/AUTHORS.txt
 delete mode 100644 web/core/assets/vendor/jquery.ui/README.txt
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/data-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/disable-selection-min.js.map
 delete mode 100644 web/core/assets/vendor/jquery.ui/ui/escape-selector-min.js
 delete mode 100644 web/core/assets/vendor/jquery.ui/ui/escape-selector.js
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/focusable-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/form-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/form-reset-mixin-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/ie-min.js.map
 delete mode 100644 web/core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js
 delete mode 100644 web/core/assets/vendor/jquery.ui/ui/jquery-1-7.js
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/jquery-patch-min.js
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/jquery-patch-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/jquery-patch.js
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/keycode-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/labels-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/plugin-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/position-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/safe-active-element-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/safe-blur-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/scroll-parent-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/tabbable-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/unique-id-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/version-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/widget-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/widgets/button-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/widgets/dialog-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/widgets/draggable-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/widgets/menu-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/widgets/mouse-min.js.map
 create mode 100644 web/core/assets/vendor/jquery.ui/ui/widgets/resizable-min.js.map
 create mode 100644 web/core/modules/block/tests/src/FunctionalJavascript/BlockAddTest.php
 create mode 100644 web/core/modules/ckeditor5/css/code-block.admin.css
 create mode 100644 web/core/modules/ckeditor5/css/image.css
 create mode 100644 web/core/modules/ckeditor5/icons/caret.svg
 create mode 100644 web/core/modules/ckeditor5/icons/code-block.svg
 create mode 100644 web/core/modules/ckeditor5/icons/warning.svg
 create mode 100644 web/core/modules/ckeditor5/js/build/ckeditor5.types.jsdoc
 create mode 100644 web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimagealternativetext.js
 create mode 100644 web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/drupalimagealternativetextediting.js
 create mode 100644 web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/drupalimagealternativetextui.js
 create mode 100644 web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/ui/imagealternativetextformview.js
 create mode 100644 web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/ui/missingalternativetextview.js
 create mode 100644 web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/utils.js
 create mode 100644 web/core/modules/ckeditor5/src/CKEditor5StylesheetsMessage.php
 create mode 100644 web/core/modules/ckeditor5/src/EventSubscriber/CKEditor5CacheTag.php
 create mode 100644 web/core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.info.yml
 create mode 100644 web/core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.module
 create mode 100644 web/core/modules/ckeditor5/tests/modules/ckeditor5_manual_decorator_test/ckeditor5_manual_decorator_test.ckeditor5.yml
 create mode 100644 web/core/modules/ckeditor5/tests/modules/ckeditor5_manual_decorator_test/ckeditor5_manual_decorator_test.info.yml
 create mode 100644 web/core/modules/ckeditor5/tests/src/Functional/AddedStylesheetsTest.php
 create mode 100644 web/core/modules/ckeditor5/tests/src/Functional/CKEditor5QuickEditLibraryTest.php
 create mode 100644 web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditorStylesheetsWarningTest.php
 create mode 100644 web/core/modules/ckeditor5/tests/src/Kernel/CKEditor5StylesheetsTest.php
 create mode 100644 web/core/modules/ckeditor5/tests/src/Kernel/WildcardHtmlSupportTest.php
 create mode 100644 web/core/modules/ckeditor5/tests/src/Traits/PrivateMethodUnitTestTrait.php
 create mode 100644 web/core/modules/ckeditor5/tests/src/Unit/SmartDefaultSettingsTest.php
 rename web/core/modules/migrate_drupal/tests/src/Kernel/{StateFileExists.php => StateFileExistsTest.php} (97%)
 create mode 100644 web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.es6.js
 create mode 100644 web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.js
 create mode 100644 web/core/modules/system/tests/modules/off_canvas_test/off_canvas_test.libraries.yml
 create mode 100644 web/core/modules/system/tests/modules/off_canvas_test/off_canvas_test.module
 create mode 100644 web/core/modules/system/tests/src/Traits/OffCanvasTestTrait.php
 create mode 100644 web/core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/css/yokotsoko.css
 create mode 100644 web/core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/test_ckeditor_stylesheets_without_5.info.yml
 create mode 100644 web/core/modules/system/tests/themes/test_subtheming_ckeditor_stylesheets_without_5/css/another.css
 create mode 100644 web/core/modules/system/tests/themes/test_subtheming_ckeditor_stylesheets_without_5/test_subtheming_ckeditor_stylesheets_without_5.info.yml
 create mode 100644 web/core/profiles/demo_umami/modules/demo_umami_content/default_content/images/borscht-with-pork-ribs-umami.jpg
 create mode 100644 web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/recipe_instructions/borscht-with-pork-ribs-umami.html
 create mode 100644 web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/recipe_instructions/borscht-with-pork-ribs-umami.html
 create mode 100644 web/core/scripts/js/assets/ckeditor5Files.js
 create mode 100644 web/core/scripts/js/assets/process/jqueryui.js
 create mode 100644 web/core/scripts/js/assets/process/map.js
 create mode 100644 web/core/scripts/js/ckeditor5-types-documentation.js
 delete mode 100644 web/core/scripts/js/jqueryui-build.js
 delete mode 100644 web/core/scripts/js/jqueryui-check.js
 delete mode 100644 web/core/scripts/js/jqueryui-terser.js
 rename web/core/scripts/js/{assets.js => vendor-update.js} (51%)
 create mode 100644 web/core/tests/Drupal/BuildTests/Composer/LegacyScriptsTest.php
 create mode 100644 web/core/tests/Drupal/Tests/Core/Cache/Context/CookieCacheContextTest.php

diff --git a/composer.lock b/composer.lock
index 61c9b1a2da..8548e94276 100644
--- a/composer.lock
+++ b/composer.lock
@@ -2954,16 +2954,16 @@
         },
         {
             "name": "drupal/core",
-            "version": "9.3.9",
+            "version": "9.3.12",
             "source": {
                 "type": "git",
                 "url": "https://github.com/drupal/core.git",
-                "reference": "86b0c4496e20ae7f945e9a7f0404fafe191ab774"
+                "reference": "ed6af33093f66a9c5048d02f9f2c326ad0e7e90c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/drupal/core/zipball/86b0c4496e20ae7f945e9a7f0404fafe191ab774",
-                "reference": "86b0c4496e20ae7f945e9a7f0404fafe191ab774",
+                "url": "https://api.github.com/repos/drupal/core/zipball/ed6af33093f66a9c5048d02f9f2c326ad0e7e90c",
+                "reference": "ed6af33093f66a9c5048d02f9f2c326ad0e7e90c",
                 "shasum": ""
             },
             "require": {
@@ -3205,9 +3205,9 @@
             ],
             "description": "Drupal is an open source content management platform powering millions of websites and applications.",
             "support": {
-                "source": "https://github.com/drupal/core/tree/9.3.9"
+                "source": "https://github.com/drupal/core/tree/9.3.12"
             },
-            "time": "2022-03-21T21:21:58+00:00"
+            "time": "2022-04-20T14:25:27+00:00"
         },
         {
             "name": "drupal/core-composer-scaffold",
@@ -3261,16 +3261,16 @@
         },
         {
             "name": "drupal/core-recommended",
-            "version": "9.3.9",
+            "version": "9.3.12",
             "source": {
                 "type": "git",
                 "url": "https://github.com/drupal/core-recommended.git",
-                "reference": "3ce3f2b6145de56178e006fb2ef94089d32cf411"
+                "reference": "a8fa50016c1aa1eb7f4e54f590e6343d286c418f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/drupal/core-recommended/zipball/3ce3f2b6145de56178e006fb2ef94089d32cf411",
-                "reference": "3ce3f2b6145de56178e006fb2ef94089d32cf411",
+                "url": "https://api.github.com/repos/drupal/core-recommended/zipball/a8fa50016c1aa1eb7f4e54f590e6343d286c418f",
+                "reference": "a8fa50016c1aa1eb7f4e54f590e6343d286c418f",
                 "shasum": ""
             },
             "require": {
@@ -3279,7 +3279,7 @@
                 "doctrine/annotations": "1.13.2",
                 "doctrine/lexer": "1.2.1",
                 "doctrine/reflection": "1.2.2",
-                "drupal/core": "9.3.9",
+                "drupal/core": "9.3.12",
                 "egulias/email-validator": "3.1.2",
                 "guzzlehttp/guzzle": "6.5.5",
                 "guzzlehttp/promises": "1.5.1",
@@ -3341,9 +3341,9 @@
             ],
             "description": "Locked core dependencies; require this project INSTEAD OF drupal/core.",
             "support": {
-                "source": "https://github.com/drupal/core-recommended/tree/9.3.9"
+                "source": "https://github.com/drupal/core-recommended/tree/9.3.12"
             },
-            "time": "2022-03-21T21:21:58+00:00"
+            "time": "2022-04-20T14:25:27+00:00"
         },
         {
             "name": "drupal/crop",
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 721c4158f5..fa7044b23f 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -3036,17 +3036,17 @@
         },
         {
             "name": "drupal/core",
-            "version": "9.3.9",
-            "version_normalized": "9.3.9.0",
+            "version": "9.3.12",
+            "version_normalized": "9.3.12.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/drupal/core.git",
-                "reference": "86b0c4496e20ae7f945e9a7f0404fafe191ab774"
+                "reference": "ed6af33093f66a9c5048d02f9f2c326ad0e7e90c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/drupal/core/zipball/86b0c4496e20ae7f945e9a7f0404fafe191ab774",
-                "reference": "86b0c4496e20ae7f945e9a7f0404fafe191ab774",
+                "url": "https://api.github.com/repos/drupal/core/zipball/ed6af33093f66a9c5048d02f9f2c326ad0e7e90c",
+                "reference": "ed6af33093f66a9c5048d02f9f2c326ad0e7e90c",
                 "shasum": ""
             },
             "require": {
@@ -3213,7 +3213,7 @@
                 "drupal/workflows": "self.version",
                 "drupal/workspaces": "self.version"
             },
-            "time": "2022-03-21T21:21:58+00:00",
+            "time": "2022-04-20T14:25:27+00:00",
             "type": "drupal-core",
             "extra": {
                 "drupal-scaffold": {
@@ -3294,7 +3294,7 @@
             ],
             "description": "Drupal is an open source content management platform powering millions of websites and applications.",
             "support": {
-                "source": "https://github.com/drupal/core/tree/9.3.9"
+                "source": "https://github.com/drupal/core/tree/9.3.12"
             },
             "install-path": "../../web/core"
         },
@@ -3350,17 +3350,17 @@
         },
         {
             "name": "drupal/core-recommended",
-            "version": "9.3.9",
-            "version_normalized": "9.3.9.0",
+            "version": "9.3.12",
+            "version_normalized": "9.3.12.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/drupal/core-recommended.git",
-                "reference": "3ce3f2b6145de56178e006fb2ef94089d32cf411"
+                "reference": "a8fa50016c1aa1eb7f4e54f590e6343d286c418f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/drupal/core-recommended/zipball/3ce3f2b6145de56178e006fb2ef94089d32cf411",
-                "reference": "3ce3f2b6145de56178e006fb2ef94089d32cf411",
+                "url": "https://api.github.com/repos/drupal/core-recommended/zipball/a8fa50016c1aa1eb7f4e54f590e6343d286c418f",
+                "reference": "a8fa50016c1aa1eb7f4e54f590e6343d286c418f",
                 "shasum": ""
             },
             "require": {
@@ -3369,7 +3369,7 @@
                 "doctrine/annotations": "1.13.2",
                 "doctrine/lexer": "1.2.1",
                 "doctrine/reflection": "1.2.2",
-                "drupal/core": "9.3.9",
+                "drupal/core": "9.3.12",
                 "egulias/email-validator": "3.1.2",
                 "guzzlehttp/guzzle": "6.5.5",
                 "guzzlehttp/promises": "1.5.1",
@@ -3424,7 +3424,7 @@
             "conflict": {
                 "webflo/drupal-core-strict": "*"
             },
-            "time": "2022-03-21T21:21:58+00:00",
+            "time": "2022-04-20T14:25:27+00:00",
             "type": "metapackage",
             "notification-url": "https://packagist.org/downloads/",
             "license": [
@@ -3432,7 +3432,7 @@
             ],
             "description": "Locked core dependencies; require this project INSTEAD OF drupal/core.",
             "support": {
-                "source": "https://github.com/drupal/core-recommended/tree/9.3.9"
+                "source": "https://github.com/drupal/core-recommended/tree/9.3.12"
             },
             "install-path": null
         },
diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php
index a22694ab85..ee29eafea0 100644
--- a/vendor/composer/installed.php
+++ b/vendor/composer/installed.php
@@ -5,7 +5,7 @@
         'type' => 'project',
         'install_path' => __DIR__ . '/../../',
         'aliases' => array(),
-        'reference' => '6776578c76ff7260a938a8e2680beece66da8c4e',
+        'reference' => '002a337b01d47db573b437ed8bdc143bf2bb617b',
         'name' => 'osu-asc-webservices/d8-upstream',
         'dev' => true,
     ),
@@ -271,7 +271,7 @@
         'drupal/action' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/addtocalendar' => array(
@@ -304,7 +304,7 @@
         'drupal/aggregator' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/allowed_formats' => array(
@@ -328,25 +328,25 @@
         'drupal/automated_cron' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/ban' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/bartik' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/basic_auth' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/better_exposed_filters' => array(
@@ -361,19 +361,19 @@
         'drupal/big_pipe' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/block' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/block_content' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/block_field' => array(
@@ -406,7 +406,7 @@
         'drupal/book' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/bootstrap' => array(
@@ -421,7 +421,7 @@
         'drupal/breakpoint' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/cache_control_override' => array(
@@ -445,13 +445,13 @@
         'drupal/ckeditor' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/ckeditor5' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/ckeditor_indentblock' => array(
@@ -466,31 +466,31 @@
         'drupal/claro' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/classy' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/color' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/comment' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/config' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/config_direct_save' => array(
@@ -523,7 +523,7 @@
         'drupal/config_translation' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/config_update' => array(
@@ -574,7 +574,7 @@
         'drupal/contact' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/content_access' => array(
@@ -589,52 +589,52 @@
         'drupal/content_moderation' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/content_translation' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/contextual' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core' => array(
-            'pretty_version' => '9.3.9',
-            'version' => '9.3.9.0',
+            'pretty_version' => '9.3.12',
+            'version' => '9.3.12.0',
             'type' => 'drupal-core',
             'install_path' => __DIR__ . '/../../web/core',
             'aliases' => array(),
-            'reference' => '86b0c4496e20ae7f945e9a7f0404fafe191ab774',
+            'reference' => 'ed6af33093f66a9c5048d02f9f2c326ad0e7e90c',
             'dev_requirement' => false,
         ),
         'drupal/core-annotation' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-assertion' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-bridge' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-class-finder' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-composer-scaffold' => array(
@@ -649,136 +649,136 @@
         'drupal/core-datetime' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-dependency-injection' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-diff' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-discovery' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-event-dispatcher' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-file-cache' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-file-security' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-filesystem' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-front-matter' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-gettext' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-graph' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-http-foundation' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-php-storage' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-plugin' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-proxy-builder' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-recommended' => array(
-            'pretty_version' => '9.3.9',
-            'version' => '9.3.9.0',
+            'pretty_version' => '9.3.12',
+            'version' => '9.3.12.0',
             'type' => 'metapackage',
             'install_path' => NULL,
             'aliases' => array(),
-            'reference' => '3ce3f2b6145de56178e006fb2ef94089d32cf411',
+            'reference' => 'a8fa50016c1aa1eb7f4e54f590e6343d286c418f',
             'dev_requirement' => false,
         ),
         'drupal/core-render' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-serialization' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-transliteration' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-utility' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-uuid' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/core-version' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/crop' => array(
@@ -802,19 +802,19 @@
         'drupal/datetime' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/datetime_range' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/dblog' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/dropzonejs' => array(
@@ -838,13 +838,13 @@
         'drupal/dynamic_page_cache' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/editor' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/editor_advanced_link' => array(
@@ -913,7 +913,7 @@
         'drupal/entity_reference' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/entity_reference_revisions' => array(
@@ -946,7 +946,7 @@
         'drupal/field' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/field_group' => array(
@@ -961,7 +961,7 @@
         'drupal/field_layout' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/field_permissions' => array(
@@ -976,13 +976,13 @@
         'drupal/field_ui' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/file' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/file_browser' => array(
@@ -997,7 +997,7 @@
         'drupal/filter' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/focal_point' => array(
@@ -1012,7 +1012,7 @@
         'drupal/forum' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/google_analytics' => array(
@@ -1036,25 +1036,25 @@
         'drupal/hal' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/help' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/help_topics' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/history' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/honeypot' => array(
@@ -1069,7 +1069,7 @@
         'drupal/image' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/inline_entity_form' => array(
@@ -1084,7 +1084,7 @@
         'drupal/inline_form_errors' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/jquery_ui' => array(
@@ -1126,25 +1126,25 @@
         'drupal/jsonapi' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/language' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/layout_builder' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/layout_discovery' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/libraries' => array(
@@ -1159,7 +1159,7 @@
         'drupal/link' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/link_attributes' => array(
@@ -1183,7 +1183,7 @@
         'drupal/locale' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/mathjax' => array(
@@ -1198,7 +1198,7 @@
         'drupal/media' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/media_entity_browser' => array(
@@ -1222,7 +1222,7 @@
         'drupal/media_library' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/menu_block' => array(
@@ -1246,13 +1246,13 @@
         'drupal/menu_link_content' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/menu_ui' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/metatag' => array(
@@ -1267,7 +1267,7 @@
         'drupal/migrate' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/migrate_devel' => array(
@@ -1282,19 +1282,19 @@
         'drupal/migrate_drupal' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/migrate_drupal_multilingual' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/migrate_drupal_ui' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/migrate_plus' => array(
@@ -1318,7 +1318,7 @@
         'drupal/minimal' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/mobile_detect' => array(
@@ -1360,25 +1360,25 @@
         'drupal/node' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/olivero' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/options' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/page_cache' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/pantheon_advanced_page_cache' => array(
@@ -1402,13 +1402,13 @@
         'drupal/path' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/path_alias' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/pathauto' => array(
@@ -1432,13 +1432,13 @@
         'drupal/quickedit' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/rdf' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/rebuild_cache_access' => array(
@@ -1480,13 +1480,13 @@
         'drupal/responsive_image' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/rest' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/roleassign' => array(
@@ -1510,7 +1510,7 @@
         'drupal/search' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/search_api' => array(
@@ -1534,25 +1534,25 @@
         'drupal/serialization' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/settings_tray' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/seven' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/shortcut' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/simple_gmap' => array(
@@ -1621,19 +1621,19 @@
         'drupal/standard' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/stark' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/statistics' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/superfish' => array(
@@ -1657,31 +1657,31 @@
         'drupal/syslog' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/system' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/taxonomy' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/telephone' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/text' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/token' => array(
@@ -1696,19 +1696,19 @@
         'drupal/toolbar' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/tour' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/tracker' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/twig_tweak' => array(
@@ -1741,13 +1741,13 @@
         'drupal/update' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/user' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/userprotect' => array(
@@ -1780,7 +1780,7 @@
         'drupal/views' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/views_ajax_history' => array(
@@ -1840,7 +1840,7 @@
         'drupal/views_ui' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/webform' => array(
@@ -1855,13 +1855,13 @@
         'drupal/workflows' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drupal/workspaces' => array(
             'dev_requirement' => false,
             'replaced' => array(
-                0 => '9.3.9',
+                0 => '9.3.12',
             ),
         ),
         'drush-ops/behat-drush-endpoint' => array(
@@ -2101,7 +2101,7 @@
             'type' => 'project',
             'install_path' => __DIR__ . '/../../',
             'aliases' => array(),
-            'reference' => '6776578c76ff7260a938a8e2680beece66da8c4e',
+            'reference' => '002a337b01d47db573b437ed8bdc143bf2bb617b',
             'dev_requirement' => false,
         ),
         'pantheon-systems/quicksilver-pushback' => array(
diff --git a/web/core/.eslintrc.json b/web/core/.eslintrc.json
index 8b556239f9..af65bc0530 100644
--- a/web/core/.eslintrc.json
+++ b/web/core/.eslintrc.json
@@ -25,6 +25,7 @@
     "Sortable": true,
     "once": true,
     "CKEDITOR": true,
+    "CKEditor5": true,
     "tabbable": true
   },
   "settings": {
diff --git a/web/core/assets/vendor/ckeditor5/alignment/alignment.js b/web/core/assets/vendor/ckeditor5/alignment/alignment.js
index 9c07cac3f4..597f8bbdc5 100644
--- a/web/core/assets/vendor/ckeditor5/alignment/alignment.js
+++ b/web/core/assets/vendor/ckeditor5/alignment/alignment.js
@@ -1,5 +1,5 @@
+!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Align center":"Align center","Align left":"Align left","Align right":"Align right",Justify:"Justify","Text alignment":"Text alignment","Text alignment toolbar":"Text alignment toolbar"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Align center":"Align center","Align left":"Align left","Align right":"Align right",Justify:"Justify","Text alignment":"Text alignment","Text alignment toolbar":"Text alignment toolbar"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.alignment=function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=4)}([function(t,e,n){t.exports=n(3)("./src/core.js")},function(t,e,n){t.exports=n(3)("./src/utils.js")},function(t,e,n){t.exports=n(3)("./src/ui.js")},function(t,e){t.exports=CKEditor5.dll},function(t,e,n){"use strict";n.r(e),n.d(e,"Alignment",(function(){return f})),n.d(e,"AlignmentEditing",(function(){return u})),n.d(e,"AlignmentUI",(function(){return m}));var i=n(0),o=n(1);const r=["left","right","center","justify"];function a(t){return r.includes(t)}function l(t,e){return"rtl"==e.contentLanguageDirection?"right"===t:"left"===t}function s(t){const e=t.map(t=>{let e;return e="string"==typeof t?{name:t}:t,e}).filter(t=>{const e=!!r.includes(t.name);return e||Object(o.logWarning)("alignment-config-name-not-recognized",{option:t}),e}),n=e.filter(t=>!!t.className).length;if(n&&n<e.length)throw new o.CKEditorError("alignment-config-classnames-are-missing",{configuredOptions:t});return e.forEach((e,n,i)=>{const r=i.slice(n+1);if(r.some(t=>t.name==e.name))throw new o.CKEditorError("alignment-config-name-already-defined",{option:e,configuredOptions:t});if(e.className){if(r.some(t=>t.className==e.className))throw new o.CKEditorError("alignment-config-classname-already-defined",{option:e,configuredOptions:t})}}),e}class c extends i.Command{refresh(){const t=this.editor.locale,e=Object(o.first)(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=!!e&&this._canBeAligned(e),this.isEnabled&&e.hasAttribute("alignment")?this.value=e.getAttribute("alignment"):this.value="rtl"===t.contentLanguageDirection?"right":"left"}execute(t={}){const e=this.editor,n=e.locale,i=e.model,o=i.document,r=t.value;i.change(t=>{const e=Array.from(o.selection.getSelectedBlocks()).filter(t=>this._canBeAligned(t)),i=e[0].getAttribute("alignment");l(r,n)||i===r||!r?function(t,e){for(const n of t)e.removeAttribute("alignment",n)}(e,t):function(t,e,n){for(const i of t)e.setAttribute("alignment",n,i)}(e,t,r)})}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,"alignment")}}class u extends i.Plugin{static get pluginName(){return"AlignmentEditing"}constructor(t){super(t),t.config.define("alignment",{options:[...r.map(t=>({name:t}))]})}init(){const t=this.editor,e=t.locale,n=t.model.schema,i=s(t.config.get("alignment.options")).filter(t=>a(t.name)&&!l(t.name,e)),o=i.some(t=>!!t.className);n.extend("$block",{allowAttributes:"alignment"}),t.model.schema.setAttributeProperties("alignment",{isFormatting:!0}),o?t.conversion.attributeToAttribute(function(t){const e={model:{key:"alignment",values:t.map(t=>t.name)},view:{}};for(const n of t)e.view[n.name]={key:"class",value:n.className};return e}(i)):t.conversion.for("downcast").attributeToAttribute(function(t){const e={model:{key:"alignment",values:t.map(t=>t.name)},view:{}};for(const{name:n}of t)e.view[n]={key:"style",value:{"text-align":n}};return e}(i));const r=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:"style",value:{"text-align":n}},model:{key:"alignment",value:n}});return e}(i);for(const e of r)t.conversion.for("upcast").attributeToAttribute(e);const u=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:"align",value:n},model:{key:"alignment",value:n}});return e}(i);for(const e of u)t.conversion.for("upcast").attributeToAttribute(e);t.commands.add("alignment",new c(t))}}var g=n(2);const d=new Map([["left",i.icons.alignLeft],["right",i.icons.alignRight],["center",i.icons.alignCenter],["justify",i.icons.alignJustify]]);class m extends i.Plugin{get localizedOptionTitles(){const t=this.editor.t;return{left:t("Align left"),right:t("Align right"),center:t("Align center"),justify:t("Justify")}}static get pluginName(){return"AlignmentUI"}init(){const t=this.editor,e=t.ui.componentFactory,n=t.t,i=s(t.config.get("alignment.options"));i.map(t=>t.name).filter(a).forEach(t=>this._addButton(t)),e.add("alignment",t=>{const o=Object(g.createDropdown)(t),r=i.map(t=>e.create("alignment:"+t.name));Object(g.addToolbarToDropdown)(o,r),o.buttonView.set({label:n("Text alignment"),tooltip:!0}),o.toolbarView.isVertical=!0,o.toolbarView.ariaLabel=n("Text alignment toolbar"),o.extendTemplate({attributes:{class:"ck-alignment-dropdown"}});const a="rtl"===t.contentLanguageDirection?d.get("right"):d.get("left");return o.buttonView.bind("icon").toMany(r,"isOn",(...t)=>{const e=t.findIndex(t=>t);return e<0?a:r[e].icon}),o.bind("isEnabled").toMany(r,"isEnabled",(...t)=>t.some(t=>t)),o})}_addButton(t){const e=this.editor;e.ui.componentFactory.add("alignment:"+t,n=>{const i=e.commands.get("alignment"),o=new g.ButtonView(n);return o.set({label:this.localizedOptionTitles[t],icon:d.get(t),tooltip:!0,isToggleable:!0}),o.bind("isEnabled").to(i),o.bind("isOn").to(i,"value",e=>e===t),this.listenTo(o,"execute",()=>{e.execute("alignment",{value:t}),e.editing.view.focus()}),o})}}class f extends i.Plugin{static get requires(){return[u,m]}static get pluginName(){return"Alignment"}}}]);
\ No newline at end of file
+ */(()=>{var t={704:(t,e,n)=>{t.exports=n(79)("./src/core.js")},273:(t,e,n)=>{t.exports=n(79)("./src/ui.js")},209:(t,e,n)=>{t.exports=n(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function n(i){var o=e[i];if(void 0!==o)return o.exports;var r=e[i]={exports:{}};return t[i](r,r.exports,n),r.exports}n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};(()=>{"use strict";n.r(i),n.d(i,{Alignment:()=>f,AlignmentEditing:()=>g,AlignmentUI:()=>d});var t=n(704),e=n(209);const o=["left","right","center","justify"];function r(t){return o.includes(t)}function a(t,e){return"rtl"==e.contentLanguageDirection?"right"===t:"left"===t}function s(t){const n=t.map((t=>{let e;return e="string"==typeof t?{name:t}:t,e})).filter((t=>{const n=!!o.includes(t.name);return n||(0,e.logWarning)("alignment-config-name-not-recognized",{option:t}),n})),i=n.filter((t=>!!t.className)).length;if(i&&i<n.length)throw new e.CKEditorError("alignment-config-classnames-are-missing",{configuredOptions:t});return n.forEach(((n,i,o)=>{const r=o.slice(i+1);if(r.some((t=>t.name==n.name)))throw new e.CKEditorError("alignment-config-name-already-defined",{option:n,configuredOptions:t});if(n.className){if(r.some((t=>t.className==n.className)))throw new e.CKEditorError("alignment-config-classname-already-defined",{option:n,configuredOptions:t})}})),n}const l="alignment";class c extends t.Command{refresh(){const t=this.editor.locale,n=(0,e.first)(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=!!n&&this._canBeAligned(n),this.isEnabled&&n.hasAttribute("alignment")?this.value=n.getAttribute("alignment"):this.value="rtl"===t.contentLanguageDirection?"right":"left"}execute(t={}){const e=this.editor,n=e.locale,i=e.model,o=i.document,r=t.value;i.change((t=>{const e=Array.from(o.selection.getSelectedBlocks()).filter((t=>this._canBeAligned(t))),i=e[0].getAttribute("alignment");a(r,n)||i===r||!r?function(t,e){for(const n of t)e.removeAttribute(l,n)}(e,t):function(t,e,n){for(const i of t)e.setAttribute(l,n,i)}(e,t,r)}))}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,l)}}class g extends t.Plugin{static get pluginName(){return"AlignmentEditing"}constructor(t){super(t),t.config.define("alignment",{options:[...o.map((t=>({name:t})))]})}init(){const t=this.editor,e=t.locale,n=t.model.schema,i=s(t.config.get("alignment.options")).filter((t=>r(t.name)&&!a(t.name,e))),o=i.some((t=>!!t.className));n.extend("$block",{allowAttributes:"alignment"}),t.model.schema.setAttributeProperties("alignment",{isFormatting:!0}),o?t.conversion.attributeToAttribute(function(t){const e={model:{key:"alignment",values:t.map((t=>t.name))},view:{}};for(const n of t)e.view[n.name]={key:"class",value:n.className};return e}(i)):t.conversion.for("downcast").attributeToAttribute(function(t){const e={model:{key:"alignment",values:t.map((t=>t.name))},view:{}};for(const{name:n}of t)e.view[n]={key:"style",value:{"text-align":n}};return e}(i));const l=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:"style",value:{"text-align":n}},model:{key:"alignment",value:n}});return e}(i);for(const e of l)t.conversion.for("upcast").attributeToAttribute(e);const g=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:"align",value:n},model:{key:"alignment",value:n}});return e}(i);for(const e of g)t.conversion.for("upcast").attributeToAttribute(e);t.commands.add("alignment",new c(t))}}var u=n(273);const m=new Map([["left",t.icons.alignLeft],["right",t.icons.alignRight],["center",t.icons.alignCenter],["justify",t.icons.alignJustify]]);class d extends t.Plugin{get localizedOptionTitles(){const t=this.editor.t;return{left:t("Align left"),right:t("Align right"),center:t("Align center"),justify:t("Justify")}}static get pluginName(){return"AlignmentUI"}init(){const t=this.editor,e=t.ui.componentFactory,n=t.t,i=s(t.config.get("alignment.options"));i.map((t=>t.name)).filter(r).forEach((t=>this._addButton(t))),e.add("alignment",(t=>{const o=(0,u.createDropdown)(t),r=i.map((t=>e.create(`alignment:${t.name}`)));(0,u.addToolbarToDropdown)(o,r),o.buttonView.set({label:n("Text alignment"),tooltip:!0}),o.toolbarView.isVertical=!0,o.toolbarView.ariaLabel=n("Text alignment toolbar"),o.extendTemplate({attributes:{class:"ck-alignment-dropdown"}});const a="rtl"===t.contentLanguageDirection?m.get("right"):m.get("left");return o.buttonView.bind("icon").toMany(r,"isOn",((...t)=>{const e=t.findIndex((t=>t));return e<0?a:r[e].icon})),o.bind("isEnabled").toMany(r,"isEnabled",((...t)=>t.some((t=>t)))),o}))}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,(n=>{const i=e.commands.get("alignment"),o=new u.ButtonView(n);return o.set({label:this.localizedOptionTitles[t],icon:m.get(t),tooltip:!0,isToggleable:!0}),o.bind("isEnabled").to(i),o.bind("isOn").to(i,"value",(e=>e===t)),this.listenTo(o,"execute",(()=>{e.execute("alignment",{value:t}),e.editing.view.focus()})),o}))}}class f extends t.Plugin{static get requires(){return[g,d]}static get pluginName(){return"Alignment"}}})(),(window.CKEditor5=window.CKEditor5||{}).alignment=i})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/alignment/translations/bs.js b/web/core/assets/vendor/ckeditor5/alignment/translations/bs.js
new file mode 100644
index 0000000000..3ccce94742
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/alignment/translations/bs.js
@@ -0,0 +1 @@
+!function(n){const a=n.bs=n.bs||{};a.dictionary=Object.assign(a.dictionary||{},{"Align center":"Centrirati","Align left":"Lijevo poravnanje","Align right":"Desno poravnanje",Justify:"","Text alignment":"Poravnanje teksta","Text alignment toolbar":"Traka za poravnanje teksta"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/alignment/translations/el.js b/web/core/assets/vendor/ckeditor5/alignment/translations/el.js
new file mode 100644
index 0000000000..99a740484a
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/alignment/translations/el.js
@@ -0,0 +1 @@
+!function(n){const i=n.el=n.el||{};i.dictionary=Object.assign(i.dictionary||{},{"Align center":"Στοίχιση στο κέντρο","Align left":"Στοίχιση αριστερά","Align right":"Στοίχιση δεξιά",Justify:"Πλήρης στοίχηση","Text alignment":"Στοίχιση κειμένου","Text alignment toolbar":"Γραμμή εργαλείων στοίχισης κειμένου"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/alignment/translations/jv.js b/web/core/assets/vendor/ckeditor5/alignment/translations/jv.js
new file mode 100644
index 0000000000..4bdb43ce88
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/alignment/translations/jv.js
@@ -0,0 +1 @@
+!function(n){const t=n.jv=n.jv||{};t.dictionary=Object.assign(t.dictionary||{},{"Align center":"Rata tengah","Align left":"Rata kiwa","Align right":"Rata tengen",Justify:"Rata kiwa tengen","Text alignment":"Perataan seratan","Text alignment toolbar":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/alignment/translations/uz.js b/web/core/assets/vendor/ckeditor5/alignment/translations/uz.js
new file mode 100644
index 0000000000..b6f263a362
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/alignment/translations/uz.js
@@ -0,0 +1 @@
+!function(i){const t=i.uz=i.uz||{};t.dictionary=Object.assign(t.dictionary||{},{"Align center":"O'rtada tekislash","Align left":"Chap tomonda tekislash","Align right":"O'ng tomonda tekislash",Justify:"Kengligi bo'yicha tekislash","Text alignment":"Matnni tekislash","Text alignment toolbar":"Tekislash"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/basic-styles/basic-styles.js b/web/core/assets/vendor/ckeditor5/basic-styles/basic-styles.js
index 8a8c7c10d7..46dbda8ee1 100644
--- a/web/core/assets/vendor/ckeditor5/basic-styles/basic-styles.js
+++ b/web/core/assets/vendor/ckeditor5/basic-styles/basic-styles.js
@@ -1,5 +1,5 @@
+!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{Bold:"Bold",Code:"Code",Italic:"Italic",Strikethrough:"Strikethrough",Subscript:"Subscript",Superscript:"Superscript",Underline:"Underline"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{Bold:"Bold",Code:"Code",Italic:"Italic",Strikethrough:"Strikethrough",Subscript:"Subscript",Superscript:"Superscript",Underline:"Underline"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.basicStyles=function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=7)}([function(t,e,i){t.exports=i(3)("./src/core.js")},function(t,e,i){t.exports=i(3)("./src/ui.js")},function(t,e,i){t.exports=i(3)("./src/typing.js")},function(t,e){t.exports=CKEditor5.dll},function(t,e,i){var n=i(5),r=i(6);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[t.i,r,""]]);var s={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(r,s);t.exports=r.locals||{}},function(t,e,i){"use strict";var n,r=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},s=function(){var t={};return function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}t[e]=i}return t[e]}}(),o=[];function c(t){for(var e=-1,i=0;i<o.length;i++)if(o[i].identifier===t){e=i;break}return e}function a(t,e){for(var i={},n=[],r=0;r<t.length;r++){var s=t[r],a=e.base?s[0]+e.base:s[0],u=i[a]||0,l="".concat(a," ").concat(u);i[a]=u+1;var d=c(l),g={css:s[1],media:s[2],sourceMap:s[3]};-1!==d?(o[d].references++,o[d].updater(g)):o.push({identifier:l,updater:b(g,e),references:1}),n.push(l)}return n}function u(t){var e=document.createElement("style"),n=t.attributes||{};if(void 0===n.nonce){var r=i.nc;r&&(n.nonce=r)}if(Object.keys(n).forEach((function(t){e.setAttribute(t,n[t])})),"function"==typeof t.insert)t.insert(e);else{var o=s(t.insert||"head");if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(e)}return e}var l,d=(l=[],function(t,e){return l[t]=e,l.filter(Boolean).join("\n")});function g(t,e,i,n){var r=i?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(t.styleSheet)t.styleSheet.cssText=d(e,r);else{var s=document.createTextNode(r),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(s,o[e]):t.appendChild(s)}}function p(t,e,i){var n=i.css,r=i.media,s=i.sourceMap;if(r?t.setAttribute("media",r):t.removeAttribute("media"),s&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var m=null,h=0;function b(t,e){var i,n,r;if(e.singleton){var s=h++;i=m||(m=u(e)),n=g.bind(null,i,s,!1),r=g.bind(null,i,s,!0)}else i=u(e),n=p.bind(null,i,e),r=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(i)};return n(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;n(t=e)}else r()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=r());var i=a(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var n=0;n<i.length;n++){var r=c(i[n]);o[r].references--}for(var s=a(t,e),u=0;u<i.length;u++){var l=c(i[u]);0===o[l].references&&(o[l].updater(),o.splice(l,1))}i=s}}}},function(t,e){t.exports=".ck-content code{background-color:hsla(0,0%,78%,.3);padding:.15em;border-radius:2px}.ck.ck-editor__editable .ck-code_selected{background-color:hsla(0,0%,78%,.5)}"},function(t,e,i){"use strict";i.r(e),i.d(e,"Bold",(function(){return a})),i.d(e,"BoldEditing",(function(){return s})),i.d(e,"BoldUI",(function(){return c})),i.d(e,"Code",(function(){return p})),i.d(e,"CodeEditing",(function(){return d})),i.d(e,"CodeUI",(function(){return g})),i.d(e,"Italic",(function(){return b})),i.d(e,"ItalicEditing",(function(){return m})),i.d(e,"ItalicUI",(function(){return h})),i.d(e,"Strikethrough",(function(){return w})),i.d(e,"StrikethroughEditing",(function(){return f})),i.d(e,"StrikethroughUI",(function(){return v})),i.d(e,"Subscript",(function(){return E})),i.d(e,"SubscriptEditing",(function(){return x})),i.d(e,"SubscriptUI",(function(){return y})),i.d(e,"Superscript",(function(){return k})),i.d(e,"SuperscriptEditing",(function(){return S})),i.d(e,"SuperscriptUI",(function(){return T})),i.d(e,"Underline",(function(){return I})),i.d(e,"UnderlineEditing",(function(){return A})),i.d(e,"UnderlineUI",(function(){return C}));var n=i(0);class r extends n.Command{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,i=e.document.selection,n=void 0===t.forceValue?!this.value:t.forceValue;e.change(t=>{if(i.isCollapsed)n?t.setSelectionAttribute(this.attributeKey,!0):t.removeSelectionAttribute(this.attributeKey);else{const r=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const e of r)n?t.setAttribute(this.attributeKey,n,e):t.removeAttribute(this.attributeKey,e)}})}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,i=t.document.selection;if(i.isCollapsed)return i.hasAttribute(this.attributeKey);for(const t of i.getRanges())for(const i of t.getItems())if(e.checkAttribute(i,this.attributeKey))return i.hasAttribute(this.attributeKey);return!1}}class s extends n.Plugin{static get pluginName(){return"BoldEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"bold"}),t.model.schema.setAttributeProperties("bold",{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:"bold",view:"strong",upcastAlso:["b",t=>{const e=t.getStyle("font-weight");return e?"bold"==e||Number(e)>=600?{name:!0,styles:["font-weight"]}:void 0:null}]}),t.commands.add("bold",new r(t,"bold")),t.keystrokes.set("CTRL+B","bold")}}var o=i(1);class c extends n.Plugin{static get pluginName(){return"BoldUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("bold",i=>{const n=t.commands.get("bold"),r=new o.ButtonView(i);return r.set({label:e("Bold"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10.187 17H5.773c-.637 0-1.092-.138-1.364-.415-.273-.277-.409-.718-.409-1.323V4.738c0-.617.14-1.062.419-1.332.279-.27.73-.406 1.354-.406h4.68c.69 0 1.288.041 1.793.124.506.083.96.242 1.36.478.341.197.644.447.906.75a3.262 3.262 0 0 1 .808 2.162c0 1.401-.722 2.426-2.167 3.075C15.05 10.175 16 11.315 16 13.01a3.756 3.756 0 0 1-2.296 3.504 6.1 6.1 0 0 1-1.517.377c-.571.073-1.238.11-2 .11zm-.217-6.217H7v4.087h3.069c1.977 0 2.965-.69 2.965-2.072 0-.707-.256-1.22-.768-1.537-.512-.319-1.277-.478-2.296-.478zM7 5.13v3.619h2.606c.729 0 1.292-.067 1.69-.2a1.6 1.6 0 0 0 .91-.765c.165-.267.247-.566.247-.897 0-.707-.26-1.176-.778-1.409-.519-.232-1.31-.348-2.375-.348H7z"/></svg>',keystroke:"CTRL+B",tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute("bold"),t.editing.view.focus()}),r})}}class a extends n.Plugin{static get requires(){return[s,c]}static get pluginName(){return"Bold"}}var u=i(2);const l="code";class d extends n.Plugin{static get pluginName(){return"CodeEditing"}static get requires(){return[u.TwoStepCaretMovement]}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:l}),t.model.schema.setAttributeProperties(l,{isFormatting:!0,copyOnEnter:!1}),t.conversion.attributeToElement({model:l,view:"code",upcastAlso:{styles:{"word-wrap":"break-word"}}}),t.commands.add(l,new r(t,l)),t.plugins.get(u.TwoStepCaretMovement).registerAttribute(l),Object(u.inlineHighlight)(t,l,"code","ck-code_selected")}}i(4);class g extends n.Plugin{static get pluginName(){return"CodeUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("code",i=>{const n=t.commands.get("code"),r=new o.ButtonView(i);return r.set({label:e("Code"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m12.5 5.7 5.2 3.9v1.3l-5.6 4c-.1.2-.3.2-.5.2-.3-.1-.6-.7-.6-1l.3-.4 4.7-3.5L11.5 7l-.2-.2c-.1-.3-.1-.6 0-.8.2-.2.5-.4.8-.4a.8.8 0 0 1 .4.1zm-5.2 0L2 9.6v1.3l5.6 4c.1.2.3.2.5.2.3-.1.7-.7.6-1 0-.1 0-.3-.2-.4l-5-3.5L8.2 7l.2-.2c.1-.3.1-.6 0-.8-.2-.2-.5-.4-.8-.4a.8.8 0 0 0-.3.1z"/></svg>',tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute("code"),t.editing.view.focus()}),r})}}class p extends n.Plugin{static get requires(){return[d,g]}static get pluginName(){return"Code"}}class m extends n.Plugin{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"italic"}),t.model.schema.setAttributeProperties("italic",{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:"italic",view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]}),t.commands.add("italic",new r(t,"italic")),t.keystrokes.set("CTRL+I","italic")}}class h extends n.Plugin{static get pluginName(){return"ItalicUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("italic",i=>{const n=t.commands.get("italic"),r=new o.ButtonView(i);return r.set({label:e("Italic"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m9.586 14.633.021.004c-.036.335.095.655.393.962.082.083.173.15.274.201h1.474a.6.6 0 1 1 0 1.2H5.304a.6.6 0 0 1 0-1.2h1.15c.474-.07.809-.182 1.005-.334.157-.122.291-.32.404-.597l2.416-9.55a1.053 1.053 0 0 0-.281-.823 1.12 1.12 0 0 0-.442-.296H8.15a.6.6 0 0 1 0-1.2h6.443a.6.6 0 1 1 0 1.2h-1.195c-.376.056-.65.155-.823.296-.215.175-.423.439-.623.79l-2.366 9.347z"/></svg>',keystroke:"CTRL+I",tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute("italic"),t.editing.view.focus()}),r})}}class b extends n.Plugin{static get requires(){return[m,h]}static get pluginName(){return"Italic"}}class f extends n.Plugin{static get pluginName(){return"StrikethroughEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"strikethrough"}),t.model.schema.setAttributeProperties("strikethrough",{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:"strikethrough",view:"s",upcastAlso:["del","strike",{styles:{"text-decoration":"line-through"}}]}),t.commands.add("strikethrough",new r(t,"strikethrough")),t.keystrokes.set("CTRL+SHIFT+X","strikethrough")}}class v extends n.Plugin{static get pluginName(){return"StrikethroughUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("strikethrough",i=>{const n=t.commands.get("strikethrough"),r=new o.ButtonView(i);return r.set({label:e("Strikethrough"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M7 16.4c-.8-.4-1.5-.9-2.2-1.5a.6.6 0 0 1-.2-.5l.3-.6h1c1 1.2 2.1 1.7 3.7 1.7 1 0 1.8-.3 2.3-.6.6-.4.6-1.2.6-1.3.2-1.2-.9-2.1-.9-2.1h2.1c.3.7.4 1.2.4 1.7v.8l-.6 1.2c-.6.8-1.1 1-1.6 1.2a6 6 0 0 1-2.4.6c-1 0-1.8-.3-2.5-.6zM6.8 9 6 8.3c-.4-.5-.5-.8-.5-1.6 0-.7.1-1.3.5-1.8.4-.6 1-1 1.6-1.3a6.3 6.3 0 0 1 4.7 0 4 4 0 0 1 1.7 1l.3.7c0 .1.2.4-.2.7-.4.2-.9.1-1 0a3 3 0 0 0-1.2-1c-.4-.2-1-.3-2-.4-.7 0-1.4.2-2 .6-.8.6-1 .8-1 1.5 0 .8.5 1 1.2 1.5.6.4 1.1.7 1.9 1H6.8z"/><path d="M3 10.5V9h14v1.5z"/></svg>',keystroke:"CTRL+SHIFT+X",tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute("strikethrough"),t.editing.view.focus()}),r})}}class w extends n.Plugin{static get requires(){return[f,v]}static get pluginName(){return"Strikethrough"}}class x extends n.Plugin{static get pluginName(){return"SubscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"subscript"}),t.model.schema.setAttributeProperties("subscript",{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:"subscript",view:"sub",upcastAlso:[{styles:{"vertical-align":"sub"}}]}),t.commands.add("subscript",new r(t,"subscript"))}}class y extends n.Plugin{static get pluginName(){return"SubscriptUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("subscript",i=>{const n=t.commands.get("subscript"),r=new o.ButtonView(i);return r.set({label:e("Subscript"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m7.03 10.349 3.818-3.819a.8.8 0 1 1 1.132 1.132L8.16 11.48l3.819 3.818a.8.8 0 1 1-1.132 1.132L7.03 12.61l-3.818 3.82a.8.8 0 1 1-1.132-1.132L5.9 11.48 2.08 7.662A.8.8 0 1 1 3.212 6.53l3.818 3.82zm8.147 7.829h2.549c.254 0 .447.05.58.152a.49.49 0 0 1 .201.413.54.54 0 0 1-.159.393c-.105.108-.266.162-.48.162h-3.594c-.245 0-.435-.066-.572-.197a.621.621 0 0 1-.205-.463c0-.114.044-.265.132-.453a1.62 1.62 0 0 1 .288-.444c.433-.436.824-.81 1.172-1.122.348-.312.597-.517.747-.615.267-.183.49-.368.667-.553.177-.185.312-.375.405-.57.093-.194.139-.384.139-.57a1.008 1.008 0 0 0-.554-.917 1.197 1.197 0 0 0-.56-.133c-.426 0-.761.182-1.005.546a2.332 2.332 0 0 0-.164.39 1.609 1.609 0 0 1-.258.488c-.096.114-.237.17-.423.17a.558.558 0 0 1-.405-.156.568.568 0 0 1-.161-.427c0-.218.05-.446.151-.683.101-.238.252-.453.452-.646s.454-.349.762-.467a2.998 2.998 0 0 1 1.081-.178c.498 0 .923.076 1.274.228a1.916 1.916 0 0 1 1.004 1.032 1.984 1.984 0 0 1-.156 1.794c-.2.32-.405.572-.613.754-.208.182-.558.468-1.048.857-.49.39-.826.691-1.008.906a2.703 2.703 0 0 0-.24.309z"/></svg>',tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute("subscript"),t.editing.view.focus()}),r})}}class E extends n.Plugin{static get requires(){return[x,y]}static get pluginName(){return"Subscript"}}class S extends n.Plugin{static get pluginName(){return"SuperscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"superscript"}),t.model.schema.setAttributeProperties("superscript",{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:"superscript",view:"sup",upcastAlso:[{styles:{"vertical-align":"super"}}]}),t.commands.add("superscript",new r(t,"superscript"))}}class T extends n.Plugin{static get pluginName(){return"SuperscriptUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("superscript",i=>{const n=t.commands.get("superscript"),r=new o.ButtonView(i);return r.set({label:e("Superscript"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M15.677 8.678h2.549c.254 0 .447.05.58.152a.49.49 0 0 1 .201.413.54.54 0 0 1-.159.393c-.105.108-.266.162-.48.162h-3.594c-.245 0-.435-.066-.572-.197a.621.621 0 0 1-.205-.463c0-.114.044-.265.132-.453a1.62 1.62 0 0 1 .288-.444c.433-.436.824-.81 1.172-1.122.348-.312.597-.517.747-.615.267-.183.49-.368.667-.553.177-.185.312-.375.405-.57.093-.194.139-.384.139-.57a1.008 1.008 0 0 0-.554-.917 1.197 1.197 0 0 0-.56-.133c-.426 0-.761.182-1.005.546a2.332 2.332 0 0 0-.164.39 1.609 1.609 0 0 1-.258.488c-.096.114-.237.17-.423.17a.558.558 0 0 1-.405-.156.568.568 0 0 1-.161-.427c0-.218.05-.446.151-.683.101-.238.252-.453.452-.646s.454-.349.762-.467a2.998 2.998 0 0 1 1.081-.178c.498 0 .923.076 1.274.228a1.916 1.916 0 0 1 1.004 1.032 1.984 1.984 0 0 1-.156 1.794c-.2.32-.405.572-.613.754-.208.182-.558.468-1.048.857-.49.39-.826.691-1.008.906a2.703 2.703 0 0 0-.24.309zM7.03 10.349l3.818-3.819a.8.8 0 1 1 1.132 1.132L8.16 11.48l3.819 3.818a.8.8 0 1 1-1.132 1.132L7.03 12.61l-3.818 3.82a.8.8 0 1 1-1.132-1.132L5.9 11.48 2.08 7.662A.8.8 0 1 1 3.212 6.53l3.818 3.82z"/></svg>',tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute("superscript"),t.editing.view.focus()}),r})}}class k extends n.Plugin{static get requires(){return[S,T]}static get pluginName(){return"Superscript"}}class A extends n.Plugin{static get pluginName(){return"UnderlineEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"underline"}),t.model.schema.setAttributeProperties("underline",{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:"underline",view:"u",upcastAlso:{styles:{"text-decoration":"underline"}}}),t.commands.add("underline",new r(t,"underline")),t.keystrokes.set("CTRL+U","underline")}}class C extends n.Plugin{static get pluginName(){return"UnderlineUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("underline",i=>{const n=t.commands.get("underline"),r=new o.ButtonView(i);return r.set({label:e("Underline"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 18v-1.5h14V18zm2.2-8V3.6c0-.4.4-.6.8-.6.3 0 .7.2.7.6v6.2c0 2 1.3 2.8 3.2 2.8 1.9 0 3.4-.9 3.4-2.9V3.6c0-.3.4-.5.8-.5.3 0 .7.2.7.5V10c0 2.7-2.2 4-4.9 4-2.6 0-4.7-1.2-4.7-4z"/></svg>',keystroke:"CTRL+U",tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute("underline"),t.editing.view.focus()}),r})}}class I extends n.Plugin{static get requires(){return[A,C]}static get pluginName(){return"Underline"}}}]);
\ No newline at end of file
+ */(()=>{var t={415:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});var n=i(609),s=i.n(n)()((function(t){return t[1]}));s.push([t.id,".ck-content code{background-color:hsla(0,0%,78%,.3);border-radius:2px;padding:.15em}.ck.ck-editor__editable .ck-code_selected{background-color:hsla(0,0%,78%,.5)}",""]);const r=s},609:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i=t(e);return e[2]?"@media ".concat(e[2]," {").concat(i,"}"):i})).join("")},e.i=function(t,i,n){"string"==typeof t&&(t=[[null,t,""]]);var s={};if(n)for(var r=0;r<this.length;r++){var o=this[r][0];null!=o&&(s[o]=!0)}for(var c=0;c<t.length;c++){var a=[].concat(t[c]);n&&s[a[0]]||(i&&(a[2]?a[2]="".concat(i," and ").concat(a[2]):a[2]=i),e.push(a))}},e}},62:(t,e,i)=>{"use strict";var n,s=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},r=function(){var t={};return function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}t[e]=i}return t[e]}}(),o=[];function c(t){for(var e=-1,i=0;i<o.length;i++)if(o[i].identifier===t){e=i;break}return e}function a(t,e){for(var i={},n=[],s=0;s<t.length;s++){var r=t[s],a=e.base?r[0]+e.base:r[0],l=i[a]||0,u="".concat(a," ").concat(l);i[a]=l+1;var d=c(u),g={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(o[d].references++,o[d].updater(g)):o.push({identifier:u,updater:b(g,e),references:1}),n.push(u)}return n}function l(t){var e=document.createElement("style"),n=t.attributes||{};if(void 0===n.nonce){var s=i.nc;s&&(n.nonce=s)}if(Object.keys(n).forEach((function(t){e.setAttribute(t,n[t])})),"function"==typeof t.insert)t.insert(e);else{var o=r(t.insert||"head");if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(e)}return e}var u,d=(u=[],function(t,e){return u[t]=e,u.filter(Boolean).join("\n")});function g(t,e,i,n){var s=i?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(t.styleSheet)t.styleSheet.cssText=d(e,s);else{var r=document.createTextNode(s),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(r,o[e]):t.appendChild(r)}}function m(t,e,i){var n=i.css,s=i.media,r=i.sourceMap;if(s?t.setAttribute("media",s):t.removeAttribute("media"),r&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var p=null,h=0;function b(t,e){var i,n,s;if(e.singleton){var r=h++;i=p||(p=l(e)),n=g.bind(null,i,r,!1),s=g.bind(null,i,r,!0)}else i=l(e),n=m.bind(null,i,e),s=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(i)};return n(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;n(t=e)}else s()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=s());var i=a(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var n=0;n<i.length;n++){var s=c(i[n]);o[s].references--}for(var r=a(t,e),l=0;l<i.length;l++){var u=c(i[l]);0===o[u].references&&(o[u].updater(),o.splice(u,1))}i=r}}}},704:(t,e,i)=>{t.exports=i(79)("./src/core.js")},181:(t,e,i)=>{t.exports=i(79)("./src/typing.js")},273:(t,e,i)=>{t.exports=i(79)("./src/ui.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function i(n){var s=e[n];if(void 0!==s)return s.exports;var r=e[n]={id:n,exports:{}};return t[n](r,r.exports,i),r.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{"use strict";i.r(n),i.d(n,{Bold:()=>l,BoldEditing:()=>r,BoldUI:()=>a,Code:()=>f,CodeEditing:()=>g,CodeUI:()=>w,Italic:()=>T,ItalicEditing:()=>y,ItalicUI:()=>E,Strikethrough:()=>N,StrikethroughEditing:()=>A,StrikethroughUI:()=>I,Subscript:()=>F,SubscriptEditing:()=>B,SubscriptUI:()=>U,Superscript:()=>j,SuperscriptEditing:()=>M,SuperscriptUI:()=>R,Underline:()=>q,UnderlineEditing:()=>K,UnderlineUI:()=>H});var t=i(704);class e extends t.Command{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,i=e.document.selection,n=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(i.isCollapsed)n?t.setSelectionAttribute(this.attributeKey,!0):t.removeSelectionAttribute(this.attributeKey);else{const s=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const e of s)n?t.setAttribute(this.attributeKey,n,e):t.removeAttribute(this.attributeKey,e)}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,i=t.document.selection;if(i.isCollapsed)return i.hasAttribute(this.attributeKey);for(const t of i.getRanges())for(const i of t.getItems())if(e.checkAttribute(i,this.attributeKey))return i.hasAttribute(this.attributeKey);return!1}}const s="bold";class r extends t.Plugin{static get pluginName(){return"BoldEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:s}),t.model.schema.setAttributeProperties(s,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:s,view:"strong",upcastAlso:["b",t=>{const e=t.getStyle("font-weight");return e?"bold"==e||Number(e)>=600?{name:!0,styles:["font-weight"]}:void 0:null}]}),t.commands.add(s,new e(t,s)),t.keystrokes.set("CTRL+B",s)}}var o=i(273);const c="bold";class a extends t.Plugin{static get pluginName(){return"BoldUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(c,(i=>{const n=t.commands.get(c),s=new o.ButtonView(i);return s.set({label:e("Bold"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10.187 17H5.773c-.637 0-1.092-.138-1.364-.415-.273-.277-.409-.718-.409-1.323V4.738c0-.617.14-1.062.419-1.332.279-.27.73-.406 1.354-.406h4.68c.69 0 1.288.041 1.793.124.506.083.96.242 1.36.478.341.197.644.447.906.75a3.262 3.262 0 0 1 .808 2.162c0 1.401-.722 2.426-2.167 3.075C15.05 10.175 16 11.315 16 13.01a3.756 3.756 0 0 1-2.296 3.504 6.1 6.1 0 0 1-1.517.377c-.571.073-1.238.11-2 .11zm-.217-6.217H7v4.087h3.069c1.977 0 2.965-.69 2.965-2.072 0-.707-.256-1.22-.768-1.537-.512-.319-1.277-.478-2.296-.478zM7 5.13v3.619h2.606c.729 0 1.292-.067 1.69-.2a1.6 1.6 0 0 0 .91-.765c.165-.267.247-.566.247-.897 0-.707-.26-1.176-.778-1.409-.519-.232-1.31-.348-2.375-.348H7z"/></svg>',keystroke:"CTRL+B",tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(s,"execute",(()=>{t.execute(c),t.editing.view.focus()})),s}))}}class l extends t.Plugin{static get requires(){return[r,a]}static get pluginName(){return"Bold"}}var u=i(181);const d="code";class g extends t.Plugin{static get pluginName(){return"CodeEditing"}static get requires(){return[u.TwoStepCaretMovement]}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:d}),t.model.schema.setAttributeProperties(d,{isFormatting:!0,copyOnEnter:!1}),t.conversion.attributeToElement({model:d,view:"code",upcastAlso:{styles:{"word-wrap":"break-word"}}}),t.commands.add(d,new e(t,d)),t.plugins.get(u.TwoStepCaretMovement).registerAttribute(d),(0,u.inlineHighlight)(t,d,"code","ck-code_selected")}}var m=i(62),p=i.n(m),h=i(415),b={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};p()(h.Z,b);h.Z.locals;const v="code";class w extends t.Plugin{static get pluginName(){return"CodeUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(v,(i=>{const n=t.commands.get(v),s=new o.ButtonView(i);return s.set({label:e("Code"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m12.5 5.7 5.2 3.9v1.3l-5.6 4c-.1.2-.3.2-.5.2-.3-.1-.6-.7-.6-1l.3-.4 4.7-3.5L11.5 7l-.2-.2c-.1-.3-.1-.6 0-.8.2-.2.5-.4.8-.4a.8.8 0 0 1 .4.1zm-5.2 0L2 9.6v1.3l5.6 4c.1.2.3.2.5.2.3-.1.7-.7.6-1 0-.1 0-.3-.2-.4l-5-3.5L8.2 7l.2-.2c.1-.3.1-.6 0-.8-.2-.2-.5-.4-.8-.4a.8.8 0 0 0-.3.1z"/></svg>',tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(s,"execute",(()=>{t.execute(v),t.editing.view.focus()})),s}))}}class f extends t.Plugin{static get requires(){return[g,w]}static get pluginName(){return"Code"}}const x="italic";class y extends t.Plugin{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:x}),t.model.schema.setAttributeProperties(x,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:x,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]}),t.commands.add(x,new e(t,x)),t.keystrokes.set("CTRL+I",x)}}const S="italic";class E extends t.Plugin{static get pluginName(){return"ItalicUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(S,(i=>{const n=t.commands.get(S),s=new o.ButtonView(i);return s.set({label:e("Italic"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m9.586 14.633.021.004c-.036.335.095.655.393.962.082.083.173.15.274.201h1.474a.6.6 0 1 1 0 1.2H5.304a.6.6 0 0 1 0-1.2h1.15c.474-.07.809-.182 1.005-.334.157-.122.291-.32.404-.597l2.416-9.55a1.053 1.053 0 0 0-.281-.823 1.12 1.12 0 0 0-.442-.296H8.15a.6.6 0 0 1 0-1.2h6.443a.6.6 0 1 1 0 1.2h-1.195c-.376.056-.65.155-.823.296-.215.175-.423.439-.623.79l-2.366 9.347z"/></svg>',keystroke:"CTRL+I",tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(s,"execute",(()=>{t.execute(S),t.editing.view.focus()})),s}))}}class T extends t.Plugin{static get requires(){return[y,E]}static get pluginName(){return"Italic"}}const k="strikethrough";class A extends t.Plugin{static get pluginName(){return"StrikethroughEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:k}),t.model.schema.setAttributeProperties(k,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:k,view:"s",upcastAlso:["del","strike",{styles:{"text-decoration":"line-through"}}]}),t.commands.add(k,new e(t,k)),t.keystrokes.set("CTRL+SHIFT+X","strikethrough")}}const C="strikethrough";class I extends t.Plugin{static get pluginName(){return"StrikethroughUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(C,(i=>{const n=t.commands.get(C),s=new o.ButtonView(i);return s.set({label:e("Strikethrough"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M7 16.4c-.8-.4-1.5-.9-2.2-1.5a.6.6 0 0 1-.2-.5l.3-.6h1c1 1.2 2.1 1.7 3.7 1.7 1 0 1.8-.3 2.3-.6.6-.4.6-1.2.6-1.3.2-1.2-.9-2.1-.9-2.1h2.1c.3.7.4 1.2.4 1.7v.8l-.6 1.2c-.6.8-1.1 1-1.6 1.2a6 6 0 0 1-2.4.6c-1 0-1.8-.3-2.5-.6zM6.8 9 6 8.3c-.4-.5-.5-.8-.5-1.6 0-.7.1-1.3.5-1.8.4-.6 1-1 1.6-1.3a6.3 6.3 0 0 1 4.7 0 4 4 0 0 1 1.7 1l.3.7c0 .1.2.4-.2.7-.4.2-.9.1-1 0a3 3 0 0 0-1.2-1c-.4-.2-1-.3-2-.4-.7 0-1.4.2-2 .6-.8.6-1 .8-1 1.5 0 .8.5 1 1.2 1.5.6.4 1.1.7 1.9 1H6.8z"/><path d="M3 10.5V9h14v1.5z"/></svg>',keystroke:"CTRL+SHIFT+X",tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(s,"execute",(()=>{t.execute(C),t.editing.view.focus()})),s}))}}class N extends t.Plugin{static get requires(){return[A,I]}static get pluginName(){return"Strikethrough"}}const P="subscript";class B extends t.Plugin{static get pluginName(){return"SubscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:P}),t.model.schema.setAttributeProperties(P,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:P,view:"sub",upcastAlso:[{styles:{"vertical-align":"sub"}}]}),t.commands.add(P,new e(t,P))}}const O="subscript";class U extends t.Plugin{static get pluginName(){return"SubscriptUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(O,(i=>{const n=t.commands.get(O),s=new o.ButtonView(i);return s.set({label:e("Subscript"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m7.03 10.349 3.818-3.819a.8.8 0 1 1 1.132 1.132L8.16 11.48l3.819 3.818a.8.8 0 1 1-1.132 1.132L7.03 12.61l-3.818 3.82a.8.8 0 1 1-1.132-1.132L5.9 11.48 2.08 7.662A.8.8 0 1 1 3.212 6.53l3.818 3.82zm8.147 7.829h2.549c.254 0 .447.05.58.152a.49.49 0 0 1 .201.413.54.54 0 0 1-.159.393c-.105.108-.266.162-.48.162h-3.594c-.245 0-.435-.066-.572-.197a.621.621 0 0 1-.205-.463c0-.114.044-.265.132-.453a1.62 1.62 0 0 1 .288-.444c.433-.436.824-.81 1.172-1.122.348-.312.597-.517.747-.615.267-.183.49-.368.667-.553.177-.185.312-.375.405-.57.093-.194.139-.384.139-.57a1.008 1.008 0 0 0-.554-.917 1.197 1.197 0 0 0-.56-.133c-.426 0-.761.182-1.005.546a2.332 2.332 0 0 0-.164.39 1.609 1.609 0 0 1-.258.488c-.096.114-.237.17-.423.17a.558.558 0 0 1-.405-.156.568.568 0 0 1-.161-.427c0-.218.05-.446.151-.683.101-.238.252-.453.452-.646s.454-.349.762-.467a2.998 2.998 0 0 1 1.081-.178c.498 0 .923.076 1.274.228a1.916 1.916 0 0 1 1.004 1.032 1.984 1.984 0 0 1-.156 1.794c-.2.32-.405.572-.613.754-.208.182-.558.468-1.048.857-.49.39-.826.691-1.008.906a2.703 2.703 0 0 0-.24.309z"/></svg>',tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(s,"execute",(()=>{t.execute(O),t.editing.view.focus()})),s}))}}class F extends t.Plugin{static get requires(){return[B,U]}static get pluginName(){return"Subscript"}}const L="superscript";class M extends t.Plugin{static get pluginName(){return"SuperscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:L}),t.model.schema.setAttributeProperties(L,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:L,view:"sup",upcastAlso:[{styles:{"vertical-align":"super"}}]}),t.commands.add(L,new e(t,L))}}const V="superscript";class R extends t.Plugin{static get pluginName(){return"SuperscriptUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(V,(i=>{const n=t.commands.get(V),s=new o.ButtonView(i);return s.set({label:e("Superscript"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M15.677 8.678h2.549c.254 0 .447.05.58.152a.49.49 0 0 1 .201.413.54.54 0 0 1-.159.393c-.105.108-.266.162-.48.162h-3.594c-.245 0-.435-.066-.572-.197a.621.621 0 0 1-.205-.463c0-.114.044-.265.132-.453a1.62 1.62 0 0 1 .288-.444c.433-.436.824-.81 1.172-1.122.348-.312.597-.517.747-.615.267-.183.49-.368.667-.553.177-.185.312-.375.405-.57.093-.194.139-.384.139-.57a1.008 1.008 0 0 0-.554-.917 1.197 1.197 0 0 0-.56-.133c-.426 0-.761.182-1.005.546a2.332 2.332 0 0 0-.164.39 1.609 1.609 0 0 1-.258.488c-.096.114-.237.17-.423.17a.558.558 0 0 1-.405-.156.568.568 0 0 1-.161-.427c0-.218.05-.446.151-.683.101-.238.252-.453.452-.646s.454-.349.762-.467a2.998 2.998 0 0 1 1.081-.178c.498 0 .923.076 1.274.228a1.916 1.916 0 0 1 1.004 1.032 1.984 1.984 0 0 1-.156 1.794c-.2.32-.405.572-.613.754-.208.182-.558.468-1.048.857-.49.39-.826.691-1.008.906a2.703 2.703 0 0 0-.24.309zM7.03 10.349l3.818-3.819a.8.8 0 1 1 1.132 1.132L8.16 11.48l3.819 3.818a.8.8 0 1 1-1.132 1.132L7.03 12.61l-3.818 3.82a.8.8 0 1 1-1.132-1.132L5.9 11.48 2.08 7.662A.8.8 0 1 1 3.212 6.53l3.818 3.82z"/></svg>',tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(s,"execute",(()=>{t.execute(V),t.editing.view.focus()})),s}))}}class j extends t.Plugin{static get requires(){return[M,R]}static get pluginName(){return"Superscript"}}const z="underline";class K extends t.Plugin{static get pluginName(){return"UnderlineEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:z}),t.model.schema.setAttributeProperties(z,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:z,view:"u",upcastAlso:{styles:{"text-decoration":"underline"}}}),t.commands.add(z,new e(t,z)),t.keystrokes.set("CTRL+U","underline")}}const _="underline";class H extends t.Plugin{static get pluginName(){return"UnderlineUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(_,(i=>{const n=t.commands.get(_),s=new o.ButtonView(i);return s.set({label:e("Underline"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 18v-1.5h14V18zm2.2-8V3.6c0-.4.4-.6.8-.6.3 0 .7.2.7.6v6.2c0 2 1.3 2.8 3.2 2.8 1.9 0 3.4-.9 3.4-2.9V3.6c0-.3.4-.5.8-.5.3 0 .7.2.7.5V10c0 2.7-2.2 4-4.9 4-2.6 0-4.7-1.2-4.7-4z"/></svg>',keystroke:"CTRL+U",tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(s,"execute",(()=>{t.execute(_),t.editing.view.focus()})),s}))}}class q extends t.Plugin{static get requires(){return[K,H]}static get pluginName(){return"Underline"}}})(),(window.CKEditor5=window.CKEditor5||{}).basicStyles=n})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/basic-styles/translations/bs.js b/web/core/assets/vendor/ckeditor5/basic-styles/translations/bs.js
new file mode 100644
index 0000000000..02b33846a6
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/basic-styles/translations/bs.js
@@ -0,0 +1 @@
+!function(o){const i=o.bs=o.bs||{};i.dictionary=Object.assign(i.dictionary||{},{Bold:"Podebljano",Code:"Kod",Italic:"Zakrivljeno",Strikethrough:"Precrtano",Subscript:"",Superscript:"",Underline:"Podcrtano"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/basic-styles/translations/el.js b/web/core/assets/vendor/ckeditor5/basic-styles/translations/el.js
index a414df454f..31392698c1 100644
--- a/web/core/assets/vendor/ckeditor5/basic-styles/translations/el.js
+++ b/web/core/assets/vendor/ckeditor5/basic-styles/translations/el.js
@@ -1 +1 @@
-!function(i){const n=i.el=i.el||{};n.dictionary=Object.assign(n.dictionary||{},{Bold:"Έντονη",Code:"",Italic:"Πλάγια",Strikethrough:"",Subscript:"",Superscript:"",Underline:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(i){const n=i.el=i.el||{};n.dictionary=Object.assign(n.dictionary||{},{Bold:"Έντονα",Code:"Κώδικας",Italic:"Πλάγια",Strikethrough:"Διακριτή διαγραφή",Subscript:"Δείκτης",Superscript:"Εκθέτης",Underline:"Υπογράμμιση"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/basic-styles/translations/jv.js b/web/core/assets/vendor/ckeditor5/basic-styles/translations/jv.js
new file mode 100644
index 0000000000..041f3a5586
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/basic-styles/translations/jv.js
@@ -0,0 +1 @@
+!function(i){const n=i.jv=i.jv||{};n.dictionary=Object.assign(n.dictionary||{},{Bold:"Kandhel",Code:"Kode",Italic:"Miring",Strikethrough:"Seratan dicoret",Subscript:"",Superscript:"",Underline:"Garis ngandhap"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/basic-styles/translations/uz.js b/web/core/assets/vendor/ckeditor5/basic-styles/translations/uz.js
new file mode 100644
index 0000000000..cf441de94a
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/basic-styles/translations/uz.js
@@ -0,0 +1 @@
+!function(i){const n=i.uz=i.uz||{};n.dictionary=Object.assign(n.dictionary||{},{Bold:"Qalin",Code:"Manba kodi",Italic:"Kursiv",Strikethrough:"Chizilgan",Subscript:"Pastki yozuv",Superscript:"Yuqori yozuv",Underline:"Tagi chizilgan"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/block-quote/block-quote.js b/web/core/assets/vendor/ckeditor5/block-quote/block-quote.js
index 8900c3492a..01ed7fdbb4 100644
--- a/web/core/assets/vendor/ckeditor5/block-quote/block-quote.js
+++ b/web/core/assets/vendor/ckeditor5/block-quote/block-quote.js
@@ -1,5 +1,5 @@
+!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Block quote":"Block quote"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Block quote":"Block quote"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.blockQuote=function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t,n){e.exports=n(1)("./src/core.js")},function(e,t){e.exports=CKEditor5.dll},function(e,t,n){e.exports=n(1)("./src/utils.js")},function(e,t,n){e.exports=n(1)("./src/enter.js")},function(e,t,n){e.exports=n(1)("./src/typing.js")},function(e,t,n){e.exports=n(1)("./src/ui.js")},function(e,t,n){var o=n(7),r=n(8);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,""]]);var i={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};o(r,i);e.exports=r.locals||{}},function(e,t,n){"use strict";var o,r=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),c=[];function s(e){for(var t=-1,n=0;n<c.length;n++)if(c[n].identifier===e){t=n;break}return t}function l(e,t){for(var n={},o=[],r=0;r<e.length;r++){var i=e[r],l=t.base?i[0]+t.base:i[0],u=n[l]||0,a="".concat(l," ").concat(u);n[l]=u+1;var d=s(a),f={css:i[1],media:i[2],sourceMap:i[3]};-1!==d?(c[d].references++,c[d].updater(f)):c.push({identifier:a,updater:b(f,t),references:1}),o.push(a)}return o}function u(e){var t=document.createElement("style"),o=e.attributes||{};if(void 0===o.nonce){var r=n.nc;r&&(o.nonce=r)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),"function"==typeof e.insert)e.insert(t);else{var c=i(e.insert||"head");if(!c)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");c.appendChild(t)}return t}var a,d=(a=[],function(e,t){return a[e]=t,a.filter(Boolean).join("\n")});function f(e,t,n,o){var r=n?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(e.styleSheet)e.styleSheet.cssText=d(t,r);else{var i=document.createTextNode(r),c=e.childNodes;c[t]&&e.removeChild(c[t]),c.length?e.insertBefore(i,c[t]):e.appendChild(i)}}function p(e,t,n){var o=n.css,r=n.media,i=n.sourceMap;if(r?e.setAttribute("media",r):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var m=null,h=0;function b(e,t){var n,o,r;if(t.singleton){var i=h++;n=m||(m=u(t)),o=f.bind(null,n,i,!1),r=f.bind(null,n,i,!0)}else n=u(t),o=p.bind(null,n,t),r=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else r()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=r());var n=l(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var o=0;o<n.length;o++){var r=s(n[o]);c[r].references--}for(var i=l(e,t),u=0;u<n.length;u++){var a=s(n[u]);0===c[a].references&&(c[a].updater(),c.splice(a,1))}n=i}}}},function(e,t){e.exports=".ck-content blockquote{overflow:hidden;padding-right:1.5em;padding-left:1.5em;margin-left:0;margin-right:0;font-style:italic;border-left:5px solid #ccc}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}"},function(e,t,n){"use strict";n.r(t),n.d(t,"BlockQuote",(function(){return m})),n.d(t,"BlockQuoteEditing",(function(){return d})),n.d(t,"BlockQuoteUI",(function(){return p}));var o=n(0),r=n(3),i=n(4),c=n(2);class s extends o.Command{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(e={}){const t=this.editor.model,n=t.schema,o=t.document.selection,r=Array.from(o.getSelectedBlocks()),i=void 0===e.forceValue?!this.value:e.forceValue;t.change(e=>{if(i){const t=r.filter(e=>l(e)||a(n,e));this._applyQuote(e,t)}else this._removeQuote(e,r.filter(l))})}_getValue(){const e=this.editor.model.document.selection,t=Object(c.first)(e.getSelectedBlocks());return!(!t||!l(t))}_checkEnabled(){if(this.value)return!0;const e=this.editor.model.document.selection,t=this.editor.model.schema,n=Object(c.first)(e.getSelectedBlocks());return!!n&&a(t,n)}_removeQuote(e,t){u(e,t).reverse().forEach(t=>{if(t.start.isAtStart&&t.end.isAtEnd)return void e.unwrap(t.start.parent);if(t.start.isAtStart){const n=e.createPositionBefore(t.start.parent);return void e.move(t,n)}t.end.isAtEnd||e.split(t.end);const n=e.createPositionAfter(t.end.parent);e.move(t,n)})}_applyQuote(e,t){const n=[];u(e,t).reverse().forEach(t=>{let o=l(t.start);o||(o=e.createElement("blockQuote"),e.wrap(t,o)),n.push(o)}),n.reverse().reduce((t,n)=>t.nextSibling==n?(e.merge(e.createPositionAfter(t)),t):n)}}function l(e){return"blockQuote"==e.parent.name?e.parent:null}function u(e,t){let n,o=0;const r=[];for(;o<t.length;){const i=t[o],c=t[o+1];n||(n=e.createPositionBefore(i)),c&&i.nextSibling==c||(r.push(e.createRange(n,e.createPositionAfter(i))),n=null),o++}return r}function a(e,t){const n=e.checkChild(t.parent,"blockQuote"),o=e.checkChild(["$root","blockQuote"],t);return n&&o}class d extends o.Plugin{static get pluginName(){return"BlockQuoteEditing"}static get requires(){return[r.Enter,i.Delete]}init(){const e=this.editor,t=e.model.schema;e.commands.add("blockQuote",new s(e)),t.register("blockQuote",{allowWhere:"$block",allowContentOf:"$root"}),e.conversion.elementToElement({model:"blockQuote",view:"blockquote"}),e.model.document.registerPostFixer(n=>{const o=e.model.document.differ.getChanges();for(const e of o)if("insert"==e.type){const o=e.position.nodeAfter;if(!o)continue;if(o.is("element","blockQuote")&&o.isEmpty)return n.remove(o),!0;if(o.is("element","blockQuote")&&!t.checkChild(e.position,o))return n.unwrap(o),!0;if(o.is("element")){const e=n.createRangeIn(o);for(const o of e.getItems())if(o.is("element","blockQuote")&&!t.checkChild(n.createPositionBefore(o),o))return n.unwrap(o),!0}}else if("remove"==e.type){const t=e.position.parent;if(t.is("element","blockQuote")&&t.isEmpty)return n.remove(t),!0}return!1});const n=this.editor.editing.view.document,o=e.model.document.selection,r=e.commands.get("blockQuote");this.listenTo(n,"enter",(t,n)=>{if(!o.isCollapsed||!r.value)return;o.getLastPosition().parent.isEmpty&&(e.execute("blockQuote"),e.editing.view.scrollToTheSelection(),n.preventDefault(),t.stop())},{context:"blockquote"}),this.listenTo(n,"delete",(t,n)=>{if("backward"!=n.direction||!o.isCollapsed||!r.value)return;const i=o.getLastPosition().parent;i.isEmpty&&!i.previousSibling&&(e.execute("blockQuote"),e.editing.view.scrollToTheSelection(),n.preventDefault(),t.stop())},{context:"blockquote"})}}var f=n(5);n(6);class p extends o.Plugin{static get pluginName(){return"BlockQuoteUI"}init(){const e=this.editor,t=e.t;e.ui.componentFactory.add("blockQuote",n=>{const r=e.commands.get("blockQuote"),i=new f.ButtonView(n);return i.set({label:t("Block quote"),icon:o.icons.quote,tooltip:!0,isToggleable:!0}),i.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(i,"execute",()=>{e.execute("blockQuote"),e.editing.view.focus()}),i})}}class m extends o.Plugin{static get requires(){return[d,p]}static get pluginName(){return"BlockQuote"}}}]);
\ No newline at end of file
+ */(()=>{var e={446:(e,t,o)=>{"use strict";o.d(t,{Z:()=>i});var n=o(609),r=o.n(n)()((function(e){return e[1]}));r.push([e.id,".ck-content blockquote{border-left:5px solid #ccc;font-style:italic;margin-left:0;margin-right:0;overflow:hidden;padding-left:1.5em;padding-right:1.5em}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}",""]);const i=r},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o=e(t);return t[2]?"@media ".concat(t[2]," {").concat(o,"}"):o})).join("")},t.i=function(e,o,n){"string"==typeof e&&(e=[[null,e,""]]);var r={};if(n)for(var i=0;i<this.length;i++){var c=this[i][0];null!=c&&(r[c]=!0)}for(var s=0;s<e.length;s++){var l=[].concat(e[s]);n&&r[l[0]]||(o&&(l[2]?l[2]="".concat(o," and ").concat(l[2]):l[2]=o),t.push(l))}},t}},62:(e,t,o)=>{"use strict";var n,r=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},i=function(){var e={};return function(t){if(void 0===e[t]){var o=document.querySelector(t);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}e[t]=o}return e[t]}}(),c=[];function s(e){for(var t=-1,o=0;o<c.length;o++)if(c[o].identifier===e){t=o;break}return t}function l(e,t){for(var o={},n=[],r=0;r<e.length;r++){var i=e[r],l=t.base?i[0]+t.base:i[0],a=o[l]||0,u="".concat(l," ").concat(a);o[l]=a+1;var d=s(u),f={css:i[1],media:i[2],sourceMap:i[3]};-1!==d?(c[d].references++,c[d].updater(f)):c.push({identifier:u,updater:v(f,t),references:1}),n.push(u)}return n}function a(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var r=o.nc;r&&(n.nonce=r)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var c=i(e.insert||"head");if(!c)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");c.appendChild(t)}return t}var u,d=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function f(e,t,o,n){var r=o?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=d(t,r);else{var i=document.createTextNode(r),c=e.childNodes;c[t]&&e.removeChild(c[t]),c.length?e.insertBefore(i,c[t]):e.appendChild(i)}}function p(e,t,o){var n=o.css,r=o.media,i=o.sourceMap;if(r?e.setAttribute("media",r):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var m=null,h=0;function v(e,t){var o,n,r;if(t.singleton){var i=h++;o=m||(m=a(t)),n=f.bind(null,o,i,!1),r=f.bind(null,o,i,!0)}else o=a(t),n=p.bind(null,o,t),r=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(o)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else r()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=r());var o=l(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<o.length;n++){var r=s(o[n]);c[r].references--}for(var i=l(e,t),a=0;a<o.length;a++){var u=s(o[a]);0===c[u].references&&(c[u].updater(),c.splice(u,1))}o=i}}}},704:(e,t,o)=>{e.exports=o(79)("./src/core.js")},331:(e,t,o)=>{e.exports=o(79)("./src/enter.js")},181:(e,t,o)=>{e.exports=o(79)("./src/typing.js")},273:(e,t,o)=>{e.exports=o(79)("./src/ui.js")},209:(e,t,o)=>{e.exports=o(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";o.r(n),o.d(n,{BlockQuote:()=>g,BlockQuoteEditing:()=>u,BlockQuoteUI:()=>v});var e=o(704),t=o(331),r=o(181),i=o(209);class c extends e.Command{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(e={}){const t=this.editor.model,o=t.schema,n=t.document.selection,r=Array.from(n.getSelectedBlocks()),i=void 0===e.forceValue?!this.value:e.forceValue;t.change((e=>{if(i){const t=r.filter((e=>s(e)||a(o,e)));this._applyQuote(e,t)}else this._removeQuote(e,r.filter(s))}))}_getValue(){const e=this.editor.model.document.selection,t=(0,i.first)(e.getSelectedBlocks());return!(!t||!s(t))}_checkEnabled(){if(this.value)return!0;const e=this.editor.model.document.selection,t=this.editor.model.schema,o=(0,i.first)(e.getSelectedBlocks());return!!o&&a(t,o)}_removeQuote(e,t){l(e,t).reverse().forEach((t=>{if(t.start.isAtStart&&t.end.isAtEnd)return void e.unwrap(t.start.parent);if(t.start.isAtStart){const o=e.createPositionBefore(t.start.parent);return void e.move(t,o)}t.end.isAtEnd||e.split(t.end);const o=e.createPositionAfter(t.end.parent);e.move(t,o)}))}_applyQuote(e,t){const o=[];l(e,t).reverse().forEach((t=>{let n=s(t.start);n||(n=e.createElement("blockQuote"),e.wrap(t,n)),o.push(n)})),o.reverse().reduce(((t,o)=>t.nextSibling==o?(e.merge(e.createPositionAfter(t)),t):o))}}function s(e){return"blockQuote"==e.parent.name?e.parent:null}function l(e,t){let o,n=0;const r=[];for(;n<t.length;){const i=t[n],c=t[n+1];o||(o=e.createPositionBefore(i)),c&&i.nextSibling==c||(r.push(e.createRange(o,e.createPositionAfter(i))),o=null),n++}return r}function a(e,t){const o=e.checkChild(t.parent,"blockQuote"),n=e.checkChild(["$root","blockQuote"],t);return o&&n}class u extends e.Plugin{static get pluginName(){return"BlockQuoteEditing"}static get requires(){return[t.Enter,r.Delete]}init(){const e=this.editor,t=e.model.schema;e.commands.add("blockQuote",new c(e)),t.register("blockQuote",{inheritAllFrom:"$container"}),e.conversion.elementToElement({model:"blockQuote",view:"blockquote"}),e.model.document.registerPostFixer((o=>{const n=e.model.document.differ.getChanges();for(const e of n)if("insert"==e.type){const n=e.position.nodeAfter;if(!n)continue;if(n.is("element","blockQuote")&&n.isEmpty)return o.remove(n),!0;if(n.is("element","blockQuote")&&!t.checkChild(e.position,n))return o.unwrap(n),!0;if(n.is("element")){const e=o.createRangeIn(n);for(const n of e.getItems())if(n.is("element","blockQuote")&&!t.checkChild(o.createPositionBefore(n),n))return o.unwrap(n),!0}}else if("remove"==e.type){const t=e.position.parent;if(t.is("element","blockQuote")&&t.isEmpty)return o.remove(t),!0}return!1}));const o=this.editor.editing.view.document,n=e.model.document.selection,r=e.commands.get("blockQuote");this.listenTo(o,"enter",((t,o)=>{if(!n.isCollapsed||!r.value)return;n.getLastPosition().parent.isEmpty&&(e.execute("blockQuote"),e.editing.view.scrollToTheSelection(),o.preventDefault(),t.stop())}),{context:"blockquote"}),this.listenTo(o,"delete",((t,o)=>{if("backward"!=o.direction||!n.isCollapsed||!r.value)return;const i=n.getLastPosition().parent;i.isEmpty&&!i.previousSibling&&(e.execute("blockQuote"),e.editing.view.scrollToTheSelection(),o.preventDefault(),t.stop())}),{context:"blockquote"})}}var d=o(273),f=o(62),p=o.n(f),m=o(446),h={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};p()(m.Z,h);m.Z.locals;class v extends e.Plugin{static get pluginName(){return"BlockQuoteUI"}init(){const t=this.editor,o=t.t;t.ui.componentFactory.add("blockQuote",(n=>{const r=t.commands.get("blockQuote"),i=new d.ButtonView(n);return i.set({label:o("Block quote"),icon:e.icons.quote,tooltip:!0,isToggleable:!0}),i.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(i,"execute",(()=>{t.execute("blockQuote"),t.editing.view.focus()})),i}))}}class g extends e.Plugin{static get requires(){return[u,v]}static get pluginName(){return"BlockQuote"}}})(),(window.CKEditor5=window.CKEditor5||{}).blockQuote=n})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/block-quote/translations/bs.js b/web/core/assets/vendor/ckeditor5/block-quote/translations/bs.js
new file mode 100644
index 0000000000..0a20b7167d
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/block-quote/translations/bs.js
@@ -0,0 +1 @@
+!function(i){const n=i.bs=i.bs||{};n.dictionary=Object.assign(n.dictionary||{},{"Block quote":"Citat"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/block-quote/translations/uz.js b/web/core/assets/vendor/ckeditor5/block-quote/translations/uz.js
new file mode 100644
index 0000000000..af1a4af554
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/block-quote/translations/uz.js
@@ -0,0 +1 @@
+!function(i){const o=i.uz=i.uz||{};o.dictionary=Object.assign(o.dictionary||{},{"Block quote":"Iqtibos"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/ckeditor5-dll.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/ckeditor5-dll.js
index 878b81535d..a78245c61b 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/ckeditor5-dll.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/ckeditor5-dll.js
@@ -1,5 +1,5 @@
+!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Dim grey":"Dim grey","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Editor toolbar":"Editor toolbar",Green:"Green",Grey:"Grey","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove color","Restore default":"Restore default","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich Text Editor, %0",Save:"Save","Select all":"Select all","Show more items":"Show more items",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White","Widget toolbar":"Widget toolbar",Yellow:"Yellow"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Dim grey":"Dim grey","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Editor toolbar":"Editor toolbar",Green:"Green",Grey:"Grey","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove color","Restore default":"Restore default","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich Text Editor, %0",Save:"Save","Select all":"Select all","Show more items":"Show more items",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White","Widget toolbar":"Widget toolbar",Yellow:"Yellow"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.dll=function(e){var t={};function o(i){if(t[i])return t[i].exports;var s=t[i]={i:i,l:!1,exports:{}};return e[i].call(s.exports,s,s.exports,o),s.l=!0,s.exports}return o.m=e,o.c=t,o.d=function(e,t,i){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(o.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)o.d(i,s,function(t){return e[t]}.bind(null,s));return i},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}({"./node_modules/lodash-es/_ListCache.js":function(e,t,o){"use strict";var i=function(){this.__data__=[],this.size=0},s=o("./node_modules/lodash-es/eq.js");var r=function(e,t){for(var o=e.length;o--;)if(Object(s.a)(e[o][0],t))return o;return-1},n=Array.prototype.splice;var a=function(e){var t=this.__data__,o=r(t,e);return!(o<0)&&(o==t.length-1?t.pop():n.call(t,o,1),--this.size,!0)};var c=function(e){var t=this.__data__,o=r(t,e);return o<0?void 0:t[o][1]};var l=function(e){return r(this.__data__,e)>-1};var d=function(e,t){var o=this.__data__,i=r(o,e);return i<0?(++this.size,o.push([e,t])):o[i][1]=t,this};function u(e){var t=-1,o=null==e?0:e.length;for(this.clear();++t<o;){var i=e[t];this.set(i[0],i[1])}}u.prototype.clear=i,u.prototype.delete=a,u.prototype.get=c,u.prototype.has=l,u.prototype.set=d;t.a=u},"./node_modules/lodash-es/_Map.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_getNative.js"),s=o("./node_modules/lodash-es/_root.js"),r=Object(i.a)(s.a,"Map");t.a=r},"./node_modules/lodash-es/_MapCache.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_getNative.js"),s=Object(i.a)(Object,"create");var r=function(){this.__data__=s?s(null):{},this.size=0};var n=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},a=Object.prototype.hasOwnProperty;var c=function(e){var t=this.__data__;if(s){var o=t[e];return"__lodash_hash_undefined__"===o?void 0:o}return a.call(t,e)?t[e]:void 0},l=Object.prototype.hasOwnProperty;var d=function(e){var t=this.__data__;return s?void 0!==t[e]:l.call(t,e)};var u=function(e,t){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=s&&void 0===t?"__lodash_hash_undefined__":t,this};function h(e){var t=-1,o=null==e?0:e.length;for(this.clear();++t<o;){var i=e[t];this.set(i[0],i[1])}}h.prototype.clear=r,h.prototype.delete=n,h.prototype.get=c,h.prototype.has=d,h.prototype.set=u;var p=h,g=o("./node_modules/lodash-es/_ListCache.js"),f=o("./node_modules/lodash-es/_Map.js");var m=function(){this.size=0,this.__data__={hash:new p,map:new(f.a||g.a),string:new p}};var k=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var b=function(e,t){var o=e.__data__;return k(t)?o["string"==typeof t?"string":"hash"]:o.map};var _=function(e){var t=b(this,e).delete(e);return this.size-=t?1:0,t};var w=function(e){return b(this,e).get(e)};var v=function(e){return b(this,e).has(e)};var y=function(e,t){var o=b(this,e),i=o.size;return o.set(e,t),this.size+=o.size==i?0:1,this};function j(e){var t=-1,o=null==e?0:e.length;for(this.clear();++t<o;){var i=e[t];this.set(i[0],i[1])}}j.prototype.clear=m,j.prototype.delete=_,j.prototype.get=w,j.prototype.has=v,j.prototype.set=y;t.a=j},"./node_modules/lodash-es/_Stack.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_ListCache.js");var s=function(){this.__data__=new i.a,this.size=0};var r=function(e){var t=this.__data__,o=t.delete(e);return this.size=t.size,o};var n=function(e){return this.__data__.get(e)};var a=function(e){return this.__data__.has(e)},c=o("./node_modules/lodash-es/_Map.js"),l=o("./node_modules/lodash-es/_MapCache.js");var d=function(e,t){var o=this.__data__;if(o instanceof i.a){var s=o.__data__;if(!c.a||s.length<199)return s.push([e,t]),this.size=++o.size,this;o=this.__data__=new l.a(s)}return o.set(e,t),this.size=o.size,this};function u(e){var t=this.__data__=new i.a(e);this.size=t.size}u.prototype.clear=s,u.prototype.delete=r,u.prototype.get=n,u.prototype.has=a,u.prototype.set=d;t.a=u},"./node_modules/lodash-es/_Symbol.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_root.js").a.Symbol;t.a=i},"./node_modules/lodash-es/_Uint8Array.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_root.js").a.Uint8Array;t.a=i},"./node_modules/lodash-es/_arrayLikeKeys.js":function(e,t,o){"use strict";var i=function(e,t){for(var o=-1,i=Array(e);++o<e;)i[o]=t(o);return i},s=o("./node_modules/lodash-es/isArguments.js"),r=o("./node_modules/lodash-es/isArray.js"),n=o("./node_modules/lodash-es/isBuffer.js"),a=o("./node_modules/lodash-es/_isIndex.js"),c=o("./node_modules/lodash-es/isTypedArray.js"),l=Object.prototype.hasOwnProperty;t.a=function(e,t){var o=Object(r.a)(e),d=!o&&Object(s.a)(e),u=!o&&!d&&Object(n.a)(e),h=!o&&!d&&!u&&Object(c.a)(e),p=o||d||u||h,g=p?i(e.length,String):[],f=g.length;for(var m in e)!t&&!l.call(e,m)||p&&("length"==m||u&&("offset"==m||"parent"==m)||h&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||Object(a.a)(m,f))||g.push(m);return g}},"./node_modules/lodash-es/_arrayPush.js":function(e,t,o){"use strict";t.a=function(e,t){for(var o=-1,i=t.length,s=e.length;++o<i;)e[s+o]=t[o];return e}},"./node_modules/lodash-es/_assignValue.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_baseAssignValue.js"),s=o("./node_modules/lodash-es/eq.js"),r=Object.prototype.hasOwnProperty;t.a=function(e,t,o){var n=e[t];r.call(e,t)&&Object(s.a)(n,o)&&(void 0!==o||t in e)||Object(i.a)(e,t,o)}},"./node_modules/lodash-es/_baseAssignValue.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_defineProperty.js");t.a=function(e,t,o){"__proto__"==t&&i.a?Object(i.a)(e,t,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[t]=o}},"./node_modules/lodash-es/_baseClone.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_Stack.js");var s=function(e,t){for(var o=-1,i=null==e?0:e.length;++o<i&&!1!==t(e[o],o,e););return e},r=o("./node_modules/lodash-es/_assignValue.js"),n=o("./node_modules/lodash-es/_copyObject.js"),a=o("./node_modules/lodash-es/keys.js");var c=function(e,t){return e&&Object(n.a)(t,Object(a.a)(t),e)},l=o("./node_modules/lodash-es/keysIn.js");var d=function(e,t){return e&&Object(n.a)(t,Object(l.a)(t),e)},u=o("./node_modules/lodash-es/_cloneBuffer.js"),h=o("./node_modules/lodash-es/_copyArray.js"),p=o("./node_modules/lodash-es/_getSymbols.js");var g=function(e,t){return Object(n.a)(e,Object(p.a)(e),t)},f=o("./node_modules/lodash-es/_arrayPush.js"),m=o("./node_modules/lodash-es/_getPrototype.js"),k=o("./node_modules/lodash-es/stubArray.js"),b=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Object(f.a)(t,Object(p.a)(e)),e=Object(m.a)(e);return t}:k.a;var _=function(e,t){return Object(n.a)(e,b(e),t)},w=o("./node_modules/lodash-es/_getAllKeys.js"),v=o("./node_modules/lodash-es/_baseGetAllKeys.js");var y=function(e){return Object(v.a)(e,l.a,b)},j=o("./node_modules/lodash-es/_getTag.js"),x=Object.prototype.hasOwnProperty;var P=function(e){var t=e.length,o=new e.constructor(t);return t&&"string"==typeof e[0]&&x.call(e,"index")&&(o.index=e.index,o.input=e.input),o},O=o("./node_modules/lodash-es/_cloneArrayBuffer.js");var A=function(e,t){var o=t?Object(O.a)(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)},T=/\w*$/;var C=function(e){var t=new e.constructor(e.source,T.exec(e));return t.lastIndex=e.lastIndex,t},E=o("./node_modules/lodash-es/_Symbol.js"),S=E.a?E.a.prototype:void 0,R=S?S.valueOf:void 0;var M=function(e){return R?Object(R.call(e)):{}},N=o("./node_modules/lodash-es/_cloneTypedArray.js");var I=function(e,t,o){var i=e.constructor;switch(t){case"[object ArrayBuffer]":return Object(O.a)(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return A(e,o);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return Object(N.a)(e,o);case"[object Map]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return C(e);case"[object Set]":return new i;case"[object Symbol]":return M(e)}},z=o("./node_modules/lodash-es/_initCloneObject.js"),V=o("./node_modules/lodash-es/isArray.js"),D=o("./node_modules/lodash-es/isBuffer.js"),B=o("./node_modules/lodash-es/isObjectLike.js");var F=function(e){return Object(B.a)(e)&&"[object Map]"==Object(j.a)(e)},L=o("./node_modules/lodash-es/_baseUnary.js"),W=o("./node_modules/lodash-es/_nodeUtil.js"),H=W.a&&W.a.isMap,q=H?Object(L.a)(H):F,$=o("./node_modules/lodash-es/isObject.js");var U=function(e){return Object(B.a)(e)&&"[object Set]"==Object(j.a)(e)},K=W.a&&W.a.isSet,G=K?Object(L.a)(K):U,J={};J["[object Arguments]"]=J["[object Array]"]=J["[object ArrayBuffer]"]=J["[object DataView]"]=J["[object Boolean]"]=J["[object Date]"]=J["[object Float32Array]"]=J["[object Float64Array]"]=J["[object Int8Array]"]=J["[object Int16Array]"]=J["[object Int32Array]"]=J["[object Map]"]=J["[object Number]"]=J["[object Object]"]=J["[object RegExp]"]=J["[object Set]"]=J["[object String]"]=J["[object Symbol]"]=J["[object Uint8Array]"]=J["[object Uint8ClampedArray]"]=J["[object Uint16Array]"]=J["[object Uint32Array]"]=!0,J["[object Error]"]=J["[object Function]"]=J["[object WeakMap]"]=!1;t.a=function e(t,o,n,p,f,m){var k,b=1&o,v=2&o,x=4&o;if(n&&(k=f?n(t,p,f,m):n(t)),void 0!==k)return k;if(!Object($.a)(t))return t;var O=Object(V.a)(t);if(O){if(k=P(t),!b)return Object(h.a)(t,k)}else{var A=Object(j.a)(t),T="[object Function]"==A||"[object GeneratorFunction]"==A;if(Object(D.a)(t))return Object(u.a)(t,b);if("[object Object]"==A||"[object Arguments]"==A||T&&!f){if(k=v||T?{}:Object(z.a)(t),!b)return v?_(t,d(k,t)):g(t,c(k,t))}else{if(!J[A])return f?t:{};k=I(t,A,b)}}m||(m=new i.a);var C=m.get(t);if(C)return C;m.set(t,k),G(t)?t.forEach((function(i){k.add(e(i,o,n,i,t,m))})):q(t)&&t.forEach((function(i,s){k.set(s,e(i,o,n,s,t,m))}));var E=x?v?y:w.a:v?l.a:a.a,S=O?void 0:E(t);return s(S||t,(function(i,s){S&&(i=t[s=i]),Object(r.a)(k,s,e(i,o,n,s,t,m))})),k}},"./node_modules/lodash-es/_baseGetAllKeys.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_arrayPush.js"),s=o("./node_modules/lodash-es/isArray.js");t.a=function(e,t,o){var r=t(e);return Object(s.a)(e)?r:Object(i.a)(r,o(e))}},"./node_modules/lodash-es/_baseGetTag.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_Symbol.js"),s=Object.prototype,r=s.hasOwnProperty,n=s.toString,a=i.a?i.a.toStringTag:void 0;var c=function(e){var t=r.call(e,a),o=e[a];try{e[a]=void 0;var i=!0}catch(e){}var s=n.call(e);return i&&(t?e[a]=o:delete e[a]),s},l=Object.prototype.toString;var d=function(e){return l.call(e)},u=i.a?i.a.toStringTag:void 0;t.a=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":u&&u in Object(e)?c(e):d(e)}},"./node_modules/lodash-es/_baseIsEqual.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_Stack.js"),s=o("./node_modules/lodash-es/_MapCache.js");var r=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};var n=function(e){return this.__data__.has(e)};function a(e){var t=-1,o=null==e?0:e.length;for(this.__data__=new s.a;++t<o;)this.add(e[t])}a.prototype.add=a.prototype.push=r,a.prototype.has=n;var c=a;var l=function(e,t){for(var o=-1,i=null==e?0:e.length;++o<i;)if(t(e[o],o,e))return!0;return!1};var d=function(e,t){return e.has(t)};var u=function(e,t,o,i,s,r){var n=1&o,a=e.length,u=t.length;if(a!=u&&!(n&&u>a))return!1;var h=r.get(e),p=r.get(t);if(h&&p)return h==t&&p==e;var g=-1,f=!0,m=2&o?new c:void 0;for(r.set(e,t),r.set(t,e);++g<a;){var k=e[g],b=t[g];if(i)var _=n?i(b,k,g,t,e,r):i(k,b,g,e,t,r);if(void 0!==_){if(_)continue;f=!1;break}if(m){if(!l(t,(function(e,t){if(!d(m,t)&&(k===e||s(k,e,o,i,r)))return m.push(t)}))){f=!1;break}}else if(k!==b&&!s(k,b,o,i,r)){f=!1;break}}return r.delete(e),r.delete(t),f},h=o("./node_modules/lodash-es/_Symbol.js"),p=o("./node_modules/lodash-es/_Uint8Array.js"),g=o("./node_modules/lodash-es/eq.js");var f=function(e){var t=-1,o=Array(e.size);return e.forEach((function(e,i){o[++t]=[i,e]})),o};var m=function(e){var t=-1,o=Array(e.size);return e.forEach((function(e){o[++t]=e})),o},k=h.a?h.a.prototype:void 0,b=k?k.valueOf:void 0;var _=function(e,t,o,i,s,r,n){switch(o){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!r(new p.a(e),new p.a(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Object(g.a)(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=f;case"[object Set]":var c=1&i;if(a||(a=m),e.size!=t.size&&!c)return!1;var l=n.get(e);if(l)return l==t;i|=2,n.set(e,t);var d=u(a(e),a(t),i,s,r,n);return n.delete(e),d;case"[object Symbol]":if(b)return b.call(e)==b.call(t)}return!1},w=o("./node_modules/lodash-es/_getAllKeys.js"),v=Object.prototype.hasOwnProperty;var y=function(e,t,o,i,s,r){var n=1&o,a=Object(w.a)(e),c=a.length;if(c!=Object(w.a)(t).length&&!n)return!1;for(var l=c;l--;){var d=a[l];if(!(n?d in t:v.call(t,d)))return!1}var u=r.get(e),h=r.get(t);if(u&&h)return u==t&&h==e;var p=!0;r.set(e,t),r.set(t,e);for(var g=n;++l<c;){var f=e[d=a[l]],m=t[d];if(i)var k=n?i(m,f,d,t,e,r):i(f,m,d,e,t,r);if(!(void 0===k?f===m||s(f,m,o,i,r):k)){p=!1;break}g||(g="constructor"==d)}if(p&&!g){var b=e.constructor,_=t.constructor;b==_||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof _&&_ instanceof _||(p=!1)}return r.delete(e),r.delete(t),p},j=o("./node_modules/lodash-es/_getTag.js"),x=o("./node_modules/lodash-es/isArray.js"),P=o("./node_modules/lodash-es/isBuffer.js"),O=o("./node_modules/lodash-es/isTypedArray.js"),A="[object Object]",T=Object.prototype.hasOwnProperty;var C=function(e,t,o,s,r,n){var a=Object(x.a)(e),c=Object(x.a)(t),l=a?"[object Array]":Object(j.a)(e),d=c?"[object Array]":Object(j.a)(t),h=(l="[object Arguments]"==l?A:l)==A,p=(d="[object Arguments]"==d?A:d)==A,g=l==d;if(g&&Object(P.a)(e)){if(!Object(P.a)(t))return!1;a=!0,h=!1}if(g&&!h)return n||(n=new i.a),a||Object(O.a)(e)?u(e,t,o,s,r,n):_(e,t,l,o,s,r,n);if(!(1&o)){var f=h&&T.call(e,"__wrapped__"),m=p&&T.call(t,"__wrapped__");if(f||m){var k=f?e.value():e,b=m?t.value():t;return n||(n=new i.a),r(k,b,o,s,n)}}return!!g&&(n||(n=new i.a),y(e,t,o,s,r,n))},E=o("./node_modules/lodash-es/isObjectLike.js");t.a=function e(t,o,i,s,r){return t===o||(null==t||null==o||!Object(E.a)(t)&&!Object(E.a)(o)?t!=t&&o!=o:C(t,o,i,s,e,r))}},"./node_modules/lodash-es/_baseUnary.js":function(e,t,o){"use strict";t.a=function(e){return function(t){return e(t)}}},"./node_modules/lodash-es/_cloneArrayBuffer.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_Uint8Array.js");t.a=function(e){var t=new e.constructor(e.byteLength);return new i.a(t).set(new i.a(e)),t}},"./node_modules/lodash-es/_cloneBuffer.js":function(e,t,o){"use strict";(function(e){var i=o("./node_modules/lodash-es/_root.js"),s="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=s&&"object"==typeof e&&e&&!e.nodeType&&e,n=r&&r.exports===s?i.a.Buffer:void 0,a=n?n.allocUnsafe:void 0;t.a=function(e,t){if(t)return e.slice();var o=e.length,i=a?a(o):new e.constructor(o);return e.copy(i),i}}).call(this,o("./node_modules/webpack/buildin/harmony-module.js")(e))},"./node_modules/lodash-es/_cloneTypedArray.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_cloneArrayBuffer.js");t.a=function(e,t){var o=t?Object(i.a)(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}},"./node_modules/lodash-es/_copyArray.js":function(e,t,o){"use strict";t.a=function(e,t){var o=-1,i=e.length;for(t||(t=Array(i));++o<i;)t[o]=e[o];return t}},"./node_modules/lodash-es/_copyObject.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_assignValue.js"),s=o("./node_modules/lodash-es/_baseAssignValue.js");t.a=function(e,t,o,r){var n=!o;o||(o={});for(var a=-1,c=t.length;++a<c;){var l=t[a],d=r?r(o[l],e[l],l,o,e):void 0;void 0===d&&(d=e[l]),n?Object(s.a)(o,l,d):Object(i.a)(o,l,d)}return o}},"./node_modules/lodash-es/_createAssigner.js":function(e,t,o){"use strict";var i=function(e){return e};var s=function(e,t,o){switch(o.length){case 0:return e.call(t);case 1:return e.call(t,o[0]);case 2:return e.call(t,o[0],o[1]);case 3:return e.call(t,o[0],o[1],o[2])}return e.apply(t,o)},r=Math.max;var n=function(e,t,o){return t=r(void 0===t?e.length-1:t,0),function(){for(var i=arguments,n=-1,a=r(i.length-t,0),c=Array(a);++n<a;)c[n]=i[t+n];n=-1;for(var l=Array(t+1);++n<t;)l[n]=i[n];return l[t]=o(c),s(e,this,l)}};var a=function(e){return function(){return e}},c=o("./node_modules/lodash-es/_defineProperty.js"),l=c.a?function(e,t){return Object(c.a)(e,"toString",{configurable:!0,enumerable:!1,value:a(t),writable:!0})}:i,d=Date.now;var u=function(e){var t=0,o=0;return function(){var i=d(),s=16-(i-o);if(o=i,s>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(l);var h=function(e,t){return u(n(e,t,i),e+"")},p=o("./node_modules/lodash-es/eq.js"),g=o("./node_modules/lodash-es/isArrayLike.js"),f=o("./node_modules/lodash-es/_isIndex.js"),m=o("./node_modules/lodash-es/isObject.js");var k=function(e,t,o){if(!Object(m.a)(o))return!1;var i=typeof t;return!!("number"==i?Object(g.a)(o)&&Object(f.a)(t,o.length):"string"==i&&t in o)&&Object(p.a)(o[t],e)};t.a=function(e){return h((function(t,o){var i=-1,s=o.length,r=s>1?o[s-1]:void 0,n=s>2?o[2]:void 0;for(r=e.length>3&&"function"==typeof r?(s--,r):void 0,n&&k(o[0],o[1],n)&&(r=s<3?void 0:r,s=1),t=Object(t);++i<s;){var a=o[i];a&&e(t,a,i,r)}return t}))}},"./node_modules/lodash-es/_defineProperty.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_getNative.js"),s=function(){try{var e=Object(i.a)(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();t.a=s},"./node_modules/lodash-es/_freeGlobal.js":function(e,t,o){"use strict";(function(e){var o="object"==typeof e&&e&&e.Object===Object&&e;t.a=o}).call(this,o("./node_modules/webpack/buildin/global.js"))},"./node_modules/lodash-es/_getAllKeys.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_baseGetAllKeys.js"),s=o("./node_modules/lodash-es/_getSymbols.js"),r=o("./node_modules/lodash-es/keys.js");t.a=function(e){return Object(i.a)(e,r.a,s.a)}},"./node_modules/lodash-es/_getNative.js":function(e,t,o){"use strict";var i,s=o("./node_modules/lodash-es/isFunction.js"),r=o("./node_modules/lodash-es/_root.js").a["__core-js_shared__"],n=(i=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||""))?"Symbol(src)_1."+i:"";var a=function(e){return!!n&&n in e},c=o("./node_modules/lodash-es/isObject.js"),l=o("./node_modules/lodash-es/_toSource.js"),d=/^\[object .+?Constructor\]$/,u=Function.prototype,h=Object.prototype,p=u.toString,g=h.hasOwnProperty,f=RegExp("^"+p.call(g).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var m=function(e){return!(!Object(c.a)(e)||a(e))&&(Object(s.a)(e)?f:d).test(Object(l.a)(e))};var k=function(e,t){return null==e?void 0:e[t]};t.a=function(e,t){var o=k(e,t);return m(o)?o:void 0}},"./node_modules/lodash-es/_getPrototype.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_overArg.js"),s=Object(i.a)(Object.getPrototypeOf,Object);t.a=s},"./node_modules/lodash-es/_getSymbols.js":function(e,t,o){"use strict";var i=function(e,t){for(var o=-1,i=null==e?0:e.length,s=0,r=[];++o<i;){var n=e[o];t(n,o,e)&&(r[s++]=n)}return r},s=o("./node_modules/lodash-es/stubArray.js"),r=Object.prototype.propertyIsEnumerable,n=Object.getOwnPropertySymbols,a=n?function(e){return null==e?[]:(e=Object(e),i(n(e),(function(t){return r.call(e,t)})))}:s.a;t.a=a},"./node_modules/lodash-es/_getTag.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_getNative.js"),s=o("./node_modules/lodash-es/_root.js"),r=Object(i.a)(s.a,"DataView"),n=o("./node_modules/lodash-es/_Map.js"),a=Object(i.a)(s.a,"Promise"),c=Object(i.a)(s.a,"Set"),l=Object(i.a)(s.a,"WeakMap"),d=o("./node_modules/lodash-es/_baseGetTag.js"),u=o("./node_modules/lodash-es/_toSource.js"),h=Object(u.a)(r),p=Object(u.a)(n.a),g=Object(u.a)(a),f=Object(u.a)(c),m=Object(u.a)(l),k=d.a;(r&&"[object DataView]"!=k(new r(new ArrayBuffer(1)))||n.a&&"[object Map]"!=k(new n.a)||a&&"[object Promise]"!=k(a.resolve())||c&&"[object Set]"!=k(new c)||l&&"[object WeakMap]"!=k(new l))&&(k=function(e){var t=Object(d.a)(e),o="[object Object]"==t?e.constructor:void 0,i=o?Object(u.a)(o):"";if(i)switch(i){case h:return"[object DataView]";case p:return"[object Map]";case g:return"[object Promise]";case f:return"[object Set]";case m:return"[object WeakMap]"}return t});t.a=k},"./node_modules/lodash-es/_initCloneObject.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/isObject.js"),s=Object.create,r=function(){function e(){}return function(t){if(!Object(i.a)(t))return{};if(s)return s(t);e.prototype=t;var o=new e;return e.prototype=void 0,o}}(),n=o("./node_modules/lodash-es/_getPrototype.js"),a=o("./node_modules/lodash-es/_isPrototype.js");t.a=function(e){return"function"!=typeof e.constructor||Object(a.a)(e)?{}:r(Object(n.a)(e))}},"./node_modules/lodash-es/_isIndex.js":function(e,t,o){"use strict";var i=/^(?:0|[1-9]\d*)$/;t.a=function(e,t){var o=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==o||"symbol"!=o&&i.test(e))&&e>-1&&e%1==0&&e<t}},"./node_modules/lodash-es/_isPrototype.js":function(e,t,o){"use strict";var i=Object.prototype;t.a=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||i)}},"./node_modules/lodash-es/_nodeUtil.js":function(e,t,o){"use strict";(function(e){var i=o("./node_modules/lodash-es/_freeGlobal.js"),s="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=s&&"object"==typeof e&&e&&!e.nodeType&&e,n=r&&r.exports===s&&i.a.process,a=function(){try{var e=r&&r.require&&r.require("util").types;return e||n&&n.binding&&n.binding("util")}catch(e){}}();t.a=a}).call(this,o("./node_modules/webpack/buildin/harmony-module.js")(e))},"./node_modules/lodash-es/_overArg.js":function(e,t,o){"use strict";t.a=function(e,t){return function(o){return e(t(o))}}},"./node_modules/lodash-es/_root.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_freeGlobal.js"),s="object"==typeof self&&self&&self.Object===Object&&self,r=i.a||s||Function("return this")();t.a=r},"./node_modules/lodash-es/_toSource.js":function(e,t,o){"use strict";var i=Function.prototype.toString;t.a=function(e){if(null!=e){try{return i.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},"./node_modules/lodash-es/assignIn.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_copyObject.js"),s=o("./node_modules/lodash-es/_createAssigner.js"),r=o("./node_modules/lodash-es/keysIn.js"),n=Object(s.a)((function(e,t){Object(i.a)(t,Object(r.a)(t),e)}));t.a=n},"./node_modules/lodash-es/clone.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_baseClone.js");t.a=function(e){return Object(i.a)(e,4)}},"./node_modules/lodash-es/cloneDeep.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_baseClone.js");t.a=function(e){return Object(i.a)(e,5)}},"./node_modules/lodash-es/cloneDeepWith.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_baseClone.js");t.a=function(e,t){return t="function"==typeof t?t:void 0,Object(i.a)(e,5,t)}},"./node_modules/lodash-es/debounce.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/isObject.js"),s=o("./node_modules/lodash-es/_root.js"),r=function(){return s.a.Date.now()},n=/\s/;var a=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t},c=/^\s+/;var l=function(e){return e?e.slice(0,a(e)+1).replace(c,""):e},d=o("./node_modules/lodash-es/isSymbol.js"),u=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,p=/^0o[0-7]+$/i,g=parseInt;var f=function(e){if("number"==typeof e)return e;if(Object(d.a)(e))return NaN;if(Object(i.a)(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Object(i.a)(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=l(e);var o=h.test(e);return o||p.test(e)?g(e.slice(2),o?2:8):u.test(e)?NaN:+e},m=Math.max,k=Math.min;t.a=function(e,t,o){var s,n,a,c,l,d,u=0,h=!1,p=!1,g=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function b(t){var o=s,i=n;return s=n=void 0,u=t,c=e.apply(i,o)}function _(e){return u=e,l=setTimeout(v,t),h?b(e):c}function w(e){var o=e-d;return void 0===d||o>=t||o<0||p&&e-u>=a}function v(){var e=r();if(w(e))return y(e);l=setTimeout(v,function(e){var o=t-(e-d);return p?k(o,a-(e-u)):o}(e))}function y(e){return l=void 0,g&&s?b(e):(s=n=void 0,c)}function j(){var e=r(),o=w(e);if(s=arguments,n=this,d=e,o){if(void 0===l)return _(d);if(p)return clearTimeout(l),l=setTimeout(v,t),b(d)}return void 0===l&&(l=setTimeout(v,t)),c}return t=f(t)||0,Object(i.a)(o)&&(h=!!o.leading,a=(p="maxWait"in o)?m(f(o.maxWait)||0,t):a,g="trailing"in o?!!o.trailing:g),j.cancel=function(){void 0!==l&&clearTimeout(l),u=0,s=d=n=l=void 0},j.flush=function(){return void 0===l?c:y(r())},j}},"./node_modules/lodash-es/eq.js":function(e,t,o){"use strict";t.a=function(e,t){return e===t||e!=e&&t!=t}},"./node_modules/lodash-es/isArguments.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_baseGetTag.js"),s=o("./node_modules/lodash-es/isObjectLike.js");var r=function(e){return Object(s.a)(e)&&"[object Arguments]"==Object(i.a)(e)},n=Object.prototype,a=n.hasOwnProperty,c=n.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(e){return Object(s.a)(e)&&a.call(e,"callee")&&!c.call(e,"callee")};t.a=l},"./node_modules/lodash-es/isArray.js":function(e,t,o){"use strict";var i=Array.isArray;t.a=i},"./node_modules/lodash-es/isArrayLike.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/isFunction.js"),s=o("./node_modules/lodash-es/isLength.js");t.a=function(e){return null!=e&&Object(s.a)(e.length)&&!Object(i.a)(e)}},"./node_modules/lodash-es/isBuffer.js":function(e,t,o){"use strict";(function(e){var i=o("./node_modules/lodash-es/_root.js"),s=o("./node_modules/lodash-es/stubFalse.js"),r="object"==typeof exports&&exports&&!exports.nodeType&&exports,n=r&&"object"==typeof e&&e&&!e.nodeType&&e,a=n&&n.exports===r?i.a.Buffer:void 0,c=(a?a.isBuffer:void 0)||s.a;t.a=c}).call(this,o("./node_modules/webpack/buildin/harmony-module.js")(e))},"./node_modules/lodash-es/isElement.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/isObjectLike.js"),s=o("./node_modules/lodash-es/isPlainObject.js");t.a=function(e){return Object(i.a)(e)&&1===e.nodeType&&!Object(s.a)(e)}},"./node_modules/lodash-es/isFunction.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_baseGetTag.js"),s=o("./node_modules/lodash-es/isObject.js");t.a=function(e){if(!Object(s.a)(e))return!1;var t=Object(i.a)(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},"./node_modules/lodash-es/isLength.js":function(e,t,o){"use strict";t.a=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},"./node_modules/lodash-es/isObject.js":function(e,t,o){"use strict";t.a=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},"./node_modules/lodash-es/isObjectLike.js":function(e,t,o){"use strict";t.a=function(e){return null!=e&&"object"==typeof e}},"./node_modules/lodash-es/isPlainObject.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_baseGetTag.js"),s=o("./node_modules/lodash-es/_getPrototype.js"),r=o("./node_modules/lodash-es/isObjectLike.js"),n=Function.prototype,a=Object.prototype,c=n.toString,l=a.hasOwnProperty,d=c.call(Object);t.a=function(e){if(!Object(r.a)(e)||"[object Object]"!=Object(i.a)(e))return!1;var t=Object(s.a)(e);if(null===t)return!0;var o=l.call(t,"constructor")&&t.constructor;return"function"==typeof o&&o instanceof o&&c.call(o)==d}},"./node_modules/lodash-es/isSymbol.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_baseGetTag.js"),s=o("./node_modules/lodash-es/isObjectLike.js");t.a=function(e){return"symbol"==typeof e||Object(s.a)(e)&&"[object Symbol]"==Object(i.a)(e)}},"./node_modules/lodash-es/isTypedArray.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_baseGetTag.js"),s=o("./node_modules/lodash-es/isLength.js"),r=o("./node_modules/lodash-es/isObjectLike.js"),n={};n["[object Float32Array]"]=n["[object Float64Array]"]=n["[object Int8Array]"]=n["[object Int16Array]"]=n["[object Int32Array]"]=n["[object Uint8Array]"]=n["[object Uint8ClampedArray]"]=n["[object Uint16Array]"]=n["[object Uint32Array]"]=!0,n["[object Arguments]"]=n["[object Array]"]=n["[object ArrayBuffer]"]=n["[object Boolean]"]=n["[object DataView]"]=n["[object Date]"]=n["[object Error]"]=n["[object Function]"]=n["[object Map]"]=n["[object Number]"]=n["[object Object]"]=n["[object RegExp]"]=n["[object Set]"]=n["[object String]"]=n["[object WeakMap]"]=!1;var a=function(e){return Object(r.a)(e)&&Object(s.a)(e.length)&&!!n[Object(i.a)(e)]},c=o("./node_modules/lodash-es/_baseUnary.js"),l=o("./node_modules/lodash-es/_nodeUtil.js"),d=l.a&&l.a.isTypedArray,u=d?Object(c.a)(d):a;t.a=u},"./node_modules/lodash-es/keys.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_arrayLikeKeys.js"),s=o("./node_modules/lodash-es/_isPrototype.js"),r=o("./node_modules/lodash-es/_overArg.js"),n=Object(r.a)(Object.keys,Object),a=Object.prototype.hasOwnProperty;var c=function(e){if(!Object(s.a)(e))return n(e);var t=[];for(var o in Object(e))a.call(e,o)&&"constructor"!=o&&t.push(o);return t},l=o("./node_modules/lodash-es/isArrayLike.js");t.a=function(e){return Object(l.a)(e)?Object(i.a)(e):c(e)}},"./node_modules/lodash-es/keysIn.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_arrayLikeKeys.js"),s=o("./node_modules/lodash-es/isObject.js"),r=o("./node_modules/lodash-es/_isPrototype.js");var n=function(e){var t=[];if(null!=e)for(var o in Object(e))t.push(o);return t},a=Object.prototype.hasOwnProperty;var c=function(e){if(!Object(s.a)(e))return n(e);var t=Object(r.a)(e),o=[];for(var i in e)("constructor"!=i||!t&&a.call(e,i))&&o.push(i);return o},l=o("./node_modules/lodash-es/isArrayLike.js");t.a=function(e){return Object(l.a)(e)?Object(i.a)(e,!0):c(e)}},"./node_modules/lodash-es/stubArray.js":function(e,t,o){"use strict";t.a=function(){return[]}},"./node_modules/lodash-es/stubFalse.js":function(e,t,o){"use strict";t.a=function(){return!1}},"./node_modules/lodash-es/throttle.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/debounce.js"),s=o("./node_modules/lodash-es/isObject.js");t.a=function(e,t,o){var r=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return Object(s.a)(o)&&(r="leading"in o?!!o.leading:r,n="trailing"in o?!!o.trailing:n),Object(i.a)(e,t,{leading:r,maxWait:t,trailing:n})}},"./node_modules/lodash-es/toString.js":function(e,t,o){"use strict";var i=o("./node_modules/lodash-es/_Symbol.js");var s=function(e,t){for(var o=-1,i=null==e?0:e.length,s=Array(i);++o<i;)s[o]=t(e[o],o,e);return s},r=o("./node_modules/lodash-es/isArray.js"),n=o("./node_modules/lodash-es/isSymbol.js"),a=i.a?i.a.prototype:void 0,c=a?a.toString:void 0;var l=function e(t){if("string"==typeof t)return t;if(Object(r.a)(t))return s(t,e)+"";if(Object(n.a)(t))return c?c.call(t):"";var o=t+"";return"0"==o&&1/t==-1/0?"-0":o};t.a=function(e){return null==e?"":l(e)}},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-clipboard/theme/clipboard.css":function(e,t){e.exports='.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;position:relative;pointer-events:none}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-0.5);top:calc(var(--ck-clipboard-drop-target-dot-height)*-0.5);border:1px solid var(--ck-clipboard-drop-target-color);background:var(--ck-clipboard-drop-target-color);margin-left:-1px}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{content:"";width:0;height:0;display:block;position:absolute;left:50%;top:calc(var(--ck-clipboard-drop-target-dot-height)*-0.5);transform:translateX(-50%);border-left:calc(var(--ck-clipboard-drop-target-dot-width)*0.5) solid transparent;border-bottom:0 solid transparent;border-right:calc(var(--ck-clipboard-drop-target-dot-width)*0.5) solid transparent;border-top:calc(var(--ck-clipboard-drop-target-dot-height)) solid var(--ck-clipboard-drop-target-color)}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}'},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-engine/theme/placeholder.css":function(e,t){e.exports=".ck.ck-placeholder,.ck .ck-placeholder{position:relative}.ck.ck-placeholder:before,.ck .ck-placeholder:before{position:absolute;left:0;right:0;content:attr(data-placeholder);pointer-events:none}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-placeholder:before,.ck .ck-placeholder:before{cursor:text;color:var(--ck-color-engine-placeholder-text)}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-engine/theme/renderer.css":function(e,t){e.exports=".ck.ck-editor__editable span[data-ck-hidden]{display:none}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/button/button.css":function(e,t){e.exports=".ck.ck-button,a.ck.ck-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:block}@media (hover:none){.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:none}}.ck.ck-button,a.ck.ck-button{position:relative;display:inline-flex;align-items:center;justify-content:left}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button:hover .ck-tooltip,a.ck.ck-button:hover .ck-tooltip{visibility:visible;opacity:1}.ck.ck-button:focus:not(:hover) .ck-tooltip,a.ck.ck-button:focus:not(:hover) .ck-tooltip{display:none}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-default-active-shadow)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{white-space:nowrap;cursor:default;vertical-align:middle;padding:var(--ck-spacing-tiny);text-align:center;min-width:var(--ck-ui-component-min-height);min-height:var(--ck-ui-component-min-height);line-height:1;font-size:inherit;border:1px solid transparent;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;-webkit-appearance:none}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{font-size:inherit;font-weight:inherit;color:inherit;cursor:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__icon{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-right:calc(var(--ck-spacing-small)*-1);margin-left:var(--ck-spacing-small)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-on-active-shadow)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-action-active-shadow)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/button/switchbutton.css":function(e,t){e.exports=".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:1.0769230769em;--ck-switch-button-toggle-spacing:1px;--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - var(--ck-switch-button-toggle-spacing)*2)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{transition:background .4s ease;width:var(--ck-switch-button-toggle-width);background:var(--ck-color-switch-button-off-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*0.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{margin:var(--ck-switch-button-toggle-spacing);width:var(--ck-switch-button-toggle-inner-size);height:var(--ck-switch-button-toggle-inner-size);background:var(--ck-color-switch-button-inner-background);transition:all .3s ease}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var(--ck-switch-button-translation))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var(--ck-switch-button-translation)*-1))}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/colorgrid/colorgrid.css":function(e,t){e.exports=".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#000}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{width:var(--ck-color-grid-tile-size);height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;border:0}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile.ck-color-table__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile .ck.ck-icon{display:none;color:var(--ck-color-color-grid-check-icon)}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/dropdown/dropdown.css":function(e,t){e.exports=":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on .ck-tooltip{display:none}.ck.ck-dropdown .ck-dropdown__panel{-webkit-backface-visibility:hidden;display:none;z-index:var(--ck-z-modal);max-width:var(--ck-dropdown-max-width);position:absolute}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{top:100%;bottom:auto}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-modal) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{width:7em;overflow:hidden;text-overflow:ellipsis}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{box-shadow:var(--ck-drop-shadow),0 0;background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/dropdown/listdropdown.css":function(e,t){e.exports=".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/dropdown/splitbutton.css":function(e,t){e.exports='.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button .ck-tooltip{display:none}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-top-right-radius:unset;border-bottom-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-top-left-radius:unset;border-bottom-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-top-left-radius:unset;border-bottom-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-top-right-radius:unset;border-bottom-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{content:"";position:absolute;width:1px;height:100%;background-color:var(--ck-color-split-button-hover-border)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}'},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css":function(e,t){e.exports=":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{width:max-content;max-width:var(--ck-toolbar-dropdown-max-width)}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/editorui/editorui.css":function(e,t){e.exports=":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0}.ck.ck-editor__editable_inline{overflow:auto;padding:0 var(--ck-spacing-standard);border:1px solid transparent}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-base-foreground)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-base-foreground)}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/formheader/formheader.css":function(e,t){e.exports=".ck.ck-form__header{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}:root{--ck-form-header-height:38px}.ck.ck-form__header{padding:var(--ck-spacing-small) var(--ck-spacing-large);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-form__header .ck-form__header__label{font-weight:700}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/icon/icon.css":function(e,t){e.exports=".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{width:var(--ck-icon-size);height:var(--ck-icon-size);font-size:.8333350694em;will-change:transform}.ck.ck-icon,.ck.ck-icon *{color:inherit;cursor:inherit}.ck.ck-icon :not([fill]){fill:currentColor}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/inputtext/inputtext.css":function(e,t){e.exports=":root{--ck-input-text-width:18em}.ck.ck-input-text{border-radius:0}.ck-rounded-corners .ck.ck-input-text,.ck.ck-input-text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-text{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);min-width:var(--ck-input-text-width);min-height:var(--ck-ui-component-min-height);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input-text:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-input-text[readonly]{border:1px solid var(--ck-color-input-disabled-border);background:var(--ck-color-input-disabled-background);color:var(--ck-color-input-disabled-text)}.ck.ck-input-text[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input-text.ck-error{border-color:var(--ck-color-input-error-border);animation:ck-text-input-shake .3s ease both}.ck.ck-input-text.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-text-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/label/label.css":function(e,t){e.exports=".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css":function(e,t){e.exports=".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{pointer-events:none;transform-origin:0 0;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);background:var(--ck-color-labeled-field-label-background);padding:0 calc(var(--ck-font-size-tiny)*0.5);line-height:normal;font-weight:400;text-overflow:ellipsis;overflow:hidden;max-width:100%;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-spacing-medium),calc(var(--ck-font-size-base)*0.6)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-spacing-medium)*-1),calc(var(--ck-font-size-base)*0.6)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));background:transparent;padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/list/list.css":function(e,t){e.exports=".ck.ck-list{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{list-style-type:none;background:var(--ck-color-list-background)}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{min-height:unset;width:100%;text-align:left;border-radius:0;padding:calc(var(--ck-line-height-base)*0.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*0.4*var(--ck-font-size-base))}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(var(--ck-line-height-base)*1.2*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck.ck-list__separator{height:1px;width:100%;background:var(--ck-color-base-border)}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/panel/balloonpanel.css":function(e,t){e.exports=':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:"";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{width:0;height:0;border-style:solid}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:var(--ck-balloon-arrow-height);border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:0}.ck.ck-balloon-panel[class*=arrow_n]:before{border-bottom-color:var(--ck-color-panel-border)}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-color:transparent;border-right-color:transparent;border-top-color:transparent}.ck.ck-balloon-panel[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background);margin-top:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:0;border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-top-color:var(--ck-color-panel-border);filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent}.ck.ck-balloon-panel[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background);margin-bottom:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{right:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{right:25%;margin-right:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{right:25%;margin-right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}'},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/panel/balloonrotator.css":function(e,t){e.exports=".ck .ck-balloon-rotator__navigation{display:flex;align-items:center;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-small)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/panel/fakepanel.css":function(e,t){e.exports=".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);width:100%;height:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/panel/stickypanel.css":function(e,t){e.exports=".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{z-index:var(--ck-z-modal);position:fixed;top:0}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{top:auto;position:absolute}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{box-shadow:var(--ck-drop-shadow),0 0;border-width:0 1px 1px;border-top-left-radius:0;border-top-right-radius:0}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css":function(e,t){e.exports=".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/toolbar/toolbar.css":function(e,t){e.exports=".ck.ck-toolbar{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-flow:row nowrap;align-items:center}.ck.ck-toolbar>.ck-toolbar__items{display:flex;flex-flow:row wrap;align-items:center;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);padding:0 var(--ck-spacing-small);border:1px solid var(--ck-color-toolbar-border)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;width:1px;min-width:1px;background:var(--ck-color-toolbar-border);margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{width:100%;margin:0;border-radius:0;border:0}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-right:var(--ck-spacing-small)}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/tooltip/tooltip.css":function(e,t){e.exports='.ck.ck-tooltip,.ck.ck-tooltip .ck-tooltip__text:after{position:absolute;pointer-events:none;-webkit-backface-visibility:hidden}.ck.ck-tooltip{visibility:hidden;opacity:0;display:none;z-index:var(--ck-z-modal)}.ck.ck-tooltip .ck-tooltip__text{display:inline-block}.ck.ck-tooltip .ck-tooltip__text:after{content:"";width:0;height:0}:root{--ck-tooltip-arrow-size:5px}.ck.ck-tooltip{left:50%;top:0;transition:opacity .2s ease-in-out .2s}.ck.ck-tooltip .ck-tooltip__text{border-radius:0}.ck-rounded-corners .ck.ck-tooltip .ck-tooltip__text,.ck.ck-tooltip .ck-tooltip__text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-tooltip .ck-tooltip__text{font-size:.9em;line-height:1.5;color:var(--ck-color-tooltip-text);padding:var(--ck-spacing-small) var(--ck-spacing-medium);background:var(--ck-color-tooltip-background);position:relative;left:-50%}.ck.ck-tooltip .ck-tooltip__text:after{transition:opacity .2s ease-in-out .2s;border-style:solid;left:50%}.ck.ck-tooltip.ck-tooltip_s,.ck.ck-tooltip.ck-tooltip_se,.ck.ck-tooltip.ck-tooltip_sw{bottom:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateY(100%)}.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text:after,.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text:after,.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text:after{top:calc(var(--ck-tooltip-arrow-size)*-1 + 1px);transform:translateX(-50%);border-left-color:transparent;border-bottom-color:var(--ck-color-tooltip-background);border-right-color:transparent;border-top-color:transparent;border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:var(--ck-tooltip-arrow-size);border-right-width:var(--ck-tooltip-arrow-size);border-top-width:0}.ck.ck-tooltip.ck-tooltip_sw{right:50%;left:auto}.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text{left:auto;right:calc(var(--ck-tooltip-arrow-size)*-2)}.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text:after{left:auto;right:0}.ck.ck-tooltip.ck-tooltip_se{left:50%;right:auto}.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text{right:auto;left:calc(var(--ck-tooltip-arrow-size)*-2)}.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text:after{right:auto;left:0;transform:translateX(50%)}.ck.ck-tooltip.ck-tooltip_n{top:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateY(-100%)}.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text:after{bottom:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateX(-50%);border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;border-top-color:var(--ck-color-tooltip-background);border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:0;border-right-width:var(--ck-tooltip-arrow-size);border-top-width:var(--ck-tooltip-arrow-size)}.ck.ck-tooltip.ck-tooltip_e{left:calc(100% + var(--ck-tooltip-arrow-size));top:50%}.ck.ck-tooltip.ck-tooltip_e .ck-tooltip__text{left:0;transform:translateY(-50%)}.ck.ck-tooltip.ck-tooltip_e .ck-tooltip__text:after{left:calc(var(--ck-tooltip-arrow-size)*-1);top:calc(50% - var(--ck-tooltip-arrow-size)*1);border-left-color:transparent;border-bottom-color:transparent;border-right-color:var(--ck-color-tooltip-background);border-top-color:transparent;border-left-width:0;border-bottom-width:var(--ck-tooltip-arrow-size);border-right-width:var(--ck-tooltip-arrow-size);border-top-width:var(--ck-tooltip-arrow-size)}.ck.ck-tooltip.ck-tooltip_w{right:calc(100% + var(--ck-tooltip-arrow-size));left:auto;top:50%}.ck.ck-tooltip.ck-tooltip_w .ck-tooltip__text{left:0;transform:translateY(-50%)}.ck.ck-tooltip.ck-tooltip_w .ck-tooltip__text:after{left:100%;top:calc(50% - var(--ck-tooltip-arrow-size)*1);border-left-color:var(--ck-color-tooltip-background);border-bottom-color:transparent;border-right-color:transparent;border-top-color:transparent;border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:var(--ck-tooltip-arrow-size);border-right-width:0;border-top-width:var(--ck-tooltip-arrow-size)}'},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/globals/globals.css":function(e,t){e.exports=".ck-hidden{display:none!important}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{box-sizing:border-box;width:auto;height:auto;position:static}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999)}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#c4c4c4;--ck-color-base-action:#61b045;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#198cf0;--ck-color-base-active-focus:#0e7fe1;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:208,79%,51%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#bcdefb;--ck-color-focus-disabled-shadow:rgba(119,186,248,0.3);--ck-color-focus-error-shadow:rgba(255,64,31,0.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,0.15);--ck-color-shadow-drop-active:rgba(0,0,0,0.2);--ck-color-shadow-inner:rgba(0,0,0,0.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#e6e6e6;--ck-color-button-default-active-background:#d9d9d9;--ck-color-button-default-active-shadow:#bfbfbf;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#dedede;--ck-color-button-on-hover-background:#c4c4c4;--ck-color-button-on-active-background:#bababa;--ck-color-button-on-active-shadow:#a1a1a1;--ck-color-button-on-disabled-background:#dedede;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#579e3d;--ck-color-button-action-active-background:#53973b;--ck-color-button-action-active-shadow:#498433;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#b0b0b0;--ck-color-switch-button-off-hover-background:#a3a3a3;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#579e3d;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,0.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:#c7c7c7;--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:#c7c7c7;--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-base-active);--ck-color-list-button-on-background-focus:var(--ck-color-base-active-focus);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-foreground);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,177,255,0.1);--ck-color-link-fake-selection:rgba(31,177,255,0.3);--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;vertical-align:middle;transition:none;word-wrap:break-word}.ck.ck-reset_all,.ck.ck-reset_all *{border-collapse:collapse;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);color:var(--ck-color-text);text-align:left;white-space:nowrap;cursor:auto;float:none}.ck.ck-reset_all .ck-rtl *{text-align:right}.ck.ck-reset_all iframe{vertical-align:inherit}.ck.ck-reset_all textarea{white-space:pre-wrap}.ck.ck-reset_all input[type=password],.ck.ck-reset_all input[type=text],.ck.ck-reset_all textarea{cursor:text}.ck.ck-reset_all input[type=password][disabled],.ck.ck-reset_all input[type=text][disabled],.ck.ck-reset_all textarea[disabled]{cursor:default}.ck.ck-reset_all fieldset{padding:10px;border:2px groove #dfdee3}.ck.ck-reset_all button::-moz-focus-inner{padding:0;border:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-widget/theme/widget.css":function(e,t){e.exports=":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);color:var(--ck-color-resizer-tooltip-text);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);font-size:var(--ck-font-size-tiny);display:block;padding:0 var(--ck-spacing-small);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{top:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{top:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{top:calc(var(--ck-resizer-tooltip-height)*-1);left:50%;transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-width:var(--ck-widget-outline-thickness);outline-style:solid;outline-color:transparent;transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;background-color:var(--ck-color-widget-editable-focus-background)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{padding:4px;box-sizing:border-box;background-color:transparent;opacity:0;transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;transform:translateY(-100%);left:calc(0px - var(--ck-widget-outline-thickness));top:0}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{width:var(--ck-widget-handler-icon-size);height:var(--ck-widget-handler-icon-size);color:var(--ck-color-widget-drag-handler-icon-color)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-focus-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-widget/theme/widgetresize.css":function(e,t){e.exports=".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;position:absolute;pointer-events:none;left:0;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{position:absolute;pointer-events:all}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{width:var(--ck-resizer-size);height:var(--ck-resizer-size);background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{top:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{top:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}"},"./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-widget/theme/widgettypearound.css":function(e,t){e.exports='.ck .ck-widget .ck-widget__type-around__button{display:block;position:absolute;overflow:hidden;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{position:absolute;top:50%;left:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{top:calc(var(--ck-widget-outline-thickness)*-0.5);left:min(10%,30px);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-0.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:"";display:block;position:absolute;top:1px;left:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;position:absolute;left:0;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{top:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{width:var(--ck-widget-type-around-button-size);height:var(--ck-widget-type-around-button-size);background:var(--ck-color-widget-type-around-button);border-radius:100px;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);opacity:0;pointer-events:none}.ck .ck-widget .ck-widget__type-around__button svg{width:10px;height:8px;transform:translate(-50%,-50%);transition:transform .5s ease;margin-top:1px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{width:calc(var(--ck-widget-type-around-button-size) - 2px);height:calc(var(--ck-widget-type-around-button-size) - 2px);border-radius:100px;background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3))}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{pointer-events:none;height:1px;animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;outline:1px solid hsla(0,0%,100%,.5);background:var(--ck-color-base-text)}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}'},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":function(e,t,o){"use strict";var i,s=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},r=function(){var e={};return function(t){if(void 0===e[t]){var o=document.querySelector(t);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}e[t]=o}return e[t]}}(),n=[];function a(e){for(var t=-1,o=0;o<n.length;o++)if(n[o].identifier===e){t=o;break}return t}function c(e,t){for(var o={},i=[],s=0;s<e.length;s++){var r=e[s],c=t.base?r[0]+t.base:r[0],l=o[c]||0,d="".concat(c," ").concat(l);o[c]=l+1;var u=a(d),h={css:r[1],media:r[2],sourceMap:r[3]};-1!==u?(n[u].references++,n[u].updater(h)):n.push({identifier:d,updater:m(h,t),references:1}),i.push(d)}return i}function l(e){var t=document.createElement("style"),i=e.attributes||{};if(void 0===i.nonce){var s=o.nc;s&&(i.nonce=s)}if(Object.keys(i).forEach((function(e){t.setAttribute(e,i[e])})),"function"==typeof e.insert)e.insert(t);else{var n=r(e.insert||"head");if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(t)}return t}var d,u=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function h(e,t,o,i){var s=o?"":i.media?"@media ".concat(i.media," {").concat(i.css,"}"):i.css;if(e.styleSheet)e.styleSheet.cssText=u(t,s);else{var r=document.createTextNode(s),n=e.childNodes;n[t]&&e.removeChild(n[t]),n.length?e.insertBefore(r,n[t]):e.appendChild(r)}}function p(e,t,o){var i=o.css,s=o.media,r=o.sourceMap;if(s?e.setAttribute("media",s):e.removeAttribute("media"),r&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var g=null,f=0;function m(e,t){var o,i,s;if(t.singleton){var r=f++;o=g||(g=l(t)),i=h.bind(null,o,r,!1),s=h.bind(null,o,r,!0)}else o=l(t),i=p.bind(null,o,t),s=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(o)};return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else s()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=s());var o=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var i=0;i<o.length;i++){var s=a(o[i]);n[s].references--}for(var r=c(e,t),l=0;l<o.length;l++){var d=a(o[l]);0===n[d].references&&(n[d].updater(),n.splice(d,1))}o=r}}}},"./node_modules/webpack/buildin/global.js":function(e,t){var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(e){"object"==typeof window&&(o=window)}e.exports=o},"./node_modules/webpack/buildin/harmony-module.js":function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},"./packages/ckeditor5-clipboard/theme/clipboard.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-clipboard/theme/clipboard.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-core/src/command.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-utils/src/observablemixin.js"),s=o("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.editor=e,this.set("value",void 0),this.set("isEnabled",!1),this.affectsData=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",()=>{this.refresh()}),this.on("execute",e=>{this.isEnabled||e.stop()},{priority:"high"}),this.listenTo(e,"change:isReadOnly",(e,t,o)=>{o&&this.affectsData?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")})}refresh(){this.isEnabled=!0}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",n,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",n),this.refresh())}execute(){}destroy(){this.stopListening()}}function n(e){e.return=!1,e.stop()}Object(s.a)(r,i.a)},"./packages/ckeditor5-core/src/contextplugin.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-utils/src/observablemixin.js"),s=o("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.context=e}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}Object(s.a)(r,i.a)},"./packages/ckeditor5-core/src/pendingactions.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-core/src/contextplugin.js"),s=o("./packages/ckeditor5-utils/src/observablemixin.js"),r=o("./packages/ckeditor5-utils/src/collection.js"),n=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class a extends i.a{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",!1),this._actions=new r.a({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(e){if("string"!=typeof e)throw new n.a("pendingactions-add-invalid-message",this);const t=Object.create(s.a);return t.set("message",e),this._actions.add(t),this.hasAny=!0,t}remove(e){this._actions.remove(e),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}},"./packages/ckeditor5-core/src/plugin.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-utils/src/observablemixin.js"),s=o("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.editor=e,this.set("isEnabled",!0),this._disableStack=new Set}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",n,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",n),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function n(e){e.return=!1,e.stop()}Object(s.a)(r,i.a)},"./packages/ckeditor5-core/theme/icons/pilcrow.svg":function(e,t,o){"use strict";t.a='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M6.999 2H15a1 1 0 0 1 0 2h-1.004v13a1 1 0 1 1-2 0V4H8.999v13a1 1 0 1 1-2 0v-7A4 4 0 0 1 3 6a4 4 0 0 1 3.999-4z"/></svg>'},"./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg":function(e,t,o){"use strict";t.a='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><circle cx="9.5" cy="4.5" r="1.5"/><circle cx="9.5" cy="10.5" r="1.5"/><circle cx="9.5" cy="16.5" r="1.5"/></svg>'},"./packages/ckeditor5-engine/src/controller/datacontroller.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return j}));var i=o("./packages/ckeditor5-utils/src/mix.js"),s=o("./packages/ckeditor5-utils/src/observablemixin.js"),r=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=o("./packages/ckeditor5-engine/src/conversion/mapper.js"),a=o("./packages/ckeditor5-engine/src/conversion/downcastdispatcher.js"),c=o("./packages/ckeditor5-engine/src/conversion/downcasthelpers.js"),l=o("./node_modules/lodash-es/isArray.js");class d{constructor(){this._consumables=new Map}add(e,t){let o;e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):(this._consumables.has(e)?o=this._consumables.get(e):(o=new u(e),this._consumables.set(e,o)),o.add(t))}test(e,t){const o=this._consumables.get(e);return void 0===o?null:e.is("$text")||e.is("documentFragment")?o:o.test(t)}consume(e,t){return!!this.test(e,t)&&(e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!1):this._consumables.get(e).consume(t),!0)}revert(e,t){const o=this._consumables.get(e);void 0!==o&&(e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):o.revert(t))}static consumablesFromElement(e){const t={element:e,name:!0,attributes:[],classes:[],styles:[]},o=e.getAttributeKeys();for(const e of o)"style"!=e&&"class"!=e&&t.attributes.push(e);const i=e.getClassNames();for(const e of i)t.classes.push(e);const s=e.getStyleNames();for(const e of s)t.styles.push(e);return t}static createFrom(e,t){if(t||(t=new d(e)),e.is("$text"))return t.add(e),t;e.is("element")&&t.add(e,d.consumablesFromElement(e)),e.is("documentFragment")&&t.add(e);for(const o of e.getChildren())t=d.createFrom(o,t);return t}}class u{constructor(e){this.element=e,this._canConsumeName=null,this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(e){e.name&&(this._canConsumeName=!0);for(const t in this._consumables)t in e&&this._add(t,e[t])}test(e){if(e.name&&!this._canConsumeName)return this._canConsumeName;for(const t in this._consumables)if(t in e){const o=this._test(t,e[t]);if(!0!==o)return o}return!0}consume(e){e.name&&(this._canConsumeName=!1);for(const t in this._consumables)t in e&&this._consume(t,e[t])}revert(e){e.name&&(this._canConsumeName=!0);for(const t in this._consumables)t in e&&this._revert(t,e[t])}_add(e,t){const o=Object(l.a)(t)?t:[t],i=this._consumables[e];for(const t of o){if("attributes"===e&&("class"===t||"style"===t))throw new r.a("viewconsumable-invalid-attribute",this);if(i.set(t,!0),"styles"===e)for(const e of this.element.document.stylesProcessor.getRelatedStyles(t))i.set(e,!0)}}_test(e,t){const o=Object(l.a)(t)?t:[t],i=this._consumables[e];for(const t of o)if("attributes"!==e||"class"!==t&&"style"!==t){const e=i.get(t);if(void 0===e)return null;if(!e)return!1}else{const e="class"==t?"classes":"styles",o=this._test(e,[...this._consumables[e].keys()]);if(!0!==o)return o}return!0}_consume(e,t){const o=Object(l.a)(t)?t:[t],i=this._consumables[e];for(const t of o)if("attributes"!==e||"class"!==t&&"style"!==t){if(i.set(t,!1),"styles"==e)for(const e of this.element.document.stylesProcessor.getRelatedStyles(t))i.set(e,!1)}else{const e="class"==t?"classes":"styles";this._consume(e,[...this._consumables[e].keys()])}}_revert(e,t){const o=Object(l.a)(t)?t:[t],i=this._consumables[e];for(const t of o)if("attributes"!==e||"class"!==t&&"style"!==t){!1===i.get(t)&&i.set(t,!0)}else{const e="class"==t?"classes":"styles";this._revert(e,[...this._consumables[e].keys()])}}}var h=o("./packages/ckeditor5-engine/src/model/range.js"),p=o("./packages/ckeditor5-engine/src/model/position.js"),g=o("./packages/ckeditor5-engine/src/model/schema.js"),f=o("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js"),m=o("./packages/ckeditor5-utils/src/emittermixin.js");class k{constructor(e={}){this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this.conversionApi=Object.assign({},e),this.conversionApi.convertItem=this._convertItem.bind(this),this.conversionApi.convertChildren=this._convertChildren.bind(this),this.conversionApi.safeInsert=this._safeInsert.bind(this),this.conversionApi.updateConversionResult=this._updateConversionResult.bind(this),this.conversionApi.splitToAllowedParent=this._splitToAllowedParent.bind(this),this.conversionApi.getSplitParts=this._getSplitParts.bind(this)}convert(e,t,o=["$root"]){this.fire("viewCleanup",e),this._modelCursor=function(e,t){let o;for(const i of new g.a(e)){const e={};for(const t of i.getAttributeKeys())e[t]=i.getAttribute(t);const s=t.createElement(i.name,e);o&&t.append(s,o),o=p.a._createAt(s,0)}return o}(o,t),this.conversionApi.writer=t,this.conversionApi.consumable=d.createFrom(e),this.conversionApi.store={};const{modelRange:i}=this._convertItem(e,this._modelCursor),s=t.createDocumentFragment();if(i){this._removeEmptyElements();for(const e of Array.from(this._modelCursor.parent.getChildren()))t.append(e,s);s.markers=function(e,t){const o=new Set,i=new Map,s=h.a._createIn(e).getItems();for(const e of s)"$marker"==e.name&&o.add(e);for(const e of o){const o=e.getAttribute("data-name"),s=t.createPositionBefore(e);i.has(o)?i.get(o).end=s.clone():i.set(o,new h.a(s.clone())),t.remove(e)}return i}(s,t)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,s}_convertItem(e,t){const o=Object.assign({viewItem:e,modelCursor:t,modelRange:null});if(e.is("element")?this.fire("element:"+e.name,o,this.conversionApi):e.is("$text")?this.fire("text",o,this.conversionApi):this.fire("documentFragment",o,this.conversionApi),o.modelRange&&!(o.modelRange instanceof h.a))throw new r.a("view-conversion-dispatcher-incorrect-result",this);return{modelRange:o.modelRange,modelCursor:o.modelCursor}}_convertChildren(e,t){let o=t.is("position")?t:p.a._createAt(t,0);const i=new h.a(o);for(const t of Array.from(e.getChildren())){const e=this._convertItem(t,o);e.modelRange instanceof h.a&&(i.end=e.modelRange.end,o=e.modelCursor)}return{modelRange:i,modelCursor:o}}_safeInsert(e,t){const o=this._splitToAllowedParent(e,t);return!!o&&(this.conversionApi.writer.insert(e,o.position),!0)}_updateConversionResult(e,t){const o=this._getSplitParts(e),i=this.conversionApi.writer;t.modelRange||(t.modelRange=i.createRange(i.createPositionBefore(e),i.createPositionAfter(o[o.length-1])));const s=this._cursorParents.get(e);t.modelCursor=s?i.createPositionAt(s,0):t.modelRange.end}_splitToAllowedParent(e,t){const{schema:o,writer:i}=this.conversionApi;let s=o.findAllowedParent(t,e);if(s){if(s===t.parent)return{position:t};this._modelCursor.parent.getAncestors().includes(s)&&(s=null)}if(!s)return Object(f.b)(t,e,o)?{position:Object(f.c)(t,i)}:null;const r=this.conversionApi.writer.split(t,s),n=[];for(const e of r.range.getWalker())if("elementEnd"==e.type)n.push(e.item);else{const t=n.pop(),o=e.item;this._registerSplitPair(t,o)}const a=r.range.end.parent;return this._cursorParents.set(e,a),{position:r.position,cursorParent:a}}_registerSplitPair(e,t){this._splitParts.has(e)||this._splitParts.set(e,[e]);const o=this._splitParts.get(e);this._splitParts.set(t,o),o.push(t)}_getSplitParts(e){let t;return t=this._splitParts.has(e)?this._splitParts.get(e):[e],t}_removeEmptyElements(){let e=!1;for(const t of this._splitParts.keys())t.isEmpty&&(this.conversionApi.writer.remove(t),this._splitParts.delete(t),e=!0);e&&this._removeEmptyElements()}}Object(i.a)(k,m.c);var b=o("./packages/ckeditor5-engine/src/conversion/upcasthelpers.js"),_=o("./packages/ckeditor5-engine/src/view/documentfragment.js"),w=o("./packages/ckeditor5-engine/src/view/document.js"),v=o("./packages/ckeditor5-engine/src/view/downcastwriter.js"),y=o("./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.js");class j{constructor(e,t){this.model=e,this.mapper=new n.a,this.downcastDispatcher=new a.a({mapper:this.mapper,schema:e.schema}),this.downcastDispatcher.on("insert:$text",Object(c.e)(),{priority:"lowest"}),this.upcastDispatcher=new k({schema:e.schema}),this.viewDocument=new w.a(t),this.stylesProcessor=t,this.htmlProcessor=new y.a(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new v.a(this.viewDocument),this.upcastDispatcher.on("text",Object(b.b)(),{priority:"lowest"}),this.upcastDispatcher.on("element",Object(b.c)(),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",Object(b.c)(),{priority:"lowest"}),this.decorate("init"),this.decorate("set"),this.decorate("get"),this.on("init",()=>{this.fire("ready")},{priority:"lowest"}),this.on("ready",()=>{this.model.enqueueChange("transparent",f.a)},{priority:"lowest"})}get(e={}){const{rootName:t="main",trim:o="empty"}=e;if(!this._checkIfRootsExists([t]))throw new r.a("datacontroller-get-non-existent-root",this);const i=this.model.document.getRoot(t);return"empty"!==o||this.model.hasContent(i,{ignoreWhitespaces:!0})?this.stringify(i,e):""}stringify(e,t={}){const o=this.toView(e,t);return this.processor.toData(o)}toView(e,t={}){const o=this.viewDocument,i=this._viewWriter;this.mapper.clearBindings();const s=h.a._createIn(e),r=new _.a(o);this.mapper.bindElements(e,r),this.downcastDispatcher.conversionApi.options=t,this.downcastDispatcher.convertInsert(s,i);const n=e.is("documentFragment")?Array.from(e.markers):function(e){const t=[],o=e.root.document;if(!o)return[];const i=h.a._createIn(e);for(const e of o.model.markers){const o=e.getRange(),s=o.isCollapsed,r=o.start.isEqual(i.start)||o.end.isEqual(i.end);if(s&&r)t.push([e.name,o]);else{const s=i.getIntersection(o);s&&t.push([e.name,s])}}return t.sort(([e,t],[o,i])=>{if("after"!==t.end.compareWith(i.start))return 1;if("before"!==t.start.compareWith(i.end))return-1;switch(t.start.compareWith(i.start)){case"before":return 1;case"after":return-1;default:switch(t.end.compareWith(i.end)){case"before":return 1;case"after":return-1;default:return o.localeCompare(e)}}})}(e);for(const[e,t]of n)this.downcastDispatcher.convertMarkerAdd(e,t,i);return delete this.downcastDispatcher.conversionApi.options,r}init(e){if(this.model.document.version)throw new r.a("datacontroller-init-document-not-empty",this);let t={};if("string"==typeof e?t.main=e:t=e,!this._checkIfRootsExists(Object.keys(t)))throw new r.a("datacontroller-init-non-existent-root",this);return this.model.enqueueChange("transparent",e=>{for(const o of Object.keys(t)){const i=this.model.document.getRoot(o);e.insert(this.parse(t[o],i),i,0)}}),Promise.resolve()}set(e,t={}){let o={};if("string"==typeof e?o.main=e:o=e,!this._checkIfRootsExists(Object.keys(o)))throw new r.a("datacontroller-set-non-existent-root",this);const i=t.batchType||"default";this.model.enqueueChange(i,e=>{e.setSelection(null),e.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const t of Object.keys(o)){const i=this.model.document.getRoot(t);e.remove(e.createRangeIn(i)),e.insert(this.parse(o[t],i),i,0)}})}parse(e,t="$root"){const o=this.processor.toView(e);return this.toModel(o,t)}toModel(e,t="$root"){return this.model.change(o=>this.upcastDispatcher.convert(e,o,t))}addStyleProcessorRules(e){e(this.stylesProcessor)}registerRawContentMatcher(e){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(e),this.htmlProcessor.registerRawContentMatcher(e)}destroy(){this.stopListening()}_checkIfRootsExists(e){for(const t of e)if(!this.model.document.getRootNames().includes(t))return!1;return!0}}Object(i.a)(j,s.a)},"./packages/ckeditor5-engine/src/controller/editingcontroller.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return Q}));var i=o("./packages/ckeditor5-engine/src/view/editableelement.js");const s=Symbol("rootName");class r extends i.a{constructor(e,t){super(e,t),this.rootName="main"}is(e,t=null){return t?t===this.name&&("rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}get rootName(){return this.getCustomProperty(s)}set rootName(e){this._setCustomProperty(s,e)}set _name(e){this.name=e}}var n=o("./packages/ckeditor5-engine/src/view/document.js"),a=o("./packages/ckeditor5-engine/src/view/downcastwriter.js"),c=o("./packages/ckeditor5-engine/src/view/renderer.js"),l=o("./packages/ckeditor5-engine/src/view/domconverter.js"),d=o("./packages/ckeditor5-engine/src/view/position.js"),u=o("./packages/ckeditor5-engine/src/view/range.js"),h=o("./packages/ckeditor5-engine/src/view/selection.js"),p=o("./packages/ckeditor5-engine/src/view/observer/observer.js"),g=o("./packages/ckeditor5-engine/src/view/filler.js"),f=o("./node_modules/lodash-es/_baseIsEqual.js");var m=function(e,t,o){var i=(o="function"==typeof o?o:void 0)?o(e,t):void 0;return void 0===i?Object(f.a)(e,t,void 0,o):!!i};class k extends p.a{constructor(e){super(e),this._config={childList:!0,characterData:!0,characterDataOldValue:!0,subtree:!0},this.domConverter=e.domConverter,this.renderer=e._renderer,this._domElements=[],this._mutationObserver=new window.MutationObserver(this._onMutations.bind(this))}flush(){this._onMutations(this._mutationObserver.takeRecords())}observe(e){this._domElements.push(e),this.isEnabled&&this._mutationObserver.observe(e,this._config)}enable(){super.enable();for(const e of this._domElements)this._mutationObserver.observe(e,this._config)}disable(){super.disable(),this._mutationObserver.disconnect()}destroy(){super.destroy(),this._mutationObserver.disconnect()}_onMutations(e){if(0===e.length)return;const t=this.domConverter,o=new Map,i=new Set;for(const o of e)if("childList"===o.type){const e=t.mapDomToView(o.target);if(e&&(e.is("uiElement")||e.is("rawElement")))continue;e&&!this._isBogusBrMutation(o)&&i.add(e)}for(const s of e){const e=t.mapDomToView(s.target);if((!e||!e.is("uiElement")&&!e.is("rawElement"))&&"characterData"===s.type){const e=t.findCorrespondingViewText(s.target);e&&!i.has(e.parent)?o.set(e,{type:"text",oldText:e.data,newText:Object(g.f)(s.target),node:e}):!e&&Object(g.i)(s.target)&&i.add(t.mapDomToView(s.target.parentNode))}}const s=[];for(const e of o.values())this.renderer.markToSync("text",e.node),s.push(e);for(const e of i){const o=t.mapViewToDom(e),i=Array.from(e.getChildren()),r=Array.from(t.domChildrenToView(o,{withChildren:!1}));m(i,r,a)||(this.renderer.markToSync("children",e),s.push({type:"children",oldChildren:i,newChildren:r,node:e}))}const r=e[0].target.ownerDocument.getSelection();let n=null;if(r&&r.anchorNode){const e=t.domPositionToView(r.anchorNode,r.anchorOffset),o=t.domPositionToView(r.focusNode,r.focusOffset);e&&o&&(n=new h.a(e),n.setFocus(o))}function a(e,t){if(!Array.isArray(e))return e===t||!(!e.is("$text")||!t.is("$text"))&&e.data===t.data}s.length&&(this.document.fire("mutations",s,n),this.view.forceRender())}_isBogusBrMutation(e){let t=null;return null===e.nextSibling&&0===e.removedNodes.length&&1==e.addedNodes.length&&(t=this.domConverter.domToView(e.addedNodes[0],{withChildren:!1})),t&&t.is("element","br")}}var b=o("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js"),_=o("./packages/ckeditor5-utils/src/keyboard.js");class w extends b.a{constructor(e){super(e),this.domEventType=["keydown","keyup"]}onDomEvent(e){this.fire(e.type,e,{keyCode:e.keyCode,altKey:e.altKey,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,metaKey:e.metaKey,get keystroke(){return Object(_.a)(this)}})}}var v=o("./node_modules/lodash-es/debounce.js");class y extends p.a{constructor(e){super(e),this._fireSelectionChangeDoneDebounced=Object(v.a)(e=>this.document.fire("selectionChangeDone",e),200)}observe(){const e=this.document;e.on("arrowKey",(t,o)=>{e.selection.isFake&&this.isEnabled&&o.preventDefault()},{context:"$capture"}),e.on("arrowKey",(t,o)=>{e.selection.isFake&&this.isEnabled&&this._handleSelectionMove(o.keyCode)},{priority:"lowest"})}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(e){const t=this.document.selection,o=new h.a(t.getRanges(),{backward:t.isBackward,fake:!1});e!=_.f.arrowleft&&e!=_.f.arrowup||o.setTo(o.getFirstPosition()),e!=_.f.arrowright&&e!=_.f.arrowdown||o.setTo(o.getLastPosition());const i={oldSelection:t,newSelection:o,domSelection:null};this.document.fire("selectionChange",i),this._fireSelectionChangeDoneDebounced(i)}}class j extends p.a{constructor(e){super(e),this.mutationObserver=e.getObserver(k),this.selection=this.document.selection,this.domConverter=e.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=Object(v.a)(e=>this.document.fire("selectionChangeDone",e),200),this._clearInfiniteLoopInterval=setInterval(()=>this._clearInfiniteLoop(),1e3),this._documentIsSelectingInactivityTimeoutDebounced=Object(v.a)(()=>this.document.isSelecting=!1,5e3),this._loopbackCounter=0}observe(e){const t=e.ownerDocument,o=()=>{this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel()};this.listenTo(e,"selectstart",()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()},{priority:"highest"}),this.listenTo(e,"keydown",o,{priority:"highest"}),this.listenTo(e,"keyup",o,{priority:"highest"}),this._documents.has(t)||(this.listenTo(t,"mouseup",o,{priority:"highest"}),this.listenTo(t,"selectionchange",(e,o)=>{this._handleSelectionChange(o,t),this._documentIsSelectingInactivityTimeoutDebounced()}),this._documents.add(t))}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_handleSelectionChange(e,t){if(!this.isEnabled)return;const o=t.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(o.anchorNode))return;this.mutationObserver.flush();const i=this.domConverter.domSelectionToView(o);if(0!=i.rangeCount){if(this.view.hasDomSelection=!0,!(this.selection.isEqual(i)&&this.domConverter.isDomSelectionCorrect(o)||++this._loopbackCounter>60))if(this.selection.isSimilar(i))this.view.forceRender();else{const e={oldSelection:this.selection,newSelection:i,domSelection:o};this.document.fire("selectionChange",e),this._fireSelectionChangeDoneDebounced(e)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class x extends b.a{constructor(e){super(e),this.domEventType=["focus","blur"],this.useCapture=!0;const t=this.document;t.on("focus",()=>{t.isFocused=!0,this._renderTimeoutId=setTimeout(()=>e.change(()=>{}),50)}),t.on("blur",(o,i)=>{const s=t.selection.editableElement;null!==s&&s!==i.target||(t.isFocused=!1,e.change(()=>{}))})}onDomEvent(e){this.fire(e.type,e)}destroy(){this._renderTimeoutId&&clearTimeout(this._renderTimeoutId),super.destroy()}}class P extends b.a{constructor(e){super(e),this.domEventType=["compositionstart","compositionupdate","compositionend"];const t=this.document;t.on("compositionstart",()=>{t.isComposing=!0}),t.on("compositionend",()=>{t.isComposing=!1})}onDomEvent(e){this.fire(e.type,e)}}class O extends b.a{constructor(e){super(e),this.domEventType=["beforeinput"]}onDomEvent(e){this.fire(e.type,e)}}var A=o("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js"),T=o("./packages/ckeditor5-utils/src/index.js");class C extends p.a{constructor(e){super(e),this.document.on("keydown",(e,t)=>{if(this.isEnabled&&Object(T.v)(t.keyCode)){const o=new A.a(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(o,t),o.stop.called&&e.stop()}})}observe(){}}var E=o("./packages/ckeditor5-utils/src/observablemixin.js"),S=o("./packages/ckeditor5-utils/src/mix.js"),R=o("./packages/ckeditor5-utils/src/dom/isrange.js"),M=o("./packages/ckeditor5-utils/src/dom/rect.js"),N=o("./packages/ckeditor5-utils/src/dom/istext.js");function I({target:e,viewportOffset:t=0}){const o=W(e);let i=o,s=null;for(;i;){let r;r=H(i==o?e:s),V(r,()=>q(e,i));const n=q(e,i);if(z(i,n,t),i.parent!=i){if(s=i.frameElement,i=i.parent,!s)return}else i=null}}function z(e,t,o){const i=t.clone().moveBy(0,o),s=t.clone().moveBy(0,-o),r=new M.a(e).excludeScrollbarsAndBorders();if(![s,i].every(e=>r.contains(e))){let{scrollX:n,scrollY:a}=e;B(s,r)?a-=r.top-t.top+o:D(i,r)&&(a+=t.bottom-r.bottom+o),F(t,r)?n-=r.left-t.left+o:L(t,r)&&(n+=t.right-r.right+o),e.scrollTo(n,a)}}function V(e,t){const o=W(e);let i,s;for(;e!=o.document.body;)s=t(),i=new M.a(e).excludeScrollbarsAndBorders(),i.contains(s)||(B(s,i)?e.scrollTop-=i.top-s.top:D(s,i)&&(e.scrollTop+=s.bottom-i.bottom),F(s,i)?e.scrollLeft-=i.left-s.left:L(s,i)&&(e.scrollLeft+=s.right-i.right)),e=e.parentNode}function D(e,t){return e.bottom>t.bottom}function B(e,t){return e.top<t.top}function F(e,t){return e.left<t.left}function L(e,t){return e.right>t.right}function W(e){return Object(R.a)(e)?e.startContainer.ownerDocument.defaultView:e.ownerDocument.defaultView}function H(e){if(Object(R.a)(e)){let t=e.commonAncestorContainer;return Object(N.a)(t)&&(t=t.parentNode),t}return e.parentNode}function q(e,t){const o=W(e),i=new M.a(e);if(o===t)return i;{let e=o;for(;e!=t;){const t=e.frameElement,o=new M.a(t).excludeScrollbarsAndBorders();i.moveBy(o.left,o.top),e=e.parent}}return i}Object.assign({},{scrollViewportToShowTarget:I,scrollAncestorsToShowTarget:function(e){V(H(e),()=>new M.a(e))}});var $=o("./packages/ckeditor5-engine/src/view/uielement.js"),U=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),K=o("./packages/ckeditor5-utils/src/env.js");class G{constructor(e){this.document=new n.a(e),this.domConverter=new l.a(this.document),this.domRoots=new Map,this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new c.a(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting").to(this.document),this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this._writer=new a.a(this.document),this.addObserver(k),this.addObserver(j),this.addObserver(x),this.addObserver(w),this.addObserver(y),this.addObserver(P),this.addObserver(C),K.a.isAndroid&&this.addObserver(O),Object(g.g)(this),Object($.b)(this),this.on("render",()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1}),this.listenTo(this.document.selection,"change",()=>{this._hasChangedSinceTheLastRendering=!0}),this.listenTo(this.document,"change:isFocused",()=>{this._hasChangedSinceTheLastRendering=!0})}attachDomRoot(e,t="main"){const o=this.document.getRoot(t);o._name=e.tagName.toLowerCase();const i={};for(const{name:t,value:s}of Array.from(e.attributes))i[t]=s,"class"===t?this._writer.addClass(s.split(" "),o):this._writer.setAttribute(t,s,o);this._initialDomRootAttributes.set(e,i);const s=()=>{this._writer.setAttribute("contenteditable",!o.isReadOnly,o),o.isReadOnly?this._writer.addClass("ck-read-only",o):this._writer.removeClass("ck-read-only",o)};s(),this.domRoots.set(t,e),this.domConverter.bindElements(e,o),this._renderer.markToSync("children",o),this._renderer.markToSync("attributes",o),this._renderer.domDocuments.add(e.ownerDocument),o.on("change:children",(e,t)=>this._renderer.markToSync("children",t)),o.on("change:attributes",(e,t)=>this._renderer.markToSync("attributes",t)),o.on("change:text",(e,t)=>this._renderer.markToSync("text",t)),o.on("change:isReadOnly",()=>this.change(s)),o.on("change",()=>{this._hasChangedSinceTheLastRendering=!0});for(const o of this._observers.values())o.observe(e,t)}detachDomRoot(e){const t=this.domRoots.get(e);Array.from(t.attributes).forEach(({name:e})=>t.removeAttribute(e));const o=this._initialDomRootAttributes.get(t);for(const e in o)t.setAttribute(e,o[e]);this.domRoots.delete(e),this.domConverter.unbindDomElement(t)}getDomRoot(e="main"){return this.domRoots.get(e)}addObserver(e){let t=this._observers.get(e);if(t)return t;t=new e(this),this._observers.set(e,t);for(const[e,o]of this.domRoots)t.observe(o,e);return t.enable(),t}getObserver(e){return this._observers.get(e)}disableObservers(){for(const e of this._observers.values())e.disable()}enableObservers(){for(const e of this._observers.values())e.enable()}scrollToTheSelection(){const e=this.document.selection.getFirstRange();e&&I({target:this.domConverter.viewRangeToDom(e),viewportOffset:20})}focus(){if(!this.document.isFocused){const e=this.document.selection.editableElement;e&&(this.domConverter.focus(e),this.forceRender())}}change(e){if(this.isRenderingInProgress||this._postFixersInProgress)throw new U.a("cannot-change-view-tree",this);try{if(this._ongoingChange)return e(this._writer);this._ongoingChange=!0;const t=e(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),t}catch(e){U.a.rethrowUnexpectedError(e,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.change(()=>{})}destroy(){for(const e of this._observers.values())e.destroy();this.document.destroy(),this.stopListening()}createPositionAt(e,t){return d.a._createAt(e,t)}createPositionAfter(e){return d.a._createAfter(e)}createPositionBefore(e){return d.a._createBefore(e)}createRange(e,t){return new u.a(e,t)}createRangeOn(e){return u.a._createOn(e)}createRangeIn(e){return u.a._createIn(e)}createSelection(e,t,o){return new h.a(e,t,o)}_disableRendering(e){this._renderingDisabled=e,0==e&&this.change(()=>{})}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}Object(S.a)(G,E.a);var J=o("./packages/ckeditor5-engine/src/conversion/mapper.js"),Y=o("./packages/ckeditor5-engine/src/conversion/downcastdispatcher.js"),X=o("./packages/ckeditor5-engine/src/conversion/downcasthelpers.js"),Z=o("./packages/ckeditor5-engine/src/conversion/upcasthelpers.js");class Q{constructor(e,t){this.model=e,this.view=new G(t),this.mapper=new J.a,this.downcastDispatcher=new Y.a({mapper:this.mapper,schema:e.schema});const o=this.model.document,i=o.selection,s=this.model.markers;this.listenTo(this.model,"_beforeChanges",()=>{this.view._disableRendering(!0)},{priority:"highest"}),this.listenTo(this.model,"_afterChanges",()=>{this.view._disableRendering(!1)},{priority:"lowest"}),this.listenTo(o,"change",()=>{this.view.change(e=>{this.downcastDispatcher.convertChanges(o.differ,s,e),this.downcastDispatcher.convertSelection(i,s,e)})},{priority:"low"}),this.listenTo(this.view.document,"selectionChange",Object(Z.a)(this.model,this.mapper)),this.downcastDispatcher.on("insert:$text",Object(X.e)(),{priority:"lowest"}),this.downcastDispatcher.on("remove",Object(X.f)(),{priority:"low"}),this.downcastDispatcher.on("selection",Object(X.a)(),{priority:"high"}),this.downcastDispatcher.on("selection",Object(X.c)(),{priority:"low"}),this.downcastDispatcher.on("selection",Object(X.b)(),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using(e=>{if("$graveyard"==e.rootName)return null;const t=new r(this.view.document,e.name);return t.rootName=e.rootName,this.mapper.bindElements(e,t),t})}destroy(){this.view.destroy(),this.stopListening()}}Object(S.a)(Q,E.a)},"./packages/ckeditor5-engine/src/conversion/conversion.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),s=o("./packages/ckeditor5-engine/src/conversion/upcasthelpers.js"),r=o("./packages/ckeditor5-engine/src/conversion/downcasthelpers.js"),n=o("./packages/ckeditor5-utils/src/toarray.js");class a{constructor(e,t){this._helpers=new Map,this._downcast=Object(n.a)(e),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=Object(n.a)(t),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(e,t){const o=this._downcast.includes(t);if(!this._upcast.includes(t)&&!o)throw new i.a("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:e,dispatchers:[t],isDowncast:o})}for(e){if(!this._helpers.has(e))throw new i.a("conversion-for-unknown-group",this);return this._helpers.get(e)}elementToElement(e){this.for("downcast").elementToElement(e);for(const{model:t,view:o}of c(e))this.for("upcast").elementToElement({model:t,view:o,converterPriority:e.converterPriority})}attributeToElement(e){this.for("downcast").attributeToElement(e);for(const{model:t,view:o}of c(e))this.for("upcast").elementToAttribute({view:o,model:t,converterPriority:e.converterPriority})}attributeToAttribute(e){this.for("downcast").attributeToAttribute(e);for(const{model:t,view:o}of c(e))this.for("upcast").attributeToAttribute({view:o,model:t})}_createConversionHelpers({name:e,dispatchers:t,isDowncast:o}){if(this._helpers.has(e))throw new i.a("conversion-group-exists",this);const n=o?new r.d(t):new s.d(t);this._helpers.set(e,n)}}function*c(e){if(e.model.values)for(const t of e.model.values){const o={key:e.model.key,value:t},i=e.view[t],s=e.upcastAlso?e.upcastAlso[t]:void 0;yield*l(o,i,s)}else yield*l(e.model,e.view,e.upcastAlso)}function*l(e,t,o){if(yield{model:e,view:t},o)for(const t of Object(n.a)(o))yield{model:e,view:t}}},"./packages/ckeditor5-engine/src/conversion/conversionhelpers.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));class i{constructor(e){this._dispatchers=e}add(e){for(const t of this._dispatchers)e(t);return this}}},"./packages/ckeditor5-engine/src/conversion/downcastdispatcher.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return d}));var i=o("./packages/ckeditor5-engine/src/model/textproxy.js");class s{constructor(){this._consumable=new Map,this._textProxyRegistry=new Map}add(e,t){t=r(t),e instanceof i.a&&(e=this._getSymbolForTextProxy(e)),this._consumable.has(e)||this._consumable.set(e,new Map),this._consumable.get(e).set(t,!0)}consume(e,t){return t=r(t),e instanceof i.a&&(e=this._getSymbolForTextProxy(e)),!!this.test(e,t)&&(this._consumable.get(e).set(t,!1),!0)}test(e,t){t=r(t),e instanceof i.a&&(e=this._getSymbolForTextProxy(e));const o=this._consumable.get(e);if(void 0===o)return null;const s=o.get(t);return void 0===s?null:s}revert(e,t){t=r(t),e instanceof i.a&&(e=this._getSymbolForTextProxy(e));const o=this.test(e,t);return!1===o?(this._consumable.get(e).set(t,!0),!0):!0!==o&&null}_getSymbolForTextProxy(e){let t=null;const o=this._textProxyRegistry.get(e.startOffset);if(o){const i=o.get(e.endOffset);i&&(t=i.get(e.parent))}return t||(t=this._addSymbolForTextProxy(e.startOffset,e.endOffset,e.parent)),t}_addSymbolForTextProxy(e,t,o){const i=Symbol("textProxySymbol");let s,r;return s=this._textProxyRegistry.get(e),s||(s=new Map,this._textProxyRegistry.set(e,s)),r=s.get(t),r||(r=new Map,s.set(t,r)),r.set(o,i),i}}function r(e){const t=e.split(":");return"addMarker"==t[0]||"removeMarker"==t[0]?e:t.length>1?t[0]+":"+t[1]:t[0]}var n=o("./packages/ckeditor5-engine/src/model/range.js"),a=o("./packages/ckeditor5-engine/src/model/position.js"),c=o("./packages/ckeditor5-utils/src/emittermixin.js"),l=o("./packages/ckeditor5-utils/src/mix.js");class d{constructor(e){this.conversionApi=Object.assign({dispatcher:this},e),this._reconversionEventsMapping=new Map}convertChanges(e,t,o){for(const t of e.getMarkersToRemove())this.convertMarkerRemove(t.name,t.range,o);const i=this._mapChangesWithAutomaticReconversion(e);for(const e of i)"insert"===e.type?this.convertInsert(n.a._createFromPositionAndShift(e.position,e.length),o):"remove"===e.type?this.convertRemove(e.position,e.length,e.name,o):"reconvert"===e.type?this.reconvertElement(e.element,o):this.convertAttribute(e.range,e.attributeKey,e.attributeOldValue,e.attributeNewValue,o);for(const e of this.conversionApi.mapper.flushUnboundMarkerNames()){const i=t.get(e).getRange();this.convertMarkerRemove(e,i,o),this.convertMarkerAdd(e,i,o)}for(const t of e.getMarkersToAdd())this.convertMarkerAdd(t.name,t.range,o)}convertInsert(e,t){this.conversionApi.writer=t,this.conversionApi.consumable=this._createInsertConsumable(e);for(const t of Array.from(e).map(h))this._convertInsertWithAttributes(t);this._clearConversionApi()}convertRemove(e,t,o,i){this.conversionApi.writer=i,this.fire("remove:"+o,{position:e,length:t},this.conversionApi),this._clearConversionApi()}convertAttribute(e,t,o,i,s){this.conversionApi.writer=s,this.conversionApi.consumable=this._createConsumableForRange(e,"attribute:"+t);for(const s of e){const e={item:s.item,range:n.a._createFromPositionAndShift(s.previousPosition,s.length),attributeKey:t,attributeOldValue:o,attributeNewValue:i};this._testAndFire("attribute:"+t,e)}this._clearConversionApi()}reconvertElement(e,t){const o=n.a._createOn(e);this.conversionApi.writer=t,this.conversionApi.consumable=this._createInsertConsumable(o);const i=this.conversionApi.mapper,s=i.toViewElement(e);t.remove(s),this._convertInsertWithAttributes({item:e,range:o});const r=i.toViewElement(e);for(const o of n.a._createIn(e)){const{item:e}=o,s=p(e,i);s?s.root!==r.root&&t.move(t.createRangeOn(s),i.toViewPosition(a.a._createBefore(e))):this._convertInsertWithAttributes(h(o))}i.unbindViewElement(s),this._clearConversionApi()}convertSelection(e,t,o){const i=Array.from(t.getMarkersAtPosition(e.getFirstPosition()));if(this.conversionApi.writer=o,this.conversionApi.consumable=this._createSelectionConsumable(e,i),this.fire("selection",{selection:e},this.conversionApi),e.isCollapsed){for(const t of i){const o=t.getRange();if(!u(e.getFirstPosition(),t,this.conversionApi.mapper))continue;const i={item:e,markerName:t.name,markerRange:o};this.conversionApi.consumable.test(e,"addMarker:"+t.name)&&this.fire("addMarker:"+t.name,i,this.conversionApi)}for(const t of e.getAttributeKeys()){const o={item:e,range:e.getFirstRange(),attributeKey:t,attributeOldValue:null,attributeNewValue:e.getAttribute(t)};this.conversionApi.consumable.test(e,"attribute:"+o.attributeKey)&&this.fire("attribute:"+o.attributeKey+":$text",o,this.conversionApi)}this._clearConversionApi()}else this._clearConversionApi()}convertMarkerAdd(e,t,o){if("$graveyard"==t.root.rootName)return;this.conversionApi.writer=o;const i="addMarker:"+e,r=new s;if(r.add(t,i),this.conversionApi.consumable=r,this.fire(i,{markerName:e,markerRange:t},this.conversionApi),r.test(t,i)){this.conversionApi.consumable=this._createConsumableForRange(t,i);for(const o of t.getItems()){if(!this.conversionApi.consumable.test(o,i))continue;const s={item:o,range:n.a._createOn(o),markerName:e,markerRange:t};this.fire(i,s,this.conversionApi)}this._clearConversionApi()}else this._clearConversionApi()}convertMarkerRemove(e,t,o){"$graveyard"!=t.root.rootName&&(this.conversionApi.writer=o,this.fire("removeMarker:"+e,{markerName:e,markerRange:t},this.conversionApi),this._clearConversionApi())}_mapReconversionTriggerEvent(e,t){this._reconversionEventsMapping.set(t,e)}_createInsertConsumable(e){const t=new s;for(const o of e){const e=o.item;t.add(e,"insert");for(const o of e.getAttributeKeys())t.add(e,"attribute:"+o)}return t}_createConsumableForRange(e,t){const o=new s;for(const i of e.getItems())o.add(i,t);return o}_createSelectionConsumable(e,t){const o=new s;o.add(e,"selection");for(const i of t)o.add(e,"addMarker:"+i.name);for(const t of e.getAttributeKeys())o.add(e,"attribute:"+t);return o}_testAndFire(e,t){this.conversionApi.consumable.test(t.item,e)&&this.fire(function(e,t){const o=t.item.name||"$text";return`${e}:${o}`}(e,t),t,this.conversionApi)}_clearConversionApi(){delete this.conversionApi.writer,delete this.conversionApi.consumable}_convertInsertWithAttributes(e){this._testAndFire("insert",e);for(const t of e.item.getAttributeKeys())e.attributeKey=t,e.attributeOldValue=null,e.attributeNewValue=e.item.getAttribute(t),this._testAndFire("attribute:"+t,e)}_mapChangesWithAutomaticReconversion(e){const t=new Set,o=[];for(const i of e.getChanges()){const e=i.position||i.range.start,s=e.parent;if(Object(a.d)(e,s)){o.push(i);continue}const r="attribute"===i.type?Object(a.b)(e,s,null):s;if(r.is("$text")){o.push(i);continue}let n;if(n="attribute"===i.type?`attribute:${i.attributeKey}:${r.name}`:`${i.type}:${i.name}`,this._isReconvertTriggerEvent(n,r.name)){if(t.has(r))continue;t.add(r),o.push({type:"reconvert",element:r})}else o.push(i)}return o}_isReconvertTriggerEvent(e,t){return this._reconversionEventsMapping.get(e)===t}}function u(e,t,o){const i=t.getRange(),s=Array.from(e.getAncestors());s.shift(),s.reverse();return!s.some(e=>{if(i.containsItem(e)){return!!o.toViewElement(e).getCustomProperty("addHighlight")}})}function h(e){return{item:e.item,range:n.a._createFromPositionAndShift(e.previousPosition,e.length)}}function p(e,t){if(e.is("textProxy")){const o=t.toViewPosition(a.a._createBefore(e)).parent;return o.is("$text")?o:null}return t.toViewElement(e)}Object(l.a)(d,c.c)},"./packages/ckeditor5-engine/src/conversion/downcasthelpers.js":function(e,t,o){"use strict";o.d(t,"d",(function(){return h})),o.d(t,"e",(function(){return p})),o.d(t,"f",(function(){return g})),o.d(t,"c",(function(){return m})),o.d(t,"b",(function(){return k})),o.d(t,"a",(function(){return b}));var i=o("./packages/ckeditor5-engine/src/model/range.js"),s=o("./packages/ckeditor5-engine/src/model/selection.js"),r=o("./packages/ckeditor5-engine/src/model/element.js"),n=o("./packages/ckeditor5-engine/src/view/attributeelement.js"),a=o("./packages/ckeditor5-engine/src/model/documentselection.js"),c=o("./packages/ckeditor5-engine/src/conversion/conversionhelpers.js"),l=o("./node_modules/lodash-es/cloneDeep.js"),d=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),u=o("./packages/ckeditor5-utils/src/toarray.js");class h extends c.a{elementToElement(e){return this.add(function(e){return(e=Object(l.a)(e)).view=w(e.view,"container"),t=>{var o;if(t.on("insert:"+e.model,(o=e.view,(e,t,i)=>{const s=o(t.item,i);if(!s)return;if(!i.consumable.consume(t.item,"insert"))return;const r=i.mapper.toViewPosition(t.range.start);i.mapper.bindElements(t.item,s),i.writer.insert(r,s)}),{priority:e.converterPriority||"normal"}),e.triggerBy){if(e.triggerBy.attributes)for(const o of e.triggerBy.attributes)t._mapReconversionTriggerEvent(e.model,`attribute:${o}:${e.model}`);if(e.triggerBy.children)for(const o of e.triggerBy.children)t._mapReconversionTriggerEvent(e.model,"insert:"+o),t._mapReconversionTriggerEvent(e.model,"remove:"+o)}}}(e))}attributeToElement(e){return this.add(function(e){e=Object(l.a)(e);let t="attribute:"+(e.model.key?e.model.key:e.model);e.model.name&&(t+=":"+e.model.name);if(e.model.values)for(const t of e.model.values)e.view[t]=w(e.view[t],"attribute");else e.view=w(e.view,"attribute");const o=v(e);return i=>{i.on(t,function(e){return(t,o,i)=>{const r=e(o.attributeOldValue,i),n=e(o.attributeNewValue,i);if(!r&&!n)return;if(!i.consumable.consume(o.item,t.name))return;const c=i.writer,l=c.document.selection;if(o.item instanceof s.a||o.item instanceof a.a)c.wrap(l.getFirstRange(),n);else{let e=i.mapper.toViewRange(o.range);null!==o.attributeOldValue&&r&&(e=c.unwrap(e,r)),null!==o.attributeNewValue&&n&&c.wrap(e,n)}}}(o),{priority:e.converterPriority||"normal"})}}(e))}attributeToAttribute(e){return this.add(function(e){e=Object(l.a)(e);let t="attribute:"+(e.model.key?e.model.key:e.model);e.model.name&&(t+=":"+e.model.name);if(e.model.values)for(const t of e.model.values)e.view[t]=y(e.view[t]);else e.view=y(e.view);const o=v(e);return i=>{var s;i.on(t,(s=o,(e,t,o)=>{const i=s(t.attributeOldValue,o),r=s(t.attributeNewValue,o);if(!i&&!r)return;if(!o.consumable.consume(t.item,e.name))return;const n=o.mapper.toViewElement(t.item),a=o.writer;if(!n)throw new d.a("conversion-attribute-to-attribute-on-text",[t,o]);if(null!==t.attributeOldValue&&i)if("class"==i.key){const e=Object(u.a)(i.value);for(const t of e)a.removeClass(t,n)}else if("style"==i.key){const e=Object.keys(i.value);for(const t of e)a.removeStyle(t,n)}else a.removeAttribute(i.key,n);if(null!==t.attributeNewValue&&r)if("class"==r.key){const e=Object(u.a)(r.value);for(const t of e)a.addClass(t,n)}else if("style"==r.key){const e=Object.keys(r.value);for(const t of e)a.setStyle(t,r.value[t],n)}else a.setAttribute(r.key,r.value,n)}),{priority:e.converterPriority||"normal"})}}(e))}markerToElement(e){return this.add(function(e){return(e=Object(l.a)(e)).view=w(e.view,"ui"),t=>{var o;t.on("addMarker:"+e.model,(o=e.view,(e,t,i)=>{t.isOpening=!0;const s=o(t,i);t.isOpening=!1;const r=o(t,i);if(!s||!r)return;const n=t.markerRange;if(n.isCollapsed&&!i.consumable.consume(n,e.name))return;for(const t of n)if(!i.consumable.consume(t.item,e.name))return;const a=i.mapper,c=i.writer;c.insert(a.toViewPosition(n.start),s),i.mapper.bindElementToMarker(s,t.markerName),n.isCollapsed||(c.insert(a.toViewPosition(n.end),r),i.mapper.bindElementToMarker(r,t.markerName)),e.stop()}),{priority:e.converterPriority||"normal"}),t.on("removeMarker:"+e.model,(e.view,(e,t,o)=>{const i=o.mapper.markerNameToElements(t.markerName);if(i){for(const e of i)o.mapper.unbindElementFromMarkerName(e,t.markerName),o.writer.clear(o.writer.createRangeOn(e),e);o.writer.clearClonedElementsGroup(t.markerName),e.stop()}}),{priority:e.converterPriority||"normal"})}}(e))}markerToHighlight(e){return this.add(function(e){return t=>{var o;t.on("addMarker:"+e.model,(o=e.view,(e,t,i)=>{if(!t.item)return;if(!(t.item instanceof s.a||t.item instanceof a.a||t.item.is("$textProxy")))return;const r=j(o,t,i);if(!r)return;if(!i.consumable.consume(t.item,e.name))return;const n=i.writer,c=f(n,r),l=n.document.selection;if(t.item instanceof s.a||t.item instanceof a.a)n.wrap(l.getFirstRange(),c,l);else{const e=i.mapper.toViewRange(t.range),o=n.wrap(e,c);for(const e of o.getItems())if(e.is("attributeElement")&&e.isSimilar(c)){i.mapper.bindElementToMarker(e,t.markerName);break}}}),{priority:e.converterPriority||"normal"}),t.on("addMarker:"+e.model,function(e){return(t,o,s)=>{if(!o.item)return;if(!(o.item instanceof r.a))return;const n=j(e,o,s);if(!n)return;if(!s.consumable.test(o.item,t.name))return;const a=s.mapper.toViewElement(o.item);if(a&&a.getCustomProperty("addHighlight")){s.consumable.consume(o.item,t.name);for(const e of i.a._createIn(o.item))s.consumable.consume(e.item,t.name);a.getCustomProperty("addHighlight")(a,n,s.writer),s.mapper.bindElementToMarker(a,o.markerName)}}}(e.view),{priority:e.converterPriority||"normal"}),t.on("removeMarker:"+e.model,function(e){return(t,o,i)=>{if(o.markerRange.isCollapsed)return;const s=j(e,o,i);if(!s)return;const r=f(i.writer,s),n=i.mapper.markerNameToElements(o.markerName);if(n){for(const e of n)i.mapper.unbindElementFromMarkerName(e,o.markerName),e.is("attributeElement")?i.writer.unwrap(i.writer.createRangeOn(e),r):e.getCustomProperty("removeHighlight")(e,s.id,i.writer);i.writer.clearClonedElementsGroup(o.markerName),t.stop()}}}(e.view),{priority:e.converterPriority||"normal"})}}(e))}markerToData(e){return this.add(function(e){const t=(e=Object(l.a)(e)).model;e.view||(e.view=o=>({group:t,name:o.substr(e.model.length+1)}));return o=>{var i;o.on("addMarker:"+t,(i=e.view,(e,t,o)=>{const s=i(t.markerName,o);if(!s)return;const r=t.markerRange;o.consumable.consume(r,e.name)&&(_(r,!1,o,t,s),_(r,!0,o,t,s),e.stop())}),{priority:e.converterPriority||"normal"}),o.on("removeMarker:"+t,function(e){return(t,o,i)=>{const s=e(o.markerName,i);if(!s)return;const r=i.mapper.markerNameToElements(o.markerName);if(r){for(const e of r)i.mapper.unbindElementFromMarkerName(e,o.markerName),e.is("containerElement")?(n(`data-${s.group}-start-before`,e),n(`data-${s.group}-start-after`,e),n(`data-${s.group}-end-before`,e),n(`data-${s.group}-end-after`,e)):i.writer.clear(i.writer.createRangeOn(e),e);i.writer.clearClonedElementsGroup(o.markerName),t.stop()}function n(e,t){if(t.hasAttribute(e)){const o=new Set(t.getAttribute(e).split(","));o.delete(s.name),0==o.size?i.writer.removeAttribute(e,t):i.writer.setAttribute(e,Array.from(o).join(","),t)}}}}(e.view),{priority:e.converterPriority||"normal"})}}(e))}}function p(){return(e,t,o)=>{if(!o.consumable.consume(t.item,"insert"))return;const i=o.writer,s=o.mapper.toViewPosition(t.range.start),r=i.createText(t.item.data);i.insert(s,r)}}function g(){return(e,t,o)=>{const i=o.mapper.toViewPosition(t.position),s=t.position.getShiftedBy(t.length),r=o.mapper.toViewPosition(s,{isPhantom:!0}),n=o.writer.createRange(i,r),a=o.writer.remove(n.getTrimmed());for(const e of o.writer.createRangeIn(a).getItems())o.mapper.unbindViewElement(e)}}function f(e,t){const o=e.createAttributeElement("span",t.attributes);return t.classes&&o._addClass(t.classes),"number"==typeof t.priority&&(o._priority=t.priority),o._id=t.id,o}function m(){return(e,t,o)=>{const i=t.selection;if(i.isCollapsed)return;if(!o.consumable.consume(i,"selection"))return;const s=[];for(const e of i.getRanges()){const t=o.mapper.toViewRange(e);s.push(t)}o.writer.setSelection(s,{backward:i.isBackward})}}function k(){return(e,t,o)=>{const i=t.selection;if(!i.isCollapsed)return;if(!o.consumable.consume(i,"selection"))return;const s=o.writer,r=i.getFirstPosition(),n=o.mapper.toViewPosition(r),a=s.breakAttributes(n);s.setSelection(a)}}function b(){return(e,t,o)=>{const i=o.writer,s=i.document.selection;for(const e of s.getRanges())e.isCollapsed&&e.end.parent.isAttached()&&o.writer.mergeAttributes(e.start);i.setSelection(null)}}function _(e,t,o,i,s){const r=t?e.start:e.end,n=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(n||a){let e,r;t&&n||!t&&!a?(e=n,r=!0):(e=a,r=!1);const c=o.mapper.toViewElement(e);if(c)return void function(e,t,o,i,s,r){const n=`data-${r.group}-${t?"start":"end"}-${o?"before":"after"}`,a=e.hasAttribute(n)?e.getAttribute(n).split(","):[];a.unshift(r.name),i.writer.setAttribute(n,a.join(","),e),i.mapper.bindElementToMarker(e,s.markerName)}(c,t,r,o,i,s)}!function(e,t,o,i,s){const r=`${s.group}-${t?"start":"end"}`,n=s.name?{name:s.name}:null,a=o.writer.createUIElement(r,n);o.writer.insert(e,a),o.mapper.bindElementToMarker(a,i.markerName)}(o.mapper.toViewPosition(r),t,o,i,s)}function w(e,t){return"function"==typeof e?e:(o,i)=>function(e,t,o){"string"==typeof e&&(e={name:e});let i;const s=t.writer,r=Object.assign({},e.attributes);if("container"==o)i=s.createContainerElement(e.name,r);else if("attribute"==o){const t={priority:e.priority||n.a.DEFAULT_PRIORITY};i=s.createAttributeElement(e.name,r,t)}else i=s.createUIElement(e.name,r);if(e.styles){const t=Object.keys(e.styles);for(const o of t)s.setStyle(o,e.styles[o],i)}if(e.classes){const t=e.classes;if("string"==typeof t)s.addClass(t,i);else for(const e of t)s.addClass(e,i)}return i}(e,i,t)}function v(e){return e.model.values?(t,o)=>{const i=e.view[t];return i?i(t,o):null}:e.view}function y(e){return"string"==typeof e?t=>({key:e,value:t}):"object"==typeof e?e.value?()=>e:t=>({key:e.key,value:t}):e}function j(e,t,o){const i="function"==typeof e?e(t,o):e;return i?(i.priority||(i.priority=10),i.id||(i.id=t.markerName),i):null}},"./packages/ckeditor5-engine/src/conversion/mapper.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return d}));var i=o("./packages/ckeditor5-engine/src/model/position.js"),s=o("./packages/ckeditor5-engine/src/model/range.js"),r=o("./packages/ckeditor5-engine/src/view/position.js"),n=o("./packages/ckeditor5-engine/src/view/range.js"),a=o("./packages/ckeditor5-engine/src/view/text.js"),c=o("./packages/ckeditor5-utils/src/emittermixin.js"),l=o("./packages/ckeditor5-utils/src/mix.js");class d{constructor(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._viewToModelLengthCallbacks=new Map,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this.on("modelToViewPosition",(e,t)=>{if(t.viewPosition)return;const o=this._modelToViewMapping.get(t.modelPosition.parent);t.viewPosition=this.findPositionIn(o,t.modelPosition.offset)},{priority:"low"}),this.on("viewToModelPosition",(e,t)=>{if(t.modelPosition)return;const o=this.findMappedViewAncestor(t.viewPosition),s=this._viewToModelMapping.get(o),r=this._toModelOffset(t.viewPosition.parent,t.viewPosition.offset,o);t.modelPosition=i.a._createAt(s,r)},{priority:"low"})}bindElements(e,t){this._modelToViewMapping.set(e,t),this._viewToModelMapping.set(t,e)}unbindViewElement(e){const t=this.toModelElement(e);if(this._viewToModelMapping.delete(e),this._elementToMarkerNames.has(e))for(const t of this._elementToMarkerNames.get(e))this._unboundMarkerNames.add(t);this._modelToViewMapping.get(t)==e&&this._modelToViewMapping.delete(t)}unbindModelElement(e){const t=this.toViewElement(e);this._modelToViewMapping.delete(e),this._viewToModelMapping.get(t)==e&&this._viewToModelMapping.delete(t)}bindElementToMarker(e,t){const o=this._markerNameToElements.get(t)||new Set;o.add(e);const i=this._elementToMarkerNames.get(e)||new Set;i.add(t),this._markerNameToElements.set(t,o),this._elementToMarkerNames.set(e,i)}unbindElementFromMarkerName(e,t){const o=this._markerNameToElements.get(t);o&&(o.delete(e),0==o.size&&this._markerNameToElements.delete(t));const i=this._elementToMarkerNames.get(e);i&&(i.delete(t),0==i.size&&this._elementToMarkerNames.delete(e))}flushUnboundMarkerNames(){const e=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),e}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set}toModelElement(e){return this._viewToModelMapping.get(e)}toViewElement(e){return this._modelToViewMapping.get(e)}toModelRange(e){return new s.a(this.toModelPosition(e.start),this.toModelPosition(e.end))}toViewRange(e){return new n.a(this.toViewPosition(e.start),this.toViewPosition(e.end))}toModelPosition(e){const t={viewPosition:e,mapper:this};return this.fire("viewToModelPosition",t),t.modelPosition}toViewPosition(e,t={isPhantom:!1}){const o={modelPosition:e,mapper:this,isPhantom:t.isPhantom};return this.fire("modelToViewPosition",o),o.viewPosition}markerNameToElements(e){const t=this._markerNameToElements.get(e);if(!t)return null;const o=new Set;for(const e of t)if(e.is("attributeElement"))for(const t of e.getElementsWithSameId())o.add(t);else o.add(e);return o}registerViewToModelLength(e,t){this._viewToModelLengthCallbacks.set(e,t)}findMappedViewAncestor(e){let t=e.parent;for(;!this._viewToModelMapping.has(t);)t=t.parent;return t}_toModelOffset(e,t,o){if(o!=e){return this._toModelOffset(e.parent,e.index,o)+this._toModelOffset(e,t,e)}if(e.is("$text"))return t;let i=0;for(let o=0;o<t;o++)i+=this.getModelLength(e.getChild(o));return i}getModelLength(e){if(this._viewToModelLengthCallbacks.get(e.name)){return this._viewToModelLengthCallbacks.get(e.name)(e)}if(this._viewToModelMapping.has(e))return 1;if(e.is("$text"))return e.data.length;if(e.is("uiElement"))return 0;{let t=0;for(const o of e.getChildren())t+=this.getModelLength(o);return t}}findPositionIn(e,t){let o,i=0,s=0,n=0;if(e.is("$text"))return new r.a(e,t);for(;s<t;)o=e.getChild(n),i=this.getModelLength(o),s+=i,n++;return s==t?this._moveViewPositionToTextNode(new r.a(e,n)):this.findPositionIn(o,t-(s-i))}_moveViewPositionToTextNode(e){const t=e.nodeBefore,o=e.nodeAfter;return t instanceof a.a?new r.a(t,t.data.length):o instanceof a.a?new r.a(o,0):e}}Object(l.a)(d,c.c)},"./packages/ckeditor5-engine/src/conversion/upcasthelpers.js":function(e,t,o){"use strict";o.d(t,"d",(function(){return c})),o.d(t,"c",(function(){return l})),o.d(t,"b",(function(){return d})),o.d(t,"a",(function(){return u}));var i=o("./packages/ckeditor5-engine/src/view/matcher.js"),s=o("./packages/ckeditor5-engine/src/conversion/conversionhelpers.js"),r=o("./node_modules/lodash-es/cloneDeep.js"),n=o("./packages/ckeditor5-utils/src/priorities.js"),a=o("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js");class c extends s.a{elementToElement(e){return this.add(h(e))}elementToAttribute(e){return this.add(function(e){f(e=Object(r.a)(e));const t=m(e,!1),o=p(e.view),i=o?"element:"+o:"element";return o=>{o.on(i,t,{priority:e.converterPriority||"low"})}}(e))}attributeToAttribute(e){return this.add(function(e){e=Object(r.a)(e);let t=null;("string"==typeof e.view||e.view.key)&&(t=function(e){"string"==typeof e.view&&(e.view={key:e.view});const t=e.view.key;let o;if("class"==t||"style"==t){o={["class"==t?"classes":"styles"]:e.view.value}}else{const i=void 0===e.view.value?/[\s\S]*/:e.view.value;o={attributes:{[t]:i}}}e.view.name&&(o.name=e.view.name);return e.view=o,t}(e));f(e,t);const o=m(e,!0);return t=>{t.on("element",o,{priority:e.converterPriority||"low"})}}(e))}elementToMarker(e){return this.add(function(e){return function(e){const t=e.model;e.model=(e,o)=>{const i="string"==typeof t?t:t(e,o);return o.writer.createElement("$marker",{"data-name":i})}}(e=Object(r.a)(e)),h(e)}(e))}dataToMarker(e){return this.add(function(e){(e=Object(r.a)(e)).model||(e.model=t=>t?e.view+":"+t:e.view);const t=g(k(e,"start")),o=g(k(e,"end"));return i=>{i.on("element:"+e.view+"-start",t,{priority:e.converterPriority||"normal"}),i.on("element:"+e.view+"-end",o,{priority:e.converterPriority||"normal"});const s=n.a.get("low"),r=n.a.get("highest"),a=n.a.get(e.converterPriority)/r;i.on("element",function(e){return(t,o,i)=>{const s="data-"+e.view;function r(t,s){for(const r of s){const s=e.model(r,i),n=i.writer.createElement("$marker",{"data-name":s});i.writer.insert(n,t),o.modelCursor.isEqual(t)?o.modelCursor=o.modelCursor.getShiftedBy(1):o.modelCursor=o.modelCursor._getTransformedByInsertion(t,1),o.modelRange=o.modelRange._getTransformedByInsertion(t,1)[0]}}(i.consumable.test(o.viewItem,{attributes:s+"-end-after"})||i.consumable.test(o.viewItem,{attributes:s+"-start-after"})||i.consumable.test(o.viewItem,{attributes:s+"-end-before"})||i.consumable.test(o.viewItem,{attributes:s+"-start-before"}))&&(o.modelRange||Object.assign(o,i.convertChildren(o.viewItem,o.modelCursor)),i.consumable.consume(o.viewItem,{attributes:s+"-end-after"})&&r(o.modelRange.end,o.viewItem.getAttribute(s+"-end-after").split(",")),i.consumable.consume(o.viewItem,{attributes:s+"-start-after"})&&r(o.modelRange.end,o.viewItem.getAttribute(s+"-start-after").split(",")),i.consumable.consume(o.viewItem,{attributes:s+"-end-before"})&&r(o.modelRange.start,o.viewItem.getAttribute(s+"-end-before").split(",")),i.consumable.consume(o.viewItem,{attributes:s+"-start-before"})&&r(o.modelRange.start,o.viewItem.getAttribute(s+"-start-before").split(",")))}}(e),{priority:s+a})}}(e))}}function l(){return(e,t,o)=>{if(!t.modelRange&&o.consumable.consume(t.viewItem,{name:!0})){const{modelRange:e,modelCursor:i}=o.convertChildren(t.viewItem,t.modelCursor);t.modelRange=e,t.modelCursor=i}}}function d(){return(e,t,{schema:o,consumable:i,writer:s})=>{let r=t.modelCursor;if(!i.test(t.viewItem))return;if(!o.checkChild(r,"$text")){if(!Object(a.b)(r,"$text",o))return;r=Object(a.c)(r,s)}i.consume(t.viewItem);const n=s.createText(t.viewItem.data);s.insert(n,r),t.modelRange=s.createRange(r,r.getShiftedBy(n.offsetSize)),t.modelCursor=t.modelRange.end}}function u(e,t){return(o,i)=>{const s=i.newSelection,r=[];for(const e of s.getRanges())r.push(t.toModelRange(e));const n=e.createSelection(r,{backward:s.isBackward});n.isEqual(e.document.selection)||e.change(e=>{e.setSelection(n)})}}function h(e){const t=g(e=Object(r.a)(e)),o=p(e.view),i=o?"element:"+o:"element";return o=>{o.on(i,t,{priority:e.converterPriority||"normal"})}}function p(e){return"string"==typeof e?e:"object"==typeof e&&"string"==typeof e.name?e.name:null}function g(e){const t=new i.a(e.view);return(o,i,s)=>{const r=t.match(i.viewItem);if(!r)return;const n=r.match;if(n.name=!0,!s.consumable.test(i.viewItem,n))return;const a=function(e,t,o){return e instanceof Function?e(t,o):o.writer.createElement(e)}(e.model,i.viewItem,s);a&&s.safeInsert(a,i.modelCursor)&&(s.consumable.consume(i.viewItem,n),s.convertChildren(i.viewItem,a),s.updateConversionResult(a,i))}}function f(e,t=null){const o=null===t||(e=>e.getAttribute(t)),i="object"!=typeof e.model?e.model:e.model.key,s="object"!=typeof e.model||void 0===e.model.value?o:e.model.value;e.model={key:i,value:s}}function m(e,t){const o=new i.a(e.view);return(i,s,r)=>{const n=o.match(s.viewItem);if(!n)return;if(!function(e,t){const o="function"==typeof e?e(t):e;if("object"==typeof o&&!p(o))return!1;return!o.classes&&!o.attributes&&!o.styles}(e.view,s.viewItem)?delete n.match.name:n.match.name=!0,!r.consumable.test(s.viewItem,n.match))return;const a=e.model.key,c="function"==typeof e.model.value?e.model.value(s.viewItem,r):e.model.value;if(null===c)return;s.modelRange||Object.assign(s,r.convertChildren(s.viewItem,s.modelCursor));(function(e,t,o,i){let s=!1;for(const r of Array.from(e.getItems({shallow:o})))i.schema.checkAttribute(r,t.key)&&(s=!0,r.hasAttribute(t.key)||i.writer.setAttribute(t.key,t.value,r));return s})(s.modelRange,{key:a,value:c},t,r)&&r.consumable.consume(s.viewItem,n.match)}}function k(e,t){const o={};return o.view=e.view+"-"+t,o.model=(t,o)=>{const i=t.getAttribute("name"),s=e.model(i,o);return o.writer.createElement("$marker",{"data-name":s})},o}},"./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));class i{getHtml(e){const t=document.implementation.createHTMLDocument("").createElement("div");return t.appendChild(e),t.innerHTML}}var s=o("./packages/ckeditor5-engine/src/view/domconverter.js");class r{constructor(e){this.domParser=new DOMParser,this.domConverter=new s.a(e,{renderingMode:"data"}),this.htmlWriter=new i}toData(e){const t=this.domConverter.viewToDom(e,document);return this.htmlWriter.getHtml(t)}toView(e){const t=this._toDom(e);return this.domConverter.domToView(t)}registerRawContentMatcher(e){this.domConverter.registerRawContentMatcher(e)}useFillerType(e){this.domConverter.blockFillerMode="marked"==e?"markedNbsp":"nbsp"}_toDom(e){const t=this.domParser.parseFromString(e,"text/html"),o=t.createDocumentFragment();let i=t.firstChild;for(;!i.isSameNode(t.documentElement);){const e=i;i=i.nextSibling,e.nodeType==Node.COMMENT_NODE&&o.appendChild(e)}const s=t.body.childNodes;for(;s.length>0;)o.appendChild(s[0]);return o}}},"./packages/ckeditor5-engine/src/model/documentfragment.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var i=o("./packages/ckeditor5-engine/src/model/nodelist.js"),s=o("./packages/ckeditor5-engine/src/model/element.js"),r=o("./packages/ckeditor5-engine/src/model/text.js"),n=o("./packages/ckeditor5-engine/src/model/textproxy.js"),a=o("./packages/ckeditor5-utils/src/isiterable.js");class c{constructor(e){this.markers=new Map,this._children=new i.a,e&&this._insertChild(0,e)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}is(e){return"documentFragment"===e||"model:documentFragment"===e}getChild(e){return this._children.getNode(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}getPath(){return[]}getNodeByPath(e){let t=this;for(const o of e)t=t.getChild(t.offsetToIndex(o));return t}offsetToIndex(e){return this._children.offsetToIndex(e)}toJSON(){const e=[];for(const t of this._children)e.push(t.toJSON());return e}static fromJSON(e){const t=[];for(const o of e)o.name?t.push(s.a.fromJSON(o)):t.push(r.a.fromJSON(o));return new c(t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const o=function(e){if("string"==typeof e)return[new r.a(e)];Object(a.a)(e)||(e=[e]);return Array.from(e).map(e=>"string"==typeof e?new r.a(e):e instanceof n.a?new r.a(e.data,e.getAttributes()):e)}(t);for(const e of o)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,o)}_removeChildren(e,t=1){const o=this._children._removeNodes(e,t);for(const e of o)e.parent=null;return o}}},"./packages/ckeditor5-engine/src/model/documentselection.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return p}));var i=o("./packages/ckeditor5-utils/src/mix.js"),s=o("./packages/ckeditor5-utils/src/emittermixin.js"),r=o("./packages/ckeditor5-engine/src/model/selection.js"),n=o("./packages/ckeditor5-engine/src/model/liverange.js"),a=o("./packages/ckeditor5-engine/src/model/text.js"),c=o("./packages/ckeditor5-engine/src/model/textproxy.js"),l=o("./packages/ckeditor5-utils/src/tomap.js"),d=o("./packages/ckeditor5-utils/src/collection.js"),u=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),h=o("./packages/ckeditor5-utils/src/uid.js");class p{constructor(e){this._selection=new g(e),this._selection.delegate("change:range").to(this),this._selection.delegate("change:attribute").to(this),this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(e){return this._selection.containsEntireContent(e)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(e){return this._selection.getAttribute(e)}hasAttribute(e){return this._selection.hasAttribute(e)}refresh(){this._selection._updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(e){this._selection.observeMarkers(e)}is(e){return"selection"===e||"model:selection"==e||"documentSelection"==e||"model:documentSelection"==e}_setFocus(e,t){this._selection.setFocus(e,t)}_setTo(e,t,o){this._selection.setTo(e,t,o)}_setAttribute(e,t){this._selection.setAttribute(e,t)}_removeAttribute(e){this._selection.removeAttribute(e)}_getStoredAttributes(){return this._selection._getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(e){this._selection.restoreGravity(e)}static _getStoreAttributeKey(e){return"selection:"+e}static _isStoreAttributeKey(e){return e.startsWith("selection:")}}Object(i.a)(p,s.c);class g extends r.a{constructor(e){super(),this.markers=new d.a({idProperty:"name"}),this._model=e.model,this._document=e,this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this.listenTo(this._model,"applyOperation",(e,t)=>{const o=t[0];o.isDocumentOperation&&"marker"!=o.type&&"rename"!=o.type&&"noop"!=o.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))},{priority:"lowest"}),this.on("change:range",()=>{for(const e of this.getRanges())if(!this._document._validateSelectionRange(e))throw new u.a("document-selection-wrong-position",this,{range:e})}),this.listenTo(this._model.markers,"update",(e,t,o,i)=>{this._updateMarker(t,i)}),this.listenTo(this._document,"change",(e,t)=>{!function(e,t){const o=e.document.differ;for(const i of o.getChanges()){if("insert"!=i.type)continue;const o=i.position.parent;i.length===o.maxOffset&&e.enqueueChange(t,e=>{const t=Array.from(o.getAttributeKeys()).filter(e=>e.startsWith("selection:"));for(const i of t)e.removeAttribute(i,o)})}}(this._model,t)})}get isCollapsed(){return 0===this._ranges.length?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let e=0;e<this._ranges.length;e++)this._ranges[e].detach();this.stopListening()}*getRanges(){this._ranges.length?yield*super.getRanges():yield this._document._getDefaultRange()}getFirstRange(){return super.getFirstRange()||this._document._getDefaultRange()}getLastRange(){return super.getLastRange()||this._document._getDefaultRange()}setTo(e,t,o){super.setTo(e,t,o),this._updateAttributes(!0),this._updateMarkers()}setFocus(e,t){super.setFocus(e,t),this._updateAttributes(!0),this._updateMarkers()}setAttribute(e,t){if(this._setAttribute(e,t)){const t=[e];this.fire("change:attribute",{attributeKeys:t,directChange:!0})}}removeAttribute(e){if(this._removeAttribute(e)){const t=[e];this.fire("change:attribute",{attributeKeys:t,directChange:!0})}}overrideGravity(){const e=Object(h.a)();return this._overriddenGravityRegister.add(e),1===this._overriddenGravityRegister.size&&this._updateAttributes(!0),e}restoreGravity(e){if(!this._overriddenGravityRegister.has(e))throw new u.a("document-selection-gravity-wrong-restore",this,{uid:e});this._overriddenGravityRegister.delete(e),this.isGravityOverridden||this._updateAttributes(!0)}observeMarkers(e){this._observedMarkers.add(e),this._updateMarkers()}_popRange(){this._ranges.pop().detach()}_pushRange(e){const t=this._prepareRange(e);t&&this._ranges.push(t)}_prepareRange(e){if(this._checkRange(e),e.root==this._document.graveyard)return;const t=n.a.fromRange(e);return t.on("change:range",(e,o,i)=>{if(this._hasChangedRange=!0,t.root==this._document.graveyard){this._selectionRestorePosition=i.deletionPosition;const e=this._ranges.indexOf(t);this._ranges.splice(e,1),t.detach()}}),t}_updateMarkers(){if(!this._observedMarkers.size)return;const e=[];let t=!1;for(const t of this._model.markers){const o=t.name.split(":",1)[0];if(!this._observedMarkers.has(o))continue;const i=t.getRange();for(const o of this.getRanges())i.containsRange(o,!o.isCollapsed)&&e.push(t)}const o=Array.from(this.markers);for(const o of e)this.markers.has(o)||(this.markers.add(o),t=!0);for(const o of Array.from(this.markers))e.includes(o)||(this.markers.remove(o),t=!0);t&&this.fire("change:marker",{oldMarkers:o,directChange:!1})}_updateMarker(e,t){const o=e.name.split(":",1)[0];if(!this._observedMarkers.has(o))return;let i=!1;const s=Array.from(this.markers),r=this.markers.has(e);if(t){let o=!1;for(const e of this.getRanges())if(t.containsRange(e,!e.isCollapsed)){o=!0;break}o&&!r?(this.markers.add(e),i=!0):!o&&r&&(this.markers.remove(e),i=!0)}else r&&(this.markers.remove(e),i=!0);i&&this.fire("change:marker",{oldMarkers:s,directChange:!1})}_updateAttributes(e){const t=Object(l.a)(this._getSurroundingAttributes()),o=Object(l.a)(this.getAttributes());if(e)this._attributePriority=new Map,this._attrs=new Map;else for(const[e,t]of this._attributePriority)"low"==t&&(this._attrs.delete(e),this._attributePriority.delete(e));this._setAttributesTo(t);const i=[];for(const[e,t]of this.getAttributes())o.has(e)&&o.get(e)===t||i.push(e);for(const[e]of o)this.hasAttribute(e)||i.push(e);i.length>0&&this.fire("change:attribute",{attributeKeys:i,directChange:!1})}_setAttribute(e,t,o=!0){const i=o?"normal":"low";if("low"==i&&"normal"==this._attributePriority.get(e))return!1;return super.getAttribute(e)!==t&&(this._attrs.set(e,t),this._attributePriority.set(e,i),!0)}_removeAttribute(e,t=!0){const o=t?"normal":"low";return("low"!=o||"normal"!=this._attributePriority.get(e))&&(this._attributePriority.set(e,o),!!super.hasAttribute(e)&&(this._attrs.delete(e),!0))}_setAttributesTo(e){const t=new Set;for(const[t,o]of this.getAttributes())e.get(t)!==o&&this._removeAttribute(t,!1);for(const[o,i]of e){this._setAttribute(o,i,!1)&&t.add(o)}return t}*_getStoredAttributes(){const e=this.getFirstPosition().parent;if(this.isCollapsed&&e.isEmpty)for(const t of e.getAttributeKeys())if(t.startsWith("selection:")){const o=t.substr("selection:".length);yield[o,e.getAttribute(t)]}}_getSurroundingAttributes(){const e=this.getFirstPosition(),t=this._model.schema;let o=null;if(this.isCollapsed){const i=e.textNode?e.textNode:e.nodeBefore,s=e.textNode?e.textNode:e.nodeAfter;if(this.isGravityOverridden||(o=f(i)),o||(o=f(s)),!this.isGravityOverridden&&!o){let e=i;for(;e&&!t.isInline(e)&&!o;)e=e.previousSibling,o=f(e)}if(!o){let e=s;for(;e&&!t.isInline(e)&&!o;)e=e.nextSibling,o=f(e)}o||(o=this._getStoredAttributes())}else{const e=this.getFirstRange();for(const i of e){if(i.item.is("element")&&t.isObject(i.item))break;if("text"==i.type){o=i.item.getAttributes();break}}}return o}_fixGraveyardSelection(e){const t=this._model.schema.getNearestSelectionRange(e);t&&this._pushRange(t)}}function f(e){return e instanceof c.a||e instanceof a.a?e.getAttributes():null}},"./packages/ckeditor5-engine/src/model/element.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var i=o("./packages/ckeditor5-engine/src/model/node.js"),s=o("./packages/ckeditor5-engine/src/model/nodelist.js"),r=o("./packages/ckeditor5-engine/src/model/text.js"),n=o("./packages/ckeditor5-engine/src/model/textproxy.js"),a=o("./packages/ckeditor5-utils/src/isiterable.js");class c extends i.a{constructor(e,t,o){super(t),this.name=e,this._children=new s.a,o&&this._insertChild(0,o)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}is(e,t=null){return t?t===this.name&&("element"===e||"model:element"===e):"element"===e||"model:element"===e||"node"===e||"model:node"===e}getChild(e){return this._children.getNode(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}offsetToIndex(e){return this._children.offsetToIndex(e)}getNodeByPath(e){let t=this;for(const o of e)t=t.getChild(t.offsetToIndex(o));return t}findAncestor(e,t={includeSelf:!1}){let o=t.includeSelf?this:this.parent;for(;o;){if(o.name===e)return o;o=o.parent}return null}toJSON(){const e=super.toJSON();if(e.name=this.name,this._children.length>0){e.children=[];for(const t of this._children)e.children.push(t.toJSON())}return e}_clone(e=!1){const t=e?Array.from(this._children).map(e=>e._clone(!0)):null;return new c(this.name,this.getAttributes(),t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const o=function(e){if("string"==typeof e)return[new r.a(e)];Object(a.a)(e)||(e=[e]);return Array.from(e).map(e=>"string"==typeof e?new r.a(e):e instanceof n.a?new r.a(e.data,e.getAttributes()):e)}(t);for(const e of o)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,o)}_removeChildren(e,t=1){const o=this._children._removeNodes(e,t);for(const e of o)e.parent=null;return o}static fromJSON(e){let t=null;if(e.children){t=[];for(const o of e.children)o.name?t.push(c.fromJSON(o)):t.push(r.a.fromJSON(o))}return new c(e.name,e.attributes,t)}}},"./packages/ckeditor5-engine/src/model/liveposition.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-engine/src/model/position.js"),s=o("./packages/ckeditor5-utils/src/emittermixin.js"),r=o("./packages/ckeditor5-utils/src/mix.js"),n=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class a extends i.a{constructor(e,t,o="toNone"){if(super(e,t,o),!this.root.is("rootElement"))throw new n.a("model-liveposition-root-not-rootelement",e);c.call(this)}detach(){this.stopListening()}is(e){return"livePosition"===e||"model:livePosition"===e||"position"==e||"model:position"===e}toPosition(){return new i.a(this.root,this.path.slice(),this.stickiness)}static fromPosition(e,t){return new this(e.root,e.path.slice(),t||e.stickiness)}}function c(){this.listenTo(this.root.document.model,"applyOperation",(e,t)=>{const o=t[0];o.isDocumentOperation&&l.call(this,o)},{priority:"low"})}function l(e){const t=this.getTransformedByOperation(e);if(!this.isEqual(t)){const e=this.toPosition();this.path=t.path,this.root=t.root,this.fire("change",e)}}Object(r.a)(a,s.c)},"./packages/ckeditor5-engine/src/model/liverange.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var i=o("./packages/ckeditor5-engine/src/model/range.js"),s=o("./packages/ckeditor5-utils/src/emittermixin.js"),r=o("./packages/ckeditor5-utils/src/mix.js");class n extends i.a{constructor(e,t){super(e,t),a.call(this)}detach(){this.stopListening()}is(e){return"liveRange"===e||"model:liveRange"===e||"range"==e||"model:range"===e}toRange(){return new i.a(this.start,this.end)}static fromRange(e){return new n(e.start,e.end)}}function a(){this.listenTo(this.root.document.model,"applyOperation",(e,t)=>{const o=t[0];o.isDocumentOperation&&c.call(this,o)},{priority:"low"})}function c(e){const t=this.getTransformedByOperation(e),o=i.a._createFromRanges(t),s=!o.isEqual(this),r=function(e,t){switch(t.type){case"insert":return e.containsPosition(t.position);case"move":case"remove":case"reinsert":case"merge":return e.containsPosition(t.sourcePosition)||e.start.isEqual(t.sourcePosition)||e.containsPosition(t.targetPosition);case"split":return e.containsPosition(t.splitPosition)||e.containsPosition(t.insertionPosition)}return!1}(this,e);let n=null;if(s){"$graveyard"==o.root.rootName&&(n="remove"==e.type?e.sourcePosition:e.deletionPosition);const t=this.toRange();this.start=o.start,this.end=o.end,this.fire("change:range",t,{deletionPosition:n})}else r&&this.fire("change:content",this.toRange(),{deletionPosition:n})}Object(r.a)(n,s.c)},"./packages/ckeditor5-engine/src/model/model.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return pe}));class i{constructor(e="default"){this.operations=[],this.type=e}get baseVersion(){for(const e of this.operations)if(null!==e.baseVersion)return e.baseVersion;return null}addOperation(e){return e.batch=this,this.operations.push(e),e}}var s=o("./packages/ckeditor5-engine/src/model/operation/attributeoperation.js"),r=o("./packages/ckeditor5-engine/src/model/operation/operation.js"),n=o("./packages/ckeditor5-engine/src/model/range.js"),a=o("./packages/ckeditor5-engine/src/model/operation/utils.js"),c=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class l extends r.a{constructor(e,t){super(null),this.sourcePosition=e.clone(),this.howMany=t}get type(){return"detach"}toJSON(){const e=super.toJSON();return e.sourcePosition=this.sourcePosition.toJSON(),e}_validate(){if(this.sourcePosition.root.document)throw new c.a("detach-operation-on-document-node",this)}_execute(){Object(a.d)(n.a._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}var d=o("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),u=o("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),h=o("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),p=o("./packages/ckeditor5-engine/src/model/operation/renameoperation.js"),g=o("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js"),f=o("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),m=o("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js"),k=o("./packages/ckeditor5-engine/src/model/documentfragment.js"),b=o("./packages/ckeditor5-engine/src/model/text.js"),_=o("./packages/ckeditor5-engine/src/model/element.js");class w extends _.a{constructor(e,t,o="main"){super(t),this._document=e,this.rootName=o}get document(){return this._document}is(e,t){return t?t===this.name&&("rootElement"===e||"model:rootElement"===e||"element"===e||"model:element"===e):"rootElement"===e||"model:rootElement"===e||"element"===e||"model:element"===e||"node"===e||"model:node"===e}toJSON(){return this.rootName}}var v=o("./packages/ckeditor5-engine/src/model/position.js"),y=o("./packages/ckeditor5-engine/src/model/documentselection.js"),j=o("./packages/ckeditor5-utils/src/tomap.js");class x{constructor(e,t){this.model=e,this.batch=t}createText(e,t){return new b.a(e,t)}createElement(e,t){return new _.a(e,t)}createDocumentFragment(){return new k.a}cloneElement(e,t=!0){return e._clone(t)}insert(e,t,o=0){if(this._assertWriterUsedCorrectly(),e instanceof b.a&&""==e.data)return;const i=v.a._createAt(t,o);if(e.parent){if(C(e.root,i.root))return void this.move(n.a._createOn(e),i);if(e.root.document)throw new c.a("model-writer-insert-forbidden-move",this);this.remove(e)}const s=i.root.document?i.root.document.version:null,r=new d.a(i,e,s);if(e instanceof b.a&&(r.shouldReceiveAttributes=!0),this.batch.addOperation(r),this.model.applyOperation(r),e instanceof k.a)for(const[t,o]of e.markers){const e=v.a._createAt(o.root,0),s={range:new n.a(o.start._getCombined(e,i),o.end._getCombined(e,i)),usingOperation:!0,affectsData:!0};this.model.markers.has(t)?this.updateMarker(t,s):this.addMarker(t,s)}}insertText(e,t,o,i){t instanceof k.a||t instanceof _.a||t instanceof v.a?this.insert(this.createText(e),t,o):this.insert(this.createText(e,t),o,i)}insertElement(e,t,o,i){t instanceof k.a||t instanceof _.a||t instanceof v.a?this.insert(this.createElement(e),t,o):this.insert(this.createElement(e,t),o,i)}append(e,t){this.insert(e,t,"end")}appendText(e,t,o){t instanceof k.a||t instanceof _.a?this.insert(this.createText(e),t,"end"):this.insert(this.createText(e,t),o,"end")}appendElement(e,t,o){t instanceof k.a||t instanceof _.a?this.insert(this.createElement(e),t,"end"):this.insert(this.createElement(e,t),o,"end")}setAttribute(e,t,o){if(this._assertWriterUsedCorrectly(),o instanceof n.a){const i=o.getMinimalFlatRanges();for(const o of i)P(this,e,t,o)}else O(this,e,t,o)}setAttributes(e,t){for(const[o,i]of Object(j.a)(e))this.setAttribute(o,i,t)}removeAttribute(e,t){if(this._assertWriterUsedCorrectly(),t instanceof n.a){const o=t.getMinimalFlatRanges();for(const t of o)P(this,e,null,t)}else O(this,e,null,t)}clearAttributes(e){this._assertWriterUsedCorrectly();const t=e=>{for(const t of e.getAttributeKeys())this.removeAttribute(t,e)};if(e instanceof n.a)for(const o of e.getItems())t(o);else t(e)}move(e,t,o){if(this._assertWriterUsedCorrectly(),!(e instanceof n.a))throw new c.a("writer-move-invalid-range",this);if(!e.isFlat)throw new c.a("writer-move-range-not-flat",this);const i=v.a._createAt(t,o);if(i.isEqual(e.start))return;if(this._addOperationForAffectedMarkers("move",e),!C(e.root,i.root))throw new c.a("writer-move-different-document",this);const s=e.root.document?e.root.document.version:null,r=new h.a(e.start,e.end.offset-e.start.offset,i,s);this.batch.addOperation(r),this.model.applyOperation(r)}remove(e){this._assertWriterUsedCorrectly();const t=(e instanceof n.a?e:n.a._createOn(e)).getMinimalFlatRanges().reverse();for(const e of t)this._addOperationForAffectedMarkers("move",e),T(e.start,e.end.offset-e.start.offset,this.batch,this.model)}merge(e){this._assertWriterUsedCorrectly();const t=e.nodeBefore,o=e.nodeAfter;if(this._addOperationForAffectedMarkers("merge",e),!(t instanceof _.a))throw new c.a("writer-merge-no-element-before",this);if(!(o instanceof _.a))throw new c.a("writer-merge-no-element-after",this);e.root.document?this._merge(e):this._mergeDetached(e)}createPositionFromPath(e,t,o){return this.model.createPositionFromPath(e,t,o)}createPositionAt(e,t){return this.model.createPositionAt(e,t)}createPositionAfter(e){return this.model.createPositionAfter(e)}createPositionBefore(e){return this.model.createPositionBefore(e)}createRange(e,t){return this.model.createRange(e,t)}createRangeIn(e){return this.model.createRangeIn(e)}createRangeOn(e){return this.model.createRangeOn(e)}createSelection(e,t,o){return this.model.createSelection(e,t,o)}_mergeDetached(e){const t=e.nodeBefore,o=e.nodeAfter;this.move(n.a._createIn(o),v.a._createAt(t,"end")),this.remove(o)}_merge(e){const t=v.a._createAt(e.nodeBefore,"end"),o=v.a._createAt(e.nodeAfter,0),i=e.root.document.graveyard,s=new v.a(i,[0]),r=e.root.document.version,n=new m.a(o,e.nodeAfter.maxOffset,t,s,r);this.batch.addOperation(n),this.model.applyOperation(n)}rename(e,t){if(this._assertWriterUsedCorrectly(),!(e instanceof _.a))throw new c.a("writer-rename-not-element-instance",this);const o=e.root.document?e.root.document.version:null,i=new p.a(v.a._createBefore(e),e.name,t,o);this.batch.addOperation(i),this.model.applyOperation(i)}split(e,t){this._assertWriterUsedCorrectly();let o,i,s=e.parent;if(!s.parent)throw new c.a("writer-split-element-no-parent",this);if(t||(t=s.parent),!e.parent.getAncestors({includeSelf:!0}).includes(t))throw new c.a("writer-split-invalid-limit-element",this);do{const t=s.root.document?s.root.document.version:null,r=s.maxOffset-e.offset,n=f.a.getInsertionPosition(e),a=new f.a(e,r,n,null,t);this.batch.addOperation(a),this.model.applyOperation(a),o||i||(o=s,i=e.parent.nextSibling),s=(e=this.createPositionAfter(e.parent)).parent}while(s!==t);return{position:e,range:new n.a(v.a._createAt(o,"end"),v.a._createAt(i,0))}}wrap(e,t){if(this._assertWriterUsedCorrectly(),!e.isFlat)throw new c.a("writer-wrap-range-not-flat",this);const o=t instanceof _.a?t:new _.a(t);if(o.childCount>0)throw new c.a("writer-wrap-element-not-empty",this);if(null!==o.parent)throw new c.a("writer-wrap-element-attached",this);this.insert(o,e.start);const i=new n.a(e.start.getShiftedBy(1),e.end.getShiftedBy(1));this.move(i,v.a._createAt(o,0))}unwrap(e){if(this._assertWriterUsedCorrectly(),null===e.parent)throw new c.a("writer-unwrap-element-no-parent",this);this.move(n.a._createIn(e),this.createPositionAfter(e)),this.remove(e)}addMarker(e,t){if(this._assertWriterUsedCorrectly(),!t||"boolean"!=typeof t.usingOperation)throw new c.a("writer-addmarker-no-usingoperation",this);const o=t.usingOperation,i=t.range,s=void 0!==t.affectsData&&t.affectsData;if(this.model.markers.has(e))throw new c.a("writer-addmarker-marker-exists",this);if(!i)throw new c.a("writer-addmarker-no-range",this);return o?(A(this,e,null,i,s),this.model.markers.get(e)):this.model.markers._set(e,i,o,s)}updateMarker(e,t){this._assertWriterUsedCorrectly();const o="string"==typeof e?e:e.name,i=this.model.markers.get(o);if(!i)throw new c.a("writer-updatemarker-marker-not-exists",this);if(!t)return void this.model.markers._refresh(i);const s="boolean"==typeof t.usingOperation,r="boolean"==typeof t.affectsData,n=r?t.affectsData:i.affectsData;if(!s&&!t.range&&!r)throw new c.a("writer-updatemarker-wrong-options",this);const a=i.getRange(),l=t.range?t.range:a;s&&t.usingOperation!==i.managedUsingOperations?t.usingOperation?A(this,o,null,l,n):(A(this,o,a,null,n),this.model.markers._set(o,l,void 0,n)):i.managedUsingOperations?A(this,o,a,l,n):this.model.markers._set(o,l,void 0,n)}removeMarker(e){this._assertWriterUsedCorrectly();const t="string"==typeof e?e:e.name;if(!this.model.markers.has(t))throw new c.a("writer-removemarker-no-marker",this);const o=this.model.markers.get(t);if(!o.managedUsingOperations)return void this.model.markers._remove(t);A(this,t,o.getRange(),null,o.affectsData)}setSelection(e,t,o){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(e,t,o)}setSelectionFocus(e,t){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(e,t)}setSelectionAttribute(e,t){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._setSelectionAttribute(e,t);else for(const[t,o]of Object(j.a)(e))this._setSelectionAttribute(t,o)}removeSelectionAttribute(e){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._removeSelectionAttribute(e);else for(const t of e)this._removeSelectionAttribute(t)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(e){this.model.document.selection._restoreGravity(e)}_setSelectionAttribute(e,t){const o=this.model.document.selection;if(o.isCollapsed&&o.anchor.parent.isEmpty){const i=y.a._getStoreAttributeKey(e);this.setAttribute(i,t,o.anchor.parent)}o._setAttribute(e,t)}_removeSelectionAttribute(e){const t=this.model.document.selection;if(t.isCollapsed&&t.anchor.parent.isEmpty){const o=y.a._getStoreAttributeKey(e);this.removeAttribute(o,t.anchor.parent)}t._removeAttribute(e)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new c.a("writer-incorrect-use",this)}_addOperationForAffectedMarkers(e,t){for(const o of this.model.markers){if(!o.managedUsingOperations)continue;const i=o.getRange();let s=!1;if("move"===e)s=t.containsPosition(i.start)||t.start.isEqual(i.start)||t.containsPosition(i.end)||t.end.isEqual(i.end);else{const e=t.nodeBefore,o=t.nodeAfter,r=i.start.parent==e&&i.start.isAtEnd,n=i.end.parent==o&&0==i.end.offset,a=i.end.nodeAfter==o,c=i.start.nodeAfter==o;s=r||n||a||c}s&&this.updateMarker(o.name,{range:i})}}}function P(e,t,o,i){const r=e.model,a=r.document;let c,l,d,u=i.start;for(const e of i.getWalker({shallow:!0}))d=e.item.getAttribute(t),c&&l!=d&&(l!=o&&h(),u=c),c=e.nextPosition,l=d;function h(){const i=new n.a(u,c),d=i.root.document?a.version:null,h=new s.a(i,t,l,o,d);e.batch.addOperation(h),r.applyOperation(h)}c instanceof v.a&&c!=u&&l!=o&&h()}function O(e,t,o,i){const r=e.model,a=r.document,c=i.getAttribute(t);let l,d;if(c!=o){if(i.root===i){const e=i.document?a.version:null;d=new g.a(i,t,c,o,e)}else{l=new n.a(v.a._createBefore(i),e.createPositionAfter(i));const r=l.root.document?a.version:null;d=new s.a(l,t,c,o,r)}e.batch.addOperation(d),r.applyOperation(d)}}function A(e,t,o,i,s){const r=e.model,n=r.document,a=new u.a(t,o,i,r.markers,s,n.version);e.batch.addOperation(a),r.applyOperation(a)}function T(e,t,o,i){let s;if(e.root.document){const o=i.document,r=new v.a(o.graveyard,[0]);s=new h.a(e,t,r,o.version)}else s=new l(e,t);o.addOperation(s),i.applyOperation(s)}function C(e,t){return e===t||e instanceof w&&t instanceof w}var E=o("./packages/ckeditor5-engine/src/model/schema.js");class S{constructor(e){this._markerCollection=e,this._changesInElement=new Map,this._elementSnapshots=new Map,this._changedMarkers=new Map,this._changeCount=0,this._cachedChanges=null,this._cachedChangesWithGraveyard=null}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size}refreshItem(e){if(this._isInInsertedElement(e.parent))return;this._markRemove(e.parent,e.startOffset,e.offsetSize),this._markInsert(e.parent,e.startOffset,e.offsetSize);const t=n.a._createOn(e);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getRange();this.bufferMarkerChange(e.name,t,t,e.affectsData)}this._cachedChanges=null}bufferOperation(e){switch(e.type){case"insert":if(this._isInInsertedElement(e.position.parent))return;this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break;case"addAttribute":case"removeAttribute":case"changeAttribute":for(const t of e.range.getItems({shallow:!0}))this._isInInsertedElement(t.parent)||this._markAttribute(t);break;case"remove":case"move":case"reinsert":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition))return;const t=this._isInInsertedElement(e.sourcePosition.parent),o=this._isInInsertedElement(e.targetPosition.parent);t||this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany),o||this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany);break}case"rename":{if(this._isInInsertedElement(e.position.parent))return;this._markRemove(e.position.parent,e.position.offset,1),this._markInsert(e.position.parent,e.position.offset,1);const t=n.a._createFromPositionAndShift(e.position,1);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getRange();this.bufferMarkerChange(e.name,t,t,e.affectsData)}break}case"split":{const t=e.splitPosition.parent;this._isInInsertedElement(t)||this._markRemove(t,e.splitPosition.offset,e.howMany),this._isInInsertedElement(e.insertionPosition.parent)||this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1),e.graveyardPosition&&this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1);break}case"merge":{const t=e.sourcePosition.parent;this._isInInsertedElement(t.parent)||this._markRemove(t.parent,t.startOffset,1);const o=e.graveyardPosition.parent;this._markInsert(o,e.graveyardPosition.offset,1);const i=e.targetPosition.parent;this._isInInsertedElement(i)||this._markInsert(i,e.targetPosition.offset,t.maxOffset);break}}this._cachedChanges=null}bufferMarkerChange(e,t,o,i){const s=this._changedMarkers.get(e);s?(s.newRange=o,s.affectsData=i,null==s.oldRange&&null==s.newRange&&this._changedMarkers.delete(e)):this._changedMarkers.set(e,{oldRange:t,newRange:o,affectsData:i})}getMarkersToRemove(){const e=[];for(const[t,o]of this._changedMarkers)null!=o.oldRange&&e.push({name:t,range:o.oldRange});return e}getMarkersToAdd(){const e=[];for(const[t,o]of this._changedMarkers)null!=o.newRange&&e.push({name:t,range:o.newRange});return e}getChangedMarkers(){return Array.from(this._changedMarkers).map(e=>({name:e[0],data:{oldRange:e[1].oldRange,newRange:e[1].newRange}}))}hasDataChanges(){for(const[,e]of this._changedMarkers)if(e.affectsData)return!0;return this._changesInElement.size>0}getChanges(e={includeChangesInGraveyard:!1}){if(this._cachedChanges)return e.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let t=[];for(const e of this._changesInElement.keys()){const o=this._changesInElement.get(e).sort((e,t)=>e.offset===t.offset?e.type!=t.type?"remove"==e.type?-1:1:0:e.offset<t.offset?-1:1),i=this._elementSnapshots.get(e),s=R(e.getChildren()),r=M(i.length,o);let a=0,c=0;for(const o of r)if("i"===o)t.push(this._getInsertDiff(e,a,s[a].name)),a++;else if("r"===o)t.push(this._getRemoveDiff(e,a,i[c].name)),c++;else if("a"===o){const o=s[a].attributes,r=i[c].attributes;let l;if("$text"==s[a].name)l=new n.a(v.a._createAt(e,a),v.a._createAt(e,a+1));else{const t=e.offsetToIndex(a);l=new n.a(v.a._createAt(e,a),v.a._createAt(e.getChild(t),0))}t.push(...this._getAttributesDiff(l,r,o)),a++,c++}else a++,c++}t.sort((e,t)=>e.position.root!=t.position.root?e.position.root.rootName<t.position.root.rootName?-1:1:e.position.isEqual(t.position)?e.changeCount-t.changeCount:e.position.isBefore(t.position)?-1:1);for(let e=1,o=0;e<t.length;e++){const i=t[o],s=t[e],r="remove"==i.type&&"remove"==s.type&&"$text"==i.name&&"$text"==s.name&&i.position.isEqual(s.position),n="insert"==i.type&&"insert"==s.type&&"$text"==i.name&&"$text"==s.name&&i.position.parent==s.position.parent&&i.position.offset+i.length==s.position.offset,a="attribute"==i.type&&"attribute"==s.type&&i.position.parent==s.position.parent&&i.range.isFlat&&s.range.isFlat&&i.position.offset+i.length==s.position.offset&&i.attributeKey==s.attributeKey&&i.attributeOldValue==s.attributeOldValue&&i.attributeNewValue==s.attributeNewValue;r||n||a?(i.length++,a&&(i.range.end=i.range.end.getShiftedBy(1)),t[e]=null):o=e}t=t.filter(e=>e);for(const e of t)delete e.changeCount,"attribute"==e.type&&(delete e.position,delete e.length);return this._changeCount=0,this._cachedChangesWithGraveyard=t.slice(),this._cachedChanges=t.filter(N),e.includeChangesInGraveyard?this._cachedChangesWithGraveyard:this._cachedChanges}reset(){this._changesInElement.clear(),this._elementSnapshots.clear(),this._changedMarkers.clear(),this._cachedChanges=null}_markInsert(e,t,o){const i={type:"insert",offset:t,howMany:o,count:this._changeCount++};this._markChange(e,i)}_markRemove(e,t,o){const i={type:"remove",offset:t,howMany:o,count:this._changeCount++};this._markChange(e,i),this._removeAllNestedChanges(e,t,o)}_markAttribute(e){const t={type:"attribute",offset:e.startOffset,howMany:e.offsetSize,count:this._changeCount++};this._markChange(e.parent,t)}_markChange(e,t){this._makeSnapshot(e);const o=this._getChangesForElement(e);this._handleChange(t,o),o.push(t);for(let e=0;e<o.length;e++)o[e].howMany<1&&(o.splice(e,1),e--)}_getChangesForElement(e){let t;return this._changesInElement.has(e)?t=this._changesInElement.get(e):(t=[],this._changesInElement.set(e,t)),t}_makeSnapshot(e){this._elementSnapshots.has(e)||this._elementSnapshots.set(e,R(e.getChildren()))}_handleChange(e,t){e.nodesToHandle=e.howMany;for(const o of t){const i=e.offset+e.howMany,s=o.offset+o.howMany;if("insert"==e.type&&("insert"==o.type&&(e.offset<=o.offset?o.offset+=e.howMany:e.offset<s&&(o.howMany+=e.nodesToHandle,e.nodesToHandle=0)),"remove"==o.type&&e.offset<o.offset&&(o.offset+=e.howMany),"attribute"==o.type))if(e.offset<=o.offset)o.offset+=e.howMany;else if(e.offset<s){const s=o.howMany;o.howMany=e.offset-o.offset,t.unshift({type:"attribute",offset:i,howMany:s-o.howMany,count:this._changeCount++})}if("remove"==e.type){if("insert"==o.type)if(i<=o.offset)o.offset-=e.howMany;else if(i<=s)if(e.offset<o.offset){const t=i-o.offset;o.offset=e.offset,o.howMany-=t,e.nodesToHandle-=t}else o.howMany-=e.nodesToHandle,e.nodesToHandle=0;else if(e.offset<=o.offset)e.nodesToHandle-=o.howMany,o.howMany=0;else if(e.offset<s){const t=s-e.offset;o.howMany-=t,e.nodesToHandle-=t}if("remove"==o.type&&(i<=o.offset?o.offset-=e.howMany:e.offset<o.offset&&(e.nodesToHandle+=o.howMany,o.howMany=0)),"attribute"==o.type)if(i<=o.offset)o.offset-=e.howMany;else if(e.offset<o.offset){const t=i-o.offset;o.offset=e.offset,o.howMany-=t}else if(e.offset<s)if(i<=s){const i=o.howMany;o.howMany=e.offset-o.offset;const s=i-o.howMany-e.nodesToHandle;t.unshift({type:"attribute",offset:e.offset,howMany:s,count:this._changeCount++})}else o.howMany-=s-e.offset}if("attribute"==e.type){if("insert"==o.type)if(e.offset<o.offset&&i>o.offset){if(i>s){const e={type:"attribute",offset:s,howMany:i-s,count:this._changeCount++};this._handleChange(e,t),t.push(e)}e.nodesToHandle=o.offset-e.offset,e.howMany=e.nodesToHandle}else e.offset>=o.offset&&e.offset<s&&(i>s?(e.nodesToHandle=i-s,e.offset=s):e.nodesToHandle=0);if("remove"==o.type&&e.offset<o.offset&&i>o.offset){const s={type:"attribute",offset:o.offset,howMany:i-o.offset,count:this._changeCount++};this._handleChange(s,t),t.push(s),e.nodesToHandle=o.offset-e.offset,e.howMany=e.nodesToHandle}"attribute"==o.type&&(e.offset>=o.offset&&i<=s?(e.nodesToHandle=0,e.howMany=0,e.offset=0):e.offset<=o.offset&&i>=s&&(o.howMany=0))}}e.howMany=e.nodesToHandle,delete e.nodesToHandle}_getInsertDiff(e,t,o){return{type:"insert",position:v.a._createAt(e,t),name:o,length:1,changeCount:this._changeCount++}}_getRemoveDiff(e,t,o){return{type:"remove",position:v.a._createAt(e,t),name:o,length:1,changeCount:this._changeCount++}}_getAttributesDiff(e,t,o){const i=[];o=new Map(o);for(const[s,r]of t){const t=o.has(s)?o.get(s):null;t!==r&&i.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:s,attributeOldValue:r,attributeNewValue:t,changeCount:this._changeCount++}),o.delete(s)}for(const[t,s]of o)i.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:t,attributeOldValue:null,attributeNewValue:s,changeCount:this._changeCount++});return i}_isInInsertedElement(e){const t=e.parent;if(!t)return!1;const o=this._changesInElement.get(t),i=e.startOffset;if(o)for(const e of o)if("insert"==e.type&&i>=e.offset&&i<e.offset+e.howMany)return!0;return this._isInInsertedElement(t)}_removeAllNestedChanges(e,t,o){const i=new n.a(v.a._createAt(e,t),v.a._createAt(e,t+o));for(const e of i.getItems({shallow:!0}))e.is("element")&&(this._elementSnapshots.delete(e),this._changesInElement.delete(e),this._removeAllNestedChanges(e,0,e.maxOffset))}}function R(e){const t=[];for(const o of e)if(o.is("$text"))for(let e=0;e<o.data.length;e++)t.push({name:"$text",attributes:new Map(o.getAttributes())});else t.push({name:o.name,attributes:new Map(o.getAttributes())});return t}function M(e,t){const o=[];let i=0,s=0;for(const e of t){if(e.offset>i){for(let t=0;t<e.offset-i;t++)o.push("e");s+=e.offset-i}if("insert"==e.type){for(let t=0;t<e.howMany;t++)o.push("i");i=e.offset+e.howMany}else if("remove"==e.type){for(let t=0;t<e.howMany;t++)o.push("r");i=e.offset,s+=e.howMany}else o.push(..."a".repeat(e.howMany).split("")),i=e.offset+e.howMany,s+=e.howMany}if(s<e)for(let t=0;t<e-s-i;t++)o.push("e");return o}function N(e){const t=e.position&&"$graveyard"==e.position.root.rootName,o=e.range&&"$graveyard"==e.range.root.rootName;return!t&&!o}class I{constructor(){this._operations=[],this._undoPairs=new Map,this._undoneOperations=new Set}addOperation(e){this._operations.includes(e)||this._operations.push(e)}getOperations(e=Number.NEGATIVE_INFINITY,t=Number.POSITIVE_INFINITY){const o=[];for(const i of this._operations)i.baseVersion>=e&&i.baseVersion<t&&o.push(i);return o}getOperation(e){for(const t of this._operations)if(t.baseVersion==e)return t}setOperationAsUndone(e,t){this._undoPairs.set(t,e),this._undoneOperations.add(e)}isUndoingOperation(e){return this._undoPairs.has(e)}isUndoneOperation(e){return this._undoneOperations.has(e)}getUndoneOperation(e){return this._undoPairs.get(e)}}var z=o("./packages/ckeditor5-utils/src/collection.js"),V=o("./packages/ckeditor5-utils/src/emittermixin.js"),D=o("./packages/ckeditor5-utils/src/mix.js");function B(e,t){return!!(o=e.charAt(t-1))&&1==o.length&&/[\ud800-\udbff]/.test(o)&&function(e){return!!e&&1==e.length&&/[\udc00-\udfff]/.test(e)}(e.charAt(t));var o}function F(e,t){return!!(o=e.charAt(t))&&1==o.length&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]/.test(o);var o}var L=o("./node_modules/lodash-es/clone.js");class W{constructor(e){this.model=e,this.version=0,this.history=new I(this),this.selection=new y.a(this),this.roots=new z.a({idProperty:"rootName"}),this.differ=new S(e.markers),this._postFixers=new Set,this._hasSelectionChangedFromTheLastChangeBlock=!1,this.createRoot("$root","$graveyard"),this.listenTo(e,"applyOperation",(e,t)=>{const o=t[0];if(o.isDocumentOperation&&o.baseVersion!==this.version)throw new c.a("model-document-applyoperation-wrong-version",this,{operation:o})},{priority:"highest"}),this.listenTo(e,"applyOperation",(e,t)=>{const o=t[0];o.isDocumentOperation&&this.differ.bufferOperation(o)},{priority:"high"}),this.listenTo(e,"applyOperation",(e,t)=>{const o=t[0];o.isDocumentOperation&&(this.version++,this.history.addOperation(o))},{priority:"low"}),this.listenTo(this.selection,"change",()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0}),this.listenTo(e.markers,"update",(e,t,o,i)=>{this.differ.bufferMarkerChange(t.name,o,i,t.affectsData),null===o&&t.on("change",(e,o)=>{this.differ.bufferMarkerChange(t.name,o,t.getRange(),t.affectsData)})})}get graveyard(){return this.getRoot("$graveyard")}createRoot(e="$root",t="main"){if(this.roots.get(t))throw new c.a("model-document-createroot-name-exists",this,{name:t});const o=new w(this,e,t);return this.roots.add(o),o}destroy(){this.selection.destroy(),this.stopListening()}getRoot(e="main"){return this.roots.get(e)}getRootNames(){return Array.from(this.roots,e=>e.rootName).filter(e=>"$graveyard"!=e)}registerPostFixer(e){this._postFixers.add(e)}toJSON(){const e=Object(L.a)(this);return e.selection="[engine.model.DocumentSelection]",e.model="[engine.model.Model]",e}_handleChangeBlock(e){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(e),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",e.batch):this.fire("change",e.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){for(const e of this.roots)if(e!==this.graveyard)return e;return this.graveyard}_getDefaultRange(){const e=this._getDefaultRoot(),t=this.model,o=t.schema,i=t.createPositionFromPath(e,[0]);return o.getNearestSelectionRange(i)||t.createRange(i)}_validateSelectionRange(e){return H(e.start)&&H(e.end)}_callPostFixers(e){let t=!1;do{for(const o of this._postFixers)if(this.selection.refresh(),t=o(e),t)break}while(t)}}function H(e){const t=e.textNode;if(t){const o=t.data,i=e.offset-t.startOffset;return!B(o,i)&&!F(o,i)}return!0}Object(D.a)(W,V.c);var q=o("./packages/ckeditor5-engine/src/model/liverange.js");class ${constructor(){this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(e){const t=e instanceof U?e.name:e;return this._markers.has(t)}get(e){return this._markers.get(e)||null}_set(e,t,o=!1,i=!1){const s=e instanceof U?e.name:e;if(s.includes(","))throw new c.a("markercollection-incorrect-marker-name",this);const r=this._markers.get(s);if(r){const e=r.getRange();let n=!1;return e.isEqual(t)||(r._attachLiveRange(q.a.fromRange(t)),n=!0),o!=r.managedUsingOperations&&(r._managedUsingOperations=o,n=!0),"boolean"==typeof i&&i!=r.affectsData&&(r._affectsData=i,n=!0),n&&this.fire("update:"+s,r,e,t),r}const n=q.a.fromRange(t),a=new U(s,n,o,i);return this._markers.set(s,a),this.fire("update:"+s,a,null,t),a}_remove(e){const t=e instanceof U?e.name:e,o=this._markers.get(t);return!!o&&(this._markers.delete(t),this.fire("update:"+t,o,o.getRange(),null),this._destroyMarker(o),!0)}_refresh(e){const t=e instanceof U?e.name:e,o=this._markers.get(t);if(!o)throw new c.a("markercollection-refresh-marker-not-exists",this);const i=o.getRange();this.fire("update:"+t,o,i,i,o.managedUsingOperations,o.affectsData)}*getMarkersAtPosition(e){for(const t of this)t.getRange().containsPosition(e)&&(yield t)}*getMarkersIntersectingRange(e){for(const t of this)null!==t.getRange().getIntersection(e)&&(yield t)}destroy(){for(const e of this._markers.values())this._destroyMarker(e);this._markers=null,this.stopListening()}*getMarkersGroup(e){for(const t of this._markers.values())t.name.startsWith(e+":")&&(yield t)}_destroyMarker(e){e.stopListening(),e._detachLiveRange()}}Object(D.a)($,V.c);class U{constructor(e,t,o,i){this.name=e,this._liveRange=this._attachLiveRange(t),this._managedUsingOperations=o,this._affectsData=i}get managedUsingOperations(){if(!this._liveRange)throw new c.a("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new c.a("marker-destroyed",this);return this._affectsData}getStart(){if(!this._liveRange)throw new c.a("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new c.a("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new c.a("marker-destroyed",this);return this._liveRange.toRange()}is(e){return"marker"===e||"model:marker"===e}_attachLiveRange(e){return this._liveRange&&this._detachLiveRange(),e.delegate("change:range").to(this),e.delegate("change:content").to(this),this._liveRange=e,e}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}Object(D.a)(U,V.c);var K=o("./packages/ckeditor5-utils/src/observablemixin.js"),G=o("./packages/ckeditor5-engine/src/model/selection.js"),J=o("./packages/ckeditor5-engine/src/model/operation/operationfactory.js"),Y=o("./packages/ckeditor5-engine/src/model/liveposition.js");class X{constructor(e,t,o){this.model=e,this.writer=t,this.position=o,this.canMergeWith=new Set([this.position.parent]),this.schema=e.schema,this._documentFragment=t.createDocumentFragment(),this._documentFragmentPosition=t.createPositionAt(this._documentFragment,0),this._firstNode=null,this._lastNode=null,this._lastAutoParagraph=null,this._filterAttributesOf=[],this._affectedStart=null,this._affectedEnd=null}handleNodes(e){for(const t of Array.from(e))this._handleNode(t);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(e){const t=this.writer.createPositionAfter(this._lastNode),o=this.writer.createPositionAfter(e);if(o.isAfter(t)){if(this._lastNode=e,this.position.parent!=e||!this.position.isAtEnd)throw new c.a("insertcontent-invalid-insertion-position",this);this.position=o,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this.nodeToSelect?n.a._createOn(this.nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new n.a(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(e){if(this.schema.isObject(e))return void this._handleObject(e);let t=this._checkAndAutoParagraphToAllowedPosition(e);t||(t=this._checkAndSplitToAllowedPosition(e),t)?(this._appendToFragment(e),this._firstNode||(this._firstNode=e),this._lastNode=e):this._handleDisallowedNode(e)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const e=Y.a.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=e.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=e.toPosition(),e.detach()}_handleObject(e){this._checkAndSplitToAllowedPosition(e)?this._appendToFragment(e):this._tryAutoparagraphing(e)}_handleDisallowedNode(e){e.is("element")?this.handleNodes(e.getChildren()):this._tryAutoparagraphing(e)}_appendToFragment(e){if(!this.schema.checkChild(this.position,e))throw new c.a("insertcontent-wrong-position",this,{node:e,position:this.position});this.writer.insert(e,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(e.offsetSize),this.schema.isObject(e)&&!this.schema.checkChild(this.position,"$text")?this.nodeToSelect=e:this.nodeToSelect=null,this._filterAttributesOf.push(e)}_setAffectedBoundaries(e){this._affectedStart||(this._affectedStart=Y.a.fromPosition(e,"toPrevious")),this._affectedEnd&&!this._affectedEnd.isBefore(e)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=Y.a.fromPosition(e,"toNext"))}_mergeOnLeft(){const e=this._firstNode;if(!(e instanceof _.a))return;if(!this._canMergeLeft(e))return;const t=Y.a._createBefore(e);t.stickiness="toNext";const o=Y.a.fromPosition(this.position,"toNext");this._affectedStart.isEqual(t)&&(this._affectedStart.detach(),this._affectedStart=Y.a._createAt(t.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=Y.a._createAt(t.nodeBefore,"end","toNext")),this.position=o.toPosition(),o.detach(),this._filterAttributesOf.push(this.position.parent),t.detach()}_mergeOnRight(){const e=this._lastNode;if(!(e instanceof _.a))return;if(!this._canMergeRight(e))return;const t=Y.a._createAfter(e);if(t.stickiness="toNext",!this.position.isEqual(t))throw new c.a("insertcontent-invalid-insertion-position",this);this.position=v.a._createAt(t.nodeBefore,"end");const o=Y.a.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(t)&&(this._affectedEnd.detach(),this._affectedEnd=Y.a._createAt(t.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=Y.a._createAt(t.nodeBefore,0,"toPrevious")),this.position=o.toPosition(),o.detach(),this._filterAttributesOf.push(this.position.parent),t.detach()}_canMergeLeft(e){const t=e.previousSibling;return t instanceof _.a&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(t,e)}_canMergeRight(e){const t=e.nextSibling;return t instanceof _.a&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(e,t)}_tryAutoparagraphing(e){const t=this.writer.createElement("paragraph");this._getAllowedIn(this.position.parent,t)&&this.schema.checkChild(t,e)&&(t._appendChild(e),this._handleNode(t))}_checkAndAutoParagraphToAllowedPosition(e){if(this.schema.checkChild(this.position.parent,e))return!0;if(!this.schema.checkChild(this.position.parent,"paragraph")||!this.schema.checkChild("paragraph",e))return!1;this._insertPartialFragment();const t=this.writer.createElement("paragraph");return this.writer.insert(t,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=t,this.position=this.writer.createPositionAt(t,0),!0}_checkAndSplitToAllowedPosition(e){const t=this._getAllowedIn(this.position.parent,e);if(!t)return!1;for(t!=this.position.parent&&this._insertPartialFragment();t!=this.position.parent;)if(this.position.isAtStart){const e=this.position.parent;this.position=this.writer.createPositionBefore(e),e.isEmpty&&e.parent===t&&this.writer.remove(e)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const e=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=e,this.canMergeWith.add(this.position.nodeAfter)}return!0}_getAllowedIn(e,t){return this.schema.checkChild(e,t)?e:this.schema.isLimit(e)?null:this._getAllowedIn(e.parent,t)}}function Z(e,t,o={}){if(t.isCollapsed)return;const i=t.getFirstRange();if("$graveyard"==i.root.rootName)return;const s=e.schema;e.change(e=>{if(!o.doNotResetEntireContent&&function(e,t){const o=e.getLimitElement(t);if(!t.containsEntireContent(o))return!1;const i=t.getFirstRange();if(i.start.parent==i.end.parent)return!1;return e.checkChild(o,"paragraph")}(s,t))return void function(e,t){const o=e.model.schema.getLimitElement(t);e.remove(e.createRangeIn(o)),ee(e,e.createPositionAt(o,0),t)}(e,t);const[r,n]=function(e){const t=e.root.document.model,o=e.start;let i=e.end;if(t.hasContent(e,{ignoreMarkers:!0})){const o=function(e){const t=e.parent,o=t.root.document.model.schema,i=t.getAncestors({parentFirst:!0,includeSelf:!0});for(const e of i){if(o.isLimit(e))return null;if(o.isBlock(e))return e}}(i);if(o&&i.isTouching(t.createPositionAt(o,0))){const o=t.createSelection(e);t.modifySelection(o,{direction:"backward"});const s=o.getLastPosition(),r=t.createRange(s,i);t.hasContent(r,{ignoreMarkers:!0})||(i=s)}}return[Y.a.fromPosition(o,"toPrevious"),Y.a.fromPosition(i,"toNext")]}(i);r.isTouching(n)||e.remove(e.createRange(r,n)),o.leaveUnmerged||(!function(e,t,o){const i=e.model;if(!Q(e.model.schema,t,o))return;const[s,r]=function(e,t){const o=e.getAncestors(),i=t.getAncestors();let s=0;for(;o[s]&&o[s]==i[s];)s++;return[o[s],i[s]]}(t,o);if(!s||!r)return;!i.hasContent(s,{ignoreMarkers:!0})&&i.hasContent(r,{ignoreMarkers:!0})?function e(t,o,i,s){const r=o.parent,n=i.parent;if(r==s||n==s)return;o=t.createPositionAfter(r),(i=t.createPositionBefore(n)).isEqual(o)||t.insert(r,i);for(;o.parent.isEmpty;){const e=o.parent;o=t.createPositionBefore(e),t.remove(e)}if(i=t.createPositionBefore(n),function(e,t){const o=t.nodeBefore,i=t.nodeAfter;o.name!=i.name&&e.rename(o,i.name);e.clearAttributes(o),e.setAttributes(Object.fromEntries(i.getAttributes()),o),e.merge(t)}(t,i),!Q(t.model.schema,o,i))return;e(t,o,i,s)}(e,t,o,s.parent):function e(t,o,i,s){const r=o.parent,n=i.parent;if(r==s||n==s)return;o=t.createPositionAfter(r),(i=t.createPositionBefore(n)).isEqual(o)||t.insert(n,o);t.merge(o);for(;i.parent.isEmpty;){const e=i.parent;i=t.createPositionBefore(e),t.remove(e)}if(!Q(t.model.schema,o,i))return;e(t,o,i,s)}(e,t,o,s.parent)}(e,r,n),s.removeDisallowedAttributes(r.parent.getChildren(),e)),te(e,t,r),!o.doNotAutoparagraph&&function(e,t){const o=e.checkChild(t,"$text"),i=e.checkChild(t,"paragraph");return!o&&i}(s,r)&&ee(e,r,t),r.detach(),n.detach()})}function Q(e,t,o){const i=t.parent,s=o.parent;return i!=s&&(!e.isLimit(i)&&!e.isLimit(s)&&function(e,t,o){const i=new n.a(e,t);for(const e of i.getWalker())if(o.isLimit(e.item))return!1;return!0}(t,o,e))}function ee(e,t,o){const i=e.createElement("paragraph");e.insert(i,t),te(e,o,e.createPositionAt(i,0))}function te(e,t,o){t instanceof y.a?e.setSelection(o):t.setTo(o)}var oe=o("./packages/ckeditor5-engine/src/model/treewalker.js");function ie(e,t){const{isForward:o,walker:i,unit:s,schema:r}=e,{type:n,item:a,nextPosition:c}=t;if("text"==n)return"word"===e.unit?function(e,t){let o=e.position.textNode;if(o){let i=e.position.offset-o.startOffset;for(;!re(o.data,i,t)&&!ne(o,i,t);){e.next();const s=t?e.position.nodeAfter:e.position.nodeBefore;if(s&&s.is("$text")){const i=s.data.charAt(t?0:s.data.length-1);' ,.?!:;"-()'.includes(i)||(e.next(),o=e.position.textNode)}i=e.position.offset-o.startOffset}}return e.position}(i,o):function(e,t){const o=e.position.textNode;if(o){const i=o.data;let s=e.position.offset-o.startOffset;for(;B(i,s)||"character"==t&&F(i,s);)e.next(),s=e.position.offset-o.startOffset}return e.position}(i,s);if(n==(o?"elementStart":"elementEnd")){if(r.isSelectable(a))return v.a._createAt(a,o?"after":"before");if(r.checkChild(c,"$text"))return c}else{if(r.isLimit(a))return void i.skip(()=>!0);if(r.checkChild(c,"$text"))return c}}function se(e,t){const o=e.root,i=v.a._createAt(o,t?"end":0);return t?new n.a(e,i):new n.a(i,e)}function re(e,t,o){const i=t+(o?0:-1);return' ,.?!:;"-()'.includes(e.charAt(i))}function ne(e,t,o){return t===(o?e.endOffset:0)}function ae(e,t){const o=[];Array.from(e.getItems({direction:"backward"})).map(e=>t.createRangeOn(e)).filter(t=>(t.start.isAfter(e.start)||t.start.isEqual(e.start))&&(t.end.isBefore(e.end)||t.end.isEqual(e.end))).forEach(e=>{o.push(e.start.parent),t.remove(e)}),o.forEach(e=>{let o=e;for(;o.parent&&o.isEmpty;){const e=t.createRangeOn(o);o=o.parent,t.remove(e)}})}function ce(e){e.document.registerPostFixer(t=>function(e,t){const o=t.document.selection,i=t.schema,s=[];let r=!1;for(const e of o.getRanges()){const t=le(e,i);t&&!t.isEqual(e)?(s.push(t),r=!0):s.push(e)}r&&e.setSelection(function(e){const t=[];t.push(e.shift());for(const o of e){const e=t.pop();if(o.isEqual(e))t.push(e);else if(o.isIntersecting(e)){const i=e.start.isAfter(o.start)?o.start:e.start,s=e.end.isAfter(o.end)?e.end:o.end,r=new n.a(i,s);t.push(r)}else t.push(e),t.push(o)}return t}(s),{backward:o.isBackward})}(t,e))}function le(e,t){return e.isCollapsed?function(e,t){const o=e.start,i=t.getNearestSelectionRange(o);if(!i){const e=o.getAncestors().reverse().find(e=>t.isObject(e));return e?n.a._createOn(e):null}if(!i.isCollapsed)return i;const s=i.start;if(o.isEqual(s))return null;return new n.a(s)}(e,t):function(e,t){const{start:o,end:i}=e,s=t.checkChild(o,"$text"),r=t.checkChild(i,"$text"),a=t.getLimitElement(o),c=t.getLimitElement(i);if(a===c){if(s&&r)return null;if(function(e,t,o){const i=e.nodeAfter&&!o.isLimit(e.nodeAfter)||o.checkChild(e,"$text"),s=t.nodeBefore&&!o.isLimit(t.nodeBefore)||o.checkChild(t,"$text");return i||s}(o,i,t)){const e=o.nodeAfter&&t.isSelectable(o.nodeAfter)?null:t.getNearestSelectionRange(o,"forward"),s=i.nodeBefore&&t.isSelectable(i.nodeBefore)?null:t.getNearestSelectionRange(i,"backward"),r=e?e.start:o,a=s?s.end:i;return new n.a(r,a)}}const l=a&&!a.is("rootElement"),d=c&&!c.is("rootElement");if(l||d){const e=o.nodeAfter&&i.nodeBefore&&o.nodeAfter.parent===i.nodeBefore.parent,s=l&&(!e||!ue(o.nodeAfter,t)),r=d&&(!e||!ue(i.nodeBefore,t));let u=o,h=i;return s&&(u=v.a._createBefore(de(a,t))),r&&(h=v.a._createAfter(de(c,t))),new n.a(u,h)}return null}(e,t)}function de(e,t){let o=e,i=o;for(;t.isLimit(i)&&i.parent;)o=i,i=i.parent;return o}function ue(e,t){return e&&t.isSelectable(e)}var he=o("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js");class pe{constructor(){this.markers=new $,this.document=new W(this),this.schema=new E.b,this._pendingChanges=[],this._currentWriter=null,["insertContent","deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach(e=>this.decorate(e)),this.on("applyOperation",(e,t)=>{t[0]._validate()},{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$block",{allowIn:"$root",isBlock:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck((e,t)=>{if("$marker"===t.name)return!0}),ce(this),this.document.registerPostFixer(he.a)}change(e){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new i,callback:e}),this._runPendingChanges()[0]):e(this._currentWriter)}catch(e){c.a.rethrowUnexpectedError(e,this)}}enqueueChange(e,t){try{"string"==typeof e?e=new i(e):"function"==typeof e&&(t=e,e=new i),this._pendingChanges.push({batch:e,callback:t}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(e){c.a.rethrowUnexpectedError(e,this)}}applyOperation(e){e._execute()}insertContent(e,t,o){return function(e,t,o,i){return e.change(s=>{let r;r=o?o instanceof G.a||o instanceof y.a?o:s.createSelection(o,i):e.document.selection,r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0});const n=new X(e,s,r.anchor);let a;a=t.is("documentFragment")?t.getChildren():[t],n.handleNodes(a);const c=n.getSelectionRange();c&&(r instanceof y.a?s.setSelection(c):r.setTo(c));const l=n.getAffectedRange()||e.createRange(r.anchor);return n.destroy(),l})}(this,e,t,o)}deleteContent(e,t){Z(this,e,t)}modifySelection(e,t){!function(e,t,o={}){const i=e.schema,s="backward"!=o.direction,r=o.unit?o.unit:"character",n=t.focus,a=new oe.a({boundaries:se(n,s),singleCharacters:!0,direction:s?"forward":"backward"}),c={walker:a,schema:i,isForward:s,unit:r};let l;for(;l=a.next();){if(l.done)return;const o=ie(c,l.value);if(o)return void(t instanceof y.a?e.change(e=>{e.setSelectionFocus(o)}):t.setFocus(o))}}(this,e,t)}getSelectedContent(e){return function(e,t){return e.change(e=>{const o=e.createDocumentFragment(),i=t.getFirstRange();if(!i||i.isCollapsed)return o;const s=i.start.root,r=i.start.getCommonPath(i.end),n=s.getNodeByPath(r);let a;a=i.start.parent==i.end.parent?i:e.createRange(e.createPositionAt(n,i.start.path[r.length]),e.createPositionAt(n,i.end.path[r.length]+1));const c=a.end.offset-a.start.offset;for(const t of a.getItems({shallow:!0}))t.is("$textProxy")?e.appendText(t.data,t.getAttributes(),o):e.append(e.cloneElement(t,!0),o);if(a!=i){const t=i._getTransformedByMove(a.start,e.createPositionAt(o,0),c)[0],s=e.createRange(e.createPositionAt(o,0),t.start);ae(e.createRange(t.end,e.createPositionAt(o,"end")),e),ae(s,e)}return o})}(this,e)}hasContent(e,t={}){const o=e instanceof _.a?n.a._createIn(e):e;if(o.isCollapsed)return!1;const{ignoreWhitespaces:i=!1,ignoreMarkers:s=!1}=t;if(!s)for(const e of this.markers.getMarkersIntersectingRange(o))if(e.affectsData)return!0;for(const e of o.getItems())if(this.schema.isContent(e)){if(!e.is("$textProxy"))return!0;if(!i)return!0;if(-1!==e.data.search(/\S/))return!0}return!1}createPositionFromPath(e,t,o){return new v.a(e,t,o)}createPositionAt(e,t){return v.a._createAt(e,t)}createPositionAfter(e){return v.a._createAfter(e)}createPositionBefore(e){return v.a._createBefore(e)}createRange(e,t){return new n.a(e,t)}createRangeIn(e){return n.a._createIn(e)}createRangeOn(e){return n.a._createOn(e)}createSelection(e,t,o){return new G.a(e,t,o)}createBatch(e){return new i(e)}createOperationFromJSON(e){return J.a.fromJSON(e,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const e=[];for(this.fire("_beforeChanges");this._pendingChanges.length;){const t=this._pendingChanges[0].batch;this._currentWriter=new x(this,t);const o=this._pendingChanges[0].callback(this._currentWriter);e.push(o),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}return this.fire("_afterChanges"),e}}Object(D.a)(pe,K.a)},"./packages/ckeditor5-engine/src/model/node.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var i=o("./packages/ckeditor5-utils/src/tomap.js"),s=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=o("./packages/ckeditor5-utils/src/comparearrays.js");o("./packages/ckeditor5-utils/src/version.js");class n{constructor(e){this.parent=null,this._attrs=Object(i.a)(e)}get index(){let e;if(!this.parent)return null;if(null===(e=this.parent.getChildIndex(this)))throw new s.a("model-node-not-found-in-parent",this);return e}get startOffset(){let e;if(!this.parent)return null;if(null===(e=this.parent.getChildStartOffset(this)))throw new s.a("model-node-not-found-in-parent",this);return e}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return this.root.is("rootElement")}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.startOffset),t=t.parent;return e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let o=e.includeSelf?this:this.parent;for(;o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}getCommonAncestor(e,t={}){const o=this.getAncestors(t),i=e.getAncestors(t);let s=0;for(;o[s]==i[s]&&o[s];)s++;return 0===s?null:o[s-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),o=e.getPath(),i=Object(r.a)(t,o);switch(i){case"prefix":return!0;case"extension":return!1;default:return t[i]<o[i]}}isAfter(e){return this!=e&&(this.root===e.root&&!this.isBefore(e))}hasAttribute(e){return this._attrs.has(e)}getAttribute(e){return this._attrs.get(e)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}toJSON(){const e={};return this._attrs.size&&(e.attributes=Array.from(this._attrs).reduce((e,t)=>(e[t[0]]=t[1],e),{})),e}is(e){return"node"===e||"model:node"===e}_clone(){return new n(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(e,t){this._attrs.set(e,t)}_setAttributesTo(e){this._attrs=Object(i.a)(e)}_removeAttribute(e){return this._attrs.delete(e)}_clearAttributes(){this._attrs.clear()}}},"./packages/ckeditor5-engine/src/model/nodelist.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-engine/src/model/node.js"),s=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class r{constructor(e){this._nodes=[],e&&this._insertNodes(0,e)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce((e,t)=>e+t.offsetSize,0)}getNode(e){return this._nodes[e]||null}getNodeIndex(e){const t=this._nodes.indexOf(e);return-1==t?null:t}getNodeStartOffset(e){const t=this.getNodeIndex(e);return null===t?null:this._nodes.slice(0,t).reduce((e,t)=>e+t.offsetSize,0)}indexToOffset(e){if(e==this._nodes.length)return this.maxOffset;const t=this._nodes[e];if(!t)throw new s.a("model-nodelist-index-out-of-bounds",this);return this.getNodeStartOffset(t)}offsetToIndex(e){let t=0;for(const o of this._nodes){if(e>=t&&e<t+o.offsetSize)return this.getNodeIndex(o);t+=o.offsetSize}if(t!=e)throw new s.a("model-nodelist-offset-out-of-bounds",this,{offset:e,nodeList:this});return this.length}_insertNodes(e,t){for(const e of t)if(!(e instanceof i.a))throw new s.a("model-nodelist-insertnodes-not-node",this);this._nodes.splice(e,0,...t)}_removeNodes(e,t=1){return this._nodes.splice(e,t)}toJSON(){return this._nodes.map(e=>e.toJSON())}}},"./packages/ckeditor5-engine/src/model/operation/attributeoperation.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return l}));var i=o("./packages/ckeditor5-engine/src/model/operation/operation.js"),s=o("./packages/ckeditor5-engine/src/model/range.js"),r=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=o("./packages/ckeditor5-engine/src/model/operation/utils.js"),a=o("./node_modules/lodash-es/_baseIsEqual.js");var c=function(e,t){return Object(a.a)(e,t)};class l extends i.a{constructor(e,t,o,i,s){super(s),this.range=e.clone(),this.key=t,this.oldValue=void 0===o?null:o,this.newValue=void 0===i?null:i}get type(){return null===this.oldValue?"addAttribute":null===this.newValue?"removeAttribute":"changeAttribute"}clone(){return new l(this.range,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new l(this.range,this.key,this.newValue,this.oldValue,this.baseVersion+1)}toJSON(){const e=super.toJSON();return e.range=this.range.toJSON(),e}_validate(){if(!this.range.isFlat)throw new r.a("attribute-operation-range-not-flat",this);for(const e of this.range.getItems({shallow:!0})){if(null!==this.oldValue&&!c(e.getAttribute(this.key),this.oldValue))throw new r.a("attribute-operation-wrong-old-value",this,{item:e,key:this.key,value:this.oldValue});if(null===this.oldValue&&null!==this.newValue&&e.hasAttribute(this.key))throw new r.a("attribute-operation-attribute-exists",this,{node:e,key:this.key})}}_execute(){c(this.oldValue,this.newValue)||Object(n.e)(this.range,this.key,this.newValue)}static get className(){return"AttributeOperation"}static fromJSON(e,t){return new l(s.a.fromJSON(e.range,t),e.key,e.oldValue,e.newValue,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/insertoperation.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var i=o("./packages/ckeditor5-engine/src/model/operation/operation.js"),s=o("./packages/ckeditor5-engine/src/model/position.js"),r=o("./packages/ckeditor5-engine/src/model/nodelist.js"),n=o("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),a=o("./packages/ckeditor5-engine/src/model/operation/utils.js"),c=o("./packages/ckeditor5-engine/src/model/text.js"),l=o("./packages/ckeditor5-engine/src/model/element.js"),d=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class u extends i.a{constructor(e,t,o){super(o),this.position=e.clone(),this.position.stickiness="toNone",this.nodes=new r.a(Object(a.c)(t)),this.shouldReceiveAttributes=!1}get type(){return"insert"}get howMany(){return this.nodes.maxOffset}clone(){const e=new r.a([...this.nodes].map(e=>e._clone(!0))),t=new u(this.position,e,this.baseVersion);return t.shouldReceiveAttributes=this.shouldReceiveAttributes,t}getReversed(){const e=this.position.root.document.graveyard,t=new s.a(e,[0]);return new n.a(this.position,this.nodes.maxOffset,t,this.baseVersion+1)}_validate(){const e=this.position.parent;if(!e||e.maxOffset<this.position.offset)throw new d.a("insert-operation-position-invalid",this)}_execute(){const e=this.nodes;this.nodes=new r.a([...e].map(e=>e._clone(!0))),Object(a.a)(this.position,e)}toJSON(){const e=super.toJSON();return e.position=this.position.toJSON(),e.nodes=this.nodes.toJSON(),e}static get className(){return"InsertOperation"}static fromJSON(e,t){const o=[];for(const t of e.nodes)t.name?o.push(l.a.fromJSON(t)):o.push(c.a.fromJSON(t));const i=new u(s.a.fromJSON(e.position,t),o,e.baseVersion);return i.shouldReceiveAttributes=e.shouldReceiveAttributes,i}}},"./packages/ckeditor5-engine/src/model/operation/markeroperation.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-engine/src/model/operation/operation.js"),s=o("./packages/ckeditor5-engine/src/model/range.js");class r extends i.a{constructor(e,t,o,i,s,r){super(r),this.name=e,this.oldRange=t?t.clone():null,this.newRange=o?o.clone():null,this.affectsData=s,this._markers=i}get type(){return"marker"}clone(){return new r(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new r(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){const e=this.newRange?"_set":"_remove";this._markers[e](this.name,this.newRange,!0,this.affectsData)}toJSON(){const e=super.toJSON();return this.oldRange&&(e.oldRange=this.oldRange.toJSON()),this.newRange&&(e.newRange=this.newRange.toJSON()),delete e._markers,e}static get className(){return"MarkerOperation"}static fromJSON(e,t){return new r(e.name,e.oldRange?s.a.fromJSON(e.oldRange,t):null,e.newRange?s.a.fromJSON(e.newRange,t):null,t.model.markers,e.affectsData,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/mergeoperation.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return l}));var i=o("./packages/ckeditor5-engine/src/model/operation/operation.js"),s=o("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),r=o("./packages/ckeditor5-engine/src/model/position.js"),n=o("./packages/ckeditor5-engine/src/model/range.js"),a=o("./packages/ckeditor5-engine/src/model/operation/utils.js"),c=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class l extends i.a{constructor(e,t,o,i,s){super(s),this.sourcePosition=e.clone(),this.sourcePosition.stickiness="toPrevious",this.howMany=t,this.targetPosition=o.clone(),this.targetPosition.stickiness="toNext",this.graveyardPosition=i.clone()}get type(){return"merge"}get deletionPosition(){return new r.a(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const e=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new n.a(this.sourcePosition,e)}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const e=this.targetPosition._getTransformedByMergeOperation(this),t=this.sourcePosition.path.slice(0,-1),o=new r.a(this.sourcePosition.root,t)._getTransformedByMergeOperation(this);return new s.a(e,this.howMany,o,this.graveyardPosition,this.baseVersion+1)}_validate(){const e=this.sourcePosition.parent,t=this.targetPosition.parent;if(!e.parent)throw new c.a("merge-operation-source-position-invalid",this);if(!t.parent)throw new c.a("merge-operation-target-position-invalid",this);if(this.howMany!=e.maxOffset)throw new c.a("merge-operation-how-many-invalid",this)}_execute(){const e=this.sourcePosition.parent,t=n.a._createIn(e);Object(a.b)(t,this.targetPosition),Object(a.b)(n.a._createOn(e),this.graveyardPosition)}toJSON(){const e=super.toJSON();return e.sourcePosition=e.sourcePosition.toJSON(),e.targetPosition=e.targetPosition.toJSON(),e.graveyardPosition=e.graveyardPosition.toJSON(),e}static get className(){return"MergeOperation"}static fromJSON(e,t){const o=r.a.fromJSON(e.sourcePosition,t),i=r.a.fromJSON(e.targetPosition,t),s=r.a.fromJSON(e.graveyardPosition,t);return new this(o,e.howMany,i,s,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/moveoperation.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return l}));var i=o("./packages/ckeditor5-engine/src/model/operation/operation.js"),s=o("./packages/ckeditor5-engine/src/model/position.js"),r=o("./packages/ckeditor5-engine/src/model/range.js"),n=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),a=o("./packages/ckeditor5-utils/src/comparearrays.js"),c=o("./packages/ckeditor5-engine/src/model/operation/utils.js");class l extends i.a{constructor(e,t,o,i){super(i),this.sourcePosition=e.clone(),this.sourcePosition.stickiness="toNext",this.howMany=t,this.targetPosition=o.clone(),this.targetPosition.stickiness="toNone"}get type(){return"$graveyard"==this.targetPosition.root.rootName?"remove":"$graveyard"==this.sourcePosition.root.rootName?"reinsert":"move"}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.baseVersion)}getMovedRangeStart(){return this.targetPosition._getTransformedByDeletion(this.sourcePosition,this.howMany)}getReversed(){const e=this.sourcePosition._getTransformedByInsertion(this.targetPosition,this.howMany);return new this.constructor(this.getMovedRangeStart(),this.howMany,e,this.baseVersion+1)}_validate(){const e=this.sourcePosition.parent,t=this.targetPosition.parent,o=this.sourcePosition.offset,i=this.targetPosition.offset;if(o+this.howMany>e.maxOffset)throw new n.a("move-operation-nodes-do-not-exist",this);if(e===t&&o<i&&i<o+this.howMany)throw new n.a("move-operation-range-into-itself",this);if(this.sourcePosition.root==this.targetPosition.root&&"prefix"==Object(a.a)(this.sourcePosition.getParentPath(),this.targetPosition.getParentPath())){const e=this.sourcePosition.path.length-1;if(this.targetPosition.path[e]>=o&&this.targetPosition.path[e]<o+this.howMany)throw new n.a("move-operation-node-into-itself",this)}}_execute(){Object(c.b)(r.a._createFromPositionAndShift(this.sourcePosition,this.howMany),this.targetPosition)}toJSON(){const e=super.toJSON();return e.sourcePosition=this.sourcePosition.toJSON(),e.targetPosition=this.targetPosition.toJSON(),e}static get className(){return"MoveOperation"}static fromJSON(e,t){const o=s.a.fromJSON(e.sourcePosition,t),i=s.a.fromJSON(e.targetPosition,t);return new this(o,e.howMany,i,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/nooperation.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-engine/src/model/operation/operation.js");class s extends i.a{get type(){return"noop"}clone(){return new s(this.baseVersion)}getReversed(){return new s(this.baseVersion+1)}_execute(){}static get className(){return"NoOperation"}}},"./packages/ckeditor5-engine/src/model/operation/operation.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));class i{constructor(e){this.baseVersion=e,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const e=Object.assign({},this);return e.__className=this.constructor.className,delete e.batch,delete e.isDocumentOperation,e}static get className(){return"Operation"}static fromJSON(e){return new this(e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/operationfactory.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return g}));var i=o("./packages/ckeditor5-engine/src/model/operation/attributeoperation.js"),s=o("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),r=o("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),n=o("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),a=o("./packages/ckeditor5-engine/src/model/operation/nooperation.js"),c=o("./packages/ckeditor5-engine/src/model/operation/operation.js"),l=o("./packages/ckeditor5-engine/src/model/operation/renameoperation.js"),d=o("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js"),u=o("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),h=o("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js");const p={};p[i.a.className]=i.a,p[s.a.className]=s.a,p[r.a.className]=r.a,p[n.a.className]=n.a,p[a.a.className]=a.a,p[c.a.className]=c.a,p[l.a.className]=l.a,p[d.a.className]=d.a,p[u.a.className]=u.a,p[h.a.className]=h.a;class g{static fromJSON(e,t){return p[e.__className].fromJSON(e,t)}}},"./packages/ckeditor5-engine/src/model/operation/renameoperation.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-engine/src/model/operation/operation.js"),s=o("./packages/ckeditor5-engine/src/model/element.js"),r=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=o("./packages/ckeditor5-engine/src/model/position.js");class a extends i.a{constructor(e,t,o,i){super(i),this.position=e,this.position.stickiness="toNext",this.oldName=t,this.newName=o}get type(){return"rename"}clone(){return new a(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new a(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const e=this.position.nodeAfter;if(!(e instanceof s.a))throw new r.a("rename-operation-wrong-position",this);if(e.name!==this.oldName)throw new r.a("rename-operation-wrong-name",this)}_execute(){this.position.nodeAfter.name=this.newName}toJSON(){const e=super.toJSON();return e.position=this.position.toJSON(),e}static get className(){return"RenameOperation"}static fromJSON(e,t){return new a(n.a.fromJSON(e.position,t),e.oldName,e.newName,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-engine/src/model/operation/operation.js"),s=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class r extends i.a{constructor(e,t,o,i,s){super(s),this.root=e,this.key=t,this.oldValue=o,this.newValue=i}get type(){return null===this.oldValue?"addRootAttribute":null===this.newValue?"removeRootAttribute":"changeRootAttribute"}clone(){return new r(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new r(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is("documentFragment"))throw new s.a("rootattribute-operation-not-a-root",this,{root:this.root,key:this.key});if(null!==this.oldValue&&this.root.getAttribute(this.key)!==this.oldValue)throw new s.a("rootattribute-operation-wrong-old-value",this,{root:this.root,key:this.key});if(null===this.oldValue&&null!==this.newValue&&this.root.hasAttribute(this.key))throw new s.a("rootattribute-operation-attribute-exists",this,{root:this.root,key:this.key})}_execute(){null!==this.newValue?this.root._setAttribute(this.key,this.newValue):this.root._removeAttribute(this.key)}toJSON(){const e=super.toJSON();return e.root=this.root.toJSON(),e}static get className(){return"RootAttributeOperation"}static fromJSON(e,t){if(!t.getRoot(e.root))throw new s.a("rootattribute-operation-fromjson-no-root",this,{rootName:e.root});return new r(t.getRoot(e.root),e.key,e.oldValue,e.newValue,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/splitoperation.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return l}));var i=o("./packages/ckeditor5-engine/src/model/operation/operation.js"),s=o("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js"),r=o("./packages/ckeditor5-engine/src/model/position.js"),n=o("./packages/ckeditor5-engine/src/model/range.js"),a=o("./packages/ckeditor5-engine/src/model/operation/utils.js"),c=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class l extends i.a{constructor(e,t,o,i,s){super(s),this.splitPosition=e.clone(),this.splitPosition.stickiness="toNext",this.howMany=t,this.insertionPosition=o,this.graveyardPosition=i?i.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const e=this.insertionPosition.path.slice();return e.push(0),new r.a(this.insertionPosition.root,e)}get movedRange(){const e=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new n.a(this.splitPosition,e)}clone(){return new this.constructor(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const e=this.splitPosition.root.document.graveyard,t=new r.a(e,[0]);return new s.a(this.moveTargetPosition,this.howMany,this.splitPosition,t,this.baseVersion+1)}_validate(){const e=this.splitPosition.parent,t=this.splitPosition.offset;if(!e||e.maxOffset<t)throw new c.a("split-operation-position-invalid",this);if(!e.parent)throw new c.a("split-operation-split-in-root",this);if(this.howMany!=e.maxOffset-this.splitPosition.offset)throw new c.a("split-operation-how-many-invalid",this);if(this.graveyardPosition&&!this.graveyardPosition.nodeAfter)throw new c.a("split-operation-graveyard-position-invalid",this)}_execute(){const e=this.splitPosition.parent;if(this.graveyardPosition)Object(a.b)(n.a._createFromPositionAndShift(this.graveyardPosition,1),this.insertionPosition);else{const t=e._clone();Object(a.a)(this.insertionPosition,t)}const t=new n.a(r.a._createAt(e,this.splitPosition.offset),r.a._createAt(e,e.maxOffset));Object(a.b)(t,this.moveTargetPosition)}toJSON(){const e=super.toJSON();return e.splitPosition=this.splitPosition.toJSON(),e.insertionPosition=this.insertionPosition.toJSON(),this.graveyardPosition&&(e.graveyardPosition=this.graveyardPosition.toJSON()),e}static get className(){return"SplitOperation"}static getInsertionPosition(e){const t=e.path.slice(0,-1);return t[t.length-1]++,new r.a(e.root,t,"toPrevious")}static fromJSON(e,t){const o=r.a.fromJSON(e.splitPosition,t),i=r.a.fromJSON(e.insertionPosition,t),s=e.graveyardPosition?r.a.fromJSON(e.graveyardPosition,t):null;return new this(o,e.howMany,i,s,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/transform.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return _}));var i=o("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),s=o("./packages/ckeditor5-engine/src/model/operation/attributeoperation.js"),r=o("./packages/ckeditor5-engine/src/model/operation/renameoperation.js"),n=o("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),a=o("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),c=o("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js"),l=o("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js"),d=o("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),u=o("./packages/ckeditor5-engine/src/model/operation/nooperation.js"),h=o("./packages/ckeditor5-engine/src/model/range.js"),p=o("./packages/ckeditor5-engine/src/model/position.js"),g=o("./packages/ckeditor5-utils/src/comparearrays.js");const f=new Map;function m(e,t,o){let i=f.get(e);i||(i=new Map,f.set(e,i)),i.set(t,o)}function k(e){return[e]}function b(e,t,o={}){const i=function(e,t){const o=f.get(e);return o&&o.has(t)?o.get(t):k}(e.constructor,t.constructor);try{return i(e=e.clone(),t,o)}catch(e){throw e}}function _(e,t,o){e=e.slice(),t=t.slice();const i=new w(o.document,o.useRelations,o.forceWeakRemove);i.setOriginalOperations(e),i.setOriginalOperations(t);const s=i.originalOperations;if(0==e.length||0==t.length)return{operationsA:e,operationsB:t,originalOperations:s};const r=new WeakMap;for(const t of e)r.set(t,0);const n={nextBaseVersionA:e[e.length-1].baseVersion+1,nextBaseVersionB:t[t.length-1].baseVersion+1,originalOperationsACount:e.length,originalOperationsBCount:t.length};let a=0;for(;a<e.length;){const o=e[a],s=r.get(o);if(s==t.length){a++;continue}const n=t[s],c=b(o,n,i.getContext(o,n,!0)),l=b(n,o,i.getContext(n,o,!1));i.updateRelation(o,n),i.setOriginalOperations(c,o),i.setOriginalOperations(l,n);for(const e of c)r.set(e,s+l.length);e.splice(a,1,...c),t.splice(s,1,...l)}if(o.padWithNoOps){const o=e.length-n.originalOperationsACount,i=t.length-n.originalOperationsBCount;y(e,i-o),y(t,o-i)}return v(e,n.nextBaseVersionB),v(t,n.nextBaseVersionA),{operationsA:e,operationsB:t,originalOperations:s}}class w{constructor(e,t,o=!1){this.originalOperations=new Map,this._history=e.history,this._useRelations=t,this._forceWeakRemove=!!o,this._relations=new Map}setOriginalOperations(e,t=null){const o=t?this.originalOperations.get(t):null;for(const t of e)this.originalOperations.set(t,o||t)}updateRelation(e,t){switch(e.constructor){case a.a:switch(t.constructor){case l.a:e.targetPosition.isEqual(t.sourcePosition)||t.movedRange.containsPosition(e.targetPosition)?this._setRelation(e,t,"insertAtSource"):e.targetPosition.isEqual(t.deletionPosition)?this._setRelation(e,t,"insertBetween"):e.targetPosition.isAfter(t.sourcePosition)&&this._setRelation(e,t,"moveTargetAfter");break;case a.a:e.targetPosition.isEqual(t.sourcePosition)||e.targetPosition.isBefore(t.sourcePosition)?this._setRelation(e,t,"insertBefore"):this._setRelation(e,t,"insertAfter")}break;case d.a:switch(t.constructor){case l.a:e.splitPosition.isBefore(t.sourcePosition)&&this._setRelation(e,t,"splitBefore");break;case a.a:if(e.splitPosition.isEqual(t.sourcePosition)||e.splitPosition.isBefore(t.sourcePosition))this._setRelation(e,t,"splitBefore");else{const o=h.a._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.splitPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.splitPosition)){const i=o.end.offset-e.splitPosition.offset,s=e.splitPosition.offset-o.start.offset;this._setRelation(e,t,{howMany:i,offset:s})}}}break;case l.a:switch(t.constructor){case l.a:e.targetPosition.isEqual(t.sourcePosition)||this._setRelation(e,t,"mergeTargetNotMoved"),e.sourcePosition.isEqual(t.targetPosition)&&this._setRelation(e,t,"mergeSourceNotMoved"),e.sourcePosition.isEqual(t.sourcePosition)&&this._setRelation(e,t,"mergeSameElement");break;case d.a:e.sourcePosition.isEqual(t.splitPosition)&&this._setRelation(e,t,"splitAtSource")}break;case n.a:{const o=e.newRange;if(!o)return;switch(t.constructor){case a.a:{const i=h.a._createFromPositionAndShift(t.sourcePosition,t.howMany),s=i.containsPosition(o.start)||i.start.isEqual(o.start),r=i.containsPosition(o.end)||i.end.isEqual(o.end);!s&&!r||i.containsRange(o)||this._setRelation(e,t,{side:s?"left":"right",path:s?o.start.path.slice():o.end.path.slice()});break}case l.a:{const i=o.start.isEqual(t.targetPosition),s=o.start.isEqual(t.deletionPosition),r=o.end.isEqual(t.deletionPosition),n=o.end.isEqual(t.sourcePosition);(i||s||r||n)&&this._setRelation(e,t,{wasInLeftElement:i,wasStartBeforeMergedElement:s,wasEndBeforeMergedElement:r,wasInRightElement:n});break}}break}}}getContext(e,t,o){return{aIsStrong:o,aWasUndone:this._wasUndone(e),bWasUndone:this._wasUndone(t),abRelation:this._useRelations?this._getRelation(e,t):null,baRelation:this._useRelations?this._getRelation(t,e):null,forceWeakRemove:this._forceWeakRemove}}_wasUndone(e){const t=this.originalOperations.get(e);return t.wasUndone||this._history.isUndoneOperation(t)}_getRelation(e,t){const o=this.originalOperations.get(t),i=this._history.getUndoneOperation(o);if(!i)return null;const s=this.originalOperations.get(e),r=this._relations.get(s);return r&&r.get(i)||null}_setRelation(e,t,o){const i=this.originalOperations.get(e),s=this.originalOperations.get(t);let r=this._relations.get(i);r||(r=new Map,this._relations.set(i,r)),r.set(s,o)}}function v(e,t){for(const o of e)o.baseVersion=t++}function y(e,t){for(let o=0;o<t;o++)e.push(new u.a(0))}function j(e,t,o){const i=e.nodes.getNode(0).getAttribute(t);if(i==o)return null;const r=new h.a(e.position,e.position.getShiftedBy(e.howMany));return new s.a(r,t,i,o,0)}function x(e,t){return null===e.targetPosition._getTransformedByDeletion(t.sourcePosition,t.howMany)}function P(e,t){const o=[];for(let i=0;i<e.length;i++){const s=e[i],r=new a.a(s.start,s.end.offset-s.start.offset,t,0);o.push(r);for(let t=i+1;t<e.length;t++)e[t]=e[t]._getTransformedByMove(r.sourcePosition,r.targetPosition,r.howMany)[0];t=t._getTransformedByMove(r.sourcePosition,r.targetPosition,r.howMany)}return o}m(s.a,s.a,(e,t,o)=>{if(e.key===t.key&&e.range.start.hasSameParentAs(t.range.start)){const i=e.range.getDifference(t.range).map(t=>new s.a(t,e.key,e.oldValue,e.newValue,0)),r=e.range.getIntersection(t.range);return r&&o.aIsStrong&&i.push(new s.a(r,t.key,t.newValue,e.newValue,0)),0==i.length?[new u.a(0)]:i}return[e]}),m(s.a,i.a,(e,t)=>{if(e.range.start.hasSameParentAs(t.position)&&e.range.containsPosition(t.position)){const o=e.range._getTransformedByInsertion(t.position,t.howMany,!t.shouldReceiveAttributes).map(t=>new s.a(t,e.key,e.oldValue,e.newValue,e.baseVersion));if(t.shouldReceiveAttributes){const i=j(t,e.key,e.oldValue);i&&o.unshift(i)}return o}return e.range=e.range._getTransformedByInsertion(t.position,t.howMany,!1)[0],[e]}),m(s.a,l.a,(e,t)=>{const o=[];e.range.start.hasSameParentAs(t.deletionPosition)&&(e.range.containsPosition(t.deletionPosition)||e.range.start.isEqual(t.deletionPosition))&&o.push(h.a._createFromPositionAndShift(t.graveyardPosition,1));const i=e.range._getTransformedByMergeOperation(t);return i.isCollapsed||o.push(i),o.map(t=>new s.a(t,e.key,e.oldValue,e.newValue,e.baseVersion))}),m(s.a,a.a,(e,t)=>function(e,t){const o=h.a._createFromPositionAndShift(t.sourcePosition,t.howMany);let i=null,s=[];o.containsRange(e,!0)?i=e:e.start.hasSameParentAs(o.start)?(s=e.getDifference(o),i=e.getIntersection(o)):s=[e];const r=[];for(let e of s){e=e._getTransformedByDeletion(t.sourcePosition,t.howMany);const o=t.getMovedRangeStart(),i=e.start.hasSameParentAs(o);e=e._getTransformedByInsertion(o,t.howMany,i),r.push(...e)}i&&r.push(i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany,!1)[0]);return r}(e.range,t).map(t=>new s.a(t,e.key,e.oldValue,e.newValue,e.baseVersion))),m(s.a,d.a,(e,t)=>{if(e.range.end.isEqual(t.insertionPosition))return t.graveyardPosition||e.range.end.offset++,[e];if(e.range.start.hasSameParentAs(t.splitPosition)&&e.range.containsPosition(t.splitPosition)){const o=e.clone();return o.range=new h.a(t.moveTargetPosition.clone(),e.range.end._getCombined(t.splitPosition,t.moveTargetPosition)),e.range.end=t.splitPosition.clone(),e.range.end.stickiness="toPrevious",[e,o]}return e.range=e.range._getTransformedBySplitOperation(t),[e]}),m(i.a,s.a,(e,t)=>{const o=[e];if(e.shouldReceiveAttributes&&e.position.hasSameParentAs(t.range.start)&&t.range.containsPosition(e.position)){const i=j(e,t.key,t.newValue);i&&o.push(i)}return o}),m(i.a,i.a,(e,t,o)=>(e.position.isEqual(t.position)&&o.aIsStrong||(e.position=e.position._getTransformedByInsertOperation(t)),[e])),m(i.a,a.a,(e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e])),m(i.a,d.a,(e,t)=>(e.position=e.position._getTransformedBySplitOperation(t),[e])),m(i.a,l.a,(e,t)=>(e.position=e.position._getTransformedByMergeOperation(t),[e])),m(n.a,i.a,(e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByInsertOperation(t)[0]),e.newRange&&(e.newRange=e.newRange._getTransformedByInsertOperation(t)[0]),[e])),m(n.a,n.a,(e,t,o)=>{if(e.name==t.name){if(!o.aIsStrong)return[new u.a(0)];e.oldRange=t.newRange?t.newRange.clone():null}return[e]}),m(n.a,l.a,(e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByMergeOperation(t)),e.newRange&&(e.newRange=e.newRange._getTransformedByMergeOperation(t)),[e])),m(n.a,a.a,(e,t,o)=>{if(e.oldRange&&(e.oldRange=h.a._createFromRanges(e.oldRange._getTransformedByMoveOperation(t))),e.newRange){if(o.abRelation){const i=h.a._createFromRanges(e.newRange._getTransformedByMoveOperation(t));if("left"==o.abRelation.side&&t.targetPosition.isEqual(e.newRange.start))return e.newRange.start.path=o.abRelation.path,e.newRange.end=i.end,[e];if("right"==o.abRelation.side&&t.targetPosition.isEqual(e.newRange.end))return e.newRange.start=i.start,e.newRange.end.path=o.abRelation.path,[e]}e.newRange=h.a._createFromRanges(e.newRange._getTransformedByMoveOperation(t))}return[e]}),m(n.a,d.a,(e,t,o)=>{if(e.oldRange&&(e.oldRange=e.oldRange._getTransformedBySplitOperation(t)),e.newRange){if(o.abRelation){const i=e.newRange._getTransformedBySplitOperation(t);return e.newRange.start.isEqual(t.splitPosition)&&o.abRelation.wasStartBeforeMergedElement?e.newRange.start=p.a._createAt(t.insertionPosition):e.newRange.start.isEqual(t.splitPosition)&&!o.abRelation.wasInLeftElement&&(e.newRange.start=p.a._createAt(t.moveTargetPosition)),e.newRange.end.isEqual(t.splitPosition)&&o.abRelation.wasInRightElement?e.newRange.end=p.a._createAt(t.moveTargetPosition):e.newRange.end.isEqual(t.splitPosition)&&o.abRelation.wasEndBeforeMergedElement?e.newRange.end=p.a._createAt(t.insertionPosition):e.newRange.end=i.end,[e]}e.newRange=e.newRange._getTransformedBySplitOperation(t)}return[e]}),m(l.a,i.a,(e,t)=>(e.sourcePosition.hasSameParentAs(t.position)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByInsertOperation(t),e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t),[e])),m(l.a,l.a,(e,t,o)=>{if(e.sourcePosition.isEqual(t.sourcePosition)&&e.targetPosition.isEqual(t.targetPosition)){if(o.bWasUndone){const o=t.graveyardPosition.path.slice();return o.push(0),e.sourcePosition=new p.a(t.graveyardPosition.root,o),e.howMany=0,[e]}return[new u.a(0)]}if(e.sourcePosition.isEqual(t.sourcePosition)&&!e.targetPosition.isEqual(t.targetPosition)&&!o.bWasUndone&&"splitAtSource"!=o.abRelation){const i="$graveyard"==e.targetPosition.root.rootName,s="$graveyard"==t.targetPosition.root.rootName,r=i&&!s;if(s&&!i||!r&&o.aIsStrong){const o=t.targetPosition._getTransformedByMergeOperation(t),i=e.targetPosition._getTransformedByMergeOperation(t);return[new a.a(o,e.howMany,i,0)]}return[new u.a(0)]}return e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByMergeOperation(t),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),e.graveyardPosition.isEqual(t.graveyardPosition)&&o.aIsStrong||(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]}),m(l.a,a.a,(e,t,o)=>{const i=h.a._createFromPositionAndShift(t.sourcePosition,t.howMany);return"remove"==t.type&&!o.bWasUndone&&!o.forceWeakRemove&&e.deletionPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.sourcePosition)?[new u.a(0)]:(e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition.hasSameParentAs(t.sourcePosition)&&(e.howMany-=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByMoveOperation(t),e.targetPosition=e.targetPosition._getTransformedByMoveOperation(t),e.graveyardPosition.isEqual(t.targetPosition)||(e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)),[e])}),m(l.a,d.a,(e,t,o)=>{if(t.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByDeletion(t.graveyardPosition,1),e.deletionPosition.isEqual(t.graveyardPosition)&&(e.howMany=t.howMany)),e.targetPosition.isEqual(t.splitPosition)){const i=0!=t.howMany,s=t.graveyardPosition&&e.deletionPosition.isEqual(t.graveyardPosition);if(i||s||"mergeTargetNotMoved"==o.abRelation)return e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),[e]}if(e.sourcePosition.isEqual(t.splitPosition)){if("mergeSourceNotMoved"==o.abRelation)return e.howMany=0,e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e];if("mergeSameElement"==o.abRelation||e.sourcePosition.offset>0)return e.sourcePosition=t.moveTargetPosition.clone(),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]}return e.sourcePosition.hasSameParentAs(t.splitPosition)&&(e.howMany=t.splitPosition.offset),e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]}),m(a.a,i.a,(e,t)=>{const o=h.a._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByInsertOperation(t,!1)[0];return e.sourcePosition=o.start,e.howMany=o.end.offset-o.start.offset,e.targetPosition.isEqual(t.position)||(e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t)),[e]}),m(a.a,a.a,(e,t,o)=>{const i=h.a._createFromPositionAndShift(e.sourcePosition,e.howMany),s=h.a._createFromPositionAndShift(t.sourcePosition,t.howMany);let r,n=o.aIsStrong,a=!o.aIsStrong;if("insertBefore"==o.abRelation||"insertAfter"==o.baRelation?a=!0:"insertAfter"!=o.abRelation&&"insertBefore"!=o.baRelation||(a=!1),r=e.targetPosition.isEqual(t.targetPosition)&&a?e.targetPosition._getTransformedByDeletion(t.sourcePosition,t.howMany):e.targetPosition._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),x(e,t)&&x(t,e))return[t.getReversed()];if(i.containsPosition(t.targetPosition)&&i.containsRange(s,!0))return i.start=i.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),i.end=i.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),P([i],r);if(s.containsPosition(e.targetPosition)&&s.containsRange(i,!0))return i.start=i.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),i.end=i.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),P([i],r);const c=Object(g.a)(e.sourcePosition.getParentPath(),t.sourcePosition.getParentPath());if("prefix"==c||"extension"==c)return i.start=i.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),i.end=i.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),P([i],r);"remove"!=e.type||"remove"==t.type||o.aWasUndone||o.forceWeakRemove?"remove"==e.type||"remove"!=t.type||o.bWasUndone||o.forceWeakRemove||(n=!1):n=!0;const l=[],d=i.getDifference(s);for(const e of d){e.start=e.start._getTransformedByDeletion(t.sourcePosition,t.howMany),e.end=e.end._getTransformedByDeletion(t.sourcePosition,t.howMany);const o="same"==Object(g.a)(e.start.getParentPath(),t.getMovedRangeStart().getParentPath()),i=e._getTransformedByInsertion(t.getMovedRangeStart(),t.howMany,o);l.push(...i)}const p=i.getIntersection(s);return null!==p&&n&&(p.start=p.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),p.end=p.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),0===l.length?l.push(p):1==l.length?s.start.isBefore(i.start)||s.start.isEqual(i.start)?l.unshift(p):l.push(p):l.splice(1,0,p)),0===l.length?[new u.a(e.baseVersion)]:P(l,r)}),m(a.a,d.a,(e,t,o)=>{let i=e.targetPosition.clone();e.targetPosition.isEqual(t.insertionPosition)&&t.graveyardPosition&&"moveTargetAfter"!=o.abRelation||(i=e.targetPosition._getTransformedBySplitOperation(t));const s=h.a._createFromPositionAndShift(e.sourcePosition,e.howMany);if(s.end.isEqual(t.insertionPosition))return t.graveyardPosition||e.howMany++,e.targetPosition=i,[e];if(s.start.hasSameParentAs(t.splitPosition)&&s.containsPosition(t.splitPosition)){let e=new h.a(t.splitPosition,s.end);e=e._getTransformedBySplitOperation(t);return P([new h.a(s.start,t.splitPosition),e],i)}e.targetPosition.isEqual(t.splitPosition)&&"insertAtSource"==o.abRelation&&(i=t.moveTargetPosition),e.targetPosition.isEqual(t.insertionPosition)&&"insertBetween"==o.abRelation&&(i=e.targetPosition);const r=[s._getTransformedBySplitOperation(t)];if(t.graveyardPosition){const i=s.start.isEqual(t.graveyardPosition)||s.containsPosition(t.graveyardPosition);e.howMany>1&&i&&!o.aWasUndone&&r.push(h.a._createFromPositionAndShift(t.insertionPosition,1))}return P(r,i)}),m(a.a,l.a,(e,t,o)=>{const i=h.a._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.sourcePosition))if("remove"!=e.type||o.forceWeakRemove){if(1==e.howMany)return o.bWasUndone?(e.sourcePosition=t.graveyardPosition.clone(),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]):[new u.a(0)]}else if(!o.aWasUndone){const o=[];let i=t.graveyardPosition.clone(),s=t.targetPosition._getTransformedByMergeOperation(t);e.howMany>1&&(o.push(new a.a(e.sourcePosition,e.howMany-1,e.targetPosition,0)),i=i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany-1),s=s._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany-1));const r=t.deletionPosition._getCombined(e.sourcePosition,e.targetPosition),n=new a.a(i,1,r,0),c=n.getMovedRangeStart().path.slice();c.push(0);const l=new p.a(n.targetPosition.root,c);s=s._getTransformedByMove(i,r,1);const d=new a.a(s,t.howMany,l,0);return o.push(n),o.push(d),o}const s=h.a._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByMergeOperation(t);return e.sourcePosition=s.start,e.howMany=s.end.offset-s.start.offset,e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]}),m(r.a,i.a,(e,t)=>(e.position=e.position._getTransformedByInsertOperation(t),[e])),m(r.a,l.a,(e,t)=>e.position.isEqual(t.deletionPosition)?(e.position=t.graveyardPosition.clone(),e.position.stickiness="toNext",[e]):(e.position=e.position._getTransformedByMergeOperation(t),[e])),m(r.a,a.a,(e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e])),m(r.a,r.a,(e,t,o)=>{if(e.position.isEqual(t.position)){if(!o.aIsStrong)return[new u.a(0)];e.oldName=t.newName}return[e]}),m(r.a,d.a,(e,t)=>{const o=e.position.path,i=t.splitPosition.getParentPath();if("same"==Object(g.a)(o,i)&&!t.graveyardPosition){const t=new r.a(e.position.getShiftedBy(1),e.oldName,e.newName,0);return[e,t]}return e.position=e.position._getTransformedBySplitOperation(t),[e]}),m(c.a,c.a,(e,t,o)=>{if(e.root===t.root&&e.key===t.key){if(!o.aIsStrong||e.newValue===t.newValue)return[new u.a(0)];e.oldValue=t.newValue}return[e]}),m(d.a,i.a,(e,t)=>(e.splitPosition.hasSameParentAs(t.position)&&e.splitPosition.offset<t.position.offset&&(e.howMany+=t.howMany),e.splitPosition=e.splitPosition._getTransformedByInsertOperation(t),e.insertionPosition=e.insertionPosition._getTransformedByInsertOperation(t),[e])),m(d.a,l.a,(e,t,o)=>{if(!e.graveyardPosition&&!o.bWasUndone&&e.splitPosition.hasSameParentAs(t.sourcePosition)){const o=t.graveyardPosition.path.slice();o.push(0);const i=new p.a(t.graveyardPosition.root,o),s=d.a.getInsertionPosition(new p.a(t.graveyardPosition.root,o)),r=new d.a(i,0,s,null,0);return e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=d.a.getInsertionPosition(e.splitPosition),e.graveyardPosition=r.insertionPosition.clone(),e.graveyardPosition.stickiness="toNext",[r,e]}return e.splitPosition.hasSameParentAs(t.deletionPosition)&&!e.splitPosition.isAfter(t.deletionPosition)&&e.howMany--,e.splitPosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=d.a.getInsertionPosition(e.splitPosition),e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]}),m(d.a,a.a,(e,t,o)=>{const i=h.a._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.graveyardPosition){const s=i.start.isEqual(e.graveyardPosition)||i.containsPosition(e.graveyardPosition);if(!o.bWasUndone&&s){const o=e.splitPosition._getTransformedByMoveOperation(t),i=e.graveyardPosition._getTransformedByMoveOperation(t),s=i.path.slice();s.push(0);const r=new p.a(i.root,s);return[new a.a(o,e.howMany,r,0)]}e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)}const s=e.splitPosition.isEqual(t.targetPosition);if(s&&("insertAtSource"==o.baRelation||"splitBefore"==o.abRelation))return e.howMany+=t.howMany,e.splitPosition=e.splitPosition._getTransformedByDeletion(t.sourcePosition,t.howMany),e.insertionPosition=d.a.getInsertionPosition(e.splitPosition),[e];if(s&&o.abRelation&&o.abRelation.howMany){const{howMany:t,offset:i}=o.abRelation;return e.howMany+=t,e.splitPosition=e.splitPosition.getShiftedBy(i),[e]}if(e.splitPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.splitPosition)){const o=t.howMany-(e.splitPosition.offset-t.sourcePosition.offset);return e.howMany-=o,e.splitPosition.hasSameParentAs(t.targetPosition)&&e.splitPosition.offset<t.targetPosition.offset&&(e.howMany+=t.howMany),e.splitPosition=t.sourcePosition.clone(),e.insertionPosition=d.a.getInsertionPosition(e.splitPosition),[e]}return t.sourcePosition.isEqual(t.targetPosition)||(e.splitPosition.hasSameParentAs(t.sourcePosition)&&e.splitPosition.offset<=t.sourcePosition.offset&&(e.howMany-=t.howMany),e.splitPosition.hasSameParentAs(t.targetPosition)&&e.splitPosition.offset<t.targetPosition.offset&&(e.howMany+=t.howMany)),e.splitPosition.stickiness="toNone",e.splitPosition=e.splitPosition._getTransformedByMoveOperation(t),e.splitPosition.stickiness="toNext",e.graveyardPosition?e.insertionPosition=e.insertionPosition._getTransformedByMoveOperation(t):e.insertionPosition=d.a.getInsertionPosition(e.splitPosition),[e]}),m(d.a,d.a,(e,t,o)=>{if(e.splitPosition.isEqual(t.splitPosition)){if(!e.graveyardPosition&&!t.graveyardPosition)return[new u.a(0)];if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition))return[new u.a(0)];if("splitBefore"==o.abRelation)return e.howMany=0,e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t),[e]}if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition)){const i="$graveyard"==e.splitPosition.root.rootName,s="$graveyard"==t.splitPosition.root.rootName,r=i&&!s;if(s&&!i||!r&&o.aIsStrong){const o=[];return t.howMany&&o.push(new a.a(t.moveTargetPosition,t.howMany,t.splitPosition,0)),e.howMany&&o.push(new a.a(e.splitPosition,e.howMany,e.moveTargetPosition,0)),o}return[new u.a(0)]}if(e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t)),e.splitPosition.isEqual(t.insertionPosition)&&"splitBefore"==o.abRelation)return e.howMany++,[e];if(t.splitPosition.isEqual(e.insertionPosition)&&"splitBefore"==o.baRelation){const o=t.insertionPosition.path.slice();o.push(0);const i=new p.a(t.insertionPosition.root,o);return[e,new a.a(e.insertionPosition,1,i,0)]}return e.splitPosition.hasSameParentAs(t.splitPosition)&&e.splitPosition.offset<t.splitPosition.offset&&(e.howMany-=t.howMany),e.splitPosition=e.splitPosition._getTransformedBySplitOperation(t),e.insertionPosition=d.a.getInsertionPosition(e.splitPosition),[e]})},"./packages/ckeditor5-engine/src/model/operation/utils.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return d})),o.d(t,"d",(function(){return u})),o.d(t,"b",(function(){return h})),o.d(t,"e",(function(){return p})),o.d(t,"c",(function(){return g}));var i=o("./packages/ckeditor5-engine/src/model/node.js"),s=o("./packages/ckeditor5-engine/src/model/text.js"),r=o("./packages/ckeditor5-engine/src/model/textproxy.js"),n=o("./packages/ckeditor5-engine/src/model/range.js"),a=o("./packages/ckeditor5-engine/src/model/documentfragment.js"),c=o("./packages/ckeditor5-engine/src/model/nodelist.js"),l=o("./packages/ckeditor5-utils/src/ckeditorerror.js");function d(e,t){const o=(t=g(t)).reduce((e,t)=>e+t.offsetSize,0),i=e.parent;m(e);const s=e.index;return i._insertChild(s,t),f(i,s+t.length),f(i,s),new n.a(e,e.getShiftedBy(o))}function u(e){if(!e.isFlat)throw new l.a("operation-utils-remove-range-not-flat",this);const t=e.start.parent;m(e.start),m(e.end);const o=t._removeChildren(e.start.index,e.end.index-e.start.index);return f(t,e.start.index),o}function h(e,t){if(!e.isFlat)throw new l.a("operation-utils-move-range-not-flat",this);const o=u(e);return d(t=t._getTransformedByDeletion(e.start,e.end.offset-e.start.offset),o)}function p(e,t,o){m(e.start),m(e.end);for(const i of e.getItems({shallow:!0})){const e=i.is("$textProxy")?i.textNode:i;null!==o?e._setAttribute(t,o):e._removeAttribute(t),f(e.parent,e.index)}f(e.end.parent,e.end.index)}function g(e){const t=[];e instanceof Array||(e=[e]);for(let o=0;o<e.length;o++)if("string"==typeof e[o])t.push(new s.a(e[o]));else if(e[o]instanceof r.a)t.push(new s.a(e[o].data,e[o].getAttributes()));else if(e[o]instanceof a.a||e[o]instanceof c.a)for(const i of e[o])t.push(i);else e[o]instanceof i.a&&t.push(e[o]);for(let e=1;e<t.length;e++){const o=t[e],i=t[e-1];o instanceof s.a&&i instanceof s.a&&k(o,i)&&(t.splice(e-1,2,new s.a(i.data+o.data,i.getAttributes())),e--)}return t}function f(e,t){const o=e.getChild(t-1),i=e.getChild(t);if(o&&i&&o.is("$text")&&i.is("$text")&&k(o,i)){const r=new s.a(o.data+i.data,o.getAttributes());e._removeChildren(t-1,2),e._insertChild(t-1,r)}}function m(e){const t=e.textNode,o=e.parent;if(t){const i=e.offset-t.startOffset,r=t.index;o._removeChildren(r,1);const n=new s.a(t.data.substr(0,i),t.getAttributes()),a=new s.a(t.data.substr(i),t.getAttributes());o._insertChild(r,[n,a])}}function k(e,t){const o=e.getAttributes(),i=t.getAttributes();for(const e of o){if(e[1]!==t.getAttribute(e[0]))return!1;i.next()}return i.next().done}},"./packages/ckeditor5-engine/src/model/position.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"d",(function(){return a})),o.d(t,"b",(function(){return c})),o.d(t,"c",(function(){return l}));var i=o("./packages/ckeditor5-engine/src/model/treewalker.js"),s=o("./packages/ckeditor5-utils/src/comparearrays.js"),r=o("./packages/ckeditor5-utils/src/ckeditorerror.js");o("./packages/ckeditor5-utils/src/version.js");class n{constructor(e,t,o="toNone"){if(!e.is("element")&&!e.is("documentFragment"))throw new r.a("model-position-root-invalid",e);if(!(t instanceof Array)||0===t.length)throw new r.a("model-position-path-incorrect-format",e,{path:t});e.is("rootElement")?t=t.slice():(t=[...e.getPath(),...t],e=e.root),this.root=e,this.path=t,this.stickiness=o}get offset(){return this.path[this.path.length-1]}set offset(e){this.path[this.path.length-1]=e}get parent(){let e=this.root;for(let t=0;t<this.path.length-1;t++)if(e=e.getChild(e.offsetToIndex(this.path[t])),!e)throw new r.a("model-position-path-incorrect",this,{position:this});if(e.is("$text"))throw new r.a("model-position-path-incorrect",this,{position:this});return e}get index(){return this.parent.offsetToIndex(this.offset)}get textNode(){return a(this,this.parent)}get nodeAfter(){const e=this.parent;return c(this,e,a(this,e))}get nodeBefore(){const e=this.parent;return l(this,e,a(this,e))}get isAtStart(){return 0===this.offset}get isAtEnd(){return this.offset==this.parent.maxOffset}compareWith(e){if(this.root!=e.root)return"different";const t=Object(s.a)(this.path,e.path);switch(t){case"same":return"same";case"prefix":return"before";case"extension":return"after";default:return this.path[t]<e.path[t]?"before":"after"}}getLastMatchingPosition(e,t={}){t.startPosition=this;const o=new i.a(t);return o.skip(e),o.position}getParentPath(){return this.path.slice(0,-1)}getAncestors(){const e=this.parent;return e.is("documentFragment")?[e]:e.getAncestors({includeSelf:!0})}findAncestor(e){const t=this.parent;return t.is("element")?t.findAncestor(e,{includeSelf:!0}):null}getCommonPath(e){if(this.root!=e.root)return[];const t=Object(s.a)(this.path,e.path),o="string"==typeof t?Math.min(this.path.length,e.path.length):t;return this.path.slice(0,o)}getCommonAncestor(e){const t=this.getAncestors(),o=e.getAncestors();let i=0;for(;t[i]==o[i]&&t[i];)i++;return 0===i?null:t[i-1]}getShiftedBy(e){const t=this.clone(),o=t.offset+e;return t.offset=o<0?0:o,t}isAfter(e){return"after"==this.compareWith(e)}isBefore(e){return"before"==this.compareWith(e)}isEqual(e){return"same"==this.compareWith(e)}isTouching(e){let t=null,o=null;switch(this.compareWith(e)){case"same":return!0;case"before":t=n._createAt(this),o=n._createAt(e);break;case"after":t=n._createAt(e),o=n._createAt(this);break;default:return!1}let i=t.parent;for(;t.path.length+o.path.length;){if(t.isEqual(o))return!0;if(t.path.length>o.path.length){if(t.offset!==i.maxOffset)return!1;t.path=t.path.slice(0,-1),i=i.parent,t.offset++}else{if(0!==o.offset)return!1;o.path=o.path.slice(0,-1)}}}is(e){return"position"===e||"model:position"===e}hasSameParentAs(e){if(this.root!==e.root)return!1;const t=this.getParentPath(),o=e.getParentPath();return"same"==Object(s.a)(t,o)}getTransformedByOperation(e){let t;switch(e.type){case"insert":t=this._getTransformedByInsertOperation(e);break;case"move":case"remove":case"reinsert":t=this._getTransformedByMoveOperation(e);break;case"split":t=this._getTransformedBySplitOperation(e);break;case"merge":t=this._getTransformedByMergeOperation(e);break;default:t=n._createAt(this)}return t}_getTransformedByInsertOperation(e){return this._getTransformedByInsertion(e.position,e.howMany)}_getTransformedByMoveOperation(e){return this._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}_getTransformedBySplitOperation(e){const t=e.movedRange;return t.containsPosition(this)||t.start.isEqual(this)&&"toNext"==this.stickiness?this._getCombined(e.splitPosition,e.moveTargetPosition):e.graveyardPosition?this._getTransformedByMove(e.graveyardPosition,e.insertionPosition,1):this._getTransformedByInsertion(e.insertionPosition,1)}_getTransformedByMergeOperation(e){const t=e.movedRange;let o;return t.containsPosition(this)||t.start.isEqual(this)?(o=this._getCombined(e.sourcePosition,e.targetPosition),e.sourcePosition.isBefore(e.targetPosition)&&(o=o._getTransformedByDeletion(e.deletionPosition,1))):o=this.isEqual(e.deletionPosition)?n._createAt(e.deletionPosition):this._getTransformedByMove(e.deletionPosition,e.graveyardPosition,1),o}_getTransformedByDeletion(e,t){const o=n._createAt(this);if(this.root!=e.root)return o;if("same"==Object(s.a)(e.getParentPath(),this.getParentPath())){if(e.offset<this.offset){if(e.offset+t>this.offset)return null;o.offset-=t}}else if("prefix"==Object(s.a)(e.getParentPath(),this.getParentPath())){const i=e.path.length-1;if(e.offset<=this.path[i]){if(e.offset+t>this.path[i])return null;o.path[i]-=t}}return o}_getTransformedByInsertion(e,t){const o=n._createAt(this);if(this.root!=e.root)return o;if("same"==Object(s.a)(e.getParentPath(),this.getParentPath()))(e.offset<this.offset||e.offset==this.offset&&"toPrevious"!=this.stickiness)&&(o.offset+=t);else if("prefix"==Object(s.a)(e.getParentPath(),this.getParentPath())){const i=e.path.length-1;e.offset<=this.path[i]&&(o.path[i]+=t)}return o}_getTransformedByMove(e,t,o){if(t=t._getTransformedByDeletion(e,o),e.isEqual(t))return n._createAt(this);const i=this._getTransformedByDeletion(e,o);return null===i||e.isEqual(this)&&"toNext"==this.stickiness||e.getShiftedBy(o).isEqual(this)&&"toPrevious"==this.stickiness?this._getCombined(e,t):i._getTransformedByInsertion(t,o)}_getCombined(e,t){const o=e.path.length-1,i=n._createAt(t);return i.stickiness=this.stickiness,i.offset=i.offset+this.path[o]-e.offset,i.path=[...i.path,...this.path.slice(o+1)],i}toJSON(){return{root:this.root.toJSON(),path:Array.from(this.path),stickiness:this.stickiness}}clone(){return new this.constructor(this.root,this.path,this.stickiness)}static _createAt(e,t,o="toNone"){if(e instanceof n)return new n(e.root,e.path,e.stickiness);{const i=e;if("end"==t)t=i.maxOffset;else{if("before"==t)return this._createBefore(i,o);if("after"==t)return this._createAfter(i,o);if(0!==t&&!t)throw new r.a("model-createpositionat-offset-required",[this,e])}if(!i.is("element")&&!i.is("documentFragment"))throw new r.a("model-position-parent-incorrect",[this,e]);const s=i.getPath();return s.push(t),new this(i.root,s,o)}}static _createAfter(e,t){if(!e.parent)throw new r.a("model-position-after-root",[this,e],{root:e});return this._createAt(e.parent,e.endOffset,t)}static _createBefore(e,t){if(!e.parent)throw new r.a("model-position-before-root",e,{root:e});return this._createAt(e.parent,e.startOffset,t)}static fromJSON(e,t){if("$graveyard"===e.root){const o=new n(t.graveyard,e.path);return o.stickiness=e.stickiness,o}if(!t.getRoot(e.root))throw new r.a("model-position-fromjson-no-root",t,{rootName:e.root});return new n(t.getRoot(e.root),e.path,e.stickiness)}}function a(e,t){const o=t.getChild(t.offsetToIndex(e.offset));return o&&o.is("$text")&&o.startOffset<e.offset?o:null}function c(e,t,o){return null!==o?null:t.getChild(t.offsetToIndex(e.offset))}function l(e,t,o){return null!==o?null:t.getChild(t.offsetToIndex(e.offset)-1)}},"./packages/ckeditor5-engine/src/model/range.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-engine/src/model/position.js"),s=o("./packages/ckeditor5-engine/src/model/treewalker.js"),r=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=o("./packages/ckeditor5-utils/src/comparearrays.js");class a{constructor(e,t=null){this.start=i.a._createAt(e),this.end=t?i.a._createAt(t):i.a._createAt(e),this.start.stickiness=this.isCollapsed?"toNone":"toNext",this.end.stickiness=this.isCollapsed?"toNone":"toPrevious"}*[Symbol.iterator](){yield*new s.a({boundaries:this,ignoreElementEnd:!0})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const e=this.start.getParentPath(),t=this.end.getParentPath();return"same"==Object(n.a)(e,t)}get root(){return this.start.root}containsPosition(e){return e.isAfter(this.start)&&e.isBefore(this.end)}containsRange(e,t=!1){e.isCollapsed&&(t=!1);const o=this.containsPosition(e.start)||t&&this.start.isEqual(e.start),i=this.containsPosition(e.end)||t&&this.end.isEqual(e.end);return o&&i}containsItem(e){const t=i.a._createBefore(e);return this.containsPosition(t)||this.start.isEqual(t)}is(e){return"range"===e||"model:range"===e}isEqual(e){return this.start.isEqual(e.start)&&this.end.isEqual(e.end)}isIntersecting(e){return this.start.isBefore(e.end)&&this.end.isAfter(e.start)}getDifference(e){const t=[];return this.isIntersecting(e)?(this.containsPosition(e.start)&&t.push(new a(this.start,e.start)),this.containsPosition(e.end)&&t.push(new a(e.end,this.end))):t.push(new a(this.start,this.end)),t}getIntersection(e){if(this.isIntersecting(e)){let t=this.start,o=this.end;return this.containsPosition(e.start)&&(t=e.start),this.containsPosition(e.end)&&(o=e.end),new a(t,o)}return null}getJoined(e,t=!1){let o=this.isIntersecting(e);if(o||(o=this.start.isBefore(e.start)?t?this.end.isTouching(e.start):this.end.isEqual(e.start):t?e.end.isTouching(this.start):e.end.isEqual(this.start)),!o)return null;let i=this.start,s=this.end;return e.start.isBefore(i)&&(i=e.start),e.end.isAfter(s)&&(s=e.end),new a(i,s)}getMinimalFlatRanges(){const e=[],t=this.start.getCommonPath(this.end).length,o=i.a._createAt(this.start);let s=o.parent;for(;o.path.length>t+1;){const t=s.maxOffset-o.offset;0!==t&&e.push(new a(o,o.getShiftedBy(t))),o.path=o.path.slice(0,-1),o.offset++,s=s.parent}for(;o.path.length<=this.end.path.length;){const t=this.end.path[o.path.length-1],i=t-o.offset;0!==i&&e.push(new a(o,o.getShiftedBy(i))),o.offset=t,o.path.push(0)}return e}getWalker(e={}){return e.boundaries=this,new s.a(e)}*getItems(e={}){e.boundaries=this,e.ignoreElementEnd=!0;const t=new s.a(e);for(const e of t)yield e.item}*getPositions(e={}){e.boundaries=this;const t=new s.a(e);yield t.position;for(const e of t)yield e.nextPosition}getTransformedByOperation(e){switch(e.type){case"insert":return this._getTransformedByInsertOperation(e);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(e);case"split":return[this._getTransformedBySplitOperation(e)];case"merge":return[this._getTransformedByMergeOperation(e)]}return[new a(this.start,this.end)]}getTransformedByOperations(e){const t=[new a(this.start,this.end)];for(const o of e)for(let e=0;e<t.length;e++){const i=t[e].getTransformedByOperation(o);t.splice(e,1,...i),e+=i.length-1}for(let e=0;e<t.length;e++){const o=t[e];for(let i=e+1;i<t.length;i++){const e=t[i];(o.containsRange(e)||e.containsRange(o)||o.isEqual(e))&&t.splice(i,1)}}return t}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed)return null;const e=this.start.nodeAfter,t=this.end.nodeBefore;return e&&e.is("element")&&e===t?e:null}toJSON(){return{start:this.start.toJSON(),end:this.end.toJSON()}}clone(){return new this.constructor(this.start,this.end)}_getTransformedByInsertOperation(e,t=!1){return this._getTransformedByInsertion(e.position,e.howMany,t)}_getTransformedByMoveOperation(e,t=!1){const o=e.sourcePosition,i=e.howMany,s=e.targetPosition;return this._getTransformedByMove(o,s,i,t)}_getTransformedBySplitOperation(e){const t=this.start._getTransformedBySplitOperation(e);let o=this.end._getTransformedBySplitOperation(e);return this.end.isEqual(e.insertionPosition)&&(o=this.end.getShiftedBy(1)),t.root!=o.root&&(o=this.end.getShiftedBy(-1)),new a(t,o)}_getTransformedByMergeOperation(e){if(this.start.isEqual(e.targetPosition)&&this.end.isEqual(e.deletionPosition))return new a(this.start);let t=this.start._getTransformedByMergeOperation(e),o=this.end._getTransformedByMergeOperation(e);return t.root!=o.root&&(o=this.end.getShiftedBy(-1)),t.isAfter(o)?(e.sourcePosition.isBefore(e.targetPosition)?(t=i.a._createAt(o),t.offset=0):(e.deletionPosition.isEqual(t)||(o=e.deletionPosition),t=e.targetPosition),new a(t,o)):new a(t,o)}_getTransformedByInsertion(e,t,o=!1){if(o&&this.containsPosition(e))return[new a(this.start,e),new a(e.getShiftedBy(t),this.end._getTransformedByInsertion(e,t))];{const o=new a(this.start,this.end);return o.start=o.start._getTransformedByInsertion(e,t),o.end=o.end._getTransformedByInsertion(e,t),[o]}}_getTransformedByMove(e,t,o,i=!1){if(this.isCollapsed){const i=this.start._getTransformedByMove(e,t,o);return[new a(i)]}const s=a._createFromPositionAndShift(e,o),r=t._getTransformedByDeletion(e,o);if(this.containsPosition(t)&&!i&&(s.containsPosition(this.start)||s.containsPosition(this.end))){const i=this.start._getTransformedByMove(e,t,o),s=this.end._getTransformedByMove(e,t,o);return[new a(i,s)]}let n;const c=this.getDifference(s);let l=null;const d=this.getIntersection(s);if(1==c.length?l=new a(c[0].start._getTransformedByDeletion(e,o),c[0].end._getTransformedByDeletion(e,o)):2==c.length&&(l=new a(this.start,this.end._getTransformedByDeletion(e,o))),n=l?l._getTransformedByInsertion(r,o,null!==d||i):[],d){const e=new a(d.start._getCombined(s.start,r),d.end._getCombined(s.start,r));2==n.length?n.splice(1,0,e):n.push(e)}return n}_getTransformedByDeletion(e,t){let o=this.start._getTransformedByDeletion(e,t),i=this.end._getTransformedByDeletion(e,t);return null==o&&null==i?null:(null==o&&(o=e),null==i&&(i=e),new a(o,i))}static _createFromPositionAndShift(e,t){const o=e,i=e.getShiftedBy(t);return t>0?new this(o,i):new this(i,o)}static _createIn(e){return new this(i.a._createAt(e,0),i.a._createAt(e,e.maxOffset))}static _createOn(e){return this._createFromPositionAndShift(i.a._createBefore(e),e.offsetSize)}static _createFromRanges(e){if(0===e.length)throw new r.a("range-create-from-ranges-empty-array",null);if(1==e.length)return e[0].clone();const t=e[0];e.sort((e,t)=>e.start.isAfter(t.start)?1:-1);const o=e.indexOf(t),s=new this(t.start,t.end);if(o>0)for(let t=o-1;e[t].end.isEqual(s.start);t++)s.start=i.a._createAt(e[t].start);for(let t=o+1;t<e.length&&e[t].start.isEqual(s.end);t++)s.end=i.a._createAt(e[t].end);return s}static fromJSON(e,t){return new this(i.a.fromJSON(e.start,t),i.a.fromJSON(e.end,t))}}},"./packages/ckeditor5-engine/src/model/schema.js":function(e,t,o){"use strict";o.d(t,"b",(function(){return u})),o.d(t,"a",(function(){return h}));var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),s=o("./packages/ckeditor5-utils/src/observablemixin.js"),r=o("./packages/ckeditor5-utils/src/mix.js"),n=o("./packages/ckeditor5-engine/src/model/range.js"),a=o("./packages/ckeditor5-engine/src/model/position.js"),c=o("./packages/ckeditor5-engine/src/model/element.js"),l=o("./packages/ckeditor5-engine/src/model/text.js"),d=o("./packages/ckeditor5-engine/src/model/treewalker.js");class u{constructor(){this._sourceDefinitions={},this._attributeProperties={},this.decorate("checkChild"),this.decorate("checkAttribute"),this.on("checkAttribute",(e,t)=>{t[0]=new h(t[0])},{priority:"highest"}),this.on("checkChild",(e,t)=>{t[0]=new h(t[0]),t[1]=this.getDefinition(t[1])},{priority:"highest"})}register(e,t){if(this._sourceDefinitions[e])throw new i.a("schema-cannot-register-item-twice",this,{itemName:e});this._sourceDefinitions[e]=[Object.assign({},t)],this._clearCache()}extend(e,t){if(!this._sourceDefinitions[e])throw new i.a("schema-cannot-extend-missing-item",this,{itemName:e});this._sourceDefinitions[e].push(Object.assign({},t)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(e){let t;return t="string"==typeof e?e:e.is&&(e.is("$text")||e.is("$textProxy"))?"$text":e.name,this.getDefinitions()[t]}isRegistered(e){return!!this.getDefinition(e)}isBlock(e){const t=this.getDefinition(e);return!(!t||!t.isBlock)}isLimit(e){const t=this.getDefinition(e);return!!t&&!(!t.isLimit&&!t.isObject)}isObject(e){const t=this.getDefinition(e);return!!t&&!!(t.isObject||t.isLimit&&t.isSelectable&&t.isContent)}isInline(e){const t=this.getDefinition(e);return!(!t||!t.isInline)}isSelectable(e){const t=this.getDefinition(e);return!!t&&!(!t.isSelectable&&!t.isObject)}isContent(e){const t=this.getDefinition(e);return!!t&&!(!t.isContent&&!t.isObject)}checkChild(e,t){return!!t&&this._checkContextMatch(t,e)}checkAttribute(e,t){const o=this.getDefinition(e.last);return!!o&&o.allowAttributes.includes(t)}checkMerge(e,t=null){if(e instanceof a.a){const t=e.nodeBefore,o=e.nodeAfter;if(!(t instanceof c.a))throw new i.a("schema-check-merge-no-element-before",this);if(!(o instanceof c.a))throw new i.a("schema-check-merge-no-element-after",this);return this.checkMerge(t,o)}for(const o of t.getChildren())if(!this.checkChild(e,o))return!1;return!0}addChildCheck(e){this.on("checkChild",(t,[o,i])=>{if(!i)return;const s=e(o,i);"boolean"==typeof s&&(t.stop(),t.return=s)},{priority:"high"})}addAttributeCheck(e){this.on("checkAttribute",(t,[o,i])=>{const s=e(o,i);"boolean"==typeof s&&(t.stop(),t.return=s)},{priority:"high"})}setAttributeProperties(e,t){this._attributeProperties[e]=Object.assign(this.getAttributeProperties(e),t)}getAttributeProperties(e){return this._attributeProperties[e]||{}}getLimitElement(e){let t;if(e instanceof a.a)t=e.parent;else{t=(e instanceof n.a?[e]:Array.from(e.getRanges())).reduce((e,t)=>{const o=t.getCommonAncestor();return e?e.getCommonAncestor(o,{includeSelf:!0}):o},null)}for(;!this.isLimit(t)&&t.parent;)t=t.parent;return t}checkAttributeInSelection(e,t){if(e.isCollapsed){const o=[...e.getFirstPosition().getAncestors(),new l.a("",e.getAttributes())];return this.checkAttribute(o,t)}{const o=e.getRanges();for(const e of o)for(const o of e)if(this.checkAttribute(o.item,t))return!0}return!1}*getValidRanges(e,t){e=function*(e){for(const t of e)yield*t.getMinimalFlatRanges()}(e);for(const o of e)yield*this._getValidRangesForRange(o,t)}getNearestSelectionRange(e,t="both"){if(this.checkChild(e,"$text"))return new n.a(e);let o,i;const s=e.getAncestors().reverse().find(e=>this.isLimit(e))||e.root;"both"!=t&&"backward"!=t||(o=new d.a({boundaries:n.a._createIn(s),startPosition:e,direction:"backward"})),"both"!=t&&"forward"!=t||(i=new d.a({boundaries:n.a._createIn(s),startPosition:e}));for(const e of function*(e,t){let o=!1;for(;!o;){if(o=!0,e){const t=e.next();t.done||(o=!1,yield{walker:e,value:t.value})}if(t){const e=t.next();e.done||(o=!1,yield{walker:t,value:e.value})}}}(o,i)){const t=e.walker==o?"elementEnd":"elementStart",i=e.value;if(i.type==t&&this.isObject(i.item))return n.a._createOn(i.item);if(this.checkChild(i.nextPosition,"$text"))return new n.a(i.nextPosition)}return null}findAllowedParent(e,t){let o=e.parent;for(;o;){if(this.checkChild(o,t))return o;if(this.isLimit(o))return null;o=o.parent}return null}removeDisallowedAttributes(e,t){for(const o of e)if(o.is("$text"))P(this,o,t);else{const e=n.a._createIn(o).getPositions();for(const o of e){P(this,o.nodeBefore||o.parent,t)}}}createContext(e){return new h(e)}_clearCache(){this._compiledDefinitions=null}_compile(){const e={},t=this._sourceDefinitions,o=Object.keys(t);for(const i of o)e[i]=p(t[i],i);for(const t of o)g(e,t);for(const t of o)f(e,t);for(const t of o)m(e,t);for(const t of o)k(e,t),b(e,t);for(const t of o)_(e,t),w(e,t),v(e,t);this._compiledDefinitions=e}_checkContextMatch(e,t,o=t.length-1){const i=t.getItem(o);if(e.allowIn.includes(i.name)){if(0==o)return!0;{const e=this.getDefinition(i);return this._checkContextMatch(e,t,o-1)}}return!1}*_getValidRangesForRange(e,t){let o=e.start,i=e.start;for(const s of e.getItems({shallow:!0}))s.is("element")&&(yield*this._getValidRangesForRange(n.a._createIn(s),t)),this.checkAttribute(s,t)||(o.isEqual(i)||(yield new n.a(o,i)),o=a.a._createAfter(s)),i=a.a._createAfter(s);o.isEqual(i)||(yield new n.a(o,i))}}Object(r.a)(u,s.a);class h{constructor(e){if(e instanceof h)return e;"string"==typeof e?e=[e]:Array.isArray(e)||(e=e.getAncestors({includeSelf:!0})),this._items=e.map(x)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(e){const t=new h([e]);return t._items=[...this._items,...t._items],t}getItem(e){return this._items[e]}*getNames(){yield*this._items.map(e=>e.name)}endsWith(e){return Array.from(this.getNames()).join(" ").endsWith(e)}startsWith(e){return Array.from(this.getNames()).join(" ").startsWith(e)}}function p(e,t){const o={name:t,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};return function(e,t){for(const o of e){const e=Object.keys(o).filter(e=>e.startsWith("is"));for(const i of e)t[i]=o[i]}}(e,o),y(e,o,"allowIn"),y(e,o,"allowContentOf"),y(e,o,"allowWhere"),y(e,o,"allowAttributes"),y(e,o,"allowAttributesOf"),y(e,o,"allowChildren"),y(e,o,"inheritTypesFrom"),function(e,t){for(const o of e){const e=o.inheritAllFrom;e&&(t.allowContentOf.push(e),t.allowWhere.push(e),t.allowAttributesOf.push(e),t.inheritTypesFrom.push(e))}}(e,o),o}function g(e,t){const o=e[t];for(const i of o.allowChildren){const o=e[i];o&&o.allowIn.push(t)}o.allowChildren.length=0}function f(e,t){for(const o of e[t].allowContentOf)if(e[o]){j(e,o).forEach(e=>{e.allowIn.push(t)})}delete e[t].allowContentOf}function m(e,t){for(const o of e[t].allowWhere){const i=e[o];if(i){const o=i.allowIn;e[t].allowIn.push(...o)}}delete e[t].allowWhere}function k(e,t){for(const o of e[t].allowAttributesOf){const i=e[o];if(i){const o=i.allowAttributes;e[t].allowAttributes.push(...o)}}delete e[t].allowAttributesOf}function b(e,t){const o=e[t];for(const t of o.inheritTypesFrom){const i=e[t];if(i){const e=Object.keys(i).filter(e=>e.startsWith("is"));for(const t of e)t in o||(o[t]=i[t])}}delete o.inheritTypesFrom}function _(e,t){const o=e[t],i=o.allowIn.filter(t=>e[t]);o.allowIn=Array.from(new Set(i))}function w(e,t){const o=e[t];for(const i of o.allowIn){e[i].allowChildren.push(t)}}function v(e,t){const o=e[t];o.allowAttributes=Array.from(new Set(o.allowAttributes))}function y(e,t,o){for(const i of e)"string"==typeof i[o]?t[o].push(i[o]):Array.isArray(i[o])&&t[o].push(...i[o])}function j(e,t){const o=e[t];return(i=e,Object.keys(i).map(e=>i[e])).filter(e=>e.allowIn.includes(o.name));var i}function x(e){return"string"==typeof e||e.is("documentFragment")?{name:"string"==typeof e?e:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:e.is("element")?e.name:"$text",*getAttributeKeys(){yield*e.getAttributeKeys()},getAttribute:t=>e.getAttribute(t)}}function P(e,t,o){for(const i of t.getAttributeKeys())e.checkAttribute(t,i)||o.removeAttribute(i,t)}},"./packages/ckeditor5-engine/src/model/selection.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return d}));var i=o("./packages/ckeditor5-engine/src/model/position.js"),s=o("./packages/ckeditor5-engine/src/model/node.js"),r=o("./packages/ckeditor5-engine/src/model/range.js"),n=o("./packages/ckeditor5-utils/src/emittermixin.js"),a=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),c=o("./packages/ckeditor5-utils/src/mix.js"),l=o("./packages/ckeditor5-utils/src/isiterable.js");class d{constructor(e,t,o){this._lastRangeBackward=!1,this._ranges=[],this._attrs=new Map,e&&this.setTo(e,t,o)}get anchor(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.end:e.start}return null}get focus(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.start:e.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(e){if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let o=!1;for(const i of e._ranges)if(t.isEqual(i)){o=!0;break}if(!o)return!1}return!0}*getRanges(){for(const e of this._ranges)yield new r.a(e.start,e.end)}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?new r.a(e.start,e.end):null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?new r.a(e.start,e.end):null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}setTo(e,t,o){if(null===e)this._setRanges([]);else if(e instanceof d)this._setRanges(e.getRanges(),e.isBackward);else if(e&&"function"==typeof e.getRanges)this._setRanges(e.getRanges(),e.isBackward);else if(e instanceof r.a)this._setRanges([e],!!t&&!!t.backward);else if(e instanceof i.a)this._setRanges([new r.a(e)]);else if(e instanceof s.a){const s=!!o&&!!o.backward;let n;if("in"==t)n=r.a._createIn(e);else if("on"==t)n=r.a._createOn(e);else{if(void 0===t)throw new a.a("model-selection-setto-required-second-parameter",[this,e]);n=new r.a(i.a._createAt(e,t))}this._setRanges([n],s)}else{if(!Object(l.a)(e))throw new a.a("model-selection-setto-not-selectable",[this,e]);this._setRanges(e,t&&!!t.backward)}}_setRanges(e,t=!1){const o=(e=Array.from(e)).some(t=>{if(!(t instanceof r.a))throw new a.a("model-selection-set-ranges-not-range",[this,e]);return this._ranges.every(e=>!e.isEqual(t))});if(e.length!==this._ranges.length||o){this._removeAllRanges();for(const t of e)this._pushRange(t);this._lastRangeBackward=!!t,this.fire("change:range",{directChange:!0})}}setFocus(e,t){if(null===this.anchor)throw new a.a("model-selection-setfocus-no-ranges",[this,e]);const o=i.a._createAt(e,t);if("same"==o.compareWith(this.focus))return;const s=this.anchor;this._ranges.length&&this._popRange(),"before"==o.compareWith(s)?(this._pushRange(new r.a(o,s)),this._lastRangeBackward=!0):(this._pushRange(new r.a(s,o)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(e){return this._attrs.get(e)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(e){return this._attrs.has(e)}removeAttribute(e){this.hasAttribute(e)&&(this._attrs.delete(e),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}setAttribute(e,t){this.getAttribute(e)!==t&&(this._attrs.set(e,t),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}is(e){return"selection"===e||"model:selection"===e}*getSelectedBlocks(){const e=new WeakSet;for(const t of this.getRanges()){const o=p(t.start,e);o&&g(o,t)&&(yield o);for(const o of t.getWalker()){const i=o.item;"elementEnd"==o.type&&h(i,e,t)&&(yield i)}const s=p(t.end,e);s&&!t.end.isTouching(i.a._createAt(s,0))&&g(s,t)&&(yield s)}}containsEntireContent(e=this.anchor.root){const t=i.a._createAt(e,0),o=i.a._createAt(e,"end");return t.isTouching(this.getFirstPosition())&&o.isTouching(this.getLastPosition())}_pushRange(e){this._checkRange(e),this._ranges.push(new r.a(e.start,e.end))}_checkRange(e){for(let t=0;t<this._ranges.length;t++)if(e.isIntersecting(this._ranges[t]))throw new a.a("model-selection-range-intersects",[this,e],{addedRange:e,intersectingRange:this._ranges[t]})}_removeAllRanges(){for(;this._ranges.length>0;)this._popRange()}_popRange(){this._ranges.pop()}}function u(e,t){return!t.has(e)&&(t.add(e),e.root.document.model.schema.isBlock(e)&&e.parent)}function h(e,t,o){return u(e,t)&&g(e,o)}function p(e,t){const o=e.parent.root.document.model.schema,i=e.parent.getAncestors({parentFirst:!0,includeSelf:!0});let s=!1;const r=i.find(e=>!s&&(s=o.isLimit(e),!s&&u(e,t)));return i.forEach(e=>t.add(e)),r}function g(e,t){const o=function(e){const t=e.root.document.model.schema;let o=e.parent;for(;o;){if(t.isBlock(o))return o;o=o.parent}}(e);if(!o)return!0;return!t.containsRange(r.a._createOn(o),!0)}Object(c.a)(d,n.c)},"./packages/ckeditor5-engine/src/model/text.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-engine/src/model/node.js");class s extends i.a{constructor(e,t){super(t),this._data=e||""}get offsetSize(){return this.data.length}get data(){return this._data}is(e){return"$text"===e||"model:$text"===e||"text"===e||"model:text"===e||"node"===e||"model:node"===e}toJSON(){const e=super.toJSON();return e.data=this.data,e}_clone(){return new s(this.data,this.getAttributes())}static fromJSON(e){return new s(e.data,e.attributes)}}},"./packages/ckeditor5-engine/src/model/textproxy.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class s{constructor(e,t,o){if(this.textNode=e,t<0||t>e.offsetSize)throw new i.a("model-textproxy-wrong-offsetintext",this);if(o<0||t+o>e.offsetSize)throw new i.a("model-textproxy-wrong-length",this);this.data=e.data.substring(t,t+o),this.offsetInText=t}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}is(e){return"$textProxy"===e||"model:$textProxy"===e||"textProxy"===e||"model:textProxy"===e}getPath(){const e=this.textNode.getPath();return e.length>0&&(e[e.length-1]+=this.offsetInText),e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let o=e.includeSelf?this:this.parent;for(;o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}hasAttribute(e){return this.textNode.hasAttribute(e)}getAttribute(e){return this.textNode.getAttribute(e)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}},"./packages/ckeditor5-engine/src/model/treewalker.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var i=o("./packages/ckeditor5-engine/src/model/text.js"),s=o("./packages/ckeditor5-engine/src/model/textproxy.js"),r=o("./packages/ckeditor5-engine/src/model/element.js"),n=o("./packages/ckeditor5-engine/src/model/position.js"),a=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class c{constructor(e={}){if(!e.boundaries&&!e.startPosition)throw new a.a("model-tree-walker-no-start-position",null);const t=e.direction||"forward";if("forward"!=t&&"backward"!=t)throw new a.a("model-tree-walker-unknown-direction",e,{direction:t});this.direction=t,this.boundaries=e.boundaries||null,e.startPosition?this.position=e.startPosition.clone():this.position=n.a._createAt(this.boundaries["backward"==this.direction?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}skip(e){let t,o,i,s;do{i=this.position,s=this._visitedParent,({done:t,value:o}=this.next())}while(!t&&e(o));t||(this.position=i,this._visitedParent=s)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){const e=this.position,t=this.position.clone(),o=this._visitedParent;if(null===o.parent&&t.offset===o.maxOffset)return{done:!0};if(o===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0};const a=t.parent,c=Object(n.d)(t,a),d=c||Object(n.b)(t,a,c);if(d instanceof r.a)return this.shallow?t.offset++:(t.path.push(0),this._visitedParent=d),this.position=t,l("elementStart",d,e,t,1);if(d instanceof i.a){let i;if(this.singleCharacters)i=1;else{let e=d.endOffset;this._boundaryEndParent==o&&this.boundaries.end.offset<e&&(e=this.boundaries.end.offset),i=e-t.offset}const r=t.offset-d.startOffset,n=new s.a(d,r,i);return t.offset+=i,this.position=t,l("text",n,e,t,i)}return t.path.pop(),t.offset++,this.position=t,this._visitedParent=o.parent,this.ignoreElementEnd?this._next():l("elementEnd",o,e,t)}_previous(){const e=this.position,t=this.position.clone(),o=this._visitedParent;if(null===o.parent&&0===t.offset)return{done:!0};if(o==this._boundaryStartParent&&t.offset==this.boundaries.start.offset)return{done:!0};const a=t.parent,c=Object(n.d)(t,a),d=c||Object(n.c)(t,a,c);if(d instanceof r.a)return t.offset--,this.shallow?(this.position=t,l("elementStart",d,e,t,1)):(t.path.push(d.maxOffset),this.position=t,this._visitedParent=d,this.ignoreElementEnd?this._previous():l("elementEnd",d,e,t));if(d instanceof i.a){let i;if(this.singleCharacters)i=1;else{let e=d.startOffset;this._boundaryStartParent==o&&this.boundaries.start.offset>e&&(e=this.boundaries.start.offset),i=t.offset-e}const r=t.offset-d.startOffset,n=new s.a(d,r-i,i);return t.offset-=i,this.position=t,l("text",n,e,t,i)}return t.path.pop(),this.position=t,this._visitedParent=o.parent,l("elementStart",o,e,t,1)}}function l(e,t,o,i,s){return{done:!1,value:{type:e,item:t,previousPosition:o,nextPosition:i,length:s}}}},"./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js":function(e,t,o){"use strict";function i(e){const{schema:t,document:o}=e.model;for(const i of o.getRootNames()){const s=o.getRoot(i);if(s.isEmpty&&!t.checkChild(s,"$text")&&t.checkChild(s,"paragraph"))return e.insertElement("paragraph",s),!0}return!1}function s(e,t,o){const i=o.createContext(e);return!!o.checkChild(i,"paragraph")&&!!o.checkChild(i.push("paragraph"),t)}function r(e,t){const o=t.createElement("paragraph");return t.insert(o,e),t.createPositionAt(o,0)}o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return s})),o.d(t,"c",(function(){return r}))},"./packages/ckeditor5-engine/src/view/attributeelement.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-engine/src/view/element.js"),s=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class r extends i.a{constructor(e,t,o,i){super(e,t,o,i),this.getFillerOffset=n,this._priority=10,this._id=null,this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new s.a("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}is(e,t=null){return t?t===this.name&&("attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e):"attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}isSimilar(e){return null!==this.id||null!==e.id?this.id===e.id:super.isSimilar(e)&&this.priority==e.priority}_clone(e){const t=super._clone(e);return t._priority=this._priority,t._id=this._id,t}}function n(){if(a(this))return null;let e=this.parent;for(;e&&e.is("attributeElement");){if(a(e)>1)return null;e=e.parent}return!e||a(e)>1?null:this.childCount}function a(e){return Array.from(e.getChildren()).filter(e=>!e.is("uiElement")).length}r.DEFAULT_PRIORITY=10},"./packages/ckeditor5-engine/src/view/containerelement.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s})),o.d(t,"b",(function(){return r}));var i=o("./packages/ckeditor5-engine/src/view/element.js");class s extends i.a{constructor(e,t,o,i){super(e,t,o,i),this.getFillerOffset=r}is(e,t=null){return t?t===this.name&&("containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}}function r(){const e=[...this.getChildren()],t=e[this.childCount-1];if(t&&t.is("element","br"))return this.childCount;for(const t of e)if(!t.is("uiElement"))return null;return this.childCount}},"./packages/ckeditor5-engine/src/view/document.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return b}));var i=o("./packages/ckeditor5-engine/src/view/documentselection.js"),s=o("./packages/ckeditor5-utils/src/collection.js"),r=o("./packages/ckeditor5-utils/src/mix.js"),n=o("./packages/ckeditor5-utils/src/eventinfo.js"),a=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),c=o("./packages/ckeditor5-utils/src/emittermixin.js"),l=o("./packages/ckeditor5-utils/src/toarray.js"),d=o("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js");const u=Symbol("bubbling contexts");var h={fire(e,...t){try{const o=e instanceof n.a?e:new n.a(this,e),i=m(this);if(!i.size)return;if(p(o,"capturing",this),g(i,"$capture",o,...t))return o.return;const s=o.startRange||this.selection.getFirstRange(),r=s?s.getContainedElement():null,a=!!r&&Boolean(f(i,r));let c=r||function(e){if(!e)return null;const t=e.start.parent,o=e.end.parent,i=t.getPath(),s=o.getPath();return i.length>s.length?t:o}(s);if(p(o,"atTarget",c),!a){if(g(i,"$text",o,...t))return o.return;p(o,"bubbling",c)}for(;c;){if(c.is("rootElement")){if(g(i,"$root",o,...t))return o.return}else if(c.is("element")&&g(i,c.name,o,...t))return o.return;if(g(i,c,o,...t))return o.return;c=c.parent,p(o,"bubbling",c)}return p(o,"bubbling",this),g(i,"$document",o,...t),o.return}catch(e){a.a.rethrowUnexpectedError(e,this)}},_addEventListener(e,t,o){const i=Object(l.a)(o.context||"$document"),s=m(this);for(const r of i){let i=s.get(r);i||(i=Object.create(c.c),s.set(r,i)),this.listenTo(i,e,t,o)}},_removeEventListener(e,t){const o=m(this);for(const i of o.values())this.stopListening(i,e,t)}};function p(e,t,o){e instanceof d.a&&(e._eventPhase=t,e._currentTarget=o)}function g(e,t,o,...i){const s="string"==typeof t?e.get(t):f(e,t);return!!s&&(s.fire(o,...i),o.stop.called)}function f(e,t){for(const[o,i]of e)if("function"==typeof o&&o(t))return i;return null}function m(e){return e[u]||(e[u]=new Map),e[u]}var k=o("./packages/ckeditor5-utils/src/observablemixin.js");class b{constructor(e){this.selection=new i.a,this.roots=new s.a({idProperty:"rootName"}),this.stylesProcessor=e,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1),this._postFixers=new Set}getRoot(e="main"){return this.roots.get(e)}registerPostFixer(e){this._postFixers.add(e)}destroy(){this.roots.map(e=>e.destroy()),this.stopListening()}_callPostFixers(e){let t=!1;do{for(const o of this._postFixers)if(t=o(e),t)break}while(t)}}Object(r.a)(b,h),Object(r.a)(b,k.a)},"./packages/ckeditor5-engine/src/view/documentfragment.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var i=o("./packages/ckeditor5-engine/src/view/text.js"),s=o("./packages/ckeditor5-engine/src/view/textproxy.js"),r=o("./packages/ckeditor5-utils/src/mix.js"),n=o("./packages/ckeditor5-utils/src/isiterable.js"),a=o("./packages/ckeditor5-utils/src/emittermixin.js");class c{constructor(e,t){this.document=e,this._children=[],t&&this._insertChild(0,t)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}is(e){return"documentFragment"===e||"view:documentFragment"===e}_appendChild(e){return this._insertChild(this.childCount,e)}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(e,t){this._fireChange("children",this);let o=0;const r=function(e,t){if("string"==typeof t)return[new i.a(e,t)];Object(n.a)(t)||(t=[t]);return Array.from(t).map(t=>"string"==typeof t?new i.a(e,t):t instanceof s.a?new i.a(e,t.data):t)}(this.document,t);for(const t of r)null!==t.parent&&t._remove(),t.parent=this,this._children.splice(e,0,t),e++,o++;return o}_removeChildren(e,t=1){this._fireChange("children",this);for(let o=e;o<e+t;o++)this._children[o].parent=null;return this._children.splice(e,t)}_fireChange(e,t){this.fire("change:"+e,t)}}Object(r.a)(c,a.c)},"./packages/ckeditor5-engine/src/view/documentselection.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var i=o("./packages/ckeditor5-engine/src/view/selection.js"),s=o("./packages/ckeditor5-utils/src/mix.js"),r=o("./packages/ckeditor5-utils/src/emittermixin.js");class n{constructor(e=null,t,o){this._selection=new i.a,this._selection.delegate("change").to(this),this._selection.setTo(e,t,o)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(e){return this._selection.isEqual(e)}isSimilar(e){return this._selection.isSimilar(e)}is(e){return"selection"===e||"documentSelection"==e||"view:selection"==e||"view:documentSelection"==e}_setTo(e,t,o){this._selection.setTo(e,t,o)}_setFocus(e,t){this._selection.setFocus(e,t)}}Object(s.a)(n,r.c)},"./packages/ckeditor5-engine/src/view/domconverter.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return w}));var i=o("./packages/ckeditor5-engine/src/view/text.js"),s=o("./packages/ckeditor5-engine/src/view/element.js"),r=o("./packages/ckeditor5-engine/src/view/uielement.js"),n=o("./packages/ckeditor5-engine/src/view/position.js"),a=o("./packages/ckeditor5-engine/src/view/range.js"),c=o("./packages/ckeditor5-engine/src/view/selection.js"),l=o("./packages/ckeditor5-engine/src/view/documentfragment.js"),d=o("./packages/ckeditor5-engine/src/view/treewalker.js"),u=o("./packages/ckeditor5-engine/src/view/matcher.js"),h=o("./packages/ckeditor5-engine/src/view/filler.js"),p=o("./packages/ckeditor5-utils/src/dom/global.js");function g(e){let t=0;for(;e.previousSibling;)e=e.previousSibling,t++;return t}function f(e){const t=[];for(;e&&e.nodeType!=Node.DOCUMENT_NODE;)t.unshift(e),e=e.parentNode;return t}var m=o("./packages/ckeditor5-utils/src/dom/istext.js");const k=Object(h.a)(document),b=Object(h.e)(document),_=Object(h.d)(document);class w{constructor(e,t={}){this.document=e,this.renderingMode=t.renderingMode||"editing",this.experimentalRenderingMode=!1,this.blockFillerMode=t.blockFillerMode||("editing"===this.renderingMode?"br":"nbsp"),this.preElements=["pre"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new u.a,this._encounteredRawContentDomNodes=new WeakSet}bindFakeSelection(e,t){this._fakeSelectionMapping.set(e,new c.a(t))}fakeSelectionToView(e){return this._fakeSelectionMapping.get(e)}bindElements(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}unbindDomElement(e){const t=this._domToViewMapping.get(e);if(t){this._domToViewMapping.delete(e),this._viewToDomMapping.delete(t);for(const t of e.childNodes)this.unbindDomElement(t)}}bindDocumentFragments(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}shouldRenderAttribute(e,t){return!this.experimentalRenderingMode||"data"===this.renderingMode||!(e.toLowerCase().startsWith("on")||t.match(/(\b)(on\S+)(\s*)=|javascript:|(<\s*)(\/*)script/i)||t.match(/data:(?!image\/(png|jpeg|gif|webp))/i))}setContentOf(e,t){if(!this.experimentalRenderingMode||"data"===this.renderingMode)return void(e.innerHTML=t);const o=(new DOMParser).parseFromString(t,"text/html"),i=o.createDocumentFragment(),s=o.body.childNodes;for(;s.length>0;)i.appendChild(s[0]);const r=o.createTreeWalker(i,NodeFilter.SHOW_ELEMENT),n=[];let a;for(;a=r.nextNode();)n.push(a);for(const e of n){for(const t of e.getAttributeNames()){const o=e.getAttribute(t);this.shouldRenderAttribute(t,o)||e.removeAttribute(t)}const t=e.tagName.toLowerCase();this._shouldRenameElement(t)&&e.replaceWith(this._createReplacementDomElement(t,e))}for(;e.firstChild;)e.firstChild.remove();e.append(i)}viewToDom(e,t,o={}){if(e.is("$text")){const o=this._processDataFromViewText(e);return t.createTextNode(o)}{if(this.mapViewToDom(e))return this.mapViewToDom(e);let i;if(e.is("documentFragment"))i=t.createDocumentFragment(),o.bind&&this.bindDocumentFragments(i,e);else{if(e.is("uiElement"))return i="$comment"===e.name?t.createComment(e.getCustomProperty("$rawContent")):e.render(t,this),o.bind&&this.bindElements(i,e),i;i=this._shouldRenameElement(e.name)?this._createReplacementDomElement(e.name):e.hasAttribute("xmlns")?t.createElementNS(e.getAttribute("xmlns"),e.name):t.createElement(e.name),e.is("rawElement")&&e.render(i,this),o.bind&&this.bindElements(i,e);for(const t of e.getAttributeKeys()){const o=e.getAttribute(t);this.shouldRenderAttribute(t,o)&&i.setAttribute(t,o)}}if(!1!==o.withChildren)for(const s of this.viewChildrenToDom(e,t,o))i.appendChild(s);return i}}*viewChildrenToDom(e,t,o={}){const i=e.getFillerOffset&&e.getFillerOffset();let s=0;for(const r of e.getChildren())i===s&&(yield this._getBlockFiller(t)),yield this.viewToDom(r,t,o),s++;i===s&&(yield this._getBlockFiller(t))}viewRangeToDom(e){const t=this.viewPositionToDom(e.start),o=this.viewPositionToDom(e.end),i=document.createRange();return i.setStart(t.parent,t.offset),i.setEnd(o.parent,o.offset),i}viewPositionToDom(e){const t=e.parent;if(t.is("$text")){const o=this.findCorrespondingDomText(t);if(!o)return null;let i=e.offset;return Object(h.i)(o)&&(i+=h.c),{parent:o,offset:i}}{let o,i,s;if(0===e.offset){if(o=this.mapViewToDom(t),!o)return null;s=o.childNodes[0]}else{const t=e.nodeBefore;if(i=t.is("$text")?this.findCorrespondingDomText(t):this.mapViewToDom(e.nodeBefore),!i)return null;o=i.parentNode,s=i.nextSibling}if(Object(m.a)(s)&&Object(h.i)(s))return{parent:s,offset:h.c};return{parent:o,offset:i?g(i)+1:0}}}domToView(e,t={}){if(this.isBlockFiller(e))return null;const o=this.getHostViewElement(e);if(o)return o;if(this.isComment(e)&&t.skipComments)return null;if(Object(m.a)(e)){if(Object(h.h)(e))return null;{const t=this._processDataFromDomText(e);return""===t?null:new i.a(this.document,t)}}{if(this.mapDomToView(e))return this.mapDomToView(e);let o;if(this.isDocumentFragment(e))o=new l.a(this.document),t.bind&&this.bindDocumentFragments(e,o);else{o=this._createViewElement(e,t),t.bind&&this.bindElements(e,o);const i=e.attributes;if(i)for(let e=i.length-1;e>=0;e--)o._setAttribute(i[e].name,i[e].value);if(this._isViewElementWithRawContent(o,t)||this.isComment(e)){const t=this.isComment(e)?e.data:e.innerHTML;return o._setCustomProperty("$rawContent",t),this._encounteredRawContentDomNodes.add(e),o}}if(!1!==t.withChildren)for(const i of this.domChildrenToView(e,t))o._appendChild(i);return o}}*domChildrenToView(e,t={}){for(let o=0;o<e.childNodes.length;o++){const i=e.childNodes[o],s=this.domToView(i,t);null!==s&&(yield s)}}domSelectionToView(e){if(1===e.rangeCount){let t=e.getRangeAt(0).startContainer;Object(m.a)(t)&&(t=t.parentNode);const o=this.fakeSelectionToView(t);if(o)return o}const t=this.isDomSelectionBackward(e),o=[];for(let t=0;t<e.rangeCount;t++){const i=e.getRangeAt(t),s=this.domRangeToView(i);s&&o.push(s)}return new c.a(o,{backward:t})}domRangeToView(e){const t=this.domPositionToView(e.startContainer,e.startOffset),o=this.domPositionToView(e.endContainer,e.endOffset);return t&&o?new a.a(t,o):null}domPositionToView(e,t=0){if(this.isBlockFiller(e))return this.domPositionToView(e.parentNode,g(e));const o=this.mapDomToView(e);if(o&&(o.is("uiElement")||o.is("rawElement")))return n.a._createBefore(o);if(Object(m.a)(e)){if(Object(h.h)(e))return this.domPositionToView(e.parentNode,g(e));const o=this.findCorrespondingViewText(e);let i=t;return o?(Object(h.i)(e)&&(i-=h.c,i=i<0?0:i),new n.a(o,i)):null}if(0===t){const t=this.mapDomToView(e);if(t)return new n.a(t,0)}else{const o=e.childNodes[t-1],i=Object(m.a)(o)?this.findCorrespondingViewText(o):this.mapDomToView(o);if(i&&i.parent)return new n.a(i.parent,i.index+1)}return null}mapDomToView(e){return this.getHostViewElement(e)||this._domToViewMapping.get(e)}findCorrespondingViewText(e){if(Object(h.h)(e))return null;const t=this.getHostViewElement(e);if(t)return t;const o=e.previousSibling;if(o){if(!this.isElement(o))return null;const e=this.mapDomToView(o);if(e){return e.nextSibling instanceof i.a?e.nextSibling:null}}else{const t=this.mapDomToView(e.parentNode);if(t){const e=t.getChild(0);return e instanceof i.a?e:null}}return null}mapViewToDom(e){return this._viewToDomMapping.get(e)}findCorrespondingDomText(e){const t=e.previousSibling;return t&&this.mapViewToDom(t)?this.mapViewToDom(t).nextSibling:!t&&e.parent&&this.mapViewToDom(e.parent)?this.mapViewToDom(e.parent).childNodes[0]:null}focus(e){const t=this.mapViewToDom(e);if(t&&t.ownerDocument.activeElement!==t){const{scrollX:e,scrollY:o}=p.a.window,i=[];v(t,e=>{const{scrollLeft:t,scrollTop:o}=e;i.push([t,o])}),t.focus(),v(t,e=>{const[t,o]=i.shift();e.scrollLeft=t,e.scrollTop=o}),p.a.window.scrollTo(e,o)}}isElement(e){return e&&e.nodeType==Node.ELEMENT_NODE}isDocumentFragment(e){return e&&e.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isComment(e){return e&&e.nodeType==Node.COMMENT_NODE}isBlockFiller(e){return"br"==this.blockFillerMode?e.isEqualNode(k):!("BR"!==e.tagName||!y(e,this.blockElements)||1!==e.parentNode.childNodes.length)||(e.isEqualNode(_)||function(e,t){return e.isEqualNode(b)&&y(e,t)&&1===e.parentNode.childNodes.length}(e,this.blockElements))}isDomSelectionBackward(e){if(e.isCollapsed)return!1;const t=document.createRange();t.setStart(e.anchorNode,e.anchorOffset),t.setEnd(e.focusNode,e.focusOffset);const o=t.collapsed;return t.detach(),o}getHostViewElement(e){const t=f(e);for(t.pop();t.length;){const e=t.pop(),o=this._domToViewMapping.get(e);if(o&&(o.is("uiElement")||o.is("rawElement")))return o}return null}isDomSelectionCorrect(e){return this._isDomSelectionPositionCorrect(e.anchorNode,e.anchorOffset)&&this._isDomSelectionPositionCorrect(e.focusNode,e.focusOffset)}registerRawContentMatcher(e){this._rawContentElementMatcher.add(e)}_getBlockFiller(e){switch(this.blockFillerMode){case"nbsp":return Object(h.e)(e);case"markedNbsp":return Object(h.d)(e);case"br":return Object(h.a)(e)}}_isDomSelectionPositionCorrect(e,t){if(Object(m.a)(e)&&Object(h.i)(e)&&t<h.c)return!1;if(this.isElement(e)&&Object(h.i)(e.childNodes[t]))return!1;const o=this.mapDomToView(e);return!o||!o.is("uiElement")&&!o.is("rawElement")}_processDataFromViewText(e){let t=e.data;if(e.getAncestors().some(e=>this.preElements.includes(e.name)))return t;if(" "==t.charAt(0)){const o=this._getTouchingInlineViewNode(e,!1);!(o&&o.is("$textProxy")&&this._nodeEndsWithSpace(o))&&o||(t=" "+t.substr(1))}if(" "==t.charAt(t.length-1)){const o=this._getTouchingInlineViewNode(e,!0),i=o&&o.is("$textProxy")&&" "==o.data.charAt(0);" "!=t.charAt(t.length-2)&&o&&!i||(t=t.substr(0,t.length-1)+" ")}return t.replace(/ {2}/g,"  ")}_nodeEndsWithSpace(e){if(e.getAncestors().some(e=>this.preElements.includes(e.name)))return!1;const t=this._processDataFromViewText(e);return" "==t.charAt(t.length-1)}_processDataFromDomText(e){let t=e.data;if(function(e,t){return f(e).some(e=>e.tagName&&t.includes(e.tagName.toLowerCase()))}(e,this.preElements))return Object(h.f)(e);t=t.replace(/[ \n\t\r]{1,}/g," ");const o=this._getTouchingInlineDomNode(e,!1),i=this._getTouchingInlineDomNode(e,!0),s=this._checkShouldLeftTrimDomText(e,o),r=this._checkShouldRightTrimDomText(e,i);s&&(t=t.replace(/^ /,"")),r&&(t=t.replace(/ $/,"")),t=Object(h.f)(new Text(t)),t=t.replace(/ \u00A0/g,"  ");const n=i&&this.isElement(i)&&"BR"!=i.tagName,a=i&&Object(m.a)(i)&&" "==i.data.charAt(0);return(/( |\u00A0)\u00A0$/.test(t)||!i||n||a)&&(t=t.replace(/\u00A0$/," ")),(s||o&&this.isElement(o)&&"BR"!=o.tagName)&&(t=t.replace(/^\u00A0/," ")),t}_checkShouldLeftTrimDomText(e,t){return!t||(this.isElement(t)?"BR"===t.tagName:!this._encounteredRawContentDomNodes.has(e.previousSibling)&&/[^\S\u00A0]/.test(t.data.charAt(t.data.length-1)))}_checkShouldRightTrimDomText(e,t){return!t&&!Object(h.i)(e)}_getTouchingInlineViewNode(e,t){const o=new d.a({startPosition:t?n.a._createAfter(e):n.a._createBefore(e),direction:t?"forward":"backward"});for(const e of o){if(e.item.is("element")&&this.inlineObjectElements.includes(e.item.name))return e.item;if(e.item.is("containerElement"))return null;if(e.item.is("element","br"))return null;if(e.item.is("$textProxy"))return e.item}return null}_getTouchingInlineDomNode(e,t){if(!e.parentNode)return null;const o=t?"firstChild":"lastChild",i=t?"nextSibling":"previousSibling";let s=!0;do{if(!s&&e[o]?e=e[o]:e[i]?(e=e[i],s=!1):(e=e.parentNode,s=!0),!e||this._isBlockElement(e))return null}while(!Object(m.a)(e)&&"BR"!=e.tagName&&!this._isInlineObjectElement(e));return e}_isBlockElement(e){return this.isElement(e)&&this.blockElements.includes(e.tagName.toLowerCase())}_isInlineObjectElement(e){return this.isElement(e)&&this.inlineObjectElements.includes(e.tagName.toLowerCase())}_createViewElement(e,t){if(this.isComment(e))return new r.a(this.document,"$comment");const o=t.keepOriginalCase?e.tagName:e.tagName.toLowerCase();return new s.a(this.document,o)}_isViewElementWithRawContent(e,t){return!1!==t.withChildren&&this._rawContentElementMatcher.match(e)}_shouldRenameElement(e){return this.experimentalRenderingMode&&"editing"==this.renderingMode&&"script"==e}_createReplacementDomElement(e,t=null){const o=document.createElement("span");if(o.setAttribute("data-ck-hidden",e),t){for(;t.firstChild;)o.appendChild(t.firstChild);for(const e of t.getAttributeNames())o.setAttribute(e,t.getAttribute(e))}return o}}function v(e,t){for(;e&&e!=p.a.document;)t(e),e=e.parentNode}function y(e,t){const o=e.parentNode;return o&&o.tagName&&t.includes(o.tagName.toLowerCase())}},"./packages/ckeditor5-engine/src/view/downcastwriter.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return v}));var i=o("./packages/ckeditor5-engine/src/view/position.js"),s=o("./packages/ckeditor5-engine/src/view/range.js"),r=o("./packages/ckeditor5-engine/src/view/selection.js"),n=o("./packages/ckeditor5-engine/src/view/containerelement.js"),a=o("./packages/ckeditor5-engine/src/view/attributeelement.js"),c=o("./packages/ckeditor5-engine/src/view/element.js"),l=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),d=o("./packages/ckeditor5-engine/src/view/node.js");class u extends c.a{constructor(e,t,o,i){super(e,t,o,i),this._isAllowedInsideAttributeElement=!0,this.getFillerOffset=h}is(e,t=null){return t?t===this.name&&("emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e):"emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}_insertChild(e,t){if(t&&(t instanceof d.a||Array.from(t).length>0))throw new l.a("view-emptyelement-cannot-add",[this,t])}}function h(){return null}var p=o("./packages/ckeditor5-engine/src/view/uielement.js");class g extends c.a{constructor(e,t,o,i){super(e,t,o,i),this._isAllowedInsideAttributeElement=!0,this.getFillerOffset=f}is(e,t=null){return t?t===this.name&&("rawElement"===e||"view:rawElement"===e||"element"===e||"view:element"===e):"rawElement"===e||"view:rawElement"===e||e===this.name||e==="view:"+this.name||"element"===e||"view:element"===e||"node"===e||"view:node"===e}_insertChild(e,t){if(t&&(t instanceof d.a||Array.from(t).length>0))throw new l.a("view-rawelement-cannot-add",[this,t])}}function f(){return null}var m=o("./packages/ckeditor5-engine/src/view/documentfragment.js"),k=o("./packages/ckeditor5-utils/src/isiterable.js"),b=o("./packages/ckeditor5-engine/src/view/text.js"),_=o("./packages/ckeditor5-engine/src/view/editableelement.js"),w=o("./node_modules/lodash-es/isPlainObject.js");class v{constructor(e){this.document=e,this._cloneGroups=new Map}setSelection(e,t,o){this.document.selection._setTo(e,t,o)}setSelectionFocus(e,t){this.document.selection._setFocus(e,t)}createDocumentFragment(e){return new m.a(this.document,e)}createText(e){return new b.a(this.document,e)}createAttributeElement(e,t,o={}){const i=new a.a(this.document,e,t);return"number"==typeof o.priority&&(i._priority=o.priority),o.id&&(i._id=o.id),i}createContainerElement(e,t,o={}){const i=new n.a(this.document,e,t);return void 0!==o.isAllowedInsideAttributeElement&&(i._isAllowedInsideAttributeElement=o.isAllowedInsideAttributeElement),i}createEditableElement(e,t){const o=new _.a(this.document,e,t);return o._document=this.document,o}createEmptyElement(e,t,o={}){const i=new u(this.document,e,t);return void 0!==o.isAllowedInsideAttributeElement&&(i._isAllowedInsideAttributeElement=o.isAllowedInsideAttributeElement),i}createUIElement(e,t,o,i={}){const s=new p.a(this.document,e,t);return o&&(s.render=o),void 0!==i.isAllowedInsideAttributeElement&&(s._isAllowedInsideAttributeElement=i.isAllowedInsideAttributeElement),s}createRawElement(e,t,o,i={}){const s=new g(this.document,e,t);return s.render=o||(()=>{}),void 0!==i.isAllowedInsideAttributeElement&&(s._isAllowedInsideAttributeElement=i.isAllowedInsideAttributeElement),s}setAttribute(e,t,o){o._setAttribute(e,t)}removeAttribute(e,t){t._removeAttribute(e)}addClass(e,t){t._addClass(e)}removeClass(e,t){t._removeClass(e)}setStyle(e,t,o){Object(w.a)(e)&&void 0===o&&(o=t),o._setStyle(e,t)}removeStyle(e,t){t._removeStyle(e)}setCustomProperty(e,t,o){o._setCustomProperty(e,t)}removeCustomProperty(e,t){return t._removeCustomProperty(e)}breakAttributes(e){return e instanceof i.a?this._breakAttributes(e):this._breakAttributesRange(e)}breakContainer(e){const t=e.parent;if(!t.is("containerElement"))throw new l.a("view-writer-break-non-container-element",this.document);if(!t.parent)throw new l.a("view-writer-break-root",this.document);if(e.isAtStart)return i.a._createBefore(t);if(!e.isAtEnd){const o=t._clone(!1);this.insert(i.a._createAfter(t),o);const r=new s.a(e,i.a._createAt(t,"end")),n=new i.a(o,0);this.move(r,n)}return i.a._createAfter(t)}mergeAttributes(e){const t=e.offset,o=e.parent;if(o.is("$text"))return e;if(o.is("attributeElement")&&0===o.childCount){const e=o.parent,t=o.index;return o._remove(),this._removeFromClonedElementsGroup(o),this.mergeAttributes(new i.a(e,t))}const s=o.getChild(t-1),r=o.getChild(t);if(!s||!r)return e;if(s.is("$text")&&r.is("$text"))return O(s,r);if(s.is("attributeElement")&&r.is("attributeElement")&&s.isSimilar(r)){const e=s.childCount;return s._appendChild(r.getChildren()),r._remove(),this._removeFromClonedElementsGroup(r),this.mergeAttributes(new i.a(s,e))}return e}mergeContainers(e){const t=e.nodeBefore,o=e.nodeAfter;if(!(t&&o&&t.is("containerElement")&&o.is("containerElement")))throw new l.a("view-writer-merge-containers-invalid-position",this.document);const r=t.getChild(t.childCount-1),n=r instanceof b.a?i.a._createAt(r,"end"):i.a._createAt(t,"end");return this.move(s.a._createIn(o),i.a._createAt(t,"end")),this.remove(s.a._createOn(o)),n}insert(e,t){(function e(t,o){for(const i of t){if(!A.some(e=>i instanceof e))throw new l.a("view-writer-insert-invalid-node-type",o);i.is("$text")||e(i.getChildren(),o)}})(t=Object(k.a)(t)?[...t]:[t],this.document);const o=t.reduce((e,t)=>{const o=e[e.length-1],i=!(t.is("uiElement")&&t.isAllowedInsideAttributeElement);return o&&o.breakAttributes==i?o.nodes.push(t):e.push({breakAttributes:i,nodes:[t]}),e},[]);let i=null,r=e;for(const{nodes:e,breakAttributes:t}of o){const o=this._insertNodes(r,e,t);i||(i=o.start),r=o.end}return i?new s.a(i,r):new s.a(e)}remove(e){const t=e instanceof s.a?e:s.a._createOn(e);if(C(t,this.document),t.isCollapsed)return new m.a(this.document);const{start:o,end:i}=this._breakAttributesRange(t,!0),r=o.parent,n=i.offset-o.offset,a=r._removeChildren(o.offset,n);for(const e of a)this._removeFromClonedElementsGroup(e);const c=this.mergeAttributes(o);return t.start=c,t.end=c.clone(),new m.a(this.document,a)}clear(e,t){C(e,this.document);const o=e.getWalker({direction:"backward",ignoreElementEnd:!0});for(const i of o){const o=i.item;let r;if(o.is("element")&&t.isSimilar(o))r=s.a._createOn(o);else if(!i.nextPosition.isAfter(e.start)&&o.is("$textProxy")){const e=o.getAncestors().find(e=>e.is("element")&&t.isSimilar(e));e&&(r=s.a._createIn(e))}r&&(r.end.isAfter(e.end)&&(r.end=e.end),r.start.isBefore(e.start)&&(r.start=e.start),this.remove(r))}}move(e,t){let o;if(t.isAfter(e.end)){const i=(t=this._breakAttributes(t,!0)).parent,s=i.childCount;e=this._breakAttributesRange(e,!0),o=this.remove(e),t.offset+=i.childCount-s}else o=this.remove(e);return this.insert(t,o)}wrap(e,t){if(!(t instanceof a.a))throw new l.a("view-writer-wrap-invalid-attribute",this.document);if(C(e,this.document),e.isCollapsed){let i=e.start;i.parent.is("element")&&(o=i.parent,!Array.from(o.getChildren()).some(e=>!e.is("uiElement")))&&(i=i.getLastMatchingPosition(e=>e.item.is("uiElement"))),i=this._wrapPosition(i,t);const r=this.document.selection;return r.isCollapsed&&r.getFirstPosition().isEqual(e.start)&&this.setSelection(i),new s.a(i)}return this._wrapRange(e,t);var o}unwrap(e,t){if(!(t instanceof a.a))throw new l.a("view-writer-unwrap-invalid-attribute",this.document);if(C(e,this.document),e.isCollapsed)return e;const{start:o,end:i}=this._breakAttributesRange(e,!0),r=o.parent,n=this._unwrapChildren(r,o.offset,i.offset,t),c=this.mergeAttributes(n.start);c.isEqual(n.start)||n.end.offset--;const d=this.mergeAttributes(n.end);return new s.a(c,d)}rename(e,t){const o=new n.a(this.document,e,t.getAttributes());return this.insert(i.a._createAfter(t),o),this.move(s.a._createIn(t),i.a._createAt(o,0)),this.remove(s.a._createOn(t)),o}clearClonedElementsGroup(e){this._cloneGroups.delete(e)}createPositionAt(e,t){return i.a._createAt(e,t)}createPositionAfter(e){return i.a._createAfter(e)}createPositionBefore(e){return i.a._createBefore(e)}createRange(e,t){return new s.a(e,t)}createRangeOn(e){return s.a._createOn(e)}createRangeIn(e){return s.a._createIn(e)}createSelection(e,t,o){return new r.a(e,t,o)}_insertNodes(e,t,o){let i,r;if(i=o?y(e):e.parent.is("$text")?e.parent.parent:e.parent,!i)throw new l.a("view-writer-invalid-position-container",this.document);r=o?this._breakAttributes(e,!0):e.parent.is("$text")?P(e):e;const n=i._insertChild(r.offset,t);for(const e of t)this._addToClonedElementsGroup(e);const a=r.getShiftedBy(n),c=this.mergeAttributes(r);c.isEqual(r)||a.offset--;const d=this.mergeAttributes(a);return new s.a(c,d)}_wrapChildren(e,t,o,r){let n=t;const a=[];for(;n<o;){const t=e.getChild(n),o=t.is("$text"),s=t.is("attributeElement"),c=t.isAllowedInsideAttributeElement;if(s&&this._wrapAttributeElement(r,t))a.push(new i.a(e,n));else if(o||c||s&&j(r,t)){const o=r._clone();t._remove(),o._appendChild(t),e._insertChild(n,o),this._addToClonedElementsGroup(o),a.push(new i.a(e,n))}else s&&this._wrapChildren(t,0,t.childCount,r);n++}let c=0;for(const e of a){if(e.offset-=c,e.offset==t)continue;this.mergeAttributes(e).isEqual(e)||(c++,o--)}return s.a._createFromParentsAndOffsets(e,t,e,o)}_unwrapChildren(e,t,o,r){let n=t;const a=[];for(;n<o;){const t=e.getChild(n);if(t.is("attributeElement"))if(t.isSimilar(r)){const s=t.getChildren(),r=t.childCount;t._remove(),e._insertChild(n,s),this._removeFromClonedElementsGroup(t),a.push(new i.a(e,n),new i.a(e,n+r)),n+=r,o+=r-1}else this._unwrapAttributeElement(r,t)?(a.push(new i.a(e,n),new i.a(e,n+1)),n++):(this._unwrapChildren(t,0,t.childCount,r),n++);else n++}let c=0;for(const e of a){if(e.offset-=c,e.offset==t||e.offset==o)continue;this.mergeAttributes(e).isEqual(e)||(c++,o--)}return s.a._createFromParentsAndOffsets(e,t,e,o)}_wrapRange(e,t){const{start:o,end:i}=this._breakAttributesRange(e,!0),r=o.parent,n=this._wrapChildren(r,o.offset,i.offset,t),a=this.mergeAttributes(n.start);a.isEqual(n.start)||n.end.offset--;const c=this.mergeAttributes(n.end);return new s.a(a,c)}_wrapPosition(e,t){if(t.isSimilar(e.parent))return x(e.clone());e.parent.is("$text")&&(e=P(e));const o=this.createAttributeElement();o._priority=Number.POSITIVE_INFINITY,o.isSimilar=()=>!1,e.parent._insertChild(e.offset,o);const r=new s.a(e,e.getShiftedBy(1));this.wrap(r,t);const n=new i.a(o.parent,o.index);o._remove();const a=n.nodeBefore,c=n.nodeAfter;return a instanceof b.a&&c instanceof b.a?O(a,c):x(n)}_wrapAttributeElement(e,t){if(!E(e,t))return!1;if(e.name!==t.name||e.priority!==t.priority)return!1;for(const o of e.getAttributeKeys())if("class"!==o&&"style"!==o&&t.hasAttribute(o)&&t.getAttribute(o)!==e.getAttribute(o))return!1;for(const o of e.getStyleNames())if(t.hasStyle(o)&&t.getStyle(o)!==e.getStyle(o))return!1;for(const o of e.getAttributeKeys())"class"!==o&&"style"!==o&&(t.hasAttribute(o)||this.setAttribute(o,e.getAttribute(o),t));for(const o of e.getStyleNames())t.hasStyle(o)||this.setStyle(o,e.getStyle(o),t);for(const o of e.getClassNames())t.hasClass(o)||this.addClass(o,t);return!0}_unwrapAttributeElement(e,t){if(!E(e,t))return!1;if(e.name!==t.name||e.priority!==t.priority)return!1;for(const o of e.getAttributeKeys())if("class"!==o&&"style"!==o&&(!t.hasAttribute(o)||t.getAttribute(o)!==e.getAttribute(o)))return!1;if(!t.hasClass(...e.getClassNames()))return!1;for(const o of e.getStyleNames())if(!t.hasStyle(o)||t.getStyle(o)!==e.getStyle(o))return!1;for(const o of e.getAttributeKeys())"class"!==o&&"style"!==o&&this.removeAttribute(o,t);return this.removeClass(Array.from(e.getClassNames()),t),this.removeStyle(Array.from(e.getStyleNames()),t),!0}_breakAttributesRange(e,t=!1){const o=e.start,i=e.end;if(C(e,this.document),e.isCollapsed){const o=this._breakAttributes(e.start,t);return new s.a(o,o)}const r=this._breakAttributes(i,t),n=r.parent.childCount,a=this._breakAttributes(o,t);return r.offset+=r.parent.childCount-n,new s.a(a,r)}_breakAttributes(e,t=!1){const o=e.offset,s=e.parent;if(e.parent.is("emptyElement"))throw new l.a("view-writer-cannot-break-empty-element",this.document);if(e.parent.is("uiElement"))throw new l.a("view-writer-cannot-break-ui-element",this.document);if(e.parent.is("rawElement"))throw new l.a("view-writer-cannot-break-raw-element",this.document);if(!t&&s.is("$text")&&T(s.parent))return e.clone();if(T(s))return e.clone();if(s.is("$text"))return this._breakAttributes(P(e),t);if(o==s.childCount){const e=new i.a(s.parent,s.index+1);return this._breakAttributes(e,t)}if(0===o){const e=new i.a(s.parent,s.index);return this._breakAttributes(e,t)}{const e=s.index+1,r=s._clone();s.parent._insertChild(e,r),this._addToClonedElementsGroup(r);const n=s.childCount-o,a=s._removeChildren(o,n);r._appendChild(a);const c=new i.a(s.parent,e);return this._breakAttributes(c,t)}}_addToClonedElementsGroup(e){if(!e.root.is("rootElement"))return;if(e.is("element"))for(const t of e.getChildren())this._addToClonedElementsGroup(t);const t=e.id;if(!t)return;let o=this._cloneGroups.get(t);o||(o=new Set,this._cloneGroups.set(t,o)),o.add(e),e._clonesGroup=o}_removeFromClonedElementsGroup(e){if(e.is("element"))for(const t of e.getChildren())this._removeFromClonedElementsGroup(t);const t=e.id;if(!t)return;const o=this._cloneGroups.get(t);o&&o.delete(e)}}function y(e){let t=e.parent;for(;!T(t);){if(!t)return;t=t.parent}return t}function j(e,t){return e.priority<t.priority||!(e.priority>t.priority)&&e.getIdentity()<t.getIdentity()}function x(e){const t=e.nodeBefore;if(t&&t.is("$text"))return new i.a(t,t.data.length);const o=e.nodeAfter;return o&&o.is("$text")?new i.a(o,0):e}function P(e){if(e.offset==e.parent.data.length)return new i.a(e.parent.parent,e.parent.index+1);if(0===e.offset)return new i.a(e.parent.parent,e.parent.index);const t=e.parent.data.slice(e.offset);return e.parent._data=e.parent.data.slice(0,e.offset),e.parent.parent._insertChild(e.parent.index+1,new b.a(e.root.document,t)),new i.a(e.parent.parent,e.parent.index+1)}function O(e,t){const o=e.data.length;return e._data+=t.data,t._remove(),new i.a(e,o)}const A=[b.a,a.a,n.a,u,g,p.a];function T(e){return e&&(e.is("containerElement")||e.is("documentFragment"))}function C(e,t){const o=y(e.start),i=y(e.end);if(!o||!i||o!==i)throw new l.a("view-writer-invalid-range-container",t)}function E(e,t){return null===e.id&&null===t.id}},"./packages/ckeditor5-engine/src/view/editableelement.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var i=o("./packages/ckeditor5-engine/src/view/containerelement.js"),s=o("./packages/ckeditor5-utils/src/mix.js"),r=o("./packages/ckeditor5-utils/src/observablemixin.js");class n extends i.a{constructor(e,t,o,i){super(e,t,o,i),this.set("isReadOnly",!1),this.set("isFocused",!1),this.bind("isReadOnly").to(e),this.bind("isFocused").to(e,"isFocused",t=>t&&e.selection.editableElement==this),this.listenTo(e.selection,"change",()=>{this.isFocused=e.isFocused&&e.selection.editableElement==this})}is(e,t=null){return t?t===this.name&&("editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}destroy(){this.stopListening()}}Object(s.a)(n,r.a)},"./packages/ckeditor5-engine/src/view/element.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var i=o("./packages/ckeditor5-engine/src/view/node.js"),s=o("./packages/ckeditor5-engine/src/view/text.js"),r=o("./packages/ckeditor5-engine/src/view/textproxy.js"),n=o("./packages/ckeditor5-utils/src/tomap.js"),a=o("./packages/ckeditor5-utils/src/toarray.js"),c=o("./packages/ckeditor5-utils/src/isiterable.js"),l=o("./packages/ckeditor5-engine/src/view/matcher.js"),d=o("./packages/ckeditor5-engine/src/view/stylesmap.js");class u extends i.a{constructor(e,t,o,i){if(super(e),this.name=t,this._attrs=function(e){e=Object(n.a)(e);for(const[t,o]of e)null===o?e.delete(t):"string"!=typeof o&&e.set(t,String(o));return e}(o),this._children=[],i&&this._insertChild(0,i),this._classes=new Set,this._attrs.has("class")){const e=this._attrs.get("class");h(this._classes,e),this._attrs.delete("class")}this._styles=new d.b(this.document.stylesProcessor),this._attrs.has("style")&&(this._styles.setTo(this._attrs.get("style")),this._attrs.delete("style")),this._customProperties=new Map,this._isAllowedInsideAttributeElement=!1}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}get isAllowedInsideAttributeElement(){return this._isAllowedInsideAttributeElement}is(e,t=null){return t?t===this.name&&("element"===e||"view:element"===e):"element"===e||"view:element"===e||"node"===e||"view:node"===e}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes.size>0&&(yield"class"),this._styles.isEmpty||(yield"style"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield["class",this.getAttribute("class")]),this._styles.isEmpty||(yield["style",this.getAttribute("style")])}getAttribute(e){if("class"==e)return this._classes.size>0?[...this._classes].join(" "):void 0;if("style"==e){const e=this._styles.toString();return""==e?void 0:e}return this._attrs.get(e)}hasAttribute(e){return"class"==e?this._classes.size>0:"style"==e?!this._styles.isEmpty:this._attrs.has(e)}isSimilar(e){if(!(e instanceof u))return!1;if(this===e)return!0;if(this.name!=e.name)return!1;if(this.isAllowedInsideAttributeElement!=e.isAllowedInsideAttributeElement)return!1;if(this._attrs.size!==e._attrs.size||this._classes.size!==e._classes.size||this._styles.size!==e._styles.size)return!1;for(const[t,o]of this._attrs)if(!e._attrs.has(t)||e._attrs.get(t)!==o)return!1;for(const t of this._classes)if(!e._classes.has(t))return!1;for(const t of this._styles.getStyleNames())if(!e._styles.has(t)||e._styles.getAsString(t)!==this._styles.getAsString(t))return!1;return!0}hasClass(...e){for(const t of e)if(!this._classes.has(t))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(e){return this._styles.getAsString(e)}getNormalizedStyle(e){return this._styles.getNormalized(e)}getStyleNames(e=!1){return this._styles.getStyleNames(e)}hasStyle(...e){for(const t of e)if(!this._styles.has(t))return!1;return!0}findAncestor(...e){const t=new l.a(...e);let o=this.parent;for(;o;){if(t.match(o))return o;o=o.parent}return null}getCustomProperty(e){return this._customProperties.get(e)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const e=Array.from(this._classes).sort().join(","),t=this._styles.toString(),o=Array.from(this._attrs).map(e=>`${e[0]}="${e[1]}"`).sort().join(" ");return this.name+(""==e?"":` class="${e}"`)+(t?` style="${t}"`:"")+(""==o?"":" "+o)}_clone(e=!1){const t=[];if(e)for(const o of this.getChildren())t.push(o._clone(e));const o=new this.constructor(this.document,this.name,this._attrs,t);return o._classes=new Set(this._classes),o._styles.set(this._styles.getNormalized()),o._customProperties=new Map(this._customProperties),o.getFillerOffset=this.getFillerOffset,o._isAllowedInsideAttributeElement=this.isAllowedInsideAttributeElement,o}_appendChild(e){return this._insertChild(this.childCount,e)}_insertChild(e,t){this._fireChange("children",this);let o=0;const i=function(e,t){if("string"==typeof t)return[new s.a(e,t)];Object(c.a)(t)||(t=[t]);return Array.from(t).map(t=>"string"==typeof t?new s.a(e,t):t instanceof r.a?new s.a(e,t.data):t)}(this.document,t);for(const t of i)null!==t.parent&&t._remove(),t.parent=this,t.document=this.document,this._children.splice(e,0,t),e++,o++;return o}_removeChildren(e,t=1){this._fireChange("children",this);for(let o=e;o<e+t;o++)this._children[o].parent=null;return this._children.splice(e,t)}_setAttribute(e,t){t=String(t),this._fireChange("attributes",this),"class"==e?h(this._classes,t):"style"==e?this._styles.setTo(t):this._attrs.set(e,t)}_removeAttribute(e){return this._fireChange("attributes",this),"class"==e?this._classes.size>0&&(this._classes.clear(),!0):"style"==e?!this._styles.isEmpty&&(this._styles.clear(),!0):this._attrs.delete(e)}_addClass(e){this._fireChange("attributes",this);for(const t of Object(a.a)(e))this._classes.add(t)}_removeClass(e){this._fireChange("attributes",this);for(const t of Object(a.a)(e))this._classes.delete(t)}_setStyle(e,t){this._fireChange("attributes",this),this._styles.set(e,t)}_removeStyle(e){this._fireChange("attributes",this);for(const t of Object(a.a)(e))this._styles.remove(t)}_setCustomProperty(e,t){this._customProperties.set(e,t)}_removeCustomProperty(e){return this._customProperties.delete(e)}}function h(e,t){const o=t.split(/\s+/);e.clear(),o.forEach(t=>e.add(t))}},"./packages/ckeditor5-engine/src/view/filler.js":function(e,t,o){"use strict";o.d(t,"e",(function(){return r})),o.d(t,"d",(function(){return n})),o.d(t,"a",(function(){return a})),o.d(t,"c",(function(){return c})),o.d(t,"b",(function(){return l})),o.d(t,"i",(function(){return d})),o.d(t,"h",(function(){return u})),o.d(t,"f",(function(){return h})),o.d(t,"g",(function(){return p}));var i=o("./packages/ckeditor5-utils/src/keyboard.js"),s=o("./packages/ckeditor5-utils/src/dom/istext.js");const r=e=>e.createTextNode(" "),n=e=>{const t=e.createElement("span");return t.dataset.ckeFiller=!0,t.innerHTML=" ",t},a=e=>{const t=e.createElement("br");return t.dataset.ckeFiller=!0,t},c=7,l="⁠".repeat(c);function d(e){return Object(s.a)(e)&&e.data.substr(0,c)===l}function u(e){return e.data.length==c&&d(e)}function h(e){return d(e)?e.data.slice(c):e.data}function p(e){e.document.on("arrowKey",g,{priority:"low"})}function g(e,t){if(t.keyCode==i.f.arrowleft){const e=t.domTarget.ownerDocument.defaultView.getSelection();if(1==e.rangeCount&&e.getRangeAt(0).collapsed){const t=e.getRangeAt(0).startContainer,o=e.getRangeAt(0).startOffset;d(t)&&o<=c&&e.collapse(t,0)}}}},"./packages/ckeditor5-engine/src/view/matcher.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./node_modules/lodash-es/isPlainObject.js"),s=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class r{constructor(...e){this._patterns=[],this.add(...e)}add(...e){for(let t of e)("string"==typeof t||t instanceof RegExp)&&(t={name:t}),this._patterns.push(t)}match(...e){for(const t of e)for(const e of this._patterns){const o=n(t,e);if(o)return{element:t,pattern:e,match:o}}return null}matchAll(...e){const t=[];for(const o of e)for(const e of this._patterns){const i=n(o,e);i&&t.push({element:o,pattern:e,match:i})}return t.length>0?t:null}getElementName(){if(1!==this._patterns.length)return null;const e=this._patterns[0],t=e.name;return"function"==typeof e||!t||t instanceof RegExp?null:t}}function n(e,t){if("function"==typeof t)return t(e);const o={};return t.name&&(o.name=function(e,t){if(e instanceof RegExp)return!!t.match(e);return e===t}(t.name,e.name),!o.name)||t.attributes&&(o.attributes=function(e,t){const o=new Set(t.getAttributeKeys());Object(i.a)(e)?(void 0!==e.style&&Object(s.c)("matcher-pattern-deprecated-attributes-style-key",e),void 0!==e.class&&Object(s.c)("matcher-pattern-deprecated-attributes-class-key",e)):(o.delete("style"),o.delete("class"));return a(e,o,e=>t.getAttribute(e))}(t.attributes,e),!o.attributes)?null:!(t.classes&&(o.classes=function(e,t){return a(e,t.getClassNames())}(t.classes,e),!o.classes))&&(!(t.styles&&(o.styles=function(e,t){return a(e,t.getStyleNames(!0),e=>t.getStyle(e))}(t.styles,e),!o.styles))&&o)}function a(e,t,o){const r=function(e){if(Array.isArray(e))return e.map(e=>Object(i.a)(e)?(void 0!==e.key&&void 0!==e.value||Object(s.c)("matcher-pattern-missing-key-or-value",e),[e.key,e.value]):[e,!0]);if(Object(i.a)(e))return Object.entries(e);return[[e,!0]]}(e),n=Array.from(t),a=[];return r.forEach(([e,t])=>{n.forEach(i=>{(function(e,t){return!0===e||e===t||e instanceof RegExp&&t.match(e)})(e,i)&&function(e,t,o){if(!0===e)return!0;const i=o(t);return e===i||e instanceof RegExp&&!!String(i).match(e)}(t,i,o)&&a.push(i)})}),!r.length||a.length<r.length?null:a}},"./packages/ckeditor5-engine/src/view/node.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),s=o("./packages/ckeditor5-utils/src/emittermixin.js"),r=o("./packages/ckeditor5-utils/src/mix.js"),n=o("./packages/ckeditor5-utils/src/comparearrays.js"),a=o("./node_modules/lodash-es/clone.js");o("./packages/ckeditor5-utils/src/version.js");class c{constructor(e){this.document=e,this.parent=null}get index(){let e;if(!this.parent)return null;if(-1==(e=this.parent.getChildIndex(this)))throw new i.a("view-node-not-found-in-parent",this);return e}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return this.root.is("rootElement")}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.index),t=t.parent;return e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let o=e.includeSelf?this:this.parent;for(;o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}getCommonAncestor(e,t={}){const o=this.getAncestors(t),i=e.getAncestors(t);let s=0;for(;o[s]==i[s]&&o[s];)s++;return 0===s?null:o[s-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),o=e.getPath(),i=Object(n.a)(t,o);switch(i){case"prefix":return!0;case"extension":return!1;default:return t[i]<o[i]}}isAfter(e){return this!=e&&(this.root===e.root&&!this.isBefore(e))}_remove(){this.parent._removeChildren(this.index)}_fireChange(e,t){this.fire("change:"+e,t),this.parent&&this.parent._fireChange(e,t)}toJSON(){const e=Object(a.a)(this);return delete e.parent,e}is(e){return"node"===e||"view:node"===e}}Object(r.a)(c,s.c)},"./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-utils/src/eventinfo.js");class s extends i.a{constructor(e,t,o){super(e,t),this.startRange=o,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}},"./packages/ckeditor5-engine/src/view/observer/domeventdata.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./node_modules/lodash-es/assignIn.js");class s{constructor(e,t,o){this.view=e,this.document=e.document,this.domEvent=t,this.domTarget=t.target,Object(i.a)(this,o)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}},"./packages/ckeditor5-engine/src/view/observer/domeventobserver.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-engine/src/view/observer/observer.js"),s=o("./packages/ckeditor5-engine/src/view/observer/domeventdata.js");class r extends i.a{constructor(e){super(e),this.useCapture=!1}observe(e){("string"==typeof this.domEventType?[this.domEventType]:this.domEventType).forEach(t=>{this.listenTo(e,t,(e,t)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(t.target)&&this.onDomEvent(t)},{useCapture:this.useCapture})})}fire(e,t,o){this.isEnabled&&this.document.fire(e,new s.a(this.view,t,o))}}},"./packages/ckeditor5-engine/src/view/observer/mouseobserver.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js");class s extends i.a{constructor(e){super(e),this.domEventType=["mousedown","mouseup","mouseover","mouseout"]}onDomEvent(e){this.fire(e.type,e)}}},"./packages/ckeditor5-engine/src/view/observer/observer.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-utils/src/dom/emittermixin.js"),s=o("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.view=e,this.document=e.document,this.isEnabled=!1}enable(){this.isEnabled=!0}disable(){this.isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(e){return e&&3===e.nodeType&&(e=e.parentNode),!(!e||1!==e.nodeType)&&e.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}Object(s.a)(r,i.a)},"./packages/ckeditor5-engine/src/view/position.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-engine/src/view/treewalker.js"),s=o("./packages/ckeditor5-utils/src/comparearrays.js"),r=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=o("./packages/ckeditor5-engine/src/view/editableelement.js");o("./packages/ckeditor5-utils/src/version.js");class a{constructor(e,t){this.parent=e,this.offset=t}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const e=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===e}get root(){return this.parent.root}get editableElement(){let e=this.parent;for(;!(e instanceof n.a);){if(!e.parent)return null;e=e.parent}return e}getShiftedBy(e){const t=a._createAt(this),o=t.offset+e;return t.offset=o<0?0:o,t}getLastMatchingPosition(e,t={}){t.startPosition=this;const o=new i.a(t);return o.skip(e),o.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(e){const t=this.getAncestors(),o=e.getAncestors();let i=0;for(;t[i]==o[i]&&t[i];)i++;return 0===i?null:t[i-1]}is(e){return"position"===e||"view:position"===e}isEqual(e){return this.parent==e.parent&&this.offset==e.offset}isBefore(e){return"before"==this.compareWith(e)}isAfter(e){return"after"==this.compareWith(e)}compareWith(e){if(this.root!==e.root)return"different";if(this.isEqual(e))return"same";const t=this.parent.is("node")?this.parent.getPath():[],o=e.parent.is("node")?e.parent.getPath():[];t.push(this.offset),o.push(e.offset);const i=Object(s.a)(t,o);switch(i){case"prefix":return"before";case"extension":return"after";default:return t[i]<o[i]?"before":"after"}}getWalker(e={}){return e.startPosition=this,new i.a(e)}clone(){return new a(this.parent,this.offset)}static _createAt(e,t){if(e instanceof a)return new this(e.parent,e.offset);{const o=e;if("end"==t)t=o.is("$text")?o.data.length:o.childCount;else{if("before"==t)return this._createBefore(o);if("after"==t)return this._createAfter(o);if(0!==t&&!t)throw new r.a("view-createpositionat-offset-required",o)}return new a(o,t)}}static _createAfter(e){if(e.is("$textProxy"))return new a(e.textNode,e.offsetInText+e.data.length);if(!e.parent)throw new r.a("view-position-after-root",e,{root:e});return new a(e.parent,e.index+1)}static _createBefore(e){if(e.is("$textProxy"))return new a(e.textNode,e.offsetInText);if(!e.parent)throw new r.a("view-position-before-root",e,{root:e});return new a(e.parent,e.index)}}},"./packages/ckeditor5-engine/src/view/range.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-engine/src/view/position.js"),s=o("./packages/ckeditor5-engine/src/view/treewalker.js");class r{constructor(e,t=null){this.start=e.clone(),this.end=t?t.clone():e.clone()}*[Symbol.iterator](){yield*new s.a({boundaries:this,ignoreElementEnd:!0})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){return this.start.parent===this.end.parent}get root(){return this.start.root}getEnlarged(){let e=this.start.getLastMatchingPosition(n,{direction:"backward"}),t=this.end.getLastMatchingPosition(n);return e.parent.is("$text")&&e.isAtStart&&(e=i.a._createBefore(e.parent)),t.parent.is("$text")&&t.isAtEnd&&(t=i.a._createAfter(t.parent)),new r(e,t)}getTrimmed(){let e=this.start.getLastMatchingPosition(n);if(e.isAfter(this.end)||e.isEqual(this.end))return new r(e,e);let t=this.end.getLastMatchingPosition(n,{direction:"backward"});const o=e.nodeAfter,s=t.nodeBefore;return o&&o.is("$text")&&(e=new i.a(o,0)),s&&s.is("$text")&&(t=new i.a(s,s.data.length)),new r(e,t)}isEqual(e){return this==e||this.start.isEqual(e.start)&&this.end.isEqual(e.end)}containsPosition(e){return e.isAfter(this.start)&&e.isBefore(this.end)}containsRange(e,t=!1){e.isCollapsed&&(t=!1);const o=this.containsPosition(e.start)||t&&this.start.isEqual(e.start),i=this.containsPosition(e.end)||t&&this.end.isEqual(e.end);return o&&i}getDifference(e){const t=[];return this.isIntersecting(e)?(this.containsPosition(e.start)&&t.push(new r(this.start,e.start)),this.containsPosition(e.end)&&t.push(new r(e.end,this.end))):t.push(this.clone()),t}getIntersection(e){if(this.isIntersecting(e)){let t=this.start,o=this.end;return this.containsPosition(e.start)&&(t=e.start),this.containsPosition(e.end)&&(o=e.end),new r(t,o)}return null}getWalker(e={}){return e.boundaries=this,new s.a(e)}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed)return null;let e=this.start.nodeAfter,t=this.end.nodeBefore;return this.start.parent.is("$text")&&this.start.isAtEnd&&this.start.parent.nextSibling&&(e=this.start.parent.nextSibling),this.end.parent.is("$text")&&this.end.isAtStart&&this.end.parent.previousSibling&&(t=this.end.parent.previousSibling),e&&e.is("element")&&e===t?e:null}clone(){return new r(this.start,this.end)}*getItems(e={}){e.boundaries=this,e.ignoreElementEnd=!0;const t=new s.a(e);for(const e of t)yield e.item}*getPositions(e={}){e.boundaries=this;const t=new s.a(e);yield t.position;for(const e of t)yield e.nextPosition}is(e){return"range"===e||"view:range"===e}isIntersecting(e){return this.start.isBefore(e.end)&&this.end.isAfter(e.start)}static _createFromParentsAndOffsets(e,t,o,s){return new this(new i.a(e,t),new i.a(o,s))}static _createFromPositionAndShift(e,t){const o=e,i=e.getShiftedBy(t);return t>0?new this(o,i):new this(i,o)}static _createIn(e){return this._createFromParentsAndOffsets(e,0,e,e.childCount)}static _createOn(e){const t=e.is("$textProxy")?e.offsetSize:1;return this._createFromPositionAndShift(i.a._createBefore(e),t)}}function n(e){return!(!e.item.is("attributeElement")&&!e.item.is("uiElement"))}},"./packages/ckeditor5-engine/src/view/renderer.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return m}));var i=o("./packages/ckeditor5-engine/src/view/text.js"),s=o("./packages/ckeditor5-engine/src/view/position.js"),r=o("./packages/ckeditor5-engine/src/view/filler.js"),n=o("./packages/ckeditor5-utils/src/mix.js"),a=o("./packages/ckeditor5-utils/src/diff.js");function c(e,t,o){e.insertBefore(o,e.childNodes[t]||null)}function l(e){const t=e.parentNode;t&&t.removeChild(e)}var d=o("./packages/ckeditor5-utils/src/observablemixin.js"),u=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),h=o("./packages/ckeditor5-utils/src/dom/istext.js"),p=o("./packages/ckeditor5-utils/src/dom/isnode.js"),g=o("./packages/ckeditor5-utils/src/fastdiff.js"),f=o("./packages/ckeditor5-utils/src/env.js");o("./packages/ckeditor5-engine/theme/renderer.css");class m{constructor(e,t){this.domDocuments=new Set,this.domConverter=e,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this.selection=t,this.set("isFocused",!1),this.set("isSelecting",!1),f.a.isBlink&&!f.a.isAndroid&&this.on("change:isSelecting",()=>{this.isSelecting||this.render()}),this._inlineFiller=null,this._fakeSelectionContainer=null}markToSync(e,t){if("text"===e)this.domConverter.mapViewToDom(t.parent)&&this.markedTexts.add(t);else{if(!this.domConverter.mapViewToDom(t))return;if("attributes"===e)this.markedAttributes.add(t);else{if("children"!==e)throw new u.a("view-renderer-unknown-type",this);this.markedChildren.add(t)}}}render(){let e;const t=!(f.a.isBlink&&!f.a.isAndroid)||!this.isSelecting;for(const e of this.markedChildren)this._updateChildrenMappings(e);t?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?e=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(e=this.selection.getFirstPosition(),this.markedChildren.add(e.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(e=this.domConverter.domPositionToView(this._inlineFiller));for(const e of this.markedAttributes)this._updateAttrs(e);for(const t of this.markedChildren)this._updateChildren(t,{inlineFillerPosition:e});for(const t of this.markedTexts)!this.markedChildren.has(t.parent)&&this.domConverter.mapViewToDom(t.parent)&&this._updateText(t,{inlineFillerPosition:e});if(t)if(e){const t=this.domConverter.viewPositionToDom(e),o=t.parent.ownerDocument;Object(r.i)(t.parent)?this._inlineFiller=t.parent:this._inlineFiller=k(o,t.parent,t.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(e){const t=this.domConverter.mapViewToDom(e);if(!t)return;const o=Array.from(this.domConverter.mapViewToDom(e).childNodes),i=Array.from(this.domConverter.viewChildrenToDom(e,t.ownerDocument,{withChildren:!1})),s=this._diffNodeLists(o,i),r=this._findReplaceActions(s,o,i);if(-1!==r.indexOf("replace")){const t={equal:0,insert:0,delete:0};for(const s of r)if("replace"===s){const s=t.equal+t.insert,r=t.equal+t.delete,n=e.getChild(s);!n||n.is("uiElement")||n.is("rawElement")||this._updateElementMappings(n,o[r]),l(i[s]),t.equal++}else t[s]++}}_updateElementMappings(e,t){this.domConverter.unbindDomElement(t),this.domConverter.bindElements(t,e),this.markedChildren.add(e),this.markedAttributes.add(e)}_getInlineFillerPosition(){const e=this.selection.getFirstPosition();return e.parent.is("$text")?s.a._createBefore(this.selection.getFirstPosition().parent):e}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=this.domConverter.viewPositionToDom(e);return!!(t&&Object(h.a)(t.parent)&&Object(r.i)(t.parent))}_removeInlineFiller(){const e=this._inlineFiller;if(!Object(r.i)(e))throw new u.a("view-renderer-filler-was-lost",this);Object(r.h)(e)?e.remove():e.data=e.data.substr(r.c),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=e.parent,o=e.offset;if(!this.domConverter.mapViewToDom(t.root))return!1;if(!t.is("element"))return!1;if(!function(e){if("false"==e.getAttribute("contenteditable"))return!1;const t=e.findAncestor(e=>e.hasAttribute("contenteditable"));return!t||"true"==t.getAttribute("contenteditable")}(t))return!1;if(o===t.getFillerOffset())return!1;const s=e.nodeBefore,r=e.nodeAfter;return!(s instanceof i.a||r instanceof i.a)}_updateText(e,t){const o=this.domConverter.findCorrespondingDomText(e),i=this.domConverter.viewToDom(e,o.ownerDocument),s=o.data;let n=i.data;const a=t.inlineFillerPosition;if(a&&a.parent==e.parent&&a.offset==e.index&&(n=r.b+n),s!=n){const e=Object(g.a)(s,n);for(const t of e)"insert"===t.type?o.insertData(t.index,t.values.join("")):o.deleteData(t.index,t.howMany)}}_updateAttrs(e){const t=this.domConverter.mapViewToDom(e);if(!t)return;const o=Array.from(t.attributes).map(e=>e.name),i=e.getAttributeKeys();for(const o of i){const i=e.getAttribute(o);this.domConverter.shouldRenderAttribute(o,i)?t.setAttribute(o,i):t.removeAttribute(o)}for(const i of o)"script"===e.name&&"data-ck-hidden"===i||e.hasAttribute(i)||t.removeAttribute(i)}_updateChildren(e,t){const o=this.domConverter.mapViewToDom(e);if(!o)return;const i=t.inlineFillerPosition,s=this.domConverter.mapViewToDom(e).childNodes,r=Array.from(this.domConverter.viewChildrenToDom(e,o.ownerDocument,{bind:!0}));i&&i.parent===e&&k(o.ownerDocument,r,i.offset);const n=this._diffNodeLists(s,r);let a=0;const d=new Set;for(const e of n)"delete"===e?(d.add(s[a]),l(s[a])):"equal"===e&&a++;a=0;for(const e of n)"insert"===e?(c(o,a,r[a]),a++):"equal"===e&&(this._markDescendantTextToSync(this.domConverter.domToView(r[a])),a++);for(const e of d)e.parentNode||this.domConverter.unbindDomElement(e)}_diffNodeLists(e,t){return e=function(e,t){const o=Array.from(e);if(0==o.length||!t)return o;o[o.length-1]==t&&o.pop();return o}(e,this._fakeSelectionContainer),Object(a.a)(e,t,_.bind(null,this.domConverter))}_findReplaceActions(e,t,o){if(-1===e.indexOf("insert")||-1===e.indexOf("delete"))return e;let i=[],s=[],r=[];const n={equal:0,insert:0,delete:0};for(const c of e)"insert"===c?r.push(o[n.equal+n.insert]):"delete"===c?s.push(t[n.equal+n.delete]):(i=i.concat(Object(a.a)(s,r,b).map(e=>"equal"===e?"replace":e)),i.push("equal"),s=[],r=[]),n[c]++;return i.concat(Object(a.a)(s,r,b).map(e=>"equal"===e?"replace":e))}_markDescendantTextToSync(e){if(e)if(e.is("$text"))this.markedTexts.add(e);else if(e.is("element"))for(const t of e.getChildren())this._markDescendantTextToSync(t)}_updateSelection(){if(f.a.isBlink&&!f.a.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const e=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&e&&(this.selection.isFake?this._updateFakeSelection(e):(this._removeFakeSelection(),this._updateDomSelection(e)))}_updateFakeSelection(e){const t=e.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(e){const t=e.createElement("div");return t.className="ck-fake-selection-container",Object.assign(t.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),t.textContent=" ",t}(t));const o=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(o,this.selection),!this._fakeSelectionNeedsUpdate(e))return;o.parentElement&&o.parentElement==e||e.appendChild(o),o.textContent=this.selection.fakeSelectionLabel||" ";const i=t.getSelection(),s=t.createRange();i.removeAllRanges(),s.selectNodeContents(o),i.addRange(s)}_updateDomSelection(e){const t=e.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(t))return;const o=this.domConverter.viewPositionToDom(this.selection.anchor),i=this.domConverter.viewPositionToDom(this.selection.focus);t.collapse(o.parent,o.offset),t.extend(i.parent,i.offset),f.a.isGecko&&function(e,t){const o=e.parent;if(o.nodeType!=Node.ELEMENT_NODE||e.offset!=o.childNodes.length-1)return;const i=o.childNodes[e.offset];i&&"BR"==i.tagName&&t.addRange(t.getRangeAt(0))}(i,t)}_domSelectionNeedsUpdate(e){if(!this.domConverter.isDomSelectionCorrect(e))return!0;const t=e&&this.domConverter.domSelectionToView(e);return(!t||!this.selection.isEqual(t))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(t))}_fakeSelectionNeedsUpdate(e){const t=this._fakeSelectionContainer,o=e.ownerDocument.getSelection();return!t||t.parentElement!==e||(o.anchorNode!==t&&!t.contains(o.anchorNode)||t.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const e of this.domDocuments){if(e.getSelection().rangeCount){const t=e.activeElement,o=this.domConverter.mapDomToView(t);t&&o&&e.getSelection().removeAllRanges()}}}_removeFakeSelection(){const e=this._fakeSelectionContainer;e&&e.remove()}_updateFocus(){if(this.isFocused){const e=this.selection.editableElement;e&&this.domConverter.focus(e)}}}function k(e,t,o){const i=t instanceof Array?t:t.childNodes,s=i[o];if(Object(h.a)(s))return s.data=r.b+s.data,s;{const s=e.createTextNode(r.b);return Array.isArray(t)?i.splice(o,0,s):c(t,o,s),s}}function b(e,t){return Object(p.a)(e)&&Object(p.a)(t)&&!Object(h.a)(e)&&!Object(h.a)(t)&&e.nodeType!==Node.COMMENT_NODE&&t.nodeType!==Node.COMMENT_NODE&&e.tagName.toLowerCase()===t.tagName.toLowerCase()}function _(e,t,o){return t===o||(Object(h.a)(t)&&Object(h.a)(o)?t.data===o.data:!(!e.isBlockFiller(t)||!e.isBlockFiller(o)))}Object(n.a)(m,d.a)},"./packages/ckeditor5-engine/src/view/selection.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return h}));var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),s=o("./packages/ckeditor5-engine/src/view/range.js"),r=o("./packages/ckeditor5-engine/src/view/position.js"),n=o("./packages/ckeditor5-utils/src/mix.js"),a=o("./packages/ckeditor5-utils/src/emittermixin.js"),c=o("./packages/ckeditor5-engine/src/view/node.js"),l=o("./packages/ckeditor5-utils/src/count.js"),d=o("./packages/ckeditor5-utils/src/isiterable.js"),u=o("./packages/ckeditor5-engine/src/view/documentselection.js");class h{constructor(e=null,t,o){this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",this.setTo(e,t,o)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.end:e.start).clone()}get focus(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.start:e.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const e of this._ranges)yield e.clone()}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?e.clone():null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?e.clone():null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}isEqual(e){if(this.isFake!=e.isFake)return!1;if(this.isFake&&this.fakeSelectionLabel!=e.fakeSelectionLabel)return!1;if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let o=!1;for(const i of e._ranges)if(t.isEqual(i)){o=!0;break}if(!o)return!1}return!0}isSimilar(e){if(this.isBackward!=e.isBackward)return!1;const t=Object(l.a)(this.getRanges());if(t!=Object(l.a)(e.getRanges()))return!1;if(0==t)return!0;for(let t of this.getRanges()){t=t.getTrimmed();let o=!1;for(let i of e.getRanges())if(i=i.getTrimmed(),t.start.isEqual(i.start)&&t.end.isEqual(i.end)){o=!0;break}if(!o)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(e,t,o){if(null===e)this._setRanges([]),this._setFakeOptions(t);else if(e instanceof h||e instanceof u.a)this._setRanges(e.getRanges(),e.isBackward),this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel});else if(e instanceof s.a)this._setRanges([e],t&&t.backward),this._setFakeOptions(t);else if(e instanceof r.a)this._setRanges([new s.a(e)]),this._setFakeOptions(t);else if(e instanceof c.a){const n=!!o&&!!o.backward;let a;if(void 0===t)throw new i.a("view-selection-setto-required-second-parameter",this);a="in"==t?s.a._createIn(e):"on"==t?s.a._createOn(e):new s.a(r.a._createAt(e,t)),this._setRanges([a],n),this._setFakeOptions(o)}else{if(!Object(d.a)(e))throw new i.a("view-selection-setto-not-selectable",this);this._setRanges(e,t&&t.backward),this._setFakeOptions(t)}this.fire("change")}setFocus(e,t){if(null===this.anchor)throw new i.a("view-selection-setfocus-no-ranges",this);const o=r.a._createAt(e,t);if("same"==o.compareWith(this.focus))return;const n=this.anchor;this._ranges.pop(),"before"==o.compareWith(n)?this._addRange(new s.a(o,n),!0):this._addRange(new s.a(n,o)),this.fire("change")}is(e){return"selection"===e||"view:selection"===e}_setRanges(e,t=!1){e=Array.from(e),this._ranges=[];for(const t of e)this._addRange(t);this._lastRangeBackward=!!t}_setFakeOptions(e={}){this._isFake=!!e.fake,this._fakeSelectionLabel=e.fake&&e.label||""}_addRange(e,t=!1){if(!(e instanceof s.a))throw new i.a("view-selection-add-range-not-range",this);this._pushRange(e),this._lastRangeBackward=!!t}_pushRange(e){for(const t of this._ranges)if(e.isIntersecting(t))throw new i.a("view-selection-range-intersects",this,{addedRange:e,intersectingRange:t});this._ranges.push(new s.a(e.start,e.end))}}Object(n.a)(h,a.c)},"./packages/ckeditor5-engine/src/view/stylesmap.js":function(e,t,o){"use strict";o.d(t,"b",(function(){return ee})),o.d(t,"a",(function(){return te}));var i=o("./node_modules/lodash-es/isObject.js"),s=o("./node_modules/lodash-es/isArray.js"),r=o("./node_modules/lodash-es/isSymbol.js"),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;var c=function(e,t){if(Object(s.a)(e))return!1;var o=typeof e;return!("number"!=o&&"symbol"!=o&&"boolean"!=o&&null!=e&&!Object(r.a)(e))||(a.test(e)||!n.test(e)||null!=t&&e in Object(t))},l=o("./node_modules/lodash-es/_MapCache.js");function d(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var o=function(){var i=arguments,s=t?t.apply(this,i):i[0],r=o.cache;if(r.has(s))return r.get(s);var n=e.apply(this,i);return o.cache=r.set(s,n)||r,n};return o.cache=new(d.Cache||l.a),o}d.Cache=l.a;var u=d;var h=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,p=/\\(\\)?/g,g=function(e){var t=u(e,(function(e){return 500===o.size&&o.clear(),e})),o=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(h,(function(e,o,i,s){t.push(i?s.replace(p,"$1"):o||e)})),t})),f=o("./node_modules/lodash-es/toString.js");var m=function(e,t){return Object(s.a)(e)?e:c(e,t)?[e]:g(Object(f.a)(e))};var k=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0};var b=function(e){if("string"==typeof e||Object(r.a)(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t};var _=function(e,t){for(var o=0,i=(t=m(t,e)).length;null!=e&&o<i;)e=e[b(t[o++])];return o&&o==i?e:void 0};var w=function(e,t,o){var i=-1,s=e.length;t<0&&(t=-t>s?0:s+t),(o=o>s?s:o)<0&&(o+=s),s=t>o?0:o-t>>>0,t>>>=0;for(var r=Array(s);++i<s;)r[i]=e[i+t];return r};var v=function(e,t){return t.length<2?e:_(e,w(t,0,-1))};var y=function(e,t){return t=m(t,e),null==(e=v(e,t))||delete e[b(k(t))]};var j=function(e,t){return null==e||y(e,t)};var x=function(e,t,o){var i=null==e?void 0:_(e,t);return void 0===i?o:i},P=o("./node_modules/lodash-es/_Stack.js"),O=o("./node_modules/lodash-es/_baseAssignValue.js"),A=o("./node_modules/lodash-es/eq.js");var T=function(e,t,o){(void 0!==o&&!Object(A.a)(e[t],o)||void 0===o&&!(t in e))&&Object(O.a)(e,t,o)};var C=function(e){return function(t,o,i){for(var s=-1,r=Object(t),n=i(t),a=n.length;a--;){var c=n[e?a:++s];if(!1===o(r[c],c,r))break}return t}}(),E=o("./node_modules/lodash-es/_cloneBuffer.js"),S=o("./node_modules/lodash-es/_cloneTypedArray.js"),R=o("./node_modules/lodash-es/_copyArray.js"),M=o("./node_modules/lodash-es/_initCloneObject.js"),N=o("./node_modules/lodash-es/isArguments.js"),I=o("./node_modules/lodash-es/isArrayLike.js"),z=o("./node_modules/lodash-es/isObjectLike.js");var V=function(e){return Object(z.a)(e)&&Object(I.a)(e)},D=o("./node_modules/lodash-es/isBuffer.js"),B=o("./node_modules/lodash-es/isFunction.js"),F=o("./node_modules/lodash-es/isPlainObject.js"),L=o("./node_modules/lodash-es/isTypedArray.js");var W=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]},H=o("./node_modules/lodash-es/_copyObject.js"),q=o("./node_modules/lodash-es/keysIn.js");var $=function(e){return Object(H.a)(e,Object(q.a)(e))};var U=function(e,t,o,r,n,a,c){var l=W(e,o),d=W(t,o),u=c.get(d);if(u)T(e,o,u);else{var h=a?a(l,d,o+"",e,t,c):void 0,p=void 0===h;if(p){var g=Object(s.a)(d),f=!g&&Object(D.a)(d),m=!g&&!f&&Object(L.a)(d);h=d,g||f||m?Object(s.a)(l)?h=l:V(l)?h=Object(R.a)(l):f?(p=!1,h=Object(E.a)(d,!0)):m?(p=!1,h=Object(S.a)(d,!0)):h=[]:Object(F.a)(d)||Object(N.a)(d)?(h=l,Object(N.a)(l)?h=$(l):Object(i.a)(l)&&!Object(B.a)(l)||(h=Object(M.a)(d))):p=!1}p&&(c.set(d,h),n(h,d,r,a,c),c.delete(d)),T(e,o,h)}};var K=function e(t,o,s,r,n){t!==o&&C(o,(function(a,c){if(n||(n=new P.a),Object(i.a)(a))U(t,o,c,s,e,r,n);else{var l=r?r(W(t,c),a,c+"",t,o,n):void 0;void 0===l&&(l=a),T(t,c,l)}}),q.a)},G=o("./node_modules/lodash-es/_createAssigner.js"),J=Object(G.a)((function(e,t,o){K(e,t,o)})),Y=o("./node_modules/lodash-es/_assignValue.js"),X=o("./node_modules/lodash-es/_isIndex.js");var Z=function(e,t,o,s){if(!Object(i.a)(e))return e;for(var r=-1,n=(t=m(t,e)).length,a=n-1,c=e;null!=c&&++r<n;){var l=b(t[r]),d=o;if("__proto__"===l||"constructor"===l||"prototype"===l)return e;if(r!=a){var u=c[l];void 0===(d=s?s(u,l,c):void 0)&&(d=Object(i.a)(u)?u:Object(X.a)(t[r+1])?[]:{})}Object(Y.a)(c,l,d),c=c[l]}return e};var Q=function(e,t,o){return null==e?e:Z(e,t,o)};class ee{constructor(e){this._styles={},this._styleProcessor=e}get isEmpty(){const e=Object.entries(this._styles);return!Array.from(e).length}get size(){return this.isEmpty?0:this.getStyleNames().length}setTo(e){this.clear();const t=Array.from(function(e){let t=null,o=0,i=0,s=null;const r=new Map;if(""===e)return r;";"!=e.charAt(e.length-1)&&(e+=";");for(let n=0;n<e.length;n++){const a=e.charAt(n);if(null===t)switch(a){case":":s||(s=e.substr(o,n-o),i=n+1);break;case'"':case"'":t=a;break;case";":{const t=e.substr(i,n-i);s&&r.set(s.trim(),t.trim()),s=null,o=n+1;break}}else a===t&&(t=null)}return r}(e).entries());for(const[e,o]of t)this._styleProcessor.toNormalizedForm(e,o,this._styles)}has(e){if(this.isEmpty)return!1;const t=this._styleProcessor.getReducedForm(e,this._styles).find(([t])=>t===e);return Array.isArray(t)}set(e,t){if(Object(i.a)(e))for(const[t,o]of Object.entries(e))this._styleProcessor.toNormalizedForm(t,o,this._styles);else this._styleProcessor.toNormalizedForm(e,t,this._styles)}remove(e){const t=oe(e);j(this._styles,t),delete this._styles[e],this._cleanEmptyObjectsOnPath(t)}getNormalized(e){return this._styleProcessor.getNormalized(e,this._styles)}toString(){return this.isEmpty?"":this._getStylesEntries().map(e=>e.join(":")).sort().join(";")+";"}getAsString(e){if(this.isEmpty)return;if(this._styles[e]&&!Object(i.a)(this._styles[e]))return this._styles[e];const t=this._styleProcessor.getReducedForm(e,this._styles).find(([t])=>t===e);return Array.isArray(t)?t[1]:void 0}getStyleNames(e=!1){if(this.isEmpty)return[];if(e)return this._styleProcessor.getStyleNames(this._styles);return this._getStylesEntries().map(([e])=>e)}clear(){this._styles={}}_getStylesEntries(){const e=[],t=Object.keys(this._styles);for(const o of t)e.push(...this._styleProcessor.getReducedForm(o,this._styles));return e}_cleanEmptyObjectsOnPath(e){const t=e.split(".");if(!(t.length>1))return;const o=t.splice(0,t.length-1).join("."),i=x(this._styles,o);if(!i)return;!Array.from(Object.keys(i)).length&&this.remove(o)}}class te{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(e,t,o){if(Object(i.a)(t))ie(o,oe(e),t);else if(this._normalizers.has(e)){const i=this._normalizers.get(e),{path:s,value:r}=i(t);ie(o,s,r)}else ie(o,e,t)}getNormalized(e,t){if(!e)return J({},t);if(void 0!==t[e])return t[e];if(this._extractors.has(e)){const o=this._extractors.get(e);if("string"==typeof o)return x(t,o);const i=o(e,t);if(i)return i}return x(t,oe(e))}getReducedForm(e,t){const o=this.getNormalized(e,t);if(void 0===o)return[];if(this._reducers.has(e)){return this._reducers.get(e)(o)}return[[e,o]]}getStyleNames(e){const t=Array.from(this._consumables.keys()).filter(t=>{const o=this.getNormalized(t,e);return o&&"object"==typeof o?Object.keys(o).length:o}),o=new Set([...t,...Object.keys(e)]);return Array.from(o.values())}getRelatedStyles(e){return this._consumables.get(e)||[]}setNormalizer(e,t){this._normalizers.set(e,t)}setExtractor(e,t){this._extractors.set(e,t)}setReducer(e,t){this._reducers.set(e,t)}setStyleRelation(e,t){this._mapStyleNames(e,t);for(const o of t)this._mapStyleNames(o,[e])}_mapStyleNames(e,t){this._consumables.has(e)||this._consumables.set(e,[]),this._consumables.get(e).push(...t)}}function oe(e){return e.replace("-",".")}function ie(e,t,o){let s=o;Object(i.a)(o)&&(s=J({},x(e,t),o)),Q(e,t,s)}},"./packages/ckeditor5-engine/src/view/text.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-engine/src/view/node.js");class s extends i.a{constructor(e,t){super(e),this._textData=t}is(e){return"$text"===e||"view:$text"===e||"text"===e||"view:text"===e||"node"===e||"view:node"===e}get data(){return this._textData}get _data(){return this.data}set _data(e){this._fireChange("text",this),this._textData=e}isSimilar(e){return e instanceof s&&(this===e||this.data===e.data)}_clone(){return new s(this.document,this.data)}}},"./packages/ckeditor5-engine/src/view/textproxy.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class s{constructor(e,t,o){if(this.textNode=e,t<0||t>e.data.length)throw new i.a("view-textproxy-wrong-offsetintext",this);if(o<0||t+o>e.data.length)throw new i.a("view-textproxy-wrong-length",this);this.data=e.data.substring(t,t+o),this.offsetInText=t}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}is(e){return"$textProxy"===e||"view:$textProxy"===e||"textProxy"===e||"view:textProxy"===e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let o=e.includeSelf?this.textNode:this.parent;for(;null!==o;)t[e.parentFirst?"push":"unshift"](o),o=o.parent;return t}}},"./packages/ckeditor5-engine/src/view/treewalker.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var i=o("./packages/ckeditor5-engine/src/view/element.js"),s=o("./packages/ckeditor5-engine/src/view/text.js"),r=o("./packages/ckeditor5-engine/src/view/textproxy.js"),n=o("./packages/ckeditor5-engine/src/view/position.js"),a=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class c{constructor(e={}){if(!e.boundaries&&!e.startPosition)throw new a.a("view-tree-walker-no-start-position",null);if(e.direction&&"forward"!=e.direction&&"backward"!=e.direction)throw new a.a("view-tree-walker-unknown-direction",e.startPosition,{direction:e.direction});this.boundaries=e.boundaries||null,e.startPosition?this.position=n.a._createAt(e.startPosition):this.position=n.a._createAt(e.boundaries["backward"==e.direction?"end":"start"]),this.direction=e.direction||"forward",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(e){let t,o,i;do{i=this.position,({done:t,value:o}=this.next())}while(!t&&e(o));t||(this.position=i)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){let e=this.position.clone();const t=this.position,o=e.parent;if(null===o.parent&&e.offset===o.childCount)return{done:!0};if(o===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0};let a;if(o instanceof s.a){if(e.isAtEnd)return this.position=n.a._createAfter(o),this._next();a=o.data[e.offset]}else a=o.getChild(e.offset);if(a instanceof i.a)return this.shallow?e.offset++:e=new n.a(a,0),this.position=e,this._formatReturnValue("elementStart",a,t,e,1);if(a instanceof s.a){if(this.singleCharacters)return e=new n.a(a,0),this.position=e,this._next();{let o,i=a.data.length;return a==this._boundaryEndParent?(i=this.boundaries.end.offset,o=new r.a(a,0,i),e=n.a._createAfter(o)):(o=new r.a(a,0,a.data.length),e.offset++),this.position=e,this._formatReturnValue("text",o,t,e,i)}}if("string"==typeof a){let i;if(this.singleCharacters)i=1;else{i=(o===this._boundaryEndParent?this.boundaries.end.offset:o.data.length)-e.offset}const s=new r.a(o,e.offset,i);return e.offset+=i,this.position=e,this._formatReturnValue("text",s,t,e,i)}return e=n.a._createAfter(o),this.position=e,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",o,t,e)}_previous(){let e=this.position.clone();const t=this.position,o=e.parent;if(null===o.parent&&0===e.offset)return{done:!0};if(o==this._boundaryStartParent&&e.offset==this.boundaries.start.offset)return{done:!0};let a;if(o instanceof s.a){if(e.isAtStart)return this.position=n.a._createBefore(o),this._previous();a=o.data[e.offset-1]}else a=o.getChild(e.offset-1);if(a instanceof i.a)return this.shallow?(e.offset--,this.position=e,this._formatReturnValue("elementStart",a,t,e,1)):(e=new n.a(a,a.childCount),this.position=e,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",a,t,e));if(a instanceof s.a){if(this.singleCharacters)return e=new n.a(a,a.data.length),this.position=e,this._previous();{let o,i=a.data.length;if(a==this._boundaryStartParent){const t=this.boundaries.start.offset;o=new r.a(a,t,a.data.length-t),i=o.data.length,e=n.a._createBefore(o)}else o=new r.a(a,0,a.data.length),e.offset--;return this.position=e,this._formatReturnValue("text",o,t,e,i)}}if("string"==typeof a){let i;if(this.singleCharacters)i=1;else{const t=o===this._boundaryStartParent?this.boundaries.start.offset:0;i=e.offset-t}e.offset-=i;const s=new r.a(o,e.offset,i);return this.position=e,this._formatReturnValue("text",s,t,e,i)}return e=n.a._createBefore(o),this.position=e,this._formatReturnValue("elementStart",o,t,e,1)}_formatReturnValue(e,t,o,i,s){return t instanceof r.a&&(t.offsetInText+t.data.length==t.textNode.data.length&&("forward"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?o=n.a._createAfter(t.textNode):(i=n.a._createAfter(t.textNode),this.position=i)),0===t.offsetInText&&("backward"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?o=n.a._createBefore(t.textNode):(i=n.a._createBefore(t.textNode),this.position=i))),{done:!1,value:{type:e,item:t,previousPosition:o,nextPosition:i,length:s}}}}},"./packages/ckeditor5-engine/src/view/uielement.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a})),o.d(t,"b",(function(){return c}));var i=o("./packages/ckeditor5-engine/src/view/element.js"),s=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=o("./packages/ckeditor5-engine/src/view/node.js"),n=o("./packages/ckeditor5-utils/src/keyboard.js");class a extends i.a{constructor(e,t,o,i){super(e,t,o,i),this._isAllowedInsideAttributeElement=!0,this.getFillerOffset=l}is(e,t=null){return t?t===this.name&&("uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e):"uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}_insertChild(e,t){if(t&&(t instanceof r.a||Array.from(t).length>0))throw new s.a("view-uielement-cannot-add",this)}render(e){return this.toDomElement(e)}toDomElement(e){const t=e.createElement(this.name);for(const e of this.getAttributeKeys())t.setAttribute(e,this.getAttribute(e));return t}}function c(e){e.document.on("arrowKey",(t,o)=>function(e,t,o){if(t.keyCode==n.f.arrowright){const e=t.domTarget.ownerDocument.defaultView.getSelection(),i=1==e.rangeCount&&e.getRangeAt(0).collapsed;if(i||t.shiftKey){const t=e.focusNode,s=e.focusOffset,r=o.domPositionToView(t,s);if(null===r)return;let n=!1;const a=r.getLastMatchingPosition(e=>(e.item.is("uiElement")&&(n=!0),!(!e.item.is("uiElement")&&!e.item.is("attributeElement"))));if(n){const t=o.viewPositionToDom(a);i?e.collapse(t.parent,t.offset):e.extend(t.parent,t.offset)}}}}(0,o,e.domConverter),{priority:"low"})}function l(){return null}},"./packages/ckeditor5-engine/theme/placeholder.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-engine/theme/placeholder.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-engine/theme/renderer.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-engine/theme/renderer.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-enter/src/enter.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return l}));var i=o("./packages/ckeditor5-core/src/plugin.js"),s=o("./packages/ckeditor5-core/src/command.js"),r=o("./packages/ckeditor5-enter/src/utils.js");class n extends s.a{execute(){const e=this.editor.model,t=e.document;e.change(o=>{!function(e,t,o,i){const s=o.isCollapsed,n=o.getFirstRange(),c=n.start.parent,l=n.end.parent;if(i.isLimit(c)||i.isLimit(l))return void(s||c!=l||e.deleteContent(o));if(s){const e=Object(r.a)(t.model.schema,o.getAttributes());a(t,n.start),t.setSelectionAttribute(e)}else{const i=!(n.start.isAtStart&&n.end.isAtEnd),s=c==l;e.deleteContent(o,{leaveUnmerged:i}),i&&(s?a(t,o.focus):t.setSelection(l,0))}}(this.editor.model,o,t.selection,e.schema),this.fire("afterExecute",{writer:o})})}}function a(e,t){e.split(t),e.setSelection(t.parent.nextSibling,0)}var c=o("./packages/ckeditor5-enter/src/enterobserver.js");class l extends i.a{static get pluginName(){return"Enter"}init(){const e=this.editor,t=e.editing.view,o=t.document;t.addObserver(c.a),e.commands.add("enter",new n(e)),this.listenTo(o,"enter",(o,i)=>{i.preventDefault(),i.isSoft||(e.execute("enter"),t.scrollToTheSelection())},{priority:"low"})}}},"./packages/ckeditor5-enter/src/enterobserver.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-engine/src/view/observer/observer.js"),s=o("./packages/ckeditor5-engine/src/view/observer/domeventdata.js"),r=o("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js"),n=o("./packages/ckeditor5-utils/src/keyboard.js");class a extends i.a{constructor(e){super(e);const t=this.document;t.on("keydown",(e,o)=>{if(this.isEnabled&&o.keyCode==n.f.enter){const i=new r.a(t,"enter",t.selection.getFirstRange());t.fire(i,new s.a(t,o.domEvent,{isSoft:o.shiftKey})),i.stop.called&&e.stop()}})}observe(){}}},"./packages/ckeditor5-enter/src/utils.js":function(e,t,o){"use strict";function*i(e,t){for(const o of t)o&&e.getAttributeProperties(o[0]).copyOnEnter&&(yield o)}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-typing/src/delete.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return g}));var i=o("./packages/ckeditor5-core/src/plugin.js"),s=o("./packages/ckeditor5-core/src/command.js"),r=o("./packages/ckeditor5-utils/src/count.js"),n=o("./packages/ckeditor5-typing/src/utils/changebuffer.js");class a extends s.a{constructor(e,t){super(e),this.direction=t,this._buffer=new n.a(e.model,e.config.get("typing.undoStep"))}get buffer(){return this._buffer}execute(e={}){const t=this.editor.model,o=t.document;t.enqueueChange(this._buffer.batch,i=>{this._buffer.lock();const s=i.createSelection(e.selection||o.selection),n=e.sequence||1,a=s.isCollapsed;if(s.isCollapsed&&t.modifySelection(s,{direction:this.direction,unit:e.unit}),this._shouldEntireContentBeReplacedWithParagraph(n))return void this._replaceEntireContentWithParagraph(i);if(this._shouldReplaceFirstBlockWithParagraph(s,n))return void this.editor.execute("paragraph",{selection:s});if(s.isCollapsed)return;let c=0;s.getFirstRange().getMinimalFlatRanges().forEach(e=>{c+=Object(r.a)(e.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))}),t.deleteContent(s,{doNotResetEntireContent:a,direction:this.direction}),this._buffer.input(c),i.setSelection(s),this._buffer.unlock()})}_shouldEntireContentBeReplacedWithParagraph(e){if(e>1)return!1;const t=this.editor.model,o=t.document.selection,i=t.schema.getLimitElement(o);if(!(o.isCollapsed&&o.containsEntireContent(i)))return!1;if(!t.schema.checkChild(i,"paragraph"))return!1;const s=i.getChild(0);return!s||"paragraph"!==s.name}_replaceEntireContentWithParagraph(e){const t=this.editor.model,o=t.document.selection,i=t.schema.getLimitElement(o),s=e.createElement("paragraph");e.remove(e.createRangeIn(i)),e.insert(s,i),e.setSelection(s,0)}_shouldReplaceFirstBlockWithParagraph(e,t){const o=this.editor.model;if(t>1||"backward"!=this.direction)return!1;if(!e.isCollapsed)return!1;const i=e.getFirstPosition(),s=o.schema.getLimitElement(i),r=s.getChild(0);return i.parent==r&&(!!e.containsEntireContent(r)&&(!!o.schema.checkChild(s,"paragraph")&&"paragraph"!=r.name))}}var c=o("./packages/ckeditor5-engine/src/view/observer/observer.js"),l=o("./packages/ckeditor5-engine/src/view/observer/domeventdata.js"),d=o("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js"),u=o("./packages/ckeditor5-utils/src/keyboard.js"),h=o("./packages/ckeditor5-utils/src/env.js");class p extends c.a{constructor(e){super(e);const t=e.document;let o=0;function i(e,o,i){const s=new d.a(t,"delete",t.selection.getFirstRange());t.fire(s,new l.a(t,o,i)),s.stop.called&&e.stop()}t.on("keyup",(e,t)=>{t.keyCode!=u.f.delete&&t.keyCode!=u.f.backspace||(o=0)}),t.on("keydown",(e,t)=>{const s={};if(t.keyCode==u.f.delete)s.direction="forward",s.unit="character";else{if(t.keyCode!=u.f.backspace)return;s.direction="backward",s.unit="codePoint"}const r=h.a.isMac?t.altKey:t.ctrlKey;s.unit=r?"word":s.unit,s.sequence=++o,i(e,t.domEvent,s)}),h.a.isAndroid&&t.on("beforeinput",(t,o)=>{if("deleteContentBackward"!=o.domEvent.inputType)return;const s={unit:"codepoint",direction:"backward",sequence:1},r=o.domTarget.ownerDocument.defaultView.getSelection();r.anchorNode==r.focusNode&&r.anchorOffset+1!=r.focusOffset&&(s.selectionToRemove=e.domConverter.domSelectionToView(r)),i(t,o.domEvent,s)})}observe(){}}class g extends i.a{static get pluginName(){return"Delete"}init(){const e=this.editor,t=e.editing.view,o=t.document,i=e.model.document;t.addObserver(p),this._undoOnBackspace=!1;const s=new a(e,"forward");if(e.commands.add("deleteForward",s),e.commands.add("forwardDelete",s),e.commands.add("delete",new a(e,"backward")),this.listenTo(o,"delete",(o,i)=>{const s={unit:i.unit,sequence:i.sequence};if(i.selectionToRemove){const t=e.model.createSelection(),o=[];for(const t of i.selectionToRemove.getRanges())o.push(e.editing.mapper.toModelRange(t));t.setTo(o),s.selection=t}e.execute("forward"==i.direction?"deleteForward":"delete",s),i.preventDefault(),t.scrollToTheSelection()},{priority:"low"}),h.a.isAndroid){let e=null;this.listenTo(o,"delete",(t,o)=>{const i=o.domTarget.ownerDocument.defaultView.getSelection();e={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}},{priority:"lowest"}),this.listenTo(o,"keyup",(t,o)=>{if(e){const t=o.domTarget.ownerDocument.defaultView.getSelection();t.collapse(e.anchorNode,e.anchorOffset),t.extend(e.focusNode,e.focusOffset),e=null}})}this.editor.plugins.has("UndoEditing")&&(this.listenTo(o,"delete",(t,o)=>{this._undoOnBackspace&&"backward"==o.direction&&1==o.sequence&&"codePoint"==o.unit&&(this._undoOnBackspace=!1,e.execute("undo"),o.preventDefault(),t.stop())},{context:"$capture"}),this.listenTo(i,"change",()=>{this._undoOnBackspace=!1}))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}},"./packages/ckeditor5-typing/src/utils/changebuffer.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));class i{constructor(e,t=20){this.model=e,this.size=0,this.limit=t,this.isLocked=!1,this._changeCallback=(e,t)=>{"transparent"!=t.type&&t!==this._batch&&this._reset(!0)},this._selectionChangeCallback=()=>{this._reset()},this.model.document.on("change",this._changeCallback),this.model.document.selection.on("change:range",this._selectionChangeCallback),this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){return this._batch||(this._batch=this.model.createBatch()),this._batch}input(e){this.size+=e,this.size>=this.limit&&this._reset(!0)}lock(){this.isLocked=!0}unlock(){this.isLocked=!1}destroy(){this.model.document.off("change",this._changeCallback),this.model.document.selection.off("change:range",this._selectionChangeCallback),this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(e){this.isLocked&&!e||(this._batch=null,this.size=0)}}},"./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return a}));var i=o("./packages/ckeditor5-utils/src/keyboard.js"),s=o("./packages/ckeditor5-utils/src/env.js");function r(e){let t=null;const o=e.model,i=e.editing.view,r=e.commands.get("input");function n(e){const s=o.document,n=i.document.isComposing,l=t&&t.isEqual(s.selection);t=null,r.isEnabled&&(a(e)||s.selection.isCollapsed||n&&229===e.keyCode||!n&&229===e.keyCode&&l||c())}function c(){const e=r.buffer;e.lock();const t=e.batch;r._batches.add(t),o.enqueueChange(t,()=>{o.deleteContent(o.document.selection)}),e.unlock()}s.a.isAndroid?i.document.on("beforeinput",(e,t)=>n(t),{priority:"lowest"}):i.document.on("keydown",(e,t)=>n(t),{priority:"lowest"}),i.document.on("compositionstart",(function(){const e=o.document,t=1!==e.selection.rangeCount||e.selection.getFirstRange().isFlat;if(e.selection.isCollapsed||t)return;c()}),{priority:"lowest"}),i.document.on("compositionend",()=>{t=o.createSelection(o.document.selection)},{priority:"lowest"})}const n=[Object(i.a)("arrowUp"),Object(i.a)("arrowRight"),Object(i.a)("arrowDown"),Object(i.a)("arrowLeft"),9,16,17,18,19,20,27,33,34,35,36,45,91,93,144,145,173,174,175,176,177,178,179,255];for(let e=112;e<=135;e++)n.push(e);function a(e){return!(!e.ctrlKey&&!e.metaKey)||n.includes(e.keyCode)}},"./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js":function(e,t,o){"use strict";function i({emitter:e,activator:t,callback:o,contextElements:i}){e.listenTo(document,"mousedown",(e,s)=>{if(!t())return;const r="function"==typeof s.composedPath?s.composedPath():[];for(const e of i)if(e.contains(s.target)||r.includes(e))return;o()})}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-ui/src/button/buttonview.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var i=o("./packages/ckeditor5-ui/src/view.js"),s=o("./packages/ckeditor5-ui/src/icon/iconview.js"),r=o("./packages/ckeditor5-ui/src/tooltip/tooltipview.js"),n=o("./packages/ckeditor5-utils/src/uid.js"),a=o("./packages/ckeditor5-utils/src/keyboard.js");o("./packages/ckeditor5-ui/theme/components/button/button.css");class c extends i.a{constructor(e){super(e);const t=this.bindTemplate,o=Object(n.a)();this.set("class"),this.set("labelStyle"),this.set("icon"),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke"),this.set("label"),this.set("tabindex",-1),this.set("tooltip"),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.tooltipView=this._createTooltipView(),this.labelView=this._createLabelView(o),this.iconView=new s.a,this.iconView.extendTemplate({attributes:{class:"ck-button__icon"}}),this.keystrokeView=this._createKeystrokeView(),this.bind("_tooltipString").to(this,"tooltip",this,"label",this,"keystroke",this._getTooltipString.bind(this)),this.setTemplate({tag:"button",attributes:{class:["ck","ck-button",t.to("class"),t.if("isEnabled","ck-disabled",e=>!e),t.if("isVisible","ck-hidden",e=>!e),t.to("isOn",e=>e?"ck-on":"ck-off"),t.if("withText","ck-button_with-text"),t.if("withKeystroke","ck-button_with-keystroke")],type:t.to("type",e=>e||"button"),tabindex:t.to("tabindex"),"aria-labelledby":"ck-editor__aria-label_"+o,"aria-disabled":t.if("isEnabled",!0,e=>!e),"aria-pressed":t.to("isOn",e=>!!this.isToggleable&&String(e))},children:this.children,on:{mousedown:t.to(e=>{e.preventDefault()}),click:t.to(e=>{this.isEnabled?this.fire("execute"):e.preventDefault()})}})}render(){super.render(),this.icon&&(this.iconView.bind("content").to(this,"icon"),this.children.add(this.iconView)),this.children.add(this.tooltipView),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}_createTooltipView(){const e=new r.a;return e.bind("text").to(this,"_tooltipString"),e.bind("position").to(this,"tooltipPosition"),e}_createLabelView(e){const t=new i.a,o=this.bindTemplate;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:o.to("labelStyle"),id:"ck-editor__aria-label_"+e},children:[{text:this.bindTemplate.to("label")}]}),t}_createKeystrokeView(){const e=new i.a;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",e=>Object(a.b)(e))}]}),e}_getTooltipString(e,t,o){return e?"string"==typeof e?e:(o&&(o=Object(a.b)(o)),e instanceof Function?e(t,o):`${t}${o?` (${o})`:""}`):""}}},"./packages/ckeditor5-ui/src/button/switchbuttonview.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-ui/src/view.js"),s=o("./packages/ckeditor5-ui/src/button/buttonview.js");o("./packages/ckeditor5-ui/theme/components/button/switchbutton.css");class r extends s.a{constructor(e){super(e),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const e=new i.a;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),e}}},"./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var i=o("./packages/ckeditor5-ui/src/button/buttonview.js"),s=o("./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg"),r=o("./packages/ckeditor5-ui/src/icon/iconview.js");class n extends i.a{constructor(e){super(e),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const e=new r.a;return e.content=s.a,e.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),e}}},"./packages/ckeditor5-ui/src/dropdown/utils.js":function(e,t,o){"use strict";o.d(t,"c",(function(){return m})),o.d(t,"b",(function(){return k})),o.d(t,"a",(function(){return b}));var i=o("./packages/ckeditor5-ui/src/view.js");class s extends i.a{constructor(e){super(e);const t=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",t.to("position",e=>"ck-dropdown__panel_"+e),t.if("isVisible","ck-dropdown__panel-visible")]},children:this.children,on:{selectstart:t.to(e=>e.preventDefault())}})}focus(){this.children.length&&this.children.first.focus()}focusLast(){if(this.children.length){const e=this.children.last;"function"==typeof e.focusLast?e.focusLast():e.focus()}}}var r=o("./packages/ckeditor5-utils/src/keystrokehandler.js"),n=(o("./packages/ckeditor5-ui/theme/components/dropdown/dropdown.css"),o("./packages/ckeditor5-utils/src/dom/position.js"));class a extends i.a{constructor(e,t,o){super(e);const i=this.bindTemplate;this.buttonView=t,this.panelView=o,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class"),this.set("id"),this.set("panelPosition","auto"),this.keystrokes=new r.a,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",i.to("class"),i.if("isEnabled","ck-disabled",e=>!e)],id:i.to("id"),"aria-describedby":i.to("ariaDescribedById")},children:[t,o]}),t.extendTemplate({attributes:{class:["ck-dropdown__button"]}})}render(){super.render(),this.listenTo(this.buttonView,"open",()=>{this.isOpen=!this.isOpen}),this.panelView.bind("isVisible").to(this,"isOpen"),this.on("change:isOpen",()=>{this.isOpen&&("auto"===this.panelPosition?this.panelView.position=a._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions}).name:this.panelView.position=this.panelPosition)}),this.keystrokes.listenTo(this.element);const e=(e,t)=>{this.isOpen&&(this.buttonView.focus(),this.isOpen=!1,t())};this.keystrokes.set("arrowdown",(e,t)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,t())}),this.keystrokes.set("arrowright",(e,t)=>{this.isOpen&&t()}),this.keystrokes.set("arrowleft",e),this.keystrokes.set("esc",e)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:e,north:t,southEast:o,southWest:i,northEast:s,northWest:r,southMiddleEast:n,southMiddleWest:c,northMiddleEast:l,northMiddleWest:d}=a.defaultPanelPositions;return"rtl"!==this.locale.uiLanguageDirection?[o,i,n,c,e,s,r,l,d,t]:[i,o,c,n,e,r,s,d,l,t]}}a.defaultPanelPositions={south:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/2,name:"s"}),southEast:e=>({top:e.bottom,left:e.left,name:"se"}),southWest:(e,t)=>({top:e.bottom,left:e.left-t.width+e.width,name:"sw"}),southMiddleEast:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/4,name:"sme"}),southMiddleWest:(e,t)=>({top:e.bottom,left:e.left-3*(t.width-e.width)/4,name:"smw"}),north:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/2,name:"n"}),northEast:(e,t)=>({top:e.top-t.height,left:e.left,name:"ne"}),northWest:(e,t)=>({top:e.top-t.height,left:e.left-t.width+e.width,name:"nw"}),northMiddleEast:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/4,name:"nme"}),northMiddleWest:(e,t)=>({top:e.top-t.height,left:e.left-3*(t.width-e.width)/4,name:"nmw"})},a._getOptimalPosition=n.a;var c=o("./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js"),l=o("./packages/ckeditor5-ui/src/toolbar/toolbarview.js"),d=o("./packages/ckeditor5-ui/src/list/listview.js"),u=o("./packages/ckeditor5-ui/src/list/listitemview.js");class h extends i.a{constructor(e){super(e),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}var p=o("./packages/ckeditor5-ui/src/button/buttonview.js"),g=o("./packages/ckeditor5-ui/src/button/switchbuttonview.js"),f=o("./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js");o("./packages/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css"),o("./packages/ckeditor5-ui/theme/components/dropdown/listdropdown.css");function m(e,t=c.a){const o=new t(e),i=new s(e),r=new a(e,o,i);return o.bind("isEnabled").to(r),o instanceof c.a?o.bind("isOn").to(r,"isOpen"):o.arrowView.bind("isOn").to(r,"isOpen"),function(e){(function(e){e.on("render",()=>{Object(f.a)({emitter:e,activator:()=>e.isOpen,callback:()=>{e.isOpen=!1},contextElements:[e.element]})})})(e),function(e){e.on("execute",t=>{t.source instanceof g.a||(e.isOpen=!1)})}(e),function(e){e.keystrokes.set("arrowdown",(t,o)=>{e.isOpen&&(e.panelView.focus(),o())}),e.keystrokes.set("arrowup",(t,o)=>{e.isOpen&&(e.panelView.focusLast(),o())})}(e)}(r),r}function k(e,t){const o=e.locale,i=o.t,s=e.toolbarView=new l.a(o);s.set("ariaLabel",i("Dropdown toolbar")),e.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),t.map(e=>s.items.add(e)),e.panelView.children.add(s),s.items.delegate("execute").to(e)}function b(e,t){const o=e.locale,i=e.listView=new d.a(o);i.items.bindTo(t).using(({type:e,model:t})=>{if("separator"===e)return new h(o);if("button"===e||"switchbutton"===e){const i=new u.a(o);let s;return s="button"===e?new p.a(o):new g.a(o),s.bind(...Object.keys(t)).to(t),s.delegate("execute").to(i),i.children.add(s),i}}),e.panelView.children.add(i),i.items.delegate("execute").to(e)}},"./packages/ckeditor5-ui/src/focuscycler.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-utils/src/dom/global.js");class s{constructor(e){if(Object.assign(this,e),e.actions&&e.keystrokeHandler)for(const t in e.actions){let o=e.actions[t];"string"==typeof o&&(o=[o]);for(const i of o)e.keystrokeHandler.set(i,(e,o)=>{this[t](),o()})}}get first(){return this.focusables.find(r)||null}get last(){return this.focusables.filter(r).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let e=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find((t,o)=>{const i=t.element===this.focusTracker.focusedElement;return i&&(e=o),i}),e)}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(e){e&&e.focus()}_getFocusableItem(e){const t=this.current,o=this.focusables.length;if(!o)return null;if(null===t)return this[1===e?"first":"last"];let i=(t+o+e)%o;do{const t=this.focusables.get(i);if(r(t))return t;i=(i+o+e)%o}while(i!==t);return null}}function r(e){return!(!e.focus||"none"==i.a.window.getComputedStyle(e.element).display)}},"./packages/ckeditor5-ui/src/icon/iconview.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-ui/src/view.js");o("./packages/ckeditor5-ui/theme/components/icon/icon.css");class s extends i.a{constructor(){super();const e=this.bindTemplate;this.set("content",""),this.set("viewBox","0 0 20 20"),this.set("fillColor",""),this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon"],viewBox:e.to("viewBox")}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on("change:content",()=>{this._updateXMLContent(),this._colorFillPaths()}),this.on("change:fillColor",()=>{this._colorFillPaths()})}_updateXMLContent(){if(this.content){const e=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg"),t=e.getAttribute("viewBox");for(t&&(this.viewBox=t),this.element.innerHTML="";e.childNodes.length>0;)this.element.appendChild(e.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach(e=>{e.style.fill=this.fillColor})}}},"./packages/ckeditor5-ui/src/list/listitemview.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-ui/src/view.js");class s extends i.a{constructor(e){super(e),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item"]},children:this.children})}focus(){this.children.first.focus()}}},"./packages/ckeditor5-ui/src/list/listview.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-ui/src/view.js"),s=o("./packages/ckeditor5-utils/src/focustracker.js"),r=o("./packages/ckeditor5-ui/src/focuscycler.js"),n=o("./packages/ckeditor5-utils/src/keystrokehandler.js");o("./packages/ckeditor5-ui/theme/components/list/list.css");class a extends i.a{constructor(){super(),this.items=this.createCollection(),this.focusTracker=new s.a,this.keystrokes=new n.a,this._focusCycler=new r.a({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}}),this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"]},children:this.items})}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",(e,t)=>{this.focusTracker.add(t.element)}),this.items.on("remove",(e,t)=>{this.focusTracker.remove(t.element)}),this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}},"./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var i=o("./packages/ckeditor5-ui/src/view.js"),s=o("./packages/ckeditor5-utils/src/dom/position.js"),r=o("./packages/ckeditor5-utils/src/dom/isrange.js"),n=o("./packages/ckeditor5-utils/src/dom/tounit.js"),a=o("./packages/ckeditor5-utils/src/dom/global.js"),c=o("./node_modules/lodash-es/isElement.js");o("./packages/ckeditor5-ui/theme/components/panel/balloonpanel.css");const l=Object(n.a)("px"),d=a.a.document.body;class u extends i.a{constructor(e){super(e);const t=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class"),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",t.to("position",e=>"ck-balloon-panel_"+e),t.if("isVisible","ck-balloon-panel_visible"),t.if("withArrow","ck-balloon-panel_with-arrow"),t.to("class")],style:{top:t.to("top",l),left:t.to("left",l)}},children:this.content})}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(e){this.show();const t=u.defaultPositions,o=Object.assign({},{element:this.element,positions:[t.southArrowNorth,t.southArrowNorthMiddleWest,t.southArrowNorthMiddleEast,t.southArrowNorthWest,t.southArrowNorthEast,t.northArrowSouth,t.northArrowSouthMiddleWest,t.northArrowSouthMiddleEast,t.northArrowSouthWest,t.northArrowSouthEast,t.viewportStickyNorth],limiter:d,fitInViewport:!0},e),i=u._getOptimalPosition(o),s=parseInt(i.left),r=parseInt(i.top),{name:n,config:a={}}=i,{withArrow:c=!0}=a;Object.assign(this,{top:r,left:s,position:n,withArrow:c})}pin(e){this.unpin(),this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(e):this._stopPinning()},this._startPinning(e),this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(e){this.attachTo(e);const t=h(e.target),o=e.limiter?h(e.limiter):d;this.listenTo(a.a.document,"scroll",(i,s)=>{const r=s.target,n=t&&r.contains(t),a=o&&r.contains(o);!n&&!a&&t&&o||this.attachTo(e)},{useCapture:!0}),this.listenTo(a.a.window,"resize",()=>{this.attachTo(e)})}_stopPinning(){this.stopListening(a.a.document,"scroll"),this.stopListening(a.a.window,"resize")}}function h(e){return Object(c.a)(e)?e:Object(r.a)(e)?e.commonAncestorContainer:"function"==typeof e?h(e()):null}function p(e,t){return e.top-t.height-u.arrowVerticalOffset}function g(e){return e.bottom+u.arrowVerticalOffset}u.arrowHorizontalOffset=25,u.arrowVerticalOffset=10,u.stickyVerticalOffset=20,u._getOptimalPosition=s.a,u.defaultPositions={northWestArrowSouthWest:(e,t)=>({top:p(e,t),left:e.left-u.arrowHorizontalOffset,name:"arrow_sw"}),northWestArrowSouthMiddleWest:(e,t)=>({top:p(e,t),left:e.left-.25*t.width-u.arrowHorizontalOffset,name:"arrow_smw"}),northWestArrowSouth:(e,t)=>({top:p(e,t),left:e.left-t.width/2,name:"arrow_s"}),northWestArrowSouthMiddleEast:(e,t)=>({top:p(e,t),left:e.left-.75*t.width+u.arrowHorizontalOffset,name:"arrow_sme"}),northWestArrowSouthEast:(e,t)=>({top:p(e,t),left:e.left-t.width+u.arrowHorizontalOffset,name:"arrow_se"}),northArrowSouthWest:(e,t)=>({top:p(e,t),left:e.left+e.width/2-u.arrowHorizontalOffset,name:"arrow_sw"}),northArrowSouthMiddleWest:(e,t)=>({top:p(e,t),left:e.left+e.width/2-.25*t.width-u.arrowHorizontalOffset,name:"arrow_smw"}),northArrowSouth:(e,t)=>({top:p(e,t),left:e.left+e.width/2-t.width/2,name:"arrow_s"}),northArrowSouthMiddleEast:(e,t)=>({top:p(e,t),left:e.left+e.width/2-.75*t.width+u.arrowHorizontalOffset,name:"arrow_sme"}),northArrowSouthEast:(e,t)=>({top:p(e,t),left:e.left+e.width/2-t.width+u.arrowHorizontalOffset,name:"arrow_se"}),northEastArrowSouthWest:(e,t)=>({top:p(e,t),left:e.right-u.arrowHorizontalOffset,name:"arrow_sw"}),northEastArrowSouthMiddleWest:(e,t)=>({top:p(e,t),left:e.right-.25*t.width-u.arrowHorizontalOffset,name:"arrow_smw"}),northEastArrowSouth:(e,t)=>({top:p(e,t),left:e.right-t.width/2,name:"arrow_s"}),northEastArrowSouthMiddleEast:(e,t)=>({top:p(e,t),left:e.right-.75*t.width+u.arrowHorizontalOffset,name:"arrow_sme"}),northEastArrowSouthEast:(e,t)=>({top:p(e,t),left:e.right-t.width+u.arrowHorizontalOffset,name:"arrow_se"}),southWestArrowNorthWest:(e,t)=>({top:g(e),left:e.left-u.arrowHorizontalOffset,name:"arrow_nw"}),southWestArrowNorthMiddleWest:(e,t)=>({top:g(e),left:e.left-.25*t.width-u.arrowHorizontalOffset,name:"arrow_nmw"}),southWestArrowNorth:(e,t)=>({top:g(e),left:e.left-t.width/2,name:"arrow_n"}),southWestArrowNorthMiddleEast:(e,t)=>({top:g(e),left:e.left-.75*t.width+u.arrowHorizontalOffset,name:"arrow_nme"}),southWestArrowNorthEast:(e,t)=>({top:g(e),left:e.left-t.width+u.arrowHorizontalOffset,name:"arrow_ne"}),southArrowNorthWest:(e,t)=>({top:g(e),left:e.left+e.width/2-u.arrowHorizontalOffset,name:"arrow_nw"}),southArrowNorthMiddleWest:(e,t)=>({top:g(e),left:e.left+e.width/2-.25*t.width-u.arrowHorizontalOffset,name:"arrow_nmw"}),southArrowNorth:(e,t)=>({top:g(e),left:e.left+e.width/2-t.width/2,name:"arrow_n"}),southArrowNorthMiddleEast:(e,t)=>({top:g(e),left:e.left+e.width/2-.75*t.width+u.arrowHorizontalOffset,name:"arrow_nme"}),southArrowNorthEast:(e,t)=>({top:g(e),left:e.left+e.width/2-t.width+u.arrowHorizontalOffset,name:"arrow_ne"}),southEastArrowNorthWest:(e,t)=>({top:g(e),left:e.right-u.arrowHorizontalOffset,name:"arrow_nw"}),southEastArrowNorthMiddleWest:(e,t)=>({top:g(e),left:e.right-.25*t.width-u.arrowHorizontalOffset,name:"arrow_nmw"}),southEastArrowNorth:(e,t)=>({top:g(e),left:e.right-t.width/2,name:"arrow_n"}),southEastArrowNorthMiddleEast:(e,t)=>({top:g(e),left:e.right-.75*t.width+u.arrowHorizontalOffset,name:"arrow_nme"}),southEastArrowNorthEast:(e,t)=>({top:g(e),left:e.right-t.width+u.arrowHorizontalOffset,name:"arrow_ne"}),viewportStickyNorth:(e,t,o)=>e.getIntersection(o)?{top:o.top+u.stickyVerticalOffset,left:e.left+e.width/2-t.width/2,name:"arrowless",config:{withArrow:!1}}:null}},"./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return h}));var i=o("./packages/ckeditor5-core/src/plugin.js"),s=o("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),r=o("./packages/ckeditor5-ui/src/view.js"),n=o("./packages/ckeditor5-ui/src/button/buttonview.js"),a=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),c=o("./packages/ckeditor5-utils/src/focustracker.js"),l=o("./packages/ckeditor5-utils/src/dom/tounit.js"),d=o("./packages/ckeditor5-utils/src/dom/rect.js");o("./packages/ckeditor5-ui/theme/components/panel/balloonrotator.css"),o("./packages/ckeditor5-ui/theme/components/panel/fakepanel.css");const u=Object(l.a)("px");class h extends i.a{static get pluginName(){return"ContextualBalloon"}constructor(e){super(e),this.positionLimiter=()=>{const e=this.editor.editing.view,t=e.document.selection.editableElement;return t?e.domConverter.mapViewToDom(t.root):null},this.set("visibleView",null),this.view=new s.a(e.locale),e.ui.view.body.add(this.view),e.ui.focusTracker.add(this.view.element),this._viewToStack=new Map,this._idToStack=new Map,this.set("_numberOfStacks",0),this.set("_singleViewMode",!1),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}hasView(e){return Array.from(this._viewToStack.keys()).includes(e)}add(e){if(this.hasView(e.view))throw new a.a("contextualballoon-add-view-exist",[this,e]);const t=e.stackId||"main";if(!this._idToStack.has(t))return this._idToStack.set(t,new Map([[e.view,e]])),this._viewToStack.set(e.view,this._idToStack.get(t)),this._numberOfStacks=this._idToStack.size,void(this._visibleStack&&!e.singleViewMode||this.showStack(t));const o=this._idToStack.get(t);e.singleViewMode&&this.showStack(t),o.set(e.view,e),this._viewToStack.set(e.view,o),o===this._visibleStack&&this._showView(e)}remove(e){if(!this.hasView(e))throw new a.a("contextualballoon-remove-view-not-exist",[this,e]);const t=this._viewToStack.get(e);this._singleViewMode&&this.visibleView===e&&(this._singleViewMode=!1),this.visibleView===e&&(1===t.size?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(t.values())[t.size-2])),1===t.size?(this._idToStack.delete(this._getStackId(t)),this._numberOfStacks=this._idToStack.size):t.delete(e),this._viewToStack.delete(e)}updatePosition(e){e&&(this._visibleStack.get(this.visibleView).position=e),this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition()}showStack(e){this.visibleStack=e;const t=this._idToStack.get(e);if(!t)throw new a.a("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==t&&this._showView(Array.from(t.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(e){return Array.from(this._idToStack.entries()).find(t=>t[1]===e)[0]}_showNextStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)+1;e[t]||(t=0),this.showStack(this._getStackId(e[t]))}_showPrevStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)-1;e[t]||(t=e.length-1),this.showStack(this._getStackId(e[t]))}_createRotatorView(){const e=new p(this.editor.locale),t=this.editor.locale.t;return this.view.content.add(e),e.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",(e,t)=>!t&&e>1),e.on("change:isNavigationVisible",()=>this.updatePosition(),{priority:"low"}),e.bind("counter").to(this,"visibleView",this,"_numberOfStacks",(e,o)=>{if(o<2)return"";const i=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return t("%0 of %1",[i,o])}),e.buttonNextView.on("execute",()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()}),e.buttonPrevView.on("execute",()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()}),e}_createFakePanelsView(){const e=new g(this.editor.locale,this.view);return e.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",(e,t)=>!t&&e>=2?Math.min(e-1,2):0),e.listenTo(this.view,"change:top",()=>e.updatePosition()),e.listenTo(this.view,"change:left",()=>e.updatePosition()),this.editor.ui.view.body.add(e),e}_showView({view:e,balloonClassName:t="",withArrow:o=!0,singleViewMode:i=!1}){this.view.class=t,this.view.withArrow=o,this._rotatorView.showView(e),this.visibleView=e,this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition(),i&&(this._singleViewMode=!0)}_getBalloonPosition(){let e=Array.from(this._visibleStack.values()).pop().position;return e&&(e.limiter||(e=Object.assign({},e,{limiter:this.positionLimiter})),e=Object.assign({},e,{viewportOffsetConfig:this.editor.ui.viewportOffset})),e}}class p extends r.a{constructor(e){super(e);const t=e.t,o=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new c.a,this.buttonPrevView=this._createButtonView(t("Previous"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.463 5.187a.888.888 0 1 1 1.254 1.255L9.16 10l3.557 3.557a.888.888 0 1 1-1.254 1.255L7.26 10.61a.888.888 0 0 1 .16-1.382l4.043-4.042z"/></svg>'),this.buttonNextView=this._createButtonView(t("Next"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M8.537 14.813a.888.888 0 1 1-1.254-1.255L10.84 10 7.283 6.442a.888.888 0 1 1 1.254-1.255L12.74 9.39a.888.888 0 0 1-.16 1.382l-4.043 4.042z"/></svg>'),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",o.to("isNavigationVisible",e=>e?"":"ck-hidden")]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:o.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}showView(e){this.hideView(),this.content.add(e)}hideView(){this.content.clear()}_createButtonView(e,t){const o=new n.a(this.locale);return o.set({label:e,icon:t,tooltip:!0}),o}}class g extends r.a{constructor(e,t){super(e);const o=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("height",0),this.set("width",0),this.set("numberOfPanels",0),this.content=this.createCollection(),this._balloonPanelView=t,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",o.to("numberOfPanels",e=>e?"":"ck-hidden")],style:{top:o.to("top",u),left:o.to("left",u),width:o.to("width",u),height:o.to("height",u)}},children:this.content}),this.on("change:numberOfPanels",(e,t,o,i)=>{o>i?this._addPanels(o-i):this._removePanels(i-o),this.updatePosition()})}_addPanels(e){for(;e--;){const e=new r.a;e.setTemplate({tag:"div"}),this.content.add(e),this.registerChild(e)}}_removePanels(e){for(;e--;){const e=this.content.last;this.content.remove(e),this.deregisterChild(e),e.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:e,left:t}=this._balloonPanelView,{width:o,height:i}=new d.a(this._balloonPanelView.element);Object.assign(this,{top:e,left:t,width:o,height:i})}}}},"./packages/ckeditor5-ui/src/template.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return h}));var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),s=o("./packages/ckeditor5-utils/src/mix.js"),r=o("./packages/ckeditor5-utils/src/emittermixin.js"),n=o("./packages/ckeditor5-ui/src/view.js"),a=o("./packages/ckeditor5-ui/src/viewcollection.js"),c=o("./packages/ckeditor5-utils/src/dom/isnode.js"),l=o("./node_modules/lodash-es/isObject.js"),d=o("./node_modules/lodash-es/cloneDeepWith.js"),u=o("./packages/ckeditor5-utils/src/toarray.js");class h{constructor(e){Object.assign(this,y(v(e))),this._isRendered=!1,this._revertData=null}render(){const e=this._renderNode({intoFragment:!0});return this._isRendered=!0,e}apply(e){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:e,isApplying:!0,revertData:this._revertData}),e}revert(e){if(!this._revertData)throw new i.a("ui-template-revert-not-applied",[this,e]);this._revertTemplateFromNode(e,this._revertData)}*getViews(){yield*function*e(t){if(t.children)for(const o of t.children)A(o)?yield o:T(o)&&(yield*e(o))}(this)}static bind(e,t){return{to:(o,i)=>new g({eventNameOrFunction:o,attribute:o,observable:e,emitter:t,callback:i}),if:(o,i,s)=>new f({observable:e,emitter:t,attribute:o,valueIfTrue:i,callback:s})}}static extend(e,t){if(e._isRendered)throw new i.a("template-extend-render",[this,e]);!function e(t,o){o.attributes&&(t.attributes||(t.attributes={}),P(t.attributes,o.attributes));o.eventListeners&&(t.eventListeners||(t.eventListeners={}),P(t.eventListeners,o.eventListeners));o.text&&t.text.push(...o.text);if(o.children&&o.children.length){if(t.children.length!=o.children.length)throw new i.a("ui-template-extend-children-mismatch",t);let s=0;for(const i of o.children)e(t.children[s++],i)}}(e,y(v(t)))}_renderNode(e){let t;if(t=e.node?this.tag&&this.text:this.tag?this.text:!this.text,t)throw new i.a("ui-template-wrong-syntax",this);return this.text?this._renderText(e):this._renderElement(e)}_renderElement(e){let t=e.node;return t||(t=e.node=document.createElementNS(this.ns||"http://www.w3.org/1999/xhtml",this.tag)),this._renderAttributes(e),this._renderElementChildren(e),this._setUpListeners(e),t}_renderText(e){let t=e.node;return t?e.revertData.text=t.textContent:t=e.node=document.createTextNode(""),m(this.text)?this._bindToObservable({schema:this.text,updater:b(t),data:e}):t.textContent=this.text.join(""),t}_renderAttributes(e){let t,o,i,s;if(!this.attributes)return;const r=e.node,n=e.revertData;for(t in this.attributes)if(i=r.getAttribute(t),o=this.attributes[t],n&&(n.attributes[t]=i),s=Object(l.a)(o[0])&&o[0].ns?o[0].ns:null,m(o)){const a=s?o[0].value:o;n&&E(t)&&a.unshift(i),this._bindToObservable({schema:a,updater:_(r,t,s),data:e})}else"style"==t&&"string"!=typeof o[0]?this._renderStyleAttribute(o[0],e):(n&&i&&E(t)&&o.unshift(i),o=o.map(e=>e&&e.value||e).reduce((e,t)=>e.concat(t),[]).reduce(x,""),O(o)||r.setAttributeNS(s,t,o))}_renderStyleAttribute(e,t){const o=t.node;for(const i in e){const s=e[i];m(s)?this._bindToObservable({schema:[s],updater:w(o,i),data:t}):o.style[i]=s}}_renderElementChildren(e){const t=e.node,o=e.intoFragment?document.createDocumentFragment():t,i=e.isApplying;let s=0;for(const r of this.children)if(C(r)){if(!i){r.setParent(t);for(const e of r)o.appendChild(e.element)}}else if(A(r))i||(r.isRendered||r.render(),o.appendChild(r.element));else if(Object(c.a)(r))o.appendChild(r);else if(i){const t={children:[],bindings:[],attributes:{}};e.revertData.children.push(t),r._renderNode({node:o.childNodes[s++],isApplying:!0,revertData:t})}else o.appendChild(r.render());e.intoFragment&&t.appendChild(o)}_setUpListeners(e){if(this.eventListeners)for(const t in this.eventListeners){const o=this.eventListeners[t].map(o=>{const[i,s]=t.split("@");return o.activateDomEventListener(i,s,e)});e.revertData&&e.revertData.bindings.push(o)}}_bindToObservable({schema:e,updater:t,data:o}){const i=o.revertData;k(e,t,o);const s=e.filter(e=>!O(e)).filter(e=>e.observable).map(i=>i.activateAttributeListener(e,t,o));i&&i.bindings.push(s)}_revertTemplateFromNode(e,t){for(const e of t.bindings)for(const t of e)t();if(t.text)e.textContent=t.text;else{for(const o in t.attributes){const i=t.attributes[o];null===i?e.removeAttribute(o):e.setAttribute(o,i)}for(let o=0;o<t.children.length;++o)this._revertTemplateFromNode(e.childNodes[o],t.children[o])}}}Object(s.a)(h,r.c);class p{constructor(e){Object.assign(this,e)}getValue(e){const t=this.observable[this.attribute];return this.callback?this.callback(t,e):t}activateAttributeListener(e,t,o){const i=()=>k(e,t,o);return this.emitter.listenTo(this.observable,"change:"+this.attribute,i),()=>{this.emitter.stopListening(this.observable,"change:"+this.attribute,i)}}}class g extends p{activateDomEventListener(e,t,o){const i=(e,o)=>{t&&!o.target.matches(t)||("function"==typeof this.eventNameOrFunction?this.eventNameOrFunction(o):this.observable.fire(this.eventNameOrFunction,o))};return this.emitter.listenTo(o.node,e,i),()=>{this.emitter.stopListening(o.node,e,i)}}}class f extends p{getValue(e){return!O(super.getValue(e))&&(this.valueIfTrue||!0)}}function m(e){return!!e&&(e.value&&(e=e.value),Array.isArray(e)?e.some(m):e instanceof p)}function k(e,t,{node:o}){let i=function(e,t){return e.map(e=>e instanceof p?e.getValue(t):e)}(e,o);i=1==e.length&&e[0]instanceof f?i[0]:i.reduce(x,""),O(i)?t.remove():t.set(i)}function b(e){return{set(t){e.textContent=t},remove(){e.textContent=""}}}function _(e,t,o){return{set(i){e.setAttributeNS(o,t,i)},remove(){e.removeAttributeNS(o,t)}}}function w(e,t){return{set(o){e.style[t]=o},remove(){e.style[t]=null}}}function v(e){return Object(d.a)(e,e=>{if(e&&(e instanceof p||T(e)||A(e)||C(e)))return e})}function y(e){if("string"==typeof e?e=function(e){return{text:[e]}}(e):e.text&&function(e){e.text=Object(u.a)(e.text)}(e),e.on&&(e.eventListeners=function(e){for(const t in e)j(e,t);return e}(e.on),delete e.on),!e.text){e.attributes&&function(e){for(const t in e)e[t].value&&(e[t].value=Object(u.a)(e[t].value)),j(e,t)}(e.attributes);const t=[];if(e.children)if(C(e.children))t.push(e.children);else for(const o of e.children)T(o)||A(o)||Object(c.a)(o)?t.push(o):t.push(new h(o));e.children=t}return e}function j(e,t){e[t]=Object(u.a)(e[t])}function x(e,t){return O(t)?e:O(e)?t:`${e} ${t}`}function P(e,t){for(const o in t)e[o]?e[o].push(...t[o]):e[o]=t[o]}function O(e){return!e&&0!==e}function A(e){return e instanceof n.a}function T(e){return e instanceof h}function C(e){return e instanceof a.a}function E(e){return"class"==e||"style"==e}},"./packages/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js":function(e,t,o){"use strict";function i(e){return Array.isArray(e)?{items:e,removeItems:[]}:e?Object.assign({items:[],removeItems:[]},e):{items:[],removeItems:[]}}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-ui/src/toolbar/toolbarseparatorview.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-ui/src/view.js");class s extends i.a{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}},"./packages/ckeditor5-ui/src/toolbar/toolbarview.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return k}));var i=o("./packages/ckeditor5-ui/src/view.js"),s=o("./packages/ckeditor5-utils/src/focustracker.js"),r=o("./packages/ckeditor5-ui/src/focuscycler.js"),n=o("./packages/ckeditor5-utils/src/keystrokehandler.js"),a=o("./packages/ckeditor5-ui/src/toolbar/toolbarseparatorview.js");class c extends i.a{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}var l=o("./packages/ckeditor5-utils/src/dom/resizeobserver.js");function d(e){return e.bindTemplate.to(t=>{t.target===e.element&&t.preventDefault()})}var u=o("./packages/ckeditor5-utils/src/dom/rect.js"),h=o("./packages/ckeditor5-utils/src/dom/global.js"),p=o("./packages/ckeditor5-ui/src/dropdown/utils.js"),g=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),f=o("./packages/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js"),m=o("./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg");o("./packages/ckeditor5-ui/theme/components/toolbar/toolbar.css");class k extends i.a{constructor(e,t){super(e);const o=this.bindTemplate,i=this.t;this.options=t||{},this.set("ariaLabel",i("Editor toolbar")),this.set("maxWidth","auto"),this.items=this.createCollection(),this.focusTracker=new s.a,this.keystrokes=new n.a,this.set("class"),this.set("isCompact",!1),this.itemsView=new b(e),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const a="rtl"===e.uiLanguageDirection;this._focusCycler=new r.a({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[a?"arrowright":"arrowleft","arrowup"],focusNext:[a?"arrowleft":"arrowright","arrowdown"]}});const c=["ck","ck-toolbar",o.to("class"),o.if("isCompact","ck-toolbar_compact")];this.options.shouldGroupWhenFull&&this.options.isFloating&&c.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:c,role:"toolbar","aria-label":o.to("ariaLabel"),style:{maxWidth:o.to("maxWidth")}},children:this.children,on:{mousedown:d(this)}}),this._behavior=this.options.shouldGroupWhenFull?new w(this):new _(this)}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",(e,t)=>{this.focusTracker.add(t.element)}),this.items.on("remove",(e,t)=>{this.focusTracker.remove(t.element)}),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(e,t){const o=Object(f.a)(e),i=o.items.filter((e,i,s)=>"|"===e||-1===o.removeItems.indexOf(e)&&("-"===e?!this.options.shouldGroupWhenFull||(Object(g.c)("toolbarview-line-break-ignored-when-grouping-items",s),!1):!!t.has(e)||(Object(g.c)("toolbarview-item-unavailable",{name:e}),!1))),s=this._cleanSeparators(i).map(e=>"|"===e?new a.a:"-"===e?new c:t.create(e));this.items.addMany(s)}_cleanSeparators(e){const t=e=>"-"!==e&&"|"!==e,o=e.length,i=e.findIndex(t),s=o-e.slice().reverse().findIndex(t);return e.slice(i,s).filter((e,o,i)=>{if(t(e))return!0;return!(o>0&&i[o-1]===e)})}}class b extends i.a{constructor(e){super(e),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class _{constructor(e){const t=e.bindTemplate;e.set("isVertical",!1),e.itemsView.children.bindTo(e.items).using(e=>e),e.focusables.bindTo(e.items).using(e=>e),e.extendTemplate({attributes:{class:[t.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class w{constructor(e){this.view=e,this.viewChildren=e.children,this.viewFocusables=e.focusables,this.viewItemsView=e.itemsView,this.viewFocusTracker=e.focusTracker,this.viewLocale=e.locale,this.ungroupedItems=e.createCollection(),this.groupedItems=e.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,e.itemsView.children.bindTo(this.ungroupedItems).using(e=>e),this.ungroupedItems.on("add",this._updateFocusCycleableItems.bind(this)),this.ungroupedItems.on("remove",this._updateFocusCycleableItems.bind(this)),e.children.on("add",this._updateFocusCycleableItems.bind(this)),e.children.on("remove",this._updateFocusCycleableItems.bind(this)),e.items.on("change",(e,t)=>{const o=t.index;for(const e of t.removed)o>=this.ungroupedItems.length?this.groupedItems.remove(e):this.ungroupedItems.remove(e);for(let e=o;e<o+t.added.length;e++){const i=t.added[e-o];e>this.ungroupedItems.length?this.groupedItems.add(i,e-this.ungroupedItems.length):this.ungroupedItems.add(i,e)}this._updateGrouping()}),e.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(e){this.viewElement=e.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(e)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!this.viewElement.offsetParent)return void(this.shouldUpdateGroupingOnNextResize=!0);const e=this.groupedItems.length;let t;for(;this._areItemsOverflowing;)this._groupLastItem(),t=!0;if(!t&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==e&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const e=this.viewElement,t=this.viewLocale.uiLanguageDirection,o=new u.a(e.lastChild),i=new u.a(e);if(!this.cachedPadding){const o=h.a.window.getComputedStyle(e),i="ltr"===t?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(o[i])}return"ltr"===t?o.right>i.right-this.cachedPadding:o.left<i.left+this.cachedPadding}_enableGroupingOnResize(){let e;this.resizeObserver=new l.a(this.viewElement,t=>{e&&e===t.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),e=t.contentRect.width)}),this._updateGrouping()}_enableGroupingOnMaxWidthChange(e){e.on("change:maxWidth",()=>{this._updateGrouping()})}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new a.a),this.viewChildren.add(this.groupedItemsDropdown),this.viewFocusTracker.add(this.groupedItemsDropdown.element)),this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const e=this.viewLocale,t=e.t,o=Object(p.c)(e);return o.class="ck-toolbar__grouped-dropdown",o.panelPosition="ltr"===e.uiLanguageDirection?"sw":"se",Object(p.b)(o,[]),o.buttonView.set({label:t("Show more items"),tooltip:!0,tooltipPosition:"rtl"===e.uiLanguageDirection?"se":"sw",icon:m.a}),o.toolbarView.items.bindTo(this.groupedItems).using(e=>e),o}_updateFocusCycleableItems(){this.viewFocusables.clear(),this.ungroupedItems.map(e=>{this.viewFocusables.add(e)}),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}},"./packages/ckeditor5-ui/src/tooltip/tooltipview.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-ui/src/view.js");o("./packages/ckeditor5-ui/theme/components/tooltip/tooltip.css");class s extends i.a{constructor(e){super(e),this.set("text",""),this.set("position","s");const t=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip",t.to("position",e=>"ck-tooltip_"+e),t.if("text","ck-hidden",e=>!e.trim())]},children:[{tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:t.to("text")}]}]})}}},"./packages/ckeditor5-ui/src/view.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),s=o("./packages/ckeditor5-ui/src/viewcollection.js"),r=o("./packages/ckeditor5-ui/src/template.js"),n=o("./packages/ckeditor5-utils/src/dom/emittermixin.js"),a=o("./packages/ckeditor5-utils/src/observablemixin.js"),c=o("./packages/ckeditor5-utils/src/collection.js"),l=o("./packages/ckeditor5-utils/src/mix.js"),d=o("./packages/ckeditor5-utils/src/isiterable.js");o("./packages/ckeditor5-ui/theme/globals/globals.css");class u{constructor(e){this.element=null,this.isRendered=!1,this.locale=e,this.t=e&&e.t,this._viewCollections=new c.a,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",(t,o)=>{o.locale=e}),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=r.a.bind(this,this)}createCollection(e){const t=new s.a(e);return this._viewCollections.add(t),t}registerChild(e){Object(d.a)(e)||(e=[e]);for(const t of e)this._unboundChildren.add(t)}deregisterChild(e){Object(d.a)(e)||(e=[e]);for(const t of e)this._unboundChildren.remove(t)}setTemplate(e){this.template=new r.a(e)}extendTemplate(e){r.a.extend(this.template,e)}render(){if(this.isRendered)throw new i.a("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map(e=>e.destroy()),this.template&&this.template._revertData&&this.template.revert(this.element)}}Object(l.a)(u,n.a),Object(l.a)(u,a.a)},"./packages/ckeditor5-ui/src/viewcollection.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),s=o("./packages/ckeditor5-utils/src/collection.js");class r extends s.a{constructor(e=[]){super(e,{idProperty:"viewUid"}),this.on("add",(e,t,o)=>{this._renderViewIntoCollectionParent(t,o)}),this.on("remove",(e,t)=>{t.element&&this._parentElement&&t.element.remove()}),this._parentElement=null}destroy(){this.map(e=>e.destroy())}setParent(e){this._parentElement=e;for(const e of this)this._renderViewIntoCollectionParent(e)}delegate(...e){if(!e.length||!e.every(e=>"string"==typeof e))throw new i.a("ui-viewcollection-delegate-wrong-events",this);return{to:t=>{for(const o of this)for(const i of e)o.delegate(i).to(t);this.on("add",(o,i)=>{for(const o of e)i.delegate(o).to(t)}),this.on("remove",(o,i)=>{for(const o of e)i.stopDelegating(o,t)})}}}_renderViewIntoCollectionParent(e,t){e.isRendered||e.render(),e.element&&this._parentElement&&this._parentElement.insertBefore(e.element,this._parentElement.children[t])}}},"./packages/ckeditor5-ui/theme/components/button/button.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/button/button.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/button/switchbutton.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/button/switchbutton.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/colorgrid/colorgrid.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/colorgrid/colorgrid.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/dropdown/dropdown.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/dropdown/dropdown.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/dropdown/listdropdown.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/dropdown/listdropdown.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/dropdown/splitbutton.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/dropdown/splitbutton.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/editorui/editorui.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/editorui/editorui.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/formheader/formheader.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/formheader/formheader.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/icon/icon.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/icon/icon.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/inputtext/inputtext.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/inputtext/inputtext.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/label/label.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/label/label.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/list/list.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/list/list.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/panel/balloonpanel.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/panel/balloonpanel.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/panel/balloonrotator.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/panel/balloonrotator.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/panel/fakepanel.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/panel/fakepanel.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/panel/stickypanel.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/panel/stickypanel.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/toolbar/toolbar.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/toolbar/toolbar.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/components/tooltip/tooltip.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/components/tooltip/tooltip.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/globals/globals.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-ui/theme/globals/globals.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg":function(e,t,o){"use strict";t.a='<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"><path d="M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z"/></svg>'},"./packages/ckeditor5-utils/src/ckeditorerror.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"c",(function(){return s})),o.d(t,"b",(function(){return r}));class i extends Error{constructor(e,t,o){super(function(e,t){const o=new WeakSet,i=t?" "+JSON.stringify(t,(e,t)=>{if("object"==typeof t&&null!==t){if(o.has(t))return`[object ${t.constructor.name}]`;o.add(t)}return t}):"",s=n(e);return e+i+s}(e,o)),this.name="CKEditorError",this.context=t,this.data=o}is(e){return"CKEditorError"===e}static rethrowUnexpectedError(e,t){if(e.is&&e.is("CKEditorError"))throw e;const o=new i(e.message,t);throw o.stack=e.stack,o}}function s(e,t){console.warn(...a(e,t))}function r(e,t){console.error(...a(e,t))}function n(e){return"\nRead more: https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html#error-"+e}function a(e,t){const o=n(e);return t?[e,t,o]:[e,o]}},"./packages/ckeditor5-utils/src/collection.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var i=o("./packages/ckeditor5-utils/src/emittermixin.js"),s=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=o("./packages/ckeditor5-utils/src/uid.js"),n=o("./packages/ckeditor5-utils/src/isiterable.js"),a=o("./packages/ckeditor5-utils/src/mix.js");class c{constructor(e={},t={}){const o=Object(n.a)(e);if(o||(t=e),this._items=[],this._itemMap=new Map,this._idProperty=t.idProperty||"id",this._bindToExternalToInternalMap=new WeakMap,this._bindToInternalToExternalMap=new WeakMap,this._skippedIndexesFromExternal=[],o)for(const t of e)this._items.push(t),this._itemMap.set(this._getItemIdBeforeAdding(t),t)}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(e,t){return this.addMany([e],t)}addMany(e,t){if(void 0===t)t=this._items.length;else if(t>this._items.length||t<0)throw new s.a("collection-add-item-invalid-index",this);for(let o=0;o<e.length;o++){const i=e[o],s=this._getItemIdBeforeAdding(i),r=t+o;this._items.splice(r,0,i),this._itemMap.set(s,i),this.fire("add",i,r)}return this.fire("change",{added:e,removed:[],index:t}),this}get(e){let t;if("string"==typeof e)t=this._itemMap.get(e);else{if("number"!=typeof e)throw new s.a("collection-get-invalid-arg",this);t=this._items[e]}return t||null}has(e){if("string"==typeof e)return this._itemMap.has(e);{const t=e[this._idProperty];return this._itemMap.has(t)}}getIndex(e){let t;return t="string"==typeof e?this._itemMap.get(e):e,this._items.indexOf(t)}remove(e){const[t,o]=this._remove(e);return this.fire("change",{added:[],removed:[t],index:o}),t}map(e,t){return this._items.map(e,t)}find(e,t){return this._items.find(e,t)}filter(e,t){return this._items.filter(e,t)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const e=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:e,index:0})}bindTo(e){if(this._bindToCollection)throw new s.a("collection-bind-to-rebind",this);return this._bindToCollection=e,{as:e=>{this._setUpBindToBinding(t=>new e(t))},using:e=>{"function"==typeof e?this._setUpBindToBinding(t=>e(t)):this._setUpBindToBinding(t=>t[e])}}}_setUpBindToBinding(e){const t=this._bindToCollection,o=(o,i,s)=>{const r=t._bindToCollection==this,n=t._bindToInternalToExternalMap.get(i);if(r&&n)this._bindToExternalToInternalMap.set(i,n),this._bindToInternalToExternalMap.set(n,i);else{const o=e(i);if(!o)return void this._skippedIndexesFromExternal.push(s);let r=s;for(const e of this._skippedIndexesFromExternal)s>e&&r--;for(const e of t._skippedIndexesFromExternal)r>=e&&r++;this._bindToExternalToInternalMap.set(i,o),this._bindToInternalToExternalMap.set(o,i),this.add(o,r);for(let e=0;e<t._skippedIndexesFromExternal.length;e++)r<=t._skippedIndexesFromExternal[e]&&t._skippedIndexesFromExternal[e]++}};for(const e of t)o(0,e,t.getIndex(e));this.listenTo(t,"add",o),this.listenTo(t,"remove",(e,t,o)=>{const i=this._bindToExternalToInternalMap.get(t);i&&this.remove(i),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce((e,t)=>(o<t&&e.push(t-1),o>t&&e.push(t),e),[])})}_getItemIdBeforeAdding(e){const t=this._idProperty;let o;if(t in e){if(o=e[t],"string"!=typeof o)throw new s.a("collection-add-invalid-id",this);if(this.get(o))throw new s.a("collection-add-item-already-exists",this)}else e[t]=o=Object(r.a)();return o}_remove(e){let t,o,i,r=!1;const n=this._idProperty;if("string"==typeof e?(o=e,i=this._itemMap.get(o),r=!i,i&&(t=this._items.indexOf(i))):"number"==typeof e?(t=e,i=this._items[t],r=!i,i&&(o=i[n])):(i=e,o=i[n],t=this._items.indexOf(i),r=-1==t||!this._itemMap.get(o)),r)throw new s.a("collection-remove-404",this);this._items.splice(t,1),this._itemMap.delete(o);const a=this._bindToInternalToExternalMap.get(i);return this._bindToInternalToExternalMap.delete(i),this._bindToExternalToInternalMap.delete(a),this.fire("remove",i,t),[i,t]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}Object(a.a)(c,i.c)},"./packages/ckeditor5-utils/src/comparearrays.js":function(e,t,o){"use strict";function i(e,t){const o=Math.min(e.length,t.length);for(let i=0;i<o;i++)if(e[i]!=t[i])return i;return e.length==t.length?"same":e.length<t.length?"prefix":"extension"}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/count.js":function(e,t,o){"use strict";function i(e){let t=0;for(const o of e)t++;return t}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/diff.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-utils/src/fastdiff.js");function s(e,t,o){o=o||function(e,t){return e===t};const i=e.length,r=t.length;if(i>200||r>200||i+r>300)return s.fastDiff(e,t,o,!0);let n,a;if(r<i){const o=e;e=t,t=o,n="delete",a="insert"}else n="insert",a="delete";const c=e.length,l=t.length,d=l-c,u={},h={};function p(i){const s=(void 0!==h[i-1]?h[i-1]:-1)+1,r=void 0!==h[i+1]?h[i+1]:-1,d=s>r?-1:1;u[i+d]&&(u[i]=u[i+d].slice(0)),u[i]||(u[i]=[]),u[i].push(s>r?n:a);let p=Math.max(s,r),g=p-i;for(;g<c&&p<l&&o(e[g],t[p]);)g++,p++,u[i].push("equal");return p}let g,f=0;do{for(g=-f;g<d;g++)h[g]=p(g);for(g=d+f;g>d;g--)h[g]=p(g);h[d]=p(d),f++}while(h[d]!==l);return u[d].slice(1)}s.fastDiff=i.a},"./packages/ckeditor5-utils/src/dom/createelement.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var i=o("./packages/ckeditor5-utils/src/isiterable.js"),s=o("./node_modules/lodash-es/_baseGetTag.js"),r=o("./node_modules/lodash-es/isArray.js"),n=o("./node_modules/lodash-es/isObjectLike.js");var a=function(e){return"string"==typeof e||!Object(r.a)(e)&&Object(n.a)(e)&&"[object String]"==Object(s.a)(e)};function c(e,t,o={},s=[]){const r=o&&o.xmlns,n=r?e.createElementNS(r,t):e.createElement(t);for(const e in o)n.setAttribute(e,o[e]);!a(s)&&Object(i.a)(s)||(s=[s]);for(let t of s)a(t)&&(t=e.createTextNode(t)),n.appendChild(t);return n}},"./packages/ckeditor5-utils/src/dom/emittermixin.js":function(e,t,o){"use strict";var i=o("./packages/ckeditor5-utils/src/emittermixin.js"),s=o("./packages/ckeditor5-utils/src/uid.js"),r=o("./packages/ckeditor5-utils/src/dom/isnode.js"),n=o("./packages/ckeditor5-utils/src/dom/iswindow.js"),a=o("./node_modules/lodash-es/assignIn.js");const c=Object(a.a)({},i.c,{listenTo(e,...t){if(Object(r.a)(e)||Object(n.a)(e)){const o=this._getProxyEmitter(e)||new l(e);o.attach(...t),e=o}i.c.listenTo.call(this,e,...t)},stopListening(e,t,o){if(Object(r.a)(e)||Object(n.a)(e)){const t=this._getProxyEmitter(e);if(!t)return;e=t}i.c.stopListening.call(this,e,t,o),e instanceof l&&e.detach(t)},_getProxyEmitter(e){return Object(i.a)(this,d(e))}});t.a=c;class l{constructor(e){Object(i.b)(this,d(e)),this._domNode=e}}function d(e){return e["data-ck-expando"]||(e["data-ck-expando"]=Object(s.a)())}Object(a.a)(l.prototype,i.c,{attach(e,t,o={}){if(this._domListeners&&this._domListeners[e])return;const i={capture:!!o.useCapture,passive:!!o.usePassive},s=this._createDomListener(e,i);this._domNode.addEventListener(e,s,i),this._domListeners||(this._domListeners={}),this._domListeners[e]=s},detach(e){let t;!this._domListeners[e]||(t=this._events[e])&&t.callbacks.length||this._domListeners[e].removeListener()},_createDomListener(e,t){const o=t=>{this.fire(e,t)};return o.removeListener=()=>{this._domNode.removeEventListener(e,o,t),delete this._domListeners[e]},o}})},"./packages/ckeditor5-utils/src/dom/getborderwidths.js":function(e,t,o){"use strict";function i(e){const t=e.ownerDocument.defaultView.getComputedStyle(e);return{top:parseInt(t.borderTopWidth,10),right:parseInt(t.borderRightWidth,10),bottom:parseInt(t.borderBottomWidth,10),left:parseInt(t.borderLeftWidth,10)}}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/dom/global.js":function(e,t,o){"use strict";t.a={window:window,document:document}},"./packages/ckeditor5-utils/src/dom/isnode.js":function(e,t,o){"use strict";function i(e){if(e){if(e.defaultView)return e instanceof e.defaultView.Document;if(e.ownerDocument&&e.ownerDocument.defaultView)return e instanceof e.ownerDocument.defaultView.Node}return!1}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/dom/isrange.js":function(e,t,o){"use strict";function i(e){return"[object Range]"==Object.prototype.toString.apply(e)}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/dom/istext.js":function(e,t,o){"use strict";function i(e){return"[object Text]"==Object.prototype.toString.call(e)}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/dom/iswindow.js":function(e,t,o){"use strict";function i(e){const t=Object.prototype.toString.apply(e);return"[object Window]"==t||"[object global]"==t}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/dom/position.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-utils/src/dom/global.js"),s=o("./packages/ckeditor5-utils/src/dom/rect.js");var r=o("./packages/ckeditor5-utils/src/dom/getborderwidths.js"),n=o("./node_modules/lodash-es/isFunction.js");function a({element:e,target:t,positions:o,limiter:r,fitInViewport:a,viewportOffsetConfig:c}){Object(n.a)(t)&&(t=t()),Object(n.a)(r)&&(r=r());const d=function(e){return e&&e.parentNode?e.offsetParent===i.a.document.body?null:e.offsetParent:null}(e),u=new s.a(e);let h;const p={targetRect:new s.a(t),elementRect:u,positionedElementAncestor:d};if(r||a){const e=r&&new s.a(r).getVisible(),t=a&&function(e){e=Object.assign({top:0,bottom:0,left:0,right:0},e);const t=new s.a(i.a.window);return t.top+=e.top,t.height-=e.top,t.bottom-=e.bottom,t.height-=e.bottom,t}(c);Object.assign(p,{limiterRect:e,viewportRect:t}),h=function(e,t){const{elementRect:o}=t,i=o.getArea(),s=e.map(e=>new l(e,t)).filter(e=>!!e.name);let r=0,n=null;for(const e of s){const{_limiterIntersectionArea:t,_viewportIntersectionArea:o}=e;if(t===i)return e;const s=o**2+t**2;s>r&&(r=s,n=e)}return n}(o,p)||new l(o[0],p)}else h=new l(o[0],p);return h}function c(e){const{scrollX:t,scrollY:o}=i.a.window;return e.clone().moveBy(t,o)}class l{constructor(e,t){const o=e(t.targetRect,t.elementRect,t.viewportRect);if(!o)return;const{left:i,top:s,name:r,config:n}=o;Object.assign(this,{name:r,config:n}),this._positioningFunctionCorrdinates={left:i,top:s},this._options=t}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get _limiterIntersectionArea(){const e=this._options.limiterRect;if(e){const t=this._options.viewportRect;if(!t)return e.getIntersectionArea(this._rect);{const o=e.getIntersection(t);if(o)return o.getIntersectionArea(this._rect)}}return 0}get _viewportIntersectionArea(){const e=this._options.viewportRect;return e?e.getIntersectionArea(this._rect):0}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCorrdinates.left,this._positioningFunctionCorrdinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=c(this._rect),this._options.positionedElementAncestor&&function(e,t){const o=c(new s.a(t)),i=Object(r.a)(t);let n=0,a=0;n-=o.left,a-=o.top,n+=t.scrollLeft,a+=t.scrollTop,n-=i.left,a-=i.top,e.moveBy(n,a)}(this._cachedAbsoluteRect,this._options.positionedElementAncestor)),this._cachedAbsoluteRect}}},"./packages/ckeditor5-utils/src/dom/rect.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return l}));var i=o("./packages/ckeditor5-utils/src/dom/isrange.js"),s=o("./packages/ckeditor5-utils/src/dom/iswindow.js"),r=o("./packages/ckeditor5-utils/src/dom/getborderwidths.js"),n=o("./packages/ckeditor5-utils/src/dom/istext.js"),a=o("./node_modules/lodash-es/isElement.js");const c=["top","right","bottom","left","width","height"];class l{constructor(e){const t=Object(i.a)(e);if(Object.defineProperty(this,"_source",{value:e._source||e,writable:!0,enumerable:!1}),Object(a.a)(e)||t)if(t){const t=l.getDomRangeRects(e);d(this,l.getBoundingRect(t))}else d(this,e.getBoundingClientRect());else if(Object(s.a)(e)){const{innerWidth:t,innerHeight:o}=e;d(this,{top:0,right:t,bottom:o,left:0,width:t,height:o})}else d(this,e)}clone(){return new l(this)}moveTo(e,t){return this.top=t,this.right=e+this.width,this.bottom=t+this.height,this.left=e,this}moveBy(e,t){return this.top+=t,this.right+=e,this.left+=e,this.bottom+=t,this}getIntersection(e){const t={top:Math.max(this.top,e.top),right:Math.min(this.right,e.right),bottom:Math.min(this.bottom,e.bottom),left:Math.max(this.left,e.left)};return t.width=t.right-t.left,t.height=t.bottom-t.top,t.width<0||t.height<0?null:new l(t)}getIntersectionArea(e){const t=this.getIntersection(e);return t?t.getArea():0}getArea(){return this.width*this.height}getVisible(){const e=this._source;let t=this.clone();if(!u(e)){let o=e.parentNode||e.commonAncestorContainer;for(;o&&!u(o);){const e=new l(o),i=t.getIntersection(e);if(!i)return null;i.getArea()<t.getArea()&&(t=i),o=o.parentNode}}return t}isEqual(e){for(const t of c)if(this[t]!==e[t])return!1;return!0}contains(e){const t=this.getIntersection(e);return!(!t||!t.isEqual(e))}excludeScrollbarsAndBorders(){const e=this._source;let t,o,i;if(Object(s.a)(e))t=e.innerWidth-e.document.documentElement.clientWidth,o=e.innerHeight-e.document.documentElement.clientHeight,i=e.getComputedStyle(e.document.documentElement).direction;else{const s=Object(r.a)(this._source);t=e.offsetWidth-e.clientWidth-s.left-s.right,o=e.offsetHeight-e.clientHeight-s.top-s.bottom,i=e.ownerDocument.defaultView.getComputedStyle(e).direction,this.left+=s.left,this.top+=s.top,this.right-=s.right,this.bottom-=s.bottom,this.width=this.right-this.left,this.height=this.bottom-this.top}return this.width-=t,"ltr"===i?this.right-=t:this.left+=t,this.height-=o,this.bottom-=o,this}static getDomRangeRects(e){const t=[],o=Array.from(e.getClientRects());if(o.length)for(const e of o)t.push(new l(e));else{let o=e.startContainer;Object(n.a)(o)&&(o=o.parentNode);const i=new l(o.getBoundingClientRect());i.right=i.left,i.width=0,t.push(i)}return t}static getBoundingRect(e){const t={left:Number.POSITIVE_INFINITY,top:Number.POSITIVE_INFINITY,right:Number.NEGATIVE_INFINITY,bottom:Number.NEGATIVE_INFINITY};let o=0;for(const i of e)o++,t.left=Math.min(t.left,i.left),t.top=Math.min(t.top,i.top),t.right=Math.max(t.right,i.right),t.bottom=Math.max(t.bottom,i.bottom);return 0==o?null:(t.width=t.right-t.left,t.height=t.bottom-t.top,new l(t))}}function d(e,t){for(const o of c)e[o]=t[o]}function u(e){return!!Object(a.a)(e)&&e===e.ownerDocument.body}},"./packages/ckeditor5-utils/src/dom/resizeobserver.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-utils/src/mix.js"),s=o("./packages/ckeditor5-utils/src/dom/global.js"),r=o("./packages/ckeditor5-utils/src/dom/rect.js"),n=o("./packages/ckeditor5-utils/src/dom/emittermixin.js");class a{constructor(e,t){a._observerInstance||a._createObserver(),this._element=e,this._callback=t,a._addElementCallback(e,t),a._observerInstance.observe(e)}destroy(){a._deleteElementCallback(this._element,this._callback)}static _addElementCallback(e,t){a._elementCallbacks||(a._elementCallbacks=new Map);let o=a._elementCallbacks.get(e);o||(o=new Set,a._elementCallbacks.set(e,o)),o.add(t)}static _deleteElementCallback(e,t){const o=a._getElementCallbacks(e);o&&(o.delete(t),o.size||(a._elementCallbacks.delete(e),a._observerInstance.unobserve(e))),a._elementCallbacks&&!a._elementCallbacks.size&&(a._observerInstance=null,a._elementCallbacks=null)}static _getElementCallbacks(e){return a._elementCallbacks?a._elementCallbacks.get(e):null}static _createObserver(){let e;e="function"==typeof s.a.window.ResizeObserver?s.a.window.ResizeObserver:c,a._observerInstance=new e(e=>{for(const t of e){const e=a._getElementCallbacks(t.target);if(e)for(const o of e)o(t)}})}}a._observerInstance=null,a._elementCallbacks=null;class c{constructor(e){this._callback=e,this._elements=new Set,this._previousRects=new Map,this._periodicCheckTimeout=null}observe(e){this._elements.add(e),this._checkElementRectsAndExecuteCallback(),1===this._elements.size&&this._startPeriodicCheck()}unobserve(e){this._elements.delete(e),this._previousRects.delete(e),this._elements.size||this._stopPeriodicCheck()}_startPeriodicCheck(){const e=()=>{this._checkElementRectsAndExecuteCallback(),this._periodicCheckTimeout=setTimeout(e,100)};this.listenTo(s.a.window,"resize",()=>{this._checkElementRectsAndExecuteCallback()}),this._periodicCheckTimeout=setTimeout(e,100)}_stopPeriodicCheck(){clearTimeout(this._periodicCheckTimeout),this.stopListening(),this._previousRects.clear()}_checkElementRectsAndExecuteCallback(){const e=[];for(const t of this._elements)this._hasRectChanged(t)&&e.push({target:t,contentRect:this._previousRects.get(t)});e.length&&this._callback(e)}_hasRectChanged(e){if(!e.ownerDocument.body.contains(e))return!1;const t=new r.a(e),o=this._previousRects.get(e),i=!o||!o.isEqual(t);return this._previousRects.set(e,t),i}}Object(i.a)(c,n.a)},"./packages/ckeditor5-utils/src/dom/setdatainelement.js":function(e,t,o){"use strict";function i(e,t){e instanceof HTMLTextAreaElement&&(e.value=t),e.innerHTML=t}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/dom/tounit.js":function(e,t,o){"use strict";function i(e){return t=>t+e}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/emittermixin.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return d})),o.d(t,"b",(function(){return u}));var i=o("./packages/ckeditor5-utils/src/eventinfo.js"),s=o("./packages/ckeditor5-utils/src/uid.js"),r=o("./packages/ckeditor5-utils/src/priorities.js"),n=(o("./packages/ckeditor5-utils/src/version.js"),o("./packages/ckeditor5-utils/src/ckeditorerror.js"));const a=Symbol("listeningTo"),c=Symbol("emitterId"),l={on(e,t,o={}){this.listenTo(this,e,t,o)},once(e,t,o){let i=!1;this.listenTo(this,e,(function(e,...o){i||(i=!0,e.off(),t.call(this,e,...o))}),o)},off(e,t){this.stopListening(this,e,t)},listenTo(e,t,o,i={}){let s,r;this[a]||(this[a]={});const n=this[a];h(e)||u(e);const c=h(e);(s=n[c])||(s=n[c]={emitter:e,callbacks:{}}),(r=s.callbacks[t])||(r=s.callbacks[t]=[]),r.push(o),function(e,t,o,i,s){t._addEventListener?t._addEventListener(o,i,s):e._addEventListener.call(t,o,i,s)}(this,e,t,o,i)},stopListening(e,t,o){const i=this[a];let s=e&&h(e);const r=i&&s&&i[s],n=r&&t&&r.callbacks[t];if(!(!i||e&&!r||t&&!n))if(o){m(this,e,t,o);-1!==n.indexOf(o)&&(1===n.length?delete r.callbacks[t]:m(this,e,t,o))}else if(n){for(;o=n.pop();)m(this,e,t,o);delete r.callbacks[t]}else if(r){for(t in r.callbacks)this.stopListening(e,t);delete i[s]}else{for(s in i)this.stopListening(i[s].emitter);delete this[a]}},fire(e,...t){try{const o=e instanceof i.a?e:new i.a(this,e),s=o.name;let r=function e(t,o){let i;if(!t._events||!(i=t._events[o])||!i.callbacks.length)return o.indexOf(":")>-1?e(t,o.substr(0,o.lastIndexOf(":"))):null;return i.callbacks}(this,s);if(o.path.push(this),r){const e=[o,...t];r=Array.from(r);for(let t=0;t<r.length&&(r[t].callback.apply(this,e),o.off.called&&(delete o.off.called,this._removeEventListener(s,r[t].callback)),!o.stop.called);t++);}if(this._delegations){const e=this._delegations.get(s),i=this._delegations.get("*");e&&f(e,o,t),i&&f(i,o,t)}return o.return}catch(e){n.a.rethrowUnexpectedError(e,this)}},delegate(...e){return{to:(t,o)=>{this._delegations||(this._delegations=new Map),e.forEach(e=>{const i=this._delegations.get(e);i?i.set(t,o):this._delegations.set(e,new Map([[t,o]]))})}}},stopDelegating(e,t){if(this._delegations)if(e)if(t){const o=this._delegations.get(e);o&&o.delete(t)}else this._delegations.delete(e);else this._delegations.clear()},_addEventListener(e,t,o){!function(e,t){const o=p(e);if(o[t])return;let i=t,s=null;const r=[];for(;""!==i&&!o[i];)o[i]={callbacks:[],childEvents:[]},r.push(o[i]),s&&o[i].childEvents.push(s),s=i,i=i.substr(0,i.lastIndexOf(":"));if(""!==i){for(const e of r)e.callbacks=o[i].callbacks.slice();o[i].childEvents.push(s)}}(this,e);const i=g(this,e),s=r.a.get(o.priority),n={callback:t,priority:s};for(const e of i){let t=!1;for(let o=0;o<e.length;o++)if(e[o].priority<s){e.splice(o,0,n),t=!0;break}t||e.push(n)}},_removeEventListener(e,t){const o=g(this,e);for(const e of o)for(let o=0;o<e.length;o++)e[o].callback==t&&(e.splice(o,1),o--)}};function d(e,t){return e[a]&&e[a][t]?e[a][t].emitter:null}function u(e,t){e[c]||(e[c]=t||Object(s.a)())}function h(e){return e[c]}function p(e){return e._events||Object.defineProperty(e,"_events",{value:{}}),e._events}function g(e,t){const o=p(e)[t];if(!o)return[];let i=[o.callbacks];for(let t=0;t<o.childEvents.length;t++){const s=g(e,o.childEvents[t]);i=i.concat(s)}return i}function f(e,t,o){for(let[s,r]of e){r?"function"==typeof r&&(r=r(t.name)):r=t.name;const e=new i.a(t.source,r);e.path=[...t.path],s.fire(e,...o)}}function m(e,t,o,i){t._removeEventListener?t._removeEventListener(o,i):e._removeEventListener.call(t,o,i)}t.c=l},"./packages/ckeditor5-utils/src/env.js":function(e,t,o){"use strict";const i=navigator.userAgent.toLowerCase(),s={isMac:function(e){return e.indexOf("macintosh")>-1}(i),isGecko:function(e){return!!e.match(/gecko\/\d+/)}(i),isSafari:function(e){return e.indexOf(" applewebkit/")>-1&&-1===e.indexOf("chrome")}(i),isAndroid:function(e){return e.indexOf("android")>-1}(i),isBlink:function(e){return e.indexOf("chrome/")>-1&&e.indexOf("edge/")<0}(i),features:{isRegExpUnicodePropertySupported:function(){let e=!1;try{e=0==="ć".search(new RegExp("[\\p{L}]","u"))}catch(e){}return e}()}};t.a=s},"./packages/ckeditor5-utils/src/eventinfo.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=function(){return function e(){e.called=!0}};class s{constructor(e,t){this.source=e,this.name=t,this.path=[],this.stop=i(),this.off=i()}}},"./packages/ckeditor5-utils/src/fastdiff.js":function(e,t,o){"use strict";function i(e,t,o,i=!1){o=o||function(e,t){return e===t},Array.isArray(e)||(e=Array.prototype.slice.call(e)),Array.isArray(t)||(t=Array.prototype.slice.call(t));const n=function(e,t,o){const i=s(e,t,o);if(-1===i)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const n=r(e,i),a=r(t,i),c=s(n,a,o),l=e.length-c,d=t.length-c;return{firstIndex:i,lastIndexOld:l,lastIndexNew:d}}(e,t,o);return i?function(e,t){const{firstIndex:o,lastIndexOld:i,lastIndexNew:s}=e;if(-1===o)return Array(t).fill("equal");let r=[];o>0&&(r=r.concat(Array(o).fill("equal")));s-o>0&&(r=r.concat(Array(s-o).fill("insert")));i-o>0&&(r=r.concat(Array(i-o).fill("delete")));s<t&&(r=r.concat(Array(t-s).fill("equal")));return r}(n,t.length):function(e,t){const o=[],{firstIndex:i,lastIndexOld:s,lastIndexNew:r}=t;r-i>0&&o.push({index:i,type:"insert",values:e.slice(i,r)});s-i>0&&o.push({index:i+(r-i),type:"delete",howMany:s-i});return o}(t,n)}function s(e,t,o){for(let i=0;i<Math.max(e.length,t.length);i++)if(void 0===e[i]||void 0===t[i]||!o(e[i],t[i]))return i;return-1}function r(e,t){return e.slice(t).reverse()}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/first.js":function(e,t,o){"use strict";function i(e){const t=e.next();return t.done?null:t.value}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/focustracker.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-utils/src/dom/emittermixin.js"),s=o("./packages/ckeditor5-utils/src/observablemixin.js"),r=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=o("./packages/ckeditor5-utils/src/mix.js");class a{constructor(){this.set("isFocused",!1),this.set("focusedElement",null),this._elements=new Set,this._nextEventLoopTimeout=null}add(e){if(this._elements.has(e))throw new r.a("focustracker-add-element-already-exist",this);this.listenTo(e,"focus",()=>this._focus(e),{useCapture:!0}),this.listenTo(e,"blur",()=>this._blur(),{useCapture:!0}),this._elements.add(e)}remove(e){e===this.focusedElement&&this._blur(e),this._elements.has(e)&&(this.stopListening(e),this._elements.delete(e))}destroy(){this.stopListening()}_focus(e){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=e,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout(()=>{this.focusedElement=null,this.isFocused=!1},0)}}Object(n.a)(a,i.a),Object(n.a)(a,s.a)},"./packages/ckeditor5-utils/src/index.js":function(e,t,o){"use strict";o.d(t,"n",(function(){return i.a})),o.d(t,"m",(function(){return s.a})),o.d(t,"A",(function(){return r.a})),o.d(t,"e",(function(){return n.c})),o.d(t,"i",(function(){return a.a})),o.d(t,"a",(function(){return c.a})),o.d(t,"y",(function(){return c.b})),o.d(t,"z",(function(){return c.c})),o.d(t,"d",(function(){return l})),o.d(t,"l",(function(){return d.a})),o.d(t,"c",(function(){return u.a})),o.d(t,"u",(function(){return h.a})),o.d(t,"q",(function(){return p})),o.d(t,"j",(function(){return g.a})),o.d(t,"k",(function(){return f.a})),o.d(t,"D",(function(){return m.a})),o.d(t,"G",(function(){return k.a})),o.d(t,"x",(function(){return b.f})),o.d(t,"p",(function(){return b.a})),o.d(t,"B",(function(){return b.g})),o.d(t,"r",(function(){return b.b})),o.d(t,"v",(function(){return b.d})),o.d(t,"t",(function(){return b.c})),o.d(t,"w",(function(){return b.e})),o.d(t,"s",(function(){return _.a})),o.d(t,"h",(function(){return w.a})),o.d(t,"b",(function(){return v.a})),o.d(t,"o",(function(){return y.a})),o.d(t,"f",(function(){return j.a})),o.d(t,"g",(function(){return x.a})),o.d(t,"E",(function(){return P.a})),o.d(t,"F",(function(){return O.a})),o.d(t,"C",(function(){return A.a})),o.d(t,"H",(function(){return T.a})),o.d(t,"I",(function(){return C.a}));var i=o("./packages/ckeditor5-utils/src/env.js"),s=o("./packages/ckeditor5-utils/src/diff.js"),r=o("./packages/ckeditor5-utils/src/mix.js"),n=o("./packages/ckeditor5-utils/src/emittermixin.js"),a=o("./packages/ckeditor5-utils/src/observablemixin.js"),c=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class l{constructor(){this._replacedElements=[]}replace(e,t){this._replacedElements.push({element:e,newElement:t}),e.style.display="none",t&&e.parentNode.insertBefore(t,e.nextSibling)}restore(){this._replacedElements.forEach(({element:e,newElement:t})=>{e.style.display="",t&&t.remove()}),this._replacedElements=[]}}var d=o("./packages/ckeditor5-utils/src/dom/createelement.js"),u=o("./packages/ckeditor5-utils/src/dom/emittermixin.js"),h=o("./packages/ckeditor5-utils/src/dom/global.js");function p(e){return e instanceof HTMLTextAreaElement?e.value:e.innerHTML}var g=o("./packages/ckeditor5-utils/src/dom/rect.js"),f=o("./packages/ckeditor5-utils/src/dom/resizeobserver.js"),m=o("./packages/ckeditor5-utils/src/dom/setdatainelement.js"),k=o("./packages/ckeditor5-utils/src/dom/tounit.js"),b=o("./packages/ckeditor5-utils/src/keyboard.js"),_=o("./packages/ckeditor5-utils/src/language.js"),w=o("./packages/ckeditor5-utils/src/locale.js"),v=o("./packages/ckeditor5-utils/src/collection.js"),y=o("./packages/ckeditor5-utils/src/first.js"),j=o("./packages/ckeditor5-utils/src/focustracker.js"),x=o("./packages/ckeditor5-utils/src/keystrokehandler.js"),P=o("./packages/ckeditor5-utils/src/toarray.js"),O=o("./packages/ckeditor5-utils/src/tomap.js"),A=o("./packages/ckeditor5-utils/src/priorities.js"),T=o("./packages/ckeditor5-utils/src/uid.js"),C=o("./packages/ckeditor5-utils/src/version.js")},"./packages/ckeditor5-utils/src/isiterable.js":function(e,t,o){"use strict";function i(e){return!(!e||!e[Symbol.iterator])}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/keyboard.js":function(e,t,o){"use strict";o.d(t,"f",(function(){return a})),o.d(t,"a",(function(){return l})),o.d(t,"g",(function(){return d})),o.d(t,"b",(function(){return u})),o.d(t,"d",(function(){return h})),o.d(t,"c",(function(){return p})),o.d(t,"e",(function(){return g}));var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),s=o("./packages/ckeditor5-utils/src/env.js");const r={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},n={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},a=function(){const e={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let t=65;t<=90;t++){const o=String.fromCharCode(t);e[o.toLowerCase()]=t}for(let t=48;t<=57;t++)e[t-48]=t;for(let t=112;t<=123;t++)e["f"+(t-111)]=t;for(const t of"`-=[];',./\\")e[t]=t.charCodeAt(0);return e}(),c=Object.fromEntries(Object.entries(a).map(([e,t])=>[t,e.charAt(0).toUpperCase()+e.slice(1)]));function l(e){let t;if("string"==typeof e){if(t=a[e.toLowerCase()],!t)throw new i.a("keyboard-unknown-key",null,{key:e})}else t=e.keyCode+(e.altKey?a.alt:0)+(e.ctrlKey?a.ctrl:0)+(e.shiftKey?a.shift:0)+(e.metaKey?a.cmd:0);return t}function d(e){return"string"==typeof e&&(e=function(e){return e.split("+").map(e=>e.trim())}(e)),e.map(e=>"string"==typeof e?function(e){if(e.endsWith("!"))return l(e.slice(0,-1));const t=l(e);return s.a.isMac&&t==a.ctrl?a.cmd:t}(e):e).reduce((e,t)=>t+e,0)}function u(e){let t=d(e);return Object.entries(s.a.isMac?r:n).reduce((e,[o,i])=>(0!=(t&a[o])&&(t&=~a[o],e+=i),e),"")+(t?c[t]:"")}function h(e){return e==a.arrowright||e==a.arrowleft||e==a.arrowup||e==a.arrowdown}function p(e,t){const o="ltr"===t;switch(e){case a.arrowleft:return o?"left":"right";case a.arrowright:return o?"right":"left";case a.arrowup:return"up";case a.arrowdown:return"down"}}function g(e,t){const o=p(e,t);return"down"===o||"right"===o}},"./packages/ckeditor5-utils/src/keystrokehandler.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var i=o("./packages/ckeditor5-utils/src/dom/emittermixin.js"),s=o("./packages/ckeditor5-utils/src/keyboard.js");class r{constructor(){this._listener=Object.create(i.a)}listenTo(e){this._listener.listenTo(e,"keydown",(e,t)=>{this._listener.fire("_keydown:"+Object(s.a)(t),t)})}set(e,t,o={}){const i=Object(s.g)(e),r=o.priority;this._listener.listenTo(this._listener,"_keydown:"+i,(e,o)=>{t(o,()=>{o.preventDefault(),o.stopPropagation(),e.stop()}),e.return=!0},{priority:r})}press(e){return!!this._listener.fire("_keydown:"+Object(s.a)(e),e)}destroy(){this._listener.stopListening()}}},"./packages/ckeditor5-utils/src/language.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));const i=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function s(e){return i.includes(e)?"rtl":"ltr"}},"./packages/ckeditor5-utils/src/locale.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var i=o("./packages/ckeditor5-utils/src/toarray.js"),s=o("./packages/ckeditor5-utils/src/ckeditorerror.js");function r(e,t,o=1){if("number"!=typeof o)throw new s.a("translation-service-quantity-not-a-number",null,{quantity:o});const i=Object.keys(window.CKEDITOR_TRANSLATIONS).length;1===i&&(e=Object.keys(window.CKEDITOR_TRANSLATIONS)[0]);const r=t.id||t.string;if(0===i||!function(e,t){return!!window.CKEDITOR_TRANSLATIONS[e]&&!!window.CKEDITOR_TRANSLATIONS[e].dictionary[t]}(e,r))return 1!==o?t.plural:t.string;const n=window.CKEDITOR_TRANSLATIONS[e].dictionary,a=window.CKEDITOR_TRANSLATIONS[e].getPluralForm||(e=>1===e?0:1);if("string"==typeof n[r])return n[r];const c=Number(a(o));return n[r][c]}window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={});var n=o("./packages/ckeditor5-utils/src/language.js");class a{constructor(e={}){this.uiLanguage=e.uiLanguage||"en",this.contentLanguage=e.contentLanguage||this.uiLanguage,this.uiLanguageDirection=Object(n.a)(this.uiLanguage),this.contentLanguageDirection=Object(n.a)(this.contentLanguage),this.t=(e,t)=>this._t(e,t)}get language(){return console.warn("locale-deprecated-language-property: The Locale#language property has been deprecated and will be removed in the near future. Please use #uiLanguage and #contentLanguage properties instead."),this.uiLanguage}_t(e,t=[]){t=Object(i.a)(t),"string"==typeof e&&(e={string:e});const o=!!e.plural?t[0]:1;return function(e,t){return e.replace(/%(\d+)/g,(e,o)=>o<t.length?t[o]:e)}(r(this.uiLanguage,e,o),t)}}},"./packages/ckeditor5-utils/src/mix.js":function(e,t,o){"use strict";function i(e,...t){t.forEach(t=>{Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t)).forEach(o=>{if(o in e.prototype)return;const i=Object.getOwnPropertyDescriptor(t,o);i.enumerable=!1,Object.defineProperty(e.prototype,o,i)})})}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/observablemixin.js":function(e,t,o){"use strict";var i=o("./packages/ckeditor5-utils/src/emittermixin.js"),s=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=o("./node_modules/lodash-es/isObject.js"),n=o("./node_modules/lodash-es/assignIn.js");const a=Symbol("observableProperties"),c=Symbol("boundObservables"),l=Symbol("boundProperties"),d=Symbol("decoratedMethods"),u=Symbol("decoratedOriginal"),h={set(e,t){if(Object(r.a)(e))return void Object.keys(e).forEach(t=>{this.set(t,e[t])},this);p(this);const o=this[a];if(e in this&&!o.has(e))throw new s.a("observable-set-cannot-override",this);Object.defineProperty(this,e,{enumerable:!0,configurable:!0,get:()=>o.get(e),set(t){const i=o.get(e);let s=this.fire("set:"+e,e,t,i);void 0===s&&(s=t),i===s&&o.has(e)||(o.set(e,s),this.fire("change:"+e,e,s,i))}}),this[e]=t},bind(...e){if(!e.length||!m(e))throw new s.a("observable-bind-wrong-properties",this);if(new Set(e).size!==e.length)throw new s.a("observable-bind-duplicate-properties",this);p(this);const t=this[l];e.forEach(e=>{if(t.has(e))throw new s.a("observable-bind-rebind",this)});const o=new Map;return e.forEach(e=>{const i={property:e,to:[]};t.set(e,i),o.set(e,i)}),{to:g,toMany:f,_observable:this,_bindProperties:e,_to:[],_bindings:o}},unbind(...e){if(!this[a])return;const t=this[l],o=this[c];if(e.length){if(!m(e))throw new s.a("observable-unbind-wrong-properties",this);e.forEach(e=>{const i=t.get(e);if(!i)return;let s,r,n,a;i.to.forEach(e=>{s=e[0],r=e[1],n=o.get(s),a=n[r],a.delete(i),a.size||delete n[r],Object.keys(n).length||(o.delete(s),this.stopListening(s,"change"))}),t.delete(e)})}else o.forEach((e,t)=>{this.stopListening(t,"change")}),o.clear(),t.clear()},decorate(e){const t=this[e];if(!t)throw new s.a("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:e});this.on(e,(e,o)=>{e.return=t.apply(this,o)}),this[e]=function(...t){return this.fire(e,t)},this[e][u]=t,this[d]||(this[d]=[]),this[d].push(e)}};function p(e){e[a]||(Object.defineProperty(e,a,{value:new Map}),Object.defineProperty(e,c,{value:new Map}),Object.defineProperty(e,l,{value:new Map}))}function g(...e){const t=function(...e){if(!e.length)throw new s.a("observable-bind-to-parse-error",null);const t={to:[]};let o;"function"==typeof e[e.length-1]&&(t.callback=e.pop());return e.forEach(e=>{if("string"==typeof e)o.properties.push(e);else{if("object"!=typeof e)throw new s.a("observable-bind-to-parse-error",null);o={observable:e,properties:[]},t.to.push(o)}}),t}(...e),o=Array.from(this._bindings.keys()),i=o.length;if(!t.callback&&t.to.length>1)throw new s.a("observable-bind-to-no-callback",this);if(i>1&&t.callback)throw new s.a("observable-bind-to-extra-callback",this);var r;t.to.forEach(e=>{if(e.properties.length&&e.properties.length!==i)throw new s.a("observable-bind-to-properties-length",this);e.properties.length||(e.properties=this._bindProperties)}),this._to=t.to,t.callback&&(this._bindings.get(o[0]).callback=t.callback),r=this._observable,this._to.forEach(e=>{const t=r[c];let o;t.get(e.observable)||r.listenTo(e.observable,"change",(i,s)=>{o=t.get(e.observable)[s],o&&o.forEach(e=>{k(r,e.property)})})}),function(e){let t;e._bindings.forEach((o,i)=>{e._to.forEach(s=>{t=s.properties[o.callback?0:e._bindProperties.indexOf(i)],o.to.push([s.observable,t]),function(e,t,o,i){const s=e[c],r=s.get(o),n=r||{};n[i]||(n[i]=new Set);n[i].add(t),r||s.set(o,n)}(e._observable,o,s.observable,t)})})}(this),this._bindProperties.forEach(e=>{k(this._observable,e)})}function f(e,t,o){if(this._bindings.size>1)throw new s.a("observable-bind-to-many-not-one-binding",this);this.to(...function(e,t){const o=e.map(e=>[e,t]);return Array.prototype.concat.apply([],o)}(e,t),o)}function m(e){return e.every(e=>"string"==typeof e)}function k(e,t){const o=e[l].get(t);let i;o.callback?i=o.callback.apply(e,o.to.map(e=>e[0][e[1]])):(i=o.to[0],i=i[0][i[1]]),Object.prototype.hasOwnProperty.call(e,t)?e[t]=i:e.set(t,i)}Object(n.a)(h,i.c),h.stopListening=function(e,t,o){if(!e&&this[d]){for(const e of this[d])this[e]=this[e][u];delete this[d]}i.c.stopListening.call(this,e,t,o)},t.a=h},"./packages/ckeditor5-utils/src/priorities.js":function(e,t,o){"use strict";const i={get(e){return"number"!=typeof e?this[e]||this.normal:e},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};t.a=i},"./packages/ckeditor5-utils/src/toarray.js":function(e,t,o){"use strict";function i(e){return Array.isArray(e)?e:[e]}o.d(t,"a",(function(){return i}))},"./packages/ckeditor5-utils/src/tomap.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));var i=o("./packages/ckeditor5-utils/src/isiterable.js");function s(e){return Object(i.a)(e)?new Map(e):function(e){const t=new Map;for(const o in e)t.set(o,e[o]);return t}(e)}},"./packages/ckeditor5-utils/src/uid.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s}));const i=new Array(256).fill().map((e,t)=>("0"+t.toString(16)).slice(-2));function s(){const e=4294967296*Math.random()>>>0,t=4294967296*Math.random()>>>0,o=4294967296*Math.random()>>>0,s=4294967296*Math.random()>>>0;return"e"+i[e>>0&255]+i[e>>8&255]+i[e>>16&255]+i[e>>24&255]+i[t>>0&255]+i[t>>8&255]+i[t>>16&255]+i[t>>24&255]+i[o>>0&255]+i[o>>8&255]+i[o>>16&255]+i[o>>24&255]+i[s>>0&255]+i[s>>8&255]+i[s>>16&255]+i[s>>24&255]}},"./packages/ckeditor5-utils/src/version.js":function(e,t,o){"use strict";(function(e){var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js");t.a="31.0.0";const s="object"==typeof window?window:e;if(s.CKEDITOR_VERSION)throw new i.a("ckeditor-duplicated-modules",null);s.CKEDITOR_VERSION="31.0.0"}).call(this,o("./node_modules/webpack/buildin/global.js"))},"./packages/ckeditor5-widget/src/utils.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return p})),o.d(t,"b",(function(){return g})),o.d(t,"e",(function(){return f})),o.d(t,"h",(function(){return m})),o.d(t,"f",(function(){return _})),o.d(t,"g",(function(){return w})),o.d(t,"d",(function(){return v})),o.d(t,"i",(function(){return y})),o.d(t,"c",(function(){return j})),o.d(t,"j",(function(){return x}));var i=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),s=o("./packages/ckeditor5-utils/src/toarray.js"),r=o("./packages/ckeditor5-utils/src/emittermixin.js"),n=o("./packages/ckeditor5-utils/src/mix.js");class a{constructor(){this._stack=[]}add(e,t){const o=this._stack,i=o[0];this._insertDescriptor(e);const s=o[0];i===s||c(i,s)||this.fire("change:top",{oldDescriptor:i,newDescriptor:s,writer:t})}remove(e,t){const o=this._stack,i=o[0];this._removeDescriptor(e);const s=o[0];i===s||c(i,s)||this.fire("change:top",{oldDescriptor:i,newDescriptor:s,writer:t})}_insertDescriptor(e){const t=this._stack,o=t.findIndex(t=>t.id===e.id);if(c(e,t[o]))return;o>-1&&t.splice(o,1);let i=0;for(;t[i]&&l(t[i],e);)i++;t.splice(i,0,e)}_removeDescriptor(e){const t=this._stack,o=t.findIndex(t=>t.id===e);o>-1&&t.splice(o,1)}}function c(e,t){return e&&t&&e.priority==t.priority&&d(e.classes)==d(t.classes)}function l(e,t){return e.priority>t.priority||!(e.priority<t.priority)&&d(e.classes)>d(t.classes)}function d(e){return Array.isArray(e)?e.sort().join(","):e}Object(n.a)(a,r.c);var u=o("./packages/ckeditor5-widget/src/widgettypearound/utils.js"),h=o("./packages/ckeditor5-ui/src/icon/iconview.js");const p="ck-widget",g="ck-widget_selected";function f(e){return!!e.is("element")&&!!e.getCustomProperty("widget")}function m(e,t,o={}){if(!e.is("containerElement"))throw new i.a("widget-to-widget-wrong-element-type",null,{element:e});return t.setAttribute("contenteditable","false",e),t.addClass(p,e),t.setCustomProperty("widget",!0,e),e.getFillerOffset=P,o.label&&w(e,o.label,t),o.hasSelectionHandle&&function(e,t){const o=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(e){const t=this.toDomElement(e),o=new h.a;return o.set("content",'<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M4 0v1H1v3H0V.5A.5.5 0 0 1 .5 0H4zm8 0h3.5a.5.5 0 0 1 .5.5V4h-1V1h-3V0zM4 16H.5a.5.5 0 0 1-.5-.5V12h1v3h3v1zm8 0v-1h3v-3h1v3.5a.5.5 0 0 1-.5.5H12z"/><path fill-opacity=".256" d="M1 1h14v14H1z"/><g class="ck-icon__selected-indicator"><path d="M7 0h2v1H7V0zM0 7h1v2H0V7zm15 0h1v2h-1V7zm-8 8h2v1H7v-1z"/><path fill-opacity=".254" d="M1 1h14v14H1z"/></g></svg>'),o.render(),t.appendChild(o.element),t}));t.insert(t.createPositionAt(e,0),o),t.addClass(["ck-widget_with-selection-handle"],e)}(e,t),_(e,t),e}function k(e,t,o){if(t.classes&&o.addClass(Object(s.a)(t.classes),e),t.attributes)for(const i in t.attributes)o.setAttribute(i,t.attributes[i],e)}function b(e,t,o){if(t.classes&&o.removeClass(Object(s.a)(t.classes),e),t.attributes)for(const i in t.attributes)o.removeAttribute(i,e)}function _(e,t,o=k,i=b){const s=new a;s.on("change:top",(t,s)=>{s.oldDescriptor&&i(e,s.oldDescriptor,s.writer),s.newDescriptor&&o(e,s.newDescriptor,s.writer)}),t.setCustomProperty("addHighlight",(e,t,o)=>s.add(t,o),e),t.setCustomProperty("removeHighlight",(e,t,o)=>s.remove(t,o),e)}function w(e,t,o){o.setCustomProperty("widgetLabel",t,e)}function v(e){const t=e.getCustomProperty("widgetLabel");return t?"function"==typeof t?t():t:""}function y(e,t){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],e),t.setAttribute("contenteditable",e.isReadOnly?"false":"true",e),e.on("change:isReadOnly",(o,i,s)=>{t.setAttribute("contenteditable",s?"false":"true",e)}),e.on("change:isFocused",(o,i,s)=>{s?t.addClass("ck-editor__nested-editable_focused",e):t.removeClass("ck-editor__nested-editable_focused",e)}),_(e,t),e}function j(e,t){const o=e.getSelectedElement();if(o){const i=Object(u.e)(e);if(i)return t.createRange(t.createPositionAt(o,i));if(t.schema.isObject(o)&&!t.schema.isInline(o))return t.createRangeOn(o)}const i=e.getSelectedBlocks().next().value;if(i){if(i.isEmpty)return t.createRange(t.createPositionAt(i,0));const o=t.createPositionAfter(i);return e.focus.isTouching(o)?t.createRange(o):t.createRange(t.createPositionBefore(i))}return t.createRange(e.focus)}function x(e,t){return(o,i)=>{const{mapper:s,viewPosition:r}=i,n=s.findMappedViewAncestor(r);if(!t(n))return;const a=s.toModelElement(n);i.modelPosition=e.createPositionAt(a,r.isAtStart?"before":"after")}}function P(){return null}},"./packages/ckeditor5-widget/src/widget.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return g}));var i=o("./packages/ckeditor5-core/src/plugin.js"),s=o("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),r=o("./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js"),n=o("./packages/ckeditor5-typing/src/delete.js"),a=o("./packages/ckeditor5-utils/src/env.js"),c=o("./packages/ckeditor5-utils/src/keyboard.js"),l=o("./packages/ckeditor5-utils/src/dom/rect.js");function d(e){const t=e.model;return(o,i)=>{const s=i.keyCode==c.f.arrowup,r=i.keyCode==c.f.arrowdown,n=i.shiftKey,a=t.document.selection;if(!s&&!r)return;const d=r;if(n&&function(e,t){return!e.isCollapsed&&e.isBackward==t}(a,d))return;const p=function(e,t,o){const i=e.model;if(o){const e=t.isCollapsed?t.focus:t.getLastPosition(),o=u(i,e,"forward");if(!o)return null;const s=i.createRange(e,o),r=h(i.schema,s,"backward");return r?i.createRange(e,r):null}{const e=t.isCollapsed?t.focus:t.getFirstPosition(),o=u(i,e,"backward");if(!o)return null;const s=i.createRange(o,e),r=h(i.schema,s,"forward");return r?i.createRange(r,e):null}}(e,a,d);if(p){if(p.isCollapsed){if(a.isCollapsed)return;if(n)return}(p.isCollapsed||function(e,t,o){const i=e.model,s=e.view.domConverter;if(o){const e=i.createSelection(t.start);i.modifySelection(e),e.focus.isAtEnd||t.start.isEqual(e.focus)||(t=i.createRange(e.focus,t.end))}const r=e.mapper.toViewRange(t),n=s.viewRangeToDom(r),a=l.a.getDomRangeRects(n);let c;for(const e of a)if(void 0!==c){if(Math.round(e.top)>=c)return!1;c=Math.max(c,Math.round(e.bottom))}else c=Math.round(e.bottom);return!0}(e,p,d))&&(t.change(e=>{const o=d?p.end:p.start;if(n){const i=t.createSelection(a.anchor);i.setFocus(o),e.setSelection(i)}else e.setSelection(o)}),o.stop(),i.preventDefault(),i.stopPropagation())}}}function u(e,t,o){const i=e.schema,s=e.createRangeIn(t.root),r="forward"==o?"elementStart":"elementEnd";for(const{previousPosition:e,item:n,type:a}of s.getWalker({startPosition:t,direction:o})){if(i.isLimit(n)&&!i.isInline(n))return e;if(a==r&&i.isBlock(n))return null}return null}function h(e,t,o){const i="backward"==o?t.end:t.start;if(e.checkChild(i,"$text"))return i;for(const{nextPosition:i}of t.getWalker({direction:o}))if(e.checkChild(i,"$text"))return i;return null}var p=o("./packages/ckeditor5-widget/src/utils.js");o("./packages/ckeditor5-widget/theme/widget.css");class g extends i.a{static get pluginName(){return"Widget"}static get requires(){return[r.a,n.a]}init(){const e=this.editor,t=e.editing.view,o=t.document;this._previouslySelected=new Set,this.editor.editing.downcastDispatcher.on("selection",(t,o,i)=>{const s=i.writer,r=o.selection;if(r.isCollapsed)return;const n=r.getSelectedElement();if(!n)return;const a=e.editing.mapper.toViewElement(n);Object(p.e)(a)&&i.consumable.consume(r,"selection")&&s.setSelection(s.createRangeOn(a),{fake:!0,label:Object(p.d)(a)})}),this.editor.editing.downcastDispatcher.on("selection",(e,t,o)=>{this._clearPreviouslySelectedWidgets(o.writer);const i=o.writer,s=i.document.selection;let r=null;for(const e of s.getRanges())for(const t of e){const e=t.item;Object(p.e)(e)&&!f(e,r)&&(i.addClass(p.b,e),this._previouslySelected.add(e),r=e)}},{priority:"low"}),t.addObserver(s.a),this.listenTo(o,"mousedown",(...e)=>this._onMousedown(...e)),this.listenTo(o,"arrowKey",(...e)=>{this._handleSelectionChangeOnArrowKeyPress(...e)},{context:[p.e,"$text"]}),this.listenTo(o,"arrowKey",(...e)=>{this._preventDefaultOnArrowKeyPress(...e)},{context:"$root"}),this.listenTo(o,"arrowKey",d(this.editor.editing),{context:"$text"}),this.listenTo(o,"delete",(e,t)=>{this._handleDelete("forward"==t.direction)&&(t.preventDefault(),e.stop())},{context:"$root"})}_onMousedown(e,t){const o=this.editor,i=o.editing.view,s=i.document;let r=t.target;if(function(e){for(;e;){if(e.is("editableElement")&&!e.is("rootElement"))return!0;if(Object(p.e)(e))return!1;e=e.parent}return!1}(r)){if((a.a.isSafari||a.a.isGecko)&&t.domEvent.detail>=3){const e=o.editing.mapper,i=r.is("attributeElement")?r.findAncestor(e=>!e.is("attributeElement")):r,s=e.toModelElement(i);t.preventDefault(),this.editor.model.change(e=>{e.setSelection(s,"in")})}return}if(!Object(p.e)(r)&&(r=r.findAncestor(p.e),!r))return;a.a.isAndroid&&t.preventDefault(),s.isFocused||i.focus();const n=o.editing.mapper.toModelElement(r);this._setSelectionOverElement(n)}_handleSelectionChangeOnArrowKeyPress(e,t){const o=t.keyCode,i=this.editor.model,s=i.schema,r=i.document.selection,n=r.getSelectedElement(),a=Object(c.c)(o,this.editor.locale.contentLanguageDirection),l="down"==a||"right"==a,d="up"==a||"down"==a;if(n&&s.isObject(n)){const o=l?r.getLastPosition():r.getFirstPosition(),n=s.getNearestSelectionRange(o,l?"forward":"backward");return void(n&&(i.change(e=>{e.setSelection(n)}),t.preventDefault(),e.stop()))}if(!r.isCollapsed&&!t.shiftKey){const o=r.getFirstPosition(),n=r.getLastPosition(),a=o.nodeAfter,c=n.nodeBefore;return void((a&&s.isObject(a)||c&&s.isObject(c))&&(i.change(e=>{e.setSelection(l?n:o)}),t.preventDefault(),e.stop()))}if(!r.isCollapsed)return;const u=this._getObjectElementNextToSelection(l);if(u&&s.isObject(u)){if(s.isInline(u)&&d)return;this._setSelectionOverElement(u),t.preventDefault(),e.stop()}}_preventDefaultOnArrowKeyPress(e,t){const o=this.editor.model,i=o.schema,s=o.document.selection.getSelectedElement();s&&i.isObject(s)&&(t.preventDefault(),e.stop())}_handleDelete(e){if(this.editor.isReadOnly)return;const t=this.editor.model.document.selection;if(!t.isCollapsed)return;const o=this._getObjectElementNextToSelection(e);return o?(this.editor.model.change(e=>{let i=t.anchor.parent;for(;i.isEmpty;){const t=i;i=t.parent,e.remove(t)}this._setSelectionOverElement(o)}),!0):void 0}_setSelectionOverElement(e){this.editor.model.change(t=>{t.setSelection(t.createRangeOn(e))})}_getObjectElementNextToSelection(e){const t=this.editor.model,o=t.schema,i=t.document.selection,s=t.createSelection(i);if(t.modifySelection(s,{direction:e?"forward":"backward"}),s.isEqual(i))return null;const r=e?s.focus.nodeBefore:s.focus.nodeAfter;return r&&o.isObject(r)?r:null}_clearPreviouslySelectedWidgets(e){for(const t of this._previouslySelected)e.removeClass(p.b,t);this._previouslySelected.clear()}}function f(e,t){return!!t&&Array.from(e.getAncestors()).includes(t)}},"./packages/ckeditor5-widget/src/widgettypearound/utils.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return s})),o.d(t,"f",(function(){return r})),o.d(t,"b",(function(){return n})),o.d(t,"d",(function(){return a})),o.d(t,"c",(function(){return c})),o.d(t,"e",(function(){return l}));var i=o("./packages/ckeditor5-widget/src/utils.js");const s="widget-type-around";function r(e,t,o){return e&&Object(i.e)(e)&&!o.isInline(t)}function n(e){return e.closest(".ck-widget__type-around__button")}function a(e){return e.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function c(e,t){const o=e.closest(".ck-widget");return t.mapDomToView(o)}function l(e){return e.getAttribute(s)}},"./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js":function(e,t,o){"use strict";o.d(t,"a",(function(){return p}));var i=o("./packages/ckeditor5-core/src/plugin.js"),s=o("./packages/ckeditor5-ui/src/template.js"),r=o("./packages/ckeditor5-enter/src/enter.js"),n=o("./packages/ckeditor5-typing/src/delete.js"),a=o("./packages/ckeditor5-utils/src/keyboard.js"),c=o("./packages/ckeditor5-widget/src/widgettypearound/utils.js"),l=o("./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js"),d=o("./packages/ckeditor5-widget/src/utils.js");o("./packages/ckeditor5-widget/theme/widgettypearound.css");const u=["before","after"],h=(new DOMParser).parseFromString('<svg viewBox="0 0 10 8" xmlns="http://www.w3.org/2000/svg"><path d="M9.055.263v3.972h-6.77M1 4.216l2-2.038m-2 2 2 2.038"/></svg>',"image/svg+xml").firstChild;class p extends i.a{static get pluginName(){return"WidgetTypeAround"}static get requires(){return[r.a,n.a]}constructor(e){super(e),this._currentFakeCaretModelElement=null}init(){const e=this.editor,t=e.editing.view;this.on("change:isEnabled",(o,i,s)=>{t.change(e=>{for(const o of t.document.roots)s?e.removeClass("ck-widget__type-around_disabled",o):e.addClass("ck-widget__type-around_disabled",o)}),s||e.model.change(e=>{e.removeSelectionAttribute(c.a)})}),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableDeleteContentIntegration()}destroy(){this._currentFakeCaretModelElement=null}_insertParagraph(e,t){const o=this.editor,i=o.editing.view;o.execute("insertParagraph",{position:o.model.createPositionAt(e,t)}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(e,t,o,i){this.listenTo(e,t,(...e)=>{this.isEnabled&&o(...e)},i)}_insertParagraphAccordingToFakeCaretPosition(){const e=this.editor.model.document.selection,t=Object(c.e)(e);if(!t)return!1;const o=e.getSelectedElement();return this._insertParagraph(o,t),!0}_enableTypeAroundUIInjection(){const e=this.editor,t=e.model.schema,o=e.locale.t,i={before:o("Insert paragraph before block"),after:o("Insert paragraph after block")};e.editing.downcastDispatcher.on("insert",(e,o,r)=>{const n=r.mapper.toViewElement(o.item);Object(c.f)(n,o.item,t)&&function(e,t,o){const i=e.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(e){const o=this.toDomElement(e);return function(e,t){for(const o of u){const i=new s.a({tag:"div",attributes:{class:["ck","ck-widget__type-around__button","ck-widget__type-around__button_"+o],title:t[o]},children:[e.ownerDocument.importNode(h,!0)]});e.appendChild(i.render())}}(o,t),function(e){const t=new s.a({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});e.appendChild(t.render())}(o),o}));e.insert(e.createPositionAt(o,"end"),i)}(r.writer,i,n)},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const e=this.editor,t=e.model,o=t.document.selection,i=t.schema,s=e.editing.view;function r(e){return"ck-widget_type-around_show-fake-caret_"+e}this._listenToIfEnabled(s.document,"arrowKey",(e,t)=>{this._handleArrowKeyPress(e,t)},{context:[d.e,"$text"],priority:"high"}),this._listenToIfEnabled(o,"change:range",(t,o)=>{o.directChange&&e.model.change(e=>{e.removeSelectionAttribute(c.a)})}),this._listenToIfEnabled(t.document,"change:data",()=>{const t=o.getSelectedElement();if(t){const o=e.editing.mapper.toViewElement(t);if(Object(c.f)(o,t,i))return}e.model.change(e=>{e.removeSelectionAttribute(c.a)})}),this._listenToIfEnabled(e.editing.downcastDispatcher,"selection",(e,t,o)=>{const s=o.writer;if(this._currentFakeCaretModelElement){const e=o.mapper.toViewElement(this._currentFakeCaretModelElement);e&&(s.removeClass(u.map(r),e),this._currentFakeCaretModelElement=null)}const n=t.selection.getSelectedElement();if(!n)return;const a=o.mapper.toViewElement(n);if(!Object(c.f)(a,n,i))return;const l=Object(c.e)(t.selection);l&&(s.addClass(r(l),a),this._currentFakeCaretModelElement=n)}),this._listenToIfEnabled(e.ui.focusTracker,"change:isFocused",(t,o,i)=>{i||e.model.change(e=>{e.removeSelectionAttribute(c.a)})})}_handleArrowKeyPress(e,t){const o=this.editor,i=o.model,s=i.document.selection,r=i.schema,n=o.editing.view,l=t.keyCode,d=Object(a.e)(l,o.locale.contentLanguageDirection),u=n.document.selection.getSelectedElement(),h=o.editing.mapper.toModelElement(u);let p;Object(c.f)(u,h,r)?p=this._handleArrowKeyPressOnSelectedWidget(d):s.isCollapsed?p=this._handleArrowKeyPressWhenSelectionNextToAWidget(d):t.shiftKey||(p=this._handleArrowKeyPressWhenNonCollapsedSelection(d)),p&&(t.preventDefault(),e.stop())}_handleArrowKeyPressOnSelectedWidget(e){const t=this.editor.model,o=t.document.selection,i=Object(c.e)(o);return t.change(t=>{if(!i)return t.setSelectionAttribute(c.a,e?"after":"before"),!0;if(!(i===(e?"after":"before")))return t.removeSelectionAttribute(c.a),!0;return!1})}_handleArrowKeyPressWhenSelectionNextToAWidget(e){const t=this.editor,o=t.model,i=o.schema,s=t.plugins.get("Widget"),r=s._getObjectElementNextToSelection(e),n=t.editing.mapper.toViewElement(r);return!!Object(c.f)(n,r,i)&&(o.change(t=>{s._setSelectionOverElement(r),t.setSelectionAttribute(c.a,e?"before":"after")}),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(e){const t=this.editor,o=t.model,i=o.schema,s=t.editing.mapper,r=o.document.selection,n=e?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter,a=s.toViewElement(n);return!!Object(c.f)(a,n,i)&&(o.change(t=>{t.setSelection(n,"on"),t.setSelectionAttribute(c.a,e?"after":"before")}),!0)}_enableInsertingParagraphsOnButtonClick(){const e=this.editor,t=e.editing.view;this._listenToIfEnabled(t.document,"mousedown",(o,i)=>{const s=Object(c.b)(i.domTarget);if(!s)return;const r=Object(c.d)(s),n=Object(c.c)(s,t.domConverter),a=e.editing.mapper.toModelElement(n);this._insertParagraph(a,r),i.preventDefault(),o.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const e=this.editor,t=e.model.document.selection,o=e.editing.view;this._listenToIfEnabled(o.document,"enter",(o,i)=>{if("atTarget"!=o.eventPhase)return;const s=t.getSelectedElement(),r=e.editing.mapper.toViewElement(s),n=e.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:Object(c.f)(r,s,n)&&(this._insertParagraph(s,i.isSoft?"before":"after"),a=!0),a&&(i.preventDefault(),o.stop())},{context:d.e})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view,t=[a.f.enter,a.f.delete,a.f.backspace];this._listenToIfEnabled(e.document,"keydown",(e,o)=>{t.includes(o.keyCode)||Object(l.b)(o)||this._insertParagraphAccordingToFakeCaretPosition()},{priority:"high"})}_enableDeleteIntegration(){const e=this.editor,t=e.editing.view,o=e.model,i=o.schema;this._listenToIfEnabled(t.document,"delete",(t,s)=>{if("atTarget"!=t.eventPhase)return;const r=Object(c.e)(o.document.selection);if(!r)return;const n=s.direction,a=o.document.selection.getSelectedElement(),l="forward"==n;if("before"===r===l)e.execute("delete",{selection:o.createSelection(a,"on")});else{const t=i.getNearestSelectionRange(o.createPositionAt(a,r),n);if(t)if(t.isCollapsed){const s=o.createSelection(t.start);if(o.modifySelection(s,{direction:n}),s.focus.isEqual(t.start)){const e=function(e,t){let o=t;for(const i of t.getAncestors({parentFirst:!0})){if(i.childCount>1||e.isLimit(i))break;o=i}return o}(i,t.start.parent);o.deleteContent(o.createSelection(e,"on"),{doNotAutoparagraph:!0})}else o.change(o=>{o.setSelection(t),e.execute(l?"deleteForward":"delete")})}else o.change(o=>{o.setSelection(t),e.execute(l?"deleteForward":"delete")})}s.preventDefault(),t.stop()},{context:d.e})}_enableInsertContentIntegration(){const e=this.editor,t=this.editor.model,o=t.document.selection;this._listenToIfEnabled(e.model,"insertContent",(e,[i,s])=>{if(s&&!s.is("documentSelection"))return;const r=Object(c.e)(o);return r?(e.stop(),t.change(e=>{const s=o.getSelectedElement(),n=t.createPositionAt(s,r),a=e.createSelection(n),c=t.insertContent(i,a);return e.setSelection(a),c})):void 0},{priority:"high"})}_enableDeleteContentIntegration(){const e=this.editor,t=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"deleteContent",(e,[o])=>{if(o&&!o.is("documentSelection"))return;Object(c.e)(t)&&e.stop()},{priority:"high"})}}},"./packages/ckeditor5-widget/theme/widget.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-widget/theme/widget.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-widget/theme/widgetresize.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-widget/theme/widgetresize.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./packages/ckeditor5-widget/theme/widgettypearound.css":function(e,t,o){var i=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),s=o("./node_modules/postcss-loader/src/index.js?!./packages/ckeditor5-widget/theme/widgettypearound.css");"string"==typeof(s=s.__esModule?s.default:s)&&(s=[[e.i,s,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(s,r);e.exports=s.locals||{}},"./src/clipboard.js":function(e,t,o){"use strict";o.r(t),o.d(t,"Clipboard",(function(){return j})),o.d(t,"ClipboardPipeline",(function(){return l})),o.d(t,"DragDrop",(function(){return k})),o.d(t,"PastePlainText",(function(){return y}));var i=o("./packages/ckeditor5-core/src/plugin.js"),s=o("./packages/ckeditor5-utils/src/eventinfo.js"),r=o("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js");class n{constructor(e){this.files=function(e){const t=Array.from(e.files||[]),o=Array.from(e.items||[]);if(t.length)return t;return o.filter(e=>"file"===e.kind).map(e=>e.getAsFile())}(e),this._native=e}get types(){return this._native.types}getData(e){return this._native.getData(e)}setData(e,t){this._native.setData(e,t)}set effectAllowed(e){this._native.effectAllowed=e}get effectAllowed(){return this._native.effectAllowed}set dropEffect(e){this._native.dropEffect=e}get dropEffect(){return this._native.dropEffect}get isCanceled(){return"none"==this._native.dropEffect||!!this._native.mozUserCancelled}}class a extends r.a{constructor(e){super(e);const t=this.document;function o(e){return(o,i)=>{i.preventDefault();const r=i.dropRange?[i.dropRange]:null,n=new s.a(t,e);t.fire(n,{dataTransfer:i.dataTransfer,method:o.name,targetRanges:r,target:i.target}),n.stop.called&&i.stopPropagation()}}this.domEventType=["paste","copy","cut","drop","dragover","dragstart","dragend","dragenter","dragleave"],this.listenTo(t,"paste",o("clipboardInput"),{priority:"low"}),this.listenTo(t,"drop",o("clipboardInput"),{priority:"low"}),this.listenTo(t,"dragover",o("dragging"),{priority:"low"})}onDomEvent(e){const t={dataTransfer:new n(e.clipboardData?e.clipboardData:e.dataTransfer)};"drop"!=e.type&&"dragover"!=e.type||(t.dropRange=function(e,t){const o=t.target.ownerDocument,i=t.clientX,s=t.clientY;let r;o.caretRangeFromPoint&&o.caretRangeFromPoint(i,s)?r=o.caretRangeFromPoint(i,s):t.rangeParent&&(r=o.createRange(),r.setStart(t.rangeParent,t.rangeOffset),r.collapse(!0));if(r)return e.domConverter.domRangeToView(r);return null}(this.view,e)),this.fire(e.type,e,t)}}const c=["figcaption","li"];class l extends i.a{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(a),this._setupPasteDrop(),this._setupCopyCut()}_setupPasteDrop(){const e=this.editor,t=e.model,o=e.editing.view,i=o.document;this.listenTo(i,"clipboardInput",t=>{e.isReadOnly&&t.stop()},{priority:"highest"}),this.listenTo(i,"clipboardInput",(e,t)=>{const i=t.dataTransfer;let r=t.content||"";var n;r||(i.getData("text/html")?r=function(e){return e.replace(/<span(?: class="Apple-converted-space"|)>(\s+)<\/span>/g,(e,t)=>1==t.length?" ":t).replace(/<!--[\s\S]*?-->/g,"")}(i.getData("text/html")):i.getData("text/plain")&&(((n=(n=i.getData("text/plain")).replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r?\n\r?\n/g,"</p><p>").replace(/\r?\n/g,"<br>").replace(/^\s/,"&nbsp;").replace(/\s$/,"&nbsp;").replace(/\s\s/g," &nbsp;")).includes("</p><p>")||n.includes("<br>"))&&(n=`<p>${n}</p>`),r=n),r=this.editor.data.htmlProcessor.toView(r));const a=new s.a(this,"inputTransformation");this.fire(a,{content:r,dataTransfer:i,targetRanges:t.targetRanges,method:t.method}),a.stop.called&&e.stop(),o.scrollToTheSelection()},{priority:"low"}),this.listenTo(this,"inputTransformation",(e,o)=>{if(o.content.isEmpty)return;const i=this.editor.data.toModel(o.content,"$clipboardHolder");0!=i.childCount&&(e.stop(),t.change(()=>{this.fire("contentInsertion",{content:i,method:o.method,dataTransfer:o.dataTransfer,targetRanges:o.targetRanges})}))},{priority:"low"}),this.listenTo(this,"contentInsertion",(e,o)=>{o.resultRange=t.insertContent(o.content)},{priority:"low"})}_setupCopyCut(){const e=this.editor,t=e.model.document,o=e.editing.view.document;function i(i,s){const r=s.dataTransfer;s.preventDefault();const n=e.data.toView(e.model.getSelectedContent(t.selection));o.fire("clipboardOutput",{dataTransfer:r,content:n,method:i.name})}this.listenTo(o,"copy",i,{priority:"low"}),this.listenTo(o,"cut",(t,o)=>{e.isReadOnly?o.preventDefault():i(t,o)},{priority:"low"}),this.listenTo(o,"clipboardOutput",(o,i)=>{i.content.isEmpty||(i.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(i.content)),i.dataTransfer.setData("text/plain",function e(t){let o="";if(t.is("$text")||t.is("$textProxy"))o=t.data;else if(t.is("element","img")&&t.hasAttribute("alt"))o=t.getAttribute("alt");else if(t.is("element","br"))o="\n";else{let i=null;for(const s of t.getChildren()){const t=e(s);i&&(i.is("containerElement")||s.is("containerElement"))&&(c.includes(i.name)||c.includes(s.name)?o+="\n":o+="\n\n"),o+=t,i=s}}return o}(i.content))),"cut"==i.method&&e.model.deleteContent(t.selection)},{priority:"low"})}}var d=o("./packages/ckeditor5-engine/src/model/liverange.js"),u=o("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),h=o("./packages/ckeditor5-widget/src/widget.js"),p=o("./packages/ckeditor5-utils/src/uid.js"),g=o("./packages/ckeditor5-utils/src/env.js"),f=o("./packages/ckeditor5-widget/src/utils.js"),m=o("./node_modules/lodash-es/throttle.js");o("./packages/ckeditor5-clipboard/theme/clipboard.css");class k extends i.a{static get pluginName(){return"DragDrop"}static get requires(){return[l,h.a]}init(){const e=this.editor,t=e.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,this._updateDropMarkerThrottled=Object(m.a)(e=>this._updateDropMarker(e),40),this._removeDropMarkerDelayed=w(()=>this._removeDropMarker(),40),this._clearDraggableAttributesDelayed=w(()=>this._clearDraggableAttributes(),40),t.addObserver(a),t.addObserver(u.a),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDropMarker(),this._setupDraggableAttributeHandling(),this.listenTo(e,"change:isReadOnly",(e,t,o)=>{o?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}),this.on("change:isEnabled",(e,t,o)=>{o||this._finalizeDragging(!1)}),g.a.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._updateDropMarkerThrottled.cancel(),this._removeDropMarkerDelayed.cancel(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const e=this.editor,t=e.model,o=t.document,i=e.editing.view,s=i.document;this.listenTo(s,"dragstart",(i,r)=>{const n=o.selection;if(r.target&&r.target.is("editableElement"))return void r.preventDefault();const a=r.target?v(r.target):null;if(a){const o=e.editing.mapper.toModelElement(a);this._draggedRange=d.a.fromRange(t.createRangeOn(o)),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop")}else if(!s.selection.isCollapsed){const e=s.selection.getSelectedElement();e&&Object(f.e)(e)||(this._draggedRange=d.a.fromRange(n.getFirstRange()))}if(!this._draggedRange)return void r.preventDefault();this._draggingUid=Object(p.a)(),r.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",r.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=t.createSelection(this._draggedRange.toRange()),l=e.data.toView(t.getSelectedContent(c));s.fire("clipboardOutput",{dataTransfer:r.dataTransfer,content:l,method:i.name}),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")},{priority:"low"}),this.listenTo(s,"dragend",(e,t)=>{this._finalizeDragging(!t.dataTransfer.isCanceled&&"move"==t.dataTransfer.dropEffect)},{priority:"low"}),this.listenTo(s,"dragenter",()=>{this.isEnabled&&i.focus()}),this.listenTo(s,"dragleave",()=>{this._removeDropMarkerDelayed()}),this.listenTo(s,"dragging",(t,o)=>{if(!this.isEnabled)return void(o.dataTransfer.dropEffect="none");this._removeDropMarkerDelayed.cancel();const i=b(e,o.targetRanges,o.target);this._draggedRange||(o.dataTransfer.dropEffect="copy"),g.a.isGecko||("copy"==o.dataTransfer.effectAllowed?o.dataTransfer.dropEffect="copy":["all","copyMove"].includes(o.dataTransfer.effectAllowed)&&(o.dataTransfer.dropEffect="move")),i&&this._updateDropMarkerThrottled(i)},{priority:"low"})}_setupClipboardInputIntegration(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"clipboardInput",(t,o)=>{if("drop"!=o.method)return;const i=b(e,o.targetRanges,o.target);if(this._removeDropMarker(),!i)return this._finalizeDragging(!1),void t.stop();this._draggedRange&&this._draggingUid!=o.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="");if("move"==_(o.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(i,!0))return this._finalizeDragging(!1),void t.stop();o.targetRanges=[e.editing.mapper.toViewRange(i)]},{priority:"high"})}_setupContentInsertionIntegration(){const e=this.editor.plugins.get(l);e.on("contentInsertion",(e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const o=t.targetRanges.map(e=>this.editor.editing.mapper.toModelRange(e));this.editor.model.change(e=>e.setSelection(o))},{priority:"high"}),e.on("contentInsertion",(e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const o="move"==_(t.dataTransfer),i=!t.resultRange||!t.resultRange.isCollapsed;this._finalizeDragging(i&&o)},{priority:"lowest"})}_setupDraggableAttributeHandling(){const e=this.editor,t=e.editing.view,o=t.document;this.listenTo(o,"mousedown",(i,s)=>{if(g.a.isAndroid||!s)return;this._clearDraggableAttributesDelayed.cancel();let r=v(s.target);if(g.a.isBlink&&!e.isReadOnly&&!r&&!o.selection.isCollapsed){const e=o.selection.getSelectedElement();e&&Object(f.e)(e)||(r=o.selection.editableElement)}r&&(t.change(e=>{e.setAttribute("draggable","true",r)}),this._draggableElement=e.editing.mapper.toModelElement(r))}),this.listenTo(o,"mouseup",()=>{g.a.isAndroid||this._clearDraggableAttributesDelayed()})}_clearDraggableAttributes(){const e=this.editor.editing;e.view.change(t=>{this._draggableElement&&"$graveyard"!=this._draggableElement.root.rootName&&t.removeAttribute("draggable",e.mapper.toViewElement(this._draggableElement)),this._draggableElement=null})}_setupDropMarker(){const e=this.editor;e.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),e.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(t,{writer:o})=>{if(e.model.schema.checkChild(t.markerRange.start,"$text"))return o.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(e){const t=this.toDomElement(e);return t.innerHTML="&NoBreak;<span></span>&NoBreak;",t}))}})}_updateDropMarker(e){const t=this.editor,o=t.model.markers;t.model.change(t=>{o.has("drop-target")?o.get("drop-target").getRange().isEqual(e)||t.updateMarker("drop-target",{range:e}):t.addMarker("drop-target",{range:e,usingOperation:!1,affectsData:!1})})}_removeDropMarker(){const e=this.editor.model;this._removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),e.markers.has("drop-target")&&e.change(e=>{e.removeMarker("drop-target")})}_finalizeDragging(e){const t=this.editor,o=t.model;this._removeDropMarker(),this._clearDraggableAttributes(),t.plugins.has("WidgetToolbarRepository")&&t.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._draggedRange&&(e&&this.isEnabled&&o.deleteContent(o.createSelection(this._draggedRange),{doNotAutoparagraph:!0}),this._draggedRange.detach(),this._draggedRange=null)}}function b(e,t,o){const i=e.model,s=e.editing.mapper;let r=null;const n=t?t[0].start:null;if(o.is("uiElement")&&(o=o.parent),r=function(e,t){const o=e.model,i=e.editing.mapper;if(Object(f.e)(t))return o.createRangeOn(i.toModelElement(t));if(!t.is("editableElement")){const e=t.findAncestor(e=>Object(f.e)(e)||e.is("editableElement"));if(Object(f.e)(e))return o.createRangeOn(i.toModelElement(e))}return null}(e,o),r)return r;const a=function(e,t){const o=e.editing.mapper,i=e.editing.view,s=o.toModelElement(t);if(s)return s;const r=i.createPositionBefore(t),n=o.findMappedViewAncestor(r);return o.toModelElement(n)}(e,o),c=n?s.toModelPosition(n):null;return c?(r=function(e,t,o){const i=e.model;if(!i.schema.checkChild(o,"$block"))return null;const s=i.createPositionAt(o,0),r=t.path.slice(0,s.path.length),n=i.createPositionFromPath(t.root,r).nodeAfter;if(n&&i.schema.isObject(n))return i.createRangeOn(n);return null}(e,c,a),r||(r=i.schema.getNearestSelectionRange(c,g.a.isGecko?"forward":"backward"),r||function(e,t){const o=e.model;for(;t;){if(o.schema.isObject(t))return o.createRangeOn(t);t=t.parent}}(e,c.parent))):function(e,t){const o=e.model,i=o.schema,s=o.createPositionAt(t,0);return i.getNearestSelectionRange(s,"forward")}(e,a)}function _(e){return g.a.isGecko?e.dropEffect:["all","copyMove"].includes(e.effectAllowed)?"move":"copy"}function w(e,t){let o;function i(...s){i.cancel(),o=setTimeout(()=>e(...s),t)}return i.cancel=()=>{clearTimeout(o)},i}function v(e){if(e.is("editableElement"))return null;if(e.hasClass("ck-widget__selection-handle"))return e.findAncestor(f.e);if(Object(f.e)(e))return e;const t=e.findAncestor(e=>Object(f.e)(e)||e.is("editableElement"));return Object(f.e)(t)?t:null}class y extends i.a{static get pluginName(){return"PastePlainText"}static get requires(){return[l]}init(){const e=this.editor,t=e.model,o=e.editing.view,i=o.document,s=t.document.selection;let r=!1;o.addObserver(a),this.listenTo(i,"keydown",(e,t)=>{r=t.shiftKey}),e.plugins.get(l).on("contentInsertion",(e,o)=>{(r||function(e,t){if(e.childCount>1)return!1;const o=e.getChild(0);if(t.isObject(o))return!1;return 0==[...o.getAttributeKeys()].length}(o.content,t.schema))&&t.change(e=>{const i=Array.from(s.getAttributes()).filter(([e])=>t.schema.getAttributeProperties(e).isFormatting);s.isCollapsed||t.deleteContent(s,{doNotAutoparagraph:!0}),i.push(...s.getAttributes());const r=e.createRangeIn(o.content);for(const t of r.getItems())t.is("$textProxy")&&e.setAttributes(i,t)})})}}class j extends i.a{static get pluginName(){return"Clipboard"}static get requires(){return[l,k,y]}}},"./src/core.js":function(e,t,o){"use strict";o.r(t),o.d(t,"Plugin",(function(){return i.a})),o.d(t,"Command",(function(){return s.a})),o.d(t,"MultiCommand",(function(){return r})),o.d(t,"Context",(function(){return b})),o.d(t,"ContextPlugin",(function(){return _.a})),o.d(t,"Editor",(function(){return C})),o.d(t,"EditorUI",(function(){return M})),o.d(t,"attachToForm",(function(){return I})),o.d(t,"DataApiMixin",(function(){return z})),o.d(t,"ElementApiMixin",(function(){return D})),o.d(t,"secureSourceElement",(function(){return B})),o.d(t,"PendingActions",(function(){return F.a})),o.d(t,"icons",(function(){return H}));var i=o("./packages/ckeditor5-core/src/plugin.js"),s=o("./packages/ckeditor5-core/src/command.js");class r extends s.a{constructor(e){super(e),this._childCommands=[]}refresh(){}execute(...e){const t=this._getFirstEnabledCommand();return null!=t&&t.execute(e)}registerChildCommand(e){this._childCommands.push(e),e.on("change:isEnabled",()=>this._checkEnabled()),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){return this._childCommands.find(e=>e.isEnabled)}}var n=o("./node_modules/lodash-es/isPlainObject.js"),a=o("./node_modules/lodash-es/cloneDeepWith.js"),c=o("./node_modules/lodash-es/isElement.js");class l{constructor(e,t){this._config={},t&&this.define(d(t)),e&&this._setObjectToTarget(this._config,e)}set(e,t){this._setToTarget(this._config,e,t)}define(e,t){this._setToTarget(this._config,e,t,!0)}get(e){return this._getFromSource(this._config,e)}*names(){for(const e of Object.keys(this._config))yield e}_setToTarget(e,t,o,i=!1){if(Object(n.a)(t))return void this._setObjectToTarget(e,t,i);const s=t.split(".");t=s.pop();for(const t of s)Object(n.a)(e[t])||(e[t]={}),e=e[t];if(Object(n.a)(o))return Object(n.a)(e[t])||(e[t]={}),e=e[t],void this._setObjectToTarget(e,o,i);i&&void 0!==e[t]||(e[t]=o)}_getFromSource(e,t){const o=t.split(".");t=o.pop();for(const t of o){if(!Object(n.a)(e[t])){e=null;break}e=e[t]}return e?d(e[t]):void 0}_setObjectToTarget(e,t,o){Object.keys(t).forEach(i=>{this._setToTarget(e,i,t[i],o)})}}function d(e){return Object(a.a)(e,u)}function u(e){return Object(c.a)(e)?e:void 0}var h=o("./packages/ckeditor5-utils/src/collection.js"),p=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),g=o("./packages/ckeditor5-utils/src/emittermixin.js"),f=o("./packages/ckeditor5-utils/src/mix.js");class m{constructor(e,t=[],o=[]){this._context=e,this._plugins=new Map,this._availablePlugins=new Map;for(const e of t)e.pluginName&&this._availablePlugins.set(e.pluginName,e);this._contextPlugins=new Map;for(const[e,t]of o)this._contextPlugins.set(e,t),this._contextPlugins.set(t,e),e.pluginName&&this._availablePlugins.set(e.pluginName,e)}*[Symbol.iterator](){for(const e of this._plugins)"function"==typeof e[0]&&(yield e)}get(e){const t=this._plugins.get(e);if(!t){let t=e;throw"function"==typeof e&&(t=e.pluginName||e.name),new p.a("plugincollection-plugin-not-loaded",this._context,{plugin:t})}return t}has(e){return this._plugins.has(e)}init(e,t=[],o=[]){const i=this,s=this._context;!function e(t,o=new Set){t.forEach(t=>{a(t)&&(o.has(t)||(o.add(t),t.pluginName&&!i._availablePlugins.has(t.pluginName)&&i._availablePlugins.set(t.pluginName,t),t.requires&&e(t.requires,o)))})}(e),u(e);const r=[...function e(t,o=new Set){return t.map(e=>a(e)?e:i._availablePlugins.get(e)).reduce((t,i)=>o.has(i)?t:(o.add(i),i.requires&&(u(i.requires,i),e(i.requires,o).forEach(e=>t.add(e))),t.add(i)),new Set)}(e.filter(e=>!l(e,t)))];!function(e,t){for(const o of t){if("function"!=typeof o)throw new p.a("plugincollection-replace-plugin-invalid-type",null,{pluginItem:o});const t=o.pluginName;if(!t)throw new p.a("plugincollection-replace-plugin-missing-name",null,{pluginItem:o});if(o.requires&&o.requires.length)throw new p.a("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:t});const s=i._availablePlugins.get(t);if(!s)throw new p.a("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:t});const r=e.indexOf(s);if(-1===r){if(i._contextPlugins.has(s))return;throw new p.a("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:t})}if(s.requires&&s.requires.length)throw new p.a("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:t});e.splice(r,1,o),i._availablePlugins.set(t,o)}}(r,o);const n=function(e){return e.map(e=>{const t=i._contextPlugins.get(e)||new e(s);return i._add(e,t),t})}(r);return h(n,"init").then(()=>h(n,"afterInit")).then(()=>n);function a(e){return"function"==typeof e}function c(e){return a(e)&&e.isContextPlugin}function l(e,t){return t.some(t=>t===e||(d(e)===t||d(t)===e))}function d(e){return a(e)?e.pluginName||e.name:e}function u(e,o=null){e.map(e=>a(e)?e:i._availablePlugins.get(e)||e).forEach(e=>{!function(e,t){if(a(e))return;if(t)throw new p.a("plugincollection-soft-required",s,{missingPlugin:e,requiredBy:d(t)});throw new p.a("plugincollection-plugin-not-found",s,{plugin:e})}(e,o),function(e,t){if(!c(t))return;if(c(e))return;throw new p.a("plugincollection-context-required",s,{plugin:d(e),requiredBy:d(t)})}(e,o),function(e,o){if(!o)return;if(!l(e,t))return;throw new p.a("plugincollection-required",s,{plugin:d(e),requiredBy:d(o)})}(e,o)})}function h(e,t){return e.reduce((e,o)=>o[t]?i._contextPlugins.has(o)?e:e.then(o[t].bind(o)):e,Promise.resolve())}}destroy(){const e=[];for(const[,t]of this)"function"!=typeof t.destroy||this._contextPlugins.has(t)||e.push(t.destroy());return Promise.all(e)}_add(e,t){this._plugins.set(e,t);const o=e.pluginName;if(o){if(this._plugins.has(o))throw new p.a("plugincollection-plugin-name-conflict",null,{pluginName:o,plugin1:this._plugins.get(o).constructor,plugin2:e});this._plugins.set(o,t)}}}Object(f.a)(m,g.c);var k=o("./packages/ckeditor5-utils/src/locale.js");class b{constructor(e){this.config=new l(e,this.constructor.defaultConfig);const t=this.constructor.builtinPlugins;this.config.define("plugins",t),this.plugins=new m(this,t);const o=this.config.get("language")||{};this.locale=new k.a({uiLanguage:"string"==typeof o?o:o.ui,contentLanguage:this.config.get("language.content")}),this.t=this.locale.t,this.editors=new h.a,this._contextOwner=null}initPlugins(){const e=this.config.get("plugins")||[],t=this.config.get("substitutePlugins")||[];for(const o of e.concat(t)){if("function"!=typeof o)throw new p.a("context-initplugins-constructor-only",null,{Plugin:o});if(!0!==o.isContextPlugin)throw new p.a("context-initplugins-invalid-plugin",null,{Plugin:o})}return this.plugins.init(e,[],t)}destroy(){return Promise.all(Array.from(this.editors,e=>e.destroy())).then(()=>this.plugins.destroy())}_addEditor(e,t){if(this._contextOwner)throw new p.a("context-addeditor-private-context");this.editors.add(e),t&&(this._contextOwner=e)}_removeEditor(e){return this.editors.has(e)&&this.editors.remove(e),this._contextOwner===e?this.destroy():Promise.resolve()}_getEditorConfig(){const e={};for(const t of this.config.names())["plugins","removePlugins","extraPlugins"].includes(t)||(e[t]=this.config.get(t));return e}static create(e){return new Promise(t=>{const o=new this(e);t(o.initPlugins().then(()=>o))})}}var _=o("./packages/ckeditor5-core/src/contextplugin.js"),w=o("./packages/ckeditor5-engine/src/controller/editingcontroller.js");class v{constructor(){this._commands=new Map}add(e,t){this._commands.set(e,t)}get(e){return this._commands.get(e)}execute(e,...t){const o=this.get(e);if(!o)throw new p.a("commandcollection-command-not-found",this,{commandName:e});return o.execute(...t)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const e of this.commands())e.destroy()}}var y=o("./packages/ckeditor5-engine/src/controller/datacontroller.js"),j=o("./packages/ckeditor5-engine/src/conversion/conversion.js"),x=o("./packages/ckeditor5-engine/src/model/model.js"),P=o("./packages/ckeditor5-utils/src/keystrokehandler.js");class O extends P.a{constructor(e){super(),this.editor=e}set(e,t,o={}){if("string"==typeof t){const e=t;t=(t,o)=>{this.editor.execute(e),o()}}super.set(e,t,o)}}var A=o("./packages/ckeditor5-utils/src/observablemixin.js"),T=o("./packages/ckeditor5-engine/src/view/stylesmap.js");class C{constructor(e={}){this._context=e.context||new b({language:e.language}),this._context._addEditor(this,!e.context);const t=Array.from(this.constructor.builtinPlugins||[]);this.config=new l(e,this.constructor.defaultConfig),this.config.define("plugins",t),this.config.define(this._context._getEditorConfig()),this.plugins=new m(this,t,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this.commands=new v,this.set("state","initializing"),this.once("ready",()=>this.state="ready",{priority:"high"}),this.once("destroy",()=>this.state="destroyed",{priority:"high"}),this.set("isReadOnly",!1),this.model=new x.a;const o=new T.a;this.data=new y.a(this.model,o),this.editing=new w.a(this.model,o),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new j.a([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher),this.conversion.addAlias("dataDowncast",this.data.downcastDispatcher),this.conversion.addAlias("editingDowncast",this.editing.downcastDispatcher),this.keystrokes=new O(this),this.keystrokes.listenTo(this.editing.view.document)}initPlugins(){const e=this.config,t=e.get("plugins"),o=e.get("removePlugins")||[],i=e.get("extraPlugins")||[],s=e.get("substitutePlugins")||[];return this.plugins.init(t.concat(i),o,s)}destroy(){let e=Promise.resolve();return"initializing"==this.state&&(e=new Promise(e=>this.once("ready",e))),e.then(()=>{this.fire("destroy"),this.stopListening(),this.commands.destroy()}).then(()=>this.plugins.destroy()).then(()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()}).then(()=>this._context._removeEditor(this))}execute(...e){try{return this.commands.execute(...e)}catch(e){p.a.rethrowUnexpectedError(e,this)}}focus(){this.editing.view.focus()}}Object(f.a)(C,A.a);class E{constructor(e){this.editor=e,this._components=new Map}*names(){for(const e of this._components.values())yield e.originalName}add(e,t){this._components.set(S(e),{callback:t,originalName:e})}create(e){if(!this.has(e))throw new p.a("componentfactory-item-missing",this,{name:e});return this._components.get(S(e)).callback(this.editor.locale)}has(e){return this._components.has(S(e))}}function S(e){return String(e).toLowerCase()}var R=o("./packages/ckeditor5-utils/src/focustracker.js");class M{constructor(e){this.editor=e,this.componentFactory=new E(e),this.focusTracker=new R.a,this.set("viewportOffset",this._readViewportOffsetFromConfig()),this._editableElementsMap=new Map,this.listenTo(e.editing.view.document,"layoutChanged",()=>this.update())}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy();for(const e of this._editableElementsMap.values())e.ckeditorInstance=null;this._editableElementsMap=new Map}setEditableElement(e,t){this._editableElementsMap.set(e,t),t.ckeditorInstance||(t.ckeditorInstance=this.editor)}getEditableElement(e="main"){return this._editableElementsMap.get(e)}getEditableElementsNames(){return this._editableElementsMap.keys()}get _editableElements(){return console.warn("editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this}),this._editableElementsMap}_readViewportOffsetFromConfig(){const e=this.editor,t=e.config.get("ui.viewportOffset");if(t)return t;const o=e.config.get("toolbar.viewportTopOffset");return o?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:o}):{top:0}}}Object(f.a)(M,A.a);var N=o("./node_modules/lodash-es/isFunction.js");function I(e){if(!Object(N.a)(e.updateSourceElement))throw new p.a("attachtoform-missing-elementapi-interface",e);const t=e.sourceElement;if(t&&"textarea"===t.tagName.toLowerCase()&&t.form){let o;const i=t.form,s=()=>e.updateSourceElement();Object(N.a)(i.submit)&&(o=i.submit,i.submit=()=>{s(),o.apply(i)}),i.addEventListener("submit",s),e.on("destroy",()=>{i.removeEventListener("submit",s),o&&(i.submit=o)})}}var z={setData(e){this.data.set(e)},getData(e){return this.data.get(e)}},V=o("./packages/ckeditor5-utils/src/dom/setdatainelement.js");var D={updateSourceElement(){if(!this.sourceElement)throw new p.a("editor-missing-sourceelement",this);Object(V.a)(this.sourceElement,this.data.get())}};function B(e){const t=e.sourceElement;if(t){if(t.ckeditorInstance)throw new p.a("editor-source-element-already-used",e);t.ckeditorInstance=e,e.once("destroy",()=>{delete t.ckeditorInstance})}}var F=o("./packages/ckeditor5-core/src/pendingactions.js"),L=o("./packages/ckeditor5-core/theme/icons/pilcrow.svg"),W=o("./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg");const H={cancel:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.591 10.177 4.243 4.242a1 1 0 0 1-1.415 1.415l-4.242-4.243-4.243 4.243a1 1 0 0 1-1.414-1.415l4.243-4.242L4.52 5.934A1 1 0 0 1 5.934 4.52l4.243 4.243 4.242-4.243a1 1 0 1 1 1.415 1.414l-4.243 4.243z"/></svg>',caption:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 16h9a1 1 0 0 1 0 2H2a1 1 0 0 1 0-2z"/><path d="M17 1a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h14zm0 1.5H3a.5.5 0 0 0-.492.41L2.5 3v9a.5.5 0 0 0 .41.492L3 12.5h14a.5.5 0 0 0 .492-.41L17.5 12V3a.5.5 0 0 0-.41-.492L17 2.5z" fill-opacity=".6"/></svg>',check:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M6.972 16.615a.997.997 0 0 1-.744-.292l-4.596-4.596a1 1 0 1 1 1.414-1.414l3.926 3.926 9.937-9.937a1 1 0 0 1 1.414 1.415L7.717 16.323a.997.997 0 0 1-.745.292z"/></svg>',cog:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.333 2 .19 2.263a5.899 5.899 0 0 1 1.458.604L14.714 3.4 16.6 5.286l-1.467 1.733c.263.452.468.942.605 1.46L18 8.666v2.666l-2.263.19a5.899 5.899 0 0 1-.604 1.458l1.467 1.733-1.886 1.886-1.733-1.467a5.899 5.899 0 0 1-1.46.605L11.334 18H8.667l-.19-2.263a5.899 5.899 0 0 1-1.458-.604L5.286 16.6 3.4 14.714l1.467-1.733a5.899 5.899 0 0 1-.604-1.458L2 11.333V8.667l2.262-.189a5.899 5.899 0 0 1 .605-1.459L3.4 5.286 5.286 3.4l1.733 1.467a5.899 5.899 0 0 1 1.46-.605L8.666 2h2.666zM10 6.267a3.733 3.733 0 1 0 0 7.466 3.733 3.733 0 0 0 0-7.466z"/></svg>',eraser:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m8.636 9.531-2.758 3.94a.5.5 0 0 0 .122.696l3.224 2.284h1.314l2.636-3.736L8.636 9.53zm.288 8.451L5.14 15.396a2 2 0 0 1-.491-2.786l6.673-9.53a2 2 0 0 1 2.785-.49l3.742 2.62a2 2 0 0 1 .491 2.785l-7.269 10.053-2.147-.066z"/><path d="M4 18h5.523v-1H4zm-2 0h1v-1H2z"/></svg>',lowVision:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M5.085 6.22 2.943 4.078a.75.75 0 1 1 1.06-1.06l2.592 2.59A11.094 11.094 0 0 1 10 5.068c4.738 0 8.578 3.101 8.578 5.083 0 1.197-1.401 2.803-3.555 3.887l1.714 1.713a.75.75 0 0 1-.09 1.138.488.488 0 0 1-.15.084.75.75 0 0 1-.821-.16L6.17 7.304c-.258.11-.51.233-.757.365l6.239 6.24-.006.005.78.78c-.388.094-.78.166-1.174.215l-1.11-1.11h.011L4.55 8.197a7.2 7.2 0 0 0-.665.514l-.112.098 4.897 4.897-.005.006 1.276 1.276a10.164 10.164 0 0 1-1.477-.117l-.479-.479-.009.009-4.863-4.863-.022.031a2.563 2.563 0 0 0-.124.2c-.043.077-.08.158-.108.241a.534.534 0 0 0-.028.133.29.29 0 0 0 .008.072.927.927 0 0 0 .082.226c.067.133.145.26.234.379l3.242 3.365.025.01.59.623c-3.265-.918-5.59-3.155-5.59-4.668 0-1.194 1.448-2.838 3.663-3.93zm7.07.531a4.632 4.632 0 0 1 1.108 5.992l.345.344.046-.018a9.313 9.313 0 0 0 2-1.112c.256-.187.5-.392.727-.613.137-.134.27-.277.392-.431.072-.091.141-.185.203-.286.057-.093.107-.19.148-.292a.72.72 0 0 0 .036-.12.29.29 0 0 0 .008-.072.492.492 0 0 0-.028-.133.999.999 0 0 0-.036-.096 2.165 2.165 0 0 0-.071-.145 2.917 2.917 0 0 0-.125-.2 3.592 3.592 0 0 0-.263-.335 5.444 5.444 0 0 0-.53-.523 7.955 7.955 0 0 0-1.054-.768 9.766 9.766 0 0 0-1.879-.891c-.337-.118-.68-.219-1.027-.301zm-2.85.21-.069.002a.508.508 0 0 0-.254.097.496.496 0 0 0-.104.679.498.498 0 0 0 .326.199l.045.005c.091.003.181.003.272.012a2.45 2.45 0 0 1 2.017 1.513c.024.061.043.125.069.185a.494.494 0 0 0 .45.287h.008a.496.496 0 0 0 .35-.158.482.482 0 0 0 .13-.335.638.638 0 0 0-.048-.219 3.379 3.379 0 0 0-.36-.723 3.438 3.438 0 0 0-2.791-1.543l-.028-.001h-.013z"/></svg>',image:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M6.91 10.54c.26-.23.64-.21.88.03l3.36 3.14 2.23-2.06a.64.64 0 0 1 .87 0l2.52 2.97V4.5H3.2v10.12l3.71-4.08zm10.27-7.51c.6 0 1.09.47 1.09 1.05v11.84c0 .59-.49 1.06-1.09 1.06H2.79c-.6 0-1.09-.47-1.09-1.06V4.08c0-.58.49-1.05 1.1-1.05h14.38zm-5.22 5.56a1.96 1.96 0 1 1 3.4-1.96 1.96 1.96 0 0 1-3.4 1.96z"/></svg>',alignBottom:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m9.239 13.938-2.88-1.663a.75.75 0 0 1 .75-1.3L9 12.067V4.75a.75.75 0 1 1 1.5 0v7.318l1.89-1.093a.75.75 0 0 1 .75 1.3l-2.879 1.663a.752.752 0 0 1-.511.187.752.752 0 0 1-.511-.187zM4.25 17a.75.75 0 1 1 0-1.5h10.5a.75.75 0 0 1 0 1.5H4.25z"/></svg>',alignMiddle:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M9.75 11.875a.752.752 0 0 1 .508.184l2.883 1.666a.75.75 0 0 1-.659 1.344l-.091-.044-1.892-1.093.001 4.318a.75.75 0 1 1-1.5 0v-4.317l-1.89 1.092a.75.75 0 0 1-.75-1.3l2.879-1.663a.752.752 0 0 1 .51-.187zM15.25 9a.75.75 0 1 1 0 1.5H4.75a.75.75 0 1 1 0-1.5h10.5zM9.75.375a.75.75 0 0 1 .75.75v4.318l1.89-1.093.092-.045a.75.75 0 0 1 .659 1.344l-2.883 1.667a.752.752 0 0 1-.508.184.752.752 0 0 1-.511-.187L6.359 5.65a.75.75 0 0 1 .75-1.299L9 5.442V1.125a.75.75 0 0 1 .75-.75z"/></svg>',alignTop:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m10.261 7.062 2.88 1.663a.75.75 0 0 1-.75 1.3L10.5 8.933v7.317a.75.75 0 1 1-1.5 0V8.932l-1.89 1.093a.75.75 0 0 1-.75-1.3l2.879-1.663a.752.752 0 0 1 .511-.187.752.752 0 0 1 .511.187zM15.25 4a.75.75 0 1 1 0 1.5H4.75a.75.75 0 0 1 0-1.5h10.5z"/></svg>',alignLeft:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z"/></svg>',alignCenter:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm2.286 4c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75z"/></svg>',alignRight:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M18 3.75a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 8a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 4a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75zm0-8a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75z"/></svg>',alignJustify:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z"/></svg>',objectLeft:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm11.5 9H18v1.5h-4.5zm0-3H18v1.5h-4.5zm0-3H18v1.5h-4.5zM2 15h16v1.5H2z"/><path d="M12.003 7v5.5a1 1 0 0 1-1 1H2.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H3.5V12h6.997V7.5z"/></svg>',objectCenter:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm0 12h16v1.5H2z"/><path d="M15.003 7v5.5a1 1 0 0 1-1 1H5.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H6.5V12h6.997V7.5z"/></svg>',objectRight:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm0 12h16v1.5H2zm0-9h5v1.5H2zm0 3h5v1.5H2zm0 3h5v1.5H2z"/><path d="M18.003 7v5.5a1 1 0 0 1-1 1H8.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H9.5V12h6.997V7.5z"/></svg>',objectFullWidth:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm0 12h16v1.5H2z"/><path d="M18 7v5.5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1zm-1.505.5H3.504V12h12.991V7.5z"/></svg>',objectInline:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm11.5 9H18v1.5h-4.5zM2 15h16v1.5H2z"/><path d="M12.003 7v5.5a1 1 0 0 1-1 1H2.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H3.5V12h6.997V7.5z"/></svg>',objectBlockLeft:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm0 12h16v1.5H2z"/><path d="M12.003 7v5.5a1 1 0 0 1-1 1H2.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H3.5V12h6.997V7.5z"/></svg>',objectBlockRight:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm0 12h16v1.5H2z"/><path d="M18.003 7v5.5a1 1 0 0 1-1 1H8.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H9.5V12h6.997V7.5z"/></svg>',objectSizeFull:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 17v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zM1 15.5v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm0-2v1h-1v-1h1zm-19 0v1H0v-1h1zM14.5 2v1h-1V2h1zm2 0v1h-1V2h1zm2 0v1h-1V2h1zm-8 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm8 0v1h-1V2h1zm-10 0v1h-1V2h1z"/><path d="M18.095 2H1.905C.853 2 0 2.895 0 4v12c0 1.105.853 2 1.905 2h16.19C19.147 18 20 17.105 20 16V4c0-1.105-.853-2-1.905-2zm0 1.5c.263 0 .476.224.476.5v12c0 .276-.213.5-.476.5H1.905a.489.489 0 0 1-.476-.5V4c0-.276.213-.5.476-.5h16.19z"/></svg>',objectSizeLarge:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 17v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zM1 15.5v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm0-2v1h-1v-1h1zm-19 0v1H0v-1h1zM14.5 2v1h-1V2h1zm2 0v1h-1V2h1zm2 0v1h-1V2h1zm-8 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm8 0v1h-1V2h1zm-10 0v1h-1V2h1z"/><path d="M13 6H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2zm0 1.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5V8a.5.5 0 0 1 .5-.5h11z"/></svg>',objectSizeSmall:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 17v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zM1 15.5v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm0-2v1h-1v-1h1zm-19 0v1H0v-1h1zM14.5 2v1h-1V2h1zm2 0v1h-1V2h1zm2 0v1h-1V2h1zm-8 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm8 0v1h-1V2h1zm-10 0v1h-1V2h1z"/><path d="M7 10H2a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2zm0 1.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h5z"/></svg>',objectSizeMedium:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 17v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zM1 15.5v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm0-2v1h-1v-1h1zm-19 0v1H0v-1h1zM14.5 2v1h-1V2h1zm2 0v1h-1V2h1zm2 0v1h-1V2h1zm-8 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm8 0v1h-1V2h1zm-10 0v1h-1V2h1z"/><path d="M10 8H2a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2zm0 1.5a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h8z"/></svg>',pencil:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m7.3 17.37-.061.088a1.518 1.518 0 0 1-.934.535l-4.178.663-.806-4.153a1.495 1.495 0 0 1 .187-1.058l.056-.086L8.77 2.639c.958-1.351 2.803-1.076 4.296-.03 1.497 1.047 2.387 2.693 1.433 4.055L7.3 17.37zM9.14 4.728l-5.545 8.346 3.277 2.294 5.544-8.346L9.14 4.728zM6.07 16.512l-3.276-2.295.53 2.73 2.746-.435zM9.994 3.506 13.271 5.8c.316-.452-.16-1.333-1.065-1.966-.905-.634-1.895-.78-2.212-.328zM8 18.5 9.375 17H19v1.5H8z"/></svg>',pilcrow:L.a,quote:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 10.423a6.5 6.5 0 0 1 6.056-6.408l.038.67C6.448 5.423 5.354 7.663 5.22 10H9c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574zm8 0a6.5 6.5 0 0 1 6.056-6.408l.038.67c-2.646.739-3.74 2.979-3.873 5.315H17c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574z"/></svg>',threeVerticalDots:W.a}},"./src/engine.js":function(e,t,o){"use strict";o.r(t),o.d(t,"enablePlaceholder",(function(){return s})),o.d(t,"disablePlaceholder",(function(){return r})),o.d(t,"showPlaceholder",(function(){return n})),o.d(t,"hidePlaceholder",(function(){return a})),o.d(t,"needsPlaceholder",(function(){return c})),o.d(t,"EditingController",(function(){return h.a})),o.d(t,"DataController",(function(){return p.a})),o.d(t,"Conversion",(function(){return g.a})),o.d(t,"HtmlDataProcessor",(function(){return f.a})),o.d(t,"InsertOperation",(function(){return m.a})),o.d(t,"MarkerOperation",(function(){return k.a})),o.d(t,"OperationFactory",(function(){return b.a})),o.d(t,"transformSets",(function(){return _.a})),o.d(t,"DocumentSelection",(function(){return w.a})),o.d(t,"Range",(function(){return v.a})),o.d(t,"LiveRange",(function(){return y.a})),o.d(t,"LivePosition",(function(){return j.a})),o.d(t,"Model",(function(){return x.a})),o.d(t,"TreeWalker",(function(){return P.a})),o.d(t,"Element",(function(){return O.a})),o.d(t,"DomConverter",(function(){return A.a})),o.d(t,"Renderer",(function(){return T.a})),o.d(t,"ViewDocument",(function(){return C.a})),o.d(t,"getFillerOffset",(function(){return E.b})),o.d(t,"Observer",(function(){return S.a})),o.d(t,"ClickObserver",(function(){return M})),o.d(t,"DomEventObserver",(function(){return R.a})),o.d(t,"MouseObserver",(function(){return N.a})),o.d(t,"DowncastWriter",(function(){return I.a})),o.d(t,"UpcastWriter",(function(){return H})),o.d(t,"Matcher",(function(){return q.a})),o.d(t,"DomEventData",(function(){return $.a})),o.d(t,"StylesProcessor",(function(){return U.a})),o.d(t,"addBackgroundRules",(function(){return _e})),o.d(t,"addBorderRules",(function(){return ve})),o.d(t,"addMarginRules",(function(){return Re})),o.d(t,"addPaddingRules",(function(){return Me})),o.d(t,"isColor",(function(){return Q})),o.d(t,"isLineStyle",(function(){return te})),o.d(t,"isLength",(function(){return ie})),o.d(t,"isPercentage",(function(){return re})),o.d(t,"isRepeat",(function(){return ae})),o.d(t,"isPosition",(function(){return le})),o.d(t,"isAttachment",(function(){return ue})),o.d(t,"isURL",(function(){return pe})),o.d(t,"getBoxSidesValues",(function(){return ge})),o.d(t,"getBoxSidesValueReducer",(function(){return fe})),o.d(t,"getBoxSidesShorthandValue",(function(){return me})),o.d(t,"getPositionShorthandNormalizer",(function(){return ke})),o.d(t,"getShorthandValues",(function(){return be}));o("./packages/ckeditor5-engine/theme/placeholder.css");const i=new WeakMap;function s(e){const{view:t,element:o,text:s,isDirectHost:r=!0,keepOnFocus:n=!1}=e,a=t.document;i.has(a)||(i.set(a,new Map),a.registerPostFixer(e=>l(a,e))),i.get(a).set(o,{text:s,isDirectHost:r,keepOnFocus:n,hostElement:r?o:null}),t.change(e=>l(a,e))}function r(e,t){const o=t.document;e.change(e=>{if(!i.has(o))return;const s=i.get(o),r=s.get(t);e.removeAttribute("data-placeholder",r.hostElement),a(e,r.hostElement),s.delete(t)})}function n(e,t){return!t.hasClass("ck-placeholder")&&(e.addClass("ck-placeholder",t),!0)}function a(e,t){return!!t.hasClass("ck-placeholder")&&(e.removeClass("ck-placeholder",t),!0)}function c(e,t){if(!e.isAttached())return!1;if(Array.from(e.getChildren()).some(e=>!e.is("uiElement")))return!1;if(t)return!0;const o=e.document;if(!o.isFocused)return!0;const i=o.selection.anchor;return i&&i.parent!==e}function l(e,t){const o=i.get(e),s=[];let r=!1;for(const[e,i]of o)i.isDirectHost&&(s.push(e),d(t,e,i)&&(r=!0));for(const[e,i]of o){if(i.isDirectHost)continue;const o=u(e);o&&(s.includes(o)||(i.hostElement=o,d(t,e,i)&&(r=!0)))}return r}function d(e,t,o){const{text:i,isDirectHost:s,hostElement:r}=o;let l=!1;r.getAttribute("data-placeholder")!==i&&(e.setAttribute("data-placeholder",i,r),l=!0);return(s||1==t.childCount)&&c(r,o.keepOnFocus)?n(e,r)&&(l=!0):a(e,r)&&(l=!0),l}function u(e){if(e.childCount){const t=e.getChild(0);if(t.is("element")&&!t.is("uiElement"))return t}return null}var h=o("./packages/ckeditor5-engine/src/controller/editingcontroller.js"),p=o("./packages/ckeditor5-engine/src/controller/datacontroller.js"),g=o("./packages/ckeditor5-engine/src/conversion/conversion.js"),f=o("./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.js"),m=o("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),k=o("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),b=o("./packages/ckeditor5-engine/src/model/operation/operationfactory.js"),_=o("./packages/ckeditor5-engine/src/model/operation/transform.js"),w=o("./packages/ckeditor5-engine/src/model/documentselection.js"),v=o("./packages/ckeditor5-engine/src/model/range.js"),y=o("./packages/ckeditor5-engine/src/model/liverange.js"),j=o("./packages/ckeditor5-engine/src/model/liveposition.js"),x=o("./packages/ckeditor5-engine/src/model/model.js"),P=o("./packages/ckeditor5-engine/src/model/treewalker.js"),O=o("./packages/ckeditor5-engine/src/model/element.js"),A=o("./packages/ckeditor5-engine/src/view/domconverter.js"),T=o("./packages/ckeditor5-engine/src/view/renderer.js"),C=o("./packages/ckeditor5-engine/src/view/document.js"),E=o("./packages/ckeditor5-engine/src/view/containerelement.js"),S=o("./packages/ckeditor5-engine/src/view/observer/observer.js"),R=o("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js");class M extends R.a{constructor(e){super(e),this.domEventType="click"}onDomEvent(e){this.fire(e.type,e)}}var N=o("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),I=o("./packages/ckeditor5-engine/src/view/downcastwriter.js"),z=o("./packages/ckeditor5-engine/src/view/documentfragment.js"),V=o("./packages/ckeditor5-engine/src/view/element.js"),D=o("./packages/ckeditor5-engine/src/view/text.js"),B=o("./node_modules/lodash-es/isPlainObject.js"),F=o("./packages/ckeditor5-engine/src/view/position.js"),L=o("./packages/ckeditor5-engine/src/view/range.js"),W=o("./packages/ckeditor5-engine/src/view/selection.js");class H{constructor(e){this.document=e}createDocumentFragment(e){return new z.a(this.document,e)}createElement(e,t,o){return new V.a(this.document,e,t,o)}createText(e){return new D.a(this.document,e)}clone(e,t=!1){return e._clone(t)}appendChild(e,t){return t._appendChild(e)}insertChild(e,t,o){return o._insertChild(e,t)}removeChildren(e,t,o){return o._removeChildren(e,t)}remove(e){const t=e.parent;return t?this.removeChildren(t.getChildIndex(e),1,t):[]}replace(e,t){const o=e.parent;if(o){const i=o.getChildIndex(e);return this.removeChildren(i,1,o),this.insertChild(i,t,o),!0}return!1}unwrapElement(e){const t=e.parent;if(t){const o=t.getChildIndex(e);this.remove(e),this.insertChild(o,e.getChildren(),t)}}rename(e,t){const o=new V.a(this.document,e,t.getAttributes(),t.getChildren());return this.replace(t,o)?o:null}setAttribute(e,t,o){o._setAttribute(e,t)}removeAttribute(e,t){t._removeAttribute(e)}addClass(e,t){t._addClass(e)}removeClass(e,t){t._removeClass(e)}setStyle(e,t,o){Object(B.a)(e)&&void 0===o&&(o=t),o._setStyle(e,t)}removeStyle(e,t){t._removeStyle(e)}setCustomProperty(e,t,o){o._setCustomProperty(e,t)}removeCustomProperty(e,t){return t._removeCustomProperty(e)}createPositionAt(e,t){return F.a._createAt(e,t)}createPositionAfter(e){return F.a._createAfter(e)}createPositionBefore(e){return F.a._createBefore(e)}createRange(e,t){return new L.a(e,t)}createRangeOn(e){return L.a._createOn(e)}createRangeIn(e){return L.a._createIn(e)}createSelection(e,t,o){return new W.a(e,t,o)}}var q=o("./packages/ckeditor5-engine/src/view/matcher.js"),$=o("./packages/ckeditor5-engine/src/view/observer/domeventdata.js"),U=o("./packages/ckeditor5-engine/src/view/stylesmap.js");const K=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,G=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i,J=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,Y=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i,X=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,Z=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","orange","aliceblue","antiquewhite","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","gainsboro","ghostwhite","gold","goldenrod","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","magenta","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","oldlace","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext","rebeccapurple","currentcolor","transparent"]);function Q(e){return e.startsWith("#")?K.test(e):e.startsWith("rgb")?G.test(e)||J.test(e):e.startsWith("hsl")?Y.test(e)||X.test(e):Z.has(e.toLowerCase())}const ee=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];function te(e){return ee.includes(e)}const oe=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function ie(e){return oe.test(e)}const se=/^[+-]?[0-9]*([.][0-9]+)?%$/;function re(e){return se.test(e)}const ne=["repeat-x","repeat-y","repeat","space","round","no-repeat"];function ae(e){return ne.includes(e)}const ce=["center","top","bottom","left","right"];function le(e){return ce.includes(e)}const de=["fixed","scroll","local"];function ue(e){return de.includes(e)}const he=/^url\(/;function pe(e){return he.test(e)}function ge(e=""){if(""===e)return{top:void 0,right:void 0,bottom:void 0,left:void 0};const t=be(e),o=t[0],i=t[2]||o,s=t[1]||o;return{top:o,bottom:i,right:s,left:t[3]||s}}function fe(e){return t=>{const{top:o,right:i,bottom:s,left:r}=t,n=[];return[o,i,r,s].every(e=>!!e)?n.push([e,me(t)]):(o&&n.push([e+"-top",o]),i&&n.push([e+"-right",i]),s&&n.push([e+"-bottom",s]),r&&n.push([e+"-left",r])),n}}function me({top:e,right:t,bottom:o,left:i}){const s=[];return i!==t?s.push(e,t,o,i):o!==e?s.push(e,t,o):t!==e?s.push(e,t):s.push(e),s.join(" ")}function ke(e){return t=>({path:e,value:ge(t)})}function be(e){return e.replace(/, /g,",").split(" ").map(e=>e.replace(/,/g,", "))}function _e(e){e.setNormalizer("background",we),e.setNormalizer("background-color",e=>({path:"background.color",value:e})),e.setReducer("background",e=>{const t=[];return t.push(["background-color",e.color]),t}),e.setStyleRelation("background",["background-color"])}function we(e){const t={},o=be(e);for(const e of o)ae(e)?(t.repeat=t.repeat||[],t.repeat.push(e)):le(e)?(t.position=t.position||[],t.position.push(e)):ue(e)?t.attachment=e:Q(e)?t.color=e:pe(e)&&(t.image=e);return{path:"background",value:t}}function ve(e){e.setNormalizer("border",ye),e.setNormalizer("border-top",je("top")),e.setNormalizer("border-right",je("right")),e.setNormalizer("border-bottom",je("bottom")),e.setNormalizer("border-left",je("left")),e.setNormalizer("border-color",xe("color")),e.setNormalizer("border-width",xe("width")),e.setNormalizer("border-style",xe("style")),e.setNormalizer("border-top-color",Oe("color","top")),e.setNormalizer("border-top-style",Oe("style","top")),e.setNormalizer("border-top-width",Oe("width","top")),e.setNormalizer("border-right-color",Oe("color","right")),e.setNormalizer("border-right-style",Oe("style","right")),e.setNormalizer("border-right-width",Oe("width","right")),e.setNormalizer("border-bottom-color",Oe("color","bottom")),e.setNormalizer("border-bottom-style",Oe("style","bottom")),e.setNormalizer("border-bottom-width",Oe("width","bottom")),e.setNormalizer("border-left-color",Oe("color","left")),e.setNormalizer("border-left-style",Oe("style","left")),e.setNormalizer("border-left-width",Oe("width","left")),e.setExtractor("border-top",Ae("top")),e.setExtractor("border-right",Ae("right")),e.setExtractor("border-bottom",Ae("bottom")),e.setExtractor("border-left",Ae("left")),e.setExtractor("border-top-color","border.color.top"),e.setExtractor("border-right-color","border.color.right"),e.setExtractor("border-bottom-color","border.color.bottom"),e.setExtractor("border-left-color","border.color.left"),e.setExtractor("border-top-width","border.width.top"),e.setExtractor("border-right-width","border.width.right"),e.setExtractor("border-bottom-width","border.width.bottom"),e.setExtractor("border-left-width","border.width.left"),e.setExtractor("border-top-style","border.style.top"),e.setExtractor("border-right-style","border.style.right"),e.setExtractor("border-bottom-style","border.style.bottom"),e.setExtractor("border-left-style","border.style.left"),e.setReducer("border-color",fe("border-color")),e.setReducer("border-style",fe("border-style")),e.setReducer("border-width",fe("border-width")),e.setReducer("border-top",Ee("top")),e.setReducer("border-right",Ee("right")),e.setReducer("border-bottom",Ee("bottom")),e.setReducer("border-left",Ee("left")),e.setReducer("border",function(){return t=>{const o=Te(t,"top"),i=Te(t,"right"),s=Te(t,"bottom"),r=Te(t,"left"),n=[o,i,s,r],a={width:e(n,"width"),style:e(n,"style"),color:e(n,"color")},c=Se(a,"all");if(c.length)return c;return[...Object.entries(a).reduce((e,[t,o])=>(o&&(e.push(["border-"+t,o]),n.forEach(e=>e[t]=null)),e),[]),...Se(o,"top"),...Se(i,"right"),...Se(s,"bottom"),...Se(r,"left")]};function e(e,t){return e.map(e=>e[t]).reduce((e,t)=>e==t?e:null)}}()),e.setStyleRelation("border",["border-color","border-style","border-width","border-top","border-right","border-bottom","border-left","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-width","border-right-width","border-bottom-width","border-left-width"]),e.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]),e.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]),e.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]),e.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]),e.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]),e.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]),e.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function ye(e){const{color:t,style:o,width:i}=Ce(e);return{path:"border",value:{color:ge(t),style:ge(o),width:ge(i)}}}function je(e){return t=>{const{color:o,style:i,width:s}=Ce(t),r={};return void 0!==o&&(r.color={[e]:o}),void 0!==i&&(r.style={[e]:i}),void 0!==s&&(r.width={[e]:s}),{path:"border",value:r}}}function xe(e){return t=>({path:"border",value:Pe(t,e)})}function Pe(e,t){return{[t]:ge(e)}}function Oe(e,t){return o=>({path:"border",value:{[e]:{[t]:o}}})}function Ae(e){return(t,o)=>{if(o.border)return Te(o.border,e)}}function Te(e,t){const o={};return e.width&&e.width[t]&&(o.width=e.width[t]),e.style&&e.style[t]&&(o.style=e.style[t]),e.color&&e.color[t]&&(o.color=e.color[t]),o}function Ce(e){const t={},o=be(e);for(const e of o)ie(e)||/thin|medium|thick/.test(e)?t.width=e:te(e)?t.style=e:t.color=e;return t}function Ee(e){return t=>Se(t,e)}function Se(e,t){const o=[];if(e&&e.width&&o.push("width"),e&&e.style&&o.push("style"),e&&e.color&&o.push("color"),3==o.length){const i=o.map(t=>e[t]).join(" ");return["all"==t?["border",i]:["border-"+t,i]]}return"all"==t?[]:o.map(o=>[`border-${t}-${o}`,e[o]])}function Re(e){e.setNormalizer("margin",ke("margin")),e.setNormalizer("margin-top",e=>({path:"margin.top",value:e})),e.setNormalizer("margin-right",e=>({path:"margin.right",value:e})),e.setNormalizer("margin-bottom",e=>({path:"margin.bottom",value:e})),e.setNormalizer("margin-left",e=>({path:"margin.left",value:e})),e.setReducer("margin",fe("margin")),e.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}function Me(e){e.setNormalizer("padding",ke("padding")),e.setNormalizer("padding-top",e=>({path:"padding.top",value:e})),e.setNormalizer("padding-right",e=>({path:"padding.right",value:e})),e.setNormalizer("padding-bottom",e=>({path:"padding.bottom",value:e})),e.setNormalizer("padding-left",e=>({path:"padding.left",value:e})),e.setReducer("padding",fe("padding")),e.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}},"./src/enter.js":function(e,t,o){"use strict";o.r(t),o.d(t,"Enter",(function(){return i.a})),o.d(t,"ShiftEnter",(function(){return u}));var i=o("./packages/ckeditor5-enter/src/enter.js"),s=o("./packages/ckeditor5-core/src/command.js"),r=o("./packages/ckeditor5-enter/src/utils.js");class n extends s.a{execute(){const e=this.editor.model,t=e.document;e.change(o=>{!function(e,t,o){const i=o.isCollapsed,s=o.getFirstRange(),n=s.start.parent,c=s.end.parent,l=n==c;if(i){const i=Object(r.a)(e.schema,o.getAttributes());a(e,t,s.end),t.removeSelectionAttribute(o.getAttributeKeys()),t.setSelectionAttribute(i)}else{const i=!(s.start.isAtStart&&s.end.isAtEnd);e.deleteContent(o,{leaveUnmerged:i}),l?a(e,t,o.focus):i&&t.setSelection(c,0)}}(e,o,t.selection),this.fire("afterExecute",{writer:o})})}refresh(){const e=this.editor.model,t=e.document;this.isEnabled=function(e,t){if(t.rangeCount>1)return!1;const o=t.anchor;if(!o||!e.checkChild(o,"softBreak"))return!1;const i=t.getFirstRange(),s=i.start.parent,r=i.end.parent;if((c(s,e)||c(r,e))&&s!==r)return!1;return!0}(e.schema,t.selection)}}function a(e,t,o){const i=t.createElement("softBreak");e.insertContent(i,o),t.setSelection(i,"after")}function c(e,t){return!e.is("rootElement")&&(t.isLimit(e)||c(e.parent,t))}var l=o("./packages/ckeditor5-enter/src/enterobserver.js"),d=o("./packages/ckeditor5-core/src/plugin.js");class u extends d.a{static get pluginName(){return"ShiftEnter"}init(){const e=this.editor,t=e.model.schema,o=e.conversion,i=e.editing.view,s=i.document;t.register("softBreak",{allowWhere:"$text",isInline:!0}),o.for("upcast").elementToElement({model:"softBreak",view:"br"}),o.for("downcast").elementToElement({model:"softBreak",view:(e,{writer:t})=>t.createEmptyElement("br")}),i.addObserver(l.a),e.commands.add("shiftEnter",new n(e)),this.listenTo(s,"enter",(t,o)=>{o.preventDefault(),o.isSoft&&(e.execute("shiftEnter"),i.scrollToTheSelection())},{priority:"low"})}}},"./src/paragraph.js":function(e,t,o){"use strict";o.r(t),o.d(t,"Paragraph",(function(){return l})),o.d(t,"ParagraphButtonUI",(function(){return u}));var i=o("./packages/ckeditor5-core/src/command.js"),s=o("./packages/ckeditor5-utils/src/first.js");class r extends i.a{refresh(){const e=this.editor.model,t=e.document,o=Object(s.a)(t.selection.getSelectedBlocks());this.value=!!o&&o.is("element","paragraph"),this.isEnabled=!!o&&n(o,e.schema)}execute(e={}){const t=this.editor.model,o=t.document;t.change(i=>{const s=(e.selection||o.selection).getSelectedBlocks();for(const e of s)!e.is("element","paragraph")&&n(e,t.schema)&&i.rename(e,"paragraph")})}}function n(e,t){return t.checkChild(e.parent,"paragraph")&&!t.isObject(e)}class a extends i.a{execute(e){const t=this.editor.model;let o=e.position;t.change(e=>{const i=e.createElement("paragraph");if(!t.schema.checkChild(o.parent,i)){const s=t.schema.findAllowedParent(o,i);if(!s)return;o=e.split(o,s).position}t.insertContent(i,o),e.setSelection(i,"in")})}}var c=o("./packages/ckeditor5-core/src/plugin.js");class l extends c.a{static get pluginName(){return"Paragraph"}init(){const e=this.editor,t=e.model;e.commands.add("paragraph",new r(e)),e.commands.add("insertParagraph",new a(e)),t.schema.register("paragraph",{inheritAllFrom:"$block"}),e.conversion.elementToElement({model:"paragraph",view:"p"}),e.conversion.for("upcast").elementToElement({model:(e,{writer:t})=>l.paragraphLikeElements.has(e.name)?e.isEmpty?null:t.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}}l.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);var d=o("./packages/ckeditor5-ui/src/button/buttonview.js");class u extends c.a{init(){const e=this.editor,t=e.t;e.ui.componentFactory.add("paragraph",o=>{const i=new d.a(o),s=e.commands.get("paragraph");return i.label=t("Paragraph"),i.icon='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10.5 5.5H7v5h3.5a2.5 2.5 0 1 0 0-5zM5 3h6.5v.025a5 5 0 0 1 0 9.95V13H7v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z"/></svg>',i.tooltip=!0,i.isToggleable=!0,i.bind("isEnabled").to(s),i.bind("isOn").to(s,"value"),i.on("execute",()=>{e.execute("paragraph")}),i})}}},"./src/select-all.js":function(e,t,o){"use strict";o.r(t),o.d(t,"SelectAll",(function(){return h})),o.d(t,"SelectAllEditing",(function(){return l})),o.d(t,"SelectAllUI",(function(){return u}));var i=o("./packages/ckeditor5-core/src/plugin.js"),s=o("./packages/ckeditor5-utils/src/keyboard.js"),r=o("./packages/ckeditor5-core/src/command.js");class n extends r.a{constructor(e){super(e),this.affectsData=!1}execute(){const e=this.editor.model,t=e.document.selection;let o=e.schema.getLimitElement(t);if(t.containsEntireContent(o)||!a(e.schema,o))do{if(o=o.parent,!o)return}while(!a(e.schema,o));e.change(e=>{e.setSelection(o,"in")})}}function a(e,t){return e.isLimit(t)&&(e.checkChild(t,"$text")||e.checkChild(t,"paragraph"))}const c=Object(s.g)("Ctrl+A");class l extends i.a{static get pluginName(){return"SelectAllEditing"}init(){const e=this.editor,t=e.editing.view.document;e.commands.add("selectAll",new n(e)),this.listenTo(t,"keydown",(t,o)=>{Object(s.a)(o)===c&&(e.execute("selectAll"),o.preventDefault())})}}var d=o("./packages/ckeditor5-ui/src/button/buttonview.js");class u extends i.a{static get pluginName(){return"SelectAllUI"}init(){const e=this.editor;e.ui.componentFactory.add("selectAll",t=>{const o=e.commands.get("selectAll"),i=new d.a(t),s=t.t;return i.set({label:s("Select all"),icon:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M.75 15.5a.75.75 0 0 1 .75.75V18l.008.09A.5.5 0 0 0 2 18.5h1.75a.75.75 0 1 1 0 1.5H1.5l-.144-.007a1.5 1.5 0 0 1-1.35-1.349L0 18.5v-2.25a.75.75 0 0 1 .75-.75zm18.5 0a.75.75 0 0 1 .75.75v2.25l-.007.144a1.5 1.5 0 0 1-1.349 1.35L18.5 20h-2.25a.75.75 0 1 1 0-1.5H18a.5.5 0 0 0 .492-.41L18.5 18v-1.75a.75.75 0 0 1 .75-.75zm-10.45 3c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm.45-5.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5h8.5zM1.3 11c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5H4.75a.75.75 0 1 1 0-1.5h10.5zM1.3 7c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5h-2.5a.75.75 0 1 1 0-1.5h2.5zm-5 0a.75.75 0 1 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5h5.5zm-6.5-5a.75.75 0 0 1 0 1.5H2a.5.5 0 0 0-.492.41L1.5 2v1.75a.75.75 0 0 1-1.5 0V1.5l.007-.144A1.5 1.5 0 0 1 1.356.006L1.5 0h2.25zM18.5 0l.144.007a1.5 1.5 0 0 1 1.35 1.349L20 1.5v2.25a.75.75 0 1 1-1.5 0V2l-.008-.09A.5.5 0 0 0 18 1.5h-1.75a.75.75 0 1 1 0-1.5h2.25zM8.8 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6z"/></svg>',keystroke:"Ctrl+A",tooltip:!0}),i.bind("isOn","isEnabled").to(o,"value","isEnabled"),this.listenTo(i,"execute",()=>{e.execute("selectAll"),e.editing.view.focus()}),i})}}class h extends i.a{static get requires(){return[l,u]}static get pluginName(){return"SelectAll"}}},"./src/typing.js":function(e,t,o){"use strict";o.r(t),o.d(t,"Typing",(function(){return k})),o.d(t,"Input",(function(){return f})),o.d(t,"Delete",(function(){return m.a})),o.d(t,"TextWatcher",(function(){return v})),o.d(t,"TwoStepCaretMovement",(function(){return j})),o.d(t,"TextTransformation",(function(){return I})),o.d(t,"inlineHighlight",(function(){return W})),o.d(t,"findAttributeRange",(function(){return F})),o.d(t,"getLastTextLine",(function(){return w})),o.d(t,"isNonTypingKeystroke",(function(){return a.b}));var i=o("./packages/ckeditor5-core/src/plugin.js"),s=o("./packages/ckeditor5-core/src/command.js"),r=o("./packages/ckeditor5-typing/src/utils/changebuffer.js");class n extends s.a{constructor(e,t){super(e),this._buffer=new r.a(e.model,t),this._batches=new WeakSet}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(e={}){const t=this.editor.model,o=t.document,i=e.text||"",s=i.length,r=e.range?t.createSelection(e.range):o.selection,n=e.resultRange;t.enqueueChange(this._buffer.batch,e=>{this._buffer.lock(),this._batches.add(this._buffer.batch),t.deleteContent(r),i&&t.insertContent(e.createText(i,o.selection.getAttributes()),r),n?e.setSelection(n):r.is("documentSelection")||e.setSelection(r),this._buffer.unlock(),this._buffer.input(s)})}}var a=o("./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js"),c=o("./packages/ckeditor5-utils/src/diff.js"),l=o("./packages/ckeditor5-engine/src/view/domconverter.js");function d(e){if(e.newChildren.length-e.oldChildren.length!=1)return;const t=function(e,t){const o=[];let i,s=0;return e.forEach(e=>{"equal"==e?(r(),s++):"insert"==e?(n("insert")?i.values.push(t[s]):(r(),i={type:"insert",index:s,values:[t[s]]}),s++):n("delete")?i.howMany++:(r(),i={type:"delete",index:s,howMany:1})}),r(),o;function r(){i&&(o.push(i),i=null)}function n(e){return i&&i.type==e}}(Object(c.a)(e.oldChildren,e.newChildren,u),e.newChildren);if(t.length>1)return;const o=t[0];return o.values[0]&&o.values[0].is("$text")?o:void 0}function u(e,t){return e&&e.is("$text")&&t&&t.is("$text")?e.data===t.data:e===t}class h{constructor(e){this.editor=e,this.editing=this.editor.editing}handle(e,t){if(function(e){if(0==e.length)return!1;for(const t of e)if("children"===t.type&&!d(t))return!0;return!1}(e))this._handleContainerChildrenMutations(e,t);else for(const o of e)this._handleTextMutation(o,t),this._handleTextNodeInsertion(o)}_handleContainerChildrenMutations(e,t){const o=function(e){const t=e.map(e=>e.node).reduce((e,t)=>e.getCommonAncestor(t,{includeSelf:!0}));if(!t)return;return t.getAncestors({includeSelf:!0,parentFirst:!0}).find(e=>e.is("containerElement")||e.is("rootElement"))}(e);if(!o)return;const i=this.editor.editing.view.domConverter.mapViewToDom(o),s=new l.a(this.editor.editing.view.document),r=this.editor.data.toModel(s.domToView(i)).getChild(0),n=this.editor.editing.mapper.toModelElement(o);if(!n)return;const a=Array.from(r.getChildren()),d=Array.from(n.getChildren()),u=a[a.length-1],h=d[d.length-1],f=u&&u.is("element","softBreak"),m=h&&!h.is("element","softBreak");f&&m&&a.pop();const k=this.editor.model.schema;if(!p(a,k)||!p(d,k))return;const b=a.map(e=>e.is("$text")?e.data:"@").join("").replace(/\u00A0/g," "),_=d.map(e=>e.is("$text")?e.data:"@").join("").replace(/\u00A0/g," ");if(_===b)return;const w=Object(c.a)(_,b),{firstChangeAt:v,insertions:y,deletions:j}=g(w);let x=null;t&&(x=this.editing.mapper.toModelRange(t.getFirstRange()));const P=b.substr(v,y),O=this.editor.model.createRange(this.editor.model.createPositionAt(n,v),this.editor.model.createPositionAt(n,v+j));this.editor.execute("input",{text:P,range:O,resultRange:x})}_handleTextMutation(e,t){if("text"!=e.type)return;const o=e.newText.replace(/\u00A0/g," "),i=e.oldText.replace(/\u00A0/g," ");if(i===o)return;const s=Object(c.a)(i,o),{firstChangeAt:r,insertions:n,deletions:a}=g(s);let l=null;t&&(l=this.editing.mapper.toModelRange(t.getFirstRange()));const d=this.editing.view.createPositionAt(e.node,r),u=this.editing.mapper.toModelPosition(d),h=this.editor.model.createRange(u,u.getShiftedBy(a)),p=o.substr(r,n);this.editor.execute("input",{text:p,range:h,resultRange:l})}_handleTextNodeInsertion(e){if("children"!=e.type)return;const t=d(e),o=this.editing.view.createPositionAt(e.node,t.index),i=this.editing.mapper.toModelPosition(o),s=t.values[0].data;this.editor.execute("input",{text:s.replace(/\u00A0/g," "),range:this.editor.model.createRange(i)})}}function p(e,t){return e.every(e=>t.isInline(e))}function g(e){let t=null,o=null;for(let i=0;i<e.length;i++){"equal"!=e[i]&&(t=null===t?i:t,o=i)}let i=0,s=0;for(let r=t;r<=o;r++)"insert"!=e[r]&&i++,"delete"!=e[r]&&s++;return{insertions:s,deletions:i,firstChangeAt:t}}class f extends i.a{static get pluginName(){return"Input"}init(){const e=this.editor,t=new n(e,e.config.get("typing.undoStep")||20);e.commands.add("input",t),Object(a.a)(e),function(e){e.editing.view.document.on("mutations",(t,o,i)=>{new h(e).handle(o,i)})}(e)}isInput(e){return this.editor.commands.get("input")._batches.has(e)}}var m=o("./packages/ckeditor5-typing/src/delete.js");class k extends i.a{static get requires(){return[f,m.a]}static get pluginName(){return"Typing"}}var b=o("./packages/ckeditor5-utils/src/mix.js"),_=o("./packages/ckeditor5-utils/src/observablemixin.js");function w(e,t){let o=e.start;return{text:Array.from(e.getItems()).reduce((e,i)=>i.is("$text")||i.is("$textProxy")?e+i.data:(o=t.createPositionAfter(i),""),""),range:t.createRange(o,e.end)}}class v{constructor(e,t){this.model=e,this.testCallback=t,this.hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",()=>{this.isEnabled?this._startListening():(this.stopListening(e.document.selection),this.stopListening(e.document))}),this._startListening()}_startListening(){const e=this.model.document;this.listenTo(e.selection,"change:range",(t,{directChange:o})=>{o&&(e.selection.isCollapsed?this._evaluateTextBeforeSelection("selection"):this.hasMatch&&(this.fire("unmatched"),this.hasMatch=!1))}),this.listenTo(e,"change:data",(e,t)=>{"transparent"!=t.type&&this._evaluateTextBeforeSelection("data",{batch:t})})}_evaluateTextBeforeSelection(e,t={}){const o=this.model,i=o.document.selection,s=o.createRange(o.createPositionAt(i.focus.parent,0),i.focus),{text:r,range:n}=w(s,o),a=this.testCallback(r);if(!a&&this.hasMatch&&this.fire("unmatched"),this.hasMatch=!!a,a){const o=Object.assign(t,{text:r,range:n});"object"==typeof a&&Object.assign(o,a),this.fire("matched:"+e,o)}}}Object(b.a)(v,_.a);var y=o("./packages/ckeditor5-utils/src/keyboard.js");class j extends i.a{static get pluginName(){return"TwoStepCaretMovement"}constructor(e){super(e),this.attributes=new Set,this._overrideUid=null}init(){const e=this.editor,t=e.model,o=e.editing.view,i=e.locale,s=t.document.selection;this.listenTo(o.document,"arrowKey",(e,t)=>{if(!s.isCollapsed)return;if(t.shiftKey||t.altKey||t.ctrlKey)return;const o=t.keyCode==y.f.arrowright,r=t.keyCode==y.f.arrowleft;if(!o&&!r)return;const n=i.contentLanguageDirection;let a=!1;a="ltr"===n&&o||"rtl"===n&&r?this._handleForwardMovement(t):this._handleBackwardMovement(t),!0===a&&e.stop()},{context:"$text",priority:"highest"}),this._isNextGravityRestorationSkipped=!1,this.listenTo(s,"change:range",(e,t)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!t.directChange&&A(s.getFirstPosition(),this.attributes)||this._restoreGravity())})}registerAttribute(e){this.attributes.add(e)}_handleForwardMovement(e){const t=this.attributes,o=this.editor.model.document.selection,i=o.getFirstPosition();return!this._isGravityOverridden&&((!i.isAtStart||!x(o,t))&&(A(i,t)?(O(e),this._overrideGravity(),!0):void 0))}_handleBackwardMovement(e){const t=this.attributes,o=this.editor.model,i=o.document.selection,s=i.getFirstPosition();return this._isGravityOverridden?(O(e),this._restoreGravity(),P(o,t,s),!0):s.isAtStart?!!x(i,t)&&(O(e),P(o,t,s),!0):function(e,t){return A(e.getShiftedBy(-1),t)}(s,t)?s.isAtEnd&&!x(i,t)&&A(s,t)?(O(e),P(o,t,s),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1):void 0}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change(e=>e.overrideSelectionGravity())}_restoreGravity(){this.editor.model.change(e=>{e.restoreSelectionGravity(this._overrideUid),this._overrideUid=null})}}function x(e,t){for(const o of t)if(e.hasAttribute(o))return!0;return!1}function P(e,t,o){const i=o.nodeBefore;e.change(e=>{i?e.setSelectionAttribute(i.getAttributes()):e.removeSelectionAttribute(t)})}function O(e){e.preventDefault()}function A(e,t){const{nodeBefore:o,nodeAfter:i}=e;for(const e of t){const t=o?o.getAttribute(e):void 0;if((i?i.getAttribute(e):void 0)!==t)return!0}return!1}var T=o("./node_modules/lodash-es/toString.js"),C=/[\\^$.*+?()[\]{}|]/g,E=RegExp(C.source);var S=function(e){return(e=Object(T.a)(e))&&E.test(e)?e.replace(C,"\\$&"):e};const R={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:/(^|[^/a-z0-9])(1\/2)([^/a-z0-9])$/i,to:[null,"½",null]},oneThird:{from:/(^|[^/a-z0-9])(1\/3)([^/a-z0-9])$/i,to:[null,"⅓",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\/3)([^/a-z0-9])$/i,to:[null,"⅔",null]},oneForth:{from:/(^|[^/a-z0-9])(1\/4)([^/a-z0-9])$/i,to:[null,"¼",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\/4)([^/a-z0-9])$/i,to:[null,"¾",null]},lessThanOrEqual:{from:"<=",to:"≤"},greaterThanOrEqual:{from:">=",to:"≥"},notEqual:{from:"!=",to:"≠"},arrowLeft:{from:"<-",to:"←"},arrowRight:{from:"->",to:"→"},horizontalEllipsis:{from:"...",to:"…"},enDash:{from:/(^| )(--)( )$/,to:[null,"–",null]},emDash:{from:/(^| )(---)( )$/,to:[null,"—",null]},quotesPrimary:{from:B('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:B("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:B("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:B('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:B('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:B("'"),to:[null,"‚",null,"’"]}},M={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]},N=["symbols","mathematical","typography","quotes"];class I extends i.a{static get requires(){return["Delete","Input"]}static get pluginName(){return"TextTransformation"}constructor(e){super(e),e.config.define("typing",{transformations:{include:N}})}init(){const e=this.editor.model.document.selection;e.on("change:range",()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}),this._enableTransformationWatchers()}_enableTransformationWatchers(){const e=this.editor,t=e.model,o=e.plugins.get("Input"),i=e.plugins.get("Delete"),s=function(e){const t=e.extra||[],o=e.remove||[],i=e=>!o.includes(e);return function(e){const t=new Set;for(const o of e)if(M[o])for(const e of M[o])t.add(e);else t.add(o);return Array.from(t)}(e.include.concat(t).filter(i)).filter(i).map(e=>R[e]||e).map(e=>({from:z(e.from),to:V(e.to)}))}(e.config.get("typing.transformations")),r=new v(e.model,e=>{for(const t of s){if(t.from.test(e))return{normalizedTransformation:t}}});r.on("matched:data",(e,s)=>{if(!o.isInput(s.batch))return;const{from:r,to:n}=s.normalizedTransformation,a=r.exec(s.text),c=n(a.slice(1)),l=s.range;let d=a.index;t.enqueueChange(e=>{for(let o=1;o<a.length;o++){const i=a[o],s=c[o-1];if(null==s){d+=i.length;continue}const r=l.start.getShiftedBy(d),n=t.createRange(r,r.getShiftedBy(i.length)),u=D(r);t.insertContent(e.createText(s,u),n),d+=s.length}t.enqueueChange(()=>{i.requestUndoOnBackspace()})})}),r.bind("isEnabled").to(this)}}function z(e){return"string"==typeof e?new RegExp(`(${S(e)})$`):e}function V(e){return"string"==typeof e?()=>[e]:e instanceof Array?()=>e:e}function D(e){return(e.textNode?e.textNode:e.nodeAfter).getAttributes()}function B(e){return new RegExp(`(^|\\s)(${e})([^${e}]*)(${e})$`)}function F(e,t,o,i){return i.createRange(L(e,t,o,!0,i),L(e,t,o,!1,i))}function L(e,t,o,i,s){let r=e.textNode||(i?e.nodeBefore:e.nodeAfter),n=null;for(;r&&r.getAttribute(t)==o;)n=r,r=i?r.previousSibling:r.nextSibling;return n?s.createPositionAt(n,i?"before":"after"):e}function W(e,t,o,i){const s=e.editing.view,r=new Set;s.document.registerPostFixer(s=>{const n=e.model.document.selection;let a=!1;if(n.hasAttribute(t)){const c=F(n.getFirstPosition(),t,n.getAttribute(t),e.model),l=e.editing.mapper.toViewRange(c);for(const e of l.getItems())e.is("element",o)&&!e.hasClass(i)&&(s.addClass(i,e),r.add(e),a=!0)}return a}),e.conversion.for("editingDowncast").add(e=>{function t(){s.change(e=>{for(const t of r.values())e.removeClass(i,t),r.delete(t)})}e.on("insert",t,{priority:"highest"}),e.on("remove",t,{priority:"highest"}),e.on("attribute",t,{priority:"highest"}),e.on("selection",t,{priority:"highest"})})}},"./src/ui.js":function(e,t,o){"use strict";o.r(t),o.d(t,"clickOutsideHandler",(function(){return i.a})),o.d(t,"injectCssTransitionDisabler",(function(){return s})),o.d(t,"submitHandler",(function(){return r})),o.d(t,"BodyCollection",(function(){return l})),o.d(t,"ButtonView",(function(){return d.a})),o.d(t,"SwitchButtonView",(function(){return u.a})),o.d(t,"getLocalizedColorOptions",(function(){return h})),o.d(t,"normalizeColorOptions",(function(){return p})),o.d(t,"normalizeSingleColorDefinition",(function(){return g})),o.d(t,"ColorGridView",(function(){return w})),o.d(t,"ColorTileView",(function(){return m})),o.d(t,"DropdownButtonView",(function(){return v.a})),o.d(t,"SplitButtonView",(function(){return j})),o.d(t,"createDropdown",(function(){return x.c})),o.d(t,"addToolbarToDropdown",(function(){return x.b})),o.d(t,"addListToDropdown",(function(){return x.a})),o.d(t,"EditorUIView",(function(){return P})),o.d(t,"BoxedEditorUIView",(function(){return T})),o.d(t,"InlineEditableUIView",(function(){return E})),o.d(t,"FormHeaderView",(function(){return S})),o.d(t,"FocusCycler",(function(){return b.a})),o.d(t,"IconView",(function(){return R.a})),o.d(t,"InputTextView",(function(){return M})),o.d(t,"IframeView",(function(){return N})),o.d(t,"LabelView",(function(){return A})),o.d(t,"LabeledFieldView",(function(){return I})),o.d(t,"createLabeledInputText",(function(){return z})),o.d(t,"createLabeledDropdown",(function(){return V})),o.d(t,"ListItemView",(function(){return D.a})),o.d(t,"ListView",(function(){return B.a})),o.d(t,"Notification",(function(){return L})),o.d(t,"Model",(function(){return $})),o.d(t,"BalloonPanelView",(function(){return U.a})),o.d(t,"ContextualBalloon",(function(){return K.a})),o.d(t,"StickyPanelView",(function(){return X})),o.d(t,"TooltipView",(function(){return Z.a})),o.d(t,"Template",(function(){return n.a})),o.d(t,"ToolbarView",(function(){return Q.a})),o.d(t,"ToolbarSeparatorView",(function(){return ee.a})),o.d(t,"enableToolbarKeyboardFocus",(function(){return te})),o.d(t,"normalizeToolbarConfig",(function(){return oe.a})),o.d(t,"BalloonToolbar",(function(){return ce})),o.d(t,"BlockToolbar",(function(){return fe})),o.d(t,"View",(function(){return f.a})),o.d(t,"ViewCollection",(function(){return a.a}));var i=o("./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js");function s(e){e.set("_isCssTransitionsDisabled",!1),e.disableCssTransitions=()=>{e._isCssTransitionsDisabled=!0},e.enableCssTransitions=()=>{e._isCssTransitionsDisabled=!1},e.extendTemplate({attributes:{class:[e.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}function r({view:e}){e.listenTo(e.element,"submit",(t,o)=>{o.preventDefault(),e.fire("submit")},{useCapture:!0})}var n=o("./packages/ckeditor5-ui/src/template.js"),a=o("./packages/ckeditor5-ui/src/viewcollection.js"),c=o("./packages/ckeditor5-utils/src/dom/createelement.js");class l extends a.a{constructor(e,t=[]){super(t),this.locale=e}attachToDom(){this._bodyCollectionContainer=new n.a({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection},children:this}).render();let e=document.querySelector(".ck-body-wrapper");e||(e=Object(c.a)(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(e)),e.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const e=document.querySelector(".ck-body-wrapper");e&&0==e.childElementCount&&e.remove()}}var d=o("./packages/ckeditor5-ui/src/button/buttonview.js"),u=o("./packages/ckeditor5-ui/src/button/switchbuttonview.js");function h(e,t){const o=e.t,i={Black:o("Black"),"Dim grey":o("Dim grey"),Grey:o("Grey"),"Light grey":o("Light grey"),White:o("White"),Red:o("Red"),Orange:o("Orange"),Yellow:o("Yellow"),"Light green":o("Light green"),Green:o("Green"),Aquamarine:o("Aquamarine"),Turquoise:o("Turquoise"),"Light blue":o("Light blue"),Blue:o("Blue"),Purple:o("Purple")};return t.map(e=>{const t=i[e.label];return t&&t!=e.label&&(e.label=t),e})}function p(e){return e.map(g).filter(e=>!!e)}function g(e){return"string"==typeof e?{model:e,label:e,hasBorder:!1,view:{name:"span",styles:{color:e}}}:{model:e.color,label:e.label||e.color,hasBorder:void 0!==e.hasBorder&&e.hasBorder,view:{name:"span",styles:{color:""+e.color}}}}var f=o("./packages/ckeditor5-ui/src/view.js");class m extends d.a{constructor(e){super(e);const t=this.bindTemplate;this.set("color"),this.set("hasBorder"),this.icon='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path class="ck-icon__fill" d="M16.935 5.328a2 2 0 0 1 0 2.829l-7.778 7.778a2 2 0 0 1-2.829 0L3.5 13.107a1.999 1.999 0 1 1 2.828-2.829l.707.707a1 1 0 0 0 1.414 0l5.658-5.657a2 2 0 0 1 2.828 0z"/><path d="M14.814 6.035 8.448 12.4a1 1 0 0 1-1.414 0l-1.413-1.415A1 1 0 1 0 4.207 12.4l2.829 2.829a1 1 0 0 0 1.414 0l7.778-7.778a1 1 0 1 0-1.414-1.415z"/></svg>',this.extendTemplate({attributes:{style:{backgroundColor:t.to("color")},class:["ck","ck-color-grid__tile",t.if("hasBorder","ck-color-table__color-tile_bordered")]}})}render(){super.render(),this.iconView.fillColor="hsl(0, 0%, 100%)"}}var k=o("./packages/ckeditor5-utils/src/focustracker.js"),b=o("./packages/ckeditor5-ui/src/focuscycler.js"),_=o("./packages/ckeditor5-utils/src/keystrokehandler.js");o("./packages/ckeditor5-ui/theme/components/colorgrid/colorgrid.css");class w extends f.a{constructor(e,t){super(e);const o=t&&t.colorDefinitions||[],i={};t&&t.columns&&(i.gridTemplateColumns=`repeat( ${t.columns}, 1fr)`),this.set("selectedColor"),this.items=this.createCollection(),this.focusTracker=new k.a,this.keystrokes=new _.a,this._focusCycler=new b.a({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowleft",focusNext:"arrowright"}}),this.items.on("add",(e,t)=>{t.isOn=t.color===this.selectedColor}),o.forEach(e=>{const t=new m;t.set({color:e.color,label:e.label,tooltip:!0,hasBorder:e.options.hasBorder}),t.on("execute",()=>{this.fire("execute",{value:e.color,hasBorder:e.options.hasBorder,label:e.label})}),this.items.add(t)}),this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:i}}),this.on("change:selectedColor",(e,t,o)=>{for(const e of this.items)e.isOn=e.color===o})}focus(){this.items.length&&this.items.first.focus()}focusLast(){this.items.length&&this.items.last.focus()}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",(e,t)=>{this.focusTracker.add(t.element)}),this.items.on("remove",(e,t)=>{this.focusTracker.remove(t.element)}),this.keystrokes.listenTo(this.element)}}var v=o("./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js"),y=o("./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg");o("./packages/ckeditor5-ui/theme/components/dropdown/splitbutton.css");class j extends f.a{constructor(e){super(e);const t=this.bindTemplate;this.set("class"),this.set("icon"),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke"),this.set("label"),this.set("tabindex",-1),this.set("tooltip"),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(),this.arrowView=this._createArrowView(),this.keystrokes=new _.a,this.focusTracker=new k.a,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",t.to("class"),t.if("isVisible","ck-hidden",e=>!e),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",(e,t)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),t())}),this.keystrokes.set("arrowleft",(e,t)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),t())})}focus(){this.actionView.focus()}_createActionView(){const e=new d.a;return e.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this),e.extendTemplate({attributes:{class:"ck-splitbutton__action"}}),e.delegate("execute").to(this),e}_createArrowView(){const e=new d.a,t=e.bindTemplate;return e.icon=y.a,e.extendTemplate({attributes:{class:"ck-splitbutton__arrow","aria-haspopup":!0,"aria-expanded":t.to("isOn",e=>String(e))}}),e.bind("isEnabled").to(this),e.delegate("execute").to(this,"open"),e}}var x=o("./packages/ckeditor5-ui/src/dropdown/utils.js");o("./packages/ckeditor5-ui/theme/components/editorui/editorui.css");class P extends f.a{constructor(e){super(e),this.body=new l(e)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}var O=o("./packages/ckeditor5-utils/src/uid.js");o("./packages/ckeditor5-ui/theme/components/label/label.css");class A extends f.a{constructor(e){super(e),this.set("text"),this.set("for"),this.id="ck-editor__label_"+Object(O.a)();const t=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:t.to("for")},children:[{text:t.to("text")}]})}}class T extends P{constructor(e){super(e),this.top=this.createCollection(),this.main=this.createCollection(),this._voiceLabelView=this._createVoiceLabel(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-editor","ck-rounded-corners"],role:"application",dir:e.uiLanguageDirection,lang:e.uiLanguage,"aria-labelledby":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:"div",attributes:{class:["ck","ck-editor__top","ck-reset_all"],role:"presentation"},children:this.top},{tag:"div",attributes:{class:["ck","ck-editor__main"],role:"presentation"},children:this.main}]})}_createVoiceLabel(){const e=this.t,t=new A;return t.text=e("Rich Text Editor"),t.extendTemplate({attributes:{class:"ck-voice-label"}}),t}}class C extends f.a{constructor(e,t,o){super(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:e.contentLanguage,dir:e.contentLanguageDirection}}),this.name=null,this.set("isFocused",!1),this._editableElement=o,this._hasExternalElement=!!this._editableElement,this._editingView=t}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",()=>this._updateIsFocusedClasses()),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}_updateIsFocusedClasses(){const e=this._editingView;function t(t){e.change(o=>{const i=e.document.getRoot(t.name);o.addClass(t.isFocused?"ck-focused":"ck-blurred",i),o.removeClass(t.isFocused?"ck-blurred":"ck-focused",i)})}e.isRenderingInProgress?function o(i){e.once("change:isRenderingInProgress",(e,s,r)=>{r?o(i):t(i)})}(this):t(this)}}class E extends C{constructor(e,t,o){super(e,t,o),this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}})}render(){super.render();const e=this._editingView,t=this.t;e.change(o=>{const i=e.document.getRoot(this.name);o.setAttribute("aria-label",t("Rich Text Editor, %0",this.name),i)})}}o("./packages/ckeditor5-ui/theme/components/formheader/formheader.css");class S extends f.a{constructor(e,t={}){super(e);const o=this.bindTemplate;this.set("label",t.label||""),this.set("class",t.class||null),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",o.to("class")]},children:this.children});const i=new f.a(e);i.setTemplate({tag:"span",attributes:{class:["ck","ck-form__header__label"]},children:[{text:o.to("label")}]}),this.children.add(i)}}var R=o("./packages/ckeditor5-ui/src/icon/iconview.js");o("./packages/ckeditor5-ui/theme/components/inputtext/inputtext.css");class M extends f.a{constructor(e){super(e),this.set("value"),this.set("id"),this.set("placeholder"),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById"),this.focusTracker=new k.a,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0);const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{type:"text",class:["ck","ck-input","ck-input-text",t.if("isFocused","ck-input_focused"),t.if("isEmpty","ck-input-text_empty"),t.if("hasError","ck-error")],id:t.to("id"),placeholder:t.to("placeholder"),readonly:t.to("isReadOnly"),"aria-invalid":t.if("hasError",!0),"aria-describedby":t.to("ariaDescribedById")},on:{input:t.to((...e)=>{this.fire("input",...e),this._updateIsEmpty()}),change:t.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",(e,t,o)=>{this._setDomElementValue(o),this._updateIsEmpty()})}select(){this.element.select()}focus(){this.element.focus()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(e){this.element.value=e||0===e?e:""}}class N extends f.a{constructor(e){super(e);const t=this.bindTemplate;this.setTemplate({tag:"iframe",attributes:{class:["ck","ck-reset_all"],sandbox:"allow-same-origin allow-scripts"},on:{load:t.to("loaded")}})}render(){return new Promise(e=>{this.on("loaded",e),super.render()})}}o("./packages/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css");class I extends f.a{constructor(e,t){super(e);const o="ck-labeled-field-view-"+Object(O.a)(),i="ck-labeled-field-view-status-"+Object(O.a)();this.fieldView=t(this,o,i),this.set("label"),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class"),this.set("placeholder"),this.labelView=this._createLabelView(o),this.statusView=this._createStatusView(i),this.bind("_statusText").to(this,"errorText",this,"infoText",(e,t)=>e||t);const s=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",s.to("class"),s.if("isEnabled","ck-disabled",e=>!e),s.if("isEmpty","ck-labeled-field-view_empty"),s.if("isFocused","ck-labeled-field-view_focused"),s.if("placeholder","ck-labeled-field-view_placeholder"),s.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:[this.fieldView,this.labelView]},this.statusView]})}_createLabelView(e){const t=new A(this.locale);return t.for=e,t.bind("text").to(this,"label"),t}_createStatusView(e){const t=new f.a(this.locale),o=this.bindTemplate;return t.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",o.if("errorText","ck-labeled-field-view__status_error"),o.if("_statusText","ck-hidden",e=>!e)],id:e,role:o.if("errorText","alert")},children:[{text:o.to("_statusText")}]}),t}focus(){this.fieldView.focus()}}function z(e,t,o){const i=new M(e.locale);return i.set({id:t,ariaDescribedById:o}),i.bind("isReadOnly").to(e,"isEnabled",e=>!e),i.bind("hasError").to(e,"errorText",e=>!!e),i.on("input",()=>{e.errorText=null}),e.bind("isEmpty","isFocused","placeholder").to(i),i}function V(e,t,o){const i=Object(x.c)(e.locale);return i.set({id:t,ariaDescribedById:o}),i.bind("isEnabled").to(e),i}var D=o("./packages/ckeditor5-ui/src/list/listitemview.js"),B=o("./packages/ckeditor5-ui/src/list/listview.js"),F=o("./packages/ckeditor5-core/src/contextplugin.js");class L extends F.a{static get pluginName(){return"Notification"}init(){this.on("show:warning",(e,t)=>{window.alert(t.message)},{priority:"lowest"})}showSuccess(e,t={}){this._showNotification({message:e,type:"success",namespace:t.namespace,title:t.title})}showInfo(e,t={}){this._showNotification({message:e,type:"info",namespace:t.namespace,title:t.title})}showWarning(e,t={}){this._showNotification({message:e,type:"warning",namespace:t.namespace,title:t.title})}_showNotification(e){const t="show:"+e.type+(e.namespace?":"+e.namespace:"");this.fire(t,{message:e.message,type:e.type,title:e.title||""})}}var W=o("./packages/ckeditor5-utils/src/mix.js"),H=o("./packages/ckeditor5-utils/src/observablemixin.js"),q=o("./node_modules/lodash-es/assignIn.js");class ${constructor(e,t){t&&Object(q.a)(this,t),e&&this.set(e)}}Object(W.a)($,H.a);var U=o("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),K=o("./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js"),G=o("./packages/ckeditor5-utils/src/dom/global.js"),J=o("./packages/ckeditor5-utils/src/dom/tounit.js");o("./packages/ckeditor5-ui/theme/components/panel/stickypanel.css");const Y=Object(J.a)("px");class X extends f.a{constructor(e){super(e);const t=this.bindTemplate;this.set("isActive",!1),this.set("isSticky",!1),this.set("limiterElement",null),this.set("limiterBottomOffset",50),this.set("viewportTopOffset",0),this.set("_marginLeft",null),this.set("_isStickyToTheLimiter",!1),this.set("_hasViewportTopOffset",!1),this.content=this.createCollection(),this._contentPanelPlaceholder=new n.a({tag:"div",attributes:{class:["ck","ck-sticky-panel__placeholder"],style:{display:t.to("isSticky",e=>e?"block":"none"),height:t.to("isSticky",e=>e?Y(this._panelRect.height):null)}}}).render(),this._contentPanel=new n.a({tag:"div",attributes:{class:["ck","ck-sticky-panel__content",t.if("isSticky","ck-sticky-panel__content_sticky"),t.if("_isStickyToTheLimiter","ck-sticky-panel__content_sticky_bottom-limit")],style:{width:t.to("isSticky",e=>e?Y(this._contentPanelPlaceholder.getBoundingClientRect().width):null),top:t.to("_hasViewportTopOffset",e=>e?Y(this.viewportTopOffset):null),bottom:t.to("_isStickyToTheLimiter",e=>e?Y(this.limiterBottomOffset):null),marginLeft:t.to("_marginLeft")}},children:this.content}).render(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-sticky-panel"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render(),this._checkIfShouldBeSticky(),this.listenTo(G.a.window,"scroll",()=>{this._checkIfShouldBeSticky()}),this.listenTo(this,"change:isActive",()=>{this._checkIfShouldBeSticky()})}_checkIfShouldBeSticky(){const e=this._panelRect=this._contentPanel.getBoundingClientRect();let t;this.limiterElement?(t=this._limiterRect=this.limiterElement.getBoundingClientRect(),this.isSticky=this.isActive&&t.top<this.viewportTopOffset&&this._panelRect.height+this.limiterBottomOffset<t.height):this.isSticky=!1,this.isSticky?(this._isStickyToTheLimiter=t.bottom<e.height+this.limiterBottomOffset+this.viewportTopOffset,this._hasViewportTopOffset=!this._isStickyToTheLimiter&&!!this.viewportTopOffset,this._marginLeft=this._isStickyToTheLimiter?null:Y(-G.a.window.scrollX)):(this._isStickyToTheLimiter=!1,this._hasViewportTopOffset=!1,this._marginLeft=null)}}var Z=o("./packages/ckeditor5-ui/src/tooltip/tooltipview.js"),Q=o("./packages/ckeditor5-ui/src/toolbar/toolbarview.js"),ee=o("./packages/ckeditor5-ui/src/toolbar/toolbarseparatorview.js");function te({origin:e,originKeystrokeHandler:t,originFocusTracker:o,toolbar:i,beforeFocus:s,afterBlur:r}){o.add(i.element),t.set("Alt+F10",(e,t)=>{o.isFocused&&!i.focusTracker.isFocused&&(s&&s(),i.focus(),t())}),i.keystrokes.set("Esc",(t,o)=>{i.focusTracker.isFocused&&(e.focus(),r&&r(),o())})}var oe=o("./packages/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js"),ie=o("./packages/ckeditor5-core/src/plugin.js"),se=o("./packages/ckeditor5-utils/src/dom/rect.js"),re=o("./node_modules/lodash-es/debounce.js"),ne=o("./packages/ckeditor5-utils/src/dom/resizeobserver.js");const ae=Object(J.a)("px");class ce extends ie.a{static get pluginName(){return"BalloonToolbar"}static get requires(){return[K.a]}constructor(e){super(e),this._balloonConfig=Object(oe.a)(e.config.get("balloonToolbar")),this.toolbarView=this._createToolbarView(),this.focusTracker=new k.a,e.ui.once("ready",()=>{this.focusTracker.add(e.ui.getEditableElement()),this.focusTracker.add(this.toolbarView.element)}),this._resizeObserver=null,this._balloon=e.plugins.get(K.a),this._fireSelectionChangeDebounced=Object(re.a)(()=>this.fire("_selectionChangeDebounced"),200),this.decorate("show")}init(){const e=this.editor,t=e.model.document.selection;this.listenTo(this.focusTracker,"change:isFocused",(e,t,o)=>{const i=this._balloon.visibleView===this.toolbarView;!o&&i?this.hide():o&&this.show()}),this.listenTo(t,"change:range",(e,o)=>{(o.directChange||t.isCollapsed)&&this.hide(),this._fireSelectionChangeDebounced()}),this.listenTo(this,"_selectionChangeDebounced",()=>{this.editor.editing.view.document.isFocused&&this.show()}),this._balloonConfig.shouldNotGroupWhenFull||this.listenTo(e,"ready",()=>{const t=e.ui.view.editable.element;this._resizeObserver=new ne.a(t,()=>{this.toolbarView.maxWidth=ae(.9*new se.a(t).width)})}),this.listenTo(this.toolbarView,"groupedItemsUpdate",()=>{this._updatePosition()})}afterInit(){const e=this.editor.ui.componentFactory;this.toolbarView.fillFromConfig(this._balloonConfig,e)}_createToolbarView(){const e=!this._balloonConfig.shouldNotGroupWhenFull,t=new Q.a(this.editor.locale,{shouldGroupWhenFull:e,isFloating:!0});return t.render(),t}show(){const e=this.editor,t=e.model.document.selection,o=e.model.schema;this._balloon.hasView(this.toolbarView)||t.isCollapsed||function(e,t){if(1===e.rangeCount)return!1;return[...e.getRanges()].every(e=>{const o=e.getContainedElement();return o&&t.isSelectable(o)})}(t,o)||Array.from(this.toolbarView.items).every(e=>void 0!==e.isEnabled&&!e.isEnabled)||(this.listenTo(this.editor.ui,"update",()=>{this._updatePosition()}),this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"}))}hide(){this._balloon.hasView(this.toolbarView)&&(this.stopListening(this.editor.ui,"update"),this._balloon.remove(this.toolbarView))}_getBalloonPositionData(){const e=this.editor.editing.view,t=e.document,o=t.selection,i=t.selection.isBackward;return{target:()=>{const t=i?o.getFirstRange():o.getLastRange(),s=se.a.getDomRangeRects(e.domConverter.viewRangeToDom(t));return i?s[0]:(s.length>1&&0===s[s.length-1].width&&s.pop(),s[s.length-1])},positions:le(i)}}_updatePosition(){this._balloon.updatePosition(this._getBalloonPositionData())}destroy(){super.destroy(),this.stopListening(),this._fireSelectionChangeDebounced.cancel(),this.toolbarView.destroy(),this.focusTracker.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}}function le(e){const t=U.a.defaultPositions;return e?[t.northWestArrowSouth,t.northWestArrowSouthWest,t.northWestArrowSouthEast,t.northWestArrowSouthMiddleEast,t.northWestArrowSouthMiddleWest,t.southWestArrowNorth,t.southWestArrowNorthWest,t.southWestArrowNorthEast,t.southWestArrowNorthMiddleWest,t.southWestArrowNorthMiddleEast]:[t.southEastArrowNorth,t.southEastArrowNorthEast,t.southEastArrowNorthWest,t.southEastArrowNorthMiddleEast,t.southEastArrowNorthMiddleWest,t.northEastArrowSouth,t.northEastArrowSouthEast,t.northEastArrowSouthWest,t.northEastArrowSouthMiddleEast,t.northEastArrowSouthMiddleWest]}var de=o("./packages/ckeditor5-core/theme/icons/pilcrow.svg");o("./packages/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css");const ue=Object(J.a)("px");class he extends d.a{constructor(e){super(e);const t=this.bindTemplate;this.isVisible=!1,this.isToggleable=!0,this.set("top",0),this.set("left",0),this.extendTemplate({attributes:{class:"ck-block-toolbar-button",style:{top:t.to("top",e=>ue(e)),left:t.to("left",e=>ue(e))}}})}}var pe=o("./packages/ckeditor5-utils/src/dom/position.js");const ge=Object(J.a)("px");class fe extends ie.a{static get pluginName(){return"BlockToolbar"}constructor(e){super(e),this._blockToolbarConfig=Object(oe.a)(this.editor.config.get("blockToolbar")),this.toolbarView=this._createToolbarView(),this.panelView=this._createPanelView(),this.buttonView=this._createButtonView(),this._resizeObserver=null,Object(i.a)({emitter:this.panelView,contextElements:[this.panelView.element,this.buttonView.element],activator:()=>this.panelView.isVisible,callback:()=>this._hidePanel()})}init(){const e=this.editor;this.listenTo(e.model.document.selection,"change:range",(e,t)=>{t.directChange&&this._hidePanel()}),this.listenTo(e.ui,"update",()=>this._updateButton()),this.listenTo(e,"change:isReadOnly",()=>this._updateButton(),{priority:"low"}),this.listenTo(e.ui.focusTracker,"change:isFocused",()=>this._updateButton()),this.listenTo(this.buttonView,"change:isVisible",(e,t,o)=>{o?this.buttonView.listenTo(window,"resize",()=>this._updateButton()):(this.buttonView.stopListening(window,"resize"),this._hidePanel())})}afterInit(){const e=this.editor.ui.componentFactory,t=this._blockToolbarConfig;this.toolbarView.fillFromConfig(t,e);for(const e of this.toolbarView.items)e.on("execute",()=>this._hidePanel(!0),{priority:"high"});t.shouldNotGroupWhenFull||this.listenTo(this.editor,"ready",()=>{const e=this.editor.ui.view.editable.element;this._resizeObserver=new ne.a(e,()=>{this.toolbarView.maxWidth=this._getToolbarMaxWidth()})})}destroy(){super.destroy(),this.panelView.destroy(),this.buttonView.destroy(),this.toolbarView.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_createToolbarView(){const e=!this._blockToolbarConfig.shouldNotGroupWhenFull,t=new Q.a(this.editor.locale,{shouldGroupWhenFull:e,isFloating:!0});return t.focusTracker.on("change:isFocused",(e,t,o)=>{o||this._hidePanel()}),t}_createPanelView(){const e=this.editor,t=new U.a(e.locale);return t.content.add(this.toolbarView),t.class="ck-toolbar-container",e.ui.view.body.add(t),e.ui.focusTracker.add(t.element),this.toolbarView.keystrokes.set("Esc",(e,t)=>{this._hidePanel(!0),t()}),t}_createButtonView(){const e=this.editor,t=e.t,o=new he(e.locale);return o.set({label:t("Edit block"),icon:de.a,withText:!1}),o.bind("isOn").to(this.panelView,"isVisible"),o.bind("tooltip").to(this.panelView,"isVisible",e=>!e),this.listenTo(o,"execute",()=>{this.panelView.isVisible?this._hidePanel(!0):this._showPanel()}),e.ui.view.body.add(o),e.ui.focusTracker.add(o.element),o}_updateButton(){const e=this.editor,t=e.model,o=e.editing.view;if(!e.ui.focusTracker.isFocused)return void this._hideButton();if(e.isReadOnly)return void this._hideButton();const i=Array.from(t.document.selection.getSelectedBlocks())[0];if(!i||Array.from(this.toolbarView.items).every(e=>!e.isEnabled))return void this._hideButton();const s=o.domConverter.mapViewToDom(e.editing.mapper.toViewElement(i));this.buttonView.isVisible=!0,this._attachButtonToElement(s),this.panelView.isVisible&&this._showPanel()}_hideButton(){this.buttonView.isVisible=!1}_showPanel(){const e=this.panelView.isVisible;this.panelView.show(),this.toolbarView.maxWidth=this._getToolbarMaxWidth(),this.panelView.pin({target:this.buttonView.element,limiter:this.editor.ui.getEditableElement()}),e||this.toolbarView.items.get(0).focus()}_hidePanel(e){this.panelView.isVisible=!1,e&&this.editor.editing.view.focus()}_attachButtonToElement(e){const t=window.getComputedStyle(e),o=new se.a(this.editor.ui.getEditableElement()),i=parseInt(t.paddingTop,10),s=parseInt(t.lineHeight,10)||1.2*parseInt(t.fontSize,10),r=Object(pe.a)({element:this.buttonView.element,target:e,positions:[(e,t)=>{let r;return r="ltr"===this.editor.locale.uiLanguageDirection?o.left-t.width:o.right,{top:e.top+i+(s-t.height)/2,left:r}}]});this.buttonView.top=r.top,this.buttonView.left=r.left}_getToolbarMaxWidth(){const e=this.editor.ui.view.editable.element,t=new se.a(e),o=new se.a(this.buttonView.element),i="rtl"===this.editor.locale.uiLanguageDirection?o.left-t.right+o.width:t.left-o.left;return ge(t.width+i)}}},"./src/undo.js":function(e,t,o){"use strict";o.r(t),o.d(t,"Undo",(function(){return m})),o.d(t,"UndoEditing",(function(){return u})),o.d(t,"UndoUi",(function(){return f}));var i=o("./packages/ckeditor5-core/src/plugin.js"),s=o("./packages/ckeditor5-core/src/command.js"),r=o("./packages/ckeditor5-engine/src/model/operation/transform.js");class n extends s.a{constructor(e){super(e),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this.listenTo(e.data,"set",(e,t)=>{t[1]={...t[1]};const o=t[1];o.batchType||(o.batchType="transparent")},{priority:"high"}),this.listenTo(e.data,"set",(e,t)=>{"transparent"===t[1].batchType&&this.clearStack()})}refresh(){this.isEnabled=this._stack.length>0}addBatch(e){const t=this.editor.model.document.selection,o={ranges:t.hasOwnRange?Array.from(t.getRanges()):[],isBackward:t.isBackward};this._stack.push({batch:e,selection:o}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(e,t,o){const i=this.editor.model,s=i.document,r=[],n=e.map(e=>e.getTransformedByOperations(o)),l=n.flat();for(const e of n){const t=e.filter(e=>e.root!=s.graveyard).filter(e=>!c(e,l));t.length&&(a(t),r.push(t[0]))}r.length&&i.change(e=>{e.setSelection(r,{backward:t})})}_undo(e,t){const o=this.editor.model,i=o.document;this._createdBatches.add(t);const s=e.operations.slice().filter(e=>e.isDocumentOperation);s.reverse();for(const e of s){const s=e.baseVersion+1,n=Array.from(i.history.getOperations(s)),a=Object(r.a)([e.getReversed()],n,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(const s of a)t.addOperation(s),o.applyOperation(s),i.history.setOperationAsUndone(e,s)}}}function a(e){e.sort((e,t)=>e.start.isBefore(t.start)?-1:1);for(let t=1;t<e.length;t++){const o=e[t-1].getJoined(e[t],!0);o&&(t--,e.splice(t,2,o))}}function c(e,t){return t.some(t=>t!==e&&t.containsRange(e,!0))}class l extends n{execute(e=null){const t=e?this._stack.findIndex(t=>t.batch==e):this._stack.length-1,o=this._stack.splice(t,1)[0],i=this.editor.model.createBatch("transparent");this.editor.model.enqueueChange(i,()=>{this._undo(o.batch,i);const e=this.editor.model.document.history.getOperations(o.batch.baseVersion);this._restoreSelection(o.selection.ranges,o.selection.isBackward,e),this.fire("revert",o.batch,i)}),this.refresh()}}class d extends n{execute(){const e=this._stack.pop(),t=this.editor.model.createBatch("transparent");this.editor.model.enqueueChange(t,()=>{const o=e.batch.operations[e.batch.operations.length-1].baseVersion+1,i=this.editor.model.document.history.getOperations(o);this._restoreSelection(e.selection.ranges,e.selection.isBackward,i),this._undo(e.batch,t)}),this.refresh()}}class u extends i.a{static get pluginName(){return"UndoEditing"}constructor(e){super(e),this._batchRegistry=new WeakSet}init(){const e=this.editor;this._undoCommand=new l(e),this._redoCommand=new d(e),e.commands.add("undo",this._undoCommand),e.commands.add("redo",this._redoCommand),this.listenTo(e.model,"applyOperation",(e,t)=>{const o=t[0];if(!o.isDocumentOperation)return;const i=o.batch,s=this._redoCommand._createdBatches.has(i),r=this._undoCommand._createdBatches.has(i);this._batchRegistry.has(i)||"transparent"==i.type&&!s&&!r||(s?this._undoCommand.addBatch(i):r||(this._undoCommand.addBatch(i),this._redoCommand.clearStack()),this._batchRegistry.add(i))},{priority:"highest"}),this.listenTo(this._undoCommand,"revert",(e,t,o)=>{this._redoCommand.addBatch(o)}),e.keystrokes.set("CTRL+Z","undo"),e.keystrokes.set("CTRL+Y","redo"),e.keystrokes.set("CTRL+SHIFT+Z","redo")}}var h=o("./packages/ckeditor5-ui/src/button/buttonview.js"),p='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m5.042 9.367 2.189 1.837a.75.75 0 0 1-.965 1.149l-3.788-3.18a.747.747 0 0 1-.21-.284.75.75 0 0 1 .17-.945L6.23 4.762a.75.75 0 1 1 .964 1.15L4.863 7.866h8.917A.75.75 0 0 1 14 7.9a4 4 0 1 1-1.477 7.718l.344-1.489a2.5 2.5 0 1 0 1.094-4.73l.008-.032H5.042z"/></svg>',g='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m14.958 9.367-2.189 1.837a.75.75 0 0 0 .965 1.149l3.788-3.18a.747.747 0 0 0 .21-.284.75.75 0 0 0-.17-.945L13.77 4.762a.75.75 0 1 0-.964 1.15l2.331 1.955H6.22A.75.75 0 0 0 6 7.9a4 4 0 1 0 1.477 7.718l-.344-1.489A2.5 2.5 0 1 1 6.039 9.4l-.008-.032h8.927z"/></svg>';class f extends i.a{static get pluginName(){return"UndoUI"}init(){const e=this.editor,t=e.locale,o=e.t,i="ltr"==t.uiLanguageDirection?p:g,s="ltr"==t.uiLanguageDirection?g:p;this._addButton("undo",o("Undo"),"CTRL+Z",i),this._addButton("redo",o("Redo"),"CTRL+Y",s)}_addButton(e,t,o,i){const s=this.editor;s.ui.componentFactory.add(e,r=>{const n=s.commands.get(e),a=new h.a(r);return a.set({label:t,icon:i,keystroke:o,tooltip:!0}),a.bind("isEnabled").to(n,"isEnabled"),this.listenTo(a,"execute",()=>{s.execute(e),s.editing.view.focus()}),a})}}class m extends i.a{static get requires(){return[u,f]}static get pluginName(){return"Undo"}}},"./src/upload.js":function(e,t,o){"use strict";o.r(t),o.d(t,"FileRepository",(function(){return u})),o.d(t,"FileDialogButtonView",(function(){return f})),o.d(t,"Base64UploadAdapter",(function(){return k})),o.d(t,"SimpleUploadAdapter",(function(){return _}));var i=o("./packages/ckeditor5-core/src/plugin.js"),s=o("./packages/ckeditor5-core/src/pendingactions.js"),r=o("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=o("./packages/ckeditor5-utils/src/observablemixin.js"),a=o("./packages/ckeditor5-utils/src/collection.js"),c=o("./packages/ckeditor5-utils/src/mix.js");class l{constructor(){const e=new window.FileReader;this._reader=e,this._data=void 0,this.set("loaded",0),e.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(e){const t=this._reader;return this.total=e.size,new Promise((o,i)=>{t.onload=()=>{const e=t.result;this._data=e,o(e)},t.onerror=()=>{i("error")},t.onabort=()=>{i("aborted")},this._reader.readAsDataURL(e)})}abort(){this._reader.abort()}}Object(c.a)(l,n.a);var d=o("./packages/ckeditor5-utils/src/uid.js");class u extends i.a{static get pluginName(){return"FileRepository"}static get requires(){return[s.a]}init(){this.loaders=new a.a,this.loaders.on("add",()=>this._updatePendingAction()),this.loaders.on("remove",()=>this._updatePendingAction()),this._loadersMap=new Map,this._pendingAction=null,this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(e,t)=>t?e/t*100:0)}getLoader(e){return this._loadersMap.get(e)||null}createLoader(e){if(!this.createUploadAdapter)return Object(r.c)("filerepository-no-upload-adapter"),null;const t=new h(Promise.resolve(e),this.createUploadAdapter);return this.loaders.add(t),this._loadersMap.set(e,t),e instanceof Promise&&t.file.then(e=>{this._loadersMap.set(e,t)}).catch(()=>{}),t.on("change:uploaded",()=>{let e=0;for(const t of this.loaders)e+=t.uploaded;this.uploaded=e}),t.on("change:uploadTotal",()=>{let e=0;for(const t of this.loaders)t.uploadTotal&&(e+=t.uploadTotal);this.uploadTotal=e}),t}destroyLoader(e){const t=e instanceof h?e:this.getLoader(e);t._destroy(),this.loaders.remove(t),this._loadersMap.forEach((e,o)=>{e===t&&this._loadersMap.delete(o)})}_updatePendingAction(){const e=this.editor.plugins.get(s.a);if(this.loaders.length){if(!this._pendingAction){const t=this.editor.t,o=e=>`${t("Upload in progress")} ${parseInt(e)}%.`;this._pendingAction=e.add(o(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",o)}}else e.remove(this._pendingAction),this._pendingAction=null}}Object(c.a)(u,n.a);class h{constructor(e,t){this.id=Object(d.a)(),this._filePromiseWrapper=this._createFilePromiseWrapper(e),this._adapter=t(this),this._reader=new l,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(e,t)=>t?e/t*100:0),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then(e=>this._filePromiseWrapper?e:null):Promise.resolve(null)}get data(){return this._reader.data}read(){if("idle"!=this.status)throw new r.a("filerepository-read-wrong-status",this);return this.status="reading",this.file.then(e=>this._reader.read(e)).then(e=>{if("reading"!==this.status)throw this.status;return this.status="idle",e}).catch(e=>{if("aborted"===e)throw this.status="aborted","aborted";throw this.status="error",this._reader.error?this._reader.error:e})}upload(){if("idle"!=this.status)throw new r.a("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then(()=>this._adapter.upload()).then(e=>(this.uploadResponse=e,this.status="idle",e)).catch(e=>{if("aborted"===this.status)throw"aborted";throw this.status="error",e})}abort(){const e=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?"reading"==e?this._reader.abort():"uploading"==e&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch(()=>{}),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(e){const t={};return t.promise=new Promise((o,i)=>{t.rejecter=i,t.isFulfilled=!1,e.then(e=>{t.isFulfilled=!0,o(e)}).catch(e=>{t.isFulfilled=!0,i(e)})}),t}}Object(c.a)(h,n.a);var p=o("./packages/ckeditor5-ui/src/button/buttonview.js"),g=o("./packages/ckeditor5-ui/src/view.js");class f extends g.a{constructor(e){super(e),this.buttonView=new p.a(e),this._fileInputView=new m(e),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.setTemplate({tag:"span",attributes:{class:"ck-file-dialog-button"},children:[this.buttonView,this._fileInputView]}),this.buttonView.on("execute",()=>{this._fileInputView.open()})}focus(){this.buttonView.focus()}}class m extends g.a{constructor(e){super(e),this.set("acceptedType"),this.set("allowMultipleFiles",!1);const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:t.to("acceptedType"),multiple:t.to("allowMultipleFiles")},on:{change:t.to(()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""})}})}open(){this.element.click()}}class k extends i.a{static get requires(){return[u]}static get pluginName(){return"Base64UploadAdapter"}init(){this.editor.plugins.get(u).createUploadAdapter=e=>new b(e)}}class b{constructor(e){this.loader=e}upload(){return new Promise((e,t)=>{const o=this.reader=new window.FileReader;o.addEventListener("load",()=>{e({default:o.result})}),o.addEventListener("error",e=>{t(e)}),o.addEventListener("abort",()=>{t()}),this.loader.file.then(e=>{o.readAsDataURL(e)})})}abort(){this.reader.abort()}}class _ extends i.a{static get requires(){return[u]}static get pluginName(){return"SimpleUploadAdapter"}init(){const e=this.editor.config.get("simpleUpload");e&&(e.uploadUrl?this.editor.plugins.get(u).createUploadAdapter=t=>new w(t,e):Object(r.c)("simple-upload-adapter-missing-uploadurl"))}}class w{constructor(e,t){this.loader=e,this.options=t}upload(){return this.loader.file.then(e=>new Promise((t,o)=>{this._initRequest(),this._initListeners(t,o,e),this._sendRequest(e)}))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const e=this.xhr=new XMLHttpRequest;e.open("POST",this.options.uploadUrl,!0),e.responseType="json"}_initListeners(e,t,o){const i=this.xhr,s=this.loader,r=`Couldn't upload file: ${o.name}.`;i.addEventListener("error",()=>t(r)),i.addEventListener("abort",()=>t()),i.addEventListener("load",()=>{const o=i.response;if(!o||o.error)return t(o&&o.error&&o.error.message?o.error.message:r);const s=o.url?{default:o.url}:o.urls;e({...o,urls:s})}),i.upload&&i.upload.addEventListener("progress",e=>{e.lengthComputable&&(s.uploadTotal=e.total,s.uploaded=e.loaded)})}_sendRequest(e){const t=this.options.headers||{},o=this.options.withCredentials||!1;for(const e of Object.keys(t))this.xhr.setRequestHeader(e,t[e]);this.xhr.withCredentials=o;const i=new FormData;i.append("upload",e),this.xhr.send(i)}}},"./src/utils.js":function(e,t,o){"use strict";o.r(t);var i=o("./packages/ckeditor5-utils/src/index.js");o.d(t,"env",(function(){return i.n})),o.d(t,"diff",(function(){return i.m})),o.d(t,"mix",(function(){return i.A})),o.d(t,"EmitterMixin",(function(){return i.e})),o.d(t,"ObservableMixin",(function(){return i.i})),o.d(t,"CKEditorError",(function(){return i.a})),o.d(t,"logError",(function(){return i.y})),o.d(t,"logWarning",(function(){return i.z})),o.d(t,"ElementReplacer",(function(){return i.d})),o.d(t,"createElement",(function(){return i.l})),o.d(t,"DomEmitterMixin",(function(){return i.c})),o.d(t,"global",(function(){return i.u})),o.d(t,"getDataFromElement",(function(){return i.q})),o.d(t,"Rect",(function(){return i.j})),o.d(t,"ResizeObserver",(function(){return i.k})),o.d(t,"setDataInElement",(function(){return i.D})),o.d(t,"toUnit",(function(){return i.G})),o.d(t,"keyCodes",(function(){return i.x})),o.d(t,"getCode",(function(){return i.p})),o.d(t,"parseKeystroke",(function(){return i.B})),o.d(t,"getEnvKeystrokeText",(function(){return i.r})),o.d(t,"isArrowKeyCode",(function(){return i.v})),o.d(t,"getLocalizedArrowKeyCodeDirection",(function(){return i.t})),o.d(t,"isForwardArrowKeyCode",(function(){return i.w})),o.d(t,"getLanguageDirection",(function(){return i.s})),o.d(t,"Locale",(function(){return i.h})),o.d(t,"Collection",(function(){return i.b})),o.d(t,"first",(function(){return i.o})),o.d(t,"FocusTracker",(function(){return i.f})),o.d(t,"KeystrokeHandler",(function(){return i.g})),o.d(t,"toArray",(function(){return i.E})),o.d(t,"toMap",(function(){return i.F})),o.d(t,"priorities",(function(){return i.C})),o.d(t,"uid",(function(){return i.H})),o.d(t,"version",(function(){return i.I}))},"./src/widget.js":function(e,t,o){"use strict";o.r(t),o.d(t,"Widget",(function(){return i.a})),o.d(t,"WidgetToolbarRepository",(function(){return d})),o.d(t,"WidgetResize",(function(){return O})),o.d(t,"WidgetTypeAround",(function(){return A.a})),o.d(t,"WIDGET_CLASS_NAME",(function(){return c.a})),o.d(t,"WIDGET_SELECTED_CLASS_NAME",(function(){return c.b})),o.d(t,"isWidget",(function(){return c.e})),o.d(t,"toWidget",(function(){return c.h})),o.d(t,"setHighlightHandling",(function(){return c.f})),o.d(t,"setLabel",(function(){return c.g})),o.d(t,"getLabel",(function(){return c.d})),o.d(t,"toWidgetEditable",(function(){return c.i})),o.d(t,"findOptimalInsertionRange",(function(){return c.c})),o.d(t,"viewToModelPositionOutsideModelElement",(function(){return c.j}));var i=o("./packages/ckeditor5-widget/src/widget.js"),s=o("./packages/ckeditor5-core/src/plugin.js"),r=o("./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js"),n=o("./packages/ckeditor5-ui/src/toolbar/toolbarview.js"),a=o("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),c=o("./packages/ckeditor5-widget/src/utils.js"),l=o("./packages/ckeditor5-utils/src/ckeditorerror.js");class d extends s.a{static get requires(){return[r.a]}static get pluginName(){return"WidgetToolbarRepository"}init(){const e=this.editor;if(e.plugins.has("BalloonToolbar")){const t=e.plugins.get("BalloonToolbar");this.listenTo(t,"show",t=>{(function(e){const t=e.getSelectedElement();return!(!t||!Object(c.e)(t))})(e.editing.view.document.selection)&&t.stop()},{priority:"high"})}this._toolbarDefinitions=new Map,this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",()=>{this._updateToolbarsVisibility()}),this.listenTo(e.ui,"update",()=>{this._updateToolbarsVisibility()}),this.listenTo(e.ui.focusTracker,"change:isFocused",()=>{this._updateToolbarsVisibility()},{priority:"low"})}destroy(){super.destroy();for(const e of this._toolbarDefinitions.values())e.view.destroy()}register(e,{ariaLabel:t,items:o,getRelatedElement:i,balloonClassName:s="ck-toolbar-container"}){if(!o.length)return void Object(l.c)("widget-toolbar-no-items",{toolbarId:e});const r=this.editor,a=r.t,c=new n.a(r.locale);if(c.ariaLabel=t||a("Widget toolbar"),this._toolbarDefinitions.has(e))throw new l.a("widget-toolbar-duplicated",this,{toolbarId:e});c.fillFromConfig(o,r.ui.componentFactory),this._toolbarDefinitions.set(e,{view:c,getRelatedElement:i,balloonClassName:s})}_updateToolbarsVisibility(){let e=0,t=null,o=null;for(const i of this._toolbarDefinitions.values()){const s=i.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&s)if(this.editor.ui.focusTracker.isFocused){const r=s.getAncestors().length;r>e&&(e=r,t=s,o=i)}else this._isToolbarVisible(i)&&this._hideToolbar(i);else this._isToolbarInBalloon(i)&&this._hideToolbar(i)}o&&this._showToolbar(o,t)}_hideToolbar(e){this._balloon.remove(e.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(e,t){this._isToolbarVisible(e)?u(this.editor,t):this._isToolbarInBalloon(e)||(this._balloon.add({view:e.view,position:h(this.editor,t),balloonClassName:e.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const e of this._toolbarDefinitions.values())if(this._isToolbarVisible(e)){const t=e.getRelatedElement(this.editor.editing.view.document.selection);u(this.editor,t)}}))}_isToolbarVisible(e){return this._balloon.visibleView===e.view}_isToolbarInBalloon(e){return this._balloon.hasView(e.view)}}function u(e,t){const o=e.plugins.get("ContextualBalloon"),i=h(e,t);o.updatePosition(i)}function h(e,t){const o=e.editing.view,i=a.a.defaultPositions;return{target:o.domConverter.mapViewToDom(t),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}var p=o("./packages/ckeditor5-ui/src/template.js"),g=o("./packages/ckeditor5-utils/src/dom/rect.js"),f=o("./packages/ckeditor5-utils/src/comparearrays.js"),m=o("./packages/ckeditor5-utils/src/observablemixin.js"),k=o("./packages/ckeditor5-utils/src/mix.js");class b{constructor(e){this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=e,this._referenceCoordinates=null}begin(e,t,o){const i=new g.a(t);this.activeHandlePosition=function(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const o of t)if(e.classList.contains("ck-widget__resizer__handle-"+o))return o}(e),this._referenceCoordinates=function(e,t){const o=new g.a(e),i=t.split("-"),s={x:"right"==i[1]?o.right:o.left,y:"bottom"==i[0]?o.bottom:o.top};return s.x+=e.ownerDocument.defaultView.scrollX,s.y+=e.ownerDocument.defaultView.scrollY,s}(t,function(e){const t=e.split("-"),o={top:"bottom",bottom:"top",left:"right",right:"left"};return`${o[t[0]]}-${o[t[1]]}`}(this.activeHandlePosition)),this.originalWidth=i.width,this.originalHeight=i.height,this.aspectRatio=i.width/i.height;const s=o.style.width;s&&s.match(/^\d+(\.\d*)?%$/)?this.originalWidthPercents=parseFloat(s):this.originalWidthPercents=function(e,t){const o=e.parentElement,i=parseFloat(o.ownerDocument.defaultView.getComputedStyle(o).width);return t.width/i*100}(o,i)}update(e){this.proposedWidth=e.width,this.proposedHeight=e.height,this.proposedWidthPercents=e.widthPercents,this.proposedHandleHostWidth=e.handleHostWidth,this.proposedHandleHostHeight=e.handleHostHeight}}Object(k.a)(b,m.a);var _=o("./packages/ckeditor5-ui/src/view.js");class w extends _.a{constructor(){super();const e=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",e.to("_viewPosition",e=>e?"ck-orientation-"+e:"")],style:{display:e.if("_isVisible","none",e=>!e)}},children:[{text:e.to("_label")}]})}_bindToState(e,t){this.bind("_isVisible").to(t,"proposedWidth",t,"proposedHeight",(e,t)=>null!==e&&null!==t),this.bind("_label").to(t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",t,"proposedWidthPercents",(t,o,i)=>"px"===e.unit?`${t}×${o}`:i+"%"),this.bind("_viewPosition").to(t,"activeHandlePosition",t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",(e,t,o)=>t<50||o<50?"above-center":e)}_dismiss(){this.unbind(),this._isVisible=!1}}class v{constructor(e){this._options=e,this._viewResizerWrapper=null,this.set("isEnabled",!0),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",e=>{this.state.proposedWidth||this.state.proposedWidthPercents||(this._cleanup(),e.stop())},{priority:"high"}),this.on("change:isEnabled",()=>{this.isEnabled&&this.redraw()})}attach(){const e=this,t=this._options.viewElement;this._options.editor.editing.view.change(o=>{const i=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(t){const o=this.toDomElement(t);return e._appendHandles(o),e._appendSizeUI(o),e.on("change:isEnabled",(e,t,i)=>{o.style.display=i?"":"none"}),o.style.display=e.isEnabled?"":"none",o}));o.insert(o.createPositionAt(t,"end"),i),o.addClass("ck-widget_with-resizer",t),this._viewResizerWrapper=i})}begin(e){this.state=new b(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(e,this._getHandleHost(),this._getResizeHost())}updateSize(e){const t=this._proposeNewSize(e);this._options.editor.editing.view.change(e=>{const o=this._options.unit||"%",i=("%"===o?t.widthPercents:t.width)+o;e.setStyle("width",i,this._options.viewElement)});const o=this._getHandleHost(),i=new g.a(o);t.handleHostWidth=Math.round(i.width),t.handleHostHeight=Math.round(i.height);const s=new g.a(o);t.width=Math.round(s.width),t.height=Math.round(s.height),this.redraw(i),this.state.update(t)}commit(){const e=this._options.unit||"%",t=("%"===e?this.state.proposedWidthPercents:this.state.proposedWidth)+e;this._options.editor.editing.view.change(()=>{this._cleanup(),this._options.onCommit(t)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(e){const t=this._domResizerWrapper;if(!((o=t)&&o.ownerDocument&&o.ownerDocument.contains(o)))return;var o;const i=t.parentElement,s=this._getHandleHost(),r=this._viewResizerWrapper,n=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(i.isSameNode(s)){const t=e||new g.a(s);a=[t.width+"px",t.height+"px",void 0,void 0]}else a=[s.offsetWidth+"px",s.offsetHeight+"px",s.offsetLeft+"px",s.offsetTop+"px"];"same"!==Object(f.a)(n,a)&&this._options.editor.editing.view.change(e=>{e.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)})}containsHandle(e){return this._domResizerWrapper.contains(e)}static isResizeHandle(e){return e.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();this._options.editor.editing.view.change(e=>{e.setStyle("width",this._initialViewWidth,this._options.viewElement)})}_proposeNewSize(e){const t=this.state,o={x:(i=e).pageX,y:i.pageY};var i;const s=!this._options.isCentered||this._options.isCentered(this),r={x:t._referenceCoordinates.x-(o.x+t.originalWidth),y:o.y-t.originalHeight-t._referenceCoordinates.y};s&&t.activeHandlePosition.endsWith("-right")&&(r.x=o.x-(t._referenceCoordinates.x+t.originalWidth)),s&&(r.x*=2);const n={width:Math.abs(t.originalWidth+r.x),height:Math.abs(t.originalHeight+r.y)};n.dominant=n.width/t.aspectRatio>n.height?"width":"height",n.max=n[n.dominant];const a={width:n.width,height:n.height};return"width"==n.dominant?a.height=a.width/t.aspectRatio:a.width=a.height*t.aspectRatio,{width:Math.round(a.width),height:Math.round(a.height),widthPercents:Math.min(Math.round(t.originalWidthPercents/t.originalWidth*a.width*100)/100,100)}}_getResizeHost(){const e=this._domResizerWrapper.parentElement;return this._options.getResizeHost(e)}_getHandleHost(){const e=this._domResizerWrapper.parentElement;return this._options.getHandleHost(e)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const i of t)e.appendChild(new p.a({tag:"div",attributes:{class:"ck-widget__resizer__handle "+(o=i,"ck-widget__resizer__handle-"+o)}}).render());var o}_appendSizeUI(e){this._sizeView=new w,this._sizeView.render(),e.appendChild(this._sizeView.element)}}Object(k.a)(v,m.a);var y=o("./packages/ckeditor5-utils/src/dom/emittermixin.js"),j=o("./packages/ckeditor5-utils/src/dom/global.js"),x=o("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),P=o("./node_modules/lodash-es/throttle.js");o("./packages/ckeditor5-widget/theme/widgetresize.css");class O extends s.a{static get pluginName(){return"WidgetResize"}init(){const e=this.editor.editing,t=j.a.window.document;this.set("visibleResizer",null),this.set("_activeResizer",null),this._resizers=new Map,e.view.addObserver(x.a),this._observer=Object.create(y.a),this.listenTo(e.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(t,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(t,"mouseup",this._mouseUpListener.bind(this));const o=()=>{this.visibleResizer&&this.visibleResizer.redraw()};this._redrawFocusedResizerThrottled=Object(P.a)(o,200),this.on("change:visibleResizer",o),this.editor.ui.on("update",this._redrawFocusedResizerThrottled),this.editor.model.document.on("change",()=>{for(const[e,t]of this._resizers)e.isAttached()||(this._resizers.delete(e),t.destroy())},{priority:"lowest"}),this._observer.listenTo(j.a.window,"resize",this._redrawFocusedResizerThrottled);const i=this.editor.editing.view.document.selection;i.on("change",()=>{const e=i.getSelectedElement();this.visibleResizer=this.getResizerByViewElement(e)||null})}destroy(){this._observer.stopListening();for(const e of this._resizers.values())e.destroy();this._redrawFocusedResizerThrottled.cancel()}attachTo(e){const t=new v(e),o=this.editor.plugins;if(t.attach(),o.has("WidgetToolbarRepository")){const e=o.get("WidgetToolbarRepository");t.on("begin",()=>{e.forceDisabled("resize")},{priority:"lowest"}),t.on("cancel",()=>{e.clearForceDisabled("resize")},{priority:"highest"}),t.on("commit",()=>{e.clearForceDisabled("resize")},{priority:"highest"})}this._resizers.set(e.viewElement,t);const i=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(i)==t&&(this.visibleResizer=t),t}getResizerByViewElement(e){return this._resizers.get(e)}_getResizerByHandle(e){for(const t of this._resizers.values())if(t.containsHandle(e))return t}_mouseDownListener(e,t){const o=t.domTarget;v.isResizeHandle(o)&&(this._activeResizer=this._getResizerByHandle(o),this._activeResizer&&(this._activeResizer.begin(o),e.stop(),t.preventDefault()))}_mouseMoveListener(e,t){this._activeResizer&&this._activeResizer.updateSize(t)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}Object(k.a)(O,m.a);var A=o("./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js")},0:function(e,t,o){e.exports=o}}),function(e){e.CKEditor5=e.CKEditor5||{};const t=["utils","core","engine","ui","clipboard","enter","paragraph","select-all","typing","undo","upload","widget"];for(const o of t){const t=o.replace(/-([a-z])/g,(e,t)=>t.toUpperCase());e.CKEditor5[t]=e.CKEditor5.dll(`./src/${o}.js`)}}(window);
\ No newline at end of file
+ */(()=>{var e={"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-clipboard/theme/clipboard.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;pointer-events:none;position:relative}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) transparent transparent transparent;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:"";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}',""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/placeholder.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck .ck-placeholder,.ck.ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text);cursor:text}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/renderer.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/button.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-button,a.ck.ck-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:block}@media (hover:none){.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:none}}.ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;justify-content:left;position:relative}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button:hover .ck-tooltip,a.ck.ck-button:hover .ck-tooltip{opacity:1;visibility:visible}.ck.ck-button:focus:not(:hover) .ck-tooltip,a.ck.ck-button:focus:not(:hover) .ck-tooltip{display:none}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-default-active-shadow)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{-webkit-appearance:none;border:1px solid transparent;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__icon{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:var(--ck-spacing-small);margin-right:calc(var(--ck-spacing-small)*-1)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-on-active-shadow)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-action-active-shadow)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/switchbutton.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:1.0769230769em;--ck-switch-button-toggle-spacing:1px;--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - var(--ck-switch-button-toggle-spacing)*2)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{background:var(--ck-color-switch-button-off-background);transition:background .4s ease;width:var(--ck-switch-button-toggle-width)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);height:var(--ck-switch-button-toggle-inner-size);margin:var(--ck-switch-button-toggle-spacing);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var( --ck-switch-button-translation ))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var( --ck-switch-button-translation )*-1))}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/colorgrid/colorgrid.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#000}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-color-grid-tile-size)}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile.ck-color-table__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile .ck.ck-icon{color:var(--ck-color-color-grid-check-icon);display:none}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/dropdown.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on .ck-tooltip{display:none}.ck.ck-dropdown .ck-dropdown__panel{-webkit-backface-visibility:hidden;display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-modal)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{bottom:auto;top:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-modal) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{overflow:hidden;text-overflow:ellipsis;width:7em}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/listdropdown.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/splitbutton.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button .ck-tooltip{display:none}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:"";height:100%;position:absolute;width:1px}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}',""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/editorui/editorui.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-base-foreground)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-base-foreground)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/formheader/formheader.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}:root{--ck-form-header-height:38px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}.ck.ck-form__header .ck-form__header__label{font-weight:700}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/icon/icon.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{font-size:.8333350694em;height:var(--ck-icon-size);width:var(--ck-icon-size);will-change:transform}.ck.ck-icon,.ck.ck-icon *{color:inherit;cursor:inherit}.ck.ck-icon :not([fill]){fill:currentColor}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/input/input.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{border-radius:0}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/label/label.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-spacing-medium),calc(var(--ck-font-size-base)*.6)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-spacing-medium)*-1),calc(var(--ck-font-size-base)*.6)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/list/list.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{background:var(--ck-color-list-background);list-style-type:none}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{border-radius:0;min-height:unset;padding:calc(var(--ck-line-height-base)*.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*.4*var(--ck-font-size-base));text-align:left;width:100%}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(var(--ck-line-height-base)*1.2*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;width:100%}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonpanel.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:"";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);box-shadow:var(--ck-drop-shadow),0 0;min-height:15px}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow))}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;margin-bottom:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}',""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonrotator.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/fakepanel.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/stickypanel.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-modal)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/toolbar.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);border:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;background:var(--ck-color-toolbar-border);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border:0;border-radius:0;margin:0;width:100%}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-right:var(--ck-spacing-small)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/tooltip/tooltip.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,'.ck.ck-tooltip,.ck.ck-tooltip .ck-tooltip__text:after{-webkit-backface-visibility:hidden;pointer-events:none;position:absolute}.ck.ck-tooltip{display:none;opacity:0;visibility:hidden;z-index:var(--ck-z-modal)}.ck.ck-tooltip .ck-tooltip__text{display:inline-block}.ck.ck-tooltip .ck-tooltip__text:after{content:"";height:0;width:0}:root{--ck-tooltip-arrow-size:5px}.ck.ck-tooltip{left:50%;top:0;transition:opacity .2s ease-in-out .2s}.ck.ck-tooltip .ck-tooltip__text{border-radius:0}.ck-rounded-corners .ck.ck-tooltip .ck-tooltip__text,.ck.ck-tooltip .ck-tooltip__text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-tooltip .ck-tooltip__text{background:var(--ck-color-tooltip-background);color:var(--ck-color-tooltip-text);font-size:.9em;left:-50%;line-height:1.5;padding:var(--ck-spacing-small) var(--ck-spacing-medium);position:relative}.ck.ck-tooltip .ck-tooltip__text:after{border-style:solid;left:50%;transition:opacity .2s ease-in-out .2s}.ck.ck-tooltip.ck-tooltip_s,.ck.ck-tooltip.ck-tooltip_se,.ck.ck-tooltip.ck-tooltip_sw{bottom:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateY(100%)}.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text:after,.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text:after,.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text:after{border-color:transparent transparent var(--ck-color-tooltip-background) transparent;border-width:0 var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size);top:calc(var(--ck-tooltip-arrow-size)*-1 + 1px);transform:translateX(-50%)}.ck.ck-tooltip.ck-tooltip_sw{left:auto;right:50%}.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text{left:auto;right:calc(var(--ck-tooltip-arrow-size)*-2)}.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text:after{left:auto;right:0}.ck.ck-tooltip.ck-tooltip_se{left:50%;right:auto}.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text{left:calc(var(--ck-tooltip-arrow-size)*-2);right:auto}.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text:after{left:0;right:auto;transform:translateX(50%)}.ck.ck-tooltip.ck-tooltip_n{top:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateY(-100%)}.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text:after{border-color:var(--ck-color-tooltip-background) transparent transparent transparent;border-width:var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) 0 var(--ck-tooltip-arrow-size);bottom:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateX(-50%)}.ck.ck-tooltip.ck-tooltip_e{left:calc(100% + var(--ck-tooltip-arrow-size));top:50%}.ck.ck-tooltip.ck-tooltip_e .ck-tooltip__text{left:0;transform:translateY(-50%)}.ck.ck-tooltip.ck-tooltip_e .ck-tooltip__text:after{border-color:transparent var(--ck-color-tooltip-background) transparent transparent;border-width:var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) 0;left:calc(var(--ck-tooltip-arrow-size)*-1);top:calc(50% - var(--ck-tooltip-arrow-size)*1)}.ck.ck-tooltip.ck-tooltip_w{left:auto;right:calc(100% + var(--ck-tooltip-arrow-size));top:50%}.ck.ck-tooltip.ck-tooltip_w .ck-tooltip__text{left:0;transform:translateY(-50%)}.ck.ck-tooltip.ck-tooltip_w .ck-tooltip__text:after{border-color:transparent transparent transparent var(--ck-color-tooltip-background);border-width:var(--ck-tooltip-arrow-size) 0 var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size);left:100%;top:calc(50% - var(--ck-tooltip-arrow-size)*1)}',""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/globals/globals.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck-hidden{display:none!important}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{box-sizing:border-box;height:auto;position:static;width:auto}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999)}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#c4c4c4;--ck-color-base-action:#61b045;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#198cf0;--ck-color-base-active-focus:#0e7fe1;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:208,79%,51%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#bcdefb;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#e6e6e6;--ck-color-button-default-active-background:#d9d9d9;--ck-color-button-default-active-shadow:#bfbfbf;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#dedede;--ck-color-button-on-hover-background:#c4c4c4;--ck-color-button-on-active-background:#bababa;--ck-color-button-on-active-shadow:#a1a1a1;--ck-color-button-on-disabled-background:#dedede;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#579e3d;--ck-color-button-action-active-background:#53973b;--ck-color-button-action-active-shadow:#498433;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#b0b0b0;--ck-color-switch-button-off-hover-background:#a3a3a3;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#579e3d;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:#c7c7c7;--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:#c7c7c7;--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-base-active);--ck-color-list-button-on-background-focus:var(--ck-color-base-active-focus);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-foreground);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{word-wrap:break-word;background:transparent;border:0;margin:0;padding:0;text-decoration:none;transition:none;vertical-align:middle}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widget.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{background-color:var(--ck-color-widget-editable-focus-background);border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{background-color:var(--ck-color-widget-hover-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{background-color:var(--ck-color-focus-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgetresize.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgettypearound.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:"";display:block;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);width:var(--ck-widget-type-around-button-size)}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',""]);const r=i},"./node_modules/css-loader/dist/runtime/api.js":e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var s=e(t);return t[2]?"@media ".concat(t[2]," {").concat(s,"}"):s})).join("")},t.i=function(e,s,o){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(o)for(var r=0;r<this.length;r++){var n=this[r][0];null!=n&&(i[n]=!0)}for(var a=0;a<e.length;a++){var c=[].concat(e[a]);o&&i[c[0]]||(s&&(c[2]?c[2]="".concat(s," and ").concat(c[2]):c[2]=s),t.push(c))}},t}},"./packages/ckeditor5-core/theme/icons/pilcrow.svg":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M6.999 2H15a1 1 0 0 1 0 2h-1.004v13a1 1 0 1 1-2 0V4H8.999v13a1 1 0 1 1-2 0v-7A4 4 0 0 1 3 6a4 4 0 0 1 3.999-4z"/></svg>'},"./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><circle cx="9.5" cy="4.5" r="1.5"/><circle cx="9.5" cy="10.5" r="1.5"/><circle cx="9.5" cy="16.5" r="1.5"/></svg>'},"./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o='<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"><path d="M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z"/></svg>'},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":(e,t,s)=>{"use strict";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var e={};return function(t){if(void 0===e[t]){var s=document.querySelector(t);if(window.HTMLIFrameElement&&s instanceof window.HTMLIFrameElement)try{s=s.contentDocument.head}catch(e){s=null}e[t]=s}return e[t]}}(),n=[];function a(e){for(var t=-1,s=0;s<n.length;s++)if(n[s].identifier===e){t=s;break}return t}function c(e,t){for(var s={},o=[],i=0;i<e.length;i++){var r=e[i],c=t.base?r[0]+t.base:r[0],l=s[c]||0,d="".concat(c," ").concat(l);s[c]=l+1;var h=a(d),u={css:r[1],media:r[2],sourceMap:r[3]};-1!==h?(n[h].references++,n[h].updater(u)):n.push({identifier:d,updater:f(u,t),references:1}),o.push(d)}return o}function l(e){var t=document.createElement("style"),o=e.attributes||{};if(void 0===o.nonce){var i=s.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),"function"==typeof e.insert)e.insert(t);else{var n=r(e.insert||"head");if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");n.appendChild(t)}return t}var d,h=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function u(e,t,s,o){var i=s?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(e.styleSheet)e.styleSheet.cssText=h(t,i);else{var r=document.createTextNode(i),n=e.childNodes;n[t]&&e.removeChild(n[t]),n.length?e.insertBefore(r,n[t]):e.appendChild(r)}}function p(e,t,s){var o=s.css,i=s.media,r=s.sourceMap;if(i?e.setAttribute("media",i):e.removeAttribute("media"),r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var g=null,m=0;function f(e,t){var s,o,i;if(t.singleton){var r=m++;s=g||(g=l(t)),o=u.bind(null,s,r,!1),i=u.bind(null,s,r,!0)}else s=l(t),o=p.bind(null,s,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(s)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=i());var s=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var o=0;o<s.length;o++){var i=a(s[o]);n[i].references--}for(var r=c(e,t),l=0;l<s.length;l++){var d=a(s[l]);0===n[d].references&&(n[d].updater(),n.splice(d,1))}s=r}}}},"./packages/ckeditor5-core/src/command.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/observablemixin.js"),i=s("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.editor=e,this.set("value",void 0),this.set("isEnabled",!1),this.affectsData=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",(()=>{this.refresh()})),this.on("execute",(e=>{this.isEnabled||e.stop()}),{priority:"high"}),this.listenTo(e,"change:isReadOnly",((e,t,s)=>{s&&this.affectsData?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}))}refresh(){this.isEnabled=!0}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",n,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",n),this.refresh())}execute(){}destroy(){this.stopListening()}}function n(e){e.return=!1,e.stop()}(0,i.Z)(r,o.Z)},"./packages/ckeditor5-core/src/contextplugin.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/observablemixin.js"),i=s("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.context=e}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}(0,i.Z)(r,o.Z)},"./packages/ckeditor5-core/src/pendingactions.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-core/src/contextplugin.js"),i=s("./packages/ckeditor5-utils/src/observablemixin.js"),r=s("./packages/ckeditor5-utils/src/collection.js"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class a extends o.Z{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",!1),this._actions=new r.Z({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(e){if("string"!=typeof e)throw new n.ZP("pendingactions-add-invalid-message",this);const t=Object.create(i.Z);return t.set("message",e),this._actions.add(t),this.hasAny=!0,t}remove(e){this._actions.remove(e),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}},"./packages/ckeditor5-core/src/plugin.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/observablemixin.js"),i=s("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.editor=e,this.set("isEnabled",!0),this._disableStack=new Set}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",n,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",n),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function n(e){e.return=!1,e.stop()}(0,i.Z)(r,o.Z)},"./packages/ckeditor5-engine/src/controller/datacontroller.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>Z});var o=s("./packages/ckeditor5-utils/src/mix.js"),i=s("./packages/ckeditor5-utils/src/observablemixin.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-engine/src/conversion/mapper.js"),a=s("./packages/ckeditor5-engine/src/conversion/downcastdispatcher.js"),c=s("./packages/ckeditor5-engine/src/conversion/downcasthelpers.js"),l=s("./node_modules/lodash-es/isArray.js");class d{constructor(){this._consumables=new Map}add(e,t){let s;e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):(this._consumables.has(e)?s=this._consumables.get(e):(s=new h(e),this._consumables.set(e,s)),s.add(t))}test(e,t){const s=this._consumables.get(e);return void 0===s?null:e.is("$text")||e.is("documentFragment")?s:s.test(t)}consume(e,t){return!!this.test(e,t)&&(e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!1):this._consumables.get(e).consume(t),!0)}revert(e,t){const s=this._consumables.get(e);void 0!==s&&(e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):s.revert(t))}static consumablesFromElement(e){const t={element:e,name:!0,attributes:[],classes:[],styles:[]},s=e.getAttributeKeys();for(const e of s)"style"!=e&&"class"!=e&&t.attributes.push(e);const o=e.getClassNames();for(const e of o)t.classes.push(e);const i=e.getStyleNames();for(const e of i)t.styles.push(e);return t}static createFrom(e,t){if(t||(t=new d(e)),e.is("$text"))return t.add(e),t;e.is("element")&&t.add(e,d.consumablesFromElement(e)),e.is("documentFragment")&&t.add(e);for(const s of e.getChildren())t=d.createFrom(s,t);return t}}class h{constructor(e){this.element=e,this._canConsumeName=null,this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(e){e.name&&(this._canConsumeName=!0);for(const t in this._consumables)t in e&&this._add(t,e[t])}test(e){if(e.name&&!this._canConsumeName)return this._canConsumeName;for(const t in this._consumables)if(t in e){const s=this._test(t,e[t]);if(!0!==s)return s}return!0}consume(e){e.name&&(this._canConsumeName=!1);for(const t in this._consumables)t in e&&this._consume(t,e[t])}revert(e){e.name&&(this._canConsumeName=!0);for(const t in this._consumables)t in e&&this._revert(t,e[t])}_add(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s){if("attributes"===e&&("class"===t||"style"===t))throw new r.ZP("viewconsumable-invalid-attribute",this);if(o.set(t,!0),"styles"===e)for(const e of this.element.document.stylesProcessor.getRelatedStyles(t))o.set(e,!0)}}_test(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s)if("attributes"!==e||"class"!==t&&"style"!==t){const e=o.get(t);if(void 0===e)return null;if(!e)return!1}else{const e="class"==t?"classes":"styles",s=this._test(e,[...this._consumables[e].keys()]);if(!0!==s)return s}return!0}_consume(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s)if("attributes"!==e||"class"!==t&&"style"!==t){if(o.set(t,!1),"styles"==e)for(const e of this.element.document.stylesProcessor.getRelatedStyles(t))o.set(e,!1)}else{const e="class"==t?"classes":"styles";this._consume(e,[...this._consumables[e].keys()])}}_revert(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s)if("attributes"!==e||"class"!==t&&"style"!==t){!1===o.get(t)&&o.set(t,!0)}else{const e="class"==t?"classes":"styles";this._revert(e,[...this._consumables[e].keys()])}}}var u=s("./packages/ckeditor5-engine/src/model/range.js"),p=s("./packages/ckeditor5-engine/src/model/position.js"),g=s("./packages/ckeditor5-engine/src/model/schema.js"),m=s("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js"),f=s("./packages/ckeditor5-utils/src/emittermixin.js");class k{constructor(e={}){this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this._emptyElementsToKeep=new Set,this.conversionApi=Object.assign({},e),this.conversionApi.convertItem=this._convertItem.bind(this),this.conversionApi.convertChildren=this._convertChildren.bind(this),this.conversionApi.safeInsert=this._safeInsert.bind(this),this.conversionApi.updateConversionResult=this._updateConversionResult.bind(this),this.conversionApi.splitToAllowedParent=this._splitToAllowedParent.bind(this),this.conversionApi.getSplitParts=this._getSplitParts.bind(this),this.conversionApi.keepEmptyElement=this._keepEmptyElement.bind(this)}convert(e,t,s=["$root"]){this.fire("viewCleanup",e),this._modelCursor=function(e,t){let s;for(const o of new g.G(e)){const e={};for(const t of o.getAttributeKeys())e[t]=o.getAttribute(t);const i=t.createElement(o.name,e);s&&t.append(i,s),s=p.ZP._createAt(i,0)}return s}(s,t),this.conversionApi.writer=t,this.conversionApi.consumable=d.createFrom(e),this.conversionApi.store={};const{modelRange:o}=this._convertItem(e,this._modelCursor),i=t.createDocumentFragment();if(o){this._removeEmptyElements();for(const e of Array.from(this._modelCursor.parent.getChildren()))t.append(e,i);i.markers=function(e,t){const s=new Set,o=new Map,i=u.Z._createIn(e).getItems();for(const e of i)"$marker"==e.name&&s.add(e);for(const e of s){const s=e.getAttribute("data-name"),i=t.createPositionBefore(e);o.has(s)?o.get(s).end=i.clone():o.set(s,new u.Z(i.clone())),t.remove(e)}return o}(i,t)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,i}_convertItem(e,t){const s=Object.assign({viewItem:e,modelCursor:t,modelRange:null});if(e.is("element")?this.fire("element:"+e.name,s,this.conversionApi):e.is("$text")?this.fire("text",s,this.conversionApi):this.fire("documentFragment",s,this.conversionApi),s.modelRange&&!(s.modelRange instanceof u.Z))throw new r.ZP("view-conversion-dispatcher-incorrect-result",this);return{modelRange:s.modelRange,modelCursor:s.modelCursor}}_convertChildren(e,t){let s=t.is("position")?t:p.ZP._createAt(t,0);const o=new u.Z(s);for(const t of Array.from(e.getChildren())){const e=this._convertItem(t,s);e.modelRange instanceof u.Z&&(o.end=e.modelRange.end,s=e.modelCursor)}return{modelRange:o,modelCursor:s}}_safeInsert(e,t){const s=this._splitToAllowedParent(e,t);return!!s&&(this.conversionApi.writer.insert(e,s.position),!0)}_updateConversionResult(e,t){const s=this._getSplitParts(e),o=this.conversionApi.writer;t.modelRange||(t.modelRange=o.createRange(o.createPositionBefore(e),o.createPositionAfter(s[s.length-1])));const i=this._cursorParents.get(e);t.modelCursor=i?o.createPositionAt(i,0):t.modelRange.end}_splitToAllowedParent(e,t){const{schema:s,writer:o}=this.conversionApi;let i=s.findAllowedParent(t,e);if(i){if(i===t.parent)return{position:t};this._modelCursor.parent.getAncestors().includes(i)&&(i=null)}if(!i)return(0,m.gg)(t,e,s)?{position:(0,m.zX)(t,o)}:null;const r=this.conversionApi.writer.split(t,i),n=[];for(const e of r.range.getWalker())if("elementEnd"==e.type)n.push(e.item);else{const t=n.pop(),s=e.item;this._registerSplitPair(t,s)}const a=r.range.end.parent;return this._cursorParents.set(e,a),{position:r.position,cursorParent:a}}_registerSplitPair(e,t){this._splitParts.has(e)||this._splitParts.set(e,[e]);const s=this._splitParts.get(e);this._splitParts.set(t,s),s.push(t)}_getSplitParts(e){let t;return t=this._splitParts.has(e)?this._splitParts.get(e):[e],t}_keepEmptyElement(e){this._emptyElementsToKeep.add(e)}_removeEmptyElements(){let e=!1;for(const t of this._splitParts.keys())t.isEmpty&&!this._emptyElementsToKeep.has(t)&&(this.conversionApi.writer.remove(t),this._splitParts.delete(t),e=!0);e&&this._removeEmptyElements()}}(0,o.Z)(k,f.ZP);var _=s("./packages/ckeditor5-engine/src/conversion/upcasthelpers.js"),b=s("./packages/ckeditor5-engine/src/view/documentfragment.js"),w=s("./packages/ckeditor5-engine/src/view/document.js"),v=s("./packages/ckeditor5-engine/src/view/downcastwriter.js"),y=s("./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.js");class Z{constructor(e,t){this.model=e,this.mapper=new n.Z,this.downcastDispatcher=new a.Z({mapper:this.mapper,schema:e.schema}),this.downcastDispatcher.on("insert:$text",(0,c.Om)(),{priority:"lowest"}),this.downcastDispatcher.on("insert",(0,c.o6)(),{priority:"lowest"}),this.upcastDispatcher=new k({schema:e.schema}),this.viewDocument=new w.Z(t),this.stylesProcessor=t,this.htmlProcessor=new y.Z(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new v.Z(this.viewDocument),this.upcastDispatcher.on("text",(0,_.s8)(),{priority:"lowest"}),this.upcastDispatcher.on("element",(0,_._p)(),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",(0,_._p)(),{priority:"lowest"}),this.decorate("init"),this.decorate("set"),this.decorate("get"),this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"}),this.on("ready",(()=>{this.model.enqueueChange({isUndoable:!1},m._m)}),{priority:"lowest"})}get(e={}){const{rootName:t="main",trim:s="empty"}=e;if(!this._checkIfRootsExists([t]))throw new r.ZP("datacontroller-get-non-existent-root",this);const o=this.model.document.getRoot(t);return"empty"!==s||this.model.hasContent(o,{ignoreWhitespaces:!0})?this.stringify(o,e):""}stringify(e,t={}){const s=this.toView(e,t);return this.processor.toData(s)}toView(e,t={}){const s=this.viewDocument,o=this._viewWriter;this.mapper.clearBindings();const i=u.Z._createIn(e),r=new b.Z(s);this.mapper.bindElements(e,r);const n=e.is("documentFragment")?e.markers:function(e){const t=[],s=e.root.document;if(!s)return new Map;const o=u.Z._createIn(e);for(const e of s.model.markers){const s=e.getRange(),i=s.isCollapsed,r=s.start.isEqual(o.start)||s.end.isEqual(o.end);if(i&&r)t.push([e.name,s]);else{const i=o.getIntersection(s);i&&t.push([e.name,i])}}return t.sort((([e,t],[s,o])=>{if("after"!==t.end.compareWith(o.start))return 1;if("before"!==t.start.compareWith(o.end))return-1;switch(t.start.compareWith(o.start)){case"before":return 1;case"after":return-1;default:switch(t.end.compareWith(o.end)){case"before":return 1;case"after":return-1;default:return s.localeCompare(e)}}})),new Map(t)}(e);return this.downcastDispatcher.convert(i,n,o,t),r}init(e){if(this.model.document.version)throw new r.ZP("datacontroller-init-document-not-empty",this);let t={};if("string"==typeof e?t.main=e:t=e,!this._checkIfRootsExists(Object.keys(t)))throw new r.ZP("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},(e=>{for(const s of Object.keys(t)){const o=this.model.document.getRoot(s);e.insert(this.parse(t[s],o),o,0)}})),Promise.resolve()}set(e,t={}){let s={};if("string"==typeof e?s.main=e:s=e,!this._checkIfRootsExists(Object.keys(s)))throw new r.ZP("datacontroller-set-non-existent-root",this);this.model.enqueueChange(t.batchType||{},(e=>{e.setSelection(null),e.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const t of Object.keys(s)){const o=this.model.document.getRoot(t);e.remove(e.createRangeIn(o)),e.insert(this.parse(s[t],o),o,0)}}))}parse(e,t="$root"){const s=this.processor.toView(e);return this.toModel(s,t)}toModel(e,t="$root"){return this.model.change((s=>this.upcastDispatcher.convert(e,s,t)))}addStyleProcessorRules(e){e(this.stylesProcessor)}registerRawContentMatcher(e){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(e),this.htmlProcessor.registerRawContentMatcher(e)}destroy(){this.stopListening()}_checkIfRootsExists(e){for(const t of e)if(!this.model.document.getRootNames().includes(t))return!1;return!0}}(0,o.Z)(Z,i.Z)},"./packages/ckeditor5-engine/src/controller/editingcontroller.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>L});var o=s("./packages/ckeditor5-engine/src/view/editableelement.js");const i=Symbol("rootName");class r extends o.Z{constructor(e,t){super(e,t),this.rootName="main"}is(e,t=null){return t?t===this.name&&("rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}get rootName(){return this.getCustomProperty(i)}set rootName(e){this._setCustomProperty(i,e)}set _name(e){this.name=e}}var n=s("./packages/ckeditor5-engine/src/view/document.js"),a=s("./packages/ckeditor5-engine/src/view/downcastwriter.js"),c=s("./packages/ckeditor5-engine/src/view/renderer.js"),l=s("./packages/ckeditor5-engine/src/view/domconverter.js"),d=s("./packages/ckeditor5-engine/src/view/position.js"),h=s("./packages/ckeditor5-engine/src/view/range.js"),u=s("./packages/ckeditor5-engine/src/view/selection.js"),p=s("./packages/ckeditor5-engine/src/view/observer/observer.js"),g=s("./packages/ckeditor5-engine/src/view/filler.js"),m=s("./node_modules/lodash-es/_baseIsEqual.js");const f=function(e,t,s){var o=(s="function"==typeof s?s:void 0)?s(e,t):void 0;return void 0===o?(0,m.Z)(e,t,void 0,s):!!o};class k extends p.Z{constructor(e){super(e),this._config={childList:!0,characterData:!0,characterDataOldValue:!0,subtree:!0},this.domConverter=e.domConverter,this.renderer=e._renderer,this._domElements=[],this._mutationObserver=new window.MutationObserver(this._onMutations.bind(this))}flush(){this._onMutations(this._mutationObserver.takeRecords())}observe(e){this._domElements.push(e),this.isEnabled&&this._mutationObserver.observe(e,this._config)}enable(){super.enable();for(const e of this._domElements)this._mutationObserver.observe(e,this._config)}disable(){super.disable(),this._mutationObserver.disconnect()}destroy(){super.destroy(),this._mutationObserver.disconnect()}_onMutations(e){if(0===e.length)return;const t=this.domConverter,s=new Map,o=new Set;for(const s of e)if("childList"===s.type){const e=t.mapDomToView(s.target);if(e&&(e.is("uiElement")||e.is("rawElement")))continue;e&&!this._isBogusBrMutation(s)&&o.add(e)}for(const i of e){const e=t.mapDomToView(i.target);if((!e||!e.is("uiElement")&&!e.is("rawElement"))&&"characterData"===i.type){const e=t.findCorrespondingViewText(i.target);e&&!o.has(e.parent)?s.set(e,{type:"text",oldText:e.data,newText:(0,g.th)(i.target),node:e}):!e&&(0,g.Sw)(i.target)&&o.add(t.mapDomToView(i.target.parentNode))}}const i=[];for(const e of s.values())this.renderer.markToSync("text",e.node),i.push(e);for(const e of o){const s=t.mapViewToDom(e),o=Array.from(e.getChildren()),r=Array.from(t.domChildrenToView(s,{withChildren:!1}));f(o,r,a)||(this.renderer.markToSync("children",e),i.push({type:"children",oldChildren:o,newChildren:r,node:e}))}const r=e[0].target.ownerDocument.getSelection();let n=null;if(r&&r.anchorNode){const e=t.domPositionToView(r.anchorNode,r.anchorOffset),s=t.domPositionToView(r.focusNode,r.focusOffset);e&&s&&(n=new u.Z(e),n.setFocus(s))}function a(e,t){if(!Array.isArray(e))return e===t||!(!e.is("$text")||!t.is("$text"))&&e.data===t.data}i.length&&(this.document.fire("mutations",i,n),this.view.forceRender())}_isBogusBrMutation(e){let t=null;return null===e.nextSibling&&0===e.removedNodes.length&&1==e.addedNodes.length&&(t=this.domConverter.domToView(e.addedNodes[0],{withChildren:!1})),t&&t.is("element","br")}}var _=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js"),b=s("./packages/ckeditor5-utils/src/keyboard.js");class w extends _.Z{constructor(e){super(e),this.domEventType=["keydown","keyup"]}onDomEvent(e){this.fire(e.type,e,{keyCode:e.keyCode,altKey:e.altKey,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,metaKey:e.metaKey,get keystroke(){return(0,b.Cq)(this)}})}}var v=s("./node_modules/lodash-es/debounce.js");class y extends p.Z{constructor(e){super(e),this._fireSelectionChangeDoneDebounced=(0,v.Z)((e=>this.document.fire("selectionChangeDone",e)),200)}observe(){const e=this.document;e.on("arrowKey",((t,s)=>{e.selection.isFake&&this.isEnabled&&s.preventDefault()}),{context:"$capture"}),e.on("arrowKey",((t,s)=>{e.selection.isFake&&this.isEnabled&&this._handleSelectionMove(s.keyCode)}),{priority:"lowest"})}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(e){const t=this.document.selection,s=new u.Z(t.getRanges(),{backward:t.isBackward,fake:!1});e!=b.Do.arrowleft&&e!=b.Do.arrowup||s.setTo(s.getFirstPosition()),e!=b.Do.arrowright&&e!=b.Do.arrowdown||s.setTo(s.getLastPosition());const o={oldSelection:t,newSelection:s,domSelection:null};this.document.fire("selectionChange",o),this._fireSelectionChangeDoneDebounced(o)}}class Z extends p.Z{constructor(e){super(e),this.mutationObserver=e.getObserver(k),this.selection=this.document.selection,this.domConverter=e.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=(0,v.Z)((e=>this.document.fire("selectionChangeDone",e)),200),this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3),this._documentIsSelectingInactivityTimeoutDebounced=(0,v.Z)((()=>this.document.isSelecting=!1),5e3),this._loopbackCounter=0}observe(e){const t=e.ownerDocument,s=()=>{this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel()};this.listenTo(e,"selectstart",(()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()}),{priority:"highest"}),this.listenTo(e,"keydown",s,{priority:"highest"}),this.listenTo(e,"keyup",s,{priority:"highest"}),this._documents.has(t)||(this.listenTo(t,"mouseup",s,{priority:"highest"}),this.listenTo(t,"selectionchange",((e,s)=>{this._handleSelectionChange(s,t),this._documentIsSelectingInactivityTimeoutDebounced()})),this._documents.add(t))}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_handleSelectionChange(e,t){if(!this.isEnabled)return;const s=t.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(s.anchorNode))return;this.mutationObserver.flush();const o=this.domConverter.domSelectionToView(s);if(0!=o.rangeCount){if(this.view.hasDomSelection=!0,!(this.selection.isEqual(o)&&this.domConverter.isDomSelectionCorrect(s)||++this._loopbackCounter>60))if(this.selection.isSimilar(o))this.view.forceRender();else{const e={oldSelection:this.selection,newSelection:o,domSelection:s};this.document.fire("selectionChange",e),this._fireSelectionChangeDoneDebounced(e)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class P extends _.Z{constructor(e){super(e),this.domEventType=["focus","blur"],this.useCapture=!0;const t=this.document;t.on("focus",(()=>{t.isFocused=!0,this._renderTimeoutId=setTimeout((()=>e.change((()=>{}))),50)})),t.on("blur",((s,o)=>{const i=t.selection.editableElement;null!==i&&i!==o.target||(t.isFocused=!1,e.change((()=>{})))}))}onDomEvent(e){this.fire(e.type,e)}destroy(){this._renderTimeoutId&&clearTimeout(this._renderTimeoutId),super.destroy()}}class j extends _.Z{constructor(e){super(e),this.domEventType=["compositionstart","compositionupdate","compositionend"];const t=this.document;t.on("compositionstart",(()=>{t.isComposing=!0})),t.on("compositionend",(()=>{t.isComposing=!1}))}onDomEvent(e){this.fire(e.type,e)}}class x extends _.Z{constructor(e){super(e),this.domEventType=["beforeinput"]}onDomEvent(e){this.fire(e.type,e)}}var A=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js"),T=s("./packages/ckeditor5-utils/src/index.js");class C extends p.Z{constructor(e){super(e),this.document.on("keydown",((e,t)=>{if(this.isEnabled&&(0,T.dj)(t.keyCode)){const s=new A.Z(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(s,t),s.stop.called&&e.stop()}}))}observe(){}}class E extends p.Z{constructor(e){super(e);const t=this.document;t.on("keydown",((e,s)=>{if(!this.isEnabled||s.keyCode!=b.Do.tab||s.ctrlKey)return;const o=new A.Z(t,"tab",t.selection.getFirstRange());t.fire(o,s),o.stop.called&&e.stop()}))}observe(){}}var S=s("./packages/ckeditor5-utils/src/observablemixin.js"),O=s("./packages/ckeditor5-utils/src/mix.js"),R=s("./packages/ckeditor5-utils/src/dom/scroll.js"),M=s("./packages/ckeditor5-engine/src/view/uielement.js"),N=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),I=s("./packages/ckeditor5-utils/src/env.js");class z{constructor(e){this.document=new n.Z(e),this.domConverter=new l.Z(this.document),this.domRoots=new Map,this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new c.Z(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting").to(this.document),this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this._writer=new a.Z(this.document),this.addObserver(k),this.addObserver(Z),this.addObserver(P),this.addObserver(w),this.addObserver(y),this.addObserver(j),this.addObserver(C),this.addObserver(E),I.ZP.isAndroid&&this.addObserver(x),(0,g.mm)(this),(0,M.h)(this),this.on("render",(()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1})),this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=!0})),this.listenTo(this.document,"change:isFocused",(()=>{this._hasChangedSinceTheLastRendering=!0}))}attachDomRoot(e,t="main"){const s=this.document.getRoot(t);s._name=e.tagName.toLowerCase();const o={};for(const{name:t,value:i}of Array.from(e.attributes))o[t]=i,"class"===t?this._writer.addClass(i.split(" "),s):this._writer.setAttribute(t,i,s);this._initialDomRootAttributes.set(e,o);const i=()=>{this._writer.setAttribute("contenteditable",!s.isReadOnly,s),s.isReadOnly?this._writer.addClass("ck-read-only",s):this._writer.removeClass("ck-read-only",s)};i(),this.domRoots.set(t,e),this.domConverter.bindElements(e,s),this._renderer.markToSync("children",s),this._renderer.markToSync("attributes",s),this._renderer.domDocuments.add(e.ownerDocument),s.on("change:children",((e,t)=>this._renderer.markToSync("children",t))),s.on("change:attributes",((e,t)=>this._renderer.markToSync("attributes",t))),s.on("change:text",((e,t)=>this._renderer.markToSync("text",t))),s.on("change:isReadOnly",(()=>this.change(i))),s.on("change",(()=>{this._hasChangedSinceTheLastRendering=!0}));for(const s of this._observers.values())s.observe(e,t)}detachDomRoot(e){const t=this.domRoots.get(e);Array.from(t.attributes).forEach((({name:e})=>t.removeAttribute(e)));const s=this._initialDomRootAttributes.get(t);for(const e in s)t.setAttribute(e,s[e]);this.domRoots.delete(e),this.domConverter.unbindDomElement(t)}getDomRoot(e="main"){return this.domRoots.get(e)}addObserver(e){let t=this._observers.get(e);if(t)return t;t=new e(this),this._observers.set(e,t);for(const[e,s]of this.domRoots)t.observe(s,e);return t.enable(),t}getObserver(e){return this._observers.get(e)}disableObservers(){for(const e of this._observers.values())e.disable()}enableObservers(){for(const e of this._observers.values())e.enable()}scrollToTheSelection(){const e=this.document.selection.getFirstRange();e&&(0,R.m)({target:this.domConverter.viewRangeToDom(e),viewportOffset:20})}focus(){if(!this.document.isFocused){const e=this.document.selection.editableElement;e&&(this.domConverter.focus(e),this.forceRender())}}change(e){if(this.isRenderingInProgress||this._postFixersInProgress)throw new N.ZP("cannot-change-view-tree",this);try{if(this._ongoingChange)return e(this._writer);this._ongoingChange=!0;const t=e(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),t}catch(e){N.ZP.rethrowUnexpectedError(e,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.change((()=>{}))}destroy(){for(const e of this._observers.values())e.destroy();this.document.destroy(),this.stopListening()}createPositionAt(e,t){return d.Z._createAt(e,t)}createPositionAfter(e){return d.Z._createAfter(e)}createPositionBefore(e){return d.Z._createBefore(e)}createRange(e,t){return new h.Z(e,t)}createRangeOn(e){return h.Z._createOn(e)}createRangeIn(e){return h.Z._createIn(e)}createSelection(e,t,s){return new u.Z(e,t,s)}_disableRendering(e){this._renderingDisabled=e,0==e&&this.change((()=>{}))}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}(0,O.Z)(z,S.Z);var V=s("./packages/ckeditor5-engine/src/conversion/mapper.js"),D=s("./packages/ckeditor5-engine/src/conversion/downcastdispatcher.js"),B=s("./packages/ckeditor5-engine/src/conversion/downcasthelpers.js"),F=s("./packages/ckeditor5-engine/src/conversion/upcasthelpers.js");class L{constructor(e,t){this.model=e,this.view=new z(t),this.mapper=new V.Z,this.downcastDispatcher=new D.Z({mapper:this.mapper,schema:e.schema});const s=this.model.document,o=s.selection,i=this.model.markers;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(!0)}),{priority:"highest"}),this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(!1)}),{priority:"lowest"}),this.listenTo(s,"change",(()=>{this.view.change((e=>{this.downcastDispatcher.convertChanges(s.differ,i,e),this.downcastDispatcher.convertSelection(o,i,e)}))}),{priority:"low"}),this.listenTo(this.view.document,"selectionChange",(0,F.Fo)(this.model,this.mapper)),this.downcastDispatcher.on("insert:$text",(0,B.Om)(),{priority:"lowest"}),this.downcastDispatcher.on("insert",(0,B.o6)(),{priority:"lowest"}),this.downcastDispatcher.on("remove",(0,B.Od)(),{priority:"low"}),this.downcastDispatcher.on("selection",(0,B.iO)(),{priority:"high"}),this.downcastDispatcher.on("selection",(0,B.k3)(),{priority:"low"}),this.downcastDispatcher.on("selection",(0,B.GM)(),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using((e=>{if("$graveyard"==e.rootName)return null;const t=new r(this.view.document,e.name);return t.rootName=e.rootName,this.mapper.bindElements(e,t),t}))}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(e){const t="string"==typeof e?e:e.name,s=this.model.markers.get(t);if(!s)throw new N.ZP("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:t});this.model.change((()=>{this.model.markers._refresh(s)}))}reconvertItem(e){this.model.change((()=>{this.model.document.differ._refreshItem(e)}))}}(0,O.Z)(L,S.Z)},"./packages/ckeditor5-engine/src/conversion/conversion.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-engine/src/conversion/upcasthelpers.js"),r=s("./packages/ckeditor5-engine/src/conversion/downcasthelpers.js"),n=s("./packages/ckeditor5-utils/src/toarray.js");class a{constructor(e,t){this._helpers=new Map,this._downcast=(0,n.Z)(e),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=(0,n.Z)(t),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(e,t){const s=this._downcast.includes(t);if(!this._upcast.includes(t)&&!s)throw new o.ZP("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:e,dispatchers:[t],isDowncast:s})}for(e){if(!this._helpers.has(e))throw new o.ZP("conversion-for-unknown-group",this);return this._helpers.get(e)}elementToElement(e){this.for("downcast").elementToElement(e);for(const{model:t,view:s}of c(e))this.for("upcast").elementToElement({model:t,view:s,converterPriority:e.converterPriority})}attributeToElement(e){this.for("downcast").attributeToElement(e);for(const{model:t,view:s}of c(e))this.for("upcast").elementToAttribute({view:s,model:t,converterPriority:e.converterPriority})}attributeToAttribute(e){this.for("downcast").attributeToAttribute(e);for(const{model:t,view:s}of c(e))this.for("upcast").attributeToAttribute({view:s,model:t})}_createConversionHelpers({name:e,dispatchers:t,isDowncast:s}){if(this._helpers.has(e))throw new o.ZP("conversion-group-exists",this);const n=s?new r.ZP(t):new i.ZP(t);this._helpers.set(e,n)}}function*c(e){if(e.model.values)for(const t of e.model.values){const s={key:e.model.key,value:t},o=e.view[t],i=e.upcastAlso?e.upcastAlso[t]:void 0;yield*l(s,o,i)}else yield*l(e.model,e.view,e.upcastAlso)}function*l(e,t,s){if(yield{model:e,view:t},s)for(const t of(0,n.Z)(s))yield{model:e,view:t}}},"./packages/ckeditor5-engine/src/conversion/conversionhelpers.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{constructor(e){this._dispatchers=e}add(e){for(const t of this._dispatchers)e(t);return this}}},"./packages/ckeditor5-engine/src/conversion/downcastdispatcher.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./packages/ckeditor5-engine/src/model/textproxy.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class r{constructor(){this._consumable=new Map,this._textProxyRegistry=new Map}add(e,t){t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e)),this._consumable.has(e)||this._consumable.set(e,new Map),this._consumable.get(e).set(t,!0)}consume(e,t){return t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e)),!!this.test(e,t)&&(this._consumable.get(e).set(t,!1),!0)}test(e,t){t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e));const s=this._consumable.get(e);if(void 0===s)return null;const i=s.get(t);return void 0===i?null:i}revert(e,t){t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e));const s=this.test(e,t);return!1===s?(this._consumable.get(e).set(t,!0),!0):!0!==s&&null}verifyAllConsumed(e){const t=[];for(const[s,o]of this._consumable)for(const[i,r]of o){const o=i.split(":")[0];r&&e==o&&t.push({event:i,item:s.name||s.description})}if(t.length)throw new i.ZP("conversion-model-consumable-not-consumed",null,{items:t})}_getSymbolForTextProxy(e){let t=null;const s=this._textProxyRegistry.get(e.startOffset);if(s){const o=s.get(e.endOffset);o&&(t=o.get(e.parent))}return t||(t=this._addSymbolForTextProxy(e)),t}_addSymbolForTextProxy(e){const t=e.startOffset,s=e.endOffset,o=e.parent,i=Symbol("$textProxy:"+e.data);let r,n;return r=this._textProxyRegistry.get(t),r||(r=new Map,this._textProxyRegistry.set(t,r)),n=r.get(s),n||(n=new Map,r.set(s,n)),n.set(o,i),i}}function n(e){const t=e.split(":");return"insert"==t[0]?t[0]:"addMarker"==t[0]||"removeMarker"==t[0]?e:t.length>1?t[0]+":"+t[1]:t[0]}var a=s("./packages/ckeditor5-engine/src/model/range.js"),c=s("./packages/ckeditor5-utils/src/emittermixin.js"),l=s("./packages/ckeditor5-utils/src/mix.js");class d{constructor(e){this._conversionApi={dispatcher:this,...e},this._firedEventsMap=new WeakMap}convertChanges(e,t,s){const o=this._createConversionApi(s,e.getRefreshedItems());for(const t of e.getMarkersToRemove())this._convertMarkerRemove(t.name,t.range,o);const i=this._reduceChanges(e.getChanges());for(const e of i)"insert"===e.type?this._convertInsert(a.Z._createFromPositionAndShift(e.position,e.length),o):"reinsert"===e.type?this._convertReinsert(a.Z._createFromPositionAndShift(e.position,e.length),o):"remove"===e.type?this._convertRemove(e.position,e.length,e.name,o):this._convertAttribute(e.range,e.attributeKey,e.attributeOldValue,e.attributeNewValue,o);for(const e of o.mapper.flushUnboundMarkerNames()){const s=t.get(e).getRange();this._convertMarkerRemove(e,s,o),this._convertMarkerAdd(e,s,o)}for(const t of e.getMarkersToAdd())this._convertMarkerAdd(t.name,t.range,o);o.mapper.flushDeferredBindings(),o.consumable.verifyAllConsumed("insert")}convert(e,t,s,o={}){const i=this._createConversionApi(s,void 0,o);this._convertInsert(e,i);for(const[e,s]of t)this._convertMarkerAdd(e,s,i);i.consumable.verifyAllConsumed("insert")}convertSelection(e,t,s){const o=Array.from(t.getMarkersAtPosition(e.getFirstPosition())),i=this._createConversionApi(s);if(this._addConsumablesForSelection(i.consumable,e,o),this.fire("selection",{selection:e},i),e.isCollapsed){for(const t of o){const s=t.getRange();if(!h(e.getFirstPosition(),t,i.mapper))continue;const o={item:e,markerName:t.name,markerRange:s};i.consumable.test(e,"addMarker:"+t.name)&&this.fire("addMarker:"+t.name,o,i)}for(const t of e.getAttributeKeys()){const s={item:e,range:e.getFirstRange(),attributeKey:t,attributeOldValue:null,attributeNewValue:e.getAttribute(t)};i.consumable.test(e,"attribute:"+s.attributeKey)&&this.fire("attribute:"+s.attributeKey+":$text",s,i)}}}_convertInsert(e,t,s={}){s.doNotAddConsumables||this._addConsumablesForInsert(t.consumable,Array.from(e));for(const s of Array.from(e.getWalker({shallow:!0})).map(u))this._testAndFire("insert",s,t)}_convertRemove(e,t,s,o){this.fire("remove:"+s,{position:e,length:t},o)}_convertAttribute(e,t,s,o,i){this._addConsumablesForRange(i.consumable,e,`attribute:${t}`);for(const r of e){const e={item:r.item,range:a.Z._createFromPositionAndShift(r.previousPosition,r.length),attributeKey:t,attributeOldValue:s,attributeNewValue:o};this._testAndFire(`attribute:${t}`,e,i)}}_convertReinsert(e,t){const s=Array.from(e.getWalker({shallow:!0}));this._addConsumablesForInsert(t.consumable,s);for(const e of s.map(u))this._testAndFire("insert",{...e,reconversion:!0},t)}_convertMarkerAdd(e,t,s){if("$graveyard"==t.root.rootName)return;const o="addMarker:"+e;if(s.consumable.add(t,o),this.fire(o,{markerName:e,markerRange:t},s),s.consumable.consume(t,o)){this._addConsumablesForRange(s.consumable,t,o);for(const i of t.getItems()){if(!s.consumable.test(i,o))continue;const r={item:i,range:a.Z._createOn(i),markerName:e,markerRange:t};this.fire(o,r,s)}}}_convertMarkerRemove(e,t,s){"$graveyard"!=t.root.rootName&&this.fire("removeMarker:"+e,{markerName:e,markerRange:t},s)}_reduceChanges(e){const t={changes:e};return this.fire("reduceChanges",t),t.changes}_addConsumablesForInsert(e,t){for(const s of t){const t=s.item;if(null===e.test(t,"insert")){e.add(t,"insert");for(const s of t.getAttributeKeys())e.add(t,"attribute:"+s)}}return e}_addConsumablesForRange(e,t,s){for(const o of t.getItems())e.add(o,s);return e}_addConsumablesForSelection(e,t,s){e.add(t,"selection");for(const o of s)e.add(t,"addMarker:"+o.name);for(const s of t.getAttributeKeys())e.add(t,"attribute:"+s);return e}_testAndFire(e,t,s){const o=function(e,t){const s=t.item.name||"$text";return`${e}:${s}`}(e,t),i=t.item.is("$textProxy")?s.consumable._getSymbolForTextProxy(t.item):t.item,r=this._firedEventsMap.get(s),n=r.get(i);if(n){if(n.has(o))return;n.add(o)}else r.set(i,new Set([o]));this.fire(o,t,s)}_testAndFireAddAttributes(e,t){const s={item:e,range:a.Z._createOn(e)};for(const e of s.item.getAttributeKeys())s.attributeKey=e,s.attributeOldValue=null,s.attributeNewValue=s.item.getAttribute(e),this._testAndFire(`attribute:${e}`,s,t)}_createConversionApi(e,t=new Set,s={}){const o={...this._conversionApi,consumable:new r,writer:e,options:s,convertItem:e=>this._convertInsert(a.Z._createOn(e),o),convertChildren:e=>this._convertInsert(a.Z._createIn(e),o,{doNotAddConsumables:!0}),convertAttributes:e=>this._testAndFireAddAttributes(e,o),canReuseView:e=>!t.has(o.mapper.toModelElement(e))};return this._firedEventsMap.set(o,new Map),o}}function h(e,t,s){const o=t.getRange(),i=Array.from(e.getAncestors());i.shift(),i.reverse();return!i.some((e=>{if(o.containsItem(e)){return!!s.toViewElement(e).getCustomProperty("addHighlight")}}))}function u(e){return{item:e.item,range:a.Z._createFromPositionAndShift(e.previousPosition,e.length)}}(0,l.Z)(d,c.ZP)},"./packages/ckeditor5-engine/src/conversion/downcasthelpers.js":(e,t,s)=>{"use strict";s.d(t,{GM:()=>b,Od:()=>f,Om:()=>g,ZP:()=>p,iO:()=>w,k3:()=>_,o6:()=>m});var o=s("./packages/ckeditor5-engine/src/model/range.js"),i=s("./packages/ckeditor5-engine/src/model/selection.js"),r=s("./packages/ckeditor5-engine/src/model/element.js"),n=s("./packages/ckeditor5-engine/src/model/position.js"),a=s("./packages/ckeditor5-engine/src/view/attributeelement.js"),c=s("./packages/ckeditor5-engine/src/model/documentselection.js"),l=s("./packages/ckeditor5-engine/src/conversion/conversionhelpers.js"),d=s("./node_modules/lodash-es/cloneDeep.js"),h=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),u=s("./packages/ckeditor5-utils/src/toarray.js");class p extends l.Z{elementToElement(e){return this.add(function(e){(e=(0,d.Z)(e)).model=y(e.model),e.view=Z(e.view,"container"),e.model.attributes.length&&(e.model.children=!0);return t=>{t.on("insert:"+e.model.name,function(e,t=S){return(s,o,i)=>{if(!t(o.item,i.consumable,{preflight:!0}))return;const r=e(o.item,i,o);if(!r)return;t(o.item,i.consumable);const n=i.mapper.toViewPosition(o.range.start);i.mapper.bindElements(o.item,r),i.writer.insert(n,r),i.convertAttributes(o.item),C(r,o.item.getChildren(),i,{reconversion:o.reconversion})}}(e.view,T(e.model)),{priority:e.converterPriority||"normal"}),(e.model.children||e.model.attributes.length)&&t.on("reduceChanges",A(e.model),{priority:"low"})}}(e))}elementToStructure(e){return this.add(function(e){return(e=(0,d.Z)(e)).model=y(e.model),e.view=Z(e.view,"container"),e.model.children=!0,t=>{if(t._conversionApi.schema.checkChild(e.model.name,"$text"))throw new h.ZP("conversion-element-to-structure-disallowed-text",t,{elementName:e.model.name});var s,o;t.on("insert:"+e.model.name,(s=e.view,o=T(e.model),(e,t,i)=>{if(!o(t.item,i.consumable,{preflight:!0}))return;const r=new Map;i.writer._registerSlotFactory(function(e,t,s){return(o,i="children")=>{const r=o.createContainerElement("$slot");let n=null;if("children"===i)n=Array.from(e.getChildren());else{if("function"!=typeof i)throw new h.ZP("conversion-slot-mode-unknown",s.dispatcher,{modeOrFilter:i});n=Array.from(e.getChildren()).filter((e=>i(e)))}return t.set(r,n),r}}(t.item,r,i));const n=s(t.item,i,t);if(i.writer._clearSlotFactory(),!n)return;!function(e,t,s){const o=Array.from(t.values()).flat(),i=new Set(o);if(i.size!=o.length)throw new h.ZP("conversion-slot-filter-overlap",s.dispatcher,{element:e});if(i.size!=e.childCount)throw new h.ZP("conversion-slot-filter-incomplete",s.dispatcher,{element:e})}(t.item,r,i),o(t.item,i.consumable);const a=i.mapper.toViewPosition(t.range.start);i.mapper.bindElements(t.item,n),i.writer.insert(a,n),i.convertAttributes(t.item),function(e,t,s,o){s.mapper.on("modelToViewPosition",n,{priority:"highest"});let i=null,r=null;for([i,r]of t)C(e,r,s,o),s.writer.move(s.writer.createRangeIn(i),s.writer.createPositionBefore(i)),s.writer.remove(i);function n(e,t){const s=t.modelPosition.nodeAfter,o=r.indexOf(s);o<0||(t.viewPosition=t.mapper.findPositionIn(i,o))}s.mapper.off("modelToViewPosition",n)}(n,r,i,{reconversion:t.reconversion})}),{priority:e.converterPriority||"normal"}),t.on("reduceChanges",A(e.model),{priority:"low"})}}(e))}attributeToElement(e){return this.add(function(e){e=(0,d.Z)(e);let t="attribute:"+(e.model.key?e.model.key:e.model);e.model.name&&(t+=":"+e.model.name);if(e.model.values)for(const t of e.model.values)e.view[t]=Z(e.view[t],"attribute");else e.view=Z(e.view,"attribute");const s=P(e);return o=>{o.on(t,function(e){return(t,s,o)=>{if(!o.consumable.test(s.item,t.name))return;const r=e(s.attributeOldValue,o,s),n=e(s.attributeNewValue,o,s);if(!r&&!n)return;o.consumable.consume(s.item,t.name);const a=o.writer,l=a.document.selection;if(s.item instanceof i.Z||s.item instanceof c.Z)a.wrap(l.getFirstRange(),n);else{let e=o.mapper.toViewRange(s.range);null!==s.attributeOldValue&&r&&(e=a.unwrap(e,r)),null!==s.attributeNewValue&&n&&a.wrap(e,n)}}}(s),{priority:e.converterPriority||"normal"})}}(e))}attributeToAttribute(e){return this.add(function(e){e=(0,d.Z)(e);let t="attribute:"+(e.model.key?e.model.key:e.model);e.model.name&&(t+=":"+e.model.name);if(e.model.values)for(const t of e.model.values)e.view[t]=j(e.view[t]);else e.view=j(e.view);const s=P(e);return o=>{var i;o.on(t,(i=s,(e,t,s)=>{if(!s.consumable.test(t.item,e.name))return;const o=i(t.attributeOldValue,s,t),r=i(t.attributeNewValue,s,t);if(!o&&!r)return;s.consumable.consume(t.item,e.name);const n=s.mapper.toViewElement(t.item),a=s.writer;if(!n)throw new h.ZP("conversion-attribute-to-attribute-on-text",s.dispatcher,t);if(null!==t.attributeOldValue&&o)if("class"==o.key){const e=(0,u.Z)(o.value);for(const t of e)a.removeClass(t,n)}else if("style"==o.key){const e=Object.keys(o.value);for(const t of e)a.removeStyle(t,n)}else a.removeAttribute(o.key,n);if(null!==t.attributeNewValue&&r)if("class"==r.key){const e=(0,u.Z)(r.value);for(const t of e)a.addClass(t,n)}else if("style"==r.key){const e=Object.keys(r.value);for(const t of e)a.setStyle(t,r.value[t],n)}else a.setAttribute(r.key,r.value,n)}),{priority:e.converterPriority||"normal"})}}(e))}markerToElement(e){return this.add(function(e){return(e=(0,d.Z)(e)).view=Z(e.view,"ui"),t=>{var s;t.on("addMarker:"+e.model,(s=e.view,(e,t,o)=>{t.isOpening=!0;const i=s(t,o);t.isOpening=!1;const r=s(t,o);if(!i||!r)return;const n=t.markerRange;if(n.isCollapsed&&!o.consumable.consume(n,e.name))return;for(const t of n)if(!o.consumable.consume(t.item,e.name))return;const a=o.mapper,c=o.writer;c.insert(a.toViewPosition(n.start),i),o.mapper.bindElementToMarker(i,t.markerName),n.isCollapsed||(c.insert(a.toViewPosition(n.end),r),o.mapper.bindElementToMarker(r,t.markerName)),e.stop()}),{priority:e.converterPriority||"normal"}),t.on("removeMarker:"+e.model,(e.view,(e,t,s)=>{const o=s.mapper.markerNameToElements(t.markerName);if(o){for(const e of o)s.mapper.unbindElementFromMarkerName(e,t.markerName),s.writer.clear(s.writer.createRangeOn(e),e);s.writer.clearClonedElementsGroup(t.markerName),e.stop()}}),{priority:e.converterPriority||"normal"})}}(e))}markerToHighlight(e){return this.add(function(e){return t=>{var s;t.on("addMarker:"+e.model,(s=e.view,(e,t,o)=>{if(!t.item)return;if(!(t.item instanceof i.Z||t.item instanceof c.Z||t.item.is("$textProxy")))return;const r=x(s,t,o);if(!r)return;if(!o.consumable.consume(t.item,e.name))return;const n=o.writer,a=k(n,r),l=n.document.selection;if(t.item instanceof i.Z||t.item instanceof c.Z)n.wrap(l.getFirstRange(),a,l);else{const e=o.mapper.toViewRange(t.range),s=n.wrap(e,a);for(const e of s.getItems())if(e.is("attributeElement")&&e.isSimilar(a)){o.mapper.bindElementToMarker(e,t.markerName);break}}}),{priority:e.converterPriority||"normal"}),t.on("addMarker:"+e.model,function(e){return(t,s,i)=>{if(!s.item)return;if(!(s.item instanceof r.Z))return;const n=x(e,s,i);if(!n)return;if(!i.consumable.test(s.item,t.name))return;const a=i.mapper.toViewElement(s.item);if(a&&a.getCustomProperty("addHighlight")){i.consumable.consume(s.item,t.name);for(const e of o.Z._createIn(s.item))i.consumable.consume(e.item,t.name);a.getCustomProperty("addHighlight")(a,n,i.writer),i.mapper.bindElementToMarker(a,s.markerName)}}}(e.view),{priority:e.converterPriority||"normal"}),t.on("removeMarker:"+e.model,function(e){return(t,s,o)=>{if(s.markerRange.isCollapsed)return;const i=x(e,s,o);if(!i)return;const r=k(o.writer,i),n=o.mapper.markerNameToElements(s.markerName);if(n){for(const e of n)o.mapper.unbindElementFromMarkerName(e,s.markerName),e.is("attributeElement")?o.writer.unwrap(o.writer.createRangeOn(e),r):e.getCustomProperty("removeHighlight")(e,i.id,o.writer);o.writer.clearClonedElementsGroup(s.markerName),t.stop()}}}(e.view),{priority:e.converterPriority||"normal"})}}(e))}markerToData(e){return this.add(function(e){const t=(e=(0,d.Z)(e)).model;e.view||(e.view=s=>({group:t,name:s.substr(e.model.length+1)}));return s=>{var o;s.on("addMarker:"+t,(o=e.view,(e,t,s)=>{const i=o(t.markerName,s);if(!i)return;const r=t.markerRange;s.consumable.consume(r,e.name)&&(v(r,!1,s,t,i),v(r,!0,s,t,i),e.stop())}),{priority:e.converterPriority||"normal"}),s.on("removeMarker:"+t,function(e){return(t,s,o)=>{const i=e(s.markerName,o);if(!i)return;const r=o.mapper.markerNameToElements(s.markerName);if(r){for(const e of r)o.mapper.unbindElementFromMarkerName(e,s.markerName),e.is("containerElement")?(n(`data-${i.group}-start-before`,e),n(`data-${i.group}-start-after`,e),n(`data-${i.group}-end-before`,e),n(`data-${i.group}-end-after`,e)):o.writer.clear(o.writer.createRangeOn(e),e);o.writer.clearClonedElementsGroup(s.markerName),t.stop()}function n(e,t){if(t.hasAttribute(e)){const s=new Set(t.getAttribute(e).split(","));s.delete(i.name),0==s.size?o.writer.removeAttribute(e,t):o.writer.setAttribute(e,Array.from(s).join(","),t)}}}}(e.view),{priority:e.converterPriority||"normal"})}}(e))}}function g(){return(e,t,s)=>{if(!s.consumable.consume(t.item,e.name))return;const o=s.writer,i=s.mapper.toViewPosition(t.range.start),r=o.createText(t.item.data);o.insert(i,r)}}function m(){return(e,t,s)=>{s.convertAttributes(t.item),t.reconversion||!t.item.is("element")||t.item.isEmpty||s.convertChildren(t.item)}}function f(){return(e,t,s)=>{const o=s.mapper.toViewPosition(t.position),i=t.position.getShiftedBy(t.length),r=s.mapper.toViewPosition(i,{isPhantom:!0}),n=s.writer.createRange(o,r),a=s.writer.remove(n.getTrimmed());for(const e of s.writer.createRangeIn(a).getItems())s.mapper.unbindViewElement(e,{defer:!0})}}function k(e,t){const s=e.createAttributeElement("span",t.attributes);return t.classes&&s._addClass(t.classes),"number"==typeof t.priority&&(s._priority=t.priority),s._id=t.id,s}function _(){return(e,t,s)=>{const o=t.selection;if(o.isCollapsed)return;if(!s.consumable.consume(o,"selection"))return;const i=[];for(const e of o.getRanges()){const t=s.mapper.toViewRange(e);i.push(t)}s.writer.setSelection(i,{backward:o.isBackward})}}function b(){return(e,t,s)=>{const o=t.selection;if(!o.isCollapsed)return;if(!s.consumable.consume(o,"selection"))return;const i=s.writer,r=o.getFirstPosition(),n=s.mapper.toViewPosition(r),a=i.breakAttributes(n);i.setSelection(a)}}function w(){return(e,t,s)=>{const o=s.writer,i=o.document.selection;for(const e of i.getRanges())e.isCollapsed&&e.end.parent.isAttached()&&s.writer.mergeAttributes(e.start);o.setSelection(null)}}function v(e,t,s,o,i){const r=t?e.start:e.end,n=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(n||a){let e,r;t&&n||!t&&!a?(e=n,r=!0):(e=a,r=!1);const c=s.mapper.toViewElement(e);if(c)return void function(e,t,s,o,i,r){const n=`data-${r.group}-${t?"start":"end"}-${s?"before":"after"}`,a=e.hasAttribute(n)?e.getAttribute(n).split(","):[];a.unshift(r.name),o.writer.setAttribute(n,a.join(","),e),o.mapper.bindElementToMarker(e,i.markerName)}(c,t,r,s,o,i)}!function(e,t,s,o,i){const r=`${i.group}-${t?"start":"end"}`,n=i.name?{name:i.name}:null,a=s.writer.createUIElement(r,n);s.writer.insert(e,a),s.mapper.bindElementToMarker(a,o.markerName)}(s.mapper.toViewPosition(r),t,s,o,i)}function y(e){return"string"==typeof e&&(e={name:e}),e.attributes?Array.isArray(e.attributes)||(e.attributes=[e.attributes]):e.attributes=[],e.children=!!e.children,e}function Z(e,t){return"function"==typeof e?e:(s,o)=>function(e,t,s){"string"==typeof e&&(e={name:e});let o;const i=t.writer,r=Object.assign({},e.attributes);if("container"==s)o=i.createContainerElement(e.name,r);else if("attribute"==s){const t={priority:e.priority||a.Z.DEFAULT_PRIORITY};o=i.createAttributeElement(e.name,r,t)}else o=i.createUIElement(e.name,r);if(e.styles){const t=Object.keys(e.styles);for(const s of t)i.setStyle(s,e.styles[s],o)}if(e.classes){const t=e.classes;if("string"==typeof t)i.addClass(t,o);else for(const e of t)i.addClass(e,o)}return o}(e,o,t)}function P(e){return e.model.values?(t,s)=>{const o=e.view[t];return o?o(t,s):null}:e.view}function j(e){return"string"==typeof e?t=>({key:e,value:t}):"object"==typeof e?e.value?()=>e:t=>({key:e.key,value:t}):e}function x(e,t,s){const o="function"==typeof e?e(t,s):e;return o?(o.priority||(o.priority=10),o.id||(o.id=t.markerName),o):null}function A(e){const t=function(e){return(t,s)=>{if(!t.is("element",e.name))return!1;if("attribute"==s.type){if(e.attributes.includes(s.attributeKey))return!0}else if(e.children)return!0;return!1}}(e);return(e,s)=>{const o=[];s.reconvertedElements||(s.reconvertedElements=new Set);for(const e of s.changes){const i=e.position?e.position.parent:e.range.start.nodeAfter;if(i&&t(i,e)){if(!s.reconvertedElements.has(i)){s.reconvertedElements.add(i);const e=n.ZP._createBefore(i);o.push({type:"remove",name:i.name,position:e,length:1},{type:"reinsert",name:i.name,position:e,length:1})}}else o.push(e)}s.changes=o}}function T(e){return(t,s,o={})=>{const i=["insert"];for(const s of e.attributes)t.hasAttribute(s)&&i.push(`attribute:${s}`);return!!i.every((e=>s.test(t,e)))&&(o.preflight||i.forEach((e=>s.consume(t,e))),!0)}}function C(e,t,s,o){for(const i of t)E(e.root,i,s,o)||s.convertItem(i)}function E(e,t,s,o){const{writer:i,mapper:r}=s;if(!o.reconversion)return!1;const a=r.toViewElement(t);return!(!a||a.root==e)&&(!!s.canReuseView(a)&&(i.move(i.createRangeOn(a),r.toViewPosition(n.ZP._createBefore(t))),!0))}function S(e,t,{preflight:s}={}){return s?t.test(e,"insert"):t.consume(e,"insert")}},"./packages/ckeditor5-engine/src/conversion/mapper.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./packages/ckeditor5-engine/src/model/position.js"),i=s("./packages/ckeditor5-engine/src/model/range.js"),r=s("./packages/ckeditor5-engine/src/view/position.js"),n=s("./packages/ckeditor5-engine/src/view/range.js"),a=s("./packages/ckeditor5-engine/src/view/text.js"),c=s("./packages/ckeditor5-utils/src/emittermixin.js"),l=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),d=s("./packages/ckeditor5-utils/src/mix.js");class h{constructor(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._viewToModelLengthCallbacks=new Map,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._deferredBindingRemovals=new Map,this._unboundMarkerNames=new Set,this.on("modelToViewPosition",((e,t)=>{if(t.viewPosition)return;const s=this._modelToViewMapping.get(t.modelPosition.parent);if(!s)throw new l.ZP("mapping-model-position-view-parent-not-found",this,{modelPosition:t.modelPosition});t.viewPosition=this.findPositionIn(s,t.modelPosition.offset)}),{priority:"low"}),this.on("viewToModelPosition",((e,t)=>{if(t.modelPosition)return;const s=this.findMappedViewAncestor(t.viewPosition),i=this._viewToModelMapping.get(s),r=this._toModelOffset(t.viewPosition.parent,t.viewPosition.offset,s);t.modelPosition=o.ZP._createAt(i,r)}),{priority:"low"})}bindElements(e,t){this._modelToViewMapping.set(e,t),this._viewToModelMapping.set(t,e)}unbindViewElement(e,t={}){const s=this.toModelElement(e);if(this._elementToMarkerNames.has(e))for(const t of this._elementToMarkerNames.get(e))this._unboundMarkerNames.add(t);t.defer?this._deferredBindingRemovals.set(e,e.root):(this._viewToModelMapping.delete(e),this._modelToViewMapping.get(s)==e&&this._modelToViewMapping.delete(s))}unbindModelElement(e){const t=this.toViewElement(e);this._modelToViewMapping.delete(e),this._viewToModelMapping.get(t)==e&&this._viewToModelMapping.delete(t)}bindElementToMarker(e,t){const s=this._markerNameToElements.get(t)||new Set;s.add(e);const o=this._elementToMarkerNames.get(e)||new Set;o.add(t),this._markerNameToElements.set(t,s),this._elementToMarkerNames.set(e,o)}unbindElementFromMarkerName(e,t){const s=this._markerNameToElements.get(t);s&&(s.delete(e),0==s.size&&this._markerNameToElements.delete(t));const o=this._elementToMarkerNames.get(e);o&&(o.delete(t),0==o.size&&this._elementToMarkerNames.delete(e))}flushUnboundMarkerNames(){const e=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),e}flushDeferredBindings(){for(const[e,t]of this._deferredBindingRemovals)e.root==t&&this.unbindViewElement(e);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(e){return this._viewToModelMapping.get(e)}toViewElement(e){return this._modelToViewMapping.get(e)}toModelRange(e){return new i.Z(this.toModelPosition(e.start),this.toModelPosition(e.end))}toViewRange(e){return new n.Z(this.toViewPosition(e.start),this.toViewPosition(e.end))}toModelPosition(e){const t={viewPosition:e,mapper:this};return this.fire("viewToModelPosition",t),t.modelPosition}toViewPosition(e,t={isPhantom:!1}){const s={modelPosition:e,mapper:this,isPhantom:t.isPhantom};return this.fire("modelToViewPosition",s),s.viewPosition}markerNameToElements(e){const t=this._markerNameToElements.get(e);if(!t)return null;const s=new Set;for(const e of t)if(e.is("attributeElement"))for(const t of e.getElementsWithSameId())s.add(t);else s.add(e);return s}registerViewToModelLength(e,t){this._viewToModelLengthCallbacks.set(e,t)}findMappedViewAncestor(e){let t=e.parent;for(;!this._viewToModelMapping.has(t);)t=t.parent;return t}_toModelOffset(e,t,s){if(s!=e){return this._toModelOffset(e.parent,e.index,s)+this._toModelOffset(e,t,e)}if(e.is("$text"))return t;let o=0;for(let s=0;s<t;s++)o+=this.getModelLength(e.getChild(s));return o}getModelLength(e){if(this._viewToModelLengthCallbacks.get(e.name)){return this._viewToModelLengthCallbacks.get(e.name)(e)}if(this._viewToModelMapping.has(e))return 1;if(e.is("$text"))return e.data.length;if(e.is("uiElement"))return 0;{let t=0;for(const s of e.getChildren())t+=this.getModelLength(s);return t}}findPositionIn(e,t){let s,o=0,i=0,n=0;if(e.is("$text"))return new r.Z(e,t);for(;i<t;)s=e.getChild(n),o=this.getModelLength(s),i+=o,n++;return i==t?this._moveViewPositionToTextNode(new r.Z(e,n)):this.findPositionIn(s,t-(i-o))}_moveViewPositionToTextNode(e){const t=e.nodeBefore,s=e.nodeAfter;return t instanceof a.Z?new r.Z(t,t.data.length):s instanceof a.Z?new r.Z(s,0):e}}(0,d.Z)(h,c.ZP)},"./packages/ckeditor5-engine/src/conversion/upcasthelpers.js":(e,t,s)=>{"use strict";s.d(t,{Fo:()=>h,ZP:()=>c,_p:()=>l,s8:()=>d});var o=s("./packages/ckeditor5-engine/src/view/matcher.js"),i=s("./packages/ckeditor5-engine/src/conversion/conversionhelpers.js"),r=s("./node_modules/lodash-es/cloneDeep.js"),n=s("./packages/ckeditor5-utils/src/priorities.js"),a=s("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js");class c extends i.Z{elementToElement(e){return this.add(u(e))}elementToAttribute(e){return this.add(function(e){m(e=(0,r.Z)(e));const t=f(e,!1),s=p(e.view),o=s?"element:"+s:"element";return s=>{s.on(o,t,{priority:e.converterPriority||"low"})}}(e))}attributeToAttribute(e){return this.add(function(e){e=(0,r.Z)(e);let t=null;("string"==typeof e.view||e.view.key)&&(t=function(e){"string"==typeof e.view&&(e.view={key:e.view});const t=e.view.key;let s;if("class"==t||"style"==t){s={["class"==t?"classes":"styles"]:e.view.value}}else{s={attributes:{[t]:void 0===e.view.value?/[\s\S]*/:e.view.value}}}e.view.name&&(s.name=e.view.name);return e.view=s,t}(e));m(e,t);const s=f(e,!0);return t=>{t.on("element",s,{priority:e.converterPriority||"low"})}}(e))}elementToMarker(e){return this.add(function(e){return function(e){const t=e.model;e.model=(e,s)=>{const o="string"==typeof t?t:t(e,s);return s.writer.createElement("$marker",{"data-name":o})}}(e=(0,r.Z)(e)),u(e)}(e))}dataToMarker(e){return this.add(function(e){(e=(0,r.Z)(e)).model||(e.model=t=>t?e.view+":"+t:e.view);const t=g(k(e,"start")),s=g(k(e,"end"));return o=>{o.on("element:"+e.view+"-start",t,{priority:e.converterPriority||"normal"}),o.on("element:"+e.view+"-end",s,{priority:e.converterPriority||"normal"});const i=n.Z.get("low"),r=n.Z.get("highest"),a=n.Z.get(e.converterPriority)/r;o.on("element",function(e){return(t,s,o)=>{const i=`data-${e.view}`;function r(t,i){for(const r of i){const i=e.model(r,o),n=o.writer.createElement("$marker",{"data-name":i});o.writer.insert(n,t),s.modelCursor.isEqual(t)?s.modelCursor=s.modelCursor.getShiftedBy(1):s.modelCursor=s.modelCursor._getTransformedByInsertion(t,1),s.modelRange=s.modelRange._getTransformedByInsertion(t,1)[0]}}(o.consumable.test(s.viewItem,{attributes:i+"-end-after"})||o.consumable.test(s.viewItem,{attributes:i+"-start-after"})||o.consumable.test(s.viewItem,{attributes:i+"-end-before"})||o.consumable.test(s.viewItem,{attributes:i+"-start-before"}))&&(s.modelRange||Object.assign(s,o.convertChildren(s.viewItem,s.modelCursor)),o.consumable.consume(s.viewItem,{attributes:i+"-end-after"})&&r(s.modelRange.end,s.viewItem.getAttribute(i+"-end-after").split(",")),o.consumable.consume(s.viewItem,{attributes:i+"-start-after"})&&r(s.modelRange.end,s.viewItem.getAttribute(i+"-start-after").split(",")),o.consumable.consume(s.viewItem,{attributes:i+"-end-before"})&&r(s.modelRange.start,s.viewItem.getAttribute(i+"-end-before").split(",")),o.consumable.consume(s.viewItem,{attributes:i+"-start-before"})&&r(s.modelRange.start,s.viewItem.getAttribute(i+"-start-before").split(",")))}}(e),{priority:i+a})}}(e))}}function l(){return(e,t,s)=>{if(!t.modelRange&&s.consumable.consume(t.viewItem,{name:!0})){const{modelRange:e,modelCursor:o}=s.convertChildren(t.viewItem,t.modelCursor);t.modelRange=e,t.modelCursor=o}}}function d(){return(e,t,{schema:s,consumable:o,writer:i})=>{let r=t.modelCursor;if(!o.test(t.viewItem))return;if(!s.checkChild(r,"$text")){if(!(0,a.gg)(r,"$text",s))return;r=(0,a.zX)(r,i)}o.consume(t.viewItem);const n=i.createText(t.viewItem.data);i.insert(n,r),t.modelRange=i.createRange(r,r.getShiftedBy(n.offsetSize)),t.modelCursor=t.modelRange.end}}function h(e,t){return(s,o)=>{const i=o.newSelection,r=[];for(const e of i.getRanges())r.push(t.toModelRange(e));const n=e.createSelection(r,{backward:i.isBackward});n.isEqual(e.document.selection)||e.change((e=>{e.setSelection(n)}))}}function u(e){const t=g(e=(0,r.Z)(e)),s=p(e.view),o=s?"element:"+s:"element";return s=>{s.on(o,t,{priority:e.converterPriority||"normal"})}}function p(e){return"string"==typeof e?e:"object"==typeof e&&"string"==typeof e.name?e.name:null}function g(e){const t=new o.Z(e.view);return(s,o,i)=>{const r=t.match(o.viewItem);if(!r)return;const n=r.match;if(n.name=!0,!i.consumable.test(o.viewItem,n))return;const a=function(e,t,s){return e instanceof Function?e(t,s):s.writer.createElement(e)}(e.model,o.viewItem,i);a&&i.safeInsert(a,o.modelCursor)&&(i.consumable.consume(o.viewItem,n),i.convertChildren(o.viewItem,a),i.updateConversionResult(a,o))}}function m(e,t=null){const s=null===t||(e=>e.getAttribute(t)),o="object"!=typeof e.model?e.model:e.model.key,i="object"!=typeof e.model||void 0===e.model.value?s:e.model.value;e.model={key:o,value:i}}function f(e,t){const s=new o.Z(e.view);return(o,i,r)=>{const n=s.match(i.viewItem);if(!n)return;if(!function(e,t){const s="function"==typeof e?e(t):e;if("object"==typeof s&&!p(s))return!1;return!s.classes&&!s.attributes&&!s.styles}(e.view,i.viewItem)?delete n.match.name:n.match.name=!0,!r.consumable.test(i.viewItem,n.match))return;const a=e.model.key,c="function"==typeof e.model.value?e.model.value(i.viewItem,r):e.model.value;if(null===c)return;i.modelRange||Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor));const l=function(e,t,s,o){let i=!1;for(const r of Array.from(e.getItems({shallow:s})))o.schema.checkAttribute(r,t.key)&&(i=!0,r.hasAttribute(t.key)||o.writer.setAttribute(t.key,t.value,r));return i}(i.modelRange,{key:a,value:c},t,r);l&&r.consumable.consume(i.viewItem,n.match)}}function k(e,t){const s={};return s.view=e.view+"-"+t,s.model=(t,s)=>{const o=t.getAttribute("name"),i=e.model(o,s);return s.writer.createElement("$marker",{"data-name":i})},s}},"./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});class o{getHtml(e){const t=document.implementation.createHTMLDocument("").createElement("div");return t.appendChild(e),t.innerHTML}}var i=s("./packages/ckeditor5-engine/src/view/domconverter.js");class r{constructor(e){this.domParser=new DOMParser,this.domConverter=new i.Z(e,{renderingMode:"data"}),this.htmlWriter=new o}toData(e){const t=this.domConverter.viewToDom(e,document);return this.htmlWriter.getHtml(t)}toView(e){const t=this._toDom(e);return this.domConverter.domToView(t)}registerRawContentMatcher(e){this.domConverter.registerRawContentMatcher(e)}useFillerType(e){this.domConverter.blockFillerMode="marked"==e?"markedNbsp":"nbsp"}_toDom(e){e.match(/<(?:html|body|head|meta)(?:\s[^>]*)?>/i)||(e=`<body>${e}</body>`);const t=this.domParser.parseFromString(e,"text/html"),s=t.createDocumentFragment(),o=t.body.childNodes;for(;o.length>0;)s.appendChild(o[0]);return s}}},"./packages/ckeditor5-engine/src/model/documentfragment.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/model/nodelist.js"),i=s("./packages/ckeditor5-engine/src/model/element.js"),r=s("./packages/ckeditor5-engine/src/model/text.js"),n=s("./packages/ckeditor5-engine/src/model/textproxy.js"),a=s("./packages/ckeditor5-utils/src/isiterable.js");class c{constructor(e){this.markers=new Map,this._children=new o.Z,e&&this._insertChild(0,e)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}is(e){return"documentFragment"===e||"model:documentFragment"===e}getChild(e){return this._children.getNode(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}getPath(){return[]}getNodeByPath(e){let t=this;for(const s of e)t=t.getChild(t.offsetToIndex(s));return t}offsetToIndex(e){return this._children.offsetToIndex(e)}toJSON(){const e=[];for(const t of this._children)e.push(t.toJSON());return e}static fromJSON(e){const t=[];for(const s of e)s.name?t.push(i.Z.fromJSON(s)):t.push(r.Z.fromJSON(s));return new c(t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const s=function(e){if("string"==typeof e)return[new r.Z(e)];(0,a.Z)(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new r.Z(e):e instanceof n.Z?new r.Z(e.data,e.getAttributes()):e))}(t);for(const e of s)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,s)}_removeChildren(e,t=1){const s=this._children._removeNodes(e,t);for(const e of s)e.parent=null;return s}}},"./packages/ckeditor5-engine/src/model/documentselection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>g});var o=s("./packages/ckeditor5-utils/src/mix.js"),i=s("./packages/ckeditor5-utils/src/emittermixin.js"),r=s("./packages/ckeditor5-engine/src/model/selection.js"),n=s("./packages/ckeditor5-engine/src/model/liverange.js"),a=s("./packages/ckeditor5-engine/src/model/text.js"),c=s("./packages/ckeditor5-engine/src/model/textproxy.js"),l=s("./packages/ckeditor5-utils/src/tomap.js"),d=s("./packages/ckeditor5-utils/src/collection.js"),h=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),u=s("./packages/ckeditor5-utils/src/uid.js");const p="selection:";class g{constructor(e){this._selection=new m(e),this._selection.delegate("change:range").to(this),this._selection.delegate("change:attribute").to(this),this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(e){return this._selection.containsEntireContent(e)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(e){return this._selection.getAttribute(e)}hasAttribute(e){return this._selection.hasAttribute(e)}refresh(){this._selection._updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(e){this._selection.observeMarkers(e)}is(e){return"selection"===e||"model:selection"==e||"documentSelection"==e||"model:documentSelection"==e}_setFocus(e,t){this._selection.setFocus(e,t)}_setTo(e,t,s){this._selection.setTo(e,t,s)}_setAttribute(e,t){this._selection.setAttribute(e,t)}_removeAttribute(e){this._selection.removeAttribute(e)}_getStoredAttributes(){return this._selection._getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(e){this._selection.restoreGravity(e)}static _getStoreAttributeKey(e){return p+e}static _isStoreAttributeKey(e){return e.startsWith(p)}}(0,o.Z)(g,i.ZP);class m extends r.Z{constructor(e){super(),this.markers=new d.Z({idProperty:"name"}),this._model=e.model,this._document=e,this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this.listenTo(this._model,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&"marker"!=s.type&&"rename"!=s.type&&"noop"!=s.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))}),{priority:"lowest"}),this.on("change:range",(()=>{for(const e of this.getRanges())if(!this._document._validateSelectionRange(e))throw new h.ZP("document-selection-wrong-position",this,{range:e})})),this.listenTo(this._model.markers,"update",((e,t,s,o)=>{this._updateMarker(t,o)})),this.listenTo(this._document,"change",((e,t)=>{!function(e,t){const s=e.document.differ;for(const o of s.getChanges()){if("insert"!=o.type)continue;const s=o.position.parent;o.length===s.maxOffset&&e.enqueueChange(t,(e=>{const t=Array.from(s.getAttributeKeys()).filter((e=>e.startsWith(p)));for(const o of t)e.removeAttribute(o,s)}))}}(this._model,t)}))}get isCollapsed(){return 0===this._ranges.length?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let e=0;e<this._ranges.length;e++)this._ranges[e].detach();this.stopListening()}*getRanges(){this._ranges.length?yield*super.getRanges():yield this._document._getDefaultRange()}getFirstRange(){return super.getFirstRange()||this._document._getDefaultRange()}getLastRange(){return super.getLastRange()||this._document._getDefaultRange()}setTo(e,t,s){super.setTo(e,t,s),this._updateAttributes(!0),this._updateMarkers()}setFocus(e,t){super.setFocus(e,t),this._updateAttributes(!0),this._updateMarkers()}setAttribute(e,t){if(this._setAttribute(e,t)){const t=[e];this.fire("change:attribute",{attributeKeys:t,directChange:!0})}}removeAttribute(e){if(this._removeAttribute(e)){const t=[e];this.fire("change:attribute",{attributeKeys:t,directChange:!0})}}overrideGravity(){const e=(0,u.Z)();return this._overriddenGravityRegister.add(e),1===this._overriddenGravityRegister.size&&this._updateAttributes(!0),e}restoreGravity(e){if(!this._overriddenGravityRegister.has(e))throw new h.ZP("document-selection-gravity-wrong-restore",this,{uid:e});this._overriddenGravityRegister.delete(e),this.isGravityOverridden||this._updateAttributes(!0)}observeMarkers(e){this._observedMarkers.add(e),this._updateMarkers()}_popRange(){this._ranges.pop().detach()}_pushRange(e){const t=this._prepareRange(e);t&&this._ranges.push(t)}_prepareRange(e){if(this._checkRange(e),e.root==this._document.graveyard)return;const t=n.Z.fromRange(e);return t.on("change:range",((e,s,o)=>{if(this._hasChangedRange=!0,t.root==this._document.graveyard){this._selectionRestorePosition=o.deletionPosition;const e=this._ranges.indexOf(t);this._ranges.splice(e,1),t.detach()}})),t}_updateMarkers(){if(!this._observedMarkers.size)return;const e=[];let t=!1;for(const t of this._model.markers){const s=t.name.split(":",1)[0];if(!this._observedMarkers.has(s))continue;const o=t.getRange();for(const s of this.getRanges())o.containsRange(s,!s.isCollapsed)&&e.push(t)}const s=Array.from(this.markers);for(const s of e)this.markers.has(s)||(this.markers.add(s),t=!0);for(const s of Array.from(this.markers))e.includes(s)||(this.markers.remove(s),t=!0);t&&this.fire("change:marker",{oldMarkers:s,directChange:!1})}_updateMarker(e,t){const s=e.name.split(":",1)[0];if(!this._observedMarkers.has(s))return;let o=!1;const i=Array.from(this.markers),r=this.markers.has(e);if(t){let s=!1;for(const e of this.getRanges())if(t.containsRange(e,!e.isCollapsed)){s=!0;break}s&&!r?(this.markers.add(e),o=!0):!s&&r&&(this.markers.remove(e),o=!0)}else r&&(this.markers.remove(e),o=!0);o&&this.fire("change:marker",{oldMarkers:i,directChange:!1})}_updateAttributes(e){const t=(0,l.Z)(this._getSurroundingAttributes()),s=(0,l.Z)(this.getAttributes());if(e)this._attributePriority=new Map,this._attrs=new Map;else for(const[e,t]of this._attributePriority)"low"==t&&(this._attrs.delete(e),this._attributePriority.delete(e));this._setAttributesTo(t);const o=[];for(const[e,t]of this.getAttributes())s.has(e)&&s.get(e)===t||o.push(e);for(const[e]of s)this.hasAttribute(e)||o.push(e);o.length>0&&this.fire("change:attribute",{attributeKeys:o,directChange:!1})}_setAttribute(e,t,s=!0){const o=s?"normal":"low";if("low"==o&&"normal"==this._attributePriority.get(e))return!1;return super.getAttribute(e)!==t&&(this._attrs.set(e,t),this._attributePriority.set(e,o),!0)}_removeAttribute(e,t=!0){const s=t?"normal":"low";return("low"!=s||"normal"!=this._attributePriority.get(e))&&(this._attributePriority.set(e,s),!!super.hasAttribute(e)&&(this._attrs.delete(e),!0))}_setAttributesTo(e){const t=new Set;for(const[t,s]of this.getAttributes())e.get(t)!==s&&this._removeAttribute(t,!1);for(const[s,o]of e){this._setAttribute(s,o,!1)&&t.add(s)}return t}*_getStoredAttributes(){const e=this.getFirstPosition().parent;if(this.isCollapsed&&e.isEmpty)for(const t of e.getAttributeKeys())if(t.startsWith(p)){const s=t.substr(p.length);yield[s,e.getAttribute(t)]}}_getSurroundingAttributes(){const e=this.getFirstPosition(),t=this._model.schema;let s=null;if(this.isCollapsed){const o=e.textNode?e.textNode:e.nodeBefore,i=e.textNode?e.textNode:e.nodeAfter;if(this.isGravityOverridden||(s=f(o)),s||(s=f(i)),!this.isGravityOverridden&&!s){let e=o;for(;e&&!t.isInline(e)&&!s;)e=e.previousSibling,s=f(e)}if(!s){let e=i;for(;e&&!t.isInline(e)&&!s;)e=e.nextSibling,s=f(e)}s||(s=this._getStoredAttributes())}else{const e=this.getFirstRange();for(const o of e){if(o.item.is("element")&&t.isObject(o.item))break;if("text"==o.type){s=o.item.getAttributes();break}}}return s}_fixGraveyardSelection(e){const t=this._model.schema.getNearestSelectionRange(e);t&&this._pushRange(t)}}function f(e){return e instanceof c.Z||e instanceof a.Z?e.getAttributes():null}},"./packages/ckeditor5-engine/src/model/element.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/model/node.js"),i=s("./packages/ckeditor5-engine/src/model/nodelist.js"),r=s("./packages/ckeditor5-engine/src/model/text.js"),n=s("./packages/ckeditor5-engine/src/model/textproxy.js"),a=s("./packages/ckeditor5-utils/src/isiterable.js");class c extends o.Z{constructor(e,t,s){super(t),this.name=e,this._children=new i.Z,s&&this._insertChild(0,s)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}is(e,t=null){return t?t===this.name&&("element"===e||"model:element"===e):"element"===e||"model:element"===e||"node"===e||"model:node"===e}getChild(e){return this._children.getNode(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}offsetToIndex(e){return this._children.offsetToIndex(e)}getNodeByPath(e){let t=this;for(const s of e)t=t.getChild(t.offsetToIndex(s));return t}findAncestor(e,t={includeSelf:!1}){let s=t.includeSelf?this:this.parent;for(;s;){if(s.name===e)return s;s=s.parent}return null}toJSON(){const e=super.toJSON();if(e.name=this.name,this._children.length>0){e.children=[];for(const t of this._children)e.children.push(t.toJSON())}return e}_clone(e=!1){const t=e?Array.from(this._children).map((e=>e._clone(!0))):null;return new c(this.name,this.getAttributes(),t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const s=function(e){if("string"==typeof e)return[new r.Z(e)];(0,a.Z)(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new r.Z(e):e instanceof n.Z?new r.Z(e.data,e.getAttributes()):e))}(t);for(const e of s)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,s)}_removeChildren(e,t=1){const s=this._children._removeNodes(e,t);for(const e of s)e.parent=null;return s}static fromJSON(e){let t=null;if(e.children){t=[];for(const s of e.children)s.name?t.push(c.fromJSON(s)):t.push(r.Z.fromJSON(s))}return new c(e.name,e.attributes,t)}}},"./packages/ckeditor5-engine/src/model/history.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{constructor(){this._operations=[],this._undoPairs=new Map,this._undoneOperations=new Set}addOperation(e){this._operations.includes(e)||this._operations.push(e)}getOperations(e=Number.NEGATIVE_INFINITY,t=Number.POSITIVE_INFINITY){const s=[];for(const o of this._operations)o.baseVersion>=e&&o.baseVersion<t&&s.push(o);return s}getOperation(e){for(const t of this._operations)if(t.baseVersion==e)return t}setOperationAsUndone(e,t){this._undoPairs.set(t,e),this._undoneOperations.add(e)}isUndoingOperation(e){return this._undoPairs.has(e)}isUndoneOperation(e){return this._undoneOperations.has(e)}getUndoneOperation(e){return this._undoPairs.get(e)}}},"./packages/ckeditor5-engine/src/model/liveposition.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/model/position.js"),i=s("./packages/ckeditor5-utils/src/emittermixin.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class a extends o.ZP{constructor(e,t,s="toNone"){if(super(e,t,s),!this.root.is("rootElement"))throw new n.ZP("model-liveposition-root-not-rootelement",e);c.call(this)}detach(){this.stopListening()}is(e){return"livePosition"===e||"model:livePosition"===e||"position"==e||"model:position"===e}toPosition(){return new o.ZP(this.root,this.path.slice(),this.stickiness)}static fromPosition(e,t){return new this(e.root,e.path.slice(),t||e.stickiness)}}function c(){this.listenTo(this.root.document.model,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&l.call(this,s)}),{priority:"low"})}function l(e){const t=this.getTransformedByOperation(e);if(!this.isEqual(t)){const e=this.toPosition();this.path=t.path,this.root=t.root,this.fire("change",e)}}(0,r.Z)(a,i.ZP)},"./packages/ckeditor5-engine/src/model/liverange.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/model/range.js"),i=s("./packages/ckeditor5-utils/src/emittermixin.js"),r=s("./packages/ckeditor5-utils/src/mix.js");class n extends o.Z{constructor(e,t){super(e,t),a.call(this)}detach(){this.stopListening()}is(e){return"liveRange"===e||"model:liveRange"===e||"range"==e||"model:range"===e}toRange(){return new o.Z(this.start,this.end)}static fromRange(e){return new n(e.start,e.end)}}function a(){this.listenTo(this.root.document.model,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&c.call(this,s)}),{priority:"low"})}function c(e){const t=this.getTransformedByOperation(e),s=o.Z._createFromRanges(t),i=!s.isEqual(this),r=function(e,t){switch(t.type){case"insert":return e.containsPosition(t.position);case"move":case"remove":case"reinsert":case"merge":return e.containsPosition(t.sourcePosition)||e.start.isEqual(t.sourcePosition)||e.containsPosition(t.targetPosition);case"split":return e.containsPosition(t.splitPosition)||e.containsPosition(t.insertionPosition)}return!1}(this,e);let n=null;if(i){"$graveyard"==s.root.rootName&&(n="remove"==e.type?e.sourcePosition:e.deletionPosition);const t=this.toRange();this.start=s.start,this.end=s.end,this.fire("change:range",t,{deletionPosition:n})}else r&&this.fire("change:content",this.toRange(),{deletionPosition:n})}(0,r.Z)(n,i.ZP)},"./packages/ckeditor5-engine/src/model/model.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>ye});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class i{constructor(e={}){"string"==typeof e&&(e="transparent"===e?{isUndoable:!1}:{},(0,o.KE)("batch-constructor-deprecated-string-type"));const{isUndoable:t=!0,isLocal:s=!0,isUndo:i=!1,isTyping:r=!1}=e;this.operations=[],this.isUndoable=t,this.isLocal=s,this.isUndo=i,this.isTyping=r}get type(){return(0,o.KE)("batch-type-deprecated"),"default"}get baseVersion(){for(const e of this.operations)if(null!==e.baseVersion)return e.baseVersion;return null}addOperation(e){return e.batch=this,this.operations.push(e),e}}var r=s("./packages/ckeditor5-engine/src/model/operation/attributeoperation.js"),n=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),a=s("./packages/ckeditor5-engine/src/model/range.js"),c=s("./packages/ckeditor5-engine/src/model/operation/utils.js");class l extends n.Z{constructor(e,t){super(null),this.sourcePosition=e.clone(),this.howMany=t}get type(){return"detach"}toJSON(){const e=super.toJSON();return e.sourcePosition=this.sourcePosition.toJSON(),e}_validate(){if(this.sourcePosition.root.document)throw new o.ZP("detach-operation-on-document-node",this)}_execute(){(0,c.X9)(a.Z._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}var d=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),h=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),u=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),p=s("./packages/ckeditor5-engine/src/model/operation/renameoperation.js"),g=s("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js"),m=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),f=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js"),k=s("./packages/ckeditor5-engine/src/model/documentfragment.js"),_=s("./packages/ckeditor5-engine/src/model/text.js"),b=s("./packages/ckeditor5-engine/src/model/element.js");class w extends b.Z{constructor(e,t,s="main"){super(t),this._document=e,this.rootName=s}get document(){return this._document}is(e,t){return t?t===this.name&&("rootElement"===e||"model:rootElement"===e||"element"===e||"model:element"===e):"rootElement"===e||"model:rootElement"===e||"element"===e||"model:element"===e||"node"===e||"model:node"===e}toJSON(){return this.rootName}}var v=s("./packages/ckeditor5-engine/src/model/position.js"),y=s("./packages/ckeditor5-engine/src/model/documentselection.js"),Z=s("./packages/ckeditor5-utils/src/tomap.js");class P{constructor(e,t){this.model=e,this.batch=t}createText(e,t){return new _.Z(e,t)}createElement(e,t){return new b.Z(e,t)}createDocumentFragment(){return new k.Z}cloneElement(e,t=!0){return e._clone(t)}insert(e,t,s=0){if(this._assertWriterUsedCorrectly(),e instanceof _.Z&&""==e.data)return;const i=v.ZP._createAt(t,s);if(e.parent){if(C(e.root,i.root))return void this.move(a.Z._createOn(e),i);if(e.root.document)throw new o.ZP("model-writer-insert-forbidden-move",this);this.remove(e)}const r=i.root.document?i.root.document.version:null,n=new d.Z(i,e,r);if(e instanceof _.Z&&(n.shouldReceiveAttributes=!0),this.batch.addOperation(n),this.model.applyOperation(n),e instanceof k.Z)for(const[t,s]of e.markers){const e=v.ZP._createAt(s.root,0),o={range:new a.Z(s.start._getCombined(e,i),s.end._getCombined(e,i)),usingOperation:!0,affectsData:!0};this.model.markers.has(t)?this.updateMarker(t,o):this.addMarker(t,o)}}insertText(e,t,s,o){t instanceof k.Z||t instanceof b.Z||t instanceof v.ZP?this.insert(this.createText(e),t,s):this.insert(this.createText(e,t),s,o)}insertElement(e,t,s,o){t instanceof k.Z||t instanceof b.Z||t instanceof v.ZP?this.insert(this.createElement(e),t,s):this.insert(this.createElement(e,t),s,o)}append(e,t){this.insert(e,t,"end")}appendText(e,t,s){t instanceof k.Z||t instanceof b.Z?this.insert(this.createText(e),t,"end"):this.insert(this.createText(e,t),s,"end")}appendElement(e,t,s){t instanceof k.Z||t instanceof b.Z?this.insert(this.createElement(e),t,"end"):this.insert(this.createElement(e,t),s,"end")}setAttribute(e,t,s){if(this._assertWriterUsedCorrectly(),s instanceof a.Z){const o=s.getMinimalFlatRanges();for(const s of o)j(this,e,t,s)}else x(this,e,t,s)}setAttributes(e,t){for(const[s,o]of(0,Z.Z)(e))this.setAttribute(s,o,t)}removeAttribute(e,t){if(this._assertWriterUsedCorrectly(),t instanceof a.Z){const s=t.getMinimalFlatRanges();for(const t of s)j(this,e,null,t)}else x(this,e,null,t)}clearAttributes(e){this._assertWriterUsedCorrectly();const t=e=>{for(const t of e.getAttributeKeys())this.removeAttribute(t,e)};if(e instanceof a.Z)for(const s of e.getItems())t(s);else t(e)}move(e,t,s){if(this._assertWriterUsedCorrectly(),!(e instanceof a.Z))throw new o.ZP("writer-move-invalid-range",this);if(!e.isFlat)throw new o.ZP("writer-move-range-not-flat",this);const i=v.ZP._createAt(t,s);if(i.isEqual(e.start))return;if(this._addOperationForAffectedMarkers("move",e),!C(e.root,i.root))throw new o.ZP("writer-move-different-document",this);const r=e.root.document?e.root.document.version:null,n=new u.Z(e.start,e.end.offset-e.start.offset,i,r);this.batch.addOperation(n),this.model.applyOperation(n)}remove(e){this._assertWriterUsedCorrectly();const t=(e instanceof a.Z?e:a.Z._createOn(e)).getMinimalFlatRanges().reverse();for(const e of t)this._addOperationForAffectedMarkers("move",e),T(e.start,e.end.offset-e.start.offset,this.batch,this.model)}merge(e){this._assertWriterUsedCorrectly();const t=e.nodeBefore,s=e.nodeAfter;if(this._addOperationForAffectedMarkers("merge",e),!(t instanceof b.Z))throw new o.ZP("writer-merge-no-element-before",this);if(!(s instanceof b.Z))throw new o.ZP("writer-merge-no-element-after",this);e.root.document?this._merge(e):this._mergeDetached(e)}createPositionFromPath(e,t,s){return this.model.createPositionFromPath(e,t,s)}createPositionAt(e,t){return this.model.createPositionAt(e,t)}createPositionAfter(e){return this.model.createPositionAfter(e)}createPositionBefore(e){return this.model.createPositionBefore(e)}createRange(e,t){return this.model.createRange(e,t)}createRangeIn(e){return this.model.createRangeIn(e)}createRangeOn(e){return this.model.createRangeOn(e)}createSelection(e,t,s){return this.model.createSelection(e,t,s)}_mergeDetached(e){const t=e.nodeBefore,s=e.nodeAfter;this.move(a.Z._createIn(s),v.ZP._createAt(t,"end")),this.remove(s)}_merge(e){const t=v.ZP._createAt(e.nodeBefore,"end"),s=v.ZP._createAt(e.nodeAfter,0),o=e.root.document.graveyard,i=new v.ZP(o,[0]),r=e.root.document.version,n=new f.Z(s,e.nodeAfter.maxOffset,t,i,r);this.batch.addOperation(n),this.model.applyOperation(n)}rename(e,t){if(this._assertWriterUsedCorrectly(),!(e instanceof b.Z))throw new o.ZP("writer-rename-not-element-instance",this);const s=e.root.document?e.root.document.version:null,i=new p.Z(v.ZP._createBefore(e),e.name,t,s);this.batch.addOperation(i),this.model.applyOperation(i)}split(e,t){this._assertWriterUsedCorrectly();let s,i,r=e.parent;if(!r.parent)throw new o.ZP("writer-split-element-no-parent",this);if(t||(t=r.parent),!e.parent.getAncestors({includeSelf:!0}).includes(t))throw new o.ZP("writer-split-invalid-limit-element",this);do{const t=r.root.document?r.root.document.version:null,o=r.maxOffset-e.offset,n=m.Z.getInsertionPosition(e),a=new m.Z(e,o,n,null,t);this.batch.addOperation(a),this.model.applyOperation(a),s||i||(s=r,i=e.parent.nextSibling),r=(e=this.createPositionAfter(e.parent)).parent}while(r!==t);return{position:e,range:new a.Z(v.ZP._createAt(s,"end"),v.ZP._createAt(i,0))}}wrap(e,t){if(this._assertWriterUsedCorrectly(),!e.isFlat)throw new o.ZP("writer-wrap-range-not-flat",this);const s=t instanceof b.Z?t:new b.Z(t);if(s.childCount>0)throw new o.ZP("writer-wrap-element-not-empty",this);if(null!==s.parent)throw new o.ZP("writer-wrap-element-attached",this);this.insert(s,e.start);const i=new a.Z(e.start.getShiftedBy(1),e.end.getShiftedBy(1));this.move(i,v.ZP._createAt(s,0))}unwrap(e){if(this._assertWriterUsedCorrectly(),null===e.parent)throw new o.ZP("writer-unwrap-element-no-parent",this);this.move(a.Z._createIn(e),this.createPositionAfter(e)),this.remove(e)}addMarker(e,t){if(this._assertWriterUsedCorrectly(),!t||"boolean"!=typeof t.usingOperation)throw new o.ZP("writer-addmarker-no-usingoperation",this);const s=t.usingOperation,i=t.range,r=void 0!==t.affectsData&&t.affectsData;if(this.model.markers.has(e))throw new o.ZP("writer-addmarker-marker-exists",this);if(!i)throw new o.ZP("writer-addmarker-no-range",this);return s?(A(this,e,null,i,r),this.model.markers.get(e)):this.model.markers._set(e,i,s,r)}updateMarker(e,t){this._assertWriterUsedCorrectly();const s="string"==typeof e?e:e.name,i=this.model.markers.get(s);if(!i)throw new o.ZP("writer-updatemarker-marker-not-exists",this);if(!t)return(0,o.KE)("writer-updatemarker-reconvert-using-editingcontroller",{markerName:s}),void this.model.markers._refresh(i);const r="boolean"==typeof t.usingOperation,n="boolean"==typeof t.affectsData,a=n?t.affectsData:i.affectsData;if(!r&&!t.range&&!n)throw new o.ZP("writer-updatemarker-wrong-options",this);const c=i.getRange(),l=t.range?t.range:c;r&&t.usingOperation!==i.managedUsingOperations?t.usingOperation?A(this,s,null,l,a):(A(this,s,c,null,a),this.model.markers._set(s,l,void 0,a)):i.managedUsingOperations?A(this,s,c,l,a):this.model.markers._set(s,l,void 0,a)}removeMarker(e){this._assertWriterUsedCorrectly();const t="string"==typeof e?e:e.name;if(!this.model.markers.has(t))throw new o.ZP("writer-removemarker-no-marker",this);const s=this.model.markers.get(t);if(!s.managedUsingOperations)return void this.model.markers._remove(t);A(this,t,s.getRange(),null,s.affectsData)}setSelection(e,t,s){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(e,t,s)}setSelectionFocus(e,t){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(e,t)}setSelectionAttribute(e,t){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._setSelectionAttribute(e,t);else for(const[t,s]of(0,Z.Z)(e))this._setSelectionAttribute(t,s)}removeSelectionAttribute(e){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._removeSelectionAttribute(e);else for(const t of e)this._removeSelectionAttribute(t)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(e){this.model.document.selection._restoreGravity(e)}_setSelectionAttribute(e,t){const s=this.model.document.selection;if(s.isCollapsed&&s.anchor.parent.isEmpty){const o=y.Z._getStoreAttributeKey(e);this.setAttribute(o,t,s.anchor.parent)}s._setAttribute(e,t)}_removeSelectionAttribute(e){const t=this.model.document.selection;if(t.isCollapsed&&t.anchor.parent.isEmpty){const s=y.Z._getStoreAttributeKey(e);this.removeAttribute(s,t.anchor.parent)}t._removeAttribute(e)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new o.ZP("writer-incorrect-use",this)}_addOperationForAffectedMarkers(e,t){for(const s of this.model.markers){if(!s.managedUsingOperations)continue;const o=s.getRange();let i=!1;if("move"===e)i=t.containsPosition(o.start)||t.start.isEqual(o.start)||t.containsPosition(o.end)||t.end.isEqual(o.end);else{const e=t.nodeBefore,s=t.nodeAfter,r=o.start.parent==e&&o.start.isAtEnd,n=o.end.parent==s&&0==o.end.offset,a=o.end.nodeAfter==s,c=o.start.nodeAfter==s;i=r||n||a||c}i&&this.updateMarker(s.name,{range:o})}}}function j(e,t,s,o){const i=e.model,n=i.document;let c,l,d,h=o.start;for(const e of o.getWalker({shallow:!0}))d=e.item.getAttribute(t),c&&l!=d&&(l!=s&&u(),h=c),c=e.nextPosition,l=d;function u(){const o=new a.Z(h,c),d=o.root.document?n.version:null,u=new r.Z(o,t,l,s,d);e.batch.addOperation(u),i.applyOperation(u)}c instanceof v.ZP&&c!=h&&l!=s&&u()}function x(e,t,s,o){const i=e.model,n=i.document,c=o.getAttribute(t);let l,d;if(c!=s){if(o.root===o){const e=o.document?n.version:null;d=new g.Z(o,t,c,s,e)}else{l=new a.Z(v.ZP._createBefore(o),e.createPositionAfter(o));const i=l.root.document?n.version:null;d=new r.Z(l,t,c,s,i)}e.batch.addOperation(d),i.applyOperation(d)}}function A(e,t,s,o,i){const r=e.model,n=r.document,a=new h.Z(t,s,o,r.markers,i,n.version);e.batch.addOperation(a),r.applyOperation(a)}function T(e,t,s,o){let i;if(e.root.document){const s=o.document,r=new v.ZP(s.graveyard,[0]);i=new u.Z(e,t,r,s.version)}else i=new l(e,t);s.addOperation(i),o.applyOperation(i)}function C(e,t){return e===t||e instanceof w&&t instanceof w}var E=s("./packages/ckeditor5-engine/src/model/schema.js");class S{constructor(e){this._markerCollection=e,this._changesInElement=new Map,this._elementSnapshots=new Map,this._changedMarkers=new Map,this._changeCount=0,this._cachedChanges=null,this._cachedChangesWithGraveyard=null,this._refreshedItems=new Set}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size}bufferOperation(e){switch(e.type){case"insert":if(this._isInInsertedElement(e.position.parent))return;this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break;case"addAttribute":case"removeAttribute":case"changeAttribute":for(const t of e.range.getItems({shallow:!0}))this._isInInsertedElement(t.parent)||this._markAttribute(t);break;case"remove":case"move":case"reinsert":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition))return;const t=this._isInInsertedElement(e.sourcePosition.parent),s=this._isInInsertedElement(e.targetPosition.parent);t||this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany),s||this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany);break}case"rename":{if(this._isInInsertedElement(e.position.parent))return;this._markRemove(e.position.parent,e.position.offset,1),this._markInsert(e.position.parent,e.position.offset,1);const t=a.Z._createFromPositionAndShift(e.position,1);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}break}case"split":{const t=e.splitPosition.parent;this._isInInsertedElement(t)||this._markRemove(t,e.splitPosition.offset,e.howMany),this._isInInsertedElement(e.insertionPosition.parent)||this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1),e.graveyardPosition&&this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1);break}case"merge":{const t=e.sourcePosition.parent;this._isInInsertedElement(t.parent)||this._markRemove(t.parent,t.startOffset,1);const s=e.graveyardPosition.parent;this._markInsert(s,e.graveyardPosition.offset,1);const o=e.targetPosition.parent;this._isInInsertedElement(o)||this._markInsert(o,e.targetPosition.offset,t.maxOffset);break}}this._cachedChanges=null}bufferMarkerChange(e,t,s){const o=this._changedMarkers.get(e);o?(o.newMarkerData=s,null==o.oldMarkerData.range&&null==s.range&&this._changedMarkers.delete(e)):this._changedMarkers.set(e,{newMarkerData:s,oldMarkerData:t})}getMarkersToRemove(){const e=[];for(const[t,s]of this._changedMarkers)null!=s.oldMarkerData.range&&e.push({name:t,range:s.oldMarkerData.range});return e}getMarkersToAdd(){const e=[];for(const[t,s]of this._changedMarkers)null!=s.newMarkerData.range&&e.push({name:t,range:s.newMarkerData.range});return e}getChangedMarkers(){return Array.from(this._changedMarkers).map((([e,t])=>({name:e,data:{oldRange:t.oldMarkerData.range,newRange:t.newMarkerData.range}})))}hasDataChanges(){if(this._changesInElement.size>0)return!0;for(const{newMarkerData:e,oldMarkerData:t}of this._changedMarkers.values()){if(e.affectsData!==t.affectsData)return!0;if(e.affectsData){const s=e.range&&!t.range,o=!e.range&&t.range,i=e.range&&t.range&&!e.range.isEqual(t.range);if(s||o||i)return!0}}return!1}getChanges(e={includeChangesInGraveyard:!1}){if(this._cachedChanges)return e.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let t=[];for(const e of this._changesInElement.keys()){const s=this._changesInElement.get(e).sort(((e,t)=>e.offset===t.offset?e.type!=t.type?"remove"==e.type?-1:1:0:e.offset<t.offset?-1:1)),o=this._elementSnapshots.get(e),i=O(e.getChildren()),r=R(o.length,s);let n=0,c=0;for(const s of r)if("i"===s)t.push(this._getInsertDiff(e,n,i[n])),n++;else if("r"===s)t.push(this._getRemoveDiff(e,n,o[c])),c++;else if("a"===s){const s=i[n].attributes,r=o[c].attributes;let l;if("$text"==i[n].name)l=new a.Z(v.ZP._createAt(e,n),v.ZP._createAt(e,n+1));else{const t=e.offsetToIndex(n);l=new a.Z(v.ZP._createAt(e,n),v.ZP._createAt(e.getChild(t),0))}t.push(...this._getAttributesDiff(l,r,s)),n++,c++}else n++,c++}t.sort(((e,t)=>e.position.root!=t.position.root?e.position.root.rootName<t.position.root.rootName?-1:1:e.position.isEqual(t.position)?e.changeCount-t.changeCount:e.position.isBefore(t.position)?-1:1));for(let e=1,s=0;e<t.length;e++){const o=t[s],i=t[e],r="remove"==o.type&&"remove"==i.type&&"$text"==o.name&&"$text"==i.name&&o.position.isEqual(i.position),n="insert"==o.type&&"insert"==i.type&&"$text"==o.name&&"$text"==i.name&&o.position.parent==i.position.parent&&o.position.offset+o.length==i.position.offset,a="attribute"==o.type&&"attribute"==i.type&&o.position.parent==i.position.parent&&o.range.isFlat&&i.range.isFlat&&o.position.offset+o.length==i.position.offset&&o.attributeKey==i.attributeKey&&o.attributeOldValue==i.attributeOldValue&&o.attributeNewValue==i.attributeNewValue;r||n||a?(o.length++,a&&(o.range.end=o.range.end.getShiftedBy(1)),t[e]=null):s=e}t=t.filter((e=>e));for(const e of t)delete e.changeCount,"attribute"==e.type&&(delete e.position,delete e.length);return this._changeCount=0,this._cachedChangesWithGraveyard=t,this._cachedChanges=t.filter(M),e.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementSnapshots.clear(),this._changedMarkers.clear(),this._refreshedItems=new Set,this._cachedChanges=null}_refreshItem(e){if(this._isInInsertedElement(e.parent))return;this._markRemove(e.parent,e.startOffset,e.offsetSize),this._markInsert(e.parent,e.startOffset,e.offsetSize),this._refreshedItems.add(e);const t=a.Z._createOn(e);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}this._cachedChanges=null}_markInsert(e,t,s){const o={type:"insert",offset:t,howMany:s,count:this._changeCount++};this._markChange(e,o)}_markRemove(e,t,s){const o={type:"remove",offset:t,howMany:s,count:this._changeCount++};this._markChange(e,o),this._removeAllNestedChanges(e,t,s)}_markAttribute(e){const t={type:"attribute",offset:e.startOffset,howMany:e.offsetSize,count:this._changeCount++};this._markChange(e.parent,t)}_markChange(e,t){this._makeSnapshot(e);const s=this._getChangesForElement(e);this._handleChange(t,s),s.push(t);for(let e=0;e<s.length;e++)s[e].howMany<1&&(s.splice(e,1),e--)}_getChangesForElement(e){let t;return this._changesInElement.has(e)?t=this._changesInElement.get(e):(t=[],this._changesInElement.set(e,t)),t}_makeSnapshot(e){this._elementSnapshots.has(e)||this._elementSnapshots.set(e,O(e.getChildren()))}_handleChange(e,t){e.nodesToHandle=e.howMany;for(const s of t){const o=e.offset+e.howMany,i=s.offset+s.howMany;if("insert"==e.type&&("insert"==s.type&&(e.offset<=s.offset?s.offset+=e.howMany:e.offset<i&&(s.howMany+=e.nodesToHandle,e.nodesToHandle=0)),"remove"==s.type&&e.offset<s.offset&&(s.offset+=e.howMany),"attribute"==s.type))if(e.offset<=s.offset)s.offset+=e.howMany;else if(e.offset<i){const i=s.howMany;s.howMany=e.offset-s.offset,t.unshift({type:"attribute",offset:o,howMany:i-s.howMany,count:this._changeCount++})}if("remove"==e.type){if("insert"==s.type)if(o<=s.offset)s.offset-=e.howMany;else if(o<=i)if(e.offset<s.offset){const t=o-s.offset;s.offset=e.offset,s.howMany-=t,e.nodesToHandle-=t}else s.howMany-=e.nodesToHandle,e.nodesToHandle=0;else if(e.offset<=s.offset)e.nodesToHandle-=s.howMany,s.howMany=0;else if(e.offset<i){const t=i-e.offset;s.howMany-=t,e.nodesToHandle-=t}if("remove"==s.type&&(o<=s.offset?s.offset-=e.howMany:e.offset<s.offset&&(e.nodesToHandle+=s.howMany,s.howMany=0)),"attribute"==s.type)if(o<=s.offset)s.offset-=e.howMany;else if(e.offset<s.offset){const t=o-s.offset;s.offset=e.offset,s.howMany-=t}else if(e.offset<i)if(o<=i){const o=s.howMany;s.howMany=e.offset-s.offset;const i=o-s.howMany-e.nodesToHandle;t.unshift({type:"attribute",offset:e.offset,howMany:i,count:this._changeCount++})}else s.howMany-=i-e.offset}if("attribute"==e.type){if("insert"==s.type)if(e.offset<s.offset&&o>s.offset){if(o>i){const e={type:"attribute",offset:i,howMany:o-i,count:this._changeCount++};this._handleChange(e,t),t.push(e)}e.nodesToHandle=s.offset-e.offset,e.howMany=e.nodesToHandle}else e.offset>=s.offset&&e.offset<i&&(o>i?(e.nodesToHandle=o-i,e.offset=i):e.nodesToHandle=0);if("remove"==s.type&&e.offset<s.offset&&o>s.offset){const i={type:"attribute",offset:s.offset,howMany:o-s.offset,count:this._changeCount++};this._handleChange(i,t),t.push(i),e.nodesToHandle=s.offset-e.offset,e.howMany=e.nodesToHandle}"attribute"==s.type&&(e.offset>=s.offset&&o<=i?(e.nodesToHandle=0,e.howMany=0,e.offset=0):e.offset<=s.offset&&o>=i&&(s.howMany=0))}}e.howMany=e.nodesToHandle,delete e.nodesToHandle}_getInsertDiff(e,t,s){return{type:"insert",position:v.ZP._createAt(e,t),name:s.name,attributes:new Map(s.attributes),length:1,changeCount:this._changeCount++}}_getRemoveDiff(e,t,s){return{type:"remove",position:v.ZP._createAt(e,t),name:s.name,attributes:new Map(s.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(e,t,s){const o=[];s=new Map(s);for(const[i,r]of t){const t=s.has(i)?s.get(i):null;t!==r&&o.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:i,attributeOldValue:r,attributeNewValue:t,changeCount:this._changeCount++}),s.delete(i)}for(const[t,i]of s)o.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:t,attributeOldValue:null,attributeNewValue:i,changeCount:this._changeCount++});return o}_isInInsertedElement(e){const t=e.parent;if(!t)return!1;const s=this._changesInElement.get(t),o=e.startOffset;if(s)for(const e of s)if("insert"==e.type&&o>=e.offset&&o<e.offset+e.howMany)return!0;return this._isInInsertedElement(t)}_removeAllNestedChanges(e,t,s){const o=new a.Z(v.ZP._createAt(e,t),v.ZP._createAt(e,t+s));for(const e of o.getItems({shallow:!0}))e.is("element")&&(this._elementSnapshots.delete(e),this._changesInElement.delete(e),this._removeAllNestedChanges(e,0,e.maxOffset))}}function O(e){const t=[];for(const s of e)if(s.is("$text"))for(let e=0;e<s.data.length;e++)t.push({name:"$text",attributes:new Map(s.getAttributes())});else t.push({name:s.name,attributes:new Map(s.getAttributes())});return t}function R(e,t){const s=[];let o=0,i=0;for(const e of t){if(e.offset>o){for(let t=0;t<e.offset-o;t++)s.push("e");i+=e.offset-o}if("insert"==e.type){for(let t=0;t<e.howMany;t++)s.push("i");o=e.offset+e.howMany}else if("remove"==e.type){for(let t=0;t<e.howMany;t++)s.push("r");o=e.offset,i+=e.howMany}else s.push(..."a".repeat(e.howMany).split("")),o=e.offset+e.howMany,i+=e.howMany}if(i<e)for(let t=0;t<e-i-o;t++)s.push("e");return s}function M(e){const t=e.position&&"$graveyard"==e.position.root.rootName,s=e.range&&"$graveyard"==e.range.root.rootName;return!t&&!s}var N=s("./packages/ckeditor5-engine/src/model/history.js"),I=s("./packages/ckeditor5-utils/src/collection.js"),z=s("./packages/ckeditor5-utils/src/emittermixin.js"),V=s("./packages/ckeditor5-utils/src/mix.js");function D(e,t){return!!(s=e.charAt(t-1))&&1==s.length&&/[\ud800-\udbff]/.test(s)&&function(e){return!!e&&1==e.length&&/[\udc00-\udfff]/.test(e)}(e.charAt(t));var s}function B(e,t){return!!(s=e.charAt(t))&&1==s.length&&/[\u0300-\u036f\u1ab0-\u1aff\u1dc0-\u1dff\u20d0-\u20ff\ufe20-\ufe2f]/.test(s);var s}const F=function(){const e=/\p{Regional_Indicator}{2}/u.source,t="(?:"+[/\p{Emoji}[\u{E0020}-\u{E007E}]+\u{E007F}/u,/\p{Emoji}\u{FE0F}?\u{20E3}/u,/\p{Emoji}\u{FE0F}/u,/(?=\p{General_Category=Other_Symbol})\p{Emoji}\p{Emoji_Modifier}*/u].map((e=>e.source)).join("|")+")";return new RegExp(`${e}|${t}(?:‍${t})*`,"ug")}();function L(e,t){const s=String(e).matchAll(F);return Array.from(s).some((e=>e.index<t&&t<e.index+e[0].length))}var W=s("./node_modules/lodash-es/clone.js");const q="$graveyard";class ${constructor(e){this.model=e,this.version=0,this.history=new N.Z(this),this.selection=new y.Z(this),this.roots=new I.Z({idProperty:"rootName"}),this.differ=new S(e.markers),this._postFixers=new Set,this._hasSelectionChangedFromTheLastChangeBlock=!1,this.createRoot("$root",q),this.listenTo(e,"applyOperation",((e,t)=>{const s=t[0];if(s.isDocumentOperation&&s.baseVersion!==this.version)throw new o.ZP("model-document-applyoperation-wrong-version",this,{operation:s})}),{priority:"highest"}),this.listenTo(e,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&this.differ.bufferOperation(s)}),{priority:"high"}),this.listenTo(e,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&(this.version++,this.history.addOperation(s))}),{priority:"low"}),this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0})),this.listenTo(e.markers,"update",((e,t,s,o,i)=>{const r={...t.getData(),range:o};this.differ.bufferMarkerChange(t.name,i,r),null===s&&t.on("change",((e,s)=>{const o=t.getData();this.differ.bufferMarkerChange(t.name,{...o,range:s},o)}))}))}get graveyard(){return this.getRoot(q)}createRoot(e="$root",t="main"){if(this.roots.get(t))throw new o.ZP("model-document-createroot-name-exists",this,{name:t});const s=new w(this,e,t);return this.roots.add(s),s}destroy(){this.selection.destroy(),this.stopListening()}getRoot(e="main"){return this.roots.get(e)}getRootNames(){return Array.from(this.roots,(e=>e.rootName)).filter((e=>e!=q))}registerPostFixer(e){this._postFixers.add(e)}toJSON(){const e=(0,W.Z)(this);return e.selection="[engine.model.DocumentSelection]",e.model="[engine.model.Model]",e}_handleChangeBlock(e){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(e),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",e.batch):this.fire("change",e.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){for(const e of this.roots)if(e!==this.graveyard)return e;return this.graveyard}_getDefaultRange(){const e=this._getDefaultRoot(),t=this.model,s=t.schema,o=t.createPositionFromPath(e,[0]);return s.getNearestSelectionRange(o)||t.createRange(o)}_validateSelectionRange(e){return H(e.start)&&H(e.end)}_callPostFixers(e){let t=!1;do{for(const s of this._postFixers)if(this.selection.refresh(),t=s(e),t)break}while(t)}}function H(e){const t=e.textNode;if(t){const s=t.data,o=e.offset-t.startOffset;return!D(s,o)&&!B(s,o)}return!0}(0,V.Z)($,z.ZP);var U=s("./packages/ckeditor5-engine/src/model/liverange.js");class K{constructor(){this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(e){const t=e instanceof G?e.name:e;return this._markers.has(t)}get(e){return this._markers.get(e)||null}_set(e,t,s=!1,i=!1){const r=e instanceof G?e.name:e;if(r.includes(","))throw new o.ZP("markercollection-incorrect-marker-name",this);const n=this._markers.get(r);if(n){const e=n.getData(),o=n.getRange();let a=!1;return o.isEqual(t)||(n._attachLiveRange(U.Z.fromRange(t)),a=!0),s!=n.managedUsingOperations&&(n._managedUsingOperations=s,a=!0),"boolean"==typeof i&&i!=n.affectsData&&(n._affectsData=i,a=!0),a&&this.fire("update:"+r,n,o,t,e),n}const a=U.Z.fromRange(t),c=new G(r,a,s,i);return this._markers.set(r,c),this.fire("update:"+r,c,null,t,{...c.getData(),range:null}),c}_remove(e){const t=e instanceof G?e.name:e,s=this._markers.get(t);return!!s&&(this._markers.delete(t),this.fire("update:"+t,s,s.getRange(),null,s.getData()),this._destroyMarker(s),!0)}_refresh(e){const t=e instanceof G?e.name:e,s=this._markers.get(t);if(!s)throw new o.ZP("markercollection-refresh-marker-not-exists",this);const i=s.getRange();this.fire("update:"+t,s,i,i,s.getData())}*getMarkersAtPosition(e){for(const t of this)t.getRange().containsPosition(e)&&(yield t)}*getMarkersIntersectingRange(e){for(const t of this)null!==t.getRange().getIntersection(e)&&(yield t)}destroy(){for(const e of this._markers.values())this._destroyMarker(e);this._markers=null,this.stopListening()}*getMarkersGroup(e){for(const t of this._markers.values())t.name.startsWith(e+":")&&(yield t)}_destroyMarker(e){e.stopListening(),e._detachLiveRange()}}(0,V.Z)(K,z.ZP);class G{constructor(e,t,s,o){this.name=e,this._liveRange=this._attachLiveRange(t),this._managedUsingOperations=s,this._affectsData=o}get managedUsingOperations(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._liveRange.toRange()}is(e){return"marker"===e||"model:marker"===e}_attachLiveRange(e){return this._liveRange&&this._detachLiveRange(),e.delegate("change:range").to(this),e.delegate("change:content").to(this),this._liveRange=e,e}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}(0,V.Z)(G,z.ZP);var J=s("./packages/ckeditor5-utils/src/observablemixin.js"),X=s("./packages/ckeditor5-engine/src/model/selection.js"),Q=s("./packages/ckeditor5-engine/src/model/operation/operationfactory.js"),Y=s("./packages/ckeditor5-engine/src/model/liveposition.js");class ee{constructor(e,t,s){this.model=e,this.writer=t,this.position=s,this.canMergeWith=new Set([this.position.parent]),this.schema=e.schema,this._documentFragment=t.createDocumentFragment(),this._documentFragmentPosition=t.createPositionAt(this._documentFragment,0),this._firstNode=null,this._lastNode=null,this._lastAutoParagraph=null,this._filterAttributesOf=[],this._affectedStart=null,this._affectedEnd=null}handleNodes(e){for(const t of Array.from(e))this._handleNode(t);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(e){const t=this.writer.createPositionAfter(this._lastNode),s=this.writer.createPositionAfter(e);if(s.isAfter(t)){if(this._lastNode=e,this.position.parent!=e||!this.position.isAtEnd)throw new o.ZP("insertcontent-invalid-insertion-position",this);this.position=s,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this.nodeToSelect?a.Z._createOn(this.nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new a.Z(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(e){if(this.schema.isObject(e))return void this._handleObject(e);let t=this._checkAndAutoParagraphToAllowedPosition(e);t||(t=this._checkAndSplitToAllowedPosition(e),t)?(this._appendToFragment(e),this._firstNode||(this._firstNode=e),this._lastNode=e):this._handleDisallowedNode(e)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const e=Y.Z.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=e.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=e.toPosition(),e.detach()}_handleObject(e){this._checkAndSplitToAllowedPosition(e)?this._appendToFragment(e):this._tryAutoparagraphing(e)}_handleDisallowedNode(e){e.is("element")?this.handleNodes(e.getChildren()):this._tryAutoparagraphing(e)}_appendToFragment(e){if(!this.schema.checkChild(this.position,e))throw new o.ZP("insertcontent-wrong-position",this,{node:e,position:this.position});this.writer.insert(e,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(e.offsetSize),this.schema.isObject(e)&&!this.schema.checkChild(this.position,"$text")?this.nodeToSelect=e:this.nodeToSelect=null,this._filterAttributesOf.push(e)}_setAffectedBoundaries(e){this._affectedStart||(this._affectedStart=Y.Z.fromPosition(e,"toPrevious")),this._affectedEnd&&!this._affectedEnd.isBefore(e)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=Y.Z.fromPosition(e,"toNext"))}_mergeOnLeft(){const e=this._firstNode;if(!(e instanceof b.Z))return;if(!this._canMergeLeft(e))return;const t=Y.Z._createBefore(e);t.stickiness="toNext";const s=Y.Z.fromPosition(this.position,"toNext");this._affectedStart.isEqual(t)&&(this._affectedStart.detach(),this._affectedStart=Y.Z._createAt(t.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=Y.Z._createAt(t.nodeBefore,"end","toNext")),this.position=s.toPosition(),s.detach(),this._filterAttributesOf.push(this.position.parent),t.detach()}_mergeOnRight(){const e=this._lastNode;if(!(e instanceof b.Z))return;if(!this._canMergeRight(e))return;const t=Y.Z._createAfter(e);if(t.stickiness="toNext",!this.position.isEqual(t))throw new o.ZP("insertcontent-invalid-insertion-position",this);this.position=v.ZP._createAt(t.nodeBefore,"end");const s=Y.Z.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(t)&&(this._affectedEnd.detach(),this._affectedEnd=Y.Z._createAt(t.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=Y.Z._createAt(t.nodeBefore,0,"toPrevious")),this.position=s.toPosition(),s.detach(),this._filterAttributesOf.push(this.position.parent),t.detach()}_canMergeLeft(e){const t=e.previousSibling;return t instanceof b.Z&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(t,e)}_canMergeRight(e){const t=e.nextSibling;return t instanceof b.Z&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(e,t)}_tryAutoparagraphing(e){const t=this.writer.createElement("paragraph");this._getAllowedIn(this.position.parent,t)&&this.schema.checkChild(t,e)&&(t._appendChild(e),this._handleNode(t))}_checkAndAutoParagraphToAllowedPosition(e){if(this.schema.checkChild(this.position.parent,e))return!0;if(!this.schema.checkChild(this.position.parent,"paragraph")||!this.schema.checkChild("paragraph",e))return!1;this._insertPartialFragment();const t=this.writer.createElement("paragraph");return this.writer.insert(t,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=t,this.position=this.writer.createPositionAt(t,0),!0}_checkAndSplitToAllowedPosition(e){const t=this._getAllowedIn(this.position.parent,e);if(!t)return!1;for(t!=this.position.parent&&this._insertPartialFragment();t!=this.position.parent;)if(this.position.isAtStart){const e=this.position.parent;this.position=this.writer.createPositionBefore(e),e.isEmpty&&e.parent===t&&this.writer.remove(e)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const e=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=e,this.canMergeWith.add(this.position.nodeAfter)}return!0}_getAllowedIn(e,t){return this.schema.checkChild(e,t)?e:this.schema.isLimit(e)?null:this._getAllowedIn(e.parent,t)}}var te=s("./packages/ckeditor5-utils/src/first.js"),se=s("./packages/ckeditor5-engine/src/model/utils/findoptimalinsertionrange.js");function oe(e,t,s,i,r={}){if(!e.schema.isObject(t))throw new o.ZP("insertobject-element-not-an-object",e,{object:t});let n;n=s?s.is("selection")?s:e.createSelection(s,i):e.document.selection;let a=n;r.findOptimalPosition&&e.schema.isBlock(t)&&(a=e.createSelection((0,se.K)(n,e,r.findOptimalPosition)));const c=(0,te.Z)(n.getSelectedBlocks()),l={};return c&&Object.assign(l,e.schema.getAttributesWithProperty(c,"copyOnReplace",!0)),e.change((s=>{a.isCollapsed||e.deleteContent(a,{doNotAutoparagraph:!0});let i=t;const n=a.anchor.parent;!e.schema.checkChild(n,t)&&e.schema.checkChild(n,"paragraph")&&e.schema.checkChild("paragraph",t)&&(i=s.createElement("paragraph"),s.insert(t,i)),e.schema.setAllowedAttributes(i,l,s);const c=e.insertContent(i,a);return c.isCollapsed||r.setSelection&&function(e,t,s,i){const r=e.model;if("after"==s){let s=t.nextSibling;!(s&&r.schema.checkChild(s,"$text"))&&r.schema.checkChild(t.parent,"paragraph")&&(s=e.createElement("paragraph"),r.schema.setAllowedAttributes(s,i,e),r.insertContent(s,e.createPositionAfter(t))),s&&e.setSelection(s,0)}else{if("on"!=s)throw new o.ZP("insertobject-invalid-place-parameter-value",r);e.setSelection(t,"on")}}(s,t,r.setSelection,l),c}))}function ie(e,t,s={}){if(t.isCollapsed)return;const o=t.getFirstRange();if("$graveyard"==o.root.rootName)return;const i=e.schema;e.change((e=>{if(!s.doNotResetEntireContent&&function(e,t){const s=e.getLimitElement(t);if(!t.containsEntireContent(s))return!1;const o=t.getFirstRange();if(o.start.parent==o.end.parent)return!1;return e.checkChild(s,"paragraph")}(i,t))return void function(e,t){const s=e.model.schema.getLimitElement(t);e.remove(e.createRangeIn(s)),ce(e,e.createPositionAt(s,0),t)}(e,t);const r={};if(!s.doNotAutoparagraph){const e=t.getSelectedElement();e&&Object.assign(r,i.getAttributesWithProperty(e,"copyOnReplace",!0))}const[n,a]=function(e){const t=e.root.document.model,s=e.start;let o=e.end;if(t.hasContent(e,{ignoreMarkers:!0})){const s=function(e){const t=e.parent,s=t.root.document.model.schema,o=t.getAncestors({parentFirst:!0,includeSelf:!0});for(const e of o){if(s.isLimit(e))return null;if(s.isBlock(e))return e}}(o);if(s&&o.isTouching(t.createPositionAt(s,0))){const s=t.createSelection(e);t.modifySelection(s,{direction:"backward"});const i=s.getLastPosition(),r=t.createRange(i,o);t.hasContent(r,{ignoreMarkers:!0})||(o=i)}}return[Y.Z.fromPosition(s,"toPrevious"),Y.Z.fromPosition(o,"toNext")]}(o);n.isTouching(a)||e.remove(e.createRange(n,a)),s.leaveUnmerged||(!function(e,t,s){const o=e.model;if(!ae(e.model.schema,t,s))return;const[i,r]=function(e,t){const s=e.getAncestors(),o=t.getAncestors();let i=0;for(;s[i]&&s[i]==o[i];)i++;return[s[i],o[i]]}(t,s);if(!i||!r)return;!o.hasContent(i,{ignoreMarkers:!0})&&o.hasContent(r,{ignoreMarkers:!0})?ne(e,t,s,i.parent):re(e,t,s,i.parent)}(e,n,a),i.removeDisallowedAttributes(n.parent.getChildren(),e)),le(e,t,n),!s.doNotAutoparagraph&&function(e,t){const s=e.checkChild(t,"$text"),o=e.checkChild(t,"paragraph");return!s&&o}(i,n)&&ce(e,n,t,r),n.detach(),a.detach()}))}function re(e,t,s,o){const i=t.parent,r=s.parent;if(i!=o&&r!=o){for(t=e.createPositionAfter(i),(s=e.createPositionBefore(r)).isEqual(t)||e.insert(r,t),e.merge(t);s.parent.isEmpty;){const t=s.parent;s=e.createPositionBefore(t),e.remove(t)}ae(e.model.schema,t,s)&&re(e,t,s,o)}}function ne(e,t,s,o){const i=t.parent,r=s.parent;if(i!=o&&r!=o){for(t=e.createPositionAfter(i),(s=e.createPositionBefore(r)).isEqual(t)||e.insert(i,s);t.parent.isEmpty;){const s=t.parent;t=e.createPositionBefore(s),e.remove(s)}s=e.createPositionBefore(r),function(e,t){const s=t.nodeBefore,o=t.nodeAfter;s.name!=o.name&&e.rename(s,o.name);e.clearAttributes(s),e.setAttributes(Object.fromEntries(o.getAttributes()),s),e.merge(t)}(e,s),ae(e.model.schema,t,s)&&ne(e,t,s,o)}}function ae(e,t,s){const o=t.parent,i=s.parent;return o!=i&&(!e.isLimit(o)&&!e.isLimit(i)&&function(e,t,s){const o=new a.Z(e,t);for(const e of o.getWalker())if(s.isLimit(e.item))return!1;return!0}(t,s,e))}function ce(e,t,s,o={}){const i=e.createElement("paragraph");e.model.schema.setAllowedAttributes(i,o,e),e.insert(i,t),le(e,s,e.createPositionAt(i,0))}function le(e,t,s){t instanceof y.Z?e.setSelection(s):t.setTo(s)}var de=s("./packages/ckeditor5-engine/src/model/treewalker.js");const he=' ,.?!:;"-()';function ue(e,t){const{isForward:s,walker:o,unit:i,schema:r,treatEmojiAsSingleUnit:n}=e,{type:a,item:c,nextPosition:l}=t;if("text"==a)return"word"===e.unit?function(e,t){let s=e.position.textNode;if(s){let o=e.position.offset-s.startOffset;for(;!ge(s.data,o,t)&&!me(s,o,t);){e.next();const i=t?e.position.nodeAfter:e.position.nodeBefore;if(i&&i.is("$text")){const o=i.data.charAt(t?0:i.data.length-1);he.includes(o)||(e.next(),s=e.position.textNode)}o=e.position.offset-s.startOffset}}return e.position}(o,s):function(e,t,s){const o=e.position.textNode;if(o){const i=o.data;let r=e.position.offset-o.startOffset;for(;D(i,r)||"character"==t&&B(i,r)||s&&L(i,r);)e.next(),r=e.position.offset-o.startOffset}return e.position}(o,i,n);if(a==(s?"elementStart":"elementEnd")){if(r.isSelectable(c))return v.ZP._createAt(c,s?"after":"before");if(r.checkChild(l,"$text"))return l}else{if(r.isLimit(c))return void o.skip((()=>!0));if(r.checkChild(l,"$text"))return l}}function pe(e,t){const s=e.root,o=v.ZP._createAt(s,t?"end":0);return t?new a.Z(e,o):new a.Z(o,e)}function ge(e,t,s){const o=t+(s?0:-1);return he.includes(e.charAt(o))}function me(e,t,s){return t===(s?e.endOffset:0)}function fe(e,t){const s=[];Array.from(e.getItems({direction:"backward"})).map((e=>t.createRangeOn(e))).filter((t=>(t.start.isAfter(e.start)||t.start.isEqual(e.start))&&(t.end.isBefore(e.end)||t.end.isEqual(e.end)))).forEach((e=>{s.push(e.start.parent),t.remove(e)})),s.forEach((e=>{let s=e;for(;s.parent&&s.isEmpty;){const e=t.createRangeOn(s);s=s.parent,t.remove(e)}}))}function ke(e){e.document.registerPostFixer((t=>function(e,t){const s=t.document.selection,o=t.schema,i=[];let r=!1;for(const e of s.getRanges()){const t=_e(e,o);t&&!t.isEqual(e)?(i.push(t),r=!0):i.push(e)}r&&e.setSelection(function(e){const t=[...e],s=new Set;let o=1;for(;o<t.length;){const e=t[o],i=t.slice(0,o);for(const[r,n]of i.entries())if(!s.has(r))if(e.isEqual(n))s.add(r);else if(e.isIntersecting(n)){s.add(r),s.add(o);const i=e.getJoined(n);t.push(i)}o++}return t.filter(((e,t)=>!s.has(t)))}(i),{backward:s.isBackward})}(t,e)))}function _e(e,t){return e.isCollapsed?function(e,t){const s=e.start,o=t.getNearestSelectionRange(s);if(!o){const e=s.getAncestors().reverse().find((e=>t.isObject(e)));return e?a.Z._createOn(e):null}if(!o.isCollapsed)return o;const i=o.start;if(s.isEqual(i))return null;return new a.Z(i)}(e,t):function(e,t){const{start:s,end:o}=e,i=t.checkChild(s,"$text"),r=t.checkChild(o,"$text"),n=t.getLimitElement(s),c=t.getLimitElement(o);if(n===c){if(i&&r)return null;if(function(e,t,s){const o=e.nodeAfter&&!s.isLimit(e.nodeAfter)||s.checkChild(e,"$text"),i=t.nodeBefore&&!s.isLimit(t.nodeBefore)||s.checkChild(t,"$text");return o||i}(s,o,t)){const e=s.nodeAfter&&t.isSelectable(s.nodeAfter)?null:t.getNearestSelectionRange(s,"forward"),i=o.nodeBefore&&t.isSelectable(o.nodeBefore)?null:t.getNearestSelectionRange(o,"backward"),r=e?e.start:s,n=i?i.end:o;return new a.Z(r,n)}}const l=n&&!n.is("rootElement"),d=c&&!c.is("rootElement");if(l||d){const e=s.nodeAfter&&o.nodeBefore&&s.nodeAfter.parent===o.nodeBefore.parent,i=l&&(!e||!we(s.nodeAfter,t)),r=d&&(!e||!we(o.nodeBefore,t));let h=s,u=o;return i&&(h=v.ZP._createBefore(be(n,t))),r&&(u=v.ZP._createAfter(be(c,t))),new a.Z(h,u)}return null}(e,t)}function be(e,t){let s=e,o=s;for(;t.isLimit(o)&&o.parent;)s=o,o=o.parent;return s}function we(e,t){return e&&t.isSelectable(e)}var ve=s("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js");class ye{constructor(){this.markers=new K,this.document=new $(this),this.schema=new E.Z,this._pendingChanges=[],this._currentWriter=null,["insertContent","insertObject","deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((e=>this.decorate(e))),this.on("applyOperation",((e,t)=>{t[0]._validate()}),{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$container",{allowIn:["$root","$container"]}),this.schema.register("$block",{allowIn:["$root","$container"],isBlock:!0}),this.schema.register("$blockObject",{allowWhere:"$block",isBlock:!0,isObject:!0}),this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:!0,isObject:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck(((e,t)=>{if("$marker"===t.name)return!0})),ke(this),this.document.registerPostFixer(ve._m)}change(e){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new i,callback:e}),this._runPendingChanges()[0]):e(this._currentWriter)}catch(e){o.ZP.rethrowUnexpectedError(e,this)}}enqueueChange(e,t){try{e?"function"==typeof e?(t=e,e=new i):e instanceof i||(e=new i(e)):e=new i,this._pendingChanges.push({batch:e,callback:t}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(e){o.ZP.rethrowUnexpectedError(e,this)}}applyOperation(e){e._execute()}insertContent(e,t,s){return function(e,t,s,o){return e.change((i=>{let r;r=s?s instanceof X.Z||s instanceof y.Z?s:i.createSelection(s,o):e.document.selection,r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0});const n=new ee(e,i,r.anchor);let a;a=t.is("documentFragment")?t.getChildren():[t],n.handleNodes(a);const c=n.getSelectionRange();c&&(r instanceof y.Z?i.setSelection(c):r.setTo(c));const l=n.getAffectedRange()||e.createRange(r.anchor);return n.destroy(),l}))}(this,e,t,s)}insertObject(e,t,s,o){return oe(this,e,t,s,o)}deleteContent(e,t){ie(this,e,t)}modifySelection(e,t){!function(e,t,s={}){const o=e.schema,i="backward"!=s.direction,r=s.unit?s.unit:"character",n=!!s.treatEmojiAsSingleUnit,a=t.focus,c=new de.Z({boundaries:pe(a,i),singleCharacters:!0,direction:i?"forward":"backward"}),l={walker:c,schema:o,isForward:i,unit:r,treatEmojiAsSingleUnit:n};let d;for(;d=c.next();){if(d.done)return;const s=ue(l,d.value);if(s)return void(t instanceof y.Z?e.change((e=>{e.setSelectionFocus(s)})):t.setFocus(s))}}(this,e,t)}getSelectedContent(e){return function(e,t){return e.change((e=>{const s=e.createDocumentFragment(),o=t.getFirstRange();if(!o||o.isCollapsed)return s;const i=o.start.root,r=o.start.getCommonPath(o.end),n=i.getNodeByPath(r);let a;a=o.start.parent==o.end.parent?o:e.createRange(e.createPositionAt(n,o.start.path[r.length]),e.createPositionAt(n,o.end.path[r.length]+1));const c=a.end.offset-a.start.offset;for(const t of a.getItems({shallow:!0}))t.is("$textProxy")?e.appendText(t.data,t.getAttributes(),s):e.append(e.cloneElement(t,!0),s);if(a!=o){const t=o._getTransformedByMove(a.start,e.createPositionAt(s,0),c)[0],i=e.createRange(e.createPositionAt(s,0),t.start);fe(e.createRange(t.end,e.createPositionAt(s,"end")),e),fe(i,e)}return s}))}(this,e)}hasContent(e,t={}){const s=e instanceof b.Z?a.Z._createIn(e):e;if(s.isCollapsed)return!1;const{ignoreWhitespaces:o=!1,ignoreMarkers:i=!1}=t;if(!i)for(const e of this.markers.getMarkersIntersectingRange(s))if(e.affectsData)return!0;for(const e of s.getItems())if(this.schema.isContent(e)){if(!e.is("$textProxy"))return!0;if(!o)return!0;if(-1!==e.data.search(/\S/))return!0}return!1}createPositionFromPath(e,t,s){return new v.ZP(e,t,s)}createPositionAt(e,t){return v.ZP._createAt(e,t)}createPositionAfter(e){return v.ZP._createAfter(e)}createPositionBefore(e){return v.ZP._createBefore(e)}createRange(e,t){return new a.Z(e,t)}createRangeIn(e){return a.Z._createIn(e)}createRangeOn(e){return a.Z._createOn(e)}createSelection(e,t,s){return new X.Z(e,t,s)}createBatch(e){return new i(e)}createOperationFromJSON(e){return Q.Z.fromJSON(e,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const e=[];for(this.fire("_beforeChanges");this._pendingChanges.length;){const t=this._pendingChanges[0].batch;this._currentWriter=new P(this,t);const s=this._pendingChanges[0].callback(this._currentWriter);e.push(s),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}return this.fire("_afterChanges"),e}}(0,V.Z)(ye,J.Z)},"./packages/ckeditor5-engine/src/model/node.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-utils/src/tomap.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=s("./packages/ckeditor5-utils/src/comparearrays.js");s("./packages/ckeditor5-utils/src/version.js");class n{constructor(e){this.parent=null,this._attrs=(0,o.Z)(e)}get index(){let e;if(!this.parent)return null;if(null===(e=this.parent.getChildIndex(this)))throw new i.ZP("model-node-not-found-in-parent",this);return e}get startOffset(){let e;if(!this.parent)return null;if(null===(e=this.parent.getChildStartOffset(this)))throw new i.ZP("model-node-not-found-in-parent",this);return e}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return this.root.is("rootElement")}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.startOffset),t=t.parent;return e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let s=e.includeSelf?this:this.parent;for(;s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}getCommonAncestor(e,t={}){const s=this.getAncestors(t),o=e.getAncestors(t);let i=0;for(;s[i]==o[i]&&s[i];)i++;return 0===i?null:s[i-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),s=e.getPath(),o=(0,r.Z)(t,s);switch(o){case"prefix":return!0;case"extension":return!1;default:return t[o]<s[o]}}isAfter(e){return this!=e&&(this.root===e.root&&!this.isBefore(e))}hasAttribute(e){return this._attrs.has(e)}getAttribute(e){return this._attrs.get(e)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}toJSON(){const e={};return this._attrs.size&&(e.attributes=Array.from(this._attrs).reduce(((e,t)=>(e[t[0]]=t[1],e)),{})),e}is(e){return"node"===e||"model:node"===e}_clone(){return new n(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(e,t){this._attrs.set(e,t)}_setAttributesTo(e){this._attrs=(0,o.Z)(e)}_removeAttribute(e){return this._attrs.delete(e)}_clearAttributes(){this._attrs.clear()}}},"./packages/ckeditor5-engine/src/model/nodelist.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/model/node.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class r{constructor(e){this._nodes=[],e&&this._insertNodes(0,e)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((e,t)=>e+t.offsetSize),0)}getNode(e){return this._nodes[e]||null}getNodeIndex(e){const t=this._nodes.indexOf(e);return-1==t?null:t}getNodeStartOffset(e){const t=this.getNodeIndex(e);return null===t?null:this._nodes.slice(0,t).reduce(((e,t)=>e+t.offsetSize),0)}indexToOffset(e){if(e==this._nodes.length)return this.maxOffset;const t=this._nodes[e];if(!t)throw new i.ZP("model-nodelist-index-out-of-bounds",this);return this.getNodeStartOffset(t)}offsetToIndex(e){let t=0;for(const s of this._nodes){if(e>=t&&e<t+s.offsetSize)return this.getNodeIndex(s);t+=s.offsetSize}if(t!=e)throw new i.ZP("model-nodelist-offset-out-of-bounds",this,{offset:e,nodeList:this});return this.length}_insertNodes(e,t){for(const e of t)if(!(e instanceof o.Z))throw new i.ZP("model-nodelist-insertnodes-not-node",this);this._nodes.splice(e,0,...t)}_removeNodes(e,t=1){return this._nodes.splice(e,t)}toJSON(){return this._nodes.map((e=>e.toJSON()))}}},"./packages/ckeditor5-engine/src/model/operation/attributeoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/range.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-engine/src/model/operation/utils.js"),a=s("./node_modules/lodash-es/_baseIsEqual.js");const c=function(e,t){return(0,a.Z)(e,t)};class l extends o.Z{constructor(e,t,s,o,i){super(i),this.range=e.clone(),this.key=t,this.oldValue=void 0===s?null:s,this.newValue=void 0===o?null:o}get type(){return null===this.oldValue?"addAttribute":null===this.newValue?"removeAttribute":"changeAttribute"}clone(){return new l(this.range,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new l(this.range,this.key,this.newValue,this.oldValue,this.baseVersion+1)}toJSON(){const e=super.toJSON();return e.range=this.range.toJSON(),e}_validate(){if(!this.range.isFlat)throw new r.ZP("attribute-operation-range-not-flat",this);for(const e of this.range.getItems({shallow:!0})){if(null!==this.oldValue&&!c(e.getAttribute(this.key),this.oldValue))throw new r.ZP("attribute-operation-wrong-old-value",this,{item:e,key:this.key,value:this.oldValue});if(null===this.oldValue&&null!==this.newValue&&e.hasAttribute(this.key))throw new r.ZP("attribute-operation-attribute-exists",this,{node:e,key:this.key})}}_execute(){c(this.oldValue,this.newValue)||(0,n.pX)(this.range,this.key,this.newValue)}static get className(){return"AttributeOperation"}static fromJSON(e,t){return new l(i.Z.fromJSON(e.range,t),e.key,e.oldValue,e.newValue,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/insertoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/position.js"),r=s("./packages/ckeditor5-engine/src/model/nodelist.js"),n=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),a=s("./packages/ckeditor5-engine/src/model/operation/utils.js"),c=s("./packages/ckeditor5-engine/src/model/text.js"),l=s("./packages/ckeditor5-engine/src/model/element.js"),d=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class h extends o.Z{constructor(e,t,s){super(s),this.position=e.clone(),this.position.stickiness="toNone",this.nodes=new r.Z((0,a.So)(t)),this.shouldReceiveAttributes=!1}get type(){return"insert"}get howMany(){return this.nodes.maxOffset}clone(){const e=new r.Z([...this.nodes].map((e=>e._clone(!0)))),t=new h(this.position,e,this.baseVersion);return t.shouldReceiveAttributes=this.shouldReceiveAttributes,t}getReversed(){const e=this.position.root.document.graveyard,t=new i.ZP(e,[0]);return new n.Z(this.position,this.nodes.maxOffset,t,this.baseVersion+1)}_validate(){const e=this.position.parent;if(!e||e.maxOffset<this.position.offset)throw new d.ZP("insert-operation-position-invalid",this)}_execute(){const e=this.nodes;this.nodes=new r.Z([...e].map((e=>e._clone(!0)))),(0,a.fj)(this.position,e)}toJSON(){const e=super.toJSON();return e.position=this.position.toJSON(),e.nodes=this.nodes.toJSON(),e}static get className(){return"InsertOperation"}static fromJSON(e,t){const s=[];for(const t of e.nodes)t.name?s.push(l.Z.fromJSON(t)):s.push(c.Z.fromJSON(t));const o=new h(i.ZP.fromJSON(e.position,t),s,e.baseVersion);return o.shouldReceiveAttributes=e.shouldReceiveAttributes,o}}},"./packages/ckeditor5-engine/src/model/operation/markeroperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/range.js");class r extends o.Z{constructor(e,t,s,o,i,r){super(r),this.name=e,this.oldRange=t?t.clone():null,this.newRange=s?s.clone():null,this.affectsData=i,this._markers=o}get type(){return"marker"}clone(){return new r(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new r(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){const e=this.newRange?"_set":"_remove";this._markers[e](this.name,this.newRange,!0,this.affectsData)}toJSON(){const e=super.toJSON();return this.oldRange&&(e.oldRange=this.oldRange.toJSON()),this.newRange&&(e.newRange=this.newRange.toJSON()),delete e._markers,e}static get className(){return"MarkerOperation"}static fromJSON(e,t){return new r(e.name,e.oldRange?i.Z.fromJSON(e.oldRange,t):null,e.newRange?i.Z.fromJSON(e.newRange,t):null,t.model.markers,e.affectsData,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/mergeoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),r=s("./packages/ckeditor5-engine/src/model/position.js"),n=s("./packages/ckeditor5-engine/src/model/range.js"),a=s("./packages/ckeditor5-engine/src/model/operation/utils.js"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class l extends o.Z{constructor(e,t,s,o,i){super(i),this.sourcePosition=e.clone(),this.sourcePosition.stickiness="toPrevious",this.howMany=t,this.targetPosition=s.clone(),this.targetPosition.stickiness="toNext",this.graveyardPosition=o.clone()}get type(){return"merge"}get deletionPosition(){return new r.ZP(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const e=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new n.Z(this.sourcePosition,e)}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const e=this.targetPosition._getTransformedByMergeOperation(this),t=this.sourcePosition.path.slice(0,-1),s=new r.ZP(this.sourcePosition.root,t)._getTransformedByMergeOperation(this);return new i.Z(e,this.howMany,s,this.graveyardPosition,this.baseVersion+1)}_validate(){const e=this.sourcePosition.parent,t=this.targetPosition.parent;if(!e.parent)throw new c.ZP("merge-operation-source-position-invalid",this);if(!t.parent)throw new c.ZP("merge-operation-target-position-invalid",this);if(this.howMany!=e.maxOffset)throw new c.ZP("merge-operation-how-many-invalid",this)}_execute(){const e=this.sourcePosition.parent,t=n.Z._createIn(e);(0,a.XF)(t,this.targetPosition),(0,a.XF)(n.Z._createOn(e),this.graveyardPosition)}toJSON(){const e=super.toJSON();return e.sourcePosition=e.sourcePosition.toJSON(),e.targetPosition=e.targetPosition.toJSON(),e.graveyardPosition=e.graveyardPosition.toJSON(),e}static get className(){return"MergeOperation"}static fromJSON(e,t){const s=r.ZP.fromJSON(e.sourcePosition,t),o=r.ZP.fromJSON(e.targetPosition,t),i=r.ZP.fromJSON(e.graveyardPosition,t);return new this(s,e.howMany,o,i,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/moveoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/position.js"),r=s("./packages/ckeditor5-engine/src/model/range.js"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),a=s("./packages/ckeditor5-utils/src/comparearrays.js"),c=s("./packages/ckeditor5-engine/src/model/operation/utils.js");class l extends o.Z{constructor(e,t,s,o){super(o),this.sourcePosition=e.clone(),this.sourcePosition.stickiness="toNext",this.howMany=t,this.targetPosition=s.clone(),this.targetPosition.stickiness="toNone"}get type(){return"$graveyard"==this.targetPosition.root.rootName?"remove":"$graveyard"==this.sourcePosition.root.rootName?"reinsert":"move"}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.baseVersion)}getMovedRangeStart(){return this.targetPosition._getTransformedByDeletion(this.sourcePosition,this.howMany)}getReversed(){const e=this.sourcePosition._getTransformedByInsertion(this.targetPosition,this.howMany);return new this.constructor(this.getMovedRangeStart(),this.howMany,e,this.baseVersion+1)}_validate(){const e=this.sourcePosition.parent,t=this.targetPosition.parent,s=this.sourcePosition.offset,o=this.targetPosition.offset;if(s+this.howMany>e.maxOffset)throw new n.ZP("move-operation-nodes-do-not-exist",this);if(e===t&&s<o&&o<s+this.howMany)throw new n.ZP("move-operation-range-into-itself",this);if(this.sourcePosition.root==this.targetPosition.root&&"prefix"==(0,a.Z)(this.sourcePosition.getParentPath(),this.targetPosition.getParentPath())){const e=this.sourcePosition.path.length-1;if(this.targetPosition.path[e]>=s&&this.targetPosition.path[e]<s+this.howMany)throw new n.ZP("move-operation-node-into-itself",this)}}_execute(){(0,c.XF)(r.Z._createFromPositionAndShift(this.sourcePosition,this.howMany),this.targetPosition)}toJSON(){const e=super.toJSON();return e.sourcePosition=this.sourcePosition.toJSON(),e.targetPosition=this.targetPosition.toJSON(),e}static get className(){return"MoveOperation"}static fromJSON(e,t){const s=i.ZP.fromJSON(e.sourcePosition,t),o=i.ZP.fromJSON(e.targetPosition,t);return new this(s,e.howMany,o,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/nooperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js");class i extends o.Z{get type(){return"noop"}clone(){return new i(this.baseVersion)}getReversed(){return new i(this.baseVersion+1)}_execute(){}static get className(){return"NoOperation"}}},"./packages/ckeditor5-engine/src/model/operation/operation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{constructor(e){this.baseVersion=e,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const e=Object.assign({},this);return e.__className=this.constructor.className,delete e.batch,delete e.isDocumentOperation,e}static get className(){return"Operation"}static fromJSON(e){return new this(e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/operationfactory.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>g});var o=s("./packages/ckeditor5-engine/src/model/operation/attributeoperation.js"),i=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),r=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),n=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),a=s("./packages/ckeditor5-engine/src/model/operation/nooperation.js"),c=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),l=s("./packages/ckeditor5-engine/src/model/operation/renameoperation.js"),d=s("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js"),h=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),u=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js");const p={};p[o.Z.className]=o.Z,p[i.Z.className]=i.Z,p[r.Z.className]=r.Z,p[n.Z.className]=n.Z,p[a.Z.className]=a.Z,p[c.Z.className]=c.Z,p[l.Z.className]=l.Z,p[d.Z.className]=d.Z,p[h.Z.className]=h.Z,p[u.Z.className]=u.Z;class g{static fromJSON(e,t){return p[e.__className].fromJSON(e,t)}}},"./packages/ckeditor5-engine/src/model/operation/renameoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/element.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-engine/src/model/position.js");class a extends o.Z{constructor(e,t,s,o){super(o),this.position=e,this.position.stickiness="toNext",this.oldName=t,this.newName=s}get type(){return"rename"}clone(){return new a(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new a(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const e=this.position.nodeAfter;if(!(e instanceof i.Z))throw new r.ZP("rename-operation-wrong-position",this);if(e.name!==this.oldName)throw new r.ZP("rename-operation-wrong-name",this)}_execute(){this.position.nodeAfter.name=this.newName}toJSON(){const e=super.toJSON();return e.position=this.position.toJSON(),e}static get className(){return"RenameOperation"}static fromJSON(e,t){return new a(n.ZP.fromJSON(e.position,t),e.oldName,e.newName,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class r extends o.Z{constructor(e,t,s,o,i){super(i),this.root=e,this.key=t,this.oldValue=s,this.newValue=o}get type(){return null===this.oldValue?"addRootAttribute":null===this.newValue?"removeRootAttribute":"changeRootAttribute"}clone(){return new r(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new r(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is("documentFragment"))throw new i.ZP("rootattribute-operation-not-a-root",this,{root:this.root,key:this.key});if(null!==this.oldValue&&this.root.getAttribute(this.key)!==this.oldValue)throw new i.ZP("rootattribute-operation-wrong-old-value",this,{root:this.root,key:this.key});if(null===this.oldValue&&null!==this.newValue&&this.root.hasAttribute(this.key))throw new i.ZP("rootattribute-operation-attribute-exists",this,{root:this.root,key:this.key})}_execute(){null!==this.newValue?this.root._setAttribute(this.key,this.newValue):this.root._removeAttribute(this.key)}toJSON(){const e=super.toJSON();return e.root=this.root.toJSON(),e}static get className(){return"RootAttributeOperation"}static fromJSON(e,t){if(!t.getRoot(e.root))throw new i.ZP("rootattribute-operation-fromjson-no-root",this,{rootName:e.root});return new r(t.getRoot(e.root),e.key,e.oldValue,e.newValue,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/splitoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js"),r=s("./packages/ckeditor5-engine/src/model/position.js"),n=s("./packages/ckeditor5-engine/src/model/range.js"),a=s("./packages/ckeditor5-engine/src/model/operation/utils.js"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class l extends o.Z{constructor(e,t,s,o,i){super(i),this.splitPosition=e.clone(),this.splitPosition.stickiness="toNext",this.howMany=t,this.insertionPosition=s,this.graveyardPosition=o?o.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const e=this.insertionPosition.path.slice();return e.push(0),new r.ZP(this.insertionPosition.root,e)}get movedRange(){const e=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new n.Z(this.splitPosition,e)}clone(){return new this.constructor(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const e=this.splitPosition.root.document.graveyard,t=new r.ZP(e,[0]);return new i.Z(this.moveTargetPosition,this.howMany,this.splitPosition,t,this.baseVersion+1)}_validate(){const e=this.splitPosition.parent,t=this.splitPosition.offset;if(!e||e.maxOffset<t)throw new c.ZP("split-operation-position-invalid",this);if(!e.parent)throw new c.ZP("split-operation-split-in-root",this);if(this.howMany!=e.maxOffset-this.splitPosition.offset)throw new c.ZP("split-operation-how-many-invalid",this);if(this.graveyardPosition&&!this.graveyardPosition.nodeAfter)throw new c.ZP("split-operation-graveyard-position-invalid",this)}_execute(){const e=this.splitPosition.parent;if(this.graveyardPosition)(0,a.XF)(n.Z._createFromPositionAndShift(this.graveyardPosition,1),this.insertionPosition);else{const t=e._clone();(0,a.fj)(this.insertionPosition,t)}const t=new n.Z(r.ZP._createAt(e,this.splitPosition.offset),r.ZP._createAt(e,e.maxOffset));(0,a.XF)(t,this.moveTargetPosition)}toJSON(){const e=super.toJSON();return e.splitPosition=this.splitPosition.toJSON(),e.insertionPosition=this.insertionPosition.toJSON(),this.graveyardPosition&&(e.graveyardPosition=this.graveyardPosition.toJSON()),e}static get className(){return"SplitOperation"}static getInsertionPosition(e){const t=e.path.slice(0,-1);return t[t.length-1]++,new r.ZP(e.root,t,"toPrevious")}static fromJSON(e,t){const s=r.ZP.fromJSON(e.splitPosition,t),o=r.ZP.fromJSON(e.insertionPosition,t),i=e.graveyardPosition?r.ZP.fromJSON(e.graveyardPosition,t):null;return new this(s,e.howMany,o,i,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/transform.js":(e,t,s)=>{"use strict";s.d(t,{R:()=>b});var o=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),i=s("./packages/ckeditor5-engine/src/model/operation/attributeoperation.js"),r=s("./packages/ckeditor5-engine/src/model/operation/renameoperation.js"),n=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),a=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),c=s("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js"),l=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js"),d=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),h=s("./packages/ckeditor5-engine/src/model/operation/nooperation.js"),u=s("./packages/ckeditor5-engine/src/model/range.js"),p=s("./packages/ckeditor5-engine/src/model/position.js"),g=s("./packages/ckeditor5-utils/src/comparearrays.js");const m=new Map;function f(e,t,s){let o=m.get(e);o||(o=new Map,m.set(e,o)),o.set(t,s)}function k(e){return[e]}function _(e,t,s={}){const o=function(e,t){const s=m.get(e);return s&&s.has(t)?s.get(t):k}(e.constructor,t.constructor);try{return o(e=e.clone(),t,s)}catch(e){throw e}}function b(e,t,s){e=e.slice(),t=t.slice();const o=new w(s.document,s.useRelations,s.forceWeakRemove);o.setOriginalOperations(e),o.setOriginalOperations(t);const i=o.originalOperations;if(0==e.length||0==t.length)return{operationsA:e,operationsB:t,originalOperations:i};const r=new WeakMap;for(const t of e)r.set(t,0);const n={nextBaseVersionA:e[e.length-1].baseVersion+1,nextBaseVersionB:t[t.length-1].baseVersion+1,originalOperationsACount:e.length,originalOperationsBCount:t.length};let a=0;for(;a<e.length;){const s=e[a],i=r.get(s);if(i==t.length){a++;continue}const n=t[i],c=_(s,n,o.getContext(s,n,!0)),l=_(n,s,o.getContext(n,s,!1));o.updateRelation(s,n),o.setOriginalOperations(c,s),o.setOriginalOperations(l,n);for(const e of c)r.set(e,i+l.length);e.splice(a,1,...c),t.splice(i,1,...l)}if(s.padWithNoOps){const s=e.length-n.originalOperationsACount,o=t.length-n.originalOperationsBCount;y(e,o-s),y(t,s-o)}return v(e,n.nextBaseVersionB),v(t,n.nextBaseVersionA),{operationsA:e,operationsB:t,originalOperations:i}}class w{constructor(e,t,s=!1){this.originalOperations=new Map,this._history=e.history,this._useRelations=t,this._forceWeakRemove=!!s,this._relations=new Map}setOriginalOperations(e,t=null){const s=t?this.originalOperations.get(t):null;for(const t of e)this.originalOperations.set(t,s||t)}updateRelation(e,t){switch(e.constructor){case a.Z:switch(t.constructor){case l.Z:e.targetPosition.isEqual(t.sourcePosition)||t.movedRange.containsPosition(e.targetPosition)?this._setRelation(e,t,"insertAtSource"):e.targetPosition.isEqual(t.deletionPosition)?this._setRelation(e,t,"insertBetween"):e.targetPosition.isAfter(t.sourcePosition)&&this._setRelation(e,t,"moveTargetAfter");break;case a.Z:e.targetPosition.isEqual(t.sourcePosition)||e.targetPosition.isBefore(t.sourcePosition)?this._setRelation(e,t,"insertBefore"):this._setRelation(e,t,"insertAfter")}break;case d.Z:switch(t.constructor){case l.Z:e.splitPosition.isBefore(t.sourcePosition)&&this._setRelation(e,t,"splitBefore");break;case a.Z:if(e.splitPosition.isEqual(t.sourcePosition)||e.splitPosition.isBefore(t.sourcePosition))this._setRelation(e,t,"splitBefore");else{const s=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.splitPosition.hasSameParentAs(t.sourcePosition)&&s.containsPosition(e.splitPosition)){const o=s.end.offset-e.splitPosition.offset,i=e.splitPosition.offset-s.start.offset;this._setRelation(e,t,{howMany:o,offset:i})}}}break;case l.Z:switch(t.constructor){case l.Z:e.targetPosition.isEqual(t.sourcePosition)||this._setRelation(e,t,"mergeTargetNotMoved"),e.sourcePosition.isEqual(t.targetPosition)&&this._setRelation(e,t,"mergeSourceNotMoved"),e.sourcePosition.isEqual(t.sourcePosition)&&this._setRelation(e,t,"mergeSameElement");break;case d.Z:e.sourcePosition.isEqual(t.splitPosition)&&this._setRelation(e,t,"splitAtSource")}break;case n.Z:{const s=e.newRange;if(!s)return;switch(t.constructor){case a.Z:{const o=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany),i=o.containsPosition(s.start)||o.start.isEqual(s.start),r=o.containsPosition(s.end)||o.end.isEqual(s.end);!i&&!r||o.containsRange(s)||this._setRelation(e,t,{side:i?"left":"right",path:i?s.start.path.slice():s.end.path.slice()});break}case l.Z:{const o=s.start.isEqual(t.targetPosition),i=s.start.isEqual(t.deletionPosition),r=s.end.isEqual(t.deletionPosition),n=s.end.isEqual(t.sourcePosition);(o||i||r||n)&&this._setRelation(e,t,{wasInLeftElement:o,wasStartBeforeMergedElement:i,wasEndBeforeMergedElement:r,wasInRightElement:n});break}}break}}}getContext(e,t,s){return{aIsStrong:s,aWasUndone:this._wasUndone(e),bWasUndone:this._wasUndone(t),abRelation:this._useRelations?this._getRelation(e,t):null,baRelation:this._useRelations?this._getRelation(t,e):null,forceWeakRemove:this._forceWeakRemove}}_wasUndone(e){const t=this.originalOperations.get(e);return t.wasUndone||this._history.isUndoneOperation(t)}_getRelation(e,t){const s=this.originalOperations.get(t),o=this._history.getUndoneOperation(s);if(!o)return null;const i=this.originalOperations.get(e),r=this._relations.get(i);return r&&r.get(o)||null}_setRelation(e,t,s){const o=this.originalOperations.get(e),i=this.originalOperations.get(t);let r=this._relations.get(o);r||(r=new Map,this._relations.set(o,r)),r.set(i,s)}}function v(e,t){for(const s of e)s.baseVersion=t++}function y(e,t){for(let s=0;s<t;s++)e.push(new h.Z(0))}function Z(e,t,s){const o=e.nodes.getNode(0).getAttribute(t);if(o==s)return null;const r=new u.Z(e.position,e.position.getShiftedBy(e.howMany));return new i.Z(r,t,o,s,0)}function P(e,t){return null===e.targetPosition._getTransformedByDeletion(t.sourcePosition,t.howMany)}function j(e,t){const s=[];for(let o=0;o<e.length;o++){const i=e[o],r=new a.Z(i.start,i.end.offset-i.start.offset,t,0);s.push(r);for(let t=o+1;t<e.length;t++)e[t]=e[t]._getTransformedByMove(r.sourcePosition,r.targetPosition,r.howMany)[0];t=t._getTransformedByMove(r.sourcePosition,r.targetPosition,r.howMany)}return s}f(i.Z,i.Z,((e,t,s)=>{if(e.key===t.key&&e.range.start.hasSameParentAs(t.range.start)){const o=e.range.getDifference(t.range).map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,0))),r=e.range.getIntersection(t.range);return r&&s.aIsStrong&&o.push(new i.Z(r,t.key,t.newValue,e.newValue,0)),0==o.length?[new h.Z(0)]:o}return[e]})),f(i.Z,o.Z,((e,t)=>{if(e.range.start.hasSameParentAs(t.position)&&e.range.containsPosition(t.position)){const s=e.range._getTransformedByInsertion(t.position,t.howMany,!t.shouldReceiveAttributes).map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,e.baseVersion)));if(t.shouldReceiveAttributes){const o=Z(t,e.key,e.oldValue);o&&s.unshift(o)}return s}return e.range=e.range._getTransformedByInsertion(t.position,t.howMany,!1)[0],[e]})),f(i.Z,l.Z,((e,t)=>{const s=[];e.range.start.hasSameParentAs(t.deletionPosition)&&(e.range.containsPosition(t.deletionPosition)||e.range.start.isEqual(t.deletionPosition))&&s.push(u.Z._createFromPositionAndShift(t.graveyardPosition,1));const o=e.range._getTransformedByMergeOperation(t);return o.isCollapsed||s.push(o),s.map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,e.baseVersion)))})),f(i.Z,a.Z,((e,t)=>function(e,t){const s=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);let o=null,i=[];s.containsRange(e,!0)?o=e:e.start.hasSameParentAs(s.start)?(i=e.getDifference(s),o=e.getIntersection(s)):i=[e];const r=[];for(let e of i){e=e._getTransformedByDeletion(t.sourcePosition,t.howMany);const s=t.getMovedRangeStart(),o=e.start.hasSameParentAs(s);e=e._getTransformedByInsertion(s,t.howMany,o),r.push(...e)}o&&r.push(o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany,!1)[0]);return r}(e.range,t).map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,e.baseVersion))))),f(i.Z,d.Z,((e,t)=>{if(e.range.end.isEqual(t.insertionPosition))return t.graveyardPosition||e.range.end.offset++,[e];if(e.range.start.hasSameParentAs(t.splitPosition)&&e.range.containsPosition(t.splitPosition)){const s=e.clone();return s.range=new u.Z(t.moveTargetPosition.clone(),e.range.end._getCombined(t.splitPosition,t.moveTargetPosition)),e.range.end=t.splitPosition.clone(),e.range.end.stickiness="toPrevious",[e,s]}return e.range=e.range._getTransformedBySplitOperation(t),[e]})),f(o.Z,i.Z,((e,t)=>{const s=[e];if(e.shouldReceiveAttributes&&e.position.hasSameParentAs(t.range.start)&&t.range.containsPosition(e.position)){const o=Z(e,t.key,t.newValue);o&&s.push(o)}return s})),f(o.Z,o.Z,((e,t,s)=>(e.position.isEqual(t.position)&&s.aIsStrong||(e.position=e.position._getTransformedByInsertOperation(t)),[e]))),f(o.Z,a.Z,((e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e]))),f(o.Z,d.Z,((e,t)=>(e.position=e.position._getTransformedBySplitOperation(t),[e]))),f(o.Z,l.Z,((e,t)=>(e.position=e.position._getTransformedByMergeOperation(t),[e]))),f(n.Z,o.Z,((e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByInsertOperation(t)[0]),e.newRange&&(e.newRange=e.newRange._getTransformedByInsertOperation(t)[0]),[e]))),f(n.Z,n.Z,((e,t,s)=>{if(e.name==t.name){if(!s.aIsStrong)return[new h.Z(0)];e.oldRange=t.newRange?t.newRange.clone():null}return[e]})),f(n.Z,l.Z,((e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByMergeOperation(t)),e.newRange&&(e.newRange=e.newRange._getTransformedByMergeOperation(t)),[e]))),f(n.Z,a.Z,((e,t,s)=>{if(e.oldRange&&(e.oldRange=u.Z._createFromRanges(e.oldRange._getTransformedByMoveOperation(t))),e.newRange){if(s.abRelation){const o=u.Z._createFromRanges(e.newRange._getTransformedByMoveOperation(t));if("left"==s.abRelation.side&&t.targetPosition.isEqual(e.newRange.start))return e.newRange.start.path=s.abRelation.path,e.newRange.end=o.end,[e];if("right"==s.abRelation.side&&t.targetPosition.isEqual(e.newRange.end))return e.newRange.start=o.start,e.newRange.end.path=s.abRelation.path,[e]}e.newRange=u.Z._createFromRanges(e.newRange._getTransformedByMoveOperation(t))}return[e]})),f(n.Z,d.Z,((e,t,s)=>{if(e.oldRange&&(e.oldRange=e.oldRange._getTransformedBySplitOperation(t)),e.newRange){if(s.abRelation){const o=e.newRange._getTransformedBySplitOperation(t);return e.newRange.start.isEqual(t.splitPosition)&&s.abRelation.wasStartBeforeMergedElement?e.newRange.start=p.ZP._createAt(t.insertionPosition):e.newRange.start.isEqual(t.splitPosition)&&!s.abRelation.wasInLeftElement&&(e.newRange.start=p.ZP._createAt(t.moveTargetPosition)),e.newRange.end.isEqual(t.splitPosition)&&s.abRelation.wasInRightElement?e.newRange.end=p.ZP._createAt(t.moveTargetPosition):e.newRange.end.isEqual(t.splitPosition)&&s.abRelation.wasEndBeforeMergedElement?e.newRange.end=p.ZP._createAt(t.insertionPosition):e.newRange.end=o.end,[e]}e.newRange=e.newRange._getTransformedBySplitOperation(t)}return[e]})),f(l.Z,o.Z,((e,t)=>(e.sourcePosition.hasSameParentAs(t.position)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByInsertOperation(t),e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t),[e]))),f(l.Z,l.Z,((e,t,s)=>{if(e.sourcePosition.isEqual(t.sourcePosition)&&e.targetPosition.isEqual(t.targetPosition)){if(s.bWasUndone){const s=t.graveyardPosition.path.slice();return s.push(0),e.sourcePosition=new p.ZP(t.graveyardPosition.root,s),e.howMany=0,[e]}return[new h.Z(0)]}if(e.sourcePosition.isEqual(t.sourcePosition)&&!e.targetPosition.isEqual(t.targetPosition)&&!s.bWasUndone&&"splitAtSource"!=s.abRelation){const o="$graveyard"==e.targetPosition.root.rootName,i="$graveyard"==t.targetPosition.root.rootName,r=o&&!i;if(i&&!o||!r&&s.aIsStrong){const s=t.targetPosition._getTransformedByMergeOperation(t),o=e.targetPosition._getTransformedByMergeOperation(t);return[new a.Z(s,e.howMany,o,0)]}return[new h.Z(0)]}return e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByMergeOperation(t),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),e.graveyardPosition.isEqual(t.graveyardPosition)&&s.aIsStrong||(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]})),f(l.Z,a.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);return"remove"==t.type&&!s.bWasUndone&&!s.forceWeakRemove&&e.deletionPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.sourcePosition)?[new h.Z(0)]:(e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition.hasSameParentAs(t.sourcePosition)&&(e.howMany-=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByMoveOperation(t),e.targetPosition=e.targetPosition._getTransformedByMoveOperation(t),e.graveyardPosition.isEqual(t.targetPosition)||(e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)),[e])})),f(l.Z,d.Z,((e,t,s)=>{if(t.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByDeletion(t.graveyardPosition,1),e.deletionPosition.isEqual(t.graveyardPosition)&&(e.howMany=t.howMany)),e.targetPosition.isEqual(t.splitPosition)){const o=0!=t.howMany,i=t.graveyardPosition&&e.deletionPosition.isEqual(t.graveyardPosition);if(o||i||"mergeTargetNotMoved"==s.abRelation)return e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),[e]}if(e.sourcePosition.isEqual(t.splitPosition)){if("mergeSourceNotMoved"==s.abRelation)return e.howMany=0,e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e];if("mergeSameElement"==s.abRelation||e.sourcePosition.offset>0)return e.sourcePosition=t.moveTargetPosition.clone(),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]}return e.sourcePosition.hasSameParentAs(t.splitPosition)&&(e.howMany=t.splitPosition.offset),e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]})),f(a.Z,o.Z,((e,t)=>{const s=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByInsertOperation(t,!1)[0];return e.sourcePosition=s.start,e.howMany=s.end.offset-s.start.offset,e.targetPosition.isEqual(t.position)||(e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t)),[e]})),f(a.Z,a.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany),i=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);let r,n=s.aIsStrong,a=!s.aIsStrong;if("insertBefore"==s.abRelation||"insertAfter"==s.baRelation?a=!0:"insertAfter"!=s.abRelation&&"insertBefore"!=s.baRelation||(a=!1),r=e.targetPosition.isEqual(t.targetPosition)&&a?e.targetPosition._getTransformedByDeletion(t.sourcePosition,t.howMany):e.targetPosition._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),P(e,t)&&P(t,e))return[t.getReversed()];if(o.containsPosition(t.targetPosition)&&o.containsRange(i,!0))return o.start=o.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),o.end=o.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),j([o],r);if(i.containsPosition(e.targetPosition)&&i.containsRange(o,!0))return o.start=o.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),o.end=o.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),j([o],r);const c=(0,g.Z)(e.sourcePosition.getParentPath(),t.sourcePosition.getParentPath());if("prefix"==c||"extension"==c)return o.start=o.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),o.end=o.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),j([o],r);"remove"!=e.type||"remove"==t.type||s.aWasUndone||s.forceWeakRemove?"remove"==e.type||"remove"!=t.type||s.bWasUndone||s.forceWeakRemove||(n=!1):n=!0;const l=[],d=o.getDifference(i);for(const e of d){e.start=e.start._getTransformedByDeletion(t.sourcePosition,t.howMany),e.end=e.end._getTransformedByDeletion(t.sourcePosition,t.howMany);const s="same"==(0,g.Z)(e.start.getParentPath(),t.getMovedRangeStart().getParentPath()),o=e._getTransformedByInsertion(t.getMovedRangeStart(),t.howMany,s);l.push(...o)}const p=o.getIntersection(i);return null!==p&&n&&(p.start=p.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),p.end=p.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),0===l.length?l.push(p):1==l.length?i.start.isBefore(o.start)||i.start.isEqual(o.start)?l.unshift(p):l.push(p):l.splice(1,0,p)),0===l.length?[new h.Z(e.baseVersion)]:j(l,r)})),f(a.Z,d.Z,((e,t,s)=>{let o=e.targetPosition.clone();e.targetPosition.isEqual(t.insertionPosition)&&t.graveyardPosition&&"moveTargetAfter"!=s.abRelation||(o=e.targetPosition._getTransformedBySplitOperation(t));const i=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany);if(i.end.isEqual(t.insertionPosition))return t.graveyardPosition||e.howMany++,e.targetPosition=o,[e];if(i.start.hasSameParentAs(t.splitPosition)&&i.containsPosition(t.splitPosition)){let e=new u.Z(t.splitPosition,i.end);e=e._getTransformedBySplitOperation(t);return j([new u.Z(i.start,t.splitPosition),e],o)}e.targetPosition.isEqual(t.splitPosition)&&"insertAtSource"==s.abRelation&&(o=t.moveTargetPosition),e.targetPosition.isEqual(t.insertionPosition)&&"insertBetween"==s.abRelation&&(o=e.targetPosition);const r=[i._getTransformedBySplitOperation(t)];if(t.graveyardPosition){const o=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);e.howMany>1&&o&&!s.aWasUndone&&r.push(u.Z._createFromPositionAndShift(t.insertionPosition,1))}return j(r,o)})),f(a.Z,l.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.sourcePosition))if("remove"!=e.type||s.forceWeakRemove){if(1==e.howMany)return s.bWasUndone?(e.sourcePosition=t.graveyardPosition.clone(),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]):[new h.Z(0)]}else if(!s.aWasUndone){const s=[];let o=t.graveyardPosition.clone(),i=t.targetPosition._getTransformedByMergeOperation(t);e.howMany>1&&(s.push(new a.Z(e.sourcePosition,e.howMany-1,e.targetPosition,0)),o=o._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany-1),i=i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany-1));const r=t.deletionPosition._getCombined(e.sourcePosition,e.targetPosition),n=new a.Z(o,1,r,0),c=n.getMovedRangeStart().path.slice();c.push(0);const l=new p.ZP(n.targetPosition.root,c);i=i._getTransformedByMove(o,r,1);const d=new a.Z(i,t.howMany,l,0);return s.push(n),s.push(d),s}const i=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByMergeOperation(t);return e.sourcePosition=i.start,e.howMany=i.end.offset-i.start.offset,e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]})),f(r.Z,o.Z,((e,t)=>(e.position=e.position._getTransformedByInsertOperation(t),[e]))),f(r.Z,l.Z,((e,t)=>e.position.isEqual(t.deletionPosition)?(e.position=t.graveyardPosition.clone(),e.position.stickiness="toNext",[e]):(e.position=e.position._getTransformedByMergeOperation(t),[e]))),f(r.Z,a.Z,((e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e]))),f(r.Z,r.Z,((e,t,s)=>{if(e.position.isEqual(t.position)){if(!s.aIsStrong)return[new h.Z(0)];e.oldName=t.newName}return[e]})),f(r.Z,d.Z,((e,t)=>{const s=e.position.path,o=t.splitPosition.getParentPath();if("same"==(0,g.Z)(s,o)&&!t.graveyardPosition){const t=new r.Z(e.position.getShiftedBy(1),e.oldName,e.newName,0);return[e,t]}return e.position=e.position._getTransformedBySplitOperation(t),[e]})),f(c.Z,c.Z,((e,t,s)=>{if(e.root===t.root&&e.key===t.key){if(!s.aIsStrong||e.newValue===t.newValue)return[new h.Z(0)];e.oldValue=t.newValue}return[e]})),f(d.Z,o.Z,((e,t)=>(e.splitPosition.hasSameParentAs(t.position)&&e.splitPosition.offset<t.position.offset&&(e.howMany+=t.howMany),e.splitPosition=e.splitPosition._getTransformedByInsertOperation(t),e.insertionPosition=e.insertionPosition._getTransformedByInsertOperation(t),[e]))),f(d.Z,l.Z,((e,t,s)=>{if(!e.graveyardPosition&&!s.bWasUndone&&e.splitPosition.hasSameParentAs(t.sourcePosition)){const s=t.graveyardPosition.path.slice();s.push(0);const o=new p.ZP(t.graveyardPosition.root,s),i=d.Z.getInsertionPosition(new p.ZP(t.graveyardPosition.root,s)),r=new d.Z(o,0,i,null,0);return e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),e.graveyardPosition=r.insertionPosition.clone(),e.graveyardPosition.stickiness="toNext",[r,e]}return e.splitPosition.hasSameParentAs(t.deletionPosition)&&!e.splitPosition.isAfter(t.deletionPosition)&&e.howMany--,e.splitPosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]})),f(d.Z,a.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.graveyardPosition){const i=o.start.isEqual(e.graveyardPosition)||o.containsPosition(e.graveyardPosition);if(!s.bWasUndone&&i){const s=e.splitPosition._getTransformedByMoveOperation(t),o=e.graveyardPosition._getTransformedByMoveOperation(t),i=o.path.slice();i.push(0);const r=new p.ZP(o.root,i);return[new a.Z(s,e.howMany,r,0)]}e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)}const i=e.splitPosition.isEqual(t.targetPosition);if(i&&("insertAtSource"==s.baRelation||"splitBefore"==s.abRelation))return e.howMany+=t.howMany,e.splitPosition=e.splitPosition._getTransformedByDeletion(t.sourcePosition,t.howMany),e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),[e];if(i&&s.abRelation&&s.abRelation.howMany){const{howMany:t,offset:o}=s.abRelation;return e.howMany+=t,e.splitPosition=e.splitPosition.getShiftedBy(o),[e]}if(e.splitPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.splitPosition)){const s=t.howMany-(e.splitPosition.offset-t.sourcePosition.offset);return e.howMany-=s,e.splitPosition.hasSameParentAs(t.targetPosition)&&e.splitPosition.offset<t.targetPosition.offset&&(e.howMany+=t.howMany),e.splitPosition=t.sourcePosition.clone(),e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),[e]}return t.sourcePosition.isEqual(t.targetPosition)||(e.splitPosition.hasSameParentAs(t.sourcePosition)&&e.splitPosition.offset<=t.sourcePosition.offset&&(e.howMany-=t.howMany),e.splitPosition.hasSameParentAs(t.targetPosition)&&e.splitPosition.offset<t.targetPosition.offset&&(e.howMany+=t.howMany)),e.splitPosition.stickiness="toNone",e.splitPosition=e.splitPosition._getTransformedByMoveOperation(t),e.splitPosition.stickiness="toNext",e.graveyardPosition?e.insertionPosition=e.insertionPosition._getTransformedByMoveOperation(t):e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),[e]})),f(d.Z,d.Z,((e,t,s)=>{if(e.splitPosition.isEqual(t.splitPosition)){if(!e.graveyardPosition&&!t.graveyardPosition)return[new h.Z(0)];if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition))return[new h.Z(0)];if("splitBefore"==s.abRelation)return e.howMany=0,e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t),[e]}if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition)){const o="$graveyard"==e.splitPosition.root.rootName,i="$graveyard"==t.splitPosition.root.rootName,r=o&&!i;if(i&&!o||!r&&s.aIsStrong){const s=[];return t.howMany&&s.push(new a.Z(t.moveTargetPosition,t.howMany,t.splitPosition,0)),e.howMany&&s.push(new a.Z(e.splitPosition,e.howMany,e.moveTargetPosition,0)),s}return[new h.Z(0)]}if(e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t)),e.splitPosition.isEqual(t.insertionPosition)&&"splitBefore"==s.abRelation)return e.howMany++,[e];if(t.splitPosition.isEqual(e.insertionPosition)&&"splitBefore"==s.baRelation){const s=t.insertionPosition.path.slice();s.push(0);const o=new p.ZP(t.insertionPosition.root,s);return[e,new a.Z(e.insertionPosition,1,o,0)]}return e.splitPosition.hasSameParentAs(t.splitPosition)&&e.splitPosition.offset<t.splitPosition.offset&&(e.howMany-=t.howMany),e.splitPosition=e.splitPosition._getTransformedBySplitOperation(t),e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),[e]}))},"./packages/ckeditor5-engine/src/model/operation/utils.js":(e,t,s)=>{"use strict";s.d(t,{So:()=>g,X9:()=>h,XF:()=>u,fj:()=>d,pX:()=>p});var o=s("./packages/ckeditor5-engine/src/model/node.js"),i=s("./packages/ckeditor5-engine/src/model/text.js"),r=s("./packages/ckeditor5-engine/src/model/textproxy.js"),n=s("./packages/ckeditor5-engine/src/model/range.js"),a=s("./packages/ckeditor5-engine/src/model/documentfragment.js"),c=s("./packages/ckeditor5-engine/src/model/nodelist.js"),l=s("./packages/ckeditor5-utils/src/ckeditorerror.js");function d(e,t){const s=(t=g(t)).reduce(((e,t)=>e+t.offsetSize),0),o=e.parent;f(e);const i=e.index;return o._insertChild(i,t),m(o,i+t.length),m(o,i),new n.Z(e,e.getShiftedBy(s))}function h(e){if(!e.isFlat)throw new l.ZP("operation-utils-remove-range-not-flat",this);const t=e.start.parent;f(e.start),f(e.end);const s=t._removeChildren(e.start.index,e.end.index-e.start.index);return m(t,e.start.index),s}function u(e,t){if(!e.isFlat)throw new l.ZP("operation-utils-move-range-not-flat",this);const s=h(e);return d(t=t._getTransformedByDeletion(e.start,e.end.offset-e.start.offset),s)}function p(e,t,s){f(e.start),f(e.end);for(const o of e.getItems({shallow:!0})){const e=o.is("$textProxy")?o.textNode:o;null!==s?e._setAttribute(t,s):e._removeAttribute(t),m(e.parent,e.index)}m(e.end.parent,e.end.index)}function g(e){const t=[];e instanceof Array||(e=[e]);for(let s=0;s<e.length;s++)if("string"==typeof e[s])t.push(new i.Z(e[s]));else if(e[s]instanceof r.Z)t.push(new i.Z(e[s].data,e[s].getAttributes()));else if(e[s]instanceof a.Z||e[s]instanceof c.Z)for(const o of e[s])t.push(o);else e[s]instanceof o.Z&&t.push(e[s]);for(let e=1;e<t.length;e++){const s=t[e],o=t[e-1];s instanceof i.Z&&o instanceof i.Z&&k(s,o)&&(t.splice(e-1,2,new i.Z(o.data+s.data,o.getAttributes())),e--)}return t}function m(e,t){const s=e.getChild(t-1),o=e.getChild(t);if(s&&o&&s.is("$text")&&o.is("$text")&&k(s,o)){const r=new i.Z(s.data+o.data,s.getAttributes());e._removeChildren(t-1,2),e._insertChild(t-1,r)}}function f(e){const t=e.textNode,s=e.parent;if(t){const o=e.offset-t.startOffset,r=t.index;s._removeChildren(r,1);const n=new i.Z(t.data.substr(0,o),t.getAttributes()),a=new i.Z(t.data.substr(o),t.getAttributes());s._insertChild(r,[n,a])}}function k(e,t){const s=e.getAttributes(),o=t.getAttributes();for(const e of s){if(e[1]!==t.getAttribute(e[0]))return!1;o.next()}return o.next().done}},"./packages/ckeditor5-engine/src/model/position.js":(e,t,s)=>{"use strict";s.d(t,{Rt:()=>a,Ux:()=>c,YV:()=>l,ZP:()=>n});var o=s("./packages/ckeditor5-engine/src/model/treewalker.js"),i=s("./packages/ckeditor5-utils/src/comparearrays.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js");s("./packages/ckeditor5-utils/src/version.js");class n{constructor(e,t,s="toNone"){if(!e.is("element")&&!e.is("documentFragment"))throw new r.ZP("model-position-root-invalid",e);if(!(t instanceof Array)||0===t.length)throw new r.ZP("model-position-path-incorrect-format",e,{path:t});e.is("rootElement")?t=t.slice():(t=[...e.getPath(),...t],e=e.root),this.root=e,this.path=t,this.stickiness=s}get offset(){return this.path[this.path.length-1]}set offset(e){this.path[this.path.length-1]=e}get parent(){let e=this.root;for(let t=0;t<this.path.length-1;t++)if(e=e.getChild(e.offsetToIndex(this.path[t])),!e)throw new r.ZP("model-position-path-incorrect",this,{position:this});if(e.is("$text"))throw new r.ZP("model-position-path-incorrect",this,{position:this});return e}get index(){return this.parent.offsetToIndex(this.offset)}get textNode(){return a(this,this.parent)}get nodeAfter(){const e=this.parent;return c(this,e,a(this,e))}get nodeBefore(){const e=this.parent;return l(this,e,a(this,e))}get isAtStart(){return 0===this.offset}get isAtEnd(){return this.offset==this.parent.maxOffset}compareWith(e){if(this.root!=e.root)return"different";const t=(0,i.Z)(this.path,e.path);switch(t){case"same":return"same";case"prefix":return"before";case"extension":return"after";default:return this.path[t]<e.path[t]?"before":"after"}}getLastMatchingPosition(e,t={}){t.startPosition=this;const s=new o.Z(t);return s.skip(e),s.position}getParentPath(){return this.path.slice(0,-1)}getAncestors(){const e=this.parent;return e.is("documentFragment")?[e]:e.getAncestors({includeSelf:!0})}findAncestor(e){const t=this.parent;return t.is("element")?t.findAncestor(e,{includeSelf:!0}):null}getCommonPath(e){if(this.root!=e.root)return[];const t=(0,i.Z)(this.path,e.path),s="string"==typeof t?Math.min(this.path.length,e.path.length):t;return this.path.slice(0,s)}getCommonAncestor(e){const t=this.getAncestors(),s=e.getAncestors();let o=0;for(;t[o]==s[o]&&t[o];)o++;return 0===o?null:t[o-1]}getShiftedBy(e){const t=this.clone(),s=t.offset+e;return t.offset=s<0?0:s,t}isAfter(e){return"after"==this.compareWith(e)}isBefore(e){return"before"==this.compareWith(e)}isEqual(e){return"same"==this.compareWith(e)}isTouching(e){let t=null,s=null;switch(this.compareWith(e)){case"same":return!0;case"before":t=n._createAt(this),s=n._createAt(e);break;case"after":t=n._createAt(e),s=n._createAt(this);break;default:return!1}let o=t.parent;for(;t.path.length+s.path.length;){if(t.isEqual(s))return!0;if(t.path.length>s.path.length){if(t.offset!==o.maxOffset)return!1;t.path=t.path.slice(0,-1),o=o.parent,t.offset++}else{if(0!==s.offset)return!1;s.path=s.path.slice(0,-1)}}}is(e){return"position"===e||"model:position"===e}hasSameParentAs(e){if(this.root!==e.root)return!1;const t=this.getParentPath(),s=e.getParentPath();return"same"==(0,i.Z)(t,s)}getTransformedByOperation(e){let t;switch(e.type){case"insert":t=this._getTransformedByInsertOperation(e);break;case"move":case"remove":case"reinsert":t=this._getTransformedByMoveOperation(e);break;case"split":t=this._getTransformedBySplitOperation(e);break;case"merge":t=this._getTransformedByMergeOperation(e);break;default:t=n._createAt(this)}return t}_getTransformedByInsertOperation(e){return this._getTransformedByInsertion(e.position,e.howMany)}_getTransformedByMoveOperation(e){return this._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}_getTransformedBySplitOperation(e){const t=e.movedRange;return t.containsPosition(this)||t.start.isEqual(this)&&"toNext"==this.stickiness?this._getCombined(e.splitPosition,e.moveTargetPosition):e.graveyardPosition?this._getTransformedByMove(e.graveyardPosition,e.insertionPosition,1):this._getTransformedByInsertion(e.insertionPosition,1)}_getTransformedByMergeOperation(e){const t=e.movedRange;let s;return t.containsPosition(this)||t.start.isEqual(this)?(s=this._getCombined(e.sourcePosition,e.targetPosition),e.sourcePosition.isBefore(e.targetPosition)&&(s=s._getTransformedByDeletion(e.deletionPosition,1))):s=this.isEqual(e.deletionPosition)?n._createAt(e.deletionPosition):this._getTransformedByMove(e.deletionPosition,e.graveyardPosition,1),s}_getTransformedByDeletion(e,t){const s=n._createAt(this);if(this.root!=e.root)return s;if("same"==(0,i.Z)(e.getParentPath(),this.getParentPath())){if(e.offset<this.offset){if(e.offset+t>this.offset)return null;s.offset-=t}}else if("prefix"==(0,i.Z)(e.getParentPath(),this.getParentPath())){const o=e.path.length-1;if(e.offset<=this.path[o]){if(e.offset+t>this.path[o])return null;s.path[o]-=t}}return s}_getTransformedByInsertion(e,t){const s=n._createAt(this);if(this.root!=e.root)return s;if("same"==(0,i.Z)(e.getParentPath(),this.getParentPath()))(e.offset<this.offset||e.offset==this.offset&&"toPrevious"!=this.stickiness)&&(s.offset+=t);else if("prefix"==(0,i.Z)(e.getParentPath(),this.getParentPath())){const o=e.path.length-1;e.offset<=this.path[o]&&(s.path[o]+=t)}return s}_getTransformedByMove(e,t,s){if(t=t._getTransformedByDeletion(e,s),e.isEqual(t))return n._createAt(this);const o=this._getTransformedByDeletion(e,s);return null===o||e.isEqual(this)&&"toNext"==this.stickiness||e.getShiftedBy(s).isEqual(this)&&"toPrevious"==this.stickiness?this._getCombined(e,t):o._getTransformedByInsertion(t,s)}_getCombined(e,t){const s=e.path.length-1,o=n._createAt(t);return o.stickiness=this.stickiness,o.offset=o.offset+this.path[s]-e.offset,o.path=[...o.path,...this.path.slice(s+1)],o}toJSON(){return{root:this.root.toJSON(),path:Array.from(this.path),stickiness:this.stickiness}}clone(){return new this.constructor(this.root,this.path,this.stickiness)}static _createAt(e,t,s="toNone"){if(e instanceof n)return new n(e.root,e.path,e.stickiness);{const o=e;if("end"==t)t=o.maxOffset;else{if("before"==t)return this._createBefore(o,s);if("after"==t)return this._createAfter(o,s);if(0!==t&&!t)throw new r.ZP("model-createpositionat-offset-required",[this,e])}if(!o.is("element")&&!o.is("documentFragment"))throw new r.ZP("model-position-parent-incorrect",[this,e]);const i=o.getPath();return i.push(t),new this(o.root,i,s)}}static _createAfter(e,t){if(!e.parent)throw new r.ZP("model-position-after-root",[this,e],{root:e});return this._createAt(e.parent,e.endOffset,t)}static _createBefore(e,t){if(!e.parent)throw new r.ZP("model-position-before-root",e,{root:e});return this._createAt(e.parent,e.startOffset,t)}static fromJSON(e,t){if("$graveyard"===e.root){const s=new n(t.graveyard,e.path);return s.stickiness=e.stickiness,s}if(!t.getRoot(e.root))throw new r.ZP("model-position-fromjson-no-root",t,{rootName:e.root});return new n(t.getRoot(e.root),e.path,e.stickiness)}}function a(e,t){const s=t.getChild(t.offsetToIndex(e.offset));return s&&s.is("$text")&&s.startOffset<e.offset?s:null}function c(e,t,s){return null!==s?null:t.getChild(t.offsetToIndex(e.offset))}function l(e,t,s){return null!==s?null:t.getChild(t.offsetToIndex(e.offset)-1)}},"./packages/ckeditor5-engine/src/model/range.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/model/position.js"),i=s("./packages/ckeditor5-engine/src/model/treewalker.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-utils/src/comparearrays.js");class a{constructor(e,t=null){this.start=o.ZP._createAt(e),this.end=t?o.ZP._createAt(t):o.ZP._createAt(e),this.start.stickiness=this.isCollapsed?"toNone":"toNext",this.end.stickiness=this.isCollapsed?"toNone":"toPrevious"}*[Symbol.iterator](){yield*new i.Z({boundaries:this,ignoreElementEnd:!0})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const e=this.start.getParentPath(),t=this.end.getParentPath();return"same"==(0,n.Z)(e,t)}get root(){return this.start.root}containsPosition(e){return e.isAfter(this.start)&&e.isBefore(this.end)}containsRange(e,t=!1){e.isCollapsed&&(t=!1);const s=this.containsPosition(e.start)||t&&this.start.isEqual(e.start),o=this.containsPosition(e.end)||t&&this.end.isEqual(e.end);return s&&o}containsItem(e){const t=o.ZP._createBefore(e);return this.containsPosition(t)||this.start.isEqual(t)}is(e){return"range"===e||"model:range"===e}isEqual(e){return this.start.isEqual(e.start)&&this.end.isEqual(e.end)}isIntersecting(e){return this.start.isBefore(e.end)&&this.end.isAfter(e.start)}getDifference(e){const t=[];return this.isIntersecting(e)?(this.containsPosition(e.start)&&t.push(new a(this.start,e.start)),this.containsPosition(e.end)&&t.push(new a(e.end,this.end))):t.push(new a(this.start,this.end)),t}getIntersection(e){if(this.isIntersecting(e)){let t=this.start,s=this.end;return this.containsPosition(e.start)&&(t=e.start),this.containsPosition(e.end)&&(s=e.end),new a(t,s)}return null}getJoined(e,t=!1){let s=this.isIntersecting(e);if(s||(s=this.start.isBefore(e.start)?t?this.end.isTouching(e.start):this.end.isEqual(e.start):t?e.end.isTouching(this.start):e.end.isEqual(this.start)),!s)return null;let o=this.start,i=this.end;return e.start.isBefore(o)&&(o=e.start),e.end.isAfter(i)&&(i=e.end),new a(o,i)}getMinimalFlatRanges(){const e=[],t=this.start.getCommonPath(this.end).length,s=o.ZP._createAt(this.start);let i=s.parent;for(;s.path.length>t+1;){const t=i.maxOffset-s.offset;0!==t&&e.push(new a(s,s.getShiftedBy(t))),s.path=s.path.slice(0,-1),s.offset++,i=i.parent}for(;s.path.length<=this.end.path.length;){const t=this.end.path[s.path.length-1],o=t-s.offset;0!==o&&e.push(new a(s,s.getShiftedBy(o))),s.offset=t,s.path.push(0)}return e}getWalker(e={}){return e.boundaries=this,new i.Z(e)}*getItems(e={}){e.boundaries=this,e.ignoreElementEnd=!0;const t=new i.Z(e);for(const e of t)yield e.item}*getPositions(e={}){e.boundaries=this;const t=new i.Z(e);yield t.position;for(const e of t)yield e.nextPosition}getTransformedByOperation(e){switch(e.type){case"insert":return this._getTransformedByInsertOperation(e);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(e);case"split":return[this._getTransformedBySplitOperation(e)];case"merge":return[this._getTransformedByMergeOperation(e)]}return[new a(this.start,this.end)]}getTransformedByOperations(e){const t=[new a(this.start,this.end)];for(const s of e)for(let e=0;e<t.length;e++){const o=t[e].getTransformedByOperation(s);t.splice(e,1,...o),e+=o.length-1}for(let e=0;e<t.length;e++){const s=t[e];for(let o=e+1;o<t.length;o++){const e=t[o];(s.containsRange(e)||e.containsRange(s)||s.isEqual(e))&&t.splice(o,1)}}return t}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed)return null;const e=this.start.nodeAfter,t=this.end.nodeBefore;return e&&e.is("element")&&e===t?e:null}toJSON(){return{start:this.start.toJSON(),end:this.end.toJSON()}}clone(){return new this.constructor(this.start,this.end)}_getTransformedByInsertOperation(e,t=!1){return this._getTransformedByInsertion(e.position,e.howMany,t)}_getTransformedByMoveOperation(e,t=!1){const s=e.sourcePosition,o=e.howMany,i=e.targetPosition;return this._getTransformedByMove(s,i,o,t)}_getTransformedBySplitOperation(e){const t=this.start._getTransformedBySplitOperation(e);let s=this.end._getTransformedBySplitOperation(e);return this.end.isEqual(e.insertionPosition)&&(s=this.end.getShiftedBy(1)),t.root!=s.root&&(s=this.end.getShiftedBy(-1)),new a(t,s)}_getTransformedByMergeOperation(e){if(this.start.isEqual(e.targetPosition)&&this.end.isEqual(e.deletionPosition))return new a(this.start);let t=this.start._getTransformedByMergeOperation(e),s=this.end._getTransformedByMergeOperation(e);return t.root!=s.root&&(s=this.end.getShiftedBy(-1)),t.isAfter(s)?(e.sourcePosition.isBefore(e.targetPosition)?(t=o.ZP._createAt(s),t.offset=0):(e.deletionPosition.isEqual(t)||(s=e.deletionPosition),t=e.targetPosition),new a(t,s)):new a(t,s)}_getTransformedByInsertion(e,t,s=!1){if(s&&this.containsPosition(e))return[new a(this.start,e),new a(e.getShiftedBy(t),this.end._getTransformedByInsertion(e,t))];{const s=new a(this.start,this.end);return s.start=s.start._getTransformedByInsertion(e,t),s.end=s.end._getTransformedByInsertion(e,t),[s]}}_getTransformedByMove(e,t,s,o=!1){if(this.isCollapsed){const o=this.start._getTransformedByMove(e,t,s);return[new a(o)]}const i=a._createFromPositionAndShift(e,s),r=t._getTransformedByDeletion(e,s);if(this.containsPosition(t)&&!o&&(i.containsPosition(this.start)||i.containsPosition(this.end))){const o=this.start._getTransformedByMove(e,t,s),i=this.end._getTransformedByMove(e,t,s);return[new a(o,i)]}let n;const c=this.getDifference(i);let l=null;const d=this.getIntersection(i);if(1==c.length?l=new a(c[0].start._getTransformedByDeletion(e,s),c[0].end._getTransformedByDeletion(e,s)):2==c.length&&(l=new a(this.start,this.end._getTransformedByDeletion(e,s))),n=l?l._getTransformedByInsertion(r,s,null!==d||o):[],d){const e=new a(d.start._getCombined(i.start,r),d.end._getCombined(i.start,r));2==n.length?n.splice(1,0,e):n.push(e)}return n}_getTransformedByDeletion(e,t){let s=this.start._getTransformedByDeletion(e,t),o=this.end._getTransformedByDeletion(e,t);return null==s&&null==o?null:(null==s&&(s=e),null==o&&(o=e),new a(s,o))}static _createFromPositionAndShift(e,t){const s=e,o=e.getShiftedBy(t);return t>0?new this(s,o):new this(o,s)}static _createIn(e){return new this(o.ZP._createAt(e,0),o.ZP._createAt(e,e.maxOffset))}static _createOn(e){return this._createFromPositionAndShift(o.ZP._createBefore(e),e.offsetSize)}static _createFromRanges(e){if(0===e.length)throw new r.ZP("range-create-from-ranges-empty-array",null);if(1==e.length)return e[0].clone();const t=e[0];e.sort(((e,t)=>e.start.isAfter(t.start)?1:-1));const s=e.indexOf(t),i=new this(t.start,t.end);if(s>0)for(let t=s-1;e[t].end.isEqual(i.start);t++)i.start=o.ZP._createAt(e[t].start);for(let t=s+1;t<e.length&&e[t].start.isEqual(i.end);t++)i.end=o.ZP._createAt(e[t].end);return i}static fromJSON(e,t){return new this(o.ZP.fromJSON(e.start,t),o.ZP.fromJSON(e.end,t))}}},"./packages/ckeditor5-engine/src/model/schema.js":(e,t,s)=>{"use strict";s.d(t,{G:()=>u,Z:()=>h});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/observablemixin.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-engine/src/model/range.js"),a=s("./packages/ckeditor5-engine/src/model/position.js"),c=s("./packages/ckeditor5-engine/src/model/element.js"),l=s("./packages/ckeditor5-engine/src/model/text.js"),d=s("./packages/ckeditor5-engine/src/model/treewalker.js");class h{constructor(){this._sourceDefinitions={},this._attributeProperties={},this.decorate("checkChild"),this.decorate("checkAttribute"),this.on("checkAttribute",((e,t)=>{t[0]=new u(t[0])}),{priority:"highest"}),this.on("checkChild",((e,t)=>{t[0]=new u(t[0]),t[1]=this.getDefinition(t[1])}),{priority:"highest"})}register(e,t){if(this._sourceDefinitions[e])throw new o.ZP("schema-cannot-register-item-twice",this,{itemName:e});this._sourceDefinitions[e]=[Object.assign({},t)],this._clearCache()}extend(e,t){if(!this._sourceDefinitions[e])throw new o.ZP("schema-cannot-extend-missing-item",this,{itemName:e});this._sourceDefinitions[e].push(Object.assign({},t)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(e){let t;return t="string"==typeof e?e:e.is&&(e.is("$text")||e.is("$textProxy"))?"$text":e.name,this.getDefinitions()[t]}isRegistered(e){return!!this.getDefinition(e)}isBlock(e){const t=this.getDefinition(e);return!(!t||!t.isBlock)}isLimit(e){const t=this.getDefinition(e);return!!t&&!(!t.isLimit&&!t.isObject)}isObject(e){const t=this.getDefinition(e);return!!t&&!!(t.isObject||t.isLimit&&t.isSelectable&&t.isContent)}isInline(e){const t=this.getDefinition(e);return!(!t||!t.isInline)}isSelectable(e){const t=this.getDefinition(e);return!!t&&!(!t.isSelectable&&!t.isObject)}isContent(e){const t=this.getDefinition(e);return!!t&&!(!t.isContent&&!t.isObject)}checkChild(e,t){return!!t&&this._checkContextMatch(t,e)}checkAttribute(e,t){const s=this.getDefinition(e.last);return!!s&&s.allowAttributes.includes(t)}checkMerge(e,t=null){if(e instanceof a.ZP){const t=e.nodeBefore,s=e.nodeAfter;if(!(t instanceof c.Z))throw new o.ZP("schema-check-merge-no-element-before",this);if(!(s instanceof c.Z))throw new o.ZP("schema-check-merge-no-element-after",this);return this.checkMerge(t,s)}for(const s of t.getChildren())if(!this.checkChild(e,s))return!1;return!0}addChildCheck(e){this.on("checkChild",((t,[s,o])=>{if(!o)return;const i=e(s,o);"boolean"==typeof i&&(t.stop(),t.return=i)}),{priority:"high"})}addAttributeCheck(e){this.on("checkAttribute",((t,[s,o])=>{const i=e(s,o);"boolean"==typeof i&&(t.stop(),t.return=i)}),{priority:"high"})}setAttributeProperties(e,t){this._attributeProperties[e]=Object.assign(this.getAttributeProperties(e),t)}getAttributeProperties(e){return this._attributeProperties[e]||{}}getLimitElement(e){let t;if(e instanceof a.ZP)t=e.parent;else{t=(e instanceof n.Z?[e]:Array.from(e.getRanges())).reduce(((e,t)=>{const s=t.getCommonAncestor();return e?e.getCommonAncestor(s,{includeSelf:!0}):s}),null)}for(;!this.isLimit(t)&&t.parent;)t=t.parent;return t}checkAttributeInSelection(e,t){if(e.isCollapsed){const s=[...e.getFirstPosition().getAncestors(),new l.Z("",e.getAttributes())];return this.checkAttribute(s,t)}{const s=e.getRanges();for(const e of s)for(const s of e)if(this.checkAttribute(s.item,t))return!0}return!1}*getValidRanges(e,t){e=function*(e){for(const t of e)yield*t.getMinimalFlatRanges()}(e);for(const s of e)yield*this._getValidRangesForRange(s,t)}getNearestSelectionRange(e,t="both"){if(this.checkChild(e,"$text"))return new n.Z(e);let s,o;const i=e.getAncestors().reverse().find((e=>this.isLimit(e)))||e.root;"both"!=t&&"backward"!=t||(s=new d.Z({boundaries:n.Z._createIn(i),startPosition:e,direction:"backward"})),"both"!=t&&"forward"!=t||(o=new d.Z({boundaries:n.Z._createIn(i),startPosition:e}));for(const e of function*(e,t){let s=!1;for(;!s;){if(s=!0,e){const t=e.next();t.done||(s=!1,yield{walker:e,value:t.value})}if(t){const e=t.next();e.done||(s=!1,yield{walker:t,value:e.value})}}}(s,o)){const t=e.walker==s?"elementEnd":"elementStart",o=e.value;if(o.type==t&&this.isObject(o.item))return n.Z._createOn(o.item);if(this.checkChild(o.nextPosition,"$text"))return new n.Z(o.nextPosition)}return null}findAllowedParent(e,t){let s=e.parent;for(;s;){if(this.checkChild(s,t))return s;if(this.isLimit(s))return null;s=s.parent}return null}setAllowedAttributes(e,t,s){const o=s.model;for(const[i,r]of Object.entries(t))o.schema.checkAttribute(e,i)&&s.setAttribute(i,r,e)}removeDisallowedAttributes(e,t){for(const s of e)if(s.is("$text"))j(this,s,t);else{const e=n.Z._createIn(s).getPositions();for(const s of e){j(this,s.nodeBefore||s.parent,t)}}}getAttributesWithProperty(e,t,s){const o={};for(const[i,r]of e.getAttributes()){const e=this.getAttributeProperties(i);void 0!==e[t]&&(void 0!==s&&s!==e[t]||(o[i]=r))}return o}createContext(e){return new u(e)}_clearCache(){this._compiledDefinitions=null}_compile(){const e={},t=this._sourceDefinitions,s=Object.keys(t);for(const o of s)e[o]=p(t[o],o);for(const t of s)g(e,t);for(const t of s)m(e,t);for(const t of s)f(e,t);for(const t of s)k(e,t),_(e,t);for(const t of s)b(e,t),w(e,t),v(e,t);this._compiledDefinitions=e}_checkContextMatch(e,t,s=t.length-1){const o=t.getItem(s);if(e.allowIn.includes(o.name)){if(0==s)return!0;{const e=this.getDefinition(o);return this._checkContextMatch(e,t,s-1)}}return!1}*_getValidRangesForRange(e,t){let s=e.start,o=e.start;for(const i of e.getItems({shallow:!0}))i.is("element")&&(yield*this._getValidRangesForRange(n.Z._createIn(i),t)),this.checkAttribute(i,t)||(s.isEqual(o)||(yield new n.Z(s,o)),s=a.ZP._createAfter(i)),o=a.ZP._createAfter(i);s.isEqual(o)||(yield new n.Z(s,o))}}(0,r.Z)(h,i.Z);class u{constructor(e){if(e instanceof u)return e;"string"==typeof e?e=[e]:Array.isArray(e)||(e=e.getAncestors({includeSelf:!0})),this._items=e.map(P)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(e){const t=new u([e]);return t._items=[...this._items,...t._items],t}getItem(e){return this._items[e]}*getNames(){yield*this._items.map((e=>e.name))}endsWith(e){return Array.from(this.getNames()).join(" ").endsWith(e)}startsWith(e){return Array.from(this.getNames()).join(" ").startsWith(e)}}function p(e,t){const s={name:t,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};return function(e,t){for(const s of e){const e=Object.keys(s).filter((e=>e.startsWith("is")));for(const o of e)t[o]=s[o]}}(e,s),y(e,s,"allowIn"),y(e,s,"allowContentOf"),y(e,s,"allowWhere"),y(e,s,"allowAttributes"),y(e,s,"allowAttributesOf"),y(e,s,"allowChildren"),y(e,s,"inheritTypesFrom"),function(e,t){for(const s of e){const e=s.inheritAllFrom;e&&(t.allowContentOf.push(e),t.allowWhere.push(e),t.allowAttributesOf.push(e),t.inheritTypesFrom.push(e))}}(e,s),s}function g(e,t){const s=e[t];for(const o of s.allowChildren){const s=e[o];s&&s.allowIn.push(t)}s.allowChildren.length=0}function m(e,t){for(const s of e[t].allowContentOf)if(e[s]){Z(e,s).forEach((e=>{e.allowIn.push(t)}))}delete e[t].allowContentOf}function f(e,t){for(const s of e[t].allowWhere){const o=e[s];if(o){const s=o.allowIn;e[t].allowIn.push(...s)}}delete e[t].allowWhere}function k(e,t){for(const s of e[t].allowAttributesOf){const o=e[s];if(o){const s=o.allowAttributes;e[t].allowAttributes.push(...s)}}delete e[t].allowAttributesOf}function _(e,t){const s=e[t];for(const t of s.inheritTypesFrom){const o=e[t];if(o){const e=Object.keys(o).filter((e=>e.startsWith("is")));for(const t of e)t in s||(s[t]=o[t])}}delete s.inheritTypesFrom}function b(e,t){const s=e[t],o=s.allowIn.filter((t=>e[t]));s.allowIn=Array.from(new Set(o))}function w(e,t){const s=e[t];for(const o of s.allowIn){e[o].allowChildren.push(t)}}function v(e,t){const s=e[t];s.allowAttributes=Array.from(new Set(s.allowAttributes))}function y(e,t,s){for(const o of e)"string"==typeof o[s]?t[s].push(o[s]):Array.isArray(o[s])&&t[s].push(...o[s])}function Z(e,t){const s=e[t];return(o=e,Object.keys(o).map((e=>o[e]))).filter((e=>e.allowIn.includes(s.name)));var o}function P(e){return"string"==typeof e||e.is("documentFragment")?{name:"string"==typeof e?e:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:e.is("element")?e.name:"$text",*getAttributeKeys(){yield*e.getAttributeKeys()},getAttribute:t=>e.getAttribute(t)}}function j(e,t,s){for(const o of t.getAttributeKeys())e.checkAttribute(t,o)||s.removeAttribute(o,t)}},"./packages/ckeditor5-engine/src/model/selection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./packages/ckeditor5-engine/src/model/position.js"),i=s("./packages/ckeditor5-engine/src/model/node.js"),r=s("./packages/ckeditor5-engine/src/model/range.js"),n=s("./packages/ckeditor5-utils/src/emittermixin.js"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),c=s("./packages/ckeditor5-utils/src/mix.js"),l=s("./packages/ckeditor5-utils/src/isiterable.js");class d{constructor(e,t,s){this._lastRangeBackward=!1,this._ranges=[],this._attrs=new Map,e&&this.setTo(e,t,s)}get anchor(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.end:e.start}return null}get focus(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.start:e.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(e){if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let s=!1;for(const o of e._ranges)if(t.isEqual(o)){s=!0;break}if(!s)return!1}return!0}*getRanges(){for(const e of this._ranges)yield new r.Z(e.start,e.end)}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?new r.Z(e.start,e.end):null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?new r.Z(e.start,e.end):null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}setTo(e,t,s){if(null===e)this._setRanges([]);else if(e instanceof d)this._setRanges(e.getRanges(),e.isBackward);else if(e&&"function"==typeof e.getRanges)this._setRanges(e.getRanges(),e.isBackward);else if(e instanceof r.Z)this._setRanges([e],!!t&&!!t.backward);else if(e instanceof o.ZP)this._setRanges([new r.Z(e)]);else if(e instanceof i.Z){const i=!!s&&!!s.backward;let n;if("in"==t)n=r.Z._createIn(e);else if("on"==t)n=r.Z._createOn(e);else{if(void 0===t)throw new a.ZP("model-selection-setto-required-second-parameter",[this,e]);n=new r.Z(o.ZP._createAt(e,t))}this._setRanges([n],i)}else{if(!(0,l.Z)(e))throw new a.ZP("model-selection-setto-not-selectable",[this,e]);this._setRanges(e,t&&!!t.backward)}}_setRanges(e,t=!1){const s=(e=Array.from(e)).some((t=>{if(!(t instanceof r.Z))throw new a.ZP("model-selection-set-ranges-not-range",[this,e]);return this._ranges.every((e=>!e.isEqual(t)))}));if(e.length!==this._ranges.length||s){this._removeAllRanges();for(const t of e)this._pushRange(t);this._lastRangeBackward=!!t,this.fire("change:range",{directChange:!0})}}setFocus(e,t){if(null===this.anchor)throw new a.ZP("model-selection-setfocus-no-ranges",[this,e]);const s=o.ZP._createAt(e,t);if("same"==s.compareWith(this.focus))return;const i=this.anchor;this._ranges.length&&this._popRange(),"before"==s.compareWith(i)?(this._pushRange(new r.Z(s,i)),this._lastRangeBackward=!0):(this._pushRange(new r.Z(i,s)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(e){return this._attrs.get(e)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(e){return this._attrs.has(e)}removeAttribute(e){this.hasAttribute(e)&&(this._attrs.delete(e),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}setAttribute(e,t){this.getAttribute(e)!==t&&(this._attrs.set(e,t),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}is(e){return"selection"===e||"model:selection"===e}*getSelectedBlocks(){const e=new WeakSet;for(const t of this.getRanges()){const s=p(t.start,e);s&&g(s,t)&&(yield s);for(const s of t.getWalker()){const o=s.item;"elementEnd"==s.type&&u(o,e,t)&&(yield o)}const i=p(t.end,e);i&&!t.end.isTouching(o.ZP._createAt(i,0))&&g(i,t)&&(yield i)}}containsEntireContent(e=this.anchor.root){const t=o.ZP._createAt(e,0),s=o.ZP._createAt(e,"end");return t.isTouching(this.getFirstPosition())&&s.isTouching(this.getLastPosition())}_pushRange(e){this._checkRange(e),this._ranges.push(new r.Z(e.start,e.end))}_checkRange(e){for(let t=0;t<this._ranges.length;t++)if(e.isIntersecting(this._ranges[t]))throw new a.ZP("model-selection-range-intersects",[this,e],{addedRange:e,intersectingRange:this._ranges[t]})}_removeAllRanges(){for(;this._ranges.length>0;)this._popRange()}_popRange(){this._ranges.pop()}}function h(e,t){return!t.has(e)&&(t.add(e),e.root.document.model.schema.isBlock(e)&&e.parent)}function u(e,t,s){return h(e,t)&&g(e,s)}function p(e,t){const s=e.parent.root.document.model.schema,o=e.parent.getAncestors({parentFirst:!0,includeSelf:!0});let i=!1;const r=o.find((e=>!i&&(i=s.isLimit(e),!i&&h(e,t))));return o.forEach((e=>t.add(e))),r}function g(e,t){const s=function(e){const t=e.root.document.model.schema;let s=e.parent;for(;s;){if(t.isBlock(s))return s;s=s.parent}}(e);if(!s)return!0;return!t.containsRange(r.Z._createOn(s),!0)}(0,c.Z)(d,n.ZP)},"./packages/ckeditor5-engine/src/model/text.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/model/node.js");class i extends o.Z{constructor(e,t){super(t),this._data=e||""}get offsetSize(){return this.data.length}get data(){return this._data}is(e){return"$text"===e||"model:$text"===e||"text"===e||"model:text"===e||"node"===e||"model:node"===e}toJSON(){const e=super.toJSON();return e.data=this.data,e}_clone(){return new i(this.data,this.getAttributes())}static fromJSON(e){return new i(e.data,e.attributes)}}},"./packages/ckeditor5-engine/src/model/textproxy.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class i{constructor(e,t,s){if(this.textNode=e,t<0||t>e.offsetSize)throw new o.ZP("model-textproxy-wrong-offsetintext",this);if(s<0||t+s>e.offsetSize)throw new o.ZP("model-textproxy-wrong-length",this);this.data=e.data.substring(t,t+s),this.offsetInText=t}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}is(e){return"$textProxy"===e||"model:$textProxy"===e||"textProxy"===e||"model:textProxy"===e}getPath(){const e=this.textNode.getPath();return e.length>0&&(e[e.length-1]+=this.offsetInText),e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let s=e.includeSelf?this:this.parent;for(;s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}hasAttribute(e){return this.textNode.hasAttribute(e)}getAttribute(e){return this.textNode.getAttribute(e)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}},"./packages/ckeditor5-engine/src/model/treewalker.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/model/text.js"),i=s("./packages/ckeditor5-engine/src/model/textproxy.js"),r=s("./packages/ckeditor5-engine/src/model/element.js"),n=s("./packages/ckeditor5-engine/src/model/position.js"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class c{constructor(e={}){if(!e.boundaries&&!e.startPosition)throw new a.ZP("model-tree-walker-no-start-position",null);const t=e.direction||"forward";if("forward"!=t&&"backward"!=t)throw new a.ZP("model-tree-walker-unknown-direction",e,{direction:t});this.direction=t,this.boundaries=e.boundaries||null,e.startPosition?this.position=e.startPosition.clone():this.position=n.ZP._createAt(this.boundaries["backward"==this.direction?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}skip(e){let t,s,o,i;do{o=this.position,i=this._visitedParent,({done:t,value:s}=this.next())}while(!t&&e(s));t||(this.position=o,this._visitedParent=i)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){const e=this.position,t=this.position.clone(),s=this._visitedParent;if(null===s.parent&&t.offset===s.maxOffset)return{done:!0};if(s===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0};const a=(0,n.Rt)(t,s),c=a||(0,n.Ux)(t,s,a);if(c instanceof r.Z)return this.shallow?t.offset++:(t.path.push(0),this._visitedParent=c),this.position=t,l("elementStart",c,e,t,1);if(c instanceof o.Z){let o;if(this.singleCharacters)o=1;else{let e=c.endOffset;this._boundaryEndParent==s&&this.boundaries.end.offset<e&&(e=this.boundaries.end.offset),o=e-t.offset}const r=t.offset-c.startOffset,n=new i.Z(c,r,o);return t.offset+=o,this.position=t,l("text",n,e,t,o)}return t.path.pop(),t.offset++,this.position=t,this._visitedParent=s.parent,this.ignoreElementEnd?this._next():l("elementEnd",s,e,t)}_previous(){const e=this.position,t=this.position.clone(),s=this._visitedParent;if(null===s.parent&&0===t.offset)return{done:!0};if(s==this._boundaryStartParent&&t.offset==this.boundaries.start.offset)return{done:!0};const a=t.parent,c=(0,n.Rt)(t,a),d=c||(0,n.YV)(t,a,c);if(d instanceof r.Z)return t.offset--,this.shallow?(this.position=t,l("elementStart",d,e,t,1)):(t.path.push(d.maxOffset),this.position=t,this._visitedParent=d,this.ignoreElementEnd?this._previous():l("elementEnd",d,e,t));if(d instanceof o.Z){let o;if(this.singleCharacters)o=1;else{let e=d.startOffset;this._boundaryStartParent==s&&this.boundaries.start.offset>e&&(e=this.boundaries.start.offset),o=t.offset-e}const r=t.offset-d.startOffset,n=new i.Z(d,r-o,o);return t.offset-=o,this.position=t,l("text",n,e,t,o)}return t.path.pop(),this.position=t,this._visitedParent=s.parent,l("elementStart",s,e,t,1)}}function l(e,t,s,o,i){return{done:!1,value:{type:e,item:t,previousPosition:s,nextPosition:o,length:i}}}},"./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js":(e,t,s)=>{"use strict";function o(e){const{schema:t,document:s}=e.model;for(const o of s.getRootNames()){const i=s.getRoot(o);if(i.isEmpty&&!t.checkChild(i,"$text")&&t.checkChild(i,"paragraph"))return e.insertElement("paragraph",i),!0}return!1}function i(e,t,s){const o=s.createContext(e);return!!s.checkChild(o,"paragraph")&&!!s.checkChild(o.push("paragraph"),t)}function r(e,t){const s=t.createElement("paragraph");return t.insert(s,e),t.createPositionAt(s,0)}s.d(t,{_m:()=>o,gg:()=>i,zX:()=>r})},"./packages/ckeditor5-engine/src/model/utils/findoptimalinsertionrange.js":(e,t,s)=>{"use strict";s.d(t,{K:()=>i});var o=s("./packages/ckeditor5-utils/src/first.js");function i(e,t,s="auto"){const i=e.getSelectedElement();if(i&&t.schema.isObject(i)&&!t.schema.isInline(i))return["before","after"].includes(s)?t.createRange(t.createPositionAt(i,s)):t.createRangeOn(i);const r=(0,o.Z)(e.getSelectedBlocks());if(!r)return t.createRange(e.focus);if(r.isEmpty)return t.createRange(t.createPositionAt(r,0));const n=t.createPositionAfter(r);return e.focus.isTouching(n)?t.createRange(n):t.createRange(t.createPositionBefore(r))}},"./packages/ckeditor5-engine/src/view/attributeelement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/view/element.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class r extends o.Z{constructor(e,t,s,o){super(e,t,s,o),this.getFillerOffset=n,this._priority=10,this._id=null,this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new i.ZP("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}is(e,t=null){return t?t===this.name&&("attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e):"attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}isSimilar(e){return null!==this.id||null!==e.id?this.id===e.id:super.isSimilar(e)&&this.priority==e.priority}_clone(e){const t=super._clone(e);return t._priority=this._priority,t._id=this._id,t}}function n(){if(a(this))return null;let e=this.parent;for(;e&&e.is("attributeElement");){if(a(e)>1)return null;e=e.parent}return!e||a(e)>1?null:this.childCount}function a(e){return Array.from(e.getChildren()).filter((e=>!e.is("uiElement"))).length}r.DEFAULT_PRIORITY=10},"./packages/ckeditor5-engine/src/view/containerelement.js":(e,t,s)=>{"use strict";s.d(t,{Y:()=>r,Z:()=>i});var o=s("./packages/ckeditor5-engine/src/view/element.js");class i extends o.Z{constructor(e,t,s,o){super(e,t,s,o),this.getFillerOffset=r}is(e,t=null){return t?t===this.name&&("containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}}function r(){const e=[...this.getChildren()],t=e[this.childCount-1];if(t&&t.is("element","br"))return this.childCount;for(const t of e)if(!t.is("uiElement"))return null;return this.childCount}},"./packages/ckeditor5-engine/src/view/document.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./packages/ckeditor5-engine/src/view/documentselection.js"),i=s("./packages/ckeditor5-utils/src/collection.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-utils/src/eventinfo.js"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),c=s("./packages/ckeditor5-utils/src/emittermixin.js"),l=s("./packages/ckeditor5-utils/src/toarray.js"),d=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js");const h=Symbol("bubbling contexts"),u={fire(e,...t){try{const s=e instanceof n.Z?e:new n.Z(this,e),o=f(this);if(!o.size)return;if(p(s,"capturing",this),g(o,"$capture",s,...t))return s.return;const i=s.startRange||this.selection.getFirstRange(),r=i?i.getContainedElement():null,a=!!r&&Boolean(m(o,r));let c=r||function(e){if(!e)return null;const t=e.start.parent,s=e.end.parent,o=t.getPath(),i=s.getPath();return o.length>i.length?t:s}(i);if(p(s,"atTarget",c),!a){if(g(o,"$text",s,...t))return s.return;p(s,"bubbling",c)}for(;c;){if(c.is("rootElement")){if(g(o,"$root",s,...t))return s.return}else if(c.is("element")&&g(o,c.name,s,...t))return s.return;if(g(o,c,s,...t))return s.return;c=c.parent,p(s,"bubbling",c)}return p(s,"bubbling",this),g(o,"$document",s,...t),s.return}catch(e){a.ZP.rethrowUnexpectedError(e,this)}},_addEventListener(e,t,s){const o=(0,l.Z)(s.context||"$document"),i=f(this);for(const r of o){let o=i.get(r);o||(o=Object.create(c.ZP),i.set(r,o)),this.listenTo(o,e,t,s)}},_removeEventListener(e,t){const s=f(this);for(const o of s.values())this.stopListening(o,e,t)}};function p(e,t,s){e instanceof d.Z&&(e._eventPhase=t,e._currentTarget=s)}function g(e,t,s,...o){const i="string"==typeof t?e.get(t):m(e,t);return!!i&&(i.fire(s,...o),s.stop.called)}function m(e,t){for(const[s,o]of e)if("function"==typeof s&&s(t))return o;return null}function f(e){return e[h]||(e[h]=new Map),e[h]}var k=s("./packages/ckeditor5-utils/src/observablemixin.js");class _{constructor(e){this.selection=new o.Z,this.roots=new i.Z({idProperty:"rootName"}),this.stylesProcessor=e,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1),this._postFixers=new Set}getRoot(e="main"){return this.roots.get(e)}registerPostFixer(e){this._postFixers.add(e)}destroy(){this.roots.map((e=>e.destroy())),this.stopListening()}_callPostFixers(e){let t=!1;do{for(const s of this._postFixers)if(t=s(e),t)break}while(t)}}(0,r.Z)(_,u),(0,r.Z)(_,k.Z)},"./packages/ckeditor5-engine/src/view/documentfragment.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/view/text.js"),i=s("./packages/ckeditor5-engine/src/view/textproxy.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-utils/src/isiterable.js"),a=s("./packages/ckeditor5-utils/src/emittermixin.js");class c{constructor(e,t){this.document=e,this._children=[],t&&this._insertChild(0,t)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}is(e){return"documentFragment"===e||"view:documentFragment"===e}_appendChild(e){return this._insertChild(this.childCount,e)}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(e,t){this._fireChange("children",this);let s=0;const r=function(e,t){if("string"==typeof t)return[new o.Z(e,t)];(0,n.Z)(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new o.Z(e,t):t instanceof i.Z?new o.Z(e,t.data):t))}(this.document,t);for(const t of r)null!==t.parent&&t._remove(),t.parent=this,this._children.splice(e,0,t),e++,s++;return s}_removeChildren(e,t=1){this._fireChange("children",this);for(let s=e;s<e+t;s++)this._children[s].parent=null;return this._children.splice(e,t)}_fireChange(e,t){this.fire("change:"+e,t)}}(0,r.Z)(c,a.ZP)},"./packages/ckeditor5-engine/src/view/documentselection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/view/selection.js"),i=s("./packages/ckeditor5-utils/src/mix.js"),r=s("./packages/ckeditor5-utils/src/emittermixin.js");class n{constructor(e=null,t,s){this._selection=new o.Z,this._selection.delegate("change").to(this),this._selection.setTo(e,t,s)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(e){return this._selection.isEqual(e)}isSimilar(e){return this._selection.isSimilar(e)}is(e){return"selection"===e||"documentSelection"==e||"view:selection"==e||"view:documentSelection"==e}_setTo(e,t,s){this._selection.setTo(e,t,s)}_setFocus(e,t){this._selection.setFocus(e,t)}}(0,i.Z)(n,r.ZP)},"./packages/ckeditor5-engine/src/view/domconverter.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>j});var o=s("./packages/ckeditor5-engine/src/view/text.js"),i=s("./packages/ckeditor5-engine/src/view/element.js"),r=s("./packages/ckeditor5-engine/src/view/uielement.js"),n=s("./packages/ckeditor5-engine/src/view/position.js"),a=s("./packages/ckeditor5-engine/src/view/range.js"),c=s("./packages/ckeditor5-engine/src/view/selection.js"),l=s("./packages/ckeditor5-engine/src/view/documentfragment.js"),d=s("./packages/ckeditor5-engine/src/view/treewalker.js"),h=s("./packages/ckeditor5-engine/src/view/matcher.js"),u=s("./packages/ckeditor5-engine/src/view/filler.js"),p=s("./packages/ckeditor5-utils/src/dom/global.js"),g=s("./packages/ckeditor5-utils/src/ckeditorerror.js");function m(e){let t=0;for(;e.previousSibling;)e=e.previousSibling,t++;return t}function f(e){const t=[];for(;e&&e.nodeType!=Node.DOCUMENT_NODE;)t.unshift(e),e=e.parentNode;return t}var k=s("./packages/ckeditor5-utils/src/dom/istext.js"),_=s("./packages/ckeditor5-utils/src/dom/iscomment.js");const b=(0,u.yl)(document),w=(0,u.N3)(document),v=(0,u.PQ)(document),y="data-ck-unsafe-attribute-",Z="data-ck-unsafe-element",P=["script","style"];class j{constructor(e,t={}){this.document=e,this.renderingMode=t.renderingMode||"editing",this.blockFillerMode=t.blockFillerMode||("editing"===this.renderingMode?"br":"nbsp"),this.preElements=["pre"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new h.Z,this._encounteredRawContentDomNodes=new WeakSet}bindFakeSelection(e,t){this._fakeSelectionMapping.set(e,new c.Z(t))}fakeSelectionToView(e){return this._fakeSelectionMapping.get(e)}bindElements(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}unbindDomElement(e){const t=this._domToViewMapping.get(e);if(t){this._domToViewMapping.delete(e),this._viewToDomMapping.delete(t);for(const t of e.childNodes)this.unbindDomElement(t)}}bindDocumentFragments(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}shouldRenderAttribute(e,t,s){return"data"===this.renderingMode||!(e=e.toLowerCase()).startsWith("on")&&(("srcdoc"!==e||!t.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i))&&("img"===s&&("src"===e||"srcset"===e)||("source"===s&&"srcset"===e||!t.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i))))}setContentOf(e,t){if("data"===this.renderingMode)return void(e.innerHTML=t);const s=(new DOMParser).parseFromString(t,"text/html"),o=s.createDocumentFragment(),i=s.body.childNodes;for(;i.length>0;)o.appendChild(i[0]);const r=s.createTreeWalker(o,NodeFilter.SHOW_ELEMENT),n=[];let a;for(;a=r.nextNode();)n.push(a);for(const e of n){for(const t of e.getAttributeNames())this.setDomElementAttribute(e,t,e.getAttribute(t));const t=e.tagName.toLowerCase();this._shouldRenameElement(t)&&(T(t),e.replaceWith(this._createReplacementDomElement(t,e)))}for(;e.firstChild;)e.firstChild.remove();e.append(o)}viewToDom(e,t,s={}){if(e.is("$text")){const s=this._processDataFromViewText(e);return t.createTextNode(s)}{if(this.mapViewToDom(e))return this.mapViewToDom(e);let o;if(e.is("documentFragment"))o=t.createDocumentFragment(),s.bind&&this.bindDocumentFragments(o,e);else{if(e.is("uiElement"))return o="$comment"===e.name?t.createComment(e.getCustomProperty("$rawContent")):e.render(t,this),s.bind&&this.bindElements(o,e),o;this._shouldRenameElement(e.name)?(T(e.name),o=this._createReplacementDomElement(e.name)):o=e.hasAttribute("xmlns")?t.createElementNS(e.getAttribute("xmlns"),e.name):t.createElement(e.name),e.is("rawElement")&&e.render(o,this),s.bind&&this.bindElements(o,e);for(const t of e.getAttributeKeys())this.setDomElementAttribute(o,t,e.getAttribute(t),e)}if(!1!==s.withChildren)for(const i of this.viewChildrenToDom(e,t,s))o.appendChild(i);return o}}setDomElementAttribute(e,t,s,o=null){const i=this.shouldRenderAttribute(t,s,e.tagName.toLowerCase())||o&&o.shouldRenderUnsafeAttribute(t);i||(0,g.KE)("domconverter-unsafe-attribute-detected",{domElement:e,key:t,value:s}),e.hasAttribute(t)&&!i?e.removeAttribute(t):e.hasAttribute(y+t)&&i&&e.removeAttribute(y+t),e.setAttribute(i?t:y+t,s)}removeDomElementAttribute(e,t){t!=Z&&(e.removeAttribute(t),e.removeAttribute(y+t))}*viewChildrenToDom(e,t,s={}){const o=e.getFillerOffset&&e.getFillerOffset();let i=0;for(const r of e.getChildren()){o===i&&(yield this._getBlockFiller(t));const e=r.is("element")&&r.getCustomProperty("dataPipeline:transparentRendering");e&&"data"==this.renderingMode?yield*this.viewChildrenToDom(r,t,s):(e&&(0,g.KE)("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:r}),yield this.viewToDom(r,t,s)),i++}o===i&&(yield this._getBlockFiller(t))}viewRangeToDom(e){const t=this.viewPositionToDom(e.start),s=this.viewPositionToDom(e.end),o=document.createRange();return o.setStart(t.parent,t.offset),o.setEnd(s.parent,s.offset),o}viewPositionToDom(e){const t=e.parent;if(t.is("$text")){const s=this.findCorrespondingDomText(t);if(!s)return null;let o=e.offset;return(0,u.Sw)(s)&&(o+=u.b_),{parent:s,offset:o}}{let s,o,i;if(0===e.offset){if(s=this.mapViewToDom(t),!s)return null;i=s.childNodes[0]}else{const t=e.nodeBefore;if(o=t.is("$text")?this.findCorrespondingDomText(t):this.mapViewToDom(e.nodeBefore),!o)return null;s=o.parentNode,i=o.nextSibling}if((0,k.Z)(i)&&(0,u.Sw)(i))return{parent:i,offset:u.b_};return{parent:s,offset:o?m(o)+1:0}}}domToView(e,t={}){if(this.isBlockFiller(e))return null;const s=this.getHostViewElement(e);if(s)return s;if((0,_.Z)(e)&&t.skipComments)return null;if((0,k.Z)(e)){if((0,u.Qh)(e))return null;{const t=this._processDataFromDomText(e);return""===t?null:new o.Z(this.document,t)}}{if(this.mapDomToView(e))return this.mapDomToView(e);let s;if(this.isDocumentFragment(e))s=new l.Z(this.document),t.bind&&this.bindDocumentFragments(e,s);else{s=this._createViewElement(e,t),t.bind&&this.bindElements(e,s);const o=e.attributes;if(o)for(let e=o.length-1;e>=0;e--)s._setAttribute(o[e].name,o[e].value);if(this._isViewElementWithRawContent(s,t)||(0,_.Z)(e)){const t=(0,_.Z)(e)?e.data:e.innerHTML;return s._setCustomProperty("$rawContent",t),this._encounteredRawContentDomNodes.add(e),s}}if(!1!==t.withChildren)for(const o of this.domChildrenToView(e,t))s._appendChild(o);return s}}*domChildrenToView(e,t={}){for(let s=0;s<e.childNodes.length;s++){const o=e.childNodes[s],i=this.domToView(o,t);null!==i&&(yield i)}}domSelectionToView(e){if(1===e.rangeCount){let t=e.getRangeAt(0).startContainer;(0,k.Z)(t)&&(t=t.parentNode);const s=this.fakeSelectionToView(t);if(s)return s}const t=this.isDomSelectionBackward(e),s=[];for(let t=0;t<e.rangeCount;t++){const o=e.getRangeAt(t),i=this.domRangeToView(o);i&&s.push(i)}return new c.Z(s,{backward:t})}domRangeToView(e){const t=this.domPositionToView(e.startContainer,e.startOffset),s=this.domPositionToView(e.endContainer,e.endOffset);return t&&s?new a.Z(t,s):null}domPositionToView(e,t=0){if(this.isBlockFiller(e))return this.domPositionToView(e.parentNode,m(e));const s=this.mapDomToView(e);if(s&&(s.is("uiElement")||s.is("rawElement")))return n.Z._createBefore(s);if((0,k.Z)(e)){if((0,u.Qh)(e))return this.domPositionToView(e.parentNode,m(e));const s=this.findCorrespondingViewText(e);let o=t;return s?((0,u.Sw)(e)&&(o-=u.b_,o=o<0?0:o),new n.Z(s,o)):null}if(0===t){const t=this.mapDomToView(e);if(t)return new n.Z(t,0)}else{const s=e.childNodes[t-1],o=(0,k.Z)(s)?this.findCorrespondingViewText(s):this.mapDomToView(s);if(o&&o.parent)return new n.Z(o.parent,o.index+1)}return null}mapDomToView(e){return this.getHostViewElement(e)||this._domToViewMapping.get(e)}findCorrespondingViewText(e){if((0,u.Qh)(e))return null;const t=this.getHostViewElement(e);if(t)return t;const s=e.previousSibling;if(s){if(!this.isElement(s))return null;const e=this.mapDomToView(s);if(e){return e.nextSibling instanceof o.Z?e.nextSibling:null}}else{const t=this.mapDomToView(e.parentNode);if(t){const e=t.getChild(0);return e instanceof o.Z?e:null}}return null}mapViewToDom(e){return this._viewToDomMapping.get(e)}findCorrespondingDomText(e){const t=e.previousSibling;return t&&this.mapViewToDom(t)?this.mapViewToDom(t).nextSibling:!t&&e.parent&&this.mapViewToDom(e.parent)?this.mapViewToDom(e.parent).childNodes[0]:null}focus(e){const t=this.mapViewToDom(e);if(t&&t.ownerDocument.activeElement!==t){const{scrollX:e,scrollY:s}=p.Z.window,o=[];x(t,(e=>{const{scrollLeft:t,scrollTop:s}=e;o.push([t,s])})),t.focus(),x(t,(e=>{const[t,s]=o.shift();e.scrollLeft=t,e.scrollTop=s})),p.Z.window.scrollTo(e,s)}}isElement(e){return e&&e.nodeType==Node.ELEMENT_NODE}isDocumentFragment(e){return e&&e.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(e){return"br"==this.blockFillerMode?e.isEqualNode(b):!("BR"!==e.tagName||!A(e,this.blockElements)||1!==e.parentNode.childNodes.length)||(e.isEqualNode(v)||function(e,t){return e.isEqualNode(w)&&A(e,t)&&1===e.parentNode.childNodes.length}(e,this.blockElements))}isDomSelectionBackward(e){if(e.isCollapsed)return!1;const t=document.createRange();t.setStart(e.anchorNode,e.anchorOffset),t.setEnd(e.focusNode,e.focusOffset);const s=t.collapsed;return t.detach(),s}getHostViewElement(e){const t=f(e);for(t.pop();t.length;){const e=t.pop(),s=this._domToViewMapping.get(e);if(s&&(s.is("uiElement")||s.is("rawElement")))return s}return null}isDomSelectionCorrect(e){return this._isDomSelectionPositionCorrect(e.anchorNode,e.anchorOffset)&&this._isDomSelectionPositionCorrect(e.focusNode,e.focusOffset)}registerRawContentMatcher(e){this._rawContentElementMatcher.add(e)}_getBlockFiller(e){switch(this.blockFillerMode){case"nbsp":return(0,u.N3)(e);case"markedNbsp":return(0,u.PQ)(e);case"br":return(0,u.yl)(e)}}_isDomSelectionPositionCorrect(e,t){if((0,k.Z)(e)&&(0,u.Sw)(e)&&t<u.b_)return!1;if(this.isElement(e)&&(0,u.Sw)(e.childNodes[t]))return!1;const s=this.mapDomToView(e);return!s||!s.is("uiElement")&&!s.is("rawElement")}_processDataFromViewText(e){let t=e.data;if(e.getAncestors().some((e=>this.preElements.includes(e.name))))return t;if(" "==t.charAt(0)){const s=this._getTouchingInlineViewNode(e,!1);!(s&&s.is("$textProxy")&&this._nodeEndsWithSpace(s))&&s||(t=" "+t.substr(1))}if(" "==t.charAt(t.length-1)){const s=this._getTouchingInlineViewNode(e,!0),o=s&&s.is("$textProxy")&&" "==s.data.charAt(0);" "!=t.charAt(t.length-2)&&s&&!o||(t=t.substr(0,t.length-1)+" ")}return t.replace(/ {2}/g,"  ")}_nodeEndsWithSpace(e){if(e.getAncestors().some((e=>this.preElements.includes(e.name))))return!1;const t=this._processDataFromViewText(e);return" "==t.charAt(t.length-1)}_processDataFromDomText(e){let t=e.data;if(function(e,t){return f(e).some((e=>e.tagName&&t.includes(e.tagName.toLowerCase())))}(e,this.preElements))return(0,u.th)(e);t=t.replace(/[ \n\t\r]{1,}/g," ");const s=this._getTouchingInlineDomNode(e,!1),o=this._getTouchingInlineDomNode(e,!0),i=this._checkShouldLeftTrimDomText(e,s),r=this._checkShouldRightTrimDomText(e,o);i&&(t=t.replace(/^ /,"")),r&&(t=t.replace(/ $/,"")),t=(0,u.th)(new Text(t)),t=t.replace(/ \u00A0/g,"  ");const n=o&&this.isElement(o)&&"BR"!=o.tagName,a=o&&(0,k.Z)(o)&&" "==o.data.charAt(0);return(/( |\u00A0)\u00A0$/.test(t)||!o||n||a)&&(t=t.replace(/\u00A0$/," ")),(i||s&&this.isElement(s)&&"BR"!=s.tagName)&&(t=t.replace(/^\u00A0/," ")),t}_checkShouldLeftTrimDomText(e,t){return!t||(this.isElement(t)?"BR"===t.tagName:!this._encounteredRawContentDomNodes.has(e.previousSibling)&&/[^\S\u00A0]/.test(t.data.charAt(t.data.length-1)))}_checkShouldRightTrimDomText(e,t){return!t&&!(0,u.Sw)(e)}_getTouchingInlineViewNode(e,t){const s=new d.Z({startPosition:t?n.Z._createAfter(e):n.Z._createBefore(e),direction:t?"forward":"backward"});for(const e of s){if(e.item.is("element")&&this.inlineObjectElements.includes(e.item.name))return e.item;if(e.item.is("containerElement"))return null;if(e.item.is("element","br"))return null;if(e.item.is("$textProxy"))return e.item}return null}_getTouchingInlineDomNode(e,t){if(!e.parentNode)return null;const s=t?"firstChild":"lastChild",o=t?"nextSibling":"previousSibling";let i=!0;do{if(!i&&e[s]?e=e[s]:e[o]?(e=e[o],i=!1):(e=e.parentNode,i=!0),!e||this._isBlockElement(e))return null}while(!(0,k.Z)(e)&&"BR"!=e.tagName&&!this._isInlineObjectElement(e));return e}_isBlockElement(e){return this.isElement(e)&&this.blockElements.includes(e.tagName.toLowerCase())}_isInlineObjectElement(e){return this.isElement(e)&&this.inlineObjectElements.includes(e.tagName.toLowerCase())}_createViewElement(e,t){if((0,_.Z)(e))return new r.Z(this.document,"$comment");const s=t.keepOriginalCase?e.tagName:e.tagName.toLowerCase();return new i.Z(this.document,s)}_isViewElementWithRawContent(e,t){return!1!==t.withChildren&&this._rawContentElementMatcher.match(e)}_shouldRenameElement(e){const t=e.toLowerCase();return"editing"===this.renderingMode&&P.includes(t)}_createReplacementDomElement(e,t=null){const s=document.createElement("span");if(s.setAttribute(Z,e),t){for(;t.firstChild;)s.appendChild(t.firstChild);for(const e of t.getAttributeNames())s.setAttribute(e,t.getAttribute(e))}return s}}function x(e,t){for(;e&&e!=p.Z.document;)t(e),e=e.parentNode}function A(e,t){const s=e.parentNode;return s&&s.tagName&&t.includes(s.tagName.toLowerCase())}function T(e){"script"===e&&(0,g.KE)("domconverter-unsafe-script-element-detected"),"style"===e&&(0,g.KE)("domconverter-unsafe-style-element-detected")}},"./packages/ckeditor5-engine/src/view/downcastwriter.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>v});var o=s("./packages/ckeditor5-engine/src/view/position.js"),i=s("./packages/ckeditor5-engine/src/view/range.js"),r=s("./packages/ckeditor5-engine/src/view/selection.js"),n=s("./packages/ckeditor5-engine/src/view/containerelement.js"),a=s("./packages/ckeditor5-engine/src/view/attributeelement.js"),c=s("./packages/ckeditor5-engine/src/view/element.js"),l=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),d=s("./packages/ckeditor5-engine/src/view/node.js");class h extends c.Z{constructor(e,t,s,o){super(e,t,s,o),this.getFillerOffset=u}is(e,t=null){return t?t===this.name&&("emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e):"emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}_insertChild(e,t){if(t&&(t instanceof d.Z||Array.from(t).length>0))throw new l.ZP("view-emptyelement-cannot-add",[this,t])}}function u(){return null}var p=s("./packages/ckeditor5-engine/src/view/uielement.js");class g extends c.Z{constructor(e,t,s,o){super(e,t,s,o),this.getFillerOffset=m}is(e,t=null){return t?t===this.name&&("rawElement"===e||"view:rawElement"===e||"element"===e||"view:element"===e):"rawElement"===e||"view:rawElement"===e||e===this.name||e==="view:"+this.name||"element"===e||"view:element"===e||"node"===e||"view:node"===e}_insertChild(e,t){if(t&&(t instanceof d.Z||Array.from(t).length>0))throw new l.ZP("view-rawelement-cannot-add",[this,t])}}function m(){return null}var f=s("./packages/ckeditor5-engine/src/view/documentfragment.js"),k=s("./packages/ckeditor5-utils/src/isiterable.js"),_=s("./packages/ckeditor5-engine/src/view/text.js"),b=s("./packages/ckeditor5-engine/src/view/editableelement.js"),w=s("./node_modules/lodash-es/isPlainObject.js");class v{constructor(e){this.document=e,this._cloneGroups=new Map,this._slotFactory=null}setSelection(e,t,s){this.document.selection._setTo(e,t,s)}setSelectionFocus(e,t){this.document.selection._setFocus(e,t)}createDocumentFragment(e){return new f.Z(this.document,e)}createText(e){return new _.Z(this.document,e)}createAttributeElement(e,t,s={}){const o=new a.Z(this.document,e,t);return"number"==typeof s.priority&&(o._priority=s.priority),s.id&&(o._id=s.id),s.renderUnsafeAttributes&&o._unsafeAttributesToRender.push(...s.renderUnsafeAttributes),o}createContainerElement(e,t,s={},o={}){let i=null;(0,w.Z)(s)?o=s:i=s;const r=new n.Z(this.document,e,t,i);return o.renderUnsafeAttributes&&r._unsafeAttributesToRender.push(...o.renderUnsafeAttributes),r}createEditableElement(e,t,s={}){const o=new b.Z(this.document,e,t);return o._document=this.document,s.renderUnsafeAttributes&&o._unsafeAttributesToRender.push(...s.renderUnsafeAttributes),o}createEmptyElement(e,t,s={}){const o=new h(this.document,e,t);return s.renderUnsafeAttributes&&o._unsafeAttributesToRender.push(...s.renderUnsafeAttributes),o}createUIElement(e,t,s){const o=new p.Z(this.document,e,t);return s&&(o.render=s),o}createRawElement(e,t,s,o={}){const i=new g(this.document,e,t);return i.render=s||(()=>{}),o.renderUnsafeAttributes&&i._unsafeAttributesToRender.push(...o.renderUnsafeAttributes),i}setAttribute(e,t,s){s._setAttribute(e,t)}removeAttribute(e,t){t._removeAttribute(e)}addClass(e,t){t._addClass(e)}removeClass(e,t){t._removeClass(e)}setStyle(e,t,s){(0,w.Z)(e)&&void 0===s&&(s=t),s._setStyle(e,t)}removeStyle(e,t){t._removeStyle(e)}setCustomProperty(e,t,s){s._setCustomProperty(e,t)}removeCustomProperty(e,t){return t._removeCustomProperty(e)}breakAttributes(e){return e instanceof o.Z?this._breakAttributes(e):this._breakAttributesRange(e)}breakContainer(e){const t=e.parent;if(!t.is("containerElement"))throw new l.ZP("view-writer-break-non-container-element",this.document);if(!t.parent)throw new l.ZP("view-writer-break-root",this.document);if(e.isAtStart)return o.Z._createBefore(t);if(!e.isAtEnd){const s=t._clone(!1);this.insert(o.Z._createAfter(t),s);const r=new i.Z(e,o.Z._createAt(t,"end")),n=new o.Z(s,0);this.move(r,n)}return o.Z._createAfter(t)}mergeAttributes(e){const t=e.offset,s=e.parent;if(s.is("$text"))return e;if(s.is("attributeElement")&&0===s.childCount){const e=s.parent,t=s.index;return s._remove(),this._removeFromClonedElementsGroup(s),this.mergeAttributes(new o.Z(e,t))}const i=s.getChild(t-1),r=s.getChild(t);if(!i||!r)return e;if(i.is("$text")&&r.is("$text"))return x(i,r);if(i.is("attributeElement")&&r.is("attributeElement")&&i.isSimilar(r)){const e=i.childCount;return i._appendChild(r.getChildren()),r._remove(),this._removeFromClonedElementsGroup(r),this.mergeAttributes(new o.Z(i,e))}return e}mergeContainers(e){const t=e.nodeBefore,s=e.nodeAfter;if(!(t&&s&&t.is("containerElement")&&s.is("containerElement")))throw new l.ZP("view-writer-merge-containers-invalid-position",this.document);const r=t.getChild(t.childCount-1),n=r instanceof _.Z?o.Z._createAt(r,"end"):o.Z._createAt(t,"end");return this.move(i.Z._createIn(s),o.Z._createAt(t,"end")),this.remove(i.Z._createOn(s)),n}insert(e,t){A(t=(0,k.Z)(t)?[...t]:[t],this.document);const s=t.reduce(((e,t)=>{const s=e[e.length-1],o=!t.is("uiElement");return s&&s.breakAttributes==o?s.nodes.push(t):e.push({breakAttributes:o,nodes:[t]}),e}),[]);let o=null,r=e;for(const{nodes:e,breakAttributes:t}of s){const s=this._insertNodes(r,e,t);o||(o=s.start),r=s.end}return o?new i.Z(o,r):new i.Z(e)}remove(e){const t=e instanceof i.Z?e:i.Z._createOn(e);if(E(t,this.document),t.isCollapsed)return new f.Z(this.document);const{start:s,end:o}=this._breakAttributesRange(t,!0),r=s.parent,n=o.offset-s.offset,a=r._removeChildren(s.offset,n);for(const e of a)this._removeFromClonedElementsGroup(e);const c=this.mergeAttributes(s);return t.start=c,t.end=c.clone(),new f.Z(this.document,a)}clear(e,t){E(e,this.document);const s=e.getWalker({direction:"backward",ignoreElementEnd:!0});for(const o of s){const s=o.item;let r;if(s.is("element")&&t.isSimilar(s))r=i.Z._createOn(s);else if(!o.nextPosition.isAfter(e.start)&&s.is("$textProxy")){const e=s.getAncestors().find((e=>e.is("element")&&t.isSimilar(e)));e&&(r=i.Z._createIn(e))}r&&(r.end.isAfter(e.end)&&(r.end=e.end),r.start.isBefore(e.start)&&(r.start=e.start),this.remove(r))}}move(e,t){let s;if(t.isAfter(e.end)){const o=(t=this._breakAttributes(t,!0)).parent,i=o.childCount;e=this._breakAttributesRange(e,!0),s=this.remove(e),t.offset+=o.childCount-i}else s=this.remove(e);return this.insert(t,s)}wrap(e,t){if(!(t instanceof a.Z))throw new l.ZP("view-writer-wrap-invalid-attribute",this.document);if(E(e,this.document),e.isCollapsed){let o=e.start;o.parent.is("element")&&(s=o.parent,!Array.from(s.getChildren()).some((e=>!e.is("uiElement"))))&&(o=o.getLastMatchingPosition((e=>e.item.is("uiElement")))),o=this._wrapPosition(o,t);const r=this.document.selection;return r.isCollapsed&&r.getFirstPosition().isEqual(e.start)&&this.setSelection(o),new i.Z(o)}return this._wrapRange(e,t);var s}unwrap(e,t){if(!(t instanceof a.Z))throw new l.ZP("view-writer-unwrap-invalid-attribute",this.document);if(E(e,this.document),e.isCollapsed)return e;const{start:s,end:o}=this._breakAttributesRange(e,!0),r=s.parent,n=this._unwrapChildren(r,s.offset,o.offset,t),c=this.mergeAttributes(n.start);c.isEqual(n.start)||n.end.offset--;const d=this.mergeAttributes(n.end);return new i.Z(c,d)}rename(e,t){const s=new n.Z(this.document,e,t.getAttributes());return this.insert(o.Z._createAfter(t),s),this.move(i.Z._createIn(t),o.Z._createAt(s,0)),this.remove(i.Z._createOn(t)),s}clearClonedElementsGroup(e){this._cloneGroups.delete(e)}createPositionAt(e,t){return o.Z._createAt(e,t)}createPositionAfter(e){return o.Z._createAfter(e)}createPositionBefore(e){return o.Z._createBefore(e)}createRange(e,t){return new i.Z(e,t)}createRangeOn(e){return i.Z._createOn(e)}createRangeIn(e){return i.Z._createIn(e)}createSelection(e,t,s){return new r.Z(e,t,s)}createSlot(e){if(!this._slotFactory)throw new l.ZP("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,e)}_registerSlotFactory(e){this._slotFactory=e}_clearSlotFactory(){this._slotFactory=null}_insertNodes(e,t,s){let o,r;if(o=s?y(e):e.parent.is("$text")?e.parent.parent:e.parent,!o)throw new l.ZP("view-writer-invalid-position-container",this.document);r=s?this._breakAttributes(e,!0):e.parent.is("$text")?j(e):e;const n=o._insertChild(r.offset,t);for(const e of t)this._addToClonedElementsGroup(e);const a=r.getShiftedBy(n),c=this.mergeAttributes(r);c.isEqual(r)||a.offset--;const d=this.mergeAttributes(a);return new i.Z(c,d)}_wrapChildren(e,t,s,r){let n=t;const a=[];for(;n<s;){const t=e.getChild(n),s=t.is("$text"),i=t.is("attributeElement");if(i&&this._wrapAttributeElement(r,t))a.push(new o.Z(e,n));else if(s||!i||Z(r,t)){const s=r._clone();t._remove(),s._appendChild(t),e._insertChild(n,s),this._addToClonedElementsGroup(s),a.push(new o.Z(e,n))}else this._wrapChildren(t,0,t.childCount,r);n++}let c=0;for(const e of a){if(e.offset-=c,e.offset==t)continue;this.mergeAttributes(e).isEqual(e)||(c++,s--)}return i.Z._createFromParentsAndOffsets(e,t,e,s)}_unwrapChildren(e,t,s,r){let n=t;const a=[];for(;n<s;){const t=e.getChild(n);if(t.is("attributeElement"))if(t.isSimilar(r)){const i=t.getChildren(),r=t.childCount;t._remove(),e._insertChild(n,i),this._removeFromClonedElementsGroup(t),a.push(new o.Z(e,n),new o.Z(e,n+r)),n+=r,s+=r-1}else this._unwrapAttributeElement(r,t)?(a.push(new o.Z(e,n),new o.Z(e,n+1)),n++):(this._unwrapChildren(t,0,t.childCount,r),n++);else n++}let c=0;for(const e of a){if(e.offset-=c,e.offset==t||e.offset==s)continue;this.mergeAttributes(e).isEqual(e)||(c++,s--)}return i.Z._createFromParentsAndOffsets(e,t,e,s)}_wrapRange(e,t){const{start:s,end:o}=this._breakAttributesRange(e,!0),r=s.parent,n=this._wrapChildren(r,s.offset,o.offset,t),a=this.mergeAttributes(n.start);a.isEqual(n.start)||n.end.offset--;const c=this.mergeAttributes(n.end);return new i.Z(a,c)}_wrapPosition(e,t){if(t.isSimilar(e.parent))return P(e.clone());e.parent.is("$text")&&(e=j(e));const s=this.createAttributeElement();s._priority=Number.POSITIVE_INFINITY,s.isSimilar=()=>!1,e.parent._insertChild(e.offset,s);const r=new i.Z(e,e.getShiftedBy(1));this.wrap(r,t);const n=new o.Z(s.parent,s.index);s._remove();const a=n.nodeBefore,c=n.nodeAfter;return a instanceof _.Z&&c instanceof _.Z?x(a,c):P(n)}_wrapAttributeElement(e,t){if(!S(e,t))return!1;if(e.name!==t.name||e.priority!==t.priority)return!1;for(const s of e.getAttributeKeys())if("class"!==s&&"style"!==s&&t.hasAttribute(s)&&t.getAttribute(s)!==e.getAttribute(s))return!1;for(const s of e.getStyleNames())if(t.hasStyle(s)&&t.getStyle(s)!==e.getStyle(s))return!1;for(const s of e.getAttributeKeys())"class"!==s&&"style"!==s&&(t.hasAttribute(s)||this.setAttribute(s,e.getAttribute(s),t));for(const s of e.getStyleNames())t.hasStyle(s)||this.setStyle(s,e.getStyle(s),t);for(const s of e.getClassNames())t.hasClass(s)||this.addClass(s,t);return!0}_unwrapAttributeElement(e,t){if(!S(e,t))return!1;if(e.name!==t.name||e.priority!==t.priority)return!1;for(const s of e.getAttributeKeys())if("class"!==s&&"style"!==s&&(!t.hasAttribute(s)||t.getAttribute(s)!==e.getAttribute(s)))return!1;if(!t.hasClass(...e.getClassNames()))return!1;for(const s of e.getStyleNames())if(!t.hasStyle(s)||t.getStyle(s)!==e.getStyle(s))return!1;for(const s of e.getAttributeKeys())"class"!==s&&"style"!==s&&this.removeAttribute(s,t);return this.removeClass(Array.from(e.getClassNames()),t),this.removeStyle(Array.from(e.getStyleNames()),t),!0}_breakAttributesRange(e,t=!1){const s=e.start,o=e.end;if(E(e,this.document),e.isCollapsed){const s=this._breakAttributes(e.start,t);return new i.Z(s,s)}const r=this._breakAttributes(o,t),n=r.parent.childCount,a=this._breakAttributes(s,t);return r.offset+=r.parent.childCount-n,new i.Z(a,r)}_breakAttributes(e,t=!1){const s=e.offset,i=e.parent;if(e.parent.is("emptyElement"))throw new l.ZP("view-writer-cannot-break-empty-element",this.document);if(e.parent.is("uiElement"))throw new l.ZP("view-writer-cannot-break-ui-element",this.document);if(e.parent.is("rawElement"))throw new l.ZP("view-writer-cannot-break-raw-element",this.document);if(!t&&i.is("$text")&&C(i.parent))return e.clone();if(C(i))return e.clone();if(i.is("$text"))return this._breakAttributes(j(e),t);if(s==i.childCount){const e=new o.Z(i.parent,i.index+1);return this._breakAttributes(e,t)}if(0===s){const e=new o.Z(i.parent,i.index);return this._breakAttributes(e,t)}{const e=i.index+1,r=i._clone();i.parent._insertChild(e,r),this._addToClonedElementsGroup(r);const n=i.childCount-s,a=i._removeChildren(s,n);r._appendChild(a);const c=new o.Z(i.parent,e);return this._breakAttributes(c,t)}}_addToClonedElementsGroup(e){if(!e.root.is("rootElement"))return;if(e.is("element"))for(const t of e.getChildren())this._addToClonedElementsGroup(t);const t=e.id;if(!t)return;let s=this._cloneGroups.get(t);s||(s=new Set,this._cloneGroups.set(t,s)),s.add(e),e._clonesGroup=s}_removeFromClonedElementsGroup(e){if(e.is("element"))for(const t of e.getChildren())this._removeFromClonedElementsGroup(t);const t=e.id;if(!t)return;const s=this._cloneGroups.get(t);s&&s.delete(e)}}function y(e){let t=e.parent;for(;!C(t);){if(!t)return;t=t.parent}return t}function Z(e,t){return e.priority<t.priority||!(e.priority>t.priority)&&e.getIdentity()<t.getIdentity()}function P(e){const t=e.nodeBefore;if(t&&t.is("$text"))return new o.Z(t,t.data.length);const s=e.nodeAfter;return s&&s.is("$text")?new o.Z(s,0):e}function j(e){if(e.offset==e.parent.data.length)return new o.Z(e.parent.parent,e.parent.index+1);if(0===e.offset)return new o.Z(e.parent.parent,e.parent.index);const t=e.parent.data.slice(e.offset);return e.parent._data=e.parent.data.slice(0,e.offset),e.parent.parent._insertChild(e.parent.index+1,new _.Z(e.root.document,t)),new o.Z(e.parent.parent,e.parent.index+1)}function x(e,t){const s=e.data.length;return e._data+=t.data,t._remove(),new o.Z(e,s)}function A(e,t){for(const s of e){if(!T.some((e=>s instanceof e)))throw new l.ZP("view-writer-insert-invalid-node-type",t);s.is("$text")||A(s.getChildren(),t)}}const T=[_.Z,a.Z,n.Z,h,g,p.Z];function C(e){return e&&(e.is("containerElement")||e.is("documentFragment"))}function E(e,t){const s=y(e.start),o=y(e.end);if(!s||!o||s!==o)throw new l.ZP("view-writer-invalid-range-container",t)}function S(e,t){return null===e.id&&null===t.id}},"./packages/ckeditor5-engine/src/view/editableelement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/view/containerelement.js"),i=s("./packages/ckeditor5-utils/src/mix.js"),r=s("./packages/ckeditor5-utils/src/observablemixin.js");class n extends o.Z{constructor(e,t,s,o){super(e,t,s,o),this.set("isReadOnly",!1),this.set("isFocused",!1),this.bind("isReadOnly").to(e),this.bind("isFocused").to(e,"isFocused",(t=>t&&e.selection.editableElement==this)),this.listenTo(e.selection,"change",(()=>{this.isFocused=e.isFocused&&e.selection.editableElement==this}))}is(e,t=null){return t?t===this.name&&("editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}destroy(){this.stopListening()}}(0,i.Z)(n,r.Z)},"./packages/ckeditor5-engine/src/view/element.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./packages/ckeditor5-engine/src/view/node.js"),i=s("./packages/ckeditor5-engine/src/view/text.js"),r=s("./packages/ckeditor5-engine/src/view/textproxy.js"),n=s("./packages/ckeditor5-utils/src/tomap.js"),a=s("./packages/ckeditor5-utils/src/toarray.js"),c=s("./packages/ckeditor5-utils/src/isiterable.js"),l=s("./packages/ckeditor5-engine/src/view/matcher.js"),d=s("./packages/ckeditor5-engine/src/view/stylesmap.js");class h extends o.Z{constructor(e,t,s,o){if(super(e),this.name=t,this._attrs=function(e){e=(0,n.Z)(e);for(const[t,s]of e)null===s?e.delete(t):"string"!=typeof s&&e.set(t,String(s));return e}(s),this._children=[],o&&this._insertChild(0,o),this._classes=new Set,this._attrs.has("class")){const e=this._attrs.get("class");u(this._classes,e),this._attrs.delete("class")}this._styles=new d.Z(this.document.stylesProcessor),this._attrs.has("style")&&(this._styles.setTo(this._attrs.get("style")),this._attrs.delete("style")),this._customProperties=new Map,this._unsafeAttributesToRender=[]}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}is(e,t=null){return t?t===this.name&&("element"===e||"view:element"===e):"element"===e||"view:element"===e||"node"===e||"view:node"===e}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes.size>0&&(yield"class"),this._styles.isEmpty||(yield"style"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield["class",this.getAttribute("class")]),this._styles.isEmpty||(yield["style",this.getAttribute("style")])}getAttribute(e){if("class"==e)return this._classes.size>0?[...this._classes].join(" "):void 0;if("style"==e){const e=this._styles.toString();return""==e?void 0:e}return this._attrs.get(e)}hasAttribute(e){return"class"==e?this._classes.size>0:"style"==e?!this._styles.isEmpty:this._attrs.has(e)}isSimilar(e){if(!(e instanceof h))return!1;if(this===e)return!0;if(this.name!=e.name)return!1;if(this._attrs.size!==e._attrs.size||this._classes.size!==e._classes.size||this._styles.size!==e._styles.size)return!1;for(const[t,s]of this._attrs)if(!e._attrs.has(t)||e._attrs.get(t)!==s)return!1;for(const t of this._classes)if(!e._classes.has(t))return!1;for(const t of this._styles.getStyleNames())if(!e._styles.has(t)||e._styles.getAsString(t)!==this._styles.getAsString(t))return!1;return!0}hasClass(...e){for(const t of e)if(!this._classes.has(t))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(e){return this._styles.getAsString(e)}getNormalizedStyle(e){return this._styles.getNormalized(e)}getStyleNames(e=!1){return this._styles.getStyleNames(e)}hasStyle(...e){for(const t of e)if(!this._styles.has(t))return!1;return!0}findAncestor(...e){const t=new l.Z(...e);let s=this.parent;for(;s;){if(t.match(s))return s;s=s.parent}return null}getCustomProperty(e){return this._customProperties.get(e)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const e=Array.from(this._classes).sort().join(","),t=this._styles.toString(),s=Array.from(this._attrs).map((e=>`${e[0]}="${e[1]}"`)).sort().join(" ");return this.name+(""==e?"":` class="${e}"`)+(t?` style="${t}"`:"")+(""==s?"":` ${s}`)}shouldRenderUnsafeAttribute(e){return this._unsafeAttributesToRender.includes(e)}_clone(e=!1){const t=[];if(e)for(const s of this.getChildren())t.push(s._clone(e));const s=new this.constructor(this.document,this.name,this._attrs,t);return s._classes=new Set(this._classes),s._styles.set(this._styles.getNormalized()),s._customProperties=new Map(this._customProperties),s.getFillerOffset=this.getFillerOffset,s}_appendChild(e){return this._insertChild(this.childCount,e)}_insertChild(e,t){this._fireChange("children",this);let s=0;const o=function(e,t){if("string"==typeof t)return[new i.Z(e,t)];(0,c.Z)(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new i.Z(e,t):t instanceof r.Z?new i.Z(e,t.data):t))}(this.document,t);for(const t of o)null!==t.parent&&t._remove(),t.parent=this,t.document=this.document,this._children.splice(e,0,t),e++,s++;return s}_removeChildren(e,t=1){this._fireChange("children",this);for(let s=e;s<e+t;s++)this._children[s].parent=null;return this._children.splice(e,t)}_setAttribute(e,t){t=String(t),this._fireChange("attributes",this),"class"==e?u(this._classes,t):"style"==e?this._styles.setTo(t):this._attrs.set(e,t)}_removeAttribute(e){return this._fireChange("attributes",this),"class"==e?this._classes.size>0&&(this._classes.clear(),!0):"style"==e?!this._styles.isEmpty&&(this._styles.clear(),!0):this._attrs.delete(e)}_addClass(e){this._fireChange("attributes",this);for(const t of(0,a.Z)(e))this._classes.add(t)}_removeClass(e){this._fireChange("attributes",this);for(const t of(0,a.Z)(e))this._classes.delete(t)}_setStyle(e,t){this._fireChange("attributes",this),this._styles.set(e,t)}_removeStyle(e){this._fireChange("attributes",this);for(const t of(0,a.Z)(e))this._styles.remove(t)}_setCustomProperty(e,t){this._customProperties.set(e,t)}_removeCustomProperty(e){return this._customProperties.delete(e)}}function u(e,t){const s=t.split(/\s+/);e.clear(),s.forEach((t=>e.add(t)))}},"./packages/ckeditor5-engine/src/view/filler.js":(e,t,s)=>{"use strict";s.d(t,{N3:()=>r,PQ:()=>n,Pj:()=>l,Qh:()=>h,Sw:()=>d,b_:()=>c,mm:()=>p,th:()=>u,yl:()=>a});var o=s("./packages/ckeditor5-utils/src/keyboard.js"),i=s("./packages/ckeditor5-utils/src/dom/istext.js");const r=e=>e.createTextNode(" "),n=e=>{const t=e.createElement("span");return t.dataset.ckeFiller=!0,t.innerHTML=" ",t},a=e=>{const t=e.createElement("br");return t.dataset.ckeFiller=!0,t},c=7,l="⁠".repeat(c);function d(e){return(0,i.Z)(e)&&e.data.substr(0,c)===l}function h(e){return e.data.length==c&&d(e)}function u(e){return d(e)?e.data.slice(c):e.data}function p(e){e.document.on("arrowKey",g,{priority:"low"})}function g(e,t){if(t.keyCode==o.Do.arrowleft){const e=t.domTarget.ownerDocument.defaultView.getSelection();if(1==e.rangeCount&&e.getRangeAt(0).collapsed){const t=e.getRangeAt(0).startContainer,s=e.getRangeAt(0).startOffset;d(t)&&s<=c&&e.collapse(t,0)}}}},"./packages/ckeditor5-engine/src/view/matcher.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/isPlainObject.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class r{constructor(...e){this._patterns=[],this.add(...e)}add(...e){for(let t of e)("string"==typeof t||t instanceof RegExp)&&(t={name:t}),this._patterns.push(t)}match(...e){for(const t of e)for(const e of this._patterns){const s=n(t,e);if(s)return{element:t,pattern:e,match:s}}return null}matchAll(...e){const t=[];for(const s of e)for(const e of this._patterns){const o=n(s,e);o&&t.push({element:s,pattern:e,match:o})}return t.length>0?t:null}getElementName(){if(1!==this._patterns.length)return null;const e=this._patterns[0],t=e.name;return"function"==typeof e||!t||t instanceof RegExp?null:t}}function n(e,t){if("function"==typeof t)return t(e);const s={};return t.name&&(s.name=function(e,t){if(e instanceof RegExp)return!!t.match(e);return e===t}(t.name,e.name),!s.name)||t.attributes&&(s.attributes=function(e,t){const s=new Set(t.getAttributeKeys());(0,o.Z)(e)?(void 0!==e.style&&(0,i.KE)("matcher-pattern-deprecated-attributes-style-key",e),void 0!==e.class&&(0,i.KE)("matcher-pattern-deprecated-attributes-class-key",e)):(s.delete("style"),s.delete("class"));return a(e,s,(e=>t.getAttribute(e)))}(t.attributes,e),!s.attributes)?null:!(t.classes&&(s.classes=function(e,t){return a(e,t.getClassNames())}(t.classes,e),!s.classes))&&(!(t.styles&&(s.styles=function(e,t){return a(e,t.getStyleNames(!0),(e=>t.getStyle(e)))}(t.styles,e),!s.styles))&&s)}function a(e,t,s){const r=function(e){if(Array.isArray(e))return e.map((e=>(0,o.Z)(e)?(void 0!==e.key&&void 0!==e.value||(0,i.KE)("matcher-pattern-missing-key-or-value",e),[e.key,e.value]):[e,!0]));if((0,o.Z)(e))return Object.entries(e);return[[e,!0]]}(e),n=Array.from(t),a=[];return r.forEach((([e,t])=>{n.forEach((o=>{(function(e,t){return!0===e||e===t||e instanceof RegExp&&t.match(e)})(e,o)&&function(e,t,s){if(!0===e)return!0;const o=s(t);return e===o||e instanceof RegExp&&!!String(o).match(e)}(t,o,s)&&a.push(o)}))})),!r.length||a.length<r.length?null:a}},"./packages/ckeditor5-engine/src/view/node.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/emittermixin.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-utils/src/comparearrays.js"),a=s("./node_modules/lodash-es/clone.js");s("./packages/ckeditor5-utils/src/version.js");class c{constructor(e){this.document=e,this.parent=null}get index(){let e;if(!this.parent)return null;if(-1==(e=this.parent.getChildIndex(this)))throw new o.ZP("view-node-not-found-in-parent",this);return e}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return this.root.is("rootElement")}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.index),t=t.parent;return e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let s=e.includeSelf?this:this.parent;for(;s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}getCommonAncestor(e,t={}){const s=this.getAncestors(t),o=e.getAncestors(t);let i=0;for(;s[i]==o[i]&&s[i];)i++;return 0===i?null:s[i-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),s=e.getPath(),o=(0,n.Z)(t,s);switch(o){case"prefix":return!0;case"extension":return!1;default:return t[o]<s[o]}}isAfter(e){return this!=e&&(this.root===e.root&&!this.isBefore(e))}_remove(){this.parent._removeChildren(this.index)}_fireChange(e,t){this.fire("change:"+e,t),this.parent&&this.parent._fireChange(e,t)}toJSON(){const e=(0,a.Z)(this);return delete e.parent,e}is(e){return"node"===e||"view:node"===e}}(0,r.Z)(c,i.ZP)},"./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/eventinfo.js");class i extends o.Z{constructor(e,t,s){super(e,t),this.startRange=s,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}},"./packages/ckeditor5-engine/src/view/observer/domeventdata.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/assignIn.js");class i{constructor(e,t,s){this.view=e,this.document=e.document,this.domEvent=t,this.domTarget=t.target,(0,o.Z)(this,s)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}},"./packages/ckeditor5-engine/src/view/observer/domeventobserver.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/view/observer/observer.js"),i=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.js");class r extends o.Z{constructor(e){super(e),this.useCapture=!1}observe(e){("string"==typeof this.domEventType?[this.domEventType]:this.domEventType).forEach((t=>{this.listenTo(e,t,((e,t)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(t.target)&&this.onDomEvent(t)}),{useCapture:this.useCapture})}))}fire(e,t,s){this.isEnabled&&this.document.fire(e,new i.Z(this.view,t,s))}}},"./packages/ckeditor5-engine/src/view/observer/mouseobserver.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js");class i extends o.Z{constructor(e){super(e),this.domEventType=["mousedown","mouseup","mouseover","mouseout"]}onDomEvent(e){this.fire(e.type,e)}}},"./packages/ckeditor5-engine/src/view/observer/observer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.view=e,this.document=e.document,this.isEnabled=!1}enable(){this.isEnabled=!0}disable(){this.isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(e){return e&&3===e.nodeType&&(e=e.parentNode),!(!e||1!==e.nodeType)&&e.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}(0,i.Z)(r,o.Z)},"./packages/ckeditor5-engine/src/view/position.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/view/treewalker.js"),i=s("./packages/ckeditor5-utils/src/comparearrays.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-engine/src/view/editableelement.js");s("./packages/ckeditor5-utils/src/version.js");class a{constructor(e,t){this.parent=e,this.offset=t}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const e=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===e}get root(){return this.parent.root}get editableElement(){let e=this.parent;for(;!(e instanceof n.Z);){if(!e.parent)return null;e=e.parent}return e}getShiftedBy(e){const t=a._createAt(this),s=t.offset+e;return t.offset=s<0?0:s,t}getLastMatchingPosition(e,t={}){t.startPosition=this;const s=new o.Z(t);return s.skip(e),s.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(e){const t=this.getAncestors(),s=e.getAncestors();let o=0;for(;t[o]==s[o]&&t[o];)o++;return 0===o?null:t[o-1]}is(e){return"position"===e||"view:position"===e}isEqual(e){return this.parent==e.parent&&this.offset==e.offset}isBefore(e){return"before"==this.compareWith(e)}isAfter(e){return"after"==this.compareWith(e)}compareWith(e){if(this.root!==e.root)return"different";if(this.isEqual(e))return"same";const t=this.parent.is("node")?this.parent.getPath():[],s=e.parent.is("node")?e.parent.getPath():[];t.push(this.offset),s.push(e.offset);const o=(0,i.Z)(t,s);switch(o){case"prefix":return"before";case"extension":return"after";default:return t[o]<s[o]?"before":"after"}}getWalker(e={}){return e.startPosition=this,new o.Z(e)}clone(){return new a(this.parent,this.offset)}static _createAt(e,t){if(e instanceof a)return new this(e.parent,e.offset);{const s=e;if("end"==t)t=s.is("$text")?s.data.length:s.childCount;else{if("before"==t)return this._createBefore(s);if("after"==t)return this._createAfter(s);if(0!==t&&!t)throw new r.ZP("view-createpositionat-offset-required",s)}return new a(s,t)}}static _createAfter(e){if(e.is("$textProxy"))return new a(e.textNode,e.offsetInText+e.data.length);if(!e.parent)throw new r.ZP("view-position-after-root",e,{root:e});return new a(e.parent,e.index+1)}static _createBefore(e){if(e.is("$textProxy"))return new a(e.textNode,e.offsetInText);if(!e.parent)throw new r.ZP("view-position-before-root",e,{root:e});return new a(e.parent,e.index)}}},"./packages/ckeditor5-engine/src/view/range.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/view/position.js"),i=s("./packages/ckeditor5-engine/src/view/treewalker.js");class r{constructor(e,t=null){this.start=e.clone(),this.end=t?t.clone():e.clone()}*[Symbol.iterator](){yield*new i.Z({boundaries:this,ignoreElementEnd:!0})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){return this.start.parent===this.end.parent}get root(){return this.start.root}getEnlarged(){let e=this.start.getLastMatchingPosition(n,{direction:"backward"}),t=this.end.getLastMatchingPosition(n);return e.parent.is("$text")&&e.isAtStart&&(e=o.Z._createBefore(e.parent)),t.parent.is("$text")&&t.isAtEnd&&(t=o.Z._createAfter(t.parent)),new r(e,t)}getTrimmed(){let e=this.start.getLastMatchingPosition(n);if(e.isAfter(this.end)||e.isEqual(this.end))return new r(e,e);let t=this.end.getLastMatchingPosition(n,{direction:"backward"});const s=e.nodeAfter,i=t.nodeBefore;return s&&s.is("$text")&&(e=new o.Z(s,0)),i&&i.is("$text")&&(t=new o.Z(i,i.data.length)),new r(e,t)}isEqual(e){return this==e||this.start.isEqual(e.start)&&this.end.isEqual(e.end)}containsPosition(e){return e.isAfter(this.start)&&e.isBefore(this.end)}containsRange(e,t=!1){e.isCollapsed&&(t=!1);const s=this.containsPosition(e.start)||t&&this.start.isEqual(e.start),o=this.containsPosition(e.end)||t&&this.end.isEqual(e.end);return s&&o}getDifference(e){const t=[];return this.isIntersecting(e)?(this.containsPosition(e.start)&&t.push(new r(this.start,e.start)),this.containsPosition(e.end)&&t.push(new r(e.end,this.end))):t.push(this.clone()),t}getIntersection(e){if(this.isIntersecting(e)){let t=this.start,s=this.end;return this.containsPosition(e.start)&&(t=e.start),this.containsPosition(e.end)&&(s=e.end),new r(t,s)}return null}getWalker(e={}){return e.boundaries=this,new i.Z(e)}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed)return null;let e=this.start.nodeAfter,t=this.end.nodeBefore;return this.start.parent.is("$text")&&this.start.isAtEnd&&this.start.parent.nextSibling&&(e=this.start.parent.nextSibling),this.end.parent.is("$text")&&this.end.isAtStart&&this.end.parent.previousSibling&&(t=this.end.parent.previousSibling),e&&e.is("element")&&e===t?e:null}clone(){return new r(this.start,this.end)}*getItems(e={}){e.boundaries=this,e.ignoreElementEnd=!0;const t=new i.Z(e);for(const e of t)yield e.item}*getPositions(e={}){e.boundaries=this;const t=new i.Z(e);yield t.position;for(const e of t)yield e.nextPosition}is(e){return"range"===e||"view:range"===e}isIntersecting(e){return this.start.isBefore(e.end)&&this.end.isAfter(e.start)}static _createFromParentsAndOffsets(e,t,s,i){return new this(new o.Z(e,t),new o.Z(s,i))}static _createFromPositionAndShift(e,t){const s=e,o=e.getShiftedBy(t);return t>0?new this(s,o):new this(o,s)}static _createIn(e){return this._createFromParentsAndOffsets(e,0,e,e.childCount)}static _createOn(e){const t=e.is("$textProxy")?e.offsetSize:1;return this._createFromPositionAndShift(o.Z._createBefore(e),t)}}function n(e){return!(!e.item.is("attributeElement")&&!e.item.is("uiElement"))}},"./packages/ckeditor5-engine/src/view/renderer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>v});var o=s("./packages/ckeditor5-engine/src/view/text.js"),i=s("./packages/ckeditor5-engine/src/view/position.js"),r=s("./packages/ckeditor5-engine/src/view/filler.js"),n=s("./packages/ckeditor5-utils/src/mix.js"),a=s("./packages/ckeditor5-utils/src/diff.js");function c(e,t,s){e.insertBefore(s,e.childNodes[t]||null)}function l(e){const t=e.parentNode;t&&t.removeChild(e)}var d=s("./packages/ckeditor5-utils/src/observablemixin.js"),h=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),u=s("./packages/ckeditor5-utils/src/dom/istext.js"),p=s("./packages/ckeditor5-utils/src/dom/iscomment.js"),g=s("./packages/ckeditor5-utils/src/dom/isnode.js"),m=s("./packages/ckeditor5-utils/src/fastdiff.js"),f=s("./packages/ckeditor5-utils/src/env.js"),k=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_=s.n(k),b=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/renderer.css"),w={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};_()(b.Z,w);b.Z.locals;class v{constructor(e,t){this.domDocuments=new Set,this.domConverter=e,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this.selection=t,this.set("isFocused",!1),this.set("isSelecting",!1),f.ZP.isBlink&&!f.ZP.isAndroid&&this.on("change:isSelecting",(()=>{this.isSelecting||this.render()})),this._inlineFiller=null,this._fakeSelectionContainer=null}markToSync(e,t){if("text"===e)this.domConverter.mapViewToDom(t.parent)&&this.markedTexts.add(t);else{if(!this.domConverter.mapViewToDom(t))return;if("attributes"===e)this.markedAttributes.add(t);else{if("children"!==e)throw new h.ZP("view-renderer-unknown-type",this);this.markedChildren.add(t)}}}render(){let e;const t=!(f.ZP.isBlink&&!f.ZP.isAndroid)||!this.isSelecting;for(const e of this.markedChildren)this._updateChildrenMappings(e);t?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?e=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(e=this.selection.getFirstPosition(),this.markedChildren.add(e.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(e=this.domConverter.domPositionToView(this._inlineFiller));for(const e of this.markedAttributes)this._updateAttrs(e);for(const t of this.markedChildren)this._updateChildren(t,{inlineFillerPosition:e});for(const t of this.markedTexts)!this.markedChildren.has(t.parent)&&this.domConverter.mapViewToDom(t.parent)&&this._updateText(t,{inlineFillerPosition:e});if(t)if(e){const t=this.domConverter.viewPositionToDom(e),s=t.parent.ownerDocument;(0,r.Sw)(t.parent)?this._inlineFiller=t.parent:this._inlineFiller=y(s,t.parent,t.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(e){const t=this.domConverter.mapViewToDom(e);if(!t)return;const s=Array.from(this.domConverter.mapViewToDom(e).childNodes),o=Array.from(this.domConverter.viewChildrenToDom(e,t.ownerDocument,{withChildren:!1})),i=this._diffNodeLists(s,o),r=this._findReplaceActions(i,s,o);if(-1!==r.indexOf("replace")){const t={equal:0,insert:0,delete:0};for(const i of r)if("replace"===i){const i=t.equal+t.insert,r=t.equal+t.delete,n=e.getChild(i);!n||n.is("uiElement")||n.is("rawElement")||this._updateElementMappings(n,s[r]),l(o[i]),t.equal++}else t[i]++}}_updateElementMappings(e,t){this.domConverter.unbindDomElement(t),this.domConverter.bindElements(t,e),this.markedChildren.add(e),this.markedAttributes.add(e)}_getInlineFillerPosition(){const e=this.selection.getFirstPosition();return e.parent.is("$text")?i.Z._createBefore(this.selection.getFirstPosition().parent):e}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=this.domConverter.viewPositionToDom(e);return!!(t&&(0,u.Z)(t.parent)&&(0,r.Sw)(t.parent))}_removeInlineFiller(){const e=this._inlineFiller;if(!(0,r.Sw)(e))throw new h.ZP("view-renderer-filler-was-lost",this);(0,r.Qh)(e)?e.remove():e.data=e.data.substr(r.b_),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=e.parent,s=e.offset;if(!this.domConverter.mapViewToDom(t.root))return!1;if(!t.is("element"))return!1;if(!function(e){if("false"==e.getAttribute("contenteditable"))return!1;const t=e.findAncestor((e=>e.hasAttribute("contenteditable")));return!t||"true"==t.getAttribute("contenteditable")}(t))return!1;if(s===t.getFillerOffset())return!1;const i=e.nodeBefore,r=e.nodeAfter;return!(i instanceof o.Z||r instanceof o.Z)}_updateText(e,t){const s=this.domConverter.findCorrespondingDomText(e),o=this.domConverter.viewToDom(e,s.ownerDocument),i=s.data;let n=o.data;const a=t.inlineFillerPosition;if(a&&a.parent==e.parent&&a.offset==e.index&&(n=r.Pj+n),i!=n){const e=(0,m.Z)(i,n);for(const t of e)"insert"===t.type?s.insertData(t.index,t.values.join("")):s.deleteData(t.index,t.howMany)}}_updateAttrs(e){const t=this.domConverter.mapViewToDom(e);if(!t)return;const s=Array.from(t.attributes).map((e=>e.name)),o=e.getAttributeKeys();for(const s of o)this.domConverter.setDomElementAttribute(t,s,e.getAttribute(s),e);for(const o of s)e.hasAttribute(o)||this.domConverter.removeDomElementAttribute(t,o)}_updateChildren(e,t){const s=this.domConverter.mapViewToDom(e);if(!s)return;const o=t.inlineFillerPosition,i=this.domConverter.mapViewToDom(e).childNodes,r=Array.from(this.domConverter.viewChildrenToDom(e,s.ownerDocument,{bind:!0}));o&&o.parent===e&&y(s.ownerDocument,r,o.offset);const n=this._diffNodeLists(i,r);let a=0;const d=new Set;for(const e of n)"delete"===e?(d.add(i[a]),l(i[a])):"equal"===e&&a++;a=0;for(const e of n)"insert"===e?(c(s,a,r[a]),a++):"equal"===e&&(this._markDescendantTextToSync(this.domConverter.domToView(r[a])),a++);for(const e of d)e.parentNode||this.domConverter.unbindDomElement(e)}_diffNodeLists(e,t){return e=function(e,t){const s=Array.from(e);if(0==s.length||!t)return s;s[s.length-1]==t&&s.pop();return s}(e,this._fakeSelectionContainer),(0,a.Z)(e,t,P.bind(null,this.domConverter))}_findReplaceActions(e,t,s){if(-1===e.indexOf("insert")||-1===e.indexOf("delete"))return e;let o=[],i=[],r=[];const n={equal:0,insert:0,delete:0};for(const c of e)"insert"===c?r.push(s[n.equal+n.insert]):"delete"===c?i.push(t[n.equal+n.delete]):(o=o.concat((0,a.Z)(i,r,Z).map((e=>"equal"===e?"replace":e))),o.push("equal"),i=[],r=[]),n[c]++;return o.concat((0,a.Z)(i,r,Z).map((e=>"equal"===e?"replace":e)))}_markDescendantTextToSync(e){if(e)if(e.is("$text"))this.markedTexts.add(e);else if(e.is("element"))for(const t of e.getChildren())this._markDescendantTextToSync(t)}_updateSelection(){if(f.ZP.isBlink&&!f.ZP.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const e=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&e&&(this.selection.isFake?this._updateFakeSelection(e):(this._removeFakeSelection(),this._updateDomSelection(e)))}_updateFakeSelection(e){const t=e.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(e){const t=e.createElement("div");return t.className="ck-fake-selection-container",Object.assign(t.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),t.textContent=" ",t}(t));const s=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(s,this.selection),!this._fakeSelectionNeedsUpdate(e))return;s.parentElement&&s.parentElement==e||e.appendChild(s),s.textContent=this.selection.fakeSelectionLabel||" ";const o=t.getSelection(),i=t.createRange();o.removeAllRanges(),i.selectNodeContents(s),o.addRange(i)}_updateDomSelection(e){const t=e.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(t))return;const s=this.domConverter.viewPositionToDom(this.selection.anchor),o=this.domConverter.viewPositionToDom(this.selection.focus);t.collapse(s.parent,s.offset),t.extend(o.parent,o.offset),f.ZP.isGecko&&function(e,t){const s=e.parent;if(s.nodeType!=Node.ELEMENT_NODE||e.offset!=s.childNodes.length-1)return;const o=s.childNodes[e.offset];o&&"BR"==o.tagName&&t.addRange(t.getRangeAt(0))}(o,t)}_domSelectionNeedsUpdate(e){if(!this.domConverter.isDomSelectionCorrect(e))return!0;const t=e&&this.domConverter.domSelectionToView(e);return(!t||!this.selection.isEqual(t))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(t))}_fakeSelectionNeedsUpdate(e){const t=this._fakeSelectionContainer,s=e.ownerDocument.getSelection();return!t||t.parentElement!==e||(s.anchorNode!==t&&!t.contains(s.anchorNode)||t.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const e of this.domDocuments){if(e.getSelection().rangeCount){const t=e.activeElement,s=this.domConverter.mapDomToView(t);t&&s&&e.getSelection().removeAllRanges()}}}_removeFakeSelection(){const e=this._fakeSelectionContainer;e&&e.remove()}_updateFocus(){if(this.isFocused){const e=this.selection.editableElement;e&&this.domConverter.focus(e)}}}function y(e,t,s){const o=t instanceof Array?t:t.childNodes,i=o[s];if((0,u.Z)(i))return i.data=r.Pj+i.data,i;{const i=e.createTextNode(r.Pj);return Array.isArray(t)?o.splice(s,0,i):c(t,s,i),i}}function Z(e,t){return(0,g.Z)(e)&&(0,g.Z)(t)&&!(0,u.Z)(e)&&!(0,u.Z)(t)&&!(0,p.Z)(e)&&!(0,p.Z)(t)&&e.tagName.toLowerCase()===t.tagName.toLowerCase()}function P(e,t,s){return t===s||((0,u.Z)(t)&&(0,u.Z)(s)?t.data===s.data:!(!e.isBlockFiller(t)||!e.isBlockFiller(s)))}(0,n.Z)(v,d.Z)},"./packages/ckeditor5-engine/src/view/selection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-engine/src/view/range.js"),r=s("./packages/ckeditor5-engine/src/view/position.js"),n=s("./packages/ckeditor5-utils/src/mix.js"),a=s("./packages/ckeditor5-utils/src/emittermixin.js"),c=s("./packages/ckeditor5-engine/src/view/node.js"),l=s("./packages/ckeditor5-utils/src/count.js"),d=s("./packages/ckeditor5-utils/src/isiterable.js"),h=s("./packages/ckeditor5-engine/src/view/documentselection.js");class u{constructor(e=null,t,s){this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",this.setTo(e,t,s)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.end:e.start).clone()}get focus(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.start:e.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const e of this._ranges)yield e.clone()}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?e.clone():null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?e.clone():null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}isEqual(e){if(this.isFake!=e.isFake)return!1;if(this.isFake&&this.fakeSelectionLabel!=e.fakeSelectionLabel)return!1;if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let s=!1;for(const o of e._ranges)if(t.isEqual(o)){s=!0;break}if(!s)return!1}return!0}isSimilar(e){if(this.isBackward!=e.isBackward)return!1;const t=(0,l.Z)(this.getRanges());if(t!=(0,l.Z)(e.getRanges()))return!1;if(0==t)return!0;for(let t of this.getRanges()){t=t.getTrimmed();let s=!1;for(let o of e.getRanges())if(o=o.getTrimmed(),t.start.isEqual(o.start)&&t.end.isEqual(o.end)){s=!0;break}if(!s)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(e,t,s){if(null===e)this._setRanges([]),this._setFakeOptions(t);else if(e instanceof u||e instanceof h.Z)this._setRanges(e.getRanges(),e.isBackward),this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel});else if(e instanceof i.Z)this._setRanges([e],t&&t.backward),this._setFakeOptions(t);else if(e instanceof r.Z)this._setRanges([new i.Z(e)]),this._setFakeOptions(t);else if(e instanceof c.Z){const n=!!s&&!!s.backward;let a;if(void 0===t)throw new o.ZP("view-selection-setto-required-second-parameter",this);a="in"==t?i.Z._createIn(e):"on"==t?i.Z._createOn(e):new i.Z(r.Z._createAt(e,t)),this._setRanges([a],n),this._setFakeOptions(s)}else{if(!(0,d.Z)(e))throw new o.ZP("view-selection-setto-not-selectable",this);this._setRanges(e,t&&t.backward),this._setFakeOptions(t)}this.fire("change")}setFocus(e,t){if(null===this.anchor)throw new o.ZP("view-selection-setfocus-no-ranges",this);const s=r.Z._createAt(e,t);if("same"==s.compareWith(this.focus))return;const n=this.anchor;this._ranges.pop(),"before"==s.compareWith(n)?this._addRange(new i.Z(s,n),!0):this._addRange(new i.Z(n,s)),this.fire("change")}is(e){return"selection"===e||"view:selection"===e}_setRanges(e,t=!1){e=Array.from(e),this._ranges=[];for(const t of e)this._addRange(t);this._lastRangeBackward=!!t}_setFakeOptions(e={}){this._isFake=!!e.fake,this._fakeSelectionLabel=e.fake&&e.label||""}_addRange(e,t=!1){if(!(e instanceof i.Z))throw new o.ZP("view-selection-add-range-not-range",this);this._pushRange(e),this._lastRangeBackward=!!t}_pushRange(e){for(const t of this._ranges)if(e.isIntersecting(t))throw new o.ZP("view-selection-range-intersects",this,{addedRange:e,intersectingRange:t});this._ranges.push(new i.Z(e.start,e.end))}}(0,n.Z)(u,a.ZP)},"./packages/ckeditor5-engine/src/view/stylesmap.js":(e,t,s)=>{"use strict";s.d(t,{A:()=>ee,Z:()=>Y});var o=s("./node_modules/lodash-es/isArray.js"),i=s("./node_modules/lodash-es/isSymbol.js"),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;const a=function(e,t){if((0,o.Z)(e))return!1;var s=typeof e;return!("number"!=s&&"symbol"!=s&&"boolean"!=s&&null!=e&&!(0,i.Z)(e))||(n.test(e)||!r.test(e)||null!=t&&e in Object(t))};var c=s("./node_modules/lodash-es/_MapCache.js");function l(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var s=function(){var o=arguments,i=t?t.apply(this,o):o[0],r=s.cache;if(r.has(i))return r.get(i);var n=e.apply(this,o);return s.cache=r.set(i,n)||r,n};return s.cache=new(l.Cache||c.Z),s}l.Cache=c.Z;const d=l;var h=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,u=/\\(\\)?/g;const p=function(e){var t=d(e,(function(e){return 500===s.size&&s.clear(),e})),s=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(h,(function(e,s,o,i){t.push(o?i.replace(u,"$1"):s||e)})),t}));var g=s("./node_modules/lodash-es/toString.js");const m=function(e,t){return(0,o.Z)(e)?e:a(e,t)?[e]:p((0,g.Z)(e))};const f=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0};const k=function(e){if("string"==typeof e||(0,i.Z)(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t};const _=function(e,t){for(var s=0,o=(t=m(t,e)).length;null!=e&&s<o;)e=e[k(t[s++])];return s&&s==o?e:void 0};const b=function(e,t,s){var o=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(s=s>i?i:s)<0&&(s+=i),i=t>s?0:s-t>>>0,t>>>=0;for(var r=Array(i);++o<i;)r[o]=e[o+t];return r};const w=function(e,t){return t.length<2?e:_(e,b(t,0,-1))};const v=function(e,t){return t=m(t,e),null==(e=w(e,t))||delete e[k(f(t))]};const y=function(e,t){return null==e||v(e,t)};const Z=function(e,t,s){var o=null==e?void 0:_(e,t);return void 0===o?s:o};var P=s("./node_modules/lodash-es/_Stack.js"),j=s("./node_modules/lodash-es/_baseAssignValue.js"),x=s("./node_modules/lodash-es/eq.js");const A=function(e,t,s){(void 0!==s&&!(0,x.Z)(e[t],s)||void 0===s&&!(t in e))&&(0,j.Z)(e,t,s)};const T=function(e){return function(t,s,o){for(var i=-1,r=Object(t),n=o(t),a=n.length;a--;){var c=n[e?a:++i];if(!1===s(r[c],c,r))break}return t}}();var C=s("./node_modules/lodash-es/_cloneBuffer.js"),E=s("./node_modules/lodash-es/_cloneTypedArray.js"),S=s("./node_modules/lodash-es/_copyArray.js"),O=s("./node_modules/lodash-es/_initCloneObject.js"),R=s("./node_modules/lodash-es/isArguments.js"),M=s("./node_modules/lodash-es/isArrayLike.js"),N=s("./node_modules/lodash-es/isObjectLike.js");const I=function(e){return(0,N.Z)(e)&&(0,M.Z)(e)};var z=s("./node_modules/lodash-es/isBuffer.js"),V=s("./node_modules/lodash-es/isFunction.js"),D=s("./node_modules/lodash-es/isObject.js"),B=s("./node_modules/lodash-es/isPlainObject.js"),F=s("./node_modules/lodash-es/isTypedArray.js");const L=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]};var W=s("./node_modules/lodash-es/_copyObject.js"),q=s("./node_modules/lodash-es/keysIn.js");const $=function(e){return(0,W.Z)(e,(0,q.Z)(e))};const H=function(e,t,s,i,r,n,a){var c=L(e,s),l=L(t,s),d=a.get(l);if(d)A(e,s,d);else{var h=n?n(c,l,s+"",e,t,a):void 0,u=void 0===h;if(u){var p=(0,o.Z)(l),g=!p&&(0,z.Z)(l),m=!p&&!g&&(0,F.Z)(l);h=l,p||g||m?(0,o.Z)(c)?h=c:I(c)?h=(0,S.Z)(c):g?(u=!1,h=(0,C.Z)(l,!0)):m?(u=!1,h=(0,E.Z)(l,!0)):h=[]:(0,B.Z)(l)||(0,R.Z)(l)?(h=c,(0,R.Z)(c)?h=$(c):(0,D.Z)(c)&&!(0,V.Z)(c)||(h=(0,O.Z)(l))):u=!1}u&&(a.set(l,h),r(h,l,i,n,a),a.delete(l)),A(e,s,h)}};const U=function e(t,s,o,i,r){t!==s&&T(s,(function(n,a){if(r||(r=new P.Z),(0,D.Z)(n))H(t,s,a,o,e,i,r);else{var c=i?i(L(t,a),n,a+"",t,s,r):void 0;void 0===c&&(c=n),A(t,a,c)}}),q.Z)};const K=(0,s("./node_modules/lodash-es/_createAssigner.js").Z)((function(e,t,s){U(e,t,s)}));var G=s("./node_modules/lodash-es/_assignValue.js"),J=s("./node_modules/lodash-es/_isIndex.js");const X=function(e,t,s,o){if(!(0,D.Z)(e))return e;for(var i=-1,r=(t=m(t,e)).length,n=r-1,a=e;null!=a&&++i<r;){var c=k(t[i]),l=s;if("__proto__"===c||"constructor"===c||"prototype"===c)return e;if(i!=n){var d=a[c];void 0===(l=o?o(d,c,a):void 0)&&(l=(0,D.Z)(d)?d:(0,J.Z)(t[i+1])?[]:{})}(0,G.Z)(a,c,l),a=a[c]}return e};const Q=function(e,t,s){return null==e?e:X(e,t,s)};class Y{constructor(e){this._styles={},this._styleProcessor=e}get isEmpty(){const e=Object.entries(this._styles);return!Array.from(e).length}get size(){return this.isEmpty?0:this.getStyleNames().length}setTo(e){this.clear();const t=Array.from(function(e){let t=null,s=0,o=0,i=null;const r=new Map;if(""===e)return r;";"!=e.charAt(e.length-1)&&(e+=";");for(let n=0;n<e.length;n++){const a=e.charAt(n);if(null===t)switch(a){case":":i||(i=e.substr(s,n-s),o=n+1);break;case'"':case"'":t=a;break;case";":{const t=e.substr(o,n-o);i&&r.set(i.trim(),t.trim()),i=null,s=n+1;break}}else a===t&&(t=null)}return r}(e).entries());for(const[e,s]of t)this._styleProcessor.toNormalizedForm(e,s,this._styles)}has(e){if(this.isEmpty)return!1;const t=this._styleProcessor.getReducedForm(e,this._styles).find((([t])=>t===e));return Array.isArray(t)}set(e,t){if((0,D.Z)(e))for(const[t,s]of Object.entries(e))this._styleProcessor.toNormalizedForm(t,s,this._styles);else this._styleProcessor.toNormalizedForm(e,t,this._styles)}remove(e){const t=te(e);y(this._styles,t),delete this._styles[e],this._cleanEmptyObjectsOnPath(t)}getNormalized(e){return this._styleProcessor.getNormalized(e,this._styles)}toString(){return this.isEmpty?"":this._getStylesEntries().map((e=>e.join(":"))).sort().join(";")+";"}getAsString(e){if(this.isEmpty)return;if(this._styles[e]&&!(0,D.Z)(this._styles[e]))return this._styles[e];const t=this._styleProcessor.getReducedForm(e,this._styles).find((([t])=>t===e));return Array.isArray(t)?t[1]:void 0}getStyleNames(e=!1){if(this.isEmpty)return[];if(e)return this._styleProcessor.getStyleNames(this._styles);return this._getStylesEntries().map((([e])=>e))}clear(){this._styles={}}_getStylesEntries(){const e=[],t=Object.keys(this._styles);for(const s of t)e.push(...this._styleProcessor.getReducedForm(s,this._styles));return e}_cleanEmptyObjectsOnPath(e){const t=e.split(".");if(!(t.length>1))return;const s=t.splice(0,t.length-1).join("."),o=Z(this._styles,s);if(!o)return;!Array.from(Object.keys(o)).length&&this.remove(s)}}class ee{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(e,t,s){if((0,D.Z)(t))se(s,te(e),t);else if(this._normalizers.has(e)){const o=this._normalizers.get(e),{path:i,value:r}=o(t);se(s,i,r)}else se(s,e,t)}getNormalized(e,t){if(!e)return K({},t);if(void 0!==t[e])return t[e];if(this._extractors.has(e)){const s=this._extractors.get(e);if("string"==typeof s)return Z(t,s);const o=s(e,t);if(o)return o}return Z(t,te(e))}getReducedForm(e,t){const s=this.getNormalized(e,t);if(void 0===s)return[];if(this._reducers.has(e)){return this._reducers.get(e)(s)}return[[e,s]]}getStyleNames(e){const t=Array.from(this._consumables.keys()).filter((t=>{const s=this.getNormalized(t,e);return s&&"object"==typeof s?Object.keys(s).length:s})),s=new Set([...t,...Object.keys(e)]);return Array.from(s.values())}getRelatedStyles(e){return this._consumables.get(e)||[]}setNormalizer(e,t){this._normalizers.set(e,t)}setExtractor(e,t){this._extractors.set(e,t)}setReducer(e,t){this._reducers.set(e,t)}setStyleRelation(e,t){this._mapStyleNames(e,t);for(const s of t)this._mapStyleNames(s,[e])}_mapStyleNames(e,t){this._consumables.has(e)||this._consumables.set(e,[]),this._consumables.get(e).push(...t)}}function te(e){return e.replace("-",".")}function se(e,t,s){let o=s;(0,D.Z)(s)&&(o=K({},Z(e,t),s)),Q(e,t,o)}},"./packages/ckeditor5-engine/src/view/text.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/view/node.js");class i extends o.Z{constructor(e,t){super(e),this._textData=t}is(e){return"$text"===e||"view:$text"===e||"text"===e||"view:text"===e||"node"===e||"view:node"===e}get data(){return this._textData}get _data(){return this.data}set _data(e){this._fireChange("text",this),this._textData=e}isSimilar(e){return e instanceof i&&(this===e||this.data===e.data)}_clone(){return new i(this.document,this.data)}}},"./packages/ckeditor5-engine/src/view/textproxy.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class i{constructor(e,t,s){if(this.textNode=e,t<0||t>e.data.length)throw new o.ZP("view-textproxy-wrong-offsetintext",this);if(s<0||t+s>e.data.length)throw new o.ZP("view-textproxy-wrong-length",this);this.data=e.data.substring(t,t+s),this.offsetInText=t}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}is(e){return"$textProxy"===e||"view:$textProxy"===e||"textProxy"===e||"view:textProxy"===e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let s=e.includeSelf?this.textNode:this.parent;for(;null!==s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}}},"./packages/ckeditor5-engine/src/view/treewalker.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/view/element.js"),i=s("./packages/ckeditor5-engine/src/view/text.js"),r=s("./packages/ckeditor5-engine/src/view/textproxy.js"),n=s("./packages/ckeditor5-engine/src/view/position.js"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class c{constructor(e={}){if(!e.boundaries&&!e.startPosition)throw new a.ZP("view-tree-walker-no-start-position",null);if(e.direction&&"forward"!=e.direction&&"backward"!=e.direction)throw new a.ZP("view-tree-walker-unknown-direction",e.startPosition,{direction:e.direction});this.boundaries=e.boundaries||null,e.startPosition?this.position=n.Z._createAt(e.startPosition):this.position=n.Z._createAt(e.boundaries["backward"==e.direction?"end":"start"]),this.direction=e.direction||"forward",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(e){let t,s,o;do{o=this.position,({done:t,value:s}=this.next())}while(!t&&e(s));t||(this.position=o)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){let e=this.position.clone();const t=this.position,s=e.parent;if(null===s.parent&&e.offset===s.childCount)return{done:!0};if(s===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0};let a;if(s instanceof i.Z){if(e.isAtEnd)return this.position=n.Z._createAfter(s),this._next();a=s.data[e.offset]}else a=s.getChild(e.offset);if(a instanceof o.Z)return this.shallow?e.offset++:e=new n.Z(a,0),this.position=e,this._formatReturnValue("elementStart",a,t,e,1);if(a instanceof i.Z){if(this.singleCharacters)return e=new n.Z(a,0),this.position=e,this._next();{let s,o=a.data.length;return a==this._boundaryEndParent?(o=this.boundaries.end.offset,s=new r.Z(a,0,o),e=n.Z._createAfter(s)):(s=new r.Z(a,0,a.data.length),e.offset++),this.position=e,this._formatReturnValue("text",s,t,e,o)}}if("string"==typeof a){let o;if(this.singleCharacters)o=1;else{o=(s===this._boundaryEndParent?this.boundaries.end.offset:s.data.length)-e.offset}const i=new r.Z(s,e.offset,o);return e.offset+=o,this.position=e,this._formatReturnValue("text",i,t,e,o)}return e=n.Z._createAfter(s),this.position=e,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",s,t,e)}_previous(){let e=this.position.clone();const t=this.position,s=e.parent;if(null===s.parent&&0===e.offset)return{done:!0};if(s==this._boundaryStartParent&&e.offset==this.boundaries.start.offset)return{done:!0};let a;if(s instanceof i.Z){if(e.isAtStart)return this.position=n.Z._createBefore(s),this._previous();a=s.data[e.offset-1]}else a=s.getChild(e.offset-1);if(a instanceof o.Z)return this.shallow?(e.offset--,this.position=e,this._formatReturnValue("elementStart",a,t,e,1)):(e=new n.Z(a,a.childCount),this.position=e,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",a,t,e));if(a instanceof i.Z){if(this.singleCharacters)return e=new n.Z(a,a.data.length),this.position=e,this._previous();{let s,o=a.data.length;if(a==this._boundaryStartParent){const t=this.boundaries.start.offset;s=new r.Z(a,t,a.data.length-t),o=s.data.length,e=n.Z._createBefore(s)}else s=new r.Z(a,0,a.data.length),e.offset--;return this.position=e,this._formatReturnValue("text",s,t,e,o)}}if("string"==typeof a){let o;if(this.singleCharacters)o=1;else{const t=s===this._boundaryStartParent?this.boundaries.start.offset:0;o=e.offset-t}e.offset-=o;const i=new r.Z(s,e.offset,o);return this.position=e,this._formatReturnValue("text",i,t,e,o)}return e=n.Z._createBefore(s),this.position=e,this._formatReturnValue("elementStart",s,t,e,1)}_formatReturnValue(e,t,s,o,i){return t instanceof r.Z&&(t.offsetInText+t.data.length==t.textNode.data.length&&("forward"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?s=n.Z._createAfter(t.textNode):(o=n.Z._createAfter(t.textNode),this.position=o)),0===t.offsetInText&&("backward"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?s=n.Z._createBefore(t.textNode):(o=n.Z._createBefore(t.textNode),this.position=o))),{done:!1,value:{type:e,item:t,previousPosition:s,nextPosition:o,length:i}}}}},"./packages/ckeditor5-engine/src/view/uielement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a,h:()=>c});var o=s("./packages/ckeditor5-engine/src/view/element.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=s("./packages/ckeditor5-engine/src/view/node.js"),n=s("./packages/ckeditor5-utils/src/keyboard.js");class a extends o.Z{constructor(e,t,s,o){super(e,t,s,o),this.getFillerOffset=l}is(e,t=null){return t?t===this.name&&("uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e):"uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}_insertChild(e,t){if(t&&(t instanceof r.Z||Array.from(t).length>0))throw new i.ZP("view-uielement-cannot-add",this)}render(e){return this.toDomElement(e)}toDomElement(e){const t=e.createElement(this.name);for(const e of this.getAttributeKeys())t.setAttribute(e,this.getAttribute(e));return t}}function c(e){e.document.on("arrowKey",((t,s)=>function(e,t,s){if(t.keyCode==n.Do.arrowright){const e=t.domTarget.ownerDocument.defaultView.getSelection(),o=1==e.rangeCount&&e.getRangeAt(0).collapsed;if(o||t.shiftKey){const t=e.focusNode,i=e.focusOffset,r=s.domPositionToView(t,i);if(null===r)return;let n=!1;const a=r.getLastMatchingPosition((e=>(e.item.is("uiElement")&&(n=!0),!(!e.item.is("uiElement")&&!e.item.is("attributeElement")))));if(n){const t=s.viewPositionToDom(a);o?e.collapse(t.parent,t.offset):e.extend(t.parent,t.offset)}}}}(0,s,e.domConverter)),{priority:"low"})}function l(){return null}},"./packages/ckeditor5-enter/src/enter.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-enter/src/utils.js");class n extends i.Z{execute(){const e=this.editor.model,t=e.document;e.change((s=>{!function(e,t,s,o){const i=s.isCollapsed,n=s.getFirstRange(),c=n.start.parent,l=n.end.parent;if(o.isLimit(c)||o.isLimit(l))return void(i||c!=l||e.deleteContent(s));if(i){const e=(0,r.G)(t.model.schema,s.getAttributes());a(t,n.start),t.setSelectionAttribute(e)}else{const o=!(n.start.isAtStart&&n.end.isAtEnd),i=c==l;e.deleteContent(s,{leaveUnmerged:o}),o&&(i?a(t,s.focus):t.setSelection(l,0))}}(this.editor.model,s,t.selection,e.schema),this.fire("afterExecute",{writer:s})}))}}function a(e,t){e.split(t),e.setSelection(t.parent.nextSibling,0)}var c=s("./packages/ckeditor5-enter/src/enterobserver.js");class l extends o.Z{static get pluginName(){return"Enter"}init(){const e=this.editor,t=e.editing.view,s=t.document;t.addObserver(c.Z),e.commands.add("enter",new n(e)),this.listenTo(s,"enter",((s,o)=>{o.preventDefault(),o.isSoft||(e.execute("enter"),t.scrollToTheSelection())}),{priority:"low"})}}},"./packages/ckeditor5-enter/src/enterobserver.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/view/observer/observer.js"),i=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.js"),r=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js"),n=s("./packages/ckeditor5-utils/src/keyboard.js");class a extends o.Z{constructor(e){super(e);const t=this.document;t.on("keydown",((e,s)=>{if(this.isEnabled&&s.keyCode==n.Do.enter){const o=new r.Z(t,"enter",t.selection.getFirstRange());t.fire(o,new i.Z(t,s.domEvent,{isSoft:s.shiftKey})),o.stop.called&&e.stop()}}))}observe(){}}},"./packages/ckeditor5-enter/src/utils.js":(e,t,s)=>{"use strict";function*o(e,t){for(const s of t)s&&e.getAttributeProperties(s[0]).copyOnEnter&&(yield s)}s.d(t,{G:()=>o})},"./packages/ckeditor5-typing/src/delete.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>m});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-utils/src/count.js"),n=s("./packages/ckeditor5-typing/src/utils/changebuffer.js");class a extends i.Z{constructor(e,t){super(e),this.direction=t,this._buffer=new n.Z(e.model,e.config.get("typing.undoStep"))}get buffer(){return this._buffer}execute(e={}){const t=this.editor.model,s=t.document;t.enqueueChange(this._buffer.batch,(o=>{this._buffer.lock();const i=o.createSelection(e.selection||s.selection),n=e.sequence||1,a=i.isCollapsed;if(i.isCollapsed&&t.modifySelection(i,{direction:this.direction,unit:e.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(n))return void this._replaceEntireContentWithParagraph(o);if(this._shouldReplaceFirstBlockWithParagraph(i,n))return void this.editor.execute("paragraph",{selection:i});if(i.isCollapsed)return;let c=0;i.getFirstRange().getMinimalFlatRanges().forEach((e=>{c+=(0,r.Z)(e.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))})),t.deleteContent(i,{doNotResetEntireContent:a,direction:this.direction}),this._buffer.input(c),o.setSelection(i),this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(e){if(e>1)return!1;const t=this.editor.model,s=t.document.selection,o=t.schema.getLimitElement(s);if(!(s.isCollapsed&&s.containsEntireContent(o)))return!1;if(!t.schema.checkChild(o,"paragraph"))return!1;const i=o.getChild(0);return!i||"paragraph"!==i.name}_replaceEntireContentWithParagraph(e){const t=this.editor.model,s=t.document.selection,o=t.schema.getLimitElement(s),i=e.createElement("paragraph");e.remove(e.createRangeIn(o)),e.insert(i,o),e.setSelection(i,0)}_shouldReplaceFirstBlockWithParagraph(e,t){const s=this.editor.model;if(t>1||"backward"!=this.direction)return!1;if(!e.isCollapsed)return!1;const o=e.getFirstPosition(),i=s.schema.getLimitElement(o),r=i.getChild(0);return o.parent==r&&(!!e.containsEntireContent(r)&&(!!s.schema.checkChild(i,"paragraph")&&"paragraph"!=r.name))}}var c=s("./packages/ckeditor5-engine/src/view/observer/observer.js"),l=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.js"),d=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js"),h=s("./packages/ckeditor5-utils/src/keyboard.js"),u=s("./packages/ckeditor5-utils/src/env.js"),p=s("./packages/ckeditor5-typing/src/utils/utils.js");class g extends c.Z{constructor(e){super(e);const t=e.document;let s=0;function o(e,s,o){const i=new d.Z(t,"delete",t.selection.getFirstRange());t.fire(i,new l.Z(t,s,o)),i.stop.called&&e.stop()}t.on("keyup",((e,t)=>{t.keyCode!=h.Do.delete&&t.keyCode!=h.Do.backspace||(s=0)})),t.on("keydown",((e,i)=>{if(u.ZP.isWindows&&(0,p.Uw)(i,t))return;const r={};if(i.keyCode==h.Do.delete)r.direction="forward",r.unit="character";else{if(i.keyCode!=h.Do.backspace)return;r.direction="backward",r.unit="codePoint"}const n=u.ZP.isMac?i.altKey:i.ctrlKey;r.unit=n?"word":r.unit,r.sequence=++s,o(e,i.domEvent,r)})),u.ZP.isAndroid&&t.on("beforeinput",((t,s)=>{if("deleteContentBackward"!=s.domEvent.inputType)return;const i={unit:"codepoint",direction:"backward",sequence:1},r=s.domTarget.ownerDocument.defaultView.getSelection();r.anchorNode==r.focusNode&&r.anchorOffset+1!=r.focusOffset&&(i.selectionToRemove=e.domConverter.domSelectionToView(r)),o(t,s.domEvent,i)}))}observe(){}}class m extends o.Z{static get pluginName(){return"Delete"}init(){const e=this.editor,t=e.editing.view,s=t.document,o=e.model.document;t.addObserver(g),this._undoOnBackspace=!1;const i=new a(e,"forward");if(e.commands.add("deleteForward",i),e.commands.add("forwardDelete",i),e.commands.add("delete",new a(e,"backward")),this.listenTo(s,"delete",((s,o)=>{const i={unit:o.unit,sequence:o.sequence};if(o.selectionToRemove){const t=e.model.createSelection(),s=[];for(const t of o.selectionToRemove.getRanges())s.push(e.editing.mapper.toModelRange(t));t.setTo(s),i.selection=t}e.execute("forward"==o.direction?"deleteForward":"delete",i),o.preventDefault(),t.scrollToTheSelection()}),{priority:"low"}),u.ZP.isAndroid){let e=null;this.listenTo(s,"delete",((t,s)=>{const o=s.domTarget.ownerDocument.defaultView.getSelection();e={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}}),{priority:"lowest"}),this.listenTo(s,"keyup",((t,s)=>{if(e){const t=s.domTarget.ownerDocument.defaultView.getSelection();t.collapse(e.anchorNode,e.anchorOffset),t.extend(e.focusNode,e.focusOffset),e=null}}))}this.editor.plugins.has("UndoEditing")&&(this.listenTo(s,"delete",((t,s)=>{this._undoOnBackspace&&"backward"==s.direction&&1==s.sequence&&"codePoint"==s.unit&&(this._undoOnBackspace=!1,e.execute("undo"),s.preventDefault(),t.stop())}),{context:"$capture"}),this.listenTo(o,"change",(()=>{this._undoOnBackspace=!1})))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}},"./packages/ckeditor5-typing/src/utils/changebuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{constructor(e,t=20){this.model=e,this.size=0,this.limit=t,this.isLocked=!1,this._changeCallback=(e,t)=>{t.isLocal&&t.isUndoable&&t!==this._batch&&this._reset(!0)},this._selectionChangeCallback=()=>{this._reset()},this.model.document.on("change",this._changeCallback),this.model.document.selection.on("change:range",this._selectionChangeCallback),this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}input(e){this.size+=e,this.size>=this.limit&&this._reset(!0)}lock(){this.isLocked=!0}unlock(){this.isLocked=!1}destroy(){this.model.document.off("change",this._changeCallback),this.model.document.selection.off("change:range",this._selectionChangeCallback),this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(e){this.isLocked&&!e||(this._batch=null,this.size=0)}}},"./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n,u:()=>c});var o=s("./packages/ckeditor5-utils/src/keyboard.js"),i=s("./packages/ckeditor5-utils/src/env.js"),r=s("./packages/ckeditor5-typing/src/utils/utils.js");function n(e){let t=null;const s=e.model,o=e.editing.view,n=e.commands.get("input");function a(e){if(i.ZP.isWindows&&(0,r.Uw)(e,o.document))return;const a=s.document,d=o.document.isComposing,h=t&&t.isEqual(a.selection);t=null,n.isEnabled&&(c(e)||a.selection.isCollapsed||d&&229===e.keyCode||!d&&229===e.keyCode&&h||l())}function l(){const e=n.buffer;e.lock();const t=e.batch;s.enqueueChange(t,(()=>{s.deleteContent(s.document.selection)})),e.unlock()}i.ZP.isAndroid?o.document.on("beforeinput",((e,t)=>a(t)),{priority:"lowest"}):o.document.on("keydown",((e,t)=>a(t)),{priority:"lowest"}),o.document.on("compositionstart",(function(){const e=s.document,t=1!==e.selection.rangeCount||e.selection.getFirstRange().isFlat;if(e.selection.isCollapsed||t)return;l()}),{priority:"lowest"}),o.document.on("compositionend",(()=>{t=s.createSelection(s.document.selection)}),{priority:"lowest"})}const a=[(0,o.Cq)("arrowUp"),(0,o.Cq)("arrowRight"),(0,o.Cq)("arrowDown"),(0,o.Cq)("arrowLeft"),9,16,17,18,19,20,27,33,34,35,36,45,91,93,144,145,173,174,175,176,177,178,179,255];for(let e=112;e<=135;e++)a.push(e);function c(e){return!(!e.ctrlKey&&!e.metaKey)||a.includes(e.keyCode)}},"./packages/ckeditor5-typing/src/utils/utils.js":(e,t,s)=>{"use strict";s.d(t,{E9:()=>r,xG:()=>n,Uw:()=>c});var o=s("./packages/ckeditor5-utils/src/diff.js");var i=s("./packages/ckeditor5-utils/src/keyboard.js");function r(e){if(0==e.length)return!1;for(const t of e)if("children"===t.type&&!n(t))return!0;return!1}function n(e){if(e.newChildren.length-e.oldChildren.length!=1)return;const t=function(e,t){const s=[];let o,i=0;return e.forEach((e=>{"equal"==e?(r(),i++):"insert"==e?(n("insert")?o.values.push(t[i]):(r(),o={type:"insert",index:i,values:[t[i]]}),i++):n("delete")?o.howMany++:(r(),o={type:"delete",index:i,howMany:1})})),r(),s;function r(){o&&(s.push(o),o=null)}function n(e){return o&&o.type==e}}((0,o.Z)(e.oldChildren,e.newChildren,a),e.newChildren);if(t.length>1)return;const s=t[0];return s.values[0]&&s.values[0].is("$text")?s:void 0}function a(e,t){return e&&e.is("$text")&&t&&t.is("$text")?e.data===t.data:e===t}function c(e,t){const s=t.selection,o=e.shiftKey&&e.keyCode===i.Do.delete,r=!s.isCollapsed;return o&&r}},"./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js":(e,t,s)=>{"use strict";function o({emitter:e,activator:t,callback:s,contextElements:o}){e.listenTo(document,"mousedown",((e,i)=>{if(!t())return;const r="function"==typeof i.composedPath?i.composedPath():[];for(const e of o)if(e.contains(i.target)||r.includes(e))return;s()}))}s.d(t,{Z:()=>o})},"./packages/ckeditor5-ui/src/button/buttonview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-ui/src/icon/iconview.js"),r=s("./packages/ckeditor5-ui/src/tooltip/tooltipview.js"),n=s("./packages/ckeditor5-utils/src/uid.js"),a=s("./packages/ckeditor5-utils/src/keyboard.js"),c=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),l=s.n(c),d=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/button.css"),h={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};l()(d.Z,h);d.Z.locals;class u extends o.Z{constructor(e){super(e);const t=this.bindTemplate,s=(0,n.Z)();this.set("class"),this.set("labelStyle"),this.set("icon"),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke"),this.set("label"),this.set("tabindex",-1),this.set("tooltip"),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.tooltipView=this._createTooltipView(),this.labelView=this._createLabelView(s),this.iconView=new i.Z,this.iconView.extendTemplate({attributes:{class:"ck-button__icon"}}),this.keystrokeView=this._createKeystrokeView(),this.bind("_tooltipString").to(this,"tooltip",this,"label",this,"keystroke",this._getTooltipString.bind(this)),this.setTemplate({tag:"button",attributes:{class:["ck","ck-button",t.to("class"),t.if("isEnabled","ck-disabled",(e=>!e)),t.if("isVisible","ck-hidden",(e=>!e)),t.to("isOn",(e=>e?"ck-on":"ck-off")),t.if("withText","ck-button_with-text"),t.if("withKeystroke","ck-button_with-keystroke")],type:t.to("type",(e=>e||"button")),tabindex:t.to("tabindex"),"aria-labelledby":`ck-editor__aria-label_${s}`,"aria-disabled":t.if("isEnabled",!0,(e=>!e)),"aria-pressed":t.to("isOn",(e=>!!this.isToggleable&&String(e)))},children:this.children,on:{mousedown:t.to((e=>{e.preventDefault()})),click:t.to((e=>{this.isEnabled?this.fire("execute"):e.preventDefault()}))}})}render(){super.render(),this.icon&&(this.iconView.bind("content").to(this,"icon"),this.children.add(this.iconView)),this.children.add(this.tooltipView),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}_createTooltipView(){const e=new r.Z;return e.bind("text").to(this,"_tooltipString"),e.bind("position").to(this,"tooltipPosition"),e}_createLabelView(e){const t=new o.Z,s=this.bindTemplate;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:s.to("labelStyle"),id:`ck-editor__aria-label_${e}`},children:[{text:this.bindTemplate.to("label")}]}),t}_createKeystrokeView(){const e=new o.Z;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(e=>(0,a.XU)(e)))}]}),e}_getTooltipString(e,t,s){return e?"string"==typeof e?e:(s&&(s=(0,a.XU)(s)),e instanceof Function?e(t,s):`${t}${s?` (${s})`:""}`):""}}},"./packages/ckeditor5-ui/src/button/switchbuttonview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-ui/src/button/buttonview.js"),r=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),n=s.n(r),a=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/switchbutton.css"),c={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n()(a.Z,c);a.Z.locals;class l extends i.Z{constructor(e){super(e),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const e=new o.Z;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),e}}},"./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-ui/src/button/buttonview.js"),i=s("./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg"),r=s("./packages/ckeditor5-ui/src/icon/iconview.js");class n extends o.Z{constructor(e){super(e),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const e=new r.Z;return e.content=i.Z,e.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),e}}},"./packages/ckeditor5-ui/src/dropdown/utils.js":(e,t,s)=>{"use strict";s.d(t,{Pm:()=>x,up:()=>j,t9:()=>P});var o=s("./packages/ckeditor5-ui/src/view.js");class i extends o.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",t.to("position",(e=>`ck-dropdown__panel_${e}`)),t.if("isVisible","ck-dropdown__panel-visible")]},children:this.children,on:{selectstart:t.to((e=>e.preventDefault()))}})}focus(){this.children.length&&this.children.first.focus()}focusLast(){if(this.children.length){const e=this.children.last;"function"==typeof e.focusLast?e.focusLast():e.focus()}}}var r=s("./packages/ckeditor5-utils/src/keystrokehandler.js"),n=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),a=s.n(n),c=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/dropdown.css"),l={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};a()(c.Z,l);c.Z.locals;var d=s("./packages/ckeditor5-utils/src/dom/position.js");class h extends o.Z{constructor(e,t,s){super(e);const o=this.bindTemplate;this.buttonView=t,this.panelView=s,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class"),this.set("id"),this.set("panelPosition","auto"),this.keystrokes=new r.Z,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",o.to("class"),o.if("isEnabled","ck-disabled",(e=>!e))],id:o.to("id"),"aria-describedby":o.to("ariaDescribedById")},children:[t,s]}),t.extendTemplate({attributes:{class:["ck-dropdown__button"]}})}render(){super.render(),this.listenTo(this.buttonView,"open",(()=>{this.isOpen=!this.isOpen})),this.panelView.bind("isVisible").to(this,"isOpen"),this.on("change:isOpen",(()=>{this.isOpen&&("auto"===this.panelPosition?this.panelView.position=h._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions}).name:this.panelView.position=this.panelPosition)})),this.keystrokes.listenTo(this.element);const e=(e,t)=>{this.isOpen&&(this.buttonView.focus(),this.isOpen=!1,t())};this.keystrokes.set("arrowdown",((e,t)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,t())})),this.keystrokes.set("arrowright",((e,t)=>{this.isOpen&&t()})),this.keystrokes.set("arrowleft",e),this.keystrokes.set("esc",e)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:e,north:t,southEast:s,southWest:o,northEast:i,northWest:r,southMiddleEast:n,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=h.defaultPanelPositions;return"rtl"!==this.locale.uiLanguageDirection?[s,o,n,a,e,i,r,c,l,t]:[o,s,a,n,e,r,i,l,c,t]}}h.defaultPanelPositions={south:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/2,name:"s"}),southEast:e=>({top:e.bottom,left:e.left,name:"se"}),southWest:(e,t)=>({top:e.bottom,left:e.left-t.width+e.width,name:"sw"}),southMiddleEast:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/4,name:"sme"}),southMiddleWest:(e,t)=>({top:e.bottom,left:e.left-3*(t.width-e.width)/4,name:"smw"}),north:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/2,name:"n"}),northEast:(e,t)=>({top:e.top-t.height,left:e.left,name:"ne"}),northWest:(e,t)=>({top:e.top-t.height,left:e.left-t.width+e.width,name:"nw"}),northMiddleEast:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/4,name:"nme"}),northMiddleWest:(e,t)=>({top:e.top-t.height,left:e.left-3*(t.width-e.width)/4,name:"nmw"})},h._getOptimalPosition=d.x;var u=s("./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js"),p=s("./packages/ckeditor5-ui/src/toolbar/toolbarview.js"),g=s("./packages/ckeditor5-ui/src/list/listview.js"),m=s("./packages/ckeditor5-ui/src/list/listitemview.js");class f extends o.Z{constructor(e){super(e),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}var k=s("./packages/ckeditor5-ui/src/button/buttonview.js"),_=s("./packages/ckeditor5-ui/src/button/switchbuttonview.js"),b=s("./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js"),w=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css"),v={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};a()(w.Z,v);w.Z.locals;var y=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/listdropdown.css"),Z={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};a()(y.Z,Z);y.Z.locals;function P(e,t=u.Z){const s=new t(e),o=new i(e),r=new h(e,s,o);return s.bind("isEnabled").to(r),s instanceof u.Z?s.bind("isOn").to(r,"isOpen"):s.arrowView.bind("isOn").to(r,"isOpen"),function(e){(function(e){e.on("render",(()=>{(0,b.Z)({emitter:e,activator:()=>e.isOpen,callback:()=>{e.isOpen=!1},contextElements:[e.element]})}))})(e),function(e){e.on("execute",(t=>{t.source instanceof _.Z||(e.isOpen=!1)}))}(e),function(e){e.keystrokes.set("arrowdown",((t,s)=>{e.isOpen&&(e.panelView.focus(),s())})),e.keystrokes.set("arrowup",((t,s)=>{e.isOpen&&(e.panelView.focusLast(),s())}))}(e)}(r),r}function j(e,t){const s=e.locale,o=s.t,i=e.toolbarView=new p.Z(s);i.set("ariaLabel",o("Dropdown toolbar")),e.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),t.map((e=>i.items.add(e))),e.panelView.children.add(i),i.items.delegate("execute").to(e)}function x(e,t){const s=e.locale,o=e.listView=new g.Z(s);o.items.bindTo(t).using((({type:e,model:t})=>{if("separator"===e)return new f(s);if("button"===e||"switchbutton"===e){const o=new m.Z(s);let i;return i="button"===e?new k.Z(s):new _.Z(s),i.bind(...Object.keys(t)).to(t),i.delegate("execute").to(o),o.children.add(i),o}})),e.panelView.children.add(o),o.items.delegate("execute").to(e)}},"./packages/ckeditor5-ui/src/focuscycler.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/dom/isvisible.js");class i{constructor(e){if(Object.assign(this,e),e.actions&&e.keystrokeHandler)for(const t in e.actions){let s=e.actions[t];"string"==typeof s&&(s=[s]);for(const o of s)e.keystrokeHandler.set(o,((e,s)=>{this[t](),s()}))}}get first(){return this.focusables.find(r)||null}get last(){return this.focusables.filter(r).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let e=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find(((t,s)=>{const o=t.element===this.focusTracker.focusedElement;return o&&(e=s),o})),e)}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(e){e&&e.focus()}_getFocusableItem(e){const t=this.current,s=this.focusables.length;if(!s)return null;if(null===t)return this[1===e?"first":"last"];let o=(t+s+e)%s;do{const t=this.focusables.get(o);if(r(t))return t;o=(o+s+e)%s}while(o!==t);return null}}function r(e){return!(!e.focus||!(0,o.Z)(e.element))}},"./packages/ckeditor5-ui/src/icon/iconview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),r=s.n(i),n=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/icon/icon.css"),a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};r()(n.Z,a);n.Z.locals;class c extends o.Z{constructor(){super();const e=this.bindTemplate;this.set("content",""),this.set("viewBox","0 0 20 20"),this.set("fillColor",""),this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon"],viewBox:e.to("viewBox")}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on("change:content",(()=>{this._updateXMLContent(),this._colorFillPaths()})),this.on("change:fillColor",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const e=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg"),t=e.getAttribute("viewBox");for(t&&(this.viewBox=t),this.element.innerHTML="";e.childNodes.length>0;)this.element.appendChild(e.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach((e=>{e.style.fill=this.fillColor}))}}},"./packages/ckeditor5-ui/src/list/listitemview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-ui/src/view.js");class i extends o.Z{constructor(e){super(e),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item"]},children:this.children})}focus(){this.children.first.focus()}}},"./packages/ckeditor5-ui/src/list/listview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-utils/src/focustracker.js"),r=s("./packages/ckeditor5-ui/src/focuscycler.js"),n=s("./packages/ckeditor5-utils/src/keystrokehandler.js"),a=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),c=s.n(a),l=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/list/list.css"),d={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};c()(l.Z,d);l.Z.locals;class h extends o.Z{constructor(){super(),this.items=this.createCollection(),this.focusTracker=new i.Z,this.keystrokes=new n.Z,this._focusCycler=new r.Z({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}}),this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"]},children:this.items})}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",((e,t)=>{this.focusTracker.add(t.element)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}},"./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>m,M:()=>k});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-utils/src/dom/position.js"),r=s("./packages/ckeditor5-utils/src/dom/isrange.js"),n=s("./packages/ckeditor5-utils/src/dom/tounit.js"),a=s("./packages/ckeditor5-utils/src/dom/global.js"),c=s("./node_modules/lodash-es/isElement.js"),l=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),d=s.n(l),h=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonpanel.css"),u={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};d()(h.Z,u);h.Z.locals;const p=(0,n.Z)("px"),g=a.Z.document.body;class m extends o.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class"),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",t.to("position",(e=>`ck-balloon-panel_${e}`)),t.if("isVisible","ck-balloon-panel_visible"),t.if("withArrow","ck-balloon-panel_with-arrow"),t.to("class")],style:{top:t.to("top",p),left:t.to("left",p)}},children:this.content})}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(e){this.show();const t=m.defaultPositions,s=Object.assign({},{element:this.element,positions:[t.southArrowNorth,t.southArrowNorthMiddleWest,t.southArrowNorthMiddleEast,t.southArrowNorthWest,t.southArrowNorthEast,t.northArrowSouth,t.northArrowSouthMiddleWest,t.northArrowSouthMiddleEast,t.northArrowSouthWest,t.northArrowSouthEast,t.viewportStickyNorth],limiter:g,fitInViewport:!0},e),o=m._getOptimalPosition(s),i=parseInt(o.left),r=parseInt(o.top),{name:n,config:a={}}=o,{withArrow:c=!0}=a;Object.assign(this,{top:r,left:i,position:n,withArrow:c})}pin(e){this.unpin(),this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(e):this._stopPinning()},this._startPinning(e),this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(e){this.attachTo(e);const t=f(e.target),s=e.limiter?f(e.limiter):g;this.listenTo(a.Z.document,"scroll",((o,i)=>{const r=i.target,n=t&&r.contains(t),a=s&&r.contains(s);!n&&!a&&t&&s||this.attachTo(e)}),{useCapture:!0}),this.listenTo(a.Z.window,"resize",(()=>{this.attachTo(e)}))}_stopPinning(){this.stopListening(a.Z.document,"scroll"),this.stopListening(a.Z.window,"resize")}}function f(e){return(0,c.Z)(e)?e:(0,r.Z)(e)?e.commonAncestorContainer:"function"==typeof e?f(e()):null}function k({horizontalOffset:e=m.arrowHorizontalOffset,verticalOffset:t=m.arrowVerticalOffset,stickyVerticalOffset:s=m.stickyVerticalOffset,config:o}={}){return{northWestArrowSouthWest:(t,s)=>({top:i(t,s),left:t.left-e,name:"arrow_sw",...o&&{config:o}}),northWestArrowSouthMiddleWest:(t,s)=>({top:i(t,s),left:t.left-.25*s.width-e,name:"arrow_smw",...o&&{config:o}}),northWestArrowSouth:(e,t)=>({top:i(e,t),left:e.left-t.width/2,name:"arrow_s",...o&&{config:o}}),northWestArrowSouthMiddleEast:(t,s)=>({top:i(t,s),left:t.left-.75*s.width+e,name:"arrow_sme",...o&&{config:o}}),northWestArrowSouthEast:(t,s)=>({top:i(t,s),left:t.left-s.width+e,name:"arrow_se",...o&&{config:o}}),northArrowSouthWest:(t,s)=>({top:i(t,s),left:t.left+t.width/2-e,name:"arrow_sw",...o&&{config:o}}),northArrowSouthMiddleWest:(t,s)=>({top:i(t,s),left:t.left+t.width/2-.25*s.width-e,name:"arrow_smw",...o&&{config:o}}),northArrowSouth:(e,t)=>({top:i(e,t),left:e.left+e.width/2-t.width/2,name:"arrow_s",...o&&{config:o}}),northArrowSouthMiddleEast:(t,s)=>({top:i(t,s),left:t.left+t.width/2-.75*s.width+e,name:"arrow_sme",...o&&{config:o}}),northArrowSouthEast:(t,s)=>({top:i(t,s),left:t.left+t.width/2-s.width+e,name:"arrow_se",...o&&{config:o}}),northEastArrowSouthWest:(t,s)=>({top:i(t,s),left:t.right-e,name:"arrow_sw",...o&&{config:o}}),northEastArrowSouthMiddleWest:(t,s)=>({top:i(t,s),left:t.right-.25*s.width-e,name:"arrow_smw",...o&&{config:o}}),northEastArrowSouth:(e,t)=>({top:i(e,t),left:e.right-t.width/2,name:"arrow_s",...o&&{config:o}}),northEastArrowSouthMiddleEast:(t,s)=>({top:i(t,s),left:t.right-.75*s.width+e,name:"arrow_sme",...o&&{config:o}}),northEastArrowSouthEast:(t,s)=>({top:i(t,s),left:t.right-s.width+e,name:"arrow_se",...o&&{config:o}}),southWestArrowNorthWest:(t,s)=>({top:r(t),left:t.left-e,name:"arrow_nw",...o&&{config:o}}),southWestArrowNorthMiddleWest:(t,s)=>({top:r(t),left:t.left-.25*s.width-e,name:"arrow_nmw",...o&&{config:o}}),southWestArrowNorth:(e,t)=>({top:r(e),left:e.left-t.width/2,name:"arrow_n",...o&&{config:o}}),southWestArrowNorthMiddleEast:(t,s)=>({top:r(t),left:t.left-.75*s.width+e,name:"arrow_nme",...o&&{config:o}}),southWestArrowNorthEast:(t,s)=>({top:r(t),left:t.left-s.width+e,name:"arrow_ne",...o&&{config:o}}),southArrowNorthWest:(t,s)=>({top:r(t),left:t.left+t.width/2-e,name:"arrow_nw",...o&&{config:o}}),southArrowNorthMiddleWest:(t,s)=>({top:r(t),left:t.left+t.width/2-.25*s.width-e,name:"arrow_nmw",...o&&{config:o}}),southArrowNorth:(e,t)=>({top:r(e),left:e.left+e.width/2-t.width/2,name:"arrow_n",...o&&{config:o}}),southArrowNorthMiddleEast:(t,s)=>({top:r(t),left:t.left+t.width/2-.75*s.width+e,name:"arrow_nme",...o&&{config:o}}),southArrowNorthEast:(t,s)=>({top:r(t),left:t.left+t.width/2-s.width+e,name:"arrow_ne",...o&&{config:o}}),southEastArrowNorthWest:(t,s)=>({top:r(t),left:t.right-e,name:"arrow_nw",...o&&{config:o}}),southEastArrowNorthMiddleWest:(t,s)=>({top:r(t),left:t.right-.25*s.width-e,name:"arrow_nmw",...o&&{config:o}}),southEastArrowNorth:(e,t)=>({top:r(e),left:e.right-t.width/2,name:"arrow_n",...o&&{config:o}}),southEastArrowNorthMiddleEast:(t,s)=>({top:r(t),left:t.right-.75*s.width+e,name:"arrow_nme",...o&&{config:o}}),southEastArrowNorthEast:(t,s)=>({top:r(t),left:t.right-s.width+e,name:"arrow_ne",...o&&{config:o}}),viewportStickyNorth:(e,t,i)=>e.getIntersection(i)?{top:i.top+s,left:e.left+e.width/2-t.width/2,name:"arrowless",config:{withArrow:!1,...o}}:null};function i(e,s){return e.top-s.height-t}function r(e){return e.bottom+t}}m.arrowHorizontalOffset=25,m.arrowVerticalOffset=10,m.stickyVerticalOffset=20,m._getOptimalPosition=i.x,m.defaultPositions=k()},"./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),r=s("./packages/ckeditor5-ui/src/view.js"),n=s("./packages/ckeditor5-ui/src/button/buttonview.js"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),c=s("./packages/ckeditor5-utils/src/focustracker.js"),l=s("./packages/ckeditor5-utils/src/dom/tounit.js"),d=s("./packages/ckeditor5-utils/src/dom/rect.js");var h=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),u=s.n(h),p=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonrotator.css"),g={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(p.Z,g);p.Z.locals;var m=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/fakepanel.css"),f={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(m.Z,f);m.Z.locals;const k=(0,l.Z)("px");class _ extends o.Z{static get pluginName(){return"ContextualBalloon"}constructor(e){super(e),this.positionLimiter=()=>{const e=this.editor.editing.view,t=e.document.selection.editableElement;return t?e.domConverter.mapViewToDom(t.root):null},this.set("visibleView",null),this.view=new i.Z(e.locale),e.ui.view.body.add(this.view),e.ui.focusTracker.add(this.view.element),this._viewToStack=new Map,this._idToStack=new Map,this.set("_numberOfStacks",0),this.set("_singleViewMode",!1),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}destroy(){super.destroy(),this.view.destroy(),this._rotatorView.destroy(),this._fakePanelsView.destroy()}hasView(e){return Array.from(this._viewToStack.keys()).includes(e)}add(e){if(this.hasView(e.view))throw new a.ZP("contextualballoon-add-view-exist",[this,e]);const t=e.stackId||"main";if(!this._idToStack.has(t))return this._idToStack.set(t,new Map([[e.view,e]])),this._viewToStack.set(e.view,this._idToStack.get(t)),this._numberOfStacks=this._idToStack.size,void(this._visibleStack&&!e.singleViewMode||this.showStack(t));const s=this._idToStack.get(t);e.singleViewMode&&this.showStack(t),s.set(e.view,e),this._viewToStack.set(e.view,s),s===this._visibleStack&&this._showView(e)}remove(e){if(!this.hasView(e))throw new a.ZP("contextualballoon-remove-view-not-exist",[this,e]);const t=this._viewToStack.get(e);this._singleViewMode&&this.visibleView===e&&(this._singleViewMode=!1),this.visibleView===e&&(1===t.size?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(t.values())[t.size-2])),1===t.size?(this._idToStack.delete(this._getStackId(t)),this._numberOfStacks=this._idToStack.size):t.delete(e),this._viewToStack.delete(e)}updatePosition(e){e&&(this._visibleStack.get(this.visibleView).position=e),this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition()}showStack(e){this.visibleStack=e;const t=this._idToStack.get(e);if(!t)throw new a.ZP("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==t&&this._showView(Array.from(t.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(e){return Array.from(this._idToStack.entries()).find((t=>t[1]===e))[0]}_showNextStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)+1;e[t]||(t=0),this.showStack(this._getStackId(e[t]))}_showPrevStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)-1;e[t]||(t=e.length-1),this.showStack(this._getStackId(e[t]))}_createRotatorView(){const e=new b(this.editor.locale),t=this.editor.locale.t;return this.view.content.add(e),e.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",((e,t)=>!t&&e>1)),e.on("change:isNavigationVisible",(()=>this.updatePosition()),{priority:"low"}),e.bind("counter").to(this,"visibleView",this,"_numberOfStacks",((e,s)=>{if(s<2)return"";const o=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return t("%0 of %1",[o,s])})),e.buttonNextView.on("execute",(()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()})),e.buttonPrevView.on("execute",(()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()})),e}_createFakePanelsView(){const e=new w(this.editor.locale,this.view);return e.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((e,t)=>!t&&e>=2?Math.min(e-1,2):0)),e.listenTo(this.view,"change:top",(()=>e.updatePosition())),e.listenTo(this.view,"change:left",(()=>e.updatePosition())),this.editor.ui.view.body.add(e),e}_showView({view:e,balloonClassName:t="",withArrow:s=!0,singleViewMode:o=!1}){this.view.class=t,this.view.withArrow=s,this._rotatorView.showView(e),this.visibleView=e,this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition(),o&&(this._singleViewMode=!0)}_getBalloonPosition(){let e=Array.from(this._visibleStack.values()).pop().position;return e&&(e.limiter||(e=Object.assign({},e,{limiter:this.positionLimiter})),e=Object.assign({},e,{viewportOffsetConfig:this.editor.ui.viewportOffset})),e}}class b extends r.Z{constructor(e){super(e);const t=e.t,s=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new c.Z,this.buttonPrevView=this._createButtonView(t("Previous"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M11.463 5.187a.888.888 0 1 1 1.254 1.255L9.16 10l3.557 3.557a.888.888 0 1 1-1.254 1.255L7.26 10.61a.888.888 0 0 1 .16-1.382l4.043-4.042z"/></svg>'),this.buttonNextView=this._createButtonView(t("Next"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M8.537 14.813a.888.888 0 1 1-1.254-1.255L10.84 10 7.283 6.442a.888.888 0 1 1 1.254-1.255L12.74 9.39a.888.888 0 0 1-.16 1.382l-4.043 4.042z"/></svg>'),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",s.to("isNavigationVisible",(e=>e?"":"ck-hidden"))]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:s.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(e){this.hideView(),this.content.add(e)}hideView(){this.content.clear()}_createButtonView(e,t){const s=new n.Z(this.locale);return s.set({label:e,icon:t,tooltip:!0}),s}}class w extends r.Z{constructor(e,t){super(e);const s=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("height",0),this.set("width",0),this.set("numberOfPanels",0),this.content=this.createCollection(),this._balloonPanelView=t,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",s.to("numberOfPanels",(e=>e?"":"ck-hidden"))],style:{top:s.to("top",k),left:s.to("left",k),width:s.to("width",k),height:s.to("height",k)}},children:this.content}),this.on("change:numberOfPanels",((e,t,s,o)=>{s>o?this._addPanels(s-o):this._removePanels(o-s),this.updatePosition()}))}_addPanels(e){for(;e--;){const e=new r.Z;e.setTemplate({tag:"div"}),this.content.add(e),this.registerChild(e)}}_removePanels(e){for(;e--;){const e=this.content.last;this.content.remove(e),this.deregisterChild(e),e.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:e,left:t}=this._balloonPanelView,{width:s,height:o}=new d.Z(this._balloonPanelView.element);Object.assign(this,{top:e,left:t,width:s,height:o})}}}},"./packages/ckeditor5-ui/src/template.js":(e,t,s)=>{"use strict";s.d(t,{ZP:()=>u});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/mix.js"),r=s("./packages/ckeditor5-utils/src/emittermixin.js"),n=s("./packages/ckeditor5-ui/src/view.js"),a=s("./packages/ckeditor5-ui/src/viewcollection.js"),c=s("./packages/ckeditor5-utils/src/dom/isnode.js"),l=s("./node_modules/lodash-es/isObject.js"),d=s("./node_modules/lodash-es/cloneDeepWith.js"),h=s("./packages/ckeditor5-utils/src/toarray.js");class u{constructor(e){Object.assign(this,y(v(e))),this._isRendered=!1,this._revertData=null}render(){const e=this._renderNode({intoFragment:!0});return this._isRendered=!0,e}apply(e){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:e,isApplying:!0,revertData:this._revertData}),e}revert(e){if(!this._revertData)throw new o.ZP("ui-template-revert-not-applied",[this,e]);this._revertTemplateFromNode(e,this._revertData)}*getViews(){yield*function*e(t){if(t.children)for(const s of t.children)T(s)?yield s:C(s)&&(yield*e(s))}(this)}static bind(e,t){return{to:(s,o)=>new g({eventNameOrFunction:s,attribute:s,observable:e,emitter:t,callback:o}),if:(s,o,i)=>new m({observable:e,emitter:t,attribute:s,valueIfTrue:o,callback:i})}}static extend(e,t){if(e._isRendered)throw new o.ZP("template-extend-render",[this,e]);x(e,y(v(t)))}_renderNode(e){let t;if(t=e.node?this.tag&&this.text:this.tag?this.text:!this.text,t)throw new o.ZP("ui-template-wrong-syntax",this);return this.text?this._renderText(e):this._renderElement(e)}_renderElement(e){let t=e.node;return t||(t=e.node=document.createElementNS(this.ns||"http://www.w3.org/1999/xhtml",this.tag)),this._renderAttributes(e),this._renderElementChildren(e),this._setUpListeners(e),t}_renderText(e){let t=e.node;return t?e.revertData.text=t.textContent:t=e.node=document.createTextNode(""),f(this.text)?this._bindToObservable({schema:this.text,updater:_(t),data:e}):t.textContent=this.text.join(""),t}_renderAttributes(e){let t,s,o,i;if(!this.attributes)return;const r=e.node,n=e.revertData;for(t in this.attributes)if(o=r.getAttribute(t),s=this.attributes[t],n&&(n.attributes[t]=o),i=(0,l.Z)(s[0])&&s[0].ns?s[0].ns:null,f(s)){const a=i?s[0].value:s;n&&S(t)&&a.unshift(o),this._bindToObservable({schema:a,updater:b(r,t,i),data:e})}else"style"==t&&"string"!=typeof s[0]?this._renderStyleAttribute(s[0],e):(n&&o&&S(t)&&s.unshift(o),s=s.map((e=>e&&e.value||e)).reduce(((e,t)=>e.concat(t)),[]).reduce(P,""),A(s)||r.setAttributeNS(i,t,s))}_renderStyleAttribute(e,t){const s=t.node;for(const o in e){const i=e[o];f(i)?this._bindToObservable({schema:[i],updater:w(s,o),data:t}):s.style[o]=i}}_renderElementChildren(e){const t=e.node,s=e.intoFragment?document.createDocumentFragment():t,o=e.isApplying;let i=0;for(const r of this.children)if(E(r)){if(!o){r.setParent(t);for(const e of r)s.appendChild(e.element)}}else if(T(r))o||(r.isRendered||r.render(),s.appendChild(r.element));else if((0,c.Z)(r))s.appendChild(r);else if(o){const t={children:[],bindings:[],attributes:{}};e.revertData.children.push(t),r._renderNode({node:s.childNodes[i++],isApplying:!0,revertData:t})}else s.appendChild(r.render());e.intoFragment&&t.appendChild(s)}_setUpListeners(e){if(this.eventListeners)for(const t in this.eventListeners){const s=this.eventListeners[t].map((s=>{const[o,i]=t.split("@");return s.activateDomEventListener(o,i,e)}));e.revertData&&e.revertData.bindings.push(s)}}_bindToObservable({schema:e,updater:t,data:s}){const o=s.revertData;k(e,t,s);const i=e.filter((e=>!A(e))).filter((e=>e.observable)).map((o=>o.activateAttributeListener(e,t,s)));o&&o.bindings.push(i)}_revertTemplateFromNode(e,t){for(const e of t.bindings)for(const t of e)t();if(t.text)e.textContent=t.text;else{for(const s in t.attributes){const o=t.attributes[s];null===o?e.removeAttribute(s):e.setAttribute(s,o)}for(let s=0;s<t.children.length;++s)this._revertTemplateFromNode(e.childNodes[s],t.children[s])}}}(0,i.Z)(u,r.ZP);class p{constructor(e){Object.assign(this,e)}getValue(e){const t=this.observable[this.attribute];return this.callback?this.callback(t,e):t}activateAttributeListener(e,t,s){const o=()=>k(e,t,s);return this.emitter.listenTo(this.observable,"change:"+this.attribute,o),()=>{this.emitter.stopListening(this.observable,"change:"+this.attribute,o)}}}class g extends p{activateDomEventListener(e,t,s){const o=(e,s)=>{t&&!s.target.matches(t)||("function"==typeof this.eventNameOrFunction?this.eventNameOrFunction(s):this.observable.fire(this.eventNameOrFunction,s))};return this.emitter.listenTo(s.node,e,o),()=>{this.emitter.stopListening(s.node,e,o)}}}class m extends p{getValue(e){return!A(super.getValue(e))&&(this.valueIfTrue||!0)}}function f(e){return!!e&&(e.value&&(e=e.value),Array.isArray(e)?e.some(f):e instanceof p)}function k(e,t,{node:s}){let o=function(e,t){return e.map((e=>e instanceof p?e.getValue(t):e))}(e,s);o=1==e.length&&e[0]instanceof m?o[0]:o.reduce(P,""),A(o)?t.remove():t.set(o)}function _(e){return{set(t){e.textContent=t},remove(){e.textContent=""}}}function b(e,t,s){return{set(o){e.setAttributeNS(s,t,o)},remove(){e.removeAttributeNS(s,t)}}}function w(e,t){return{set(s){e.style[t]=s},remove(){e.style[t]=null}}}function v(e){return(0,d.Z)(e,(e=>{if(e&&(e instanceof p||C(e)||T(e)||E(e)))return e}))}function y(e){if("string"==typeof e?e=function(e){return{text:[e]}}(e):e.text&&function(e){e.text=(0,h.Z)(e.text)}(e),e.on&&(e.eventListeners=function(e){for(const t in e)Z(e,t);return e}(e.on),delete e.on),!e.text){e.attributes&&function(e){for(const t in e)e[t].value&&(e[t].value=(0,h.Z)(e[t].value)),Z(e,t)}(e.attributes);const t=[];if(e.children)if(E(e.children))t.push(e.children);else for(const s of e.children)C(s)||T(s)||(0,c.Z)(s)?t.push(s):t.push(new u(s));e.children=t}return e}function Z(e,t){e[t]=(0,h.Z)(e[t])}function P(e,t){return A(t)?e:A(e)?t:`${e} ${t}`}function j(e,t){for(const s in t)e[s]?e[s].push(...t[s]):e[s]=t[s]}function x(e,t){if(t.attributes&&(e.attributes||(e.attributes={}),j(e.attributes,t.attributes)),t.eventListeners&&(e.eventListeners||(e.eventListeners={}),j(e.eventListeners,t.eventListeners)),t.text&&e.text.push(...t.text),t.children&&t.children.length){if(e.children.length!=t.children.length)throw new o.ZP("ui-template-extend-children-mismatch",e);let s=0;for(const o of t.children)x(e.children[s++],o)}}function A(e){return!e&&0!==e}function T(e){return e instanceof n.Z}function C(e){return e instanceof u}function E(e){return e instanceof a.Z}function S(e){return"class"==e||"style"==e}},"./packages/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js":(e,t,s)=>{"use strict";function o(e){return Array.isArray(e)?{items:e,removeItems:[]}:e?Object.assign({items:[],removeItems:[]},e):{items:[],removeItems:[]}}s.d(t,{Z:()=>o})},"./packages/ckeditor5-ui/src/toolbar/toolbarseparatorview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-ui/src/view.js");class i extends o.Z{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}},"./packages/ckeditor5-ui/src/toolbar/toolbarview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>y});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-utils/src/focustracker.js"),r=s("./packages/ckeditor5-ui/src/focuscycler.js"),n=s("./packages/ckeditor5-utils/src/keystrokehandler.js"),a=s("./packages/ckeditor5-ui/src/toolbar/toolbarseparatorview.js");class c extends o.Z{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}var l=s("./packages/ckeditor5-utils/src/dom/resizeobserver.js");function d(e){return e.bindTemplate.to((t=>{t.target===e.element&&t.preventDefault()}))}var h=s("./packages/ckeditor5-utils/src/dom/rect.js"),u=s("./packages/ckeditor5-utils/src/dom/isvisible.js"),p=s("./packages/ckeditor5-utils/src/dom/global.js"),g=s("./packages/ckeditor5-ui/src/dropdown/utils.js"),m=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),f=s("./packages/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js"),k=s("./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg"),_=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),b=s.n(_),w=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/toolbar.css"),v={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};b()(w.Z,v);w.Z.locals;class y extends o.Z{constructor(e,t){super(e);const s=this.bindTemplate,o=this.t;this.options=t||{},this.set("ariaLabel",o("Editor toolbar")),this.set("maxWidth","auto"),this.items=this.createCollection(),this.focusTracker=new i.Z,this.keystrokes=new n.Z,this.set("class"),this.set("isCompact",!1),this.itemsView=new Z(e),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const a="rtl"===e.uiLanguageDirection;this._focusCycler=new r.Z({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[a?"arrowright":"arrowleft","arrowup"],focusNext:[a?"arrowleft":"arrowright","arrowdown"]}});const c=["ck","ck-toolbar",s.to("class"),s.if("isCompact","ck-toolbar_compact")];this.options.shouldGroupWhenFull&&this.options.isFloating&&c.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:c,role:"toolbar","aria-label":s.to("ariaLabel"),style:{maxWidth:s.to("maxWidth")}},children:this.children,on:{mousedown:d(this)}}),this._behavior=this.options.shouldGroupWhenFull?new j(this):new P(this)}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",((e,t)=>{this.focusTracker.add(t.element)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t.element)})),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(e,t){const s=(0,f.Z)(e),o=s.items.filter(((e,o,i)=>"|"===e||-1===s.removeItems.indexOf(e)&&("-"===e?!this.options.shouldGroupWhenFull||((0,m.KE)("toolbarview-line-break-ignored-when-grouping-items",i),!1):!!t.has(e)||((0,m.KE)("toolbarview-item-unavailable",{name:e}),!1)))),i=this._cleanSeparators(o).map((e=>"|"===e?new a.Z:"-"===e?new c:t.create(e)));this.items.addMany(i)}_cleanSeparators(e){const t=e=>"-"!==e&&"|"!==e,s=e.length,o=e.findIndex(t),i=s-e.slice().reverse().findIndex(t);return e.slice(o,i).filter(((e,s,o)=>{if(t(e))return!0;return!(s>0&&o[s-1]===e)}))}}class Z extends o.Z{constructor(e){super(e),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class P{constructor(e){const t=e.bindTemplate;e.set("isVertical",!1),e.itemsView.children.bindTo(e.items).using((e=>e)),e.focusables.bindTo(e.items).using((e=>e)),e.extendTemplate({attributes:{class:[t.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class j{constructor(e){this.view=e,this.viewChildren=e.children,this.viewFocusables=e.focusables,this.viewItemsView=e.itemsView,this.viewFocusTracker=e.focusTracker,this.viewLocale=e.locale,this.ungroupedItems=e.createCollection(),this.groupedItems=e.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,e.itemsView.children.bindTo(this.ungroupedItems).using((e=>e)),this.ungroupedItems.on("add",this._updateFocusCycleableItems.bind(this)),this.ungroupedItems.on("remove",this._updateFocusCycleableItems.bind(this)),e.children.on("add",this._updateFocusCycleableItems.bind(this)),e.children.on("remove",this._updateFocusCycleableItems.bind(this)),e.items.on("change",((e,t)=>{const s=t.index;for(const e of t.removed)s>=this.ungroupedItems.length?this.groupedItems.remove(e):this.ungroupedItems.remove(e);for(let e=s;e<s+t.added.length;e++){const o=t.added[e-s];e>this.ungroupedItems.length?this.groupedItems.add(o,e-this.ungroupedItems.length):this.ungroupedItems.add(o,e)}this._updateGrouping()})),e.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(e){this.viewElement=e.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(e)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!(0,u.Z)(this.viewElement))return void(this.shouldUpdateGroupingOnNextResize=!0);const e=this.groupedItems.length;let t;for(;this._areItemsOverflowing;)this._groupLastItem(),t=!0;if(!t&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==e&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const e=this.viewElement,t=this.viewLocale.uiLanguageDirection,s=new h.Z(e.lastChild),o=new h.Z(e);if(!this.cachedPadding){const s=p.Z.window.getComputedStyle(e),o="ltr"===t?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(s[o])}return"ltr"===t?s.right>o.right-this.cachedPadding:s.left<o.left+this.cachedPadding}_enableGroupingOnResize(){let e;this.resizeObserver=new l.Z(this.viewElement,(t=>{e&&e===t.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),e=t.contentRect.width)})),this._updateGrouping()}_enableGroupingOnMaxWidthChange(e){e.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new a.Z),this.viewChildren.add(this.groupedItemsDropdown),this.viewFocusTracker.add(this.groupedItemsDropdown.element)),this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const e=this.viewLocale,t=e.t,s=(0,g.t9)(e);return s.class="ck-toolbar__grouped-dropdown",s.panelPosition="ltr"===e.uiLanguageDirection?"sw":"se",(0,g.up)(s,[]),s.buttonView.set({label:t("Show more items"),tooltip:!0,tooltipPosition:"rtl"===e.uiLanguageDirection?"se":"sw",icon:k.Z}),s.toolbarView.items.bindTo(this.groupedItems).using((e=>e)),s}_updateFocusCycleableItems(){this.viewFocusables.clear(),this.ungroupedItems.map((e=>{this.viewFocusables.add(e)})),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}},"./packages/ckeditor5-ui/src/tooltip/tooltipview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),r=s.n(i),n=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/tooltip/tooltip.css"),a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};r()(n.Z,a);n.Z.locals;class c extends o.Z{constructor(e){super(e),this.set("text",""),this.set("position","s");const t=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip",t.to("position",(e=>"ck-tooltip_"+e)),t.if("text","ck-hidden",(e=>!e.trim()))]},children:[{tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:t.to("text")}]}]})}}},"./packages/ckeditor5-ui/src/view.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>m});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-ui/src/viewcollection.js"),r=s("./packages/ckeditor5-ui/src/template.js"),n=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),a=s("./packages/ckeditor5-utils/src/observablemixin.js"),c=s("./packages/ckeditor5-utils/src/collection.js"),l=s("./packages/ckeditor5-utils/src/mix.js"),d=s("./packages/ckeditor5-utils/src/isiterable.js"),h=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),u=s.n(h),p=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/globals/globals.css"),g={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(p.Z,g);p.Z.locals;class m{constructor(e){this.element=null,this.isRendered=!1,this.locale=e,this.t=e&&e.t,this._viewCollections=new c.Z,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",((t,s)=>{s.locale=e})),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=r.ZP.bind(this,this)}createCollection(e){const t=new i.Z(e);return this._viewCollections.add(t),t}registerChild(e){(0,d.Z)(e)||(e=[e]);for(const t of e)this._unboundChildren.add(t)}deregisterChild(e){(0,d.Z)(e)||(e=[e]);for(const t of e)this._unboundChildren.remove(t)}setTemplate(e){this.template=new r.ZP(e)}extendTemplate(e){r.ZP.extend(this.template,e)}render(){if(this.isRendered)throw new o.ZP("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map((e=>e.destroy())),this.template&&this.template._revertData&&this.template.revert(this.element)}}(0,l.Z)(m,n.Z),(0,l.Z)(m,a.Z)},"./packages/ckeditor5-ui/src/viewcollection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/collection.js");class r extends i.Z{constructor(e=[]){super(e,{idProperty:"viewUid"}),this.on("add",((e,t,s)=>{this._renderViewIntoCollectionParent(t,s)})),this.on("remove",((e,t)=>{t.element&&this._parentElement&&t.element.remove()})),this._parentElement=null}destroy(){this.map((e=>e.destroy()))}setParent(e){this._parentElement=e;for(const e of this)this._renderViewIntoCollectionParent(e)}delegate(...e){if(!e.length||!e.every((e=>"string"==typeof e)))throw new o.ZP("ui-viewcollection-delegate-wrong-events",this);return{to:t=>{for(const s of this)for(const o of e)s.delegate(o).to(t);this.on("add",((s,o)=>{for(const s of e)o.delegate(s).to(t)})),this.on("remove",((s,o)=>{for(const s of e)o.stopDelegating(s,t)}))}}}_renderViewIntoCollectionParent(e,t){e.isRendered||e.render(),e.element&&this._parentElement&&this._parentElement.insertBefore(e.element,this._parentElement.children[t])}}},"./packages/ckeditor5-utils/src/ckeditorerror.js":(e,t,s)=>{"use strict";s.d(t,{H:()=>r,KE:()=>i,ZP:()=>o});class o extends Error{constructor(e,t,s){super(function(e,t){const s=new WeakSet,o=(e,t)=>{if("object"==typeof t&&null!==t){if(s.has(t))return`[object ${t.constructor.name}]`;s.add(t)}return t},i=t?` ${JSON.stringify(t,o)}`:"",r=n(e);return e+i+r}(e,s)),this.name="CKEditorError",this.context=t,this.data=s}is(e){return"CKEditorError"===e}static rethrowUnexpectedError(e,t){if(e.is&&e.is("CKEditorError"))throw e;const s=new o(e.message,t);throw s.stack=e.stack,s}}function i(e,t){console.warn(...a(e,t))}function r(e,t){console.error(...a(e,t))}function n(e){return`\nRead more: https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html#error-${e}`}function a(e,t){const s=n(e);return t?[e,t,s]:[e,s]}},"./packages/ckeditor5-utils/src/collection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-utils/src/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=s("./packages/ckeditor5-utils/src/uid.js"),n=s("./packages/ckeditor5-utils/src/isiterable.js"),a=s("./packages/ckeditor5-utils/src/mix.js");class c{constructor(e={},t={}){const s=(0,n.Z)(e);if(s||(t=e),this._items=[],this._itemMap=new Map,this._idProperty=t.idProperty||"id",this._bindToExternalToInternalMap=new WeakMap,this._bindToInternalToExternalMap=new WeakMap,this._skippedIndexesFromExternal=[],s)for(const t of e)this._items.push(t),this._itemMap.set(this._getItemIdBeforeAdding(t),t)}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(e,t){return this.addMany([e],t)}addMany(e,t){if(void 0===t)t=this._items.length;else if(t>this._items.length||t<0)throw new i.ZP("collection-add-item-invalid-index",this);for(let s=0;s<e.length;s++){const o=e[s],i=this._getItemIdBeforeAdding(o),r=t+s;this._items.splice(r,0,o),this._itemMap.set(i,o),this.fire("add",o,r)}return this.fire("change",{added:e,removed:[],index:t}),this}get(e){let t;if("string"==typeof e)t=this._itemMap.get(e);else{if("number"!=typeof e)throw new i.ZP("collection-get-invalid-arg",this);t=this._items[e]}return t||null}has(e){if("string"==typeof e)return this._itemMap.has(e);{const t=e[this._idProperty];return this._itemMap.has(t)}}getIndex(e){let t;return t="string"==typeof e?this._itemMap.get(e):e,this._items.indexOf(t)}remove(e){const[t,s]=this._remove(e);return this.fire("change",{added:[],removed:[t],index:s}),t}map(e,t){return this._items.map(e,t)}find(e,t){return this._items.find(e,t)}filter(e,t){return this._items.filter(e,t)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const e=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:e,index:0})}bindTo(e){if(this._bindToCollection)throw new i.ZP("collection-bind-to-rebind",this);return this._bindToCollection=e,{as:e=>{this._setUpBindToBinding((t=>new e(t)))},using:e=>{"function"==typeof e?this._setUpBindToBinding((t=>e(t))):this._setUpBindToBinding((t=>t[e]))}}}_setUpBindToBinding(e){const t=this._bindToCollection,s=(s,o,i)=>{const r=t._bindToCollection==this,n=t._bindToInternalToExternalMap.get(o);if(r&&n)this._bindToExternalToInternalMap.set(o,n),this._bindToInternalToExternalMap.set(n,o);else{const s=e(o);if(!s)return void this._skippedIndexesFromExternal.push(i);let r=i;for(const e of this._skippedIndexesFromExternal)i>e&&r--;for(const e of t._skippedIndexesFromExternal)r>=e&&r++;this._bindToExternalToInternalMap.set(o,s),this._bindToInternalToExternalMap.set(s,o),this.add(s,r);for(let e=0;e<t._skippedIndexesFromExternal.length;e++)r<=t._skippedIndexesFromExternal[e]&&t._skippedIndexesFromExternal[e]++}};for(const e of t)s(0,e,t.getIndex(e));this.listenTo(t,"add",s),this.listenTo(t,"remove",((e,t,s)=>{const o=this._bindToExternalToInternalMap.get(t);o&&this.remove(o),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((e,t)=>(s<t&&e.push(t-1),s>t&&e.push(t),e)),[])}))}_getItemIdBeforeAdding(e){const t=this._idProperty;let s;if(t in e){if(s=e[t],"string"!=typeof s)throw new i.ZP("collection-add-invalid-id",this);if(this.get(s))throw new i.ZP("collection-add-item-already-exists",this)}else e[t]=s=(0,r.Z)();return s}_remove(e){let t,s,o,r=!1;const n=this._idProperty;if("string"==typeof e?(s=e,o=this._itemMap.get(s),r=!o,o&&(t=this._items.indexOf(o))):"number"==typeof e?(t=e,o=this._items[t],r=!o,o&&(s=o[n])):(o=e,s=o[n],t=this._items.indexOf(o),r=-1==t||!this._itemMap.get(s)),r)throw new i.ZP("collection-remove-404",this);this._items.splice(t,1),this._itemMap.delete(s);const a=this._bindToInternalToExternalMap.get(o);return this._bindToInternalToExternalMap.delete(o),this._bindToExternalToInternalMap.delete(a),this.fire("remove",o,t),[o,t]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}(0,a.Z)(c,o.ZP)},"./packages/ckeditor5-utils/src/comparearrays.js":(e,t,s)=>{"use strict";function o(e,t){const s=Math.min(e.length,t.length);for(let o=0;o<s;o++)if(e[o]!=t[o])return o;return e.length==t.length?"same":e.length<t.length?"prefix":"extension"}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/count.js":(e,t,s)=>{"use strict";function o(e){let t=0;for(const s of e)t++;return t}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/diff.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/fastdiff.js");function i(e,t,s){s=s||function(e,t){return e===t};const o=e.length,r=t.length;if(o>200||r>200||o+r>300)return i.fastDiff(e,t,s,!0);let n,a;if(r<o){const s=e;e=t,t=s,n="delete",a="insert"}else n="insert",a="delete";const c=e.length,l=t.length,d=l-c,h={},u={};function p(o){const i=(void 0!==u[o-1]?u[o-1]:-1)+1,r=void 0!==u[o+1]?u[o+1]:-1,d=i>r?-1:1;h[o+d]&&(h[o]=h[o+d].slice(0)),h[o]||(h[o]=[]),h[o].push(i>r?n:a);let p=Math.max(i,r),g=p-o;for(;g<c&&p<l&&s(e[g],t[p]);)g++,p++,h[o].push("equal");return p}let g,m=0;do{for(g=-m;g<d;g++)u[g]=p(g);for(g=d+m;g>d;g--)u[g]=p(g);u[d]=p(d),m++}while(u[d]!==l);return h[d].slice(1)}i.fastDiff=o.Z},"./packages/ckeditor5-utils/src/dom/createelement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-utils/src/isiterable.js"),i=s("./node_modules/lodash-es/_baseGetTag.js"),r=s("./node_modules/lodash-es/isArray.js"),n=s("./node_modules/lodash-es/isObjectLike.js");const a=function(e){return"string"==typeof e||!(0,r.Z)(e)&&(0,n.Z)(e)&&"[object String]"==(0,i.Z)(e)};function c(e,t,s={},i=[]){const r=s&&s.xmlns,n=r?e.createElementNS(r,t):e.createElement(t);for(const e in s)n.setAttribute(e,s[e]);!a(i)&&(0,o.Z)(i)||(i=[i]);for(let t of i)a(t)&&(t=e.createTextNode(t)),n.appendChild(t);return n}},"./packages/ckeditor5-utils/src/dom/emittermixin.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-utils/src/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/uid.js"),r=s("./packages/ckeditor5-utils/src/dom/isnode.js"),n=s("./packages/ckeditor5-utils/src/dom/iswindow.js"),a=s("./node_modules/lodash-es/assignIn.js");const c=(0,a.Z)({},o.ZP,{listenTo(e,t,s,i={}){if((0,r.Z)(e)||(0,n.Z)(e)){const o={capture:!!i.useCapture,passive:!!i.usePassive},r=this._getProxyEmitter(e,o)||new l(e,o);this.listenTo(r,t,s,i)}else o.ZP.listenTo.call(this,e,t,s,i)},stopListening(e,t,s){if((0,r.Z)(e)||(0,n.Z)(e)){const o=this._getAllProxyEmitters(e);for(const e of o)this.stopListening(e,t,s)}else o.ZP.stopListening.call(this,e,t,s)},_getProxyEmitter(e,t){return(0,o.Rl)(this,d(e,t))},_getAllProxyEmitters(e){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map((t=>this._getProxyEmitter(e,t))).filter((e=>!!e))}});class l{constructor(e,t){(0,o.Hv)(this,d(e,t)),this._domNode=e,this._options=t}}function d(e,t){let s=function(e){return e["data-ck-expando"]||(e["data-ck-expando"]=(0,i.Z)())}(e);for(const e of Object.keys(t).sort())t[e]&&(s+="-"+e);return s}(0,a.Z)(l.prototype,o.ZP,{attach(e){if(this._domListeners&&this._domListeners[e])return;const t=this._createDomListener(e);this._domNode.addEventListener(e,t,this._options),this._domListeners||(this._domListeners={}),this._domListeners[e]=t},detach(e){let t;!this._domListeners[e]||(t=this._events[e])&&t.callbacks.length||this._domListeners[e].removeListener()},_addEventListener(e,t,s){this.attach(e),o.ZP._addEventListener.call(this,e,t,s)},_removeEventListener(e,t){o.ZP._removeEventListener.call(this,e,t),this.detach(e)},_createDomListener(e){const t=t=>{this.fire(e,t)};return t.removeListener=()=>{this._domNode.removeEventListener(e,t,this._options),delete this._domListeners[e]},t}})},"./packages/ckeditor5-utils/src/dom/getborderwidths.js":(e,t,s)=>{"use strict";function o(e){const t=e.ownerDocument.defaultView.getComputedStyle(e);return{top:parseInt(t.borderTopWidth,10),right:parseInt(t.borderRightWidth,10),bottom:parseInt(t.borderBottomWidth,10),left:parseInt(t.borderLeftWidth,10)}}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/global.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o={window,document}},"./packages/ckeditor5-utils/src/dom/iscomment.js":(e,t,s)=>{"use strict";function o(e){return e&&e.nodeType===Node.COMMENT_NODE}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/isnode.js":(e,t,s)=>{"use strict";function o(e){if(e){if(e.defaultView)return e instanceof e.defaultView.Document;if(e.ownerDocument&&e.ownerDocument.defaultView)return e instanceof e.ownerDocument.defaultView.Node}return!1}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/isrange.js":(e,t,s)=>{"use strict";function o(e){return"[object Range]"==Object.prototype.toString.apply(e)}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/istext.js":(e,t,s)=>{"use strict";function o(e){return"[object Text]"==Object.prototype.toString.call(e)}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/isvisible.js":(e,t,s)=>{"use strict";function o(e){return!!(e&&e.getClientRects&&e.getClientRects().length)}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/iswindow.js":(e,t,s)=>{"use strict";function o(e){const t=Object.prototype.toString.apply(e);return"[object Window]"==t||"[object global]"==t}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/position.js":(e,t,s)=>{"use strict";s.d(t,{x:()=>a});var o=s("./packages/ckeditor5-utils/src/dom/global.js"),i=s("./packages/ckeditor5-utils/src/dom/rect.js");var r=s("./packages/ckeditor5-utils/src/dom/getborderwidths.js"),n=s("./node_modules/lodash-es/isFunction.js");function a({element:e,target:t,positions:s,limiter:r,fitInViewport:a,viewportOffsetConfig:c}){(0,n.Z)(t)&&(t=t()),(0,n.Z)(r)&&(r=r());const d=function(e){return e&&e.parentNode?e.offsetParent===o.Z.document.body?null:e.offsetParent:null}(e),h=new i.Z(e);let u;const p={targetRect:new i.Z(t),elementRect:h,positionedElementAncestor:d};if(r||a){const e=r&&new i.Z(r).getVisible(),t=a&&function(e){e=Object.assign({top:0,bottom:0,left:0,right:0},e);const t=new i.Z(o.Z.window);return t.top+=e.top,t.height-=e.top,t.bottom-=e.bottom,t.height-=e.bottom,t}(c);Object.assign(p,{limiterRect:e,viewportRect:t}),u=function(e,t){const{elementRect:s}=t,o=s.getArea(),i=e.map((e=>new l(e,t))).filter((e=>!!e.name));let r=0,n=null;for(const e of i){const{_limiterIntersectionArea:t,_viewportIntersectionArea:s}=e;if(t===o)return e;const i=s**2+t**2;i>r&&(r=i,n=e)}return n}(s,p)||new l(s[0],p)}else u=new l(s[0],p);return u}function c(e){const{scrollX:t,scrollY:s}=o.Z.window;return e.clone().moveBy(t,s)}class l{constructor(e,t){const s=e(t.targetRect,t.elementRect,t.viewportRect);if(!s)return;const{left:o,top:i,name:r,config:n}=s;Object.assign(this,{name:r,config:n}),this._positioningFunctionCorrdinates={left:o,top:i},this._options=t}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get _limiterIntersectionArea(){const e=this._options.limiterRect;if(e){const t=this._options.viewportRect;if(!t)return e.getIntersectionArea(this._rect);{const s=e.getIntersection(t);if(s)return s.getIntersectionArea(this._rect)}}return 0}get _viewportIntersectionArea(){const e=this._options.viewportRect;return e?e.getIntersectionArea(this._rect):0}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCorrdinates.left,this._positioningFunctionCorrdinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=c(this._rect),this._options.positionedElementAncestor&&function(e,t){const s=c(new i.Z(t)),o=(0,r.Z)(t);let n=0,a=0;n-=s.left,a-=s.top,n+=t.scrollLeft,a+=t.scrollTop,n-=o.left,a-=o.top,e.moveBy(n,a)}(this._cachedAbsoluteRect,this._options.positionedElementAncestor)),this._cachedAbsoluteRect}}},"./packages/ckeditor5-utils/src/dom/rect.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-utils/src/dom/isrange.js"),i=s("./packages/ckeditor5-utils/src/dom/iswindow.js"),r=s("./packages/ckeditor5-utils/src/dom/getborderwidths.js"),n=s("./packages/ckeditor5-utils/src/dom/istext.js"),a=s("./node_modules/lodash-es/isElement.js");const c=["top","right","bottom","left","width","height"];class l{constructor(e){const t=(0,o.Z)(e);if(Object.defineProperty(this,"_source",{value:e._source||e,writable:!0,enumerable:!1}),(0,a.Z)(e)||t)if(t){const t=l.getDomRangeRects(e);d(this,l.getBoundingRect(t))}else d(this,e.getBoundingClientRect());else if((0,i.Z)(e)){const{innerWidth:t,innerHeight:s}=e;d(this,{top:0,right:t,bottom:s,left:0,width:t,height:s})}else d(this,e)}clone(){return new l(this)}moveTo(e,t){return this.top=t,this.right=e+this.width,this.bottom=t+this.height,this.left=e,this}moveBy(e,t){return this.top+=t,this.right+=e,this.left+=e,this.bottom+=t,this}getIntersection(e){const t={top:Math.max(this.top,e.top),right:Math.min(this.right,e.right),bottom:Math.min(this.bottom,e.bottom),left:Math.max(this.left,e.left)};return t.width=t.right-t.left,t.height=t.bottom-t.top,t.width<0||t.height<0?null:new l(t)}getIntersectionArea(e){const t=this.getIntersection(e);return t?t.getArea():0}getArea(){return this.width*this.height}getVisible(){const e=this._source;let t=this.clone();if(!h(e)){let s=e.parentNode||e.commonAncestorContainer;for(;s&&!h(s);){const e=new l(s),o=t.getIntersection(e);if(!o)return null;o.getArea()<t.getArea()&&(t=o),s=s.parentNode}}return t}isEqual(e){for(const t of c)if(this[t]!==e[t])return!1;return!0}contains(e){const t=this.getIntersection(e);return!(!t||!t.isEqual(e))}excludeScrollbarsAndBorders(){const e=this._source;let t,s,o;if((0,i.Z)(e))t=e.innerWidth-e.document.documentElement.clientWidth,s=e.innerHeight-e.document.documentElement.clientHeight,o=e.getComputedStyle(e.document.documentElement).direction;else{const i=(0,r.Z)(this._source);t=e.offsetWidth-e.clientWidth-i.left-i.right,s=e.offsetHeight-e.clientHeight-i.top-i.bottom,o=e.ownerDocument.defaultView.getComputedStyle(e).direction,this.left+=i.left,this.top+=i.top,this.right-=i.right,this.bottom-=i.bottom,this.width=this.right-this.left,this.height=this.bottom-this.top}return this.width-=t,"ltr"===o?this.right-=t:this.left+=t,this.height-=s,this.bottom-=s,this}static getDomRangeRects(e){const t=[],s=Array.from(e.getClientRects());if(s.length)for(const e of s)t.push(new l(e));else{let s=e.startContainer;(0,n.Z)(s)&&(s=s.parentNode);const o=new l(s.getBoundingClientRect());o.right=o.left,o.width=0,t.push(o)}return t}static getBoundingRect(e){const t={left:Number.POSITIVE_INFINITY,top:Number.POSITIVE_INFINITY,right:Number.NEGATIVE_INFINITY,bottom:Number.NEGATIVE_INFINITY};let s=0;for(const o of e)s++,t.left=Math.min(t.left,o.left),t.top=Math.min(t.top,o.top),t.right=Math.max(t.right,o.right),t.bottom=Math.max(t.bottom,o.bottom);return 0==s?null:(t.width=t.right-t.left,t.height=t.bottom-t.top,new l(t))}}function d(e,t){for(const s of c)e[s]=t[s]}function h(e){return!!(0,a.Z)(e)&&e===e.ownerDocument.body}},"./packages/ckeditor5-utils/src/dom/resizeobserver.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-utils/src/mix.js"),i=s("./packages/ckeditor5-utils/src/dom/global.js"),r=s("./packages/ckeditor5-utils/src/dom/rect.js"),n=s("./packages/ckeditor5-utils/src/dom/emittermixin.js");class a{constructor(e,t){a._observerInstance||a._createObserver(),this._element=e,this._callback=t,a._addElementCallback(e,t),a._observerInstance.observe(e)}destroy(){a._deleteElementCallback(this._element,this._callback)}static _addElementCallback(e,t){a._elementCallbacks||(a._elementCallbacks=new Map);let s=a._elementCallbacks.get(e);s||(s=new Set,a._elementCallbacks.set(e,s)),s.add(t)}static _deleteElementCallback(e,t){const s=a._getElementCallbacks(e);s&&(s.delete(t),s.size||(a._elementCallbacks.delete(e),a._observerInstance.unobserve(e))),a._elementCallbacks&&!a._elementCallbacks.size&&(a._observerInstance=null,a._elementCallbacks=null)}static _getElementCallbacks(e){return a._elementCallbacks?a._elementCallbacks.get(e):null}static _createObserver(){let e;e="function"==typeof i.Z.window.ResizeObserver?i.Z.window.ResizeObserver:c,a._observerInstance=new e((e=>{for(const t of e){const e=a._getElementCallbacks(t.target);if(e)for(const s of e)s(t)}}))}}a._observerInstance=null,a._elementCallbacks=null;class c{constructor(e){this._callback=e,this._elements=new Set,this._previousRects=new Map,this._periodicCheckTimeout=null}observe(e){this._elements.add(e),this._checkElementRectsAndExecuteCallback(),1===this._elements.size&&this._startPeriodicCheck()}unobserve(e){this._elements.delete(e),this._previousRects.delete(e),this._elements.size||this._stopPeriodicCheck()}_startPeriodicCheck(){const e=()=>{this._checkElementRectsAndExecuteCallback(),this._periodicCheckTimeout=setTimeout(e,100)};this.listenTo(i.Z.window,"resize",(()=>{this._checkElementRectsAndExecuteCallback()})),this._periodicCheckTimeout=setTimeout(e,100)}_stopPeriodicCheck(){clearTimeout(this._periodicCheckTimeout),this.stopListening(),this._previousRects.clear()}_checkElementRectsAndExecuteCallback(){const e=[];for(const t of this._elements)this._hasRectChanged(t)&&e.push({target:t,contentRect:this._previousRects.get(t)});e.length&&this._callback(e)}_hasRectChanged(e){if(!e.ownerDocument.body.contains(e))return!1;const t=new r.Z(e),s=this._previousRects.get(e),o=!s||!s.isEqual(t);return this._previousRects.set(e,t),o}}(0,o.Z)(c,n.Z)},"./packages/ckeditor5-utils/src/dom/scroll.js":(e,t,s)=>{"use strict";s.d(t,{F:()=>a,m:()=>n});var o=s("./packages/ckeditor5-utils/src/dom/isrange.js"),i=s("./packages/ckeditor5-utils/src/dom/rect.js"),r=s("./packages/ckeditor5-utils/src/dom/istext.js");function n({target:e,viewportOffset:t=0}){const s=g(e);let o=s,i=null;for(;o;){let r;r=m(o==s?e:i),l(r,(()=>f(e,o)));const n=f(e,o);if(c(o,n,t),o.parent!=o){if(i=o.frameElement,o=o.parent,!i)return}else o=null}}function a(e){l(m(e),(()=>new i.Z(e)))}function c(e,t,s){const o=t.clone().moveBy(0,s),r=t.clone().moveBy(0,-s),n=new i.Z(e).excludeScrollbarsAndBorders();if(![r,o].every((e=>n.contains(e)))){let{scrollX:i,scrollY:a}=e;h(r,n)?a-=n.top-t.top+s:d(o,n)&&(a+=t.bottom-n.bottom+s),u(t,n)?i-=n.left-t.left+s:p(t,n)&&(i+=t.right-n.right+s),e.scrollTo(i,a)}}function l(e,t){const s=g(e);let o,r;for(;e!=s.document.body;)r=t(),o=new i.Z(e).excludeScrollbarsAndBorders(),o.contains(r)||(h(r,o)?e.scrollTop-=o.top-r.top:d(r,o)&&(e.scrollTop+=r.bottom-o.bottom),u(r,o)?e.scrollLeft-=o.left-r.left:p(r,o)&&(e.scrollLeft+=r.right-o.right)),e=e.parentNode}function d(e,t){return e.bottom>t.bottom}function h(e,t){return e.top<t.top}function u(e,t){return e.left<t.left}function p(e,t){return e.right>t.right}function g(e){return(0,o.Z)(e)?e.startContainer.ownerDocument.defaultView:e.ownerDocument.defaultView}function m(e){if((0,o.Z)(e)){let t=e.commonAncestorContainer;return(0,r.Z)(t)&&(t=t.parentNode),t}return e.parentNode}function f(e,t){const s=g(e),o=new i.Z(e);if(s===t)return o;{let e=s;for(;e!=t;){const t=e.frameElement,s=new i.Z(t).excludeScrollbarsAndBorders();o.moveBy(s.left,s.top),e=e.parent}}return o}Object.assign({},{scrollViewportToShowTarget:n,scrollAncestorsToShowTarget:a})},"./packages/ckeditor5-utils/src/dom/setdatainelement.js":(e,t,s)=>{"use strict";function o(e,t){e instanceof HTMLTextAreaElement&&(e.value=t),e.innerHTML=t}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/tounit.js":(e,t,s)=>{"use strict";function o(e){return t=>t+e}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/emittermixin.js":(e,t,s)=>{"use strict";s.d(t,{Hv:()=>u,Rl:()=>h,ZP:()=>d});var o=s("./packages/ckeditor5-utils/src/eventinfo.js"),i=s("./packages/ckeditor5-utils/src/uid.js"),r=s("./packages/ckeditor5-utils/src/priorities.js"),n=s("./packages/ckeditor5-utils/src/inserttopriorityarray.js"),a=(s("./packages/ckeditor5-utils/src/version.js"),s("./packages/ckeditor5-utils/src/ckeditorerror.js"));const c=Symbol("listeningTo"),l=Symbol("emitterId"),d={on(e,t,s={}){this.listenTo(this,e,t,s)},once(e,t,s){let o=!1;this.listenTo(this,e,(function(e,...s){o||(o=!0,e.off(),t.call(this,e,...s))}),s)},off(e,t){this.stopListening(this,e,t)},listenTo(e,t,s,o={}){let i,r;this[c]||(this[c]={});const n=this[c];p(e)||u(e);const a=p(e);(i=n[a])||(i=n[a]={emitter:e,callbacks:{}}),(r=i.callbacks[t])||(r=i.callbacks[t]=[]),r.push(s),function(e,t,s,o,i){t._addEventListener?t._addEventListener(s,o,i):e._addEventListener.call(t,s,o,i)}(this,e,t,s,o)},stopListening(e,t,s){const o=this[c];let i=e&&p(e);const r=o&&i&&o[i],n=r&&t&&r.callbacks[t];if(!(!o||e&&!r||t&&!n))if(s){_(this,e,t,s);-1!==n.indexOf(s)&&(1===n.length?delete r.callbacks[t]:_(this,e,t,s))}else if(n){for(;s=n.pop();)_(this,e,t,s);delete r.callbacks[t]}else if(r){for(t in r.callbacks)this.stopListening(e,t);delete o[i]}else{for(i in o)this.stopListening(o[i].emitter);delete this[c]}},fire(e,...t){try{const s=e instanceof o.Z?e:new o.Z(this,e),i=s.name;let r=f(this,i);if(s.path.push(this),r){const e=[s,...t];r=Array.from(r);for(let t=0;t<r.length&&(r[t].callback.apply(this,e),s.off.called&&(delete s.off.called,this._removeEventListener(i,r[t].callback)),!s.stop.called);t++);}if(this._delegations){const e=this._delegations.get(i),o=this._delegations.get("*");e&&k(e,s,t),o&&k(o,s,t)}return s.return}catch(e){a.ZP.rethrowUnexpectedError(e,this)}},delegate(...e){return{to:(t,s)=>{this._delegations||(this._delegations=new Map),e.forEach((e=>{const o=this._delegations.get(e);o?o.set(t,s):this._delegations.set(e,new Map([[t,s]]))}))}}},stopDelegating(e,t){if(this._delegations)if(e)if(t){const s=this._delegations.get(e);s&&s.delete(t)}else this._delegations.delete(e);else this._delegations.clear()},_addEventListener(e,t,s){!function(e,t){const s=g(e);if(s[t])return;let o=t,i=null;const r=[];for(;""!==o&&!s[o];)s[o]={callbacks:[],childEvents:[]},r.push(s[o]),i&&s[o].childEvents.push(i),i=o,o=o.substr(0,o.lastIndexOf(":"));if(""!==o){for(const e of r)e.callbacks=s[o].callbacks.slice();s[o].childEvents.push(i)}}(this,e);const o=m(this,e),i={callback:t,priority:r.Z.get(s.priority)};for(const e of o)(0,n.Z)(e,i)},_removeEventListener(e,t){const s=m(this,e);for(const e of s)for(let s=0;s<e.length;s++)e[s].callback==t&&(e.splice(s,1),s--)}};function h(e,t){return e[c]&&e[c][t]?e[c][t].emitter:null}function u(e,t){e[l]||(e[l]=t||(0,i.Z)())}function p(e){return e[l]}function g(e){return e._events||Object.defineProperty(e,"_events",{value:{}}),e._events}function m(e,t){const s=g(e)[t];if(!s)return[];let o=[s.callbacks];for(let t=0;t<s.childEvents.length;t++){const i=m(e,s.childEvents[t]);o=o.concat(i)}return o}function f(e,t){let s;return e._events&&(s=e._events[t])&&s.callbacks.length?s.callbacks:t.indexOf(":")>-1?f(e,t.substr(0,t.lastIndexOf(":"))):null}function k(e,t,s){for(let[i,r]of e){r?"function"==typeof r&&(r=r(t.name)):r=t.name;const e=new o.Z(t.source,r);e.path=[...t.path],i.fire(e,...s)}}function _(e,t,s,o){t._removeEventListener?t._removeEventListener(s,o):e._removeEventListener.call(t,s,o)}},"./packages/ckeditor5-utils/src/env.js":(e,t,s)=>{"use strict";s.d(t,{ZP:()=>r});const o=navigator.userAgent.toLowerCase(),i={isMac:n(o),isWindows:function(e){return e.indexOf("windows")>-1}(o),isGecko:function(e){return!!e.match(/gecko\/\d+/)}(o),isSafari:function(e){return e.indexOf(" applewebkit/")>-1&&-1===e.indexOf("chrome")}(o),isiOS:function(e){return!!e.match(/iphone|ipad/i)||n(e)&&navigator.maxTouchPoints>0}(o),isAndroid:function(e){return e.indexOf("android")>-1}(o),isBlink:function(e){return e.indexOf("chrome/")>-1&&e.indexOf("edge/")<0}(o),features:{isRegExpUnicodePropertySupported:function(){let e=!1;try{e=0==="ć".search(new RegExp("[\\p{L}]","u"))}catch(e){}return e}()}},r=i;function n(e){return e.indexOf("macintosh")>-1}},"./packages/ckeditor5-utils/src/eventinfo.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});const o=function(){return function e(){e.called=!0}};class i{constructor(e,t){this.source=e,this.name=t,this.path=[],this.stop=o(),this.off=o()}}},"./packages/ckeditor5-utils/src/fastdiff.js":(e,t,s)=>{"use strict";function o(e,t,s,o=!1){s=s||function(e,t){return e===t},Array.isArray(e)||(e=Array.prototype.slice.call(e)),Array.isArray(t)||(t=Array.prototype.slice.call(t));const n=function(e,t,s){const o=i(e,t,s);if(-1===o)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const n=r(e,o),a=r(t,o),c=i(n,a,s),l=e.length-c,d=t.length-c;return{firstIndex:o,lastIndexOld:l,lastIndexNew:d}}(e,t,s);return o?function(e,t){const{firstIndex:s,lastIndexOld:o,lastIndexNew:i}=e;if(-1===s)return Array(t).fill("equal");let r=[];s>0&&(r=r.concat(Array(s).fill("equal")));i-s>0&&(r=r.concat(Array(i-s).fill("insert")));o-s>0&&(r=r.concat(Array(o-s).fill("delete")));i<t&&(r=r.concat(Array(t-i).fill("equal")));return r}(n,t.length):function(e,t){const s=[],{firstIndex:o,lastIndexOld:i,lastIndexNew:r}=t;r-o>0&&s.push({index:o,type:"insert",values:e.slice(o,r)});i-o>0&&s.push({index:o+(r-o),type:"delete",howMany:i-o});return s}(t,n)}function i(e,t,s){for(let o=0;o<Math.max(e.length,t.length);o++)if(void 0===e[o]||void 0===t[o]||!s(e[o],t[o]))return o;return-1}function r(e,t){return e.slice(t).reverse()}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/first.js":(e,t,s)=>{"use strict";function o(e){const t=e.next();return t.done?null:t.value}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/focustracker.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/observablemixin.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-utils/src/mix.js");class a{constructor(){this.set("isFocused",!1),this.set("focusedElement",null),this._elements=new Set,this._nextEventLoopTimeout=null}add(e){if(this._elements.has(e))throw new r.ZP("focustracker-add-element-already-exist",this);this.listenTo(e,"focus",(()=>this._focus(e)),{useCapture:!0}),this.listenTo(e,"blur",(()=>this._blur()),{useCapture:!0}),this._elements.add(e)}remove(e){e===this.focusedElement&&this._blur(e),this._elements.has(e)&&(this.stopListening(e),this._elements.delete(e))}destroy(){this.stopListening()}_focus(e){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=e,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null,this.isFocused=!1}),0)}}(0,n.Z)(a,o.Z),(0,n.Z)(a,i.Z)},"./packages/ckeditor5-utils/src/index.js":(e,t,s)=>{"use strict";s.d(t,{Bb:()=>c.ZP,FE:()=>Z.Z,Xu:()=>h.Z,a6:()=>l,ln:()=>n.ZP,Rh:()=>j.Z,VD:()=>x.Z,go:()=>y.Z,Re:()=>a.Z,UL:()=>g.Z,do:()=>m.Z,az:()=>d.Z,Hg:()=>i.Z,OB:()=>o.ZP,Ps:()=>P.Z,Cq:()=>w.Cq,yy:()=>p,XU:()=>w.XU,j9:()=>v.j,mA:()=>w.mA,CO:()=>u.Z,dj:()=>w.dj,Zt:()=>w.Zt,pn:()=>_.Z,Do:()=>w.Do,H:()=>c.H,KE:()=>c.KE,CD:()=>r.Z,Zz:()=>w.Zz,tA:()=>C.Z,F0:()=>b.F,mR:()=>b.m,jS:()=>f.Z,qo:()=>A.Z,qL:()=>T.Z,nn:()=>k.Z,hQ:()=>E.Z,i8:()=>S.Z});var o=s("./packages/ckeditor5-utils/src/env.js"),i=s("./packages/ckeditor5-utils/src/diff.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-utils/src/emittermixin.js"),a=s("./packages/ckeditor5-utils/src/observablemixin.js"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class l{constructor(){this._replacedElements=[]}replace(e,t){this._replacedElements.push({element:e,newElement:t}),e.style.display="none",t&&e.parentNode.insertBefore(t,e.nextSibling)}restore(){this._replacedElements.forEach((({element:e,newElement:t})=>{e.style.display="",t&&t.remove()})),this._replacedElements=[]}}var d=s("./packages/ckeditor5-utils/src/dom/createelement.js"),h=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),u=s("./packages/ckeditor5-utils/src/dom/global.js");function p(e){return e instanceof HTMLTextAreaElement?e.value:e.innerHTML}var g=s("./packages/ckeditor5-utils/src/dom/rect.js"),m=s("./packages/ckeditor5-utils/src/dom/resizeobserver.js"),f=s("./packages/ckeditor5-utils/src/dom/setdatainelement.js"),k=s("./packages/ckeditor5-utils/src/dom/tounit.js"),_=s("./packages/ckeditor5-utils/src/dom/isvisible.js"),b=s("./packages/ckeditor5-utils/src/dom/scroll.js"),w=s("./packages/ckeditor5-utils/src/keyboard.js"),v=s("./packages/ckeditor5-utils/src/language.js"),y=s("./packages/ckeditor5-utils/src/locale.js"),Z=s("./packages/ckeditor5-utils/src/collection.js"),P=s("./packages/ckeditor5-utils/src/first.js"),j=s("./packages/ckeditor5-utils/src/focustracker.js"),x=s("./packages/ckeditor5-utils/src/keystrokehandler.js"),A=s("./packages/ckeditor5-utils/src/toarray.js"),T=s("./packages/ckeditor5-utils/src/tomap.js"),C=s("./packages/ckeditor5-utils/src/priorities.js"),E=s("./packages/ckeditor5-utils/src/uid.js"),S=s("./packages/ckeditor5-utils/src/version.js")},"./packages/ckeditor5-utils/src/inserttopriorityarray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/priorities.js");function i(e,t){const s=o.Z.get(t.priority);for(let i=0;i<e.length;i++)if(o.Z.get(e[i].priority)<s)return void e.splice(i,0,t);e.push(t)}},"./packages/ckeditor5-utils/src/isiterable.js":(e,t,s)=>{"use strict";function o(e){return!(!e||!e[Symbol.iterator])}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/keyboard.js":(e,t,s)=>{"use strict";s.d(t,{Cq:()=>l,Do:()=>a,XU:()=>h,Zt:()=>g,Zz:()=>d,dj:()=>u,mA:()=>p});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/env.js");const r={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},n={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},a=function(){const e={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let t=65;t<=90;t++){const s=String.fromCharCode(t);e[s.toLowerCase()]=t}for(let t=48;t<=57;t++)e[t-48]=t;for(let t=112;t<=123;t++)e["f"+(t-111)]=t;for(const t of"`-=[];',./\\")e[t]=t.charCodeAt(0);return e}(),c=Object.fromEntries(Object.entries(a).map((([e,t])=>[t,e.charAt(0).toUpperCase()+e.slice(1)])));function l(e){let t;if("string"==typeof e){if(t=a[e.toLowerCase()],!t)throw new o.ZP("keyboard-unknown-key",null,{key:e})}else t=e.keyCode+(e.altKey?a.alt:0)+(e.ctrlKey?a.ctrl:0)+(e.shiftKey?a.shift:0)+(e.metaKey?a.cmd:0);return t}function d(e){return"string"==typeof e&&(e=function(e){return e.split("+").map((e=>e.trim()))}(e)),e.map((e=>"string"==typeof e?function(e){if(e.endsWith("!"))return l(e.slice(0,-1));const t=l(e);return i.ZP.isMac&&t==a.ctrl?a.cmd:t}(e):e)).reduce(((e,t)=>t+e),0)}function h(e){let t=d(e);return Object.entries(i.ZP.isMac?r:n).reduce(((e,[s,o])=>(0!=(t&a[s])&&(t&=~a[s],e+=o),e)),"")+(t?c[t]:"")}function u(e){return e==a.arrowright||e==a.arrowleft||e==a.arrowup||e==a.arrowdown}function p(e,t){const s="ltr"===t;switch(e){case a.arrowleft:return s?"left":"right";case a.arrowright:return s?"right":"left";case a.arrowup:return"up";case a.arrowdown:return"down"}}function g(e,t){const s=p(e,t);return"down"===s||"right"===s}},"./packages/ckeditor5-utils/src/keystrokehandler.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/keyboard.js");class r{constructor(){this._listener=Object.create(o.Z)}listenTo(e){this._listener.listenTo(e,"keydown",((e,t)=>{this._listener.fire("_keydown:"+(0,i.Cq)(t),t)}))}set(e,t,s={}){const o=(0,i.Zz)(e),r=s.priority;this._listener.listenTo(this._listener,"_keydown:"+o,((e,s)=>{t(s,(()=>{s.preventDefault(),s.stopPropagation(),e.stop()})),e.return=!0}),{priority:r})}press(e){return!!this._listener.fire("_keydown:"+(0,i.Cq)(e),e)}destroy(){this._listener.stopListening()}}},"./packages/ckeditor5-utils/src/language.js":(e,t,s)=>{"use strict";s.d(t,{j:()=>i});const o=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function i(e){return o.includes(e)?"rtl":"ltr"}},"./packages/ckeditor5-utils/src/locale.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-utils/src/toarray.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");function r(e,t,s=1){if("number"!=typeof s)throw new i.ZP("translation-service-quantity-not-a-number",null,{quantity:s});const o=Object.keys(window.CKEDITOR_TRANSLATIONS).length;1===o&&(e=Object.keys(window.CKEDITOR_TRANSLATIONS)[0]);const r=t.id||t.string;if(0===o||!function(e,t){return!!window.CKEDITOR_TRANSLATIONS[e]&&!!window.CKEDITOR_TRANSLATIONS[e].dictionary[t]}(e,r))return 1!==s?t.plural:t.string;const n=window.CKEDITOR_TRANSLATIONS[e].dictionary,a=window.CKEDITOR_TRANSLATIONS[e].getPluralForm||(e=>1===e?0:1);if("string"==typeof n[r])return n[r];const c=Number(a(s));return n[r][c]}window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={});var n=s("./packages/ckeditor5-utils/src/language.js");class a{constructor(e={}){this.uiLanguage=e.uiLanguage||"en",this.contentLanguage=e.contentLanguage||this.uiLanguage,this.uiLanguageDirection=(0,n.j)(this.uiLanguage),this.contentLanguageDirection=(0,n.j)(this.contentLanguage),this.t=(e,t)=>this._t(e,t)}get language(){return console.warn("locale-deprecated-language-property: The Locale#language property has been deprecated and will be removed in the near future. Please use #uiLanguage and #contentLanguage properties instead."),this.uiLanguage}_t(e,t=[]){t=(0,o.Z)(t),"string"==typeof e&&(e={string:e});const s=!!e.plural?t[0]:1;return function(e,t){return e.replace(/%(\d+)/g,((e,s)=>s<t.length?t[s]:e))}(r(this.uiLanguage,e,s),t)}}},"./packages/ckeditor5-utils/src/mix.js":(e,t,s)=>{"use strict";function o(e,...t){t.forEach((t=>{Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t)).forEach((s=>{if(s in e.prototype)return;const o=Object.getOwnPropertyDescriptor(t,s);o.enumerable=!1,Object.defineProperty(e.prototype,s,o)}))}))}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/observablemixin.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>p});var o=s("./packages/ckeditor5-utils/src/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=s("./node_modules/lodash-es/isObject.js"),n=s("./node_modules/lodash-es/assignIn.js");const a=Symbol("observableProperties"),c=Symbol("boundObservables"),l=Symbol("boundProperties"),d=Symbol("decoratedMethods"),h=Symbol("decoratedOriginal"),u={set(e,t){if((0,r.Z)(e))return void Object.keys(e).forEach((t=>{this.set(t,e[t])}),this);g(this);const s=this[a];if(e in this&&!s.has(e))throw new i.ZP("observable-set-cannot-override",this);Object.defineProperty(this,e,{enumerable:!0,configurable:!0,get:()=>s.get(e),set(t){const o=s.get(e);let i=this.fire("set:"+e,e,t,o);void 0===i&&(i=t),o===i&&s.has(e)||(s.set(e,i),this.fire("change:"+e,e,i,o))}}),this[e]=t},bind(...e){if(!e.length||!k(e))throw new i.ZP("observable-bind-wrong-properties",this);if(new Set(e).size!==e.length)throw new i.ZP("observable-bind-duplicate-properties",this);g(this);const t=this[l];e.forEach((e=>{if(t.has(e))throw new i.ZP("observable-bind-rebind",this)}));const s=new Map;return e.forEach((e=>{const o={property:e,to:[]};t.set(e,o),s.set(e,o)})),{to:m,toMany:f,_observable:this,_bindProperties:e,_to:[],_bindings:s}},unbind(...e){if(!this[a])return;const t=this[l],s=this[c];if(e.length){if(!k(e))throw new i.ZP("observable-unbind-wrong-properties",this);e.forEach((e=>{const o=t.get(e);if(!o)return;let i,r,n,a;o.to.forEach((e=>{i=e[0],r=e[1],n=s.get(i),a=n[r],a.delete(o),a.size||delete n[r],Object.keys(n).length||(s.delete(i),this.stopListening(i,"change"))})),t.delete(e)}))}else s.forEach(((e,t)=>{this.stopListening(t,"change")})),s.clear(),t.clear()},decorate(e){const t=this[e];if(!t)throw new i.ZP("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:e});this.on(e,((e,s)=>{e.return=t.apply(this,s)})),this[e]=function(...t){return this.fire(e,t)},this[e][h]=t,this[d]||(this[d]=[]),this[d].push(e)}};(0,n.Z)(u,o.ZP),u.stopListening=function(e,t,s){if(!e&&this[d]){for(const e of this[d])this[e]=this[e][h];delete this[d]}o.ZP.stopListening.call(this,e,t,s)};const p=u;function g(e){e[a]||(Object.defineProperty(e,a,{value:new Map}),Object.defineProperty(e,c,{value:new Map}),Object.defineProperty(e,l,{value:new Map}))}function m(...e){const t=function(...e){if(!e.length)throw new i.ZP("observable-bind-to-parse-error",null);const t={to:[]};let s;"function"==typeof e[e.length-1]&&(t.callback=e.pop());return e.forEach((e=>{if("string"==typeof e)s.properties.push(e);else{if("object"!=typeof e)throw new i.ZP("observable-bind-to-parse-error",null);s={observable:e,properties:[]},t.to.push(s)}})),t}(...e),s=Array.from(this._bindings.keys()),o=s.length;if(!t.callback&&t.to.length>1)throw new i.ZP("observable-bind-to-no-callback",this);if(o>1&&t.callback)throw new i.ZP("observable-bind-to-extra-callback",this);var r;t.to.forEach((e=>{if(e.properties.length&&e.properties.length!==o)throw new i.ZP("observable-bind-to-properties-length",this);e.properties.length||(e.properties=this._bindProperties)})),this._to=t.to,t.callback&&(this._bindings.get(s[0]).callback=t.callback),r=this._observable,this._to.forEach((e=>{const t=r[c];let s;t.get(e.observable)||r.listenTo(e.observable,"change",((o,i)=>{s=t.get(e.observable)[i],s&&s.forEach((e=>{_(r,e.property)}))}))})),function(e){let t;e._bindings.forEach(((s,o)=>{e._to.forEach((i=>{t=i.properties[s.callback?0:e._bindProperties.indexOf(o)],s.to.push([i.observable,t]),function(e,t,s,o){const i=e[c],r=i.get(s),n=r||{};n[o]||(n[o]=new Set);n[o].add(t),r||i.set(s,n)}(e._observable,s,i.observable,t)}))}))}(this),this._bindProperties.forEach((e=>{_(this._observable,e)}))}function f(e,t,s){if(this._bindings.size>1)throw new i.ZP("observable-bind-to-many-not-one-binding",this);this.to(...function(e,t){const s=e.map((e=>[e,t]));return Array.prototype.concat.apply([],s)}(e,t),s)}function k(e){return e.every((e=>"string"==typeof e))}function _(e,t){const s=e[l].get(t);let o;s.callback?o=s.callback.apply(e,s.to.map((e=>e[0][e[1]]))):(o=s.to[0],o=o[0][o[1]]),Object.prototype.hasOwnProperty.call(e,t)?e[t]=o:e.set(t,o)}},"./packages/ckeditor5-utils/src/priorities.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o={get(e){return"number"!=typeof e?this[e]||this.normal:e},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5}},"./packages/ckeditor5-utils/src/toarray.js":(e,t,s)=>{"use strict";function o(e){return Array.isArray(e)?e:[e]}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/tomap.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/isiterable.js");function i(e){return(0,o.Z)(e)?new Map(e):function(e){const t=new Map;for(const s in e)t.set(s,e[s]);return t}(e)}},"./packages/ckeditor5-utils/src/uid.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});const o=new Array(256).fill().map(((e,t)=>("0"+t.toString(16)).slice(-2)));function i(){const e=4294967296*Math.random()>>>0,t=4294967296*Math.random()>>>0,s=4294967296*Math.random()>>>0,i=4294967296*Math.random()>>>0;return"e"+o[e>>0&255]+o[e>>8&255]+o[e>>16&255]+o[e>>24&255]+o[t>>0&255]+o[t>>8&255]+o[t>>16&255]+o[t>>24&255]+o[s>>0&255]+o[s>>8&255]+o[s>>16&255]+o[s>>24&255]+o[i>>0&255]+o[i>>8&255]+o[i>>16&255]+o[i>>24&255]}},"./packages/ckeditor5-utils/src/version.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js");const i="34.0.0",r=i,n="object"==typeof window?window:s.g;if(n.CKEDITOR_VERSION)throw new o.ZP("ckeditor-duplicated-modules",null);n.CKEDITOR_VERSION=i},"./packages/ckeditor5-widget/src/utils.js":(e,t,s)=>{"use strict";s.d(t,{s4:()=>m,Uo:()=>f,KT:()=>j,id:()=>Z,Qd:()=>k,em:()=>v,l6:()=>y,XC:()=>_,sC:()=>P,$n:()=>x});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/toarray.js"),r=s("./packages/ckeditor5-engine/src/model/utils/findoptimalinsertionrange.js"),n=s("./packages/ckeditor5-utils/src/emittermixin.js"),a=s("./packages/ckeditor5-utils/src/mix.js");class c{constructor(){this._stack=[]}add(e,t){const s=this._stack,o=s[0];this._insertDescriptor(e);const i=s[0];o===i||l(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:t})}remove(e,t){const s=this._stack,o=s[0];this._removeDescriptor(e);const i=s[0];o===i||l(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:t})}_insertDescriptor(e){const t=this._stack,s=t.findIndex((t=>t.id===e.id));if(l(e,t[s]))return;s>-1&&t.splice(s,1);let o=0;for(;t[o]&&d(t[o],e);)o++;t.splice(o,0,e)}_removeDescriptor(e){const t=this._stack,s=t.findIndex((t=>t.id===e));s>-1&&t.splice(s,1)}}function l(e,t){return e&&t&&e.priority==t.priority&&h(e.classes)==h(t.classes)}function d(e,t){return e.priority>t.priority||!(e.priority<t.priority)&&h(e.classes)>h(t.classes)}function h(e){return Array.isArray(e)?e.sort().join(","):e}(0,a.Z)(c,n.ZP);var u=s("./packages/ckeditor5-widget/src/widgettypearound/utils.js"),p=s("./packages/ckeditor5-ui/src/icon/iconview.js");const g='<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M4 0v1H1v3H0V.5A.5.5 0 0 1 .5 0H4zm8 0h3.5a.5.5 0 0 1 .5.5V4h-1V1h-3V0zM4 16H.5a.5.5 0 0 1-.5-.5V12h1v3h3v1zm8 0v-1h3v-3h1v3.5a.5.5 0 0 1-.5.5H12z"/><path fill-opacity=".256" d="M1 1h14v14H1z"/><g class="ck-icon__selected-indicator"><path d="M7 0h2v1H7V0zM0 7h1v2H0V7zm15 0h1v2h-1V7zm-8 8h2v1H7v-1z"/><path fill-opacity=".254" d="M1 1h14v14H1z"/></g></svg>',m="ck-widget",f="ck-widget_selected";function k(e){return!!e.is("element")&&!!e.getCustomProperty("widget")}function _(e,t,s={}){if(!e.is("containerElement"))throw new o.ZP("widget-to-widget-wrong-element-type",null,{element:e});return t.setAttribute("contenteditable","false",e),t.addClass(m,e),t.setCustomProperty("widget",!0,e),e.getFillerOffset=A,s.label&&y(e,s.label,t),s.hasSelectionHandle&&function(e,t){const s=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(e){const t=this.toDomElement(e),s=new p.Z;return s.set("content",g),s.render(),t.appendChild(s.element),t}));t.insert(t.createPositionAt(e,0),s),t.addClass(["ck-widget_with-selection-handle"],e)}(e,t),v(e,t),e}function b(e,t,s){if(t.classes&&s.addClass((0,i.Z)(t.classes),e),t.attributes)for(const o in t.attributes)s.setAttribute(o,t.attributes[o],e)}function w(e,t,s){if(t.classes&&s.removeClass((0,i.Z)(t.classes),e),t.attributes)for(const o in t.attributes)s.removeAttribute(o,e)}function v(e,t,s=b,o=w){const i=new c;i.on("change:top",((t,i)=>{i.oldDescriptor&&o(e,i.oldDescriptor,i.writer),i.newDescriptor&&s(e,i.newDescriptor,i.writer)})),t.setCustomProperty("addHighlight",((e,t,s)=>i.add(t,s)),e),t.setCustomProperty("removeHighlight",((e,t,s)=>i.remove(t,s)),e)}function y(e,t,s){s.setCustomProperty("widgetLabel",t,e)}function Z(e){const t=e.getCustomProperty("widgetLabel");return t?"function"==typeof t?t():t:""}function P(e,t){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],e),t.setAttribute("contenteditable",e.isReadOnly?"false":"true",e),e.on("change:isReadOnly",((s,o,i)=>{t.setAttribute("contenteditable",i?"false":"true",e)})),e.on("change:isFocused",((s,o,i)=>{i?t.addClass("ck-editor__nested-editable_focused",e):t.removeClass("ck-editor__nested-editable_focused",e)})),v(e,t),e}function j(e,t){const s=e.getSelectedElement();if(s){const o=(0,u.tB)(e);if(o)return t.createRange(t.createPositionAt(s,o))}return(0,r.K)(e,t)}function x(e,t){return(s,o)=>{const{mapper:i,viewPosition:r}=o,n=i.findMappedViewAncestor(r);if(!t(n))return;const a=i.toModelElement(n);o.modelPosition=e.createPositionAt(a,r.isAtStart?"before":"after")}}function A(){return null}},"./packages/ckeditor5-widget/src/widget.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),r=s("./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js"),n=s("./packages/ckeditor5-typing/src/delete.js"),a=s("./packages/ckeditor5-utils/src/env.js"),c=s("./packages/ckeditor5-utils/src/keyboard.js"),l=s("./packages/ckeditor5-utils/src/dom/rect.js");function d(e){const t=e.model;return(s,o)=>{const i=o.keyCode==c.Do.arrowup,r=o.keyCode==c.Do.arrowdown,n=o.shiftKey,a=t.document.selection;if(!i&&!r)return;const d=r;if(n&&function(e,t){return!e.isCollapsed&&e.isBackward==t}(a,d))return;const p=function(e,t,s){const o=e.model;if(s){const e=t.isCollapsed?t.focus:t.getLastPosition(),s=h(o,e,"forward");if(!s)return null;const i=o.createRange(e,s),r=u(o.schema,i,"backward");return r?o.createRange(e,r):null}{const e=t.isCollapsed?t.focus:t.getFirstPosition(),s=h(o,e,"backward");if(!s)return null;const i=o.createRange(s,e),r=u(o.schema,i,"forward");return r?o.createRange(r,e):null}}(e,a,d);if(p){if(p.isCollapsed){if(a.isCollapsed)return;if(n)return}(p.isCollapsed||function(e,t,s){const o=e.model,i=e.view.domConverter;if(s){const e=o.createSelection(t.start);o.modifySelection(e),e.focus.isAtEnd||t.start.isEqual(e.focus)||(t=o.createRange(e.focus,t.end))}const r=e.mapper.toViewRange(t),n=i.viewRangeToDom(r),a=l.Z.getDomRangeRects(n);let c;for(const e of a)if(void 0!==c){if(Math.round(e.top)>=c)return!1;c=Math.max(c,Math.round(e.bottom))}else c=Math.round(e.bottom);return!0}(e,p,d))&&(t.change((e=>{const s=d?p.end:p.start;if(n){const o=t.createSelection(a.anchor);o.setFocus(s),e.setSelection(o)}else e.setSelection(s)})),s.stop(),o.preventDefault(),o.stopPropagation())}}}function h(e,t,s){const o=e.schema,i=e.createRangeIn(t.root),r="forward"==s?"elementStart":"elementEnd";for(const{previousPosition:e,item:n,type:a}of i.getWalker({startPosition:t,direction:s})){if(o.isLimit(n)&&!o.isInline(n))return e;if(a==r&&o.isBlock(n))return null}return null}function u(e,t,s){const o="backward"==s?t.end:t.start;if(e.checkChild(o,"$text"))return o;for(const{nextPosition:o}of t.getWalker({direction:s}))if(e.checkChild(o,"$text"))return o;return null}var p=s("./packages/ckeditor5-widget/src/utils.js"),g=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),m=s.n(g),f=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widget.css"),k={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};m()(f.Z,k);f.Z.locals;class _ extends o.Z{static get pluginName(){return"Widget"}static get requires(){return[r.Z,n.Z]}init(){const e=this.editor,t=e.editing.view,s=t.document;this._previouslySelected=new Set,this.editor.editing.downcastDispatcher.on("selection",((t,s,o)=>{const i=o.writer,r=s.selection;if(r.isCollapsed)return;const n=r.getSelectedElement();if(!n)return;const a=e.editing.mapper.toViewElement(n);(0,p.Qd)(a)&&o.consumable.consume(r,"selection")&&i.setSelection(i.createRangeOn(a),{fake:!0,label:(0,p.id)(a)})})),this.editor.editing.downcastDispatcher.on("selection",((e,t,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const o=s.writer,i=o.document.selection;let r=null;for(const e of i.getRanges())for(const t of e){const e=t.item;(0,p.Qd)(e)&&!b(e,r)&&(o.addClass(p.Uo,e),this._previouslySelected.add(e),r=e)}}),{priority:"low"}),t.addObserver(i.Z),this.listenTo(s,"mousedown",((...e)=>this._onMousedown(...e))),this.listenTo(s,"arrowKey",((...e)=>{this._handleSelectionChangeOnArrowKeyPress(...e)}),{context:[p.Qd,"$text"]}),this.listenTo(s,"arrowKey",((...e)=>{this._preventDefaultOnArrowKeyPress(...e)}),{context:"$root"}),this.listenTo(s,"arrowKey",d(this.editor.editing),{context:"$text"}),this.listenTo(s,"delete",((e,t)=>{this._handleDelete("forward"==t.direction)&&(t.preventDefault(),e.stop())}),{context:"$root"})}_onMousedown(e,t){const s=this.editor,o=s.editing.view,i=o.document;let r=t.target;if(function(e){for(;e;){if(e.is("editableElement")&&!e.is("rootElement"))return!0;if((0,p.Qd)(e))return!1;e=e.parent}return!1}(r)){if((a.ZP.isSafari||a.ZP.isGecko)&&t.domEvent.detail>=3){const e=s.editing.mapper,o=r.is("attributeElement")?r.findAncestor((e=>!e.is("attributeElement"))):r,i=e.toModelElement(o);t.preventDefault(),this.editor.model.change((e=>{e.setSelection(i,"in")}))}return}if(!(0,p.Qd)(r)&&(r=r.findAncestor(p.Qd),!r))return;a.ZP.isAndroid&&t.preventDefault(),i.isFocused||o.focus();const n=s.editing.mapper.toModelElement(r);this._setSelectionOverElement(n)}_handleSelectionChangeOnArrowKeyPress(e,t){const s=t.keyCode,o=this.editor.model,i=o.schema,r=o.document.selection,n=r.getSelectedElement(),a=(0,c.mA)(s,this.editor.locale.contentLanguageDirection),l="down"==a||"right"==a,d="up"==a||"down"==a;if(n&&i.isObject(n)){const s=l?r.getLastPosition():r.getFirstPosition(),n=i.getNearestSelectionRange(s,l?"forward":"backward");return void(n&&(o.change((e=>{e.setSelection(n)})),t.preventDefault(),e.stop()))}if(!r.isCollapsed&&!t.shiftKey){const s=r.getFirstPosition(),n=r.getLastPosition(),a=s.nodeAfter,c=n.nodeBefore;return void((a&&i.isObject(a)||c&&i.isObject(c))&&(o.change((e=>{e.setSelection(l?n:s)})),t.preventDefault(),e.stop()))}if(!r.isCollapsed)return;const h=this._getObjectElementNextToSelection(l);if(h&&i.isObject(h)){if(i.isInline(h)&&d)return;this._setSelectionOverElement(h),t.preventDefault(),e.stop()}}_preventDefaultOnArrowKeyPress(e,t){const s=this.editor.model,o=s.schema,i=s.document.selection.getSelectedElement();i&&o.isObject(i)&&(t.preventDefault(),e.stop())}_handleDelete(e){if(this.editor.isReadOnly)return;const t=this.editor.model.document.selection;if(!t.isCollapsed)return;const s=this._getObjectElementNextToSelection(e);return s?(this.editor.model.change((e=>{let o=t.anchor.parent;for(;o.isEmpty;){const t=o;o=t.parent,e.remove(t)}this._setSelectionOverElement(s)})),!0):void 0}_setSelectionOverElement(e){this.editor.model.change((t=>{t.setSelection(t.createRangeOn(e))}))}_getObjectElementNextToSelection(e){const t=this.editor.model,s=t.schema,o=t.document.selection,i=t.createSelection(o);if(t.modifySelection(i,{direction:e?"forward":"backward"}),i.isEqual(o))return null;const r=e?i.focus.nodeBefore:i.focus.nodeAfter;return r&&s.isObject(r)?r:null}_clearPreviouslySelectedWidgets(e){for(const t of this._previouslySelected)e.removeClass(p.Uo,t);this._previouslySelected.clear()}}function b(e,t){return!!t&&Array.from(e.getAncestors()).includes(t)}},"./packages/ckeditor5-widget/src/widgettypearound/utils.js":(e,t,s)=>{"use strict";s.d(t,{Xr:()=>n,_m:()=>r,aU:()=>a,bi:()=>i,t:()=>c,tB:()=>l});var o=s("./packages/ckeditor5-widget/src/utils.js");const i="widget-type-around";function r(e,t,s){return e&&(0,o.Qd)(e)&&!s.isInline(t)}function n(e){return e.closest(".ck-widget__type-around__button")}function a(e){return e.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function c(e,t){const s=e.closest(".ck-widget");return t.mapDomToView(s)}function l(e){return e.getAttribute(i)}},"./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-ui/src/template.js"),r=s("./packages/ckeditor5-enter/src/enter.js"),n=s("./packages/ckeditor5-typing/src/delete.js"),a=s("./packages/ckeditor5-utils/src/keyboard.js"),c=s("./packages/ckeditor5-widget/src/widgettypearound/utils.js"),l=s("./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js"),d=s("./packages/ckeditor5-widget/src/utils.js");var h=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),u=s.n(h),p=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgettypearound.css"),g={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(p.Z,g);p.Z.locals;const m=["before","after"],f=(new DOMParser).parseFromString('<svg viewBox="0 0 10 8" xmlns="http://www.w3.org/2000/svg"><path d="M9.055.263v3.972h-6.77M1 4.216l2-2.038m-2 2 2 2.038"/></svg>',"image/svg+xml").firstChild,k="ck-widget__type-around_disabled";class _ extends o.Z{static get pluginName(){return"WidgetTypeAround"}static get requires(){return[r.Z,n.Z]}constructor(e){super(e),this._currentFakeCaretModelElement=null}init(){const e=this.editor,t=e.editing.view;this.on("change:isEnabled",((s,o,i)=>{t.change((e=>{for(const s of t.document.roots)i?e.removeClass(k,s):e.addClass(k,s)})),i||e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){this._currentFakeCaretModelElement=null}_insertParagraph(e,t){const s=this.editor,o=s.editing.view,i=s.model.schema.getAttributesWithProperty(e,"copyOnReplace",!0);s.execute("insertParagraph",{position:s.model.createPositionAt(e,t),attributes:i}),o.focus(),o.scrollToTheSelection()}_listenToIfEnabled(e,t,s,o){this.listenTo(e,t,((...e)=>{this.isEnabled&&s(...e)}),o)}_insertParagraphAccordingToFakeCaretPosition(){const e=this.editor.model.document.selection,t=(0,c.tB)(e);if(!t)return!1;const s=e.getSelectedElement();return this._insertParagraph(s,t),!0}_enableTypeAroundUIInjection(){const e=this.editor,t=e.model.schema,s=e.locale.t,o={before:s("Insert paragraph before block"),after:s("Insert paragraph after block")};e.editing.downcastDispatcher.on("insert",((e,s,r)=>{const n=r.mapper.toViewElement(s.item);(0,c._m)(n,s.item,t)&&function(e,t,s){const o=e.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(e){const s=this.toDomElement(e);return function(e,t){for(const s of m){const o=new i.ZP({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${s}`],title:t[s]},children:[e.ownerDocument.importNode(f,!0)]});e.appendChild(o.render())}}(s,t),function(e){const t=new i.ZP({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});e.appendChild(t.render())}(s),s}));e.insert(e.createPositionAt(s,"end"),o)}(r.writer,o,n)}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const e=this.editor,t=e.model,s=t.document.selection,o=t.schema,i=e.editing.view;function r(e){return`ck-widget_type-around_show-fake-caret_${e}`}this._listenToIfEnabled(i.document,"arrowKey",((e,t)=>{this._handleArrowKeyPress(e,t)}),{context:[d.Qd,"$text"],priority:"high"}),this._listenToIfEnabled(s,"change:range",((t,s)=>{s.directChange&&e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))})),this._listenToIfEnabled(t.document,"change:data",(()=>{const t=s.getSelectedElement();if(t){const s=e.editing.mapper.toViewElement(t);if((0,c._m)(s,t,o))return}e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))})),this._listenToIfEnabled(e.editing.downcastDispatcher,"selection",((e,t,s)=>{const i=s.writer;if(this._currentFakeCaretModelElement){const e=s.mapper.toViewElement(this._currentFakeCaretModelElement);e&&(i.removeClass(m.map(r),e),this._currentFakeCaretModelElement=null)}const n=t.selection.getSelectedElement();if(!n)return;const a=s.mapper.toViewElement(n);if(!(0,c._m)(a,n,o))return;const l=(0,c.tB)(t.selection);l&&(i.addClass(r(l),a),this._currentFakeCaretModelElement=n)})),this._listenToIfEnabled(e.ui.focusTracker,"change:isFocused",((t,s,o)=>{o||e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))}))}_handleArrowKeyPress(e,t){const s=this.editor,o=s.model,i=o.document.selection,r=o.schema,n=s.editing.view,l=t.keyCode,d=(0,a.Zt)(l,s.locale.contentLanguageDirection),h=n.document.selection.getSelectedElement(),u=s.editing.mapper.toModelElement(h);let p;(0,c._m)(h,u,r)?p=this._handleArrowKeyPressOnSelectedWidget(d):i.isCollapsed?p=this._handleArrowKeyPressWhenSelectionNextToAWidget(d):t.shiftKey||(p=this._handleArrowKeyPressWhenNonCollapsedSelection(d)),p&&(t.preventDefault(),e.stop())}_handleArrowKeyPressOnSelectedWidget(e){const t=this.editor.model,s=t.document.selection,o=(0,c.tB)(s);return t.change((t=>{if(!o)return t.setSelectionAttribute(c.bi,e?"after":"before"),!0;if(!(o===(e?"after":"before")))return t.removeSelectionAttribute(c.bi),!0;return!1}))}_handleArrowKeyPressWhenSelectionNextToAWidget(e){const t=this.editor,s=t.model,o=s.schema,i=t.plugins.get("Widget"),r=i._getObjectElementNextToSelection(e),n=t.editing.mapper.toViewElement(r);return!!(0,c._m)(n,r,o)&&(s.change((t=>{i._setSelectionOverElement(r),t.setSelectionAttribute(c.bi,e?"before":"after")})),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(e){const t=this.editor,s=t.model,o=s.schema,i=t.editing.mapper,r=s.document.selection,n=e?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter,a=i.toViewElement(n);return!!(0,c._m)(a,n,o)&&(s.change((t=>{t.setSelection(n,"on"),t.setSelectionAttribute(c.bi,e?"after":"before")})),!0)}_enableInsertingParagraphsOnButtonClick(){const e=this.editor,t=e.editing.view;this._listenToIfEnabled(t.document,"mousedown",((s,o)=>{const i=(0,c.Xr)(o.domTarget);if(!i)return;const r=(0,c.aU)(i),n=(0,c.t)(i,t.domConverter),a=e.editing.mapper.toModelElement(n);this._insertParagraph(a,r),o.preventDefault(),s.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const e=this.editor,t=e.model.document.selection,s=e.editing.view;this._listenToIfEnabled(s.document,"enter",((s,o)=>{if("atTarget"!=s.eventPhase)return;const i=t.getSelectedElement(),r=e.editing.mapper.toViewElement(i),n=e.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:(0,c._m)(r,i,n)&&(this._insertParagraph(i,o.isSoft?"before":"after"),a=!0),a&&(o.preventDefault(),s.stop())}),{context:d.Qd})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view,t=[a.Do.enter,a.Do.delete,a.Do.backspace];this._listenToIfEnabled(e.document,"keydown",((e,s)=>{t.includes(s.keyCode)||(0,l.u)(s)||this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"high"})}_enableDeleteIntegration(){const e=this.editor,t=e.editing.view,s=e.model,o=s.schema;this._listenToIfEnabled(t.document,"delete",((t,i)=>{if("atTarget"!=t.eventPhase)return;const r=(0,c.tB)(s.document.selection);if(!r)return;const n=i.direction,a=s.document.selection.getSelectedElement(),l="forward"==n;if("before"===r===l)e.execute("delete",{selection:s.createSelection(a,"on")});else{const t=o.getNearestSelectionRange(s.createPositionAt(a,r),n);if(t)if(t.isCollapsed){const i=s.createSelection(t.start);if(s.modifySelection(i,{direction:n}),i.focus.isEqual(t.start)){const e=function(e,t){let s=t;for(const o of t.getAncestors({parentFirst:!0})){if(o.childCount>1||e.isLimit(o))break;s=o}return s}(o,t.start.parent);s.deleteContent(s.createSelection(e,"on"),{doNotAutoparagraph:!0})}else s.change((s=>{s.setSelection(t),e.execute(l?"deleteForward":"delete")}))}else s.change((s=>{s.setSelection(t),e.execute(l?"deleteForward":"delete")}))}i.preventDefault(),t.stop()}),{context:d.Qd})}_enableInsertContentIntegration(){const e=this.editor,t=this.editor.model,s=t.document.selection;this._listenToIfEnabled(e.model,"insertContent",((e,[o,i])=>{if(i&&!i.is("documentSelection"))return;const r=(0,c.tB)(s);return r?(e.stop(),t.change((e=>{const i=s.getSelectedElement(),n=t.createPositionAt(i,r),a=e.createSelection(n),c=t.insertContent(o,a);return e.setSelection(a),c}))):void 0}),{priority:"high"})}_enableInsertObjectIntegration(){const e=this.editor,t=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"insertObject",((e,s)=>{const[,o,,i={}]=s;if(o&&!o.is("documentSelection"))return;const r=(0,c.tB)(t);r&&(i.findOptimalPosition=r,s[3]=i)}),{priority:"high"})}_enableDeleteContentIntegration(){const e=this.editor,t=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"deleteContent",((e,[s])=>{if(s&&!s.is("documentSelection"))return;(0,c.tB)(t)&&e.stop()}),{priority:"high"})}}},"./src/clipboard.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Clipboard:()=>T,ClipboardPipeline:()=>d,DragDrop:()=>y,PastePlainText:()=>A});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-utils/src/eventinfo.js"),r=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js");class n{constructor(e){this.files=function(e){const t=Array.from(e.files||[]),s=Array.from(e.items||[]);if(t.length)return t;return s.filter((e=>"file"===e.kind)).map((e=>e.getAsFile()))}(e),this._native=e}get types(){return this._native.types}getData(e){return this._native.getData(e)}setData(e,t){this._native.setData(e,t)}set effectAllowed(e){this._native.effectAllowed=e}get effectAllowed(){return this._native.effectAllowed}set dropEffect(e){this._native.dropEffect=e}get dropEffect(){return this._native.dropEffect}get isCanceled(){return"none"==this._native.dropEffect||!!this._native.mozUserCancelled}}class a extends r.Z{constructor(e){super(e);const t=this.document;function s(e){return(s,o)=>{o.preventDefault();const r=o.dropRange?[o.dropRange]:null,n=new i.Z(t,e);t.fire(n,{dataTransfer:o.dataTransfer,method:s.name,targetRanges:r,target:o.target}),n.stop.called&&o.stopPropagation()}}this.domEventType=["paste","copy","cut","drop","dragover","dragstart","dragend","dragenter","dragleave"],this.listenTo(t,"paste",s("clipboardInput"),{priority:"low"}),this.listenTo(t,"drop",s("clipboardInput"),{priority:"low"}),this.listenTo(t,"dragover",s("dragging"),{priority:"low"})}onDomEvent(e){const t={dataTransfer:new n(e.clipboardData?e.clipboardData:e.dataTransfer)};"drop"!=e.type&&"dragover"!=e.type||(t.dropRange=function(e,t){const s=t.target.ownerDocument,o=t.clientX,i=t.clientY;let r;s.caretRangeFromPoint&&s.caretRangeFromPoint(o,i)?r=s.caretRangeFromPoint(o,i):t.rangeParent&&(r=s.createRange(),r.setStart(t.rangeParent,t.rangeOffset),r.collapse(!0));if(r)return e.domConverter.domRangeToView(r);return null}(this.view,e)),this.fire(e.type,e,t)}}const c=["figcaption","li"];function l(e){let t="";if(e.is("$text")||e.is("$textProxy"))t=e.data;else if(e.is("element","img")&&e.hasAttribute("alt"))t=e.getAttribute("alt");else if(e.is("element","br"))t="\n";else{let s=null;for(const o of e.getChildren()){const e=l(o);s&&(s.is("containerElement")||o.is("containerElement"))&&(c.includes(s.name)||c.includes(o.name)?t+="\n":t+="\n\n"),t+=e,s=o}}return t}class d extends o.Z{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(a),this._setupPasteDrop(),this._setupCopyCut()}_setupPasteDrop(){const e=this.editor,t=e.model,s=e.editing.view,o=s.document;this.listenTo(o,"clipboardInput",(t=>{e.isReadOnly&&t.stop()}),{priority:"highest"}),this.listenTo(o,"clipboardInput",((e,t)=>{const o=t.dataTransfer;let r=t.content||"";var n;r||(o.getData("text/html")?r=function(e){return e.replace(/<span(?: class="Apple-converted-space"|)>(\s+)<\/span>/g,((e,t)=>1==t.length?" ":t)).replace(/<!--[\s\S]*?-->/g,"")}(o.getData("text/html")):o.getData("text/plain")&&(((n=(n=o.getData("text/plain")).replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r?\n\r?\n/g,"</p><p>").replace(/\r?\n/g,"<br>").replace(/^\s/,"&nbsp;").replace(/\s$/,"&nbsp;").replace(/\s\s/g," &nbsp;")).includes("</p><p>")||n.includes("<br>"))&&(n=`<p>${n}</p>`),r=n),r=this.editor.data.htmlProcessor.toView(r));const a=new i.Z(this,"inputTransformation");this.fire(a,{content:r,dataTransfer:o,targetRanges:t.targetRanges,method:t.method}),a.stop.called&&e.stop(),s.scrollToTheSelection()}),{priority:"low"}),this.listenTo(this,"inputTransformation",((e,s)=>{if(s.content.isEmpty)return;const o=this.editor.data.toModel(s.content,"$clipboardHolder");0!=o.childCount&&(e.stop(),t.change((()=>{this.fire("contentInsertion",{content:o,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})})))}),{priority:"low"}),this.listenTo(this,"contentInsertion",((e,s)=>{s.resultRange=t.insertContent(s.content)}),{priority:"low"})}_setupCopyCut(){const e=this.editor,t=e.model.document,s=e.editing.view.document;function o(o,i){const r=i.dataTransfer;i.preventDefault();const n=e.data.toView(e.model.getSelectedContent(t.selection));s.fire("clipboardOutput",{dataTransfer:r,content:n,method:o.name})}this.listenTo(s,"copy",o,{priority:"low"}),this.listenTo(s,"cut",((t,s)=>{e.isReadOnly?s.preventDefault():o(t,s)}),{priority:"low"}),this.listenTo(s,"clipboardOutput",((s,o)=>{o.content.isEmpty||(o.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(o.content)),o.dataTransfer.setData("text/plain",l(o.content))),"cut"==o.method&&e.model.deleteContent(t.selection)}),{priority:"low"})}}var h=s("./packages/ckeditor5-engine/src/model/liverange.js"),u=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),p=s("./packages/ckeditor5-widget/src/widget.js"),g=s("./packages/ckeditor5-utils/src/uid.js"),m=s("./packages/ckeditor5-utils/src/env.js"),f=s("./packages/ckeditor5-widget/src/utils.js"),k=s("./node_modules/lodash-es/throttle.js"),_=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),b=s.n(_),w=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-clipboard/theme/clipboard.css"),v={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};b()(w.Z,v);w.Z.locals;class y extends o.Z{static get pluginName(){return"DragDrop"}static get requires(){return[d,p.Z]}init(){const e=this.editor,t=e.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,this._updateDropMarkerThrottled=(0,k.Z)((e=>this._updateDropMarker(e)),40),this._removeDropMarkerDelayed=j((()=>this._removeDropMarker()),40),this._clearDraggableAttributesDelayed=j((()=>this._clearDraggableAttributes()),40),t.addObserver(a),t.addObserver(u.Z),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDropMarker(),this._setupDraggableAttributeHandling(),this.listenTo(e,"change:isReadOnly",((e,t,s)=>{s?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")})),this.on("change:isEnabled",((e,t,s)=>{s||this._finalizeDragging(!1)})),m.ZP.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._updateDropMarkerThrottled.cancel(),this._removeDropMarkerDelayed.cancel(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const e=this.editor,t=e.model,s=t.document,o=e.editing.view,i=o.document;this.listenTo(i,"dragstart",((o,r)=>{const n=s.selection;if(r.target&&r.target.is("editableElement"))return void r.preventDefault();const a=r.target?x(r.target):null;if(a){const s=e.editing.mapper.toModelElement(a);this._draggedRange=h.Z.fromRange(t.createRangeOn(s)),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop")}else if(!i.selection.isCollapsed){const e=i.selection.getSelectedElement();e&&(0,f.Qd)(e)||(this._draggedRange=h.Z.fromRange(n.getFirstRange()))}if(!this._draggedRange)return void r.preventDefault();this._draggingUid=(0,g.Z)(),r.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",r.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=t.createSelection(this._draggedRange.toRange()),l=e.data.toView(t.getSelectedContent(c));i.fire("clipboardOutput",{dataTransfer:r.dataTransfer,content:l,method:o.name}),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")}),{priority:"low"}),this.listenTo(i,"dragend",((e,t)=>{this._finalizeDragging(!t.dataTransfer.isCanceled&&"move"==t.dataTransfer.dropEffect)}),{priority:"low"}),this.listenTo(i,"dragenter",(()=>{this.isEnabled&&o.focus()})),this.listenTo(i,"dragleave",(()=>{this._removeDropMarkerDelayed()})),this.listenTo(i,"dragging",((t,s)=>{if(!this.isEnabled)return void(s.dataTransfer.dropEffect="none");this._removeDropMarkerDelayed.cancel();const o=Z(e,s.targetRanges,s.target);this._draggedRange||(s.dataTransfer.dropEffect="copy"),m.ZP.isGecko||("copy"==s.dataTransfer.effectAllowed?s.dataTransfer.dropEffect="copy":["all","copyMove"].includes(s.dataTransfer.effectAllowed)&&(s.dataTransfer.dropEffect="move")),o&&this._updateDropMarkerThrottled(o)}),{priority:"low"})}_setupClipboardInputIntegration(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"clipboardInput",((t,s)=>{if("drop"!=s.method)return;const o=Z(e,s.targetRanges,s.target);if(this._removeDropMarker(),!o)return this._finalizeDragging(!1),void t.stop();this._draggedRange&&this._draggingUid!=s.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="");if("move"==P(s.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(o,!0))return this._finalizeDragging(!1),void t.stop();s.targetRanges=[e.editing.mapper.toViewRange(o)]}),{priority:"high"})}_setupContentInsertionIntegration(){const e=this.editor.plugins.get(d);e.on("contentInsertion",((e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const s=t.targetRanges.map((e=>this.editor.editing.mapper.toModelRange(e)));this.editor.model.change((e=>e.setSelection(s)))}),{priority:"high"}),e.on("contentInsertion",((e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const s="move"==P(t.dataTransfer),o=!t.resultRange||!t.resultRange.isCollapsed;this._finalizeDragging(o&&s)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const e=this.editor,t=e.editing.view,s=t.document;this.listenTo(s,"mousedown",((o,i)=>{if(m.ZP.isAndroid||!i)return;this._clearDraggableAttributesDelayed.cancel();let r=x(i.target);if(m.ZP.isBlink&&!e.isReadOnly&&!r&&!s.selection.isCollapsed){const e=s.selection.getSelectedElement();e&&(0,f.Qd)(e)||(r=s.selection.editableElement)}r&&(t.change((e=>{e.setAttribute("draggable","true",r)})),this._draggableElement=e.editing.mapper.toModelElement(r))})),this.listenTo(s,"mouseup",(()=>{m.ZP.isAndroid||this._clearDraggableAttributesDelayed()}))}_clearDraggableAttributes(){const e=this.editor.editing;e.view.change((t=>{this._draggableElement&&"$graveyard"!=this._draggableElement.root.rootName&&t.removeAttribute("draggable",e.mapper.toViewElement(this._draggableElement)),this._draggableElement=null}))}_setupDropMarker(){const e=this.editor;e.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),e.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(t,{writer:s})=>{if(e.model.schema.checkChild(t.markerRange.start,"$text"))return s.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(e){const t=this.toDomElement(e);return t.innerHTML="&NoBreak;<span></span>&NoBreak;",t}))}})}_updateDropMarker(e){const t=this.editor,s=t.model.markers;t.model.change((t=>{s.has("drop-target")?s.get("drop-target").getRange().isEqual(e)||t.updateMarker("drop-target",{range:e}):t.addMarker("drop-target",{range:e,usingOperation:!1,affectsData:!1})}))}_removeDropMarker(){const e=this.editor.model;this._removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),e.markers.has("drop-target")&&e.change((e=>{e.removeMarker("drop-target")}))}_finalizeDragging(e){const t=this.editor,s=t.model;this._removeDropMarker(),this._clearDraggableAttributes(),t.plugins.has("WidgetToolbarRepository")&&t.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._draggedRange&&(e&&this.isEnabled&&s.deleteContent(s.createSelection(this._draggedRange),{doNotAutoparagraph:!0}),this._draggedRange.detach(),this._draggedRange=null)}}function Z(e,t,s){const o=e.model,i=e.editing.mapper;let r=null;const n=t?t[0].start:null;if(s.is("uiElement")&&(s=s.parent),r=function(e,t){const s=e.model,o=e.editing.mapper;if((0,f.Qd)(t))return s.createRangeOn(o.toModelElement(t));if(!t.is("editableElement")){const e=t.findAncestor((e=>(0,f.Qd)(e)||e.is("editableElement")));if((0,f.Qd)(e))return s.createRangeOn(o.toModelElement(e))}return null}(e,s),r)return r;const a=function(e,t){const s=e.editing.mapper,o=e.editing.view,i=s.toModelElement(t);if(i)return i;const r=o.createPositionBefore(t),n=s.findMappedViewAncestor(r);return s.toModelElement(n)}(e,s),c=n?i.toModelPosition(n):null;return c?(r=function(e,t,s){const o=e.model;if(!o.schema.checkChild(s,"$block"))return null;const i=o.createPositionAt(s,0),r=t.path.slice(0,i.path.length),n=o.createPositionFromPath(t.root,r).nodeAfter;if(n&&o.schema.isObject(n))return o.createRangeOn(n);return null}(e,c,a),r||(r=o.schema.getNearestSelectionRange(c,m.ZP.isGecko?"forward":"backward"),r||function(e,t){const s=e.model;for(;t;){if(s.schema.isObject(t))return s.createRangeOn(t);t=t.parent}}(e,c.parent))):function(e,t){const s=e.model,o=s.schema,i=s.createPositionAt(t,0);return o.getNearestSelectionRange(i,"forward")}(e,a)}function P(e){return m.ZP.isGecko?e.dropEffect:["all","copyMove"].includes(e.effectAllowed)?"move":"copy"}function j(e,t){let s;function o(...i){o.cancel(),s=setTimeout((()=>e(...i)),t)}return o.cancel=()=>{clearTimeout(s)},o}function x(e){if(e.is("editableElement"))return null;if(e.hasClass("ck-widget__selection-handle"))return e.findAncestor(f.Qd);if((0,f.Qd)(e))return e;const t=e.findAncestor((e=>(0,f.Qd)(e)||e.is("editableElement")));return(0,f.Qd)(t)?t:null}class A extends o.Z{static get pluginName(){return"PastePlainText"}static get requires(){return[d]}init(){const e=this.editor,t=e.model,s=e.editing.view,o=s.document,i=t.document.selection;let r=!1;s.addObserver(a),this.listenTo(o,"keydown",((e,t)=>{r=t.shiftKey})),e.plugins.get(d).on("contentInsertion",((e,s)=>{(r||function(e,t){if(e.childCount>1)return!1;const s=e.getChild(0);if(t.isObject(s))return!1;return 0==[...s.getAttributeKeys()].length}(s.content,t.schema))&&t.change((e=>{const o=Array.from(i.getAttributes()).filter((([e])=>t.schema.getAttributeProperties(e).isFormatting));i.isCollapsed||t.deleteContent(i,{doNotAutoparagraph:!0}),o.push(...i.getAttributes());const r=e.createRangeIn(s.content);for(const t of r.getItems())t.is("$textProxy")&&e.setAttributes(o,t)}))}))}}class T extends o.Z{static get pluginName(){return"Clipboard"}static get requires(){return[d,y,A]}}},"./src/core.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Command:()=>i.Z,Context:()=>b,ContextPlugin:()=>w.Z,DataApiMixin:()=>z,Editor:()=>E,EditorUI:()=>M,ElementApiMixin:()=>D,MultiCommand:()=>n,PendingActions:()=>F.Z,Plugin:()=>o.Z,attachToForm:()=>I,icons:()=>q,secureSourceElement:()=>B});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-utils/src/inserttopriorityarray.js");class n extends i.Z{constructor(e){super(e),this._childCommandsDefinitions=[]}refresh(){}execute(...e){const t=this._getFirstEnabledCommand();return!!t&&t.execute(e)}registerChildCommand(e,t={priority:"normal"}){(0,r.Z)(this._childCommandsDefinitions,{command:e,priority:t.priority}),e.on("change:isEnabled",(()=>this._checkEnabled())),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const e=this._childCommandsDefinitions.find((({command:e})=>e.isEnabled));return e&&e.command}}var a=s("./node_modules/lodash-es/isPlainObject.js"),c=s("./node_modules/lodash-es/cloneDeepWith.js"),l=s("./node_modules/lodash-es/isElement.js");class d{constructor(e,t){this._config={},t&&this.define(h(t)),e&&this._setObjectToTarget(this._config,e)}set(e,t){this._setToTarget(this._config,e,t)}define(e,t){this._setToTarget(this._config,e,t,!0)}get(e){return this._getFromSource(this._config,e)}*names(){for(const e of Object.keys(this._config))yield e}_setToTarget(e,t,s,o=!1){if((0,a.Z)(t))return void this._setObjectToTarget(e,t,o);const i=t.split(".");t=i.pop();for(const t of i)(0,a.Z)(e[t])||(e[t]={}),e=e[t];if((0,a.Z)(s))return(0,a.Z)(e[t])||(e[t]={}),e=e[t],void this._setObjectToTarget(e,s,o);o&&void 0!==e[t]||(e[t]=s)}_getFromSource(e,t){const s=t.split(".");t=s.pop();for(const t of s){if(!(0,a.Z)(e[t])){e=null;break}e=e[t]}return e?h(e[t]):void 0}_setObjectToTarget(e,t,s){Object.keys(t).forEach((o=>{this._setToTarget(e,o,t[o],s)}))}}function h(e){return(0,c.Z)(e,u)}function u(e){return(0,l.Z)(e)?e:void 0}var p=s("./packages/ckeditor5-utils/src/collection.js"),g=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),m=s("./packages/ckeditor5-utils/src/emittermixin.js"),f=s("./packages/ckeditor5-utils/src/mix.js");class k{constructor(e,t=[],s=[]){this._context=e,this._plugins=new Map,this._availablePlugins=new Map;for(const e of t)e.pluginName&&this._availablePlugins.set(e.pluginName,e);this._contextPlugins=new Map;for(const[e,t]of s)this._contextPlugins.set(e,t),this._contextPlugins.set(t,e),e.pluginName&&this._availablePlugins.set(e.pluginName,e)}*[Symbol.iterator](){for(const e of this._plugins)"function"==typeof e[0]&&(yield e)}get(e){const t=this._plugins.get(e);if(!t){let t=e;throw"function"==typeof e&&(t=e.pluginName||e.name),new g.ZP("plugincollection-plugin-not-loaded",this._context,{plugin:t})}return t}has(e){return this._plugins.has(e)}init(e,t=[],s=[]){const o=this,i=this._context;!function e(t,s=new Set){t.forEach((t=>{a(t)&&(s.has(t)||(s.add(t),t.pluginName&&!o._availablePlugins.has(t.pluginName)&&o._availablePlugins.set(t.pluginName,t),t.requires&&e(t.requires,s)))}))}(e),h(e);const r=[...function e(t,s=new Set){return t.map((e=>a(e)?e:o._availablePlugins.get(e))).reduce(((t,o)=>s.has(o)?t:(s.add(o),o.requires&&(h(o.requires,o),e(o.requires,s).forEach((e=>t.add(e)))),t.add(o))),new Set)}(e.filter((e=>!l(e,t))))];!function(e,t){for(const s of t){if("function"!=typeof s)throw new g.ZP("plugincollection-replace-plugin-invalid-type",null,{pluginItem:s});const t=s.pluginName;if(!t)throw new g.ZP("plugincollection-replace-plugin-missing-name",null,{pluginItem:s});if(s.requires&&s.requires.length)throw new g.ZP("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:t});const i=o._availablePlugins.get(t);if(!i)throw new g.ZP("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:t});const r=e.indexOf(i);if(-1===r){if(o._contextPlugins.has(i))return;throw new g.ZP("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:t})}if(i.requires&&i.requires.length)throw new g.ZP("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:t});e.splice(r,1,s),o._availablePlugins.set(t,s)}}(r,s);const n=function(e){return e.map((e=>{const t=o._contextPlugins.get(e)||new e(i);return o._add(e,t),t}))}(r);return u(n,"init").then((()=>u(n,"afterInit"))).then((()=>n));function a(e){return"function"==typeof e}function c(e){return a(e)&&e.isContextPlugin}function l(e,t){return t.some((t=>t===e||(d(e)===t||d(t)===e)))}function d(e){return a(e)?e.pluginName||e.name:e}function h(e,s=null){e.map((e=>a(e)?e:o._availablePlugins.get(e)||e)).forEach((e=>{!function(e,t){if(a(e))return;if(t)throw new g.ZP("plugincollection-soft-required",i,{missingPlugin:e,requiredBy:d(t)});throw new g.ZP("plugincollection-plugin-not-found",i,{plugin:e})}(e,s),function(e,t){if(!c(t))return;if(c(e))return;throw new g.ZP("plugincollection-context-required",i,{plugin:d(e),requiredBy:d(t)})}(e,s),function(e,s){if(!s)return;if(!l(e,t))return;throw new g.ZP("plugincollection-required",i,{plugin:d(e),requiredBy:d(s)})}(e,s)}))}function u(e,t){return e.reduce(((e,s)=>s[t]?o._contextPlugins.has(s)?e:e.then(s[t].bind(s)):e),Promise.resolve())}}destroy(){const e=[];for(const[,t]of this)"function"!=typeof t.destroy||this._contextPlugins.has(t)||e.push(t.destroy());return Promise.all(e)}_add(e,t){this._plugins.set(e,t);const s=e.pluginName;if(s){if(this._plugins.has(s))throw new g.ZP("plugincollection-plugin-name-conflict",null,{pluginName:s,plugin1:this._plugins.get(s).constructor,plugin2:e});this._plugins.set(s,t)}}}(0,f.Z)(k,m.ZP);var _=s("./packages/ckeditor5-utils/src/locale.js");class b{constructor(e){this.config=new d(e,this.constructor.defaultConfig);const t=this.constructor.builtinPlugins;this.config.define("plugins",t),this.plugins=new k(this,t);const s=this.config.get("language")||{};this.locale=new _.Z({uiLanguage:"string"==typeof s?s:s.ui,contentLanguage:this.config.get("language.content")}),this.t=this.locale.t,this.editors=new p.Z,this._contextOwner=null}initPlugins(){const e=this.config.get("plugins")||[],t=this.config.get("substitutePlugins")||[];for(const s of e.concat(t)){if("function"!=typeof s)throw new g.ZP("context-initplugins-constructor-only",null,{Plugin:s});if(!0!==s.isContextPlugin)throw new g.ZP("context-initplugins-invalid-plugin",null,{Plugin:s})}return this.plugins.init(e,[],t)}destroy(){return Promise.all(Array.from(this.editors,(e=>e.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(e,t){if(this._contextOwner)throw new g.ZP("context-addeditor-private-context");this.editors.add(e),t&&(this._contextOwner=e)}_removeEditor(e){return this.editors.has(e)&&this.editors.remove(e),this._contextOwner===e?this.destroy():Promise.resolve()}_getEditorConfig(){const e={};for(const t of this.config.names())["plugins","removePlugins","extraPlugins"].includes(t)||(e[t]=this.config.get(t));return e}static create(e){return new Promise((t=>{const s=new this(e);t(s.initPlugins().then((()=>s)))}))}}var w=s("./packages/ckeditor5-core/src/contextplugin.js"),v=s("./packages/ckeditor5-engine/src/controller/editingcontroller.js");class y{constructor(){this._commands=new Map}add(e,t){this._commands.set(e,t)}get(e){return this._commands.get(e)}execute(e,...t){const s=this.get(e);if(!s)throw new g.ZP("commandcollection-command-not-found",this,{commandName:e});return s.execute(...t)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const e of this.commands())e.destroy()}}var Z=s("./packages/ckeditor5-engine/src/controller/datacontroller.js"),P=s("./packages/ckeditor5-engine/src/conversion/conversion.js"),j=s("./packages/ckeditor5-engine/src/model/model.js"),x=s("./packages/ckeditor5-utils/src/keystrokehandler.js");class A extends x.Z{constructor(e){super(),this.editor=e}set(e,t,s={}){if("string"==typeof t){const e=t;t=(t,s)=>{this.editor.execute(e),s()}}super.set(e,t,s)}}var T=s("./packages/ckeditor5-utils/src/observablemixin.js"),C=s("./packages/ckeditor5-engine/src/view/stylesmap.js");class E{constructor(e={}){const t=e.language||this.constructor.defaultConfig&&this.constructor.defaultConfig.language;this._context=e.context||new b({language:t}),this._context._addEditor(this,!e.context);const s=Array.from(this.constructor.builtinPlugins||[]);this.config=new d(e,this.constructor.defaultConfig),this.config.define("plugins",s),this.config.define(this._context._getEditorConfig()),this.plugins=new k(this,s,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new y,this.set("state","initializing"),this.once("ready",(()=>this.state="ready"),{priority:"high"}),this.once("destroy",(()=>this.state="destroyed"),{priority:"high"}),this.model=new j.Z;const o=new C.A;this.data=new Z.Z(this.model,o),this.editing=new v.Z(this.model,o),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new P.Z([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher),this.conversion.addAlias("dataDowncast",this.data.downcastDispatcher),this.conversion.addAlias("editingDowncast",this.editing.downcastDispatcher),this.keystrokes=new A(this),this.keystrokes.listenTo(this.editing.view.document)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(e){throw new g.ZP("editor-isreadonly-has-no-setter")}enableReadOnlyMode(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new g.ZP("editor-read-only-lock-id-invalid",null,{lockId:e});this._readOnlyLocks.has(e)||(this._readOnlyLocks.add(e),1===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new g.ZP("editor-read-only-lock-id-invalid",null,{lockId:e});this._readOnlyLocks.has(e)&&(this._readOnlyLocks.delete(e),0===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}initPlugins(){const e=this.config,t=e.get("plugins"),s=e.get("removePlugins")||[],o=e.get("extraPlugins")||[],i=e.get("substitutePlugins")||[];return this.plugins.init(t.concat(o),s,i)}destroy(){let e=Promise.resolve();return"initializing"==this.state&&(e=new Promise((e=>this.once("ready",e)))),e.then((()=>{this.fire("destroy"),this.stopListening(),this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(...e){try{return this.commands.execute(...e)}catch(e){g.ZP.rethrowUnexpectedError(e,this)}}focus(){this.editing.view.focus()}}(0,f.Z)(E,T.Z);class S{constructor(e){this.editor=e,this._components=new Map}*names(){for(const e of this._components.values())yield e.originalName}add(e,t){this._components.set(O(e),{callback:t,originalName:e})}create(e){if(!this.has(e))throw new g.ZP("componentfactory-item-missing",this,{name:e});return this._components.get(O(e)).callback(this.editor.locale)}has(e){return this._components.has(O(e))}}function O(e){return String(e).toLowerCase()}var R=s("./packages/ckeditor5-utils/src/focustracker.js");class M{constructor(e){this.editor=e,this.componentFactory=new S(e),this.focusTracker=new R.Z,this.set("viewportOffset",this._readViewportOffsetFromConfig()),this._editableElementsMap=new Map,this.listenTo(e.editing.view.document,"layoutChanged",(()=>this.update()))}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy();for(const e of this._editableElementsMap.values())e.ckeditorInstance=null;this._editableElementsMap=new Map}setEditableElement(e,t){this._editableElementsMap.set(e,t),t.ckeditorInstance||(t.ckeditorInstance=this.editor)}getEditableElement(e="main"){return this._editableElementsMap.get(e)}getEditableElementsNames(){return this._editableElementsMap.keys()}get _editableElements(){return console.warn("editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this}),this._editableElementsMap}_readViewportOffsetFromConfig(){const e=this.editor,t=e.config.get("ui.viewportOffset");if(t)return t;const s=e.config.get("toolbar.viewportTopOffset");return s?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:s}):{top:0}}}(0,f.Z)(M,T.Z);var N=s("./node_modules/lodash-es/isFunction.js");function I(e){if(!(0,N.Z)(e.updateSourceElement))throw new g.ZP("attachtoform-missing-elementapi-interface",e);const t=e.sourceElement;if(t&&"textarea"===t.tagName.toLowerCase()&&t.form){let s;const o=t.form,i=()=>e.updateSourceElement();(0,N.Z)(o.submit)&&(s=o.submit,o.submit=()=>{i(),s.apply(o)}),o.addEventListener("submit",i),e.on("destroy",(()=>{o.removeEventListener("submit",i),s&&(o.submit=s)}))}}const z={setData(e){this.data.set(e)},getData(e){return this.data.get(e)}};var V=s("./packages/ckeditor5-utils/src/dom/setdatainelement.js");const D={updateSourceElement(){if(!this.sourceElement)throw new g.ZP("editor-missing-sourceelement",this);(0,V.Z)(this.sourceElement,this.data.get())}};function B(e){const t=e.sourceElement;if(t){if(t.ckeditorInstance)throw new g.ZP("editor-source-element-already-used",e);t.ckeditorInstance=e,e.once("destroy",(()=>{delete t.ckeditorInstance}))}}var F=s("./packages/ckeditor5-core/src/pendingactions.js");var L=s("./packages/ckeditor5-core/theme/icons/pilcrow.svg");var W=s("./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg");const q={cancel:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.591 10.177 4.243 4.242a1 1 0 0 1-1.415 1.415l-4.242-4.243-4.243 4.243a1 1 0 0 1-1.414-1.415l4.243-4.242L4.52 5.934A1 1 0 0 1 5.934 4.52l4.243 4.243 4.242-4.243a1 1 0 1 1 1.415 1.414l-4.243 4.243z"/></svg>',caption:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 16h9a1 1 0 0 1 0 2H2a1 1 0 0 1 0-2z"/><path d="M17 1a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h14zm0 1.5H3a.5.5 0 0 0-.492.41L2.5 3v9a.5.5 0 0 0 .41.492L3 12.5h14a.5.5 0 0 0 .492-.41L17.5 12V3a.5.5 0 0 0-.41-.492L17 2.5z" fill-opacity=".6"/></svg>',check:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M6.972 16.615a.997.997 0 0 1-.744-.292l-4.596-4.596a1 1 0 1 1 1.414-1.414l3.926 3.926 9.937-9.937a1 1 0 0 1 1.414 1.415L7.717 16.323a.997.997 0 0 1-.745.292z"/></svg>',cog:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.333 2 .19 2.263a5.899 5.899 0 0 1 1.458.604L14.714 3.4 16.6 5.286l-1.467 1.733c.263.452.468.942.605 1.46L18 8.666v2.666l-2.263.19a5.899 5.899 0 0 1-.604 1.458l1.467 1.733-1.886 1.886-1.733-1.467a5.899 5.899 0 0 1-1.46.605L11.334 18H8.667l-.19-2.263a5.899 5.899 0 0 1-1.458-.604L5.286 16.6 3.4 14.714l1.467-1.733a5.899 5.899 0 0 1-.604-1.458L2 11.333V8.667l2.262-.189a5.899 5.899 0 0 1 .605-1.459L3.4 5.286 5.286 3.4l1.733 1.467a5.899 5.899 0 0 1 1.46-.605L8.666 2h2.666zM10 6.267a3.733 3.733 0 1 0 0 7.466 3.733 3.733 0 0 0 0-7.466z"/></svg>',eraser:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m8.636 9.531-2.758 3.94a.5.5 0 0 0 .122.696l3.224 2.284h1.314l2.636-3.736L8.636 9.53zm.288 8.451L5.14 15.396a2 2 0 0 1-.491-2.786l6.673-9.53a2 2 0 0 1 2.785-.49l3.742 2.62a2 2 0 0 1 .491 2.785l-7.269 10.053-2.147-.066z"/><path d="M4 18h5.523v-1H4zm-2 0h1v-1H2z"/></svg>',lowVision:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M5.085 6.22 2.943 4.078a.75.75 0 1 1 1.06-1.06l2.592 2.59A11.094 11.094 0 0 1 10 5.068c4.738 0 8.578 3.101 8.578 5.083 0 1.197-1.401 2.803-3.555 3.887l1.714 1.713a.75.75 0 0 1-.09 1.138.488.488 0 0 1-.15.084.75.75 0 0 1-.821-.16L6.17 7.304c-.258.11-.51.233-.757.365l6.239 6.24-.006.005.78.78c-.388.094-.78.166-1.174.215l-1.11-1.11h.011L4.55 8.197a7.2 7.2 0 0 0-.665.514l-.112.098 4.897 4.897-.005.006 1.276 1.276a10.164 10.164 0 0 1-1.477-.117l-.479-.479-.009.009-4.863-4.863-.022.031a2.563 2.563 0 0 0-.124.2c-.043.077-.08.158-.108.241a.534.534 0 0 0-.028.133.29.29 0 0 0 .008.072.927.927 0 0 0 .082.226c.067.133.145.26.234.379l3.242 3.365.025.01.59.623c-3.265-.918-5.59-3.155-5.59-4.668 0-1.194 1.448-2.838 3.663-3.93zm7.07.531a4.632 4.632 0 0 1 1.108 5.992l.345.344.046-.018a9.313 9.313 0 0 0 2-1.112c.256-.187.5-.392.727-.613.137-.134.27-.277.392-.431.072-.091.141-.185.203-.286.057-.093.107-.19.148-.292a.72.72 0 0 0 .036-.12.29.29 0 0 0 .008-.072.492.492 0 0 0-.028-.133.999.999 0 0 0-.036-.096 2.165 2.165 0 0 0-.071-.145 2.917 2.917 0 0 0-.125-.2 3.592 3.592 0 0 0-.263-.335 5.444 5.444 0 0 0-.53-.523 7.955 7.955 0 0 0-1.054-.768 9.766 9.766 0 0 0-1.879-.891c-.337-.118-.68-.219-1.027-.301zm-2.85.21-.069.002a.508.508 0 0 0-.254.097.496.496 0 0 0-.104.679.498.498 0 0 0 .326.199l.045.005c.091.003.181.003.272.012a2.45 2.45 0 0 1 2.017 1.513c.024.061.043.125.069.185a.494.494 0 0 0 .45.287h.008a.496.496 0 0 0 .35-.158.482.482 0 0 0 .13-.335.638.638 0 0 0-.048-.219 3.379 3.379 0 0 0-.36-.723 3.438 3.438 0 0 0-2.791-1.543l-.028-.001h-.013z"/></svg>',image:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M6.91 10.54c.26-.23.64-.21.88.03l3.36 3.14 2.23-2.06a.64.64 0 0 1 .87 0l2.52 2.97V4.5H3.2v10.12l3.71-4.08zm10.27-7.51c.6 0 1.09.47 1.09 1.05v11.84c0 .59-.49 1.06-1.09 1.06H2.79c-.6 0-1.09-.47-1.09-1.06V4.08c0-.58.49-1.05 1.1-1.05h14.38zm-5.22 5.56a1.96 1.96 0 1 1 3.4-1.96 1.96 1.96 0 0 1-3.4 1.96z"/></svg>',alignBottom:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m9.239 13.938-2.88-1.663a.75.75 0 0 1 .75-1.3L9 12.067V4.75a.75.75 0 1 1 1.5 0v7.318l1.89-1.093a.75.75 0 0 1 .75 1.3l-2.879 1.663a.752.752 0 0 1-.511.187.752.752 0 0 1-.511-.187zM4.25 17a.75.75 0 1 1 0-1.5h10.5a.75.75 0 0 1 0 1.5H4.25z"/></svg>',alignMiddle:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M9.75 11.875a.752.752 0 0 1 .508.184l2.883 1.666a.75.75 0 0 1-.659 1.344l-.091-.044-1.892-1.093.001 4.318a.75.75 0 1 1-1.5 0v-4.317l-1.89 1.092a.75.75 0 0 1-.75-1.3l2.879-1.663a.752.752 0 0 1 .51-.187zM15.25 9a.75.75 0 1 1 0 1.5H4.75a.75.75 0 1 1 0-1.5h10.5zM9.75.375a.75.75 0 0 1 .75.75v4.318l1.89-1.093.092-.045a.75.75 0 0 1 .659 1.344l-2.883 1.667a.752.752 0 0 1-.508.184.752.752 0 0 1-.511-.187L6.359 5.65a.75.75 0 0 1 .75-1.299L9 5.442V1.125a.75.75 0 0 1 .75-.75z"/></svg>',alignTop:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m10.261 7.062 2.88 1.663a.75.75 0 0 1-.75 1.3L10.5 8.933v7.317a.75.75 0 1 1-1.5 0V8.932l-1.89 1.093a.75.75 0 0 1-.75-1.3l2.879-1.663a.752.752 0 0 1 .511-.187.752.752 0 0 1 .511.187zM15.25 4a.75.75 0 1 1 0 1.5H4.75a.75.75 0 0 1 0-1.5h10.5z"/></svg>',alignLeft:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z"/></svg>',alignCenter:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm2.286 4c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h9.928a.75.75 0 1 0 0-1.5H5.036a.75.75 0 0 0-.75.75z"/></svg>',alignRight:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M18 3.75a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 8a.75.75 0 0 1-.75.75H2.75a.75.75 0 1 1 0-1.5h14.5a.75.75 0 0 1 .75.75zm0 4a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75zm0-8a.75.75 0 0 1-.75.75H7.321a.75.75 0 1 1 0-1.5h9.929a.75.75 0 0 1 .75.75z"/></svg>',alignJustify:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0 4c0 .414.336.75.75.75h9.929a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm0-8c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75z"/></svg>',objectLeft:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm11.5 9H18v1.5h-4.5zm0-3H18v1.5h-4.5zm0-3H18v1.5h-4.5zM2 15h16v1.5H2z"/><path d="M12.003 7v5.5a1 1 0 0 1-1 1H2.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H3.5V12h6.997V7.5z"/></svg>',objectCenter:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm0 12h16v1.5H2z"/><path d="M15.003 7v5.5a1 1 0 0 1-1 1H5.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H6.5V12h6.997V7.5z"/></svg>',objectRight:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm0 12h16v1.5H2zm0-9h5v1.5H2zm0 3h5v1.5H2zm0 3h5v1.5H2z"/><path d="M18.003 7v5.5a1 1 0 0 1-1 1H8.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H9.5V12h6.997V7.5z"/></svg>',objectFullWidth:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm0 12h16v1.5H2z"/><path d="M18 7v5.5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1zm-1.505.5H3.504V12h12.991V7.5z"/></svg>',objectInline:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm11.5 9H18v1.5h-4.5zM2 15h16v1.5H2z"/><path d="M12.003 7v5.5a1 1 0 0 1-1 1H2.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H3.5V12h6.997V7.5z"/></svg>',objectBlockLeft:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm0 12h16v1.5H2z"/><path d="M12.003 7v5.5a1 1 0 0 1-1 1H2.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H3.5V12h6.997V7.5z"/></svg>',objectBlockRight:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" d="M2 3h16v1.5H2zm0 12h16v1.5H2z"/><path d="M18.003 7v5.5a1 1 0 0 1-1 1H8.996a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h8.007a1 1 0 0 1 1 1zm-1.506.5H9.5V12h6.997V7.5z"/></svg>',objectSizeFull:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 17v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zM1 15.5v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm0-2v1h-1v-1h1zm-19 0v1H0v-1h1zM14.5 2v1h-1V2h1zm2 0v1h-1V2h1zm2 0v1h-1V2h1zm-8 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm8 0v1h-1V2h1zm-10 0v1h-1V2h1z"/><path d="M18.095 2H1.905C.853 2 0 2.895 0 4v12c0 1.105.853 2 1.905 2h16.19C19.147 18 20 17.105 20 16V4c0-1.105-.853-2-1.905-2zm0 1.5c.263 0 .476.224.476.5v12c0 .276-.213.5-.476.5H1.905a.489.489 0 0 1-.476-.5V4c0-.276.213-.5.476-.5h16.19z"/></svg>',objectSizeLarge:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 17v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zM1 15.5v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm0-2v1h-1v-1h1zm-19 0v1H0v-1h1zM14.5 2v1h-1V2h1zm2 0v1h-1V2h1zm2 0v1h-1V2h1zm-8 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm8 0v1h-1V2h1zm-10 0v1h-1V2h1z"/><path d="M13 6H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2zm0 1.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5V8a.5.5 0 0 1 .5-.5h11z"/></svg>',objectSizeSmall:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 17v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zM1 15.5v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm0-2v1h-1v-1h1zm-19 0v1H0v-1h1zM14.5 2v1h-1V2h1zm2 0v1h-1V2h1zm2 0v1h-1V2h1zm-8 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm8 0v1h-1V2h1zm-10 0v1h-1V2h1z"/><path d="M7 10H2a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h5a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2zm0 1.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h5z"/></svg>',objectSizeMedium:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M2.5 17v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zm2 0v1h-1v-1h1zM1 15.5v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm-19-2v1H0v-1h1zm19 0v1h-1v-1h1zm0-2v1h-1v-1h1zm-19 0v1H0v-1h1zM14.5 2v1h-1V2h1zm2 0v1h-1V2h1zm2 0v1h-1V2h1zm-8 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm-2 0v1h-1V2h1zm8 0v1h-1V2h1zm-10 0v1h-1V2h1z"/><path d="M10 8H2a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2zm0 1.5a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h8z"/></svg>',pencil:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m7.3 17.37-.061.088a1.518 1.518 0 0 1-.934.535l-4.178.663-.806-4.153a1.495 1.495 0 0 1 .187-1.058l.056-.086L8.77 2.639c.958-1.351 2.803-1.076 4.296-.03 1.497 1.047 2.387 2.693 1.433 4.055L7.3 17.37zM9.14 4.728l-5.545 8.346 3.277 2.294 5.544-8.346L9.14 4.728zM6.07 16.512l-3.276-2.295.53 2.73 2.746-.435zM9.994 3.506 13.271 5.8c.316-.452-.16-1.333-1.065-1.966-.905-.634-1.895-.78-2.212-.328zM8 18.5 9.375 17H19v1.5H8z"/></svg>',pilcrow:L.Z,quote:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 10.423a6.5 6.5 0 0 1 6.056-6.408l.038.67C6.448 5.423 5.354 7.663 5.22 10H9c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574zm8 0a6.5 6.5 0 0 1 6.056-6.408l.038.67c-2.646.739-3.74 2.979-3.873 5.315H17c.552 0 .5.432.5.986v4.511c0 .554-.448.503-1 .503h-5c-.552 0-.5-.449-.5-1.003v-4.574z"/></svg>',threeVerticalDots:W.Z}},"./src/engine.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{ClickObserver:()=>q,Conversion:()=>_.Z,DataController:()=>k.Z,DocumentFragment:()=>O.Z,DocumentSelection:()=>P.Z,DomConverter:()=>N.Z,DomEventData:()=>Y.Z,DomEventObserver:()=>W.Z,DowncastWriter:()=>H.Z,EditingController:()=>f.Z,Element:()=>E.Z,History:()=>R.Z,HtmlDataProcessor:()=>b.Z,InsertOperation:()=>w.Z,LivePosition:()=>A.Z,LiveRange:()=>x.Z,MarkerOperation:()=>v.Z,Matcher:()=>Q.Z,Model:()=>T.Z,MouseObserver:()=>$.Z,Observer:()=>L.Z,OperationFactory:()=>y.Z,Position:()=>S.ZP,Range:()=>j.Z,Renderer:()=>I.Z,StylesProcessor:()=>ee.A,Text:()=>M.Z,TreeWalker:()=>C.Z,UpcastWriter:()=>X,ViewDocument:()=>z.Z,ViewDocumentFragment:()=>B.Z,ViewElement:()=>D.Z,ViewText:()=>V.Z,addBackgroundRules:()=>Ae,addBorderRules:()=>Ce,addMarginRules:()=>Be,addPaddingRules:()=>Fe,disablePlaceholder:()=>l,enablePlaceholder:()=>c,getBoxSidesShorthandValue:()=>Pe,getBoxSidesValueReducer:()=>Ze,getBoxSidesValues:()=>ye,getFillerOffset:()=>F.Y,getPositionShorthandNormalizer:()=>je,getShorthandValues:()=>xe,hidePlaceholder:()=>h,isAttachment:()=>be,isColor:()=>ae,isLength:()=>he,isLineStyle:()=>le,isPercentage:()=>pe,isPosition:()=>ke,isRepeat:()=>me,isURL:()=>ve,needsPlaceholder:()=>u,showPlaceholder:()=>d,transformSets:()=>Z.R});var o=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),i=s.n(o),r=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/placeholder.css"),n={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i()(r.Z,n);r.Z.locals;const a=new WeakMap;function c(e){const{view:t,element:s,text:o,isDirectHost:i=!0,keepOnFocus:r=!1}=e,n=t.document;a.has(n)||(a.set(n,new Map),n.registerPostFixer((e=>p(n,e)))),a.get(n).set(s,{text:o,isDirectHost:i,keepOnFocus:r,hostElement:i?s:null}),t.change((e=>p(n,e)))}function l(e,t){const s=t.document;e.change((e=>{if(!a.has(s))return;const o=a.get(s),i=o.get(t);e.removeAttribute("data-placeholder",i.hostElement),h(e,i.hostElement),o.delete(t)}))}function d(e,t){return!t.hasClass("ck-placeholder")&&(e.addClass("ck-placeholder",t),!0)}function h(e,t){return!!t.hasClass("ck-placeholder")&&(e.removeClass("ck-placeholder",t),!0)}function u(e,t){if(!e.isAttached())return!1;const s=Array.from(e.getChildren()).some((e=>!e.is("uiElement")));if(s)return!1;if(t)return!0;const o=e.document;if(!o.isFocused)return!0;const i=o.selection.anchor;return i&&i.parent!==e}function p(e,t){const s=a.get(e),o=[];let i=!1;for(const[e,r]of s)r.isDirectHost&&(o.push(e),g(t,e,r)&&(i=!0));for(const[e,r]of s){if(r.isDirectHost)continue;const s=m(e);s&&(o.includes(s)||(r.hostElement=s,g(t,e,r)&&(i=!0)))}return i}function g(e,t,s){const{text:o,isDirectHost:i,hostElement:r}=s;let n=!1;r.getAttribute("data-placeholder")!==o&&(e.setAttribute("data-placeholder",o,r),n=!0);return(i||1==t.childCount)&&u(r,s.keepOnFocus)?d(e,r)&&(n=!0):h(e,r)&&(n=!0),n}function m(e){if(e.childCount){const t=e.getChild(0);if(t.is("element")&&!t.is("uiElement")&&!t.is("attributeElement"))return t}return null}var f=s("./packages/ckeditor5-engine/src/controller/editingcontroller.js"),k=s("./packages/ckeditor5-engine/src/controller/datacontroller.js"),_=s("./packages/ckeditor5-engine/src/conversion/conversion.js"),b=s("./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.js"),w=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),v=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),y=s("./packages/ckeditor5-engine/src/model/operation/operationfactory.js"),Z=s("./packages/ckeditor5-engine/src/model/operation/transform.js"),P=s("./packages/ckeditor5-engine/src/model/documentselection.js"),j=s("./packages/ckeditor5-engine/src/model/range.js"),x=s("./packages/ckeditor5-engine/src/model/liverange.js"),A=s("./packages/ckeditor5-engine/src/model/liveposition.js"),T=s("./packages/ckeditor5-engine/src/model/model.js"),C=s("./packages/ckeditor5-engine/src/model/treewalker.js"),E=s("./packages/ckeditor5-engine/src/model/element.js"),S=s("./packages/ckeditor5-engine/src/model/position.js"),O=s("./packages/ckeditor5-engine/src/model/documentfragment.js"),R=s("./packages/ckeditor5-engine/src/model/history.js"),M=s("./packages/ckeditor5-engine/src/model/text.js"),N=s("./packages/ckeditor5-engine/src/view/domconverter.js"),I=s("./packages/ckeditor5-engine/src/view/renderer.js"),z=s("./packages/ckeditor5-engine/src/view/document.js"),V=s("./packages/ckeditor5-engine/src/view/text.js"),D=s("./packages/ckeditor5-engine/src/view/element.js"),B=s("./packages/ckeditor5-engine/src/view/documentfragment.js"),F=s("./packages/ckeditor5-engine/src/view/containerelement.js"),L=s("./packages/ckeditor5-engine/src/view/observer/observer.js"),W=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js");class q extends W.Z{constructor(e){super(e),this.domEventType="click"}onDomEvent(e){this.fire(e.type,e)}}var $=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),H=s("./packages/ckeditor5-engine/src/view/downcastwriter.js"),U=s("./node_modules/lodash-es/isPlainObject.js"),K=s("./packages/ckeditor5-engine/src/view/position.js"),G=s("./packages/ckeditor5-engine/src/view/range.js"),J=s("./packages/ckeditor5-engine/src/view/selection.js");class X{constructor(e){this.document=e}createDocumentFragment(e){return new B.Z(this.document,e)}createElement(e,t,s){return new D.Z(this.document,e,t,s)}createText(e){return new V.Z(this.document,e)}clone(e,t=!1){return e._clone(t)}appendChild(e,t){return t._appendChild(e)}insertChild(e,t,s){return s._insertChild(e,t)}removeChildren(e,t,s){return s._removeChildren(e,t)}remove(e){const t=e.parent;return t?this.removeChildren(t.getChildIndex(e),1,t):[]}replace(e,t){const s=e.parent;if(s){const o=s.getChildIndex(e);return this.removeChildren(o,1,s),this.insertChild(o,t,s),!0}return!1}unwrapElement(e){const t=e.parent;if(t){const s=t.getChildIndex(e);this.remove(e),this.insertChild(s,e.getChildren(),t)}}rename(e,t){const s=new D.Z(this.document,e,t.getAttributes(),t.getChildren());return this.replace(t,s)?s:null}setAttribute(e,t,s){s._setAttribute(e,t)}removeAttribute(e,t){t._removeAttribute(e)}addClass(e,t){t._addClass(e)}removeClass(e,t){t._removeClass(e)}setStyle(e,t,s){(0,U.Z)(e)&&void 0===s&&(s=t),s._setStyle(e,t)}removeStyle(e,t){t._removeStyle(e)}setCustomProperty(e,t,s){s._setCustomProperty(e,t)}removeCustomProperty(e,t){return t._removeCustomProperty(e)}createPositionAt(e,t){return K.Z._createAt(e,t)}createPositionAfter(e){return K.Z._createAfter(e)}createPositionBefore(e){return K.Z._createBefore(e)}createRange(e,t){return new G.Z(e,t)}createRangeOn(e){return G.Z._createOn(e)}createRangeIn(e){return G.Z._createIn(e)}createSelection(e,t,s){return new J.Z(e,t,s)}}var Q=s("./packages/ckeditor5-engine/src/view/matcher.js"),Y=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.js"),ee=s("./packages/ckeditor5-engine/src/view/stylesmap.js");const te=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,se=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i,oe=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,ie=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i,re=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,ne=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","orange","aliceblue","antiquewhite","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","gainsboro","ghostwhite","gold","goldenrod","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","magenta","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","oldlace","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext","rebeccapurple","currentcolor","transparent"]);function ae(e){return e.startsWith("#")?te.test(e):e.startsWith("rgb")?se.test(e)||oe.test(e):e.startsWith("hsl")?ie.test(e)||re.test(e):ne.has(e.toLowerCase())}const ce=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];function le(e){return ce.includes(e)}const de=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function he(e){return de.test(e)}const ue=/^[+-]?[0-9]*([.][0-9]+)?%$/;function pe(e){return ue.test(e)}const ge=["repeat-x","repeat-y","repeat","space","round","no-repeat"];function me(e){return ge.includes(e)}const fe=["center","top","bottom","left","right"];function ke(e){return fe.includes(e)}const _e=["fixed","scroll","local"];function be(e){return _e.includes(e)}const we=/^url\(/;function ve(e){return we.test(e)}function ye(e=""){if(""===e)return{top:void 0,right:void 0,bottom:void 0,left:void 0};const t=xe(e),s=t[0],o=t[2]||s,i=t[1]||s;return{top:s,bottom:o,right:i,left:t[3]||i}}function Ze(e){return t=>{const{top:s,right:o,bottom:i,left:r}=t,n=[];return[s,o,r,i].every((e=>!!e))?n.push([e,Pe(t)]):(s&&n.push([e+"-top",s]),o&&n.push([e+"-right",o]),i&&n.push([e+"-bottom",i]),r&&n.push([e+"-left",r])),n}}function Pe({top:e,right:t,bottom:s,left:o}){const i=[];return o!==t?i.push(e,t,s,o):s!==e?i.push(e,t,s):t!==e?i.push(e,t):i.push(e),i.join(" ")}function je(e){return t=>({path:e,value:ye(t)})}function xe(e){return e.replace(/, /g,",").split(" ").map((e=>e.replace(/,/g,", ")))}function Ae(e){e.setNormalizer("background",Te),e.setNormalizer("background-color",(e=>({path:"background.color",value:e}))),e.setReducer("background",(e=>{const t=[];return t.push(["background-color",e.color]),t})),e.setStyleRelation("background",["background-color"])}function Te(e){const t={},s=xe(e);for(const e of s)me(e)?(t.repeat=t.repeat||[],t.repeat.push(e)):ke(e)?(t.position=t.position||[],t.position.push(e)):be(e)?t.attachment=e:ae(e)?t.color=e:ve(e)&&(t.image=e);return{path:"background",value:t}}function Ce(e){e.setNormalizer("border",Ee),e.setNormalizer("border-top",Se("top")),e.setNormalizer("border-right",Se("right")),e.setNormalizer("border-bottom",Se("bottom")),e.setNormalizer("border-left",Se("left")),e.setNormalizer("border-color",Oe("color")),e.setNormalizer("border-width",Oe("width")),e.setNormalizer("border-style",Oe("style")),e.setNormalizer("border-top-color",Me("color","top")),e.setNormalizer("border-top-style",Me("style","top")),e.setNormalizer("border-top-width",Me("width","top")),e.setNormalizer("border-right-color",Me("color","right")),e.setNormalizer("border-right-style",Me("style","right")),e.setNormalizer("border-right-width",Me("width","right")),e.setNormalizer("border-bottom-color",Me("color","bottom")),e.setNormalizer("border-bottom-style",Me("style","bottom")),e.setNormalizer("border-bottom-width",Me("width","bottom")),e.setNormalizer("border-left-color",Me("color","left")),e.setNormalizer("border-left-style",Me("style","left")),e.setNormalizer("border-left-width",Me("width","left")),e.setExtractor("border-top",Ne("top")),e.setExtractor("border-right",Ne("right")),e.setExtractor("border-bottom",Ne("bottom")),e.setExtractor("border-left",Ne("left")),e.setExtractor("border-top-color","border.color.top"),e.setExtractor("border-right-color","border.color.right"),e.setExtractor("border-bottom-color","border.color.bottom"),e.setExtractor("border-left-color","border.color.left"),e.setExtractor("border-top-width","border.width.top"),e.setExtractor("border-right-width","border.width.right"),e.setExtractor("border-bottom-width","border.width.bottom"),e.setExtractor("border-left-width","border.width.left"),e.setExtractor("border-top-style","border.style.top"),e.setExtractor("border-right-style","border.style.right"),e.setExtractor("border-bottom-style","border.style.bottom"),e.setExtractor("border-left-style","border.style.left"),e.setReducer("border-color",Ze("border-color")),e.setReducer("border-style",Ze("border-style")),e.setReducer("border-width",Ze("border-width")),e.setReducer("border-top",Ve("top")),e.setReducer("border-right",Ve("right")),e.setReducer("border-bottom",Ve("bottom")),e.setReducer("border-left",Ve("left")),e.setReducer("border",function(){return t=>{const s=Ie(t,"top"),o=Ie(t,"right"),i=Ie(t,"bottom"),r=Ie(t,"left"),n=[s,o,i,r],a={width:e(n,"width"),style:e(n,"style"),color:e(n,"color")},c=De(a,"all");if(c.length)return c;const l=Object.entries(a).reduce(((e,[t,s])=>(s&&(e.push([`border-${t}`,s]),n.forEach((e=>e[t]=null))),e)),[]);return[...l,...De(s,"top"),...De(o,"right"),...De(i,"bottom"),...De(r,"left")]};function e(e,t){return e.map((e=>e[t])).reduce(((e,t)=>e==t?e:null))}}()),e.setStyleRelation("border",["border-color","border-style","border-width","border-top","border-right","border-bottom","border-left","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-width","border-right-width","border-bottom-width","border-left-width"]),e.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]),e.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]),e.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]),e.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]),e.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]),e.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]),e.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function Ee(e){const{color:t,style:s,width:o}=ze(e);return{path:"border",value:{color:ye(t),style:ye(s),width:ye(o)}}}function Se(e){return t=>{const{color:s,style:o,width:i}=ze(t),r={};return void 0!==s&&(r.color={[e]:s}),void 0!==o&&(r.style={[e]:o}),void 0!==i&&(r.width={[e]:i}),{path:"border",value:r}}}function Oe(e){return t=>({path:"border",value:Re(t,e)})}function Re(e,t){return{[t]:ye(e)}}function Me(e,t){return s=>({path:"border",value:{[e]:{[t]:s}}})}function Ne(e){return(t,s)=>{if(s.border)return Ie(s.border,e)}}function Ie(e,t){const s={};return e.width&&e.width[t]&&(s.width=e.width[t]),e.style&&e.style[t]&&(s.style=e.style[t]),e.color&&e.color[t]&&(s.color=e.color[t]),s}function ze(e){const t={},s=xe(e);for(const e of s)he(e)||/thin|medium|thick/.test(e)?t.width=e:le(e)?t.style=e:t.color=e;return t}function Ve(e){return t=>De(t,e)}function De(e,t){const s=[];if(e&&e.width&&s.push("width"),e&&e.style&&s.push("style"),e&&e.color&&s.push("color"),3==s.length){const o=s.map((t=>e[t])).join(" ");return["all"==t?["border",o]:[`border-${t}`,o]]}return"all"==t?[]:s.map((s=>[`border-${t}-${s}`,e[s]]))}function Be(e){e.setNormalizer("margin",je("margin")),e.setNormalizer("margin-top",(e=>({path:"margin.top",value:e}))),e.setNormalizer("margin-right",(e=>({path:"margin.right",value:e}))),e.setNormalizer("margin-bottom",(e=>({path:"margin.bottom",value:e}))),e.setNormalizer("margin-left",(e=>({path:"margin.left",value:e}))),e.setReducer("margin",Ze("margin")),e.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}function Fe(e){e.setNormalizer("padding",je("padding")),e.setNormalizer("padding-top",(e=>({path:"padding.top",value:e}))),e.setNormalizer("padding-right",(e=>({path:"padding.right",value:e}))),e.setNormalizer("padding-bottom",(e=>({path:"padding.bottom",value:e}))),e.setNormalizer("padding-left",(e=>({path:"padding.left",value:e}))),e.setReducer("padding",Ze("padding")),e.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}},"./src/enter.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Enter:()=>o.Z,ShiftEnter:()=>h});var o=s("./packages/ckeditor5-enter/src/enter.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-enter/src/utils.js");class n extends i.Z{execute(){const e=this.editor.model,t=e.document;e.change((s=>{!function(e,t,s){const o=s.isCollapsed,i=s.getFirstRange(),n=i.start.parent,c=i.end.parent,l=n==c;if(o){const o=(0,r.G)(e.schema,s.getAttributes());a(e,t,i.end),t.removeSelectionAttribute(s.getAttributeKeys()),t.setSelectionAttribute(o)}else{const o=!(i.start.isAtStart&&i.end.isAtEnd);e.deleteContent(s,{leaveUnmerged:o}),l?a(e,t,s.focus):o&&t.setSelection(c,0)}}(e,s,t.selection),this.fire("afterExecute",{writer:s})}))}refresh(){const e=this.editor.model,t=e.document;this.isEnabled=function(e,t){if(t.rangeCount>1)return!1;const s=t.anchor;if(!s||!e.checkChild(s,"softBreak"))return!1;const o=t.getFirstRange(),i=o.start.parent,r=o.end.parent;if((c(i,e)||c(r,e))&&i!==r)return!1;return!0}(e.schema,t.selection)}}function a(e,t,s){const o=t.createElement("softBreak");e.insertContent(o,s),t.setSelection(o,"after")}function c(e,t){return!e.is("rootElement")&&(t.isLimit(e)||c(e.parent,t))}var l=s("./packages/ckeditor5-enter/src/enterobserver.js"),d=s("./packages/ckeditor5-core/src/plugin.js");class h extends d.Z{static get pluginName(){return"ShiftEnter"}init(){const e=this.editor,t=e.model.schema,s=e.conversion,o=e.editing.view,i=o.document;t.register("softBreak",{allowWhere:"$text",isInline:!0}),s.for("upcast").elementToElement({model:"softBreak",view:"br"}),s.for("downcast").elementToElement({model:"softBreak",view:(e,{writer:t})=>t.createEmptyElement("br")}),o.addObserver(l.Z),e.commands.add("shiftEnter",new n(e)),this.listenTo(i,"enter",((t,s)=>{s.preventDefault(),s.isSoft&&(e.execute("shiftEnter"),o.scrollToTheSelection())}),{priority:"low"})}}},"./src/paragraph.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Paragraph:()=>l,ParagraphButtonUI:()=>h});var o=s("./packages/ckeditor5-core/src/command.js"),i=s("./packages/ckeditor5-utils/src/first.js");class r extends o.Z{refresh(){const e=this.editor.model,t=e.document,s=(0,i.Z)(t.selection.getSelectedBlocks());this.value=!!s&&s.is("element","paragraph"),this.isEnabled=!!s&&n(s,e.schema)}execute(e={}){const t=this.editor.model,s=t.document;t.change((o=>{const i=(e.selection||s.selection).getSelectedBlocks();for(const e of i)!e.is("element","paragraph")&&n(e,t.schema)&&o.rename(e,"paragraph")}))}}function n(e,t){return t.checkChild(e.parent,"paragraph")&&!t.isObject(e)}class a extends o.Z{execute(e){const t=this.editor.model,s=e.attributes;let o=e.position;t.change((e=>{const i=e.createElement("paragraph");if(s&&t.schema.setAllowedAttributes(i,s,e),!t.schema.checkChild(o.parent,i)){const s=t.schema.findAllowedParent(o,i);if(!s)return;o=e.split(o,s).position}t.insertContent(i,o),e.setSelection(i,"in")}))}}var c=s("./packages/ckeditor5-core/src/plugin.js");class l extends c.Z{static get pluginName(){return"Paragraph"}init(){const e=this.editor,t=e.model;e.commands.add("paragraph",new r(e)),e.commands.add("insertParagraph",new a(e)),t.schema.register("paragraph",{inheritAllFrom:"$block"}),e.conversion.elementToElement({model:"paragraph",view:"p"}),e.conversion.for("upcast").elementToElement({model:(e,{writer:t})=>l.paragraphLikeElements.has(e.name)?e.isEmpty?null:t.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}}l.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);var d=s("./packages/ckeditor5-ui/src/button/buttonview.js");class h extends c.Z{init(){const e=this.editor,t=e.t;e.ui.componentFactory.add("paragraph",(s=>{const o=new d.Z(s),i=e.commands.get("paragraph");return o.label=t("Paragraph"),o.icon='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10.5 5.5H7v5h3.5a2.5 2.5 0 1 0 0-5zM5 3h6.5v.025a5 5 0 0 1 0 9.95V13H7v4a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z"/></svg>',o.tooltip=!0,o.isToggleable=!0,o.bind("isEnabled").to(i),o.bind("isOn").to(i,"value"),o.on("execute",(()=>{e.execute("paragraph")})),o}))}}},"./src/select-all.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{SelectAll:()=>u,SelectAllEditing:()=>l,SelectAllUI:()=>h});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-utils/src/keyboard.js"),r=s("./packages/ckeditor5-core/src/command.js");class n extends r.Z{constructor(e){super(e),this.affectsData=!1}execute(){const e=this.editor.model,t=e.document.selection;let s=e.schema.getLimitElement(t);if(t.containsEntireContent(s)||!a(e.schema,s))do{if(s=s.parent,!s)return}while(!a(e.schema,s));e.change((e=>{e.setSelection(s,"in")}))}}function a(e,t){return e.isLimit(t)&&(e.checkChild(t,"$text")||e.checkChild(t,"paragraph"))}const c=(0,i.Zz)("Ctrl+A");class l extends o.Z{static get pluginName(){return"SelectAllEditing"}init(){const e=this.editor,t=e.editing.view.document;e.commands.add("selectAll",new n(e)),this.listenTo(t,"keydown",((t,s)=>{(0,i.Cq)(s)===c&&(e.execute("selectAll"),s.preventDefault())}))}}var d=s("./packages/ckeditor5-ui/src/button/buttonview.js");class h extends o.Z{static get pluginName(){return"SelectAllUI"}init(){const e=this.editor;e.ui.componentFactory.add("selectAll",(t=>{const s=e.commands.get("selectAll"),o=new d.Z(t),i=t.t;return o.set({label:i("Select all"),icon:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M.75 15.5a.75.75 0 0 1 .75.75V18l.008.09A.5.5 0 0 0 2 18.5h1.75a.75.75 0 1 1 0 1.5H1.5l-.144-.007a1.5 1.5 0 0 1-1.35-1.349L0 18.5v-2.25a.75.75 0 0 1 .75-.75zm18.5 0a.75.75 0 0 1 .75.75v2.25l-.007.144a1.5 1.5 0 0 1-1.349 1.35L18.5 20h-2.25a.75.75 0 1 1 0-1.5H18a.5.5 0 0 0 .492-.41L18.5 18v-1.75a.75.75 0 0 1 .75-.75zm-10.45 3c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2v-1.1c0-.11.09-.2.2-.2h1.6zm.45-5.5a.75.75 0 1 1 0 1.5h-8.5a.75.75 0 1 1 0-1.5h8.5zM1.3 11c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2v-1.6c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5H4.75a.75.75 0 1 1 0-1.5h10.5zM1.3 7c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2H.2a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm18.5 0c.11 0 .2.09.2.2v1.6a.2.2 0 0 1-.2.2h-1.1a.2.2 0 0 1-.2-.2V7.2c0-.11.09-.2.2-.2h1.1zm-4.55-2a.75.75 0 1 1 0 1.5h-2.5a.75.75 0 1 1 0-1.5h2.5zm-5 0a.75.75 0 1 1 0 1.5h-5.5a.75.75 0 0 1 0-1.5h5.5zm-6.5-5a.75.75 0 0 1 0 1.5H2a.5.5 0 0 0-.492.41L1.5 2v1.75a.75.75 0 0 1-1.5 0V1.5l.007-.144A1.5 1.5 0 0 1 1.356.006L1.5 0h2.25zM18.5 0l.144.007a1.5 1.5 0 0 1 1.35 1.349L20 1.5v2.25a.75.75 0 1 1-1.5 0V2l-.008-.09A.5.5 0 0 0 18 1.5h-1.75a.75.75 0 1 1 0-1.5h2.25zM8.8 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2H7.2a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6zm4 0c.11 0 .2.09.2.2v1.1a.2.2 0 0 1-.2.2h-1.6a.2.2 0 0 1-.2-.2V.2c0-.11.09-.2.2-.2h1.6z"/></svg>',keystroke:"Ctrl+A",tooltip:!0}),o.bind("isOn","isEnabled").to(s,"value","isEnabled"),this.listenTo(o,"execute",(()=>{e.execute("selectAll"),e.editing.view.focus()})),o}))}}class u extends o.Z{static get requires(){return[l,h]}static get pluginName(){return"SelectAll"}}},"./src/typing.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Delete:()=>m.Z,Input:()=>g,TextTransformation:()=>M,TextWatcher:()=>w,TwoStepCaretMovement:()=>y,Typing:()=>f,findAttributeRange:()=>D,getLastTextLine:()=>b,inlineHighlight:()=>F,isNonTypingKeystroke:()=>a.u});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-typing/src/utils/changebuffer.js");class n extends i.Z{constructor(e,t){super(e),this._buffer=new r.Z(e.model,t)}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(e={}){const t=this.editor.model,s=t.document,o=e.text||"",i=o.length,r=e.range?t.createSelection(e.range):s.selection,n=e.resultRange;t.enqueueChange(this._buffer.batch,(e=>{this._buffer.lock(),t.deleteContent(r),o&&t.insertContent(e.createText(o,s.selection.getAttributes()),r),n?e.setSelection(n):r.is("documentSelection")||e.setSelection(r),this._buffer.unlock(),this._buffer.input(i)}))}}var a=s("./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js"),c=s("./packages/ckeditor5-utils/src/diff.js"),l=s("./packages/ckeditor5-engine/src/view/domconverter.js"),d=s("./packages/ckeditor5-typing/src/utils/utils.js");class h{constructor(e){this.editor=e,this.editing=this.editor.editing}handle(e,t){if((0,d.E9)(e))this._handleContainerChildrenMutations(e,t);else for(const s of e)this._handleTextMutation(s,t),this._handleTextNodeInsertion(s)}_handleContainerChildrenMutations(e,t){const s=function(e){const t=e.map((e=>e.node)).reduce(((e,t)=>e.getCommonAncestor(t,{includeSelf:!0})));if(!t)return;return t.getAncestors({includeSelf:!0,parentFirst:!0}).find((e=>e.is("containerElement")||e.is("rootElement")))}(e);if(!s)return;const o=this.editor.editing.view.domConverter.mapViewToDom(s),i=new l.Z(this.editor.editing.view.document),r=this.editor.data.toModel(i.domToView(o)).getChild(0),n=this.editor.editing.mapper.toModelElement(s);if(!n)return;const a=Array.from(r.getChildren()),d=Array.from(n.getChildren()),h=a[a.length-1],g=d[d.length-1],m=h&&h.is("element","softBreak"),f=g&&!g.is("element","softBreak");m&&f&&a.pop();const k=this.editor.model.schema;if(!u(a,k)||!u(d,k))return;const _=a.map((e=>e.is("$text")?e.data:"@")).join("").replace(/\u00A0/g," "),b=d.map((e=>e.is("$text")?e.data:"@")).join("").replace(/\u00A0/g," ");if(b===_)return;const w=(0,c.Z)(b,_),{firstChangeAt:v,insertions:y,deletions:Z}=p(w);let P=null;t&&(P=this.editing.mapper.toModelRange(t.getFirstRange()));const j=_.substr(v,y),x=this.editor.model.createRange(this.editor.model.createPositionAt(n,v),this.editor.model.createPositionAt(n,v+Z));this.editor.execute("input",{text:j,range:x,resultRange:P})}_handleTextMutation(e,t){if("text"!=e.type)return;const s=e.newText.replace(/\u00A0/g," "),o=e.oldText.replace(/\u00A0/g," ");if(o===s)return;const i=(0,c.Z)(o,s),{firstChangeAt:r,insertions:n,deletions:a}=p(i);let l=null;t&&(l=this.editing.mapper.toModelRange(t.getFirstRange()));const d=this.editing.view.createPositionAt(e.node,r),h=this.editing.mapper.toModelPosition(d),u=this.editor.model.createRange(h,h.getShiftedBy(a)),g=s.substr(r,n);this.editor.execute("input",{text:g,range:u,resultRange:l})}_handleTextNodeInsertion(e){if("children"!=e.type)return;const t=(0,d.xG)(e),s=this.editing.view.createPositionAt(e.node,t.index),o=this.editing.mapper.toModelPosition(s),i=t.values[0].data;this.editor.execute("input",{text:i.replace(/\u00A0/g," "),range:this.editor.model.createRange(o)})}}function u(e,t){return e.every((e=>t.isInline(e)))}function p(e){let t=null,s=null;for(let o=0;o<e.length;o++){"equal"!=e[o]&&(t=null===t?o:t,s=o)}let o=0,i=0;for(let r=t;r<=s;r++)"insert"!=e[r]&&o++,"delete"!=e[r]&&i++;return{insertions:i,deletions:o,firstChangeAt:t}}class g extends o.Z{static get pluginName(){return"Input"}init(){const e=this.editor,t=new n(e,e.config.get("typing.undoStep")||20);e.commands.add("input",t),(0,a.Z)(e),function(e){e.editing.view.document.on("mutations",((t,s,o)=>{new h(e).handle(s,o)}))}(e)}}var m=s("./packages/ckeditor5-typing/src/delete.js");class f extends o.Z{static get requires(){return[g,m.Z]}static get pluginName(){return"Typing"}}var k=s("./packages/ckeditor5-utils/src/mix.js"),_=s("./packages/ckeditor5-utils/src/observablemixin.js");function b(e,t){let s=e.start;return{text:Array.from(e.getItems()).reduce(((e,o)=>o.is("$text")||o.is("$textProxy")?e+o.data:(s=t.createPositionAfter(o),"")),""),range:t.createRange(s,e.end)}}class w{constructor(e,t){this.model=e,this.testCallback=t,this.hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",(()=>{this.isEnabled?this._startListening():(this.stopListening(e.document.selection),this.stopListening(e.document))})),this._startListening()}_startListening(){const e=this.model.document;this.listenTo(e.selection,"change:range",((t,{directChange:s})=>{s&&(e.selection.isCollapsed?this._evaluateTextBeforeSelection("selection"):this.hasMatch&&(this.fire("unmatched"),this.hasMatch=!1))})),this.listenTo(e,"change:data",((e,t)=>{!t.isUndo&&t.isLocal&&this._evaluateTextBeforeSelection("data",{batch:t})}))}_evaluateTextBeforeSelection(e,t={}){const s=this.model,o=s.document.selection,i=s.createRange(s.createPositionAt(o.focus.parent,0),o.focus),{text:r,range:n}=b(i,s),a=this.testCallback(r);if(!a&&this.hasMatch&&this.fire("unmatched"),this.hasMatch=!!a,a){const s=Object.assign(t,{text:r,range:n});"object"==typeof a&&Object.assign(s,a),this.fire(`matched:${e}`,s)}}}(0,k.Z)(w,_.Z);var v=s("./packages/ckeditor5-utils/src/keyboard.js");class y extends o.Z{static get pluginName(){return"TwoStepCaretMovement"}constructor(e){super(e),this.attributes=new Set,this._overrideUid=null}init(){const e=this.editor,t=e.model,s=e.editing.view,o=e.locale,i=t.document.selection;this.listenTo(s.document,"arrowKey",((e,t)=>{if(!i.isCollapsed)return;if(t.shiftKey||t.altKey||t.ctrlKey)return;const s=t.keyCode==v.Do.arrowright,r=t.keyCode==v.Do.arrowleft;if(!s&&!r)return;const n=o.contentLanguageDirection;let a=!1;a="ltr"===n&&s||"rtl"===n&&r?this._handleForwardMovement(t):this._handleBackwardMovement(t),!0===a&&e.stop()}),{context:"$text",priority:"highest"}),this._isNextGravityRestorationSkipped=!1,this.listenTo(i,"change:range",((e,t)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!t.directChange&&x(i.getFirstPosition(),this.attributes)||this._restoreGravity())}))}registerAttribute(e){this.attributes.add(e)}_handleForwardMovement(e){const t=this.attributes,s=this.editor.model.document.selection,o=s.getFirstPosition();return!this._isGravityOverridden&&((!o.isAtStart||!Z(s,t))&&(x(o,t)?(j(e),this._overrideGravity(),!0):void 0))}_handleBackwardMovement(e){const t=this.attributes,s=this.editor.model,o=s.document.selection,i=o.getFirstPosition();return this._isGravityOverridden?(j(e),this._restoreGravity(),P(s,t,i),!0):i.isAtStart?!!Z(o,t)&&(j(e),P(s,t,i),!0):function(e,t){return x(e.getShiftedBy(-1),t)}(i,t)?i.isAtEnd&&!Z(o,t)&&x(i,t)?(j(e),P(s,t,i),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1):void 0}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((e=>e.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((e=>{e.restoreSelectionGravity(this._overrideUid),this._overrideUid=null}))}}function Z(e,t){for(const s of t)if(e.hasAttribute(s))return!0;return!1}function P(e,t,s){const o=s.nodeBefore;e.change((e=>{o?e.setSelectionAttribute(o.getAttributes()):e.removeSelectionAttribute(t)}))}function j(e){e.preventDefault()}function x(e,t){const{nodeBefore:s,nodeAfter:o}=e;for(const e of t){const t=s?s.getAttribute(e):void 0;if((o?o.getAttribute(e):void 0)!==t)return!0}return!1}var A=s("./node_modules/lodash-es/toString.js"),T=/[\\^$.*+?()[\]{}|]/g,C=RegExp(T.source);const E=function(e){return(e=(0,A.Z)(e))&&C.test(e)?e.replace(T,"\\$&"):e},S={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:/(^|[^/a-z0-9])(1\/2)([^/a-z0-9])$/i,to:[null,"½",null]},oneThird:{from:/(^|[^/a-z0-9])(1\/3)([^/a-z0-9])$/i,to:[null,"⅓",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\/3)([^/a-z0-9])$/i,to:[null,"⅔",null]},oneForth:{from:/(^|[^/a-z0-9])(1\/4)([^/a-z0-9])$/i,to:[null,"¼",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\/4)([^/a-z0-9])$/i,to:[null,"¾",null]},lessThanOrEqual:{from:"<=",to:"≤"},greaterThanOrEqual:{from:">=",to:"≥"},notEqual:{from:"!=",to:"≠"},arrowLeft:{from:"<-",to:"←"},arrowRight:{from:"->",to:"→"},horizontalEllipsis:{from:"...",to:"…"},enDash:{from:/(^| )(--)( )$/,to:[null,"–",null]},emDash:{from:/(^| )(---)( )$/,to:[null,"—",null]},quotesPrimary:{from:V('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:V("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:V("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:V('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:V('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:V("'"),to:[null,"‚",null,"’"]}},O={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]},R=["symbols","mathematical","typography","quotes"];class M extends o.Z{static get requires(){return["Delete","Input"]}static get pluginName(){return"TextTransformation"}constructor(e){super(e),e.config.define("typing",{transformations:{include:R}})}init(){const e=this.editor.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")})),this._enableTransformationWatchers()}_enableTransformationWatchers(){const e=this.editor,t=e.model,s=e.plugins.get("Delete"),o=function(e){const t=e.extra||[],s=e.remove||[],o=e=>!s.includes(e);return function(e){const t=new Set;for(const s of e)if(O[s])for(const e of O[s])t.add(e);else t.add(s);return Array.from(t)}(e.include.concat(t).filter(o)).filter(o).map((e=>S[e]||e)).filter((e=>"object"==typeof e)).map((e=>({from:N(e.from),to:I(e.to)})))}(e.config.get("typing.transformations")),i=new w(e.model,(e=>{for(const t of o){if(t.from.test(e))return{normalizedTransformation:t}}}));i.on("matched:data",((e,o)=>{if(!o.batch.isTyping)return;const{from:i,to:r}=o.normalizedTransformation,n=i.exec(o.text),a=r(n.slice(1)),c=o.range;let l=n.index;t.enqueueChange((e=>{for(let s=1;s<n.length;s++){const o=n[s],i=a[s-1];if(null==i){l+=o.length;continue}const r=c.start.getShiftedBy(l),d=t.createRange(r,r.getShiftedBy(o.length)),h=z(r);t.insertContent(e.createText(i,h),d),l+=i.length}t.enqueueChange((()=>{s.requestUndoOnBackspace()}))}))})),i.bind("isEnabled").to(this)}}function N(e){return"string"==typeof e?new RegExp(`(${E(e)})$`):e}function I(e){return"string"==typeof e?()=>[e]:e instanceof Array?()=>e:e}function z(e){return(e.textNode?e.textNode:e.nodeAfter).getAttributes()}function V(e){return new RegExp(`(^|\\s)(${e})([^${e}]*)(${e})$`)}function D(e,t,s,o){return o.createRange(B(e,t,s,!0,o),B(e,t,s,!1,o))}function B(e,t,s,o,i){let r=e.textNode||(o?e.nodeBefore:e.nodeAfter),n=null;for(;r&&r.getAttribute(t)==s;)n=r,r=o?r.previousSibling:r.nextSibling;return n?i.createPositionAt(n,o?"before":"after"):e}function F(e,t,s,o){const i=e.editing.view,r=new Set;i.document.registerPostFixer((i=>{const n=e.model.document.selection;let a=!1;if(n.hasAttribute(t)){const c=D(n.getFirstPosition(),t,n.getAttribute(t),e.model),l=e.editing.mapper.toViewRange(c);for(const e of l.getItems())e.is("element",s)&&!e.hasClass(o)&&(i.addClass(o,e),r.add(e),a=!0)}return a})),e.conversion.for("editingDowncast").add((e=>{function t(){i.change((e=>{for(const t of r.values())e.removeClass(o,t),r.delete(t)}))}e.on("insert",t,{priority:"highest"}),e.on("remove",t,{priority:"highest"}),e.on("attribute",t,{priority:"highest"}),e.on("selection",t,{priority:"highest"})}))}},"./src/ui.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{BalloonPanelView:()=>he.Z,BalloonToolbar:()=>Ee,BlockToolbar:()=>Ve,BodyCollection:()=>l,BoxedEditorUIView:()=>V,ButtonView:()=>d.Z,ColorGridView:()=>P,ColorTileView:()=>f,ContextualBalloon:()=>ue.Z,DropdownButtonView:()=>j.Z,EditorUIView:()=>R,FocusCycler:()=>_.Z,FormHeaderView:()=>W,IconView:()=>q.Z,IframeView:()=>J,InlineEditableUIView:()=>B,InputNumberView:()=>G,InputTextView:()=>K,InputView:()=>U,LabelView:()=>z,LabeledFieldView:()=>Y,ListItemView:()=>oe.Z,ListView:()=>ie.Z,Model:()=>de,Notification:()=>ne,SplitButtonView:()=>C,StickyPanelView:()=>_e,SwitchButtonView:()=>h.Z,Template:()=>n.ZP,ToolbarSeparatorView:()=>ve.Z,ToolbarView:()=>we.Z,TooltipView:()=>be.Z,View:()=>m.Z,ViewCollection:()=>a.Z,addListToDropdown:()=>E.Pm,addToolbarToDropdown:()=>E.up,clickOutsideHandler:()=>o.Z,createDropdown:()=>E.t9,createLabeledDropdown:()=>se,createLabeledInputNumber:()=>te,createLabeledInputText:()=>ee,enableToolbarKeyboardFocus:()=>ye,getLocalizedColorOptions:()=>u,injectCssTransitionDisabler:()=>i,normalizeColorOptions:()=>p,normalizeSingleColorDefinition:()=>g,normalizeToolbarConfig:()=>Ze.Z,submitHandler:()=>r});var o=s("./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js");function i(e){e.set("_isCssTransitionsDisabled",!1),e.disableCssTransitions=()=>{e._isCssTransitionsDisabled=!0},e.enableCssTransitions=()=>{e._isCssTransitionsDisabled=!1},e.extendTemplate({attributes:{class:[e.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}function r({view:e}){e.listenTo(e.element,"submit",((t,s)=>{s.preventDefault(),e.fire("submit")}),{useCapture:!0})}var n=s("./packages/ckeditor5-ui/src/template.js"),a=s("./packages/ckeditor5-ui/src/viewcollection.js"),c=s("./packages/ckeditor5-utils/src/dom/createelement.js");class l extends a.Z{constructor(e,t=[]){super(t),this.locale=e}attachToDom(){this._bodyCollectionContainer=new n.ZP({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection},children:this}).render();let e=document.querySelector(".ck-body-wrapper");e||(e=(0,c.Z)(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(e)),e.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const e=document.querySelector(".ck-body-wrapper");e&&0==e.childElementCount&&e.remove()}}var d=s("./packages/ckeditor5-ui/src/button/buttonview.js"),h=s("./packages/ckeditor5-ui/src/button/switchbuttonview.js");function u(e,t){const s=e.t,o={Black:s("Black"),"Dim grey":s("Dim grey"),Grey:s("Grey"),"Light grey":s("Light grey"),White:s("White"),Red:s("Red"),Orange:s("Orange"),Yellow:s("Yellow"),"Light green":s("Light green"),Green:s("Green"),Aquamarine:s("Aquamarine"),Turquoise:s("Turquoise"),"Light blue":s("Light blue"),Blue:s("Blue"),Purple:s("Purple")};return t.map((e=>{const t=o[e.label];return t&&t!=e.label&&(e.label=t),e}))}function p(e){return e.map(g).filter((e=>!!e))}function g(e){return"string"==typeof e?{model:e,label:e,hasBorder:!1,view:{name:"span",styles:{color:e}}}:{model:e.color,label:e.label||e.color,hasBorder:void 0!==e.hasBorder&&e.hasBorder,view:{name:"span",styles:{color:`${e.color}`}}}}var m=s("./packages/ckeditor5-ui/src/view.js");class f extends d.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("color"),this.set("hasBorder"),this.icon='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path class="ck-icon__fill" d="M16.935 5.328a2 2 0 0 1 0 2.829l-7.778 7.778a2 2 0 0 1-2.829 0L3.5 13.107a1.999 1.999 0 1 1 2.828-2.829l.707.707a1 1 0 0 0 1.414 0l5.658-5.657a2 2 0 0 1 2.828 0z"/><path d="M14.814 6.035 8.448 12.4a1 1 0 0 1-1.414 0l-1.413-1.415A1 1 0 1 0 4.207 12.4l2.829 2.829a1 1 0 0 0 1.414 0l7.778-7.778a1 1 0 1 0-1.414-1.415z"/></svg>',this.extendTemplate({attributes:{style:{backgroundColor:t.to("color")},class:["ck","ck-color-grid__tile",t.if("hasBorder","ck-color-table__color-tile_bordered")]}})}render(){super.render(),this.iconView.fillColor="hsl(0, 0%, 100%)"}}var k=s("./packages/ckeditor5-utils/src/focustracker.js"),_=s("./packages/ckeditor5-ui/src/focuscycler.js"),b=s("./packages/ckeditor5-utils/src/keystrokehandler.js"),w=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),v=s.n(w),y=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/colorgrid/colorgrid.css"),Z={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(y.Z,Z);y.Z.locals;class P extends m.Z{constructor(e,t){super(e);const s=t&&t.colorDefinitions||[],o={};t&&t.columns&&(o.gridTemplateColumns=`repeat( ${t.columns}, 1fr)`),this.set("selectedColor"),this.items=this.createCollection(),this.focusTracker=new k.Z,this.keystrokes=new b.Z,this._focusCycler=new _.Z({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowleft",focusNext:"arrowright"}}),this.items.on("add",((e,t)=>{t.isOn=t.color===this.selectedColor})),s.forEach((e=>{const t=new f;t.set({color:e.color,label:e.label,tooltip:!0,hasBorder:e.options.hasBorder}),t.on("execute",(()=>{this.fire("execute",{value:e.color,hasBorder:e.options.hasBorder,label:e.label})})),this.items.add(t)})),this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:o}}),this.on("change:selectedColor",((e,t,s)=>{for(const e of this.items)e.isOn=e.color===s}))}focus(){this.items.length&&this.items.first.focus()}focusLast(){this.items.length&&this.items.last.focus()}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",((e,t)=>{this.focusTracker.add(t.element)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}}var j=s("./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js"),x=s("./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg"),A=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/splitbutton.css"),T={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(A.Z,T);A.Z.locals;class C extends m.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("class"),this.set("icon"),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke"),this.set("label"),this.set("tabindex",-1),this.set("tooltip"),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(),this.arrowView=this._createArrowView(),this.keystrokes=new b.Z,this.focusTracker=new k.Z,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",t.to("class"),t.if("isVisible","ck-hidden",(e=>!e)),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",((e,t)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),t())})),this.keystrokes.set("arrowleft",((e,t)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),t())}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(){const e=new d.Z;return e.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this),e.extendTemplate({attributes:{class:"ck-splitbutton__action"}}),e.delegate("execute").to(this),e}_createArrowView(){const e=new d.Z,t=e.bindTemplate;return e.icon=x.Z,e.extendTemplate({attributes:{class:"ck-splitbutton__arrow","aria-haspopup":!0,"aria-expanded":t.to("isOn",(e=>String(e)))}}),e.bind("isEnabled").to(this),e.delegate("execute").to(this,"open"),e}}var E=s("./packages/ckeditor5-ui/src/dropdown/utils.js"),S=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/editorui/editorui.css"),O={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(S.Z,O);S.Z.locals;class R extends m.Z{constructor(e){super(e),this.body=new l(e)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}var M=s("./packages/ckeditor5-utils/src/uid.js"),N=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/label/label.css"),I={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(N.Z,I);N.Z.locals;class z extends m.Z{constructor(e){super(e),this.set("text"),this.set("for"),this.id=`ck-editor__label_${(0,M.Z)()}`;const t=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:t.to("for")},children:[{text:t.to("text")}]})}}class V extends R{constructor(e){super(e),this.top=this.createCollection(),this.main=this.createCollection(),this._voiceLabelView=this._createVoiceLabel(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-editor","ck-rounded-corners"],role:"application",dir:e.uiLanguageDirection,lang:e.uiLanguage,"aria-labelledby":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:"div",attributes:{class:["ck","ck-editor__top","ck-reset_all"],role:"presentation"},children:this.top},{tag:"div",attributes:{class:["ck","ck-editor__main"],role:"presentation"},children:this.main}]})}_createVoiceLabel(){const e=this.t,t=new z;return t.text=e("Rich Text Editor"),t.extendTemplate({attributes:{class:"ck-voice-label"}}),t}}class D extends m.Z{constructor(e,t,s){super(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:e.contentLanguage,dir:e.contentLanguageDirection}}),this.name=null,this.set("isFocused",!1),this._editableElement=s,this._hasExternalElement=!!this._editableElement,this._editingView=t}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",(()=>this._updateIsFocusedClasses())),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}_updateIsFocusedClasses(){const e=this._editingView;function t(t){e.change((s=>{const o=e.document.getRoot(t.name);s.addClass(t.isFocused?"ck-focused":"ck-blurred",o),s.removeClass(t.isFocused?"ck-blurred":"ck-focused",o)}))}e.isRenderingInProgress?function s(o){e.once("change:isRenderingInProgress",((e,i,r)=>{r?s(o):t(o)}))}(this):t(this)}}class B extends D{constructor(e,t,s){super(e,t,s),this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}})}render(){super.render();const e=this._editingView,t=this.t;e.change((s=>{const o=e.document.getRoot(this.name);s.setAttribute("aria-label",t("Rich Text Editor, %0",this.name),o)}))}}var F=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/formheader/formheader.css"),L={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(F.Z,L);F.Z.locals;class W extends m.Z{constructor(e,t={}){super(e);const s=this.bindTemplate;this.set("label",t.label||""),this.set("class",t.class||null),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",s.to("class")]},children:this.children});const o=new m.Z(e);o.setTemplate({tag:"span",attributes:{class:["ck","ck-form__header__label"]},children:[{text:s.to("label")}]}),this.children.add(o)}}var q=s("./packages/ckeditor5-ui/src/icon/iconview.js"),$=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/input/input.css"),H={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()($.Z,H);$.Z.locals;class U extends m.Z{constructor(e){super(e),this.set("value"),this.set("id"),this.set("placeholder"),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById"),this.focusTracker=new k.Z,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0),this.set("inputMode","text");const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",t.if("isFocused","ck-input_focused"),t.if("isEmpty","ck-input-text_empty"),t.if("hasError","ck-error")],id:t.to("id"),placeholder:t.to("placeholder"),readonly:t.to("isReadOnly"),inputmode:t.to("inputMode"),"aria-invalid":t.if("hasError",!0),"aria-describedby":t.to("ariaDescribedById")},on:{input:t.to(((...e)=>{this.fire("input",...e),this._updateIsEmpty()})),change:t.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",((e,t,s)=>{this._setDomElementValue(s),this._updateIsEmpty()}))}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(e){this.element.value=e||0===e?e:""}}class K extends U{constructor(e){super(e),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}class G extends U{constructor(e,{min:t,max:s,step:o}={}){super(e);const i=this.bindTemplate;this.set("min",t),this.set("max",s),this.set("step",o),this.extendTemplate({attributes:{type:"number",class:["ck-input-number"],min:i.to("min"),max:i.to("max"),step:i.to("step")}})}}class J extends m.Z{constructor(e){super(e);const t=this.bindTemplate;this.setTemplate({tag:"iframe",attributes:{class:["ck","ck-reset_all"],sandbox:"allow-same-origin allow-scripts"},on:{load:t.to("loaded")}})}render(){return new Promise((e=>{this.on("loaded",e),super.render()}))}}var X=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css"),Q={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(X.Z,Q);X.Z.locals;class Y extends m.Z{constructor(e,t){super(e);const s=`ck-labeled-field-view-${(0,M.Z)()}`,o=`ck-labeled-field-view-status-${(0,M.Z)()}`;this.fieldView=t(this,s,o),this.set("label"),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class"),this.set("placeholder"),this.labelView=this._createLabelView(s),this.statusView=this._createStatusView(o),this.bind("_statusText").to(this,"errorText",this,"infoText",((e,t)=>e||t));const i=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",i.to("class"),i.if("isEnabled","ck-disabled",(e=>!e)),i.if("isEmpty","ck-labeled-field-view_empty"),i.if("isFocused","ck-labeled-field-view_focused"),i.if("placeholder","ck-labeled-field-view_placeholder"),i.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:[this.fieldView,this.labelView]},this.statusView]})}_createLabelView(e){const t=new z(this.locale);return t.for=e,t.bind("text").to(this,"label"),t}_createStatusView(e){const t=new m.Z(this.locale),s=this.bindTemplate;return t.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",s.if("errorText","ck-labeled-field-view__status_error"),s.if("_statusText","ck-hidden",(e=>!e))],id:e,role:s.if("errorText","alert")},children:[{text:s.to("_statusText")}]}),t}focus(){this.fieldView.focus()}}function ee(e,t,s){const o=new K(e.locale);return o.set({id:t,ariaDescribedById:s}),o.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),o.bind("hasError").to(e,"errorText",(e=>!!e)),o.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(o),o}function te(e,t,s){const o=new G(e.locale);return o.set({id:t,ariaDescribedById:s,inputMode:"numeric"}),o.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),o.bind("hasError").to(e,"errorText",(e=>!!e)),o.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(o),o}function se(e,t,s){const o=(0,E.t9)(e.locale);return o.set({id:t,ariaDescribedById:s}),o.bind("isEnabled").to(e),o}var oe=s("./packages/ckeditor5-ui/src/list/listitemview.js"),ie=s("./packages/ckeditor5-ui/src/list/listview.js"),re=s("./packages/ckeditor5-core/src/contextplugin.js");class ne extends re.Z{static get pluginName(){return"Notification"}init(){this.on("show:warning",((e,t)=>{window.alert(t.message)}),{priority:"lowest"})}showSuccess(e,t={}){this._showNotification({message:e,type:"success",namespace:t.namespace,title:t.title})}showInfo(e,t={}){this._showNotification({message:e,type:"info",namespace:t.namespace,title:t.title})}showWarning(e,t={}){this._showNotification({message:e,type:"warning",namespace:t.namespace,title:t.title})}_showNotification(e){const t=`show:${e.type}`+(e.namespace?`:${e.namespace}`:"");this.fire(t,{message:e.message,type:e.type,title:e.title||""})}}var ae=s("./packages/ckeditor5-utils/src/mix.js"),ce=s("./packages/ckeditor5-utils/src/observablemixin.js"),le=s("./node_modules/lodash-es/assignIn.js");class de{constructor(e,t){t&&(0,le.Z)(this,t),e&&this.set(e)}}(0,ae.Z)(de,ce.Z);var he=s("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),ue=s("./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js"),pe=s("./packages/ckeditor5-utils/src/dom/global.js"),ge=s("./packages/ckeditor5-utils/src/dom/tounit.js"),me=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/stickypanel.css"),fe={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(me.Z,fe);me.Z.locals;const ke=(0,ge.Z)("px");class _e extends m.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("isActive",!1),this.set("isSticky",!1),this.set("limiterElement",null),this.set("limiterBottomOffset",50),this.set("viewportTopOffset",0),this.set("_marginLeft",null),this.set("_isStickyToTheLimiter",!1),this.set("_hasViewportTopOffset",!1),this.content=this.createCollection(),this._contentPanelPlaceholder=new n.ZP({tag:"div",attributes:{class:["ck","ck-sticky-panel__placeholder"],style:{display:t.to("isSticky",(e=>e?"block":"none")),height:t.to("isSticky",(e=>e?ke(this._panelRect.height):null))}}}).render(),this._contentPanel=new n.ZP({tag:"div",attributes:{class:["ck","ck-sticky-panel__content",t.if("isSticky","ck-sticky-panel__content_sticky"),t.if("_isStickyToTheLimiter","ck-sticky-panel__content_sticky_bottom-limit")],style:{width:t.to("isSticky",(e=>e?ke(this._contentPanelPlaceholder.getBoundingClientRect().width):null)),top:t.to("_hasViewportTopOffset",(e=>e?ke(this.viewportTopOffset):null)),bottom:t.to("_isStickyToTheLimiter",(e=>e?ke(this.limiterBottomOffset):null)),marginLeft:t.to("_marginLeft")}},children:this.content}).render(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-sticky-panel"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render(),this._checkIfShouldBeSticky(),this.listenTo(pe.Z.window,"scroll",(()=>{this._checkIfShouldBeSticky()})),this.listenTo(this,"change:isActive",(()=>{this._checkIfShouldBeSticky()}))}_checkIfShouldBeSticky(){const e=this._panelRect=this._contentPanel.getBoundingClientRect();let t;this.limiterElement?(t=this._limiterRect=this.limiterElement.getBoundingClientRect(),this.isSticky=this.isActive&&t.top<this.viewportTopOffset&&this._panelRect.height+this.limiterBottomOffset<t.height):this.isSticky=!1,this.isSticky?(this._isStickyToTheLimiter=t.bottom<e.height+this.limiterBottomOffset+this.viewportTopOffset,this._hasViewportTopOffset=!this._isStickyToTheLimiter&&!!this.viewportTopOffset,this._marginLeft=this._isStickyToTheLimiter?null:ke(-pe.Z.window.scrollX)):(this._isStickyToTheLimiter=!1,this._hasViewportTopOffset=!1,this._marginLeft=null)}}var be=s("./packages/ckeditor5-ui/src/tooltip/tooltipview.js"),we=s("./packages/ckeditor5-ui/src/toolbar/toolbarview.js"),ve=s("./packages/ckeditor5-ui/src/toolbar/toolbarseparatorview.js");function ye({origin:e,originKeystrokeHandler:t,originFocusTracker:s,toolbar:o,beforeFocus:i,afterBlur:r}){s.add(o.element),t.set("Alt+F10",((e,t)=>{s.isFocused&&!o.focusTracker.isFocused&&(i&&i(),o.focus(),t())})),o.keystrokes.set("Esc",((t,s)=>{o.focusTracker.isFocused&&(e.focus(),r&&r(),s())}))}var Ze=s("./packages/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js"),Pe=s("./packages/ckeditor5-core/src/plugin.js"),je=s("./packages/ckeditor5-utils/src/dom/rect.js"),xe=s("./node_modules/lodash-es/debounce.js"),Ae=s("./packages/ckeditor5-utils/src/dom/resizeobserver.js"),Te=s("./packages/ckeditor5-utils/src/index.js");const Ce=(0,ge.Z)("px");class Ee extends Pe.Z{static get pluginName(){return"BalloonToolbar"}static get requires(){return[ue.Z]}constructor(e){super(e),this._balloonConfig=(0,Ze.Z)(e.config.get("balloonToolbar")),this.toolbarView=this._createToolbarView(),this.focusTracker=new k.Z,e.ui.once("ready",(()=>{this.focusTracker.add(e.ui.getEditableElement()),this.focusTracker.add(this.toolbarView.element)})),this._resizeObserver=null,this._balloon=e.plugins.get(ue.Z),this._fireSelectionChangeDebounced=(0,xe.Z)((()=>this.fire("_selectionChangeDebounced")),200),this.decorate("show")}init(){const e=this.editor,t=e.model.document.selection;this.listenTo(this.focusTracker,"change:isFocused",((e,t,s)=>{const o=this._balloon.visibleView===this.toolbarView;!s&&o?this.hide():s&&this.show()})),this.listenTo(t,"change:range",((e,s)=>{(s.directChange||t.isCollapsed)&&this.hide(),this._fireSelectionChangeDebounced()})),this.listenTo(this,"_selectionChangeDebounced",(()=>{this.editor.editing.view.document.isFocused&&this.show()})),this._balloonConfig.shouldNotGroupWhenFull||this.listenTo(e,"ready",(()=>{const t=e.ui.view.editable.element;this._resizeObserver=new Ae.Z(t,(()=>{this.toolbarView.maxWidth=Ce(.9*new je.Z(t).width)}))})),this.listenTo(this.toolbarView,"groupedItemsUpdate",(()=>{this._updatePosition()}))}afterInit(){const e=this.editor.ui.componentFactory;this.toolbarView.fillFromConfig(this._balloonConfig,e)}_createToolbarView(){const e=!this._balloonConfig.shouldNotGroupWhenFull,t=new we.Z(this.editor.locale,{shouldGroupWhenFull:e,isFloating:!0});return t.render(),t}show(){const e=this.editor,t=e.model.document.selection,s=e.model.schema;this._balloon.hasView(this.toolbarView)||t.isCollapsed||function(e,t){if(1===e.rangeCount)return!1;return[...e.getRanges()].every((e=>{const s=e.getContainedElement();return s&&t.isSelectable(s)}))}(t,s)||Array.from(this.toolbarView.items).every((e=>void 0!==e.isEnabled&&!e.isEnabled))||(this.listenTo(this.editor.ui,"update",(()=>{this._updatePosition()})),this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"}))}hide(){this._balloon.hasView(this.toolbarView)&&(this.stopListening(this.editor.ui,"update"),this._balloon.remove(this.toolbarView))}_getBalloonPositionData(){const e=this.editor.editing.view,t=e.document,s=t.selection,o=t.selection.isBackward;return{target:()=>{const t=o?s.getFirstRange():s.getLastRange(),i=je.Z.getDomRangeRects(e.domConverter.viewRangeToDom(t));return o?i[0]:(i.length>1&&0===i[i.length-1].width&&i.pop(),i[i.length-1])},positions:this._getBalloonPositions(o)}}_updatePosition(){this._balloon.updatePosition(this._getBalloonPositionData())}destroy(){super.destroy(),this.stopListening(),this._fireSelectionChangeDebounced.cancel(),this.toolbarView.destroy(),this.focusTracker.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_getBalloonPositions(e){const t=Te.OB.isSafari&&Te.OB.isiOS?(0,he.M)({verticalOffset:Math.max(he.Z.arrowVerticalOffset,Math.round(20/Te.CO.window.visualViewport.scale))}):he.Z.defaultPositions;return e?[t.northWestArrowSouth,t.northWestArrowSouthWest,t.northWestArrowSouthEast,t.northWestArrowSouthMiddleEast,t.northWestArrowSouthMiddleWest,t.southWestArrowNorth,t.southWestArrowNorthWest,t.southWestArrowNorthEast,t.southWestArrowNorthMiddleWest,t.southWestArrowNorthMiddleEast]:[t.southEastArrowNorth,t.southEastArrowNorthEast,t.southEastArrowNorthWest,t.southEastArrowNorthMiddleEast,t.southEastArrowNorthMiddleWest,t.northEastArrowSouth,t.northEastArrowSouthEast,t.northEastArrowSouthWest,t.northEastArrowSouthMiddleEast,t.northEastArrowSouthMiddleWest]}}var Se=s("./packages/ckeditor5-core/theme/icons/pilcrow.svg"),Oe=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css"),Re={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(Oe.Z,Re);Oe.Z.locals;const Me=(0,ge.Z)("px");class Ne extends d.Z{constructor(e){super(e);const t=this.bindTemplate;this.isVisible=!1,this.isToggleable=!0,this.set("top",0),this.set("left",0),this.extendTemplate({attributes:{class:"ck-block-toolbar-button",style:{top:t.to("top",(e=>Me(e))),left:t.to("left",(e=>Me(e)))}}})}}var Ie=s("./packages/ckeditor5-utils/src/dom/position.js");const ze=(0,ge.Z)("px");class Ve extends Pe.Z{static get pluginName(){return"BlockToolbar"}constructor(e){super(e),this._blockToolbarConfig=(0,Ze.Z)(this.editor.config.get("blockToolbar")),this.toolbarView=this._createToolbarView(),this.panelView=this._createPanelView(),this.buttonView=this._createButtonView(),this._resizeObserver=null,(0,o.Z)({emitter:this.panelView,contextElements:[this.panelView.element,this.buttonView.element],activator:()=>this.panelView.isVisible,callback:()=>this._hidePanel()})}init(){const e=this.editor;this.listenTo(e.model.document.selection,"change:range",((e,t)=>{t.directChange&&this._hidePanel()})),this.listenTo(e.ui,"update",(()=>this._updateButton())),this.listenTo(e,"change:isReadOnly",(()=>this._updateButton()),{priority:"low"}),this.listenTo(e.ui.focusTracker,"change:isFocused",(()=>this._updateButton())),this.listenTo(this.buttonView,"change:isVisible",((e,t,s)=>{s?this.buttonView.listenTo(window,"resize",(()=>this._updateButton())):(this.buttonView.stopListening(window,"resize"),this._hidePanel())}))}afterInit(){const e=this.editor.ui.componentFactory,t=this._blockToolbarConfig;this.toolbarView.fillFromConfig(t,e);for(const e of this.toolbarView.items)e.on("execute",(()=>this._hidePanel(!0)),{priority:"high"});t.shouldNotGroupWhenFull||this.listenTo(this.editor,"ready",(()=>{const e=this.editor.ui.view.editable.element;this._resizeObserver=new Ae.Z(e,(()=>{this.toolbarView.maxWidth=this._getToolbarMaxWidth()}))}))}destroy(){super.destroy(),this.panelView.destroy(),this.buttonView.destroy(),this.toolbarView.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_createToolbarView(){const e=!this._blockToolbarConfig.shouldNotGroupWhenFull,t=new we.Z(this.editor.locale,{shouldGroupWhenFull:e,isFloating:!0});return t.focusTracker.on("change:isFocused",((e,t,s)=>{s||this._hidePanel()})),t}_createPanelView(){const e=this.editor,t=new he.Z(e.locale);return t.content.add(this.toolbarView),t.class="ck-toolbar-container",e.ui.view.body.add(t),e.ui.focusTracker.add(t.element),this.toolbarView.keystrokes.set("Esc",((e,t)=>{this._hidePanel(!0),t()})),t}_createButtonView(){const e=this.editor,t=e.t,s=new Ne(e.locale);return s.set({label:t("Edit block"),icon:Se.Z,withText:!1}),s.bind("isOn").to(this.panelView,"isVisible"),s.bind("tooltip").to(this.panelView,"isVisible",(e=>!e)),this.listenTo(s,"execute",(()=>{this.panelView.isVisible?this._hidePanel(!0):this._showPanel()})),e.ui.view.body.add(s),e.ui.focusTracker.add(s.element),s}_updateButton(){const e=this.editor,t=e.model,s=e.editing.view;if(!e.ui.focusTracker.isFocused)return void this._hideButton();if(e.isReadOnly)return void this._hideButton();const o=Array.from(t.document.selection.getSelectedBlocks())[0];if(!o||Array.from(this.toolbarView.items).every((e=>!e.isEnabled)))return void this._hideButton();const i=s.domConverter.mapViewToDom(e.editing.mapper.toViewElement(o));this.buttonView.isVisible=!0,this._attachButtonToElement(i),this.panelView.isVisible&&this._showPanel()}_hideButton(){this.buttonView.isVisible=!1}_showPanel(){const e=this.panelView.isVisible;this.panelView.show(),this.toolbarView.maxWidth=this._getToolbarMaxWidth(),this.panelView.pin({target:this.buttonView.element,limiter:this.editor.ui.getEditableElement()}),e||this.toolbarView.items.get(0).focus()}_hidePanel(e){this.panelView.isVisible=!1,e&&this.editor.editing.view.focus()}_attachButtonToElement(e){const t=window.getComputedStyle(e),s=new je.Z(this.editor.ui.getEditableElement()),o=parseInt(t.paddingTop,10),i=parseInt(t.lineHeight,10)||1.2*parseInt(t.fontSize,10),r=(0,Ie.x)({element:this.buttonView.element,target:e,positions:[(e,t)=>{let r;return r="ltr"===this.editor.locale.uiLanguageDirection?s.left-t.width:s.right,{top:e.top+o+(i-t.height)/2,left:r}}]});this.buttonView.top=r.top,this.buttonView.left=r.left}_getToolbarMaxWidth(){const e=this.editor.ui.view.editable.element,t=new je.Z(e),s=new je.Z(this.buttonView.element),o="rtl"===this.editor.locale.uiLanguageDirection?s.left-t.right+s.width:t.left-s.left;return ze(t.width+o)}}},"./src/undo.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Undo:()=>f,UndoEditing:()=>h,UndoUi:()=>m});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-engine/src/model/operation/transform.js");class n extends i.Z{constructor(e){super(e),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this.listenTo(e.data,"set",((e,t)=>{t[1]={...t[1]};const s=t[1];s.batchType||(s.batchType={isUndoable:!1})}),{priority:"high"}),this.listenTo(e.data,"set",((e,t)=>{t[1].batchType.isUndoable||this.clearStack()}))}refresh(){this.isEnabled=this._stack.length>0}addBatch(e){const t=this.editor.model.document.selection,s={ranges:t.hasOwnRange?Array.from(t.getRanges()):[],isBackward:t.isBackward};this._stack.push({batch:e,selection:s}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(e,t,s){const o=this.editor.model,i=o.document,r=[],n=e.map((e=>e.getTransformedByOperations(s))),l=n.flat();for(const e of n){const t=e.filter((e=>e.root!=i.graveyard)).filter((e=>!c(e,l)));t.length&&(a(t),r.push(t[0]))}r.length&&o.change((e=>{e.setSelection(r,{backward:t})}))}_undo(e,t){const s=this.editor.model,o=s.document;this._createdBatches.add(t);const i=e.operations.slice().filter((e=>e.isDocumentOperation));i.reverse();for(const e of i){const i=e.baseVersion+1,n=Array.from(o.history.getOperations(i)),a=(0,r.R)([e.getReversed()],n,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(const i of a)t.addOperation(i),s.applyOperation(i),o.history.setOperationAsUndone(e,i)}}}function a(e){e.sort(((e,t)=>e.start.isBefore(t.start)?-1:1));for(let t=1;t<e.length;t++){const s=e[t-1].getJoined(e[t],!0);s&&(t--,e.splice(t,2,s))}}function c(e,t){return t.some((t=>t!==e&&t.containsRange(e,!0)))}class l extends n{execute(e=null){const t=e?this._stack.findIndex((t=>t.batch==e)):this._stack.length-1,s=this._stack.splice(t,1)[0],o=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(o,(()=>{this._undo(s.batch,o);const e=this.editor.model.document.history.getOperations(s.batch.baseVersion);this._restoreSelection(s.selection.ranges,s.selection.isBackward,e),this.fire("revert",s.batch,o)})),this.refresh()}}class d extends n{execute(){const e=this._stack.pop(),t=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(t,(()=>{const s=e.batch.operations[e.batch.operations.length-1].baseVersion+1,o=this.editor.model.document.history.getOperations(s);this._restoreSelection(e.selection.ranges,e.selection.isBackward,o),this._undo(e.batch,t)})),this.refresh()}}class h extends o.Z{static get pluginName(){return"UndoEditing"}constructor(e){super(e),this._batchRegistry=new WeakSet}init(){const e=this.editor;this._undoCommand=new l(e),this._redoCommand=new d(e),e.commands.add("undo",this._undoCommand),e.commands.add("redo",this._redoCommand),this.listenTo(e.model,"applyOperation",((e,t)=>{const s=t[0];if(!s.isDocumentOperation)return;const o=s.batch,i=this._redoCommand._createdBatches.has(o),r=this._undoCommand._createdBatches.has(o);this._batchRegistry.has(o)||(this._batchRegistry.add(o),o.isUndoable&&(i?this._undoCommand.addBatch(o):r||(this._undoCommand.addBatch(o),this._redoCommand.clearStack())))}),{priority:"highest"}),this.listenTo(this._undoCommand,"revert",((e,t,s)=>{this._redoCommand.addBatch(s)})),e.keystrokes.set("CTRL+Z","undo"),e.keystrokes.set("CTRL+Y","redo"),e.keystrokes.set("CTRL+SHIFT+Z","redo")}}var u=s("./packages/ckeditor5-ui/src/button/buttonview.js");const p='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m5.042 9.367 2.189 1.837a.75.75 0 0 1-.965 1.149l-3.788-3.18a.747.747 0 0 1-.21-.284.75.75 0 0 1 .17-.945L6.23 4.762a.75.75 0 1 1 .964 1.15L4.863 7.866h8.917A.75.75 0 0 1 14 7.9a4 4 0 1 1-1.477 7.718l.344-1.489a2.5 2.5 0 1 0 1.094-4.73l.008-.032H5.042z"/></svg>',g='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m14.958 9.367-2.189 1.837a.75.75 0 0 0 .965 1.149l3.788-3.18a.747.747 0 0 0 .21-.284.75.75 0 0 0-.17-.945L13.77 4.762a.75.75 0 1 0-.964 1.15l2.331 1.955H6.22A.75.75 0 0 0 6 7.9a4 4 0 1 0 1.477 7.718l-.344-1.489A2.5 2.5 0 1 1 6.039 9.4l-.008-.032h8.927z"/></svg>';class m extends o.Z{static get pluginName(){return"UndoUI"}init(){const e=this.editor,t=e.locale,s=e.t,o="ltr"==t.uiLanguageDirection?p:g,i="ltr"==t.uiLanguageDirection?g:p;this._addButton("undo",s("Undo"),"CTRL+Z",o),this._addButton("redo",s("Redo"),"CTRL+Y",i)}_addButton(e,t,s,o){const i=this.editor;i.ui.componentFactory.add(e,(r=>{const n=i.commands.get(e),a=new u.Z(r);return a.set({label:t,icon:o,keystroke:s,tooltip:!0}),a.bind("isEnabled").to(n,"isEnabled"),this.listenTo(a,"execute",(()=>{i.execute(e),i.editing.view.focus()})),a}))}}class f extends o.Z{static get requires(){return[h,m]}static get pluginName(){return"Undo"}}},"./src/upload.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Base64UploadAdapter:()=>k,FileDialogButtonView:()=>m,FileRepository:()=>h,SimpleUploadAdapter:()=>b});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/pendingactions.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-utils/src/observablemixin.js"),a=s("./packages/ckeditor5-utils/src/collection.js"),c=s("./packages/ckeditor5-utils/src/mix.js");class l{constructor(){const e=new window.FileReader;this._reader=e,this._data=void 0,this.set("loaded",0),e.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(e){const t=this._reader;return this.total=e.size,new Promise(((s,o)=>{t.onload=()=>{const e=t.result;this._data=e,s(e)},t.onerror=()=>{o("error")},t.onabort=()=>{o("aborted")},this._reader.readAsDataURL(e)}))}abort(){this._reader.abort()}}(0,c.Z)(l,n.Z);var d=s("./packages/ckeditor5-utils/src/uid.js");class h extends o.Z{static get pluginName(){return"FileRepository"}static get requires(){return[i.Z]}init(){this.loaders=new a.Z,this.loaders.on("add",(()=>this._updatePendingAction())),this.loaders.on("remove",(()=>this._updatePendingAction())),this._loadersMap=new Map,this._pendingAction=null,this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((e,t)=>t?e/t*100:0))}getLoader(e){return this._loadersMap.get(e)||null}createLoader(e){if(!this.createUploadAdapter)return(0,r.KE)("filerepository-no-upload-adapter"),null;const t=new u(Promise.resolve(e),this.createUploadAdapter);return this.loaders.add(t),this._loadersMap.set(e,t),e instanceof Promise&&t.file.then((e=>{this._loadersMap.set(e,t)})).catch((()=>{})),t.on("change:uploaded",(()=>{let e=0;for(const t of this.loaders)e+=t.uploaded;this.uploaded=e})),t.on("change:uploadTotal",(()=>{let e=0;for(const t of this.loaders)t.uploadTotal&&(e+=t.uploadTotal);this.uploadTotal=e})),t}destroyLoader(e){const t=e instanceof u?e:this.getLoader(e);t._destroy(),this.loaders.remove(t),this._loadersMap.forEach(((e,s)=>{e===t&&this._loadersMap.delete(s)}))}_updatePendingAction(){const e=this.editor.plugins.get(i.Z);if(this.loaders.length){if(!this._pendingAction){const t=this.editor.t,s=e=>`${t("Upload in progress")} ${parseInt(e)}%.`;this._pendingAction=e.add(s(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",s)}}else e.remove(this._pendingAction),this._pendingAction=null}}(0,c.Z)(h,n.Z);class u{constructor(e,t){this.id=(0,d.Z)(),this._filePromiseWrapper=this._createFilePromiseWrapper(e),this._adapter=t(this),this._reader=new l,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((e,t)=>t?e/t*100:0)),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then((e=>this._filePromiseWrapper?e:null)):Promise.resolve(null)}get data(){return this._reader.data}read(){if("idle"!=this.status)throw new r.ZP("filerepository-read-wrong-status",this);return this.status="reading",this.file.then((e=>this._reader.read(e))).then((e=>{if("reading"!==this.status)throw this.status;return this.status="idle",e})).catch((e=>{if("aborted"===e)throw this.status="aborted","aborted";throw this.status="error",this._reader.error?this._reader.error:e}))}upload(){if("idle"!=this.status)throw new r.ZP("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then((()=>this._adapter.upload())).then((e=>(this.uploadResponse=e,this.status="idle",e))).catch((e=>{if("aborted"===this.status)throw"aborted";throw this.status="error",e}))}abort(){const e=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?"reading"==e?this._reader.abort():"uploading"==e&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch((()=>{})),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(e){const t={};return t.promise=new Promise(((s,o)=>{t.rejecter=o,t.isFulfilled=!1,e.then((e=>{t.isFulfilled=!0,s(e)})).catch((e=>{t.isFulfilled=!0,o(e)}))})),t}}(0,c.Z)(u,n.Z);var p=s("./packages/ckeditor5-ui/src/button/buttonview.js"),g=s("./packages/ckeditor5-ui/src/view.js");class m extends g.Z{constructor(e){super(e),this.buttonView=new p.Z(e),this._fileInputView=new f(e),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.setTemplate({tag:"span",attributes:{class:"ck-file-dialog-button"},children:[this.buttonView,this._fileInputView]}),this.buttonView.on("execute",(()=>{this._fileInputView.open()}))}focus(){this.buttonView.focus()}}class f extends g.Z{constructor(e){super(e),this.set("acceptedType"),this.set("allowMultipleFiles",!1);const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:t.to("acceptedType"),multiple:t.to("allowMultipleFiles")},on:{change:t.to((()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""}))}})}open(){this.element.click()}}class k extends o.Z{static get requires(){return[h]}static get pluginName(){return"Base64UploadAdapter"}init(){this.editor.plugins.get(h).createUploadAdapter=e=>new _(e)}}class _{constructor(e){this.loader=e}upload(){return new Promise(((e,t)=>{const s=this.reader=new window.FileReader;s.addEventListener("load",(()=>{e({default:s.result})})),s.addEventListener("error",(e=>{t(e)})),s.addEventListener("abort",(()=>{t()})),this.loader.file.then((e=>{s.readAsDataURL(e)}))}))}abort(){this.reader.abort()}}class b extends o.Z{static get requires(){return[h]}static get pluginName(){return"SimpleUploadAdapter"}init(){const e=this.editor.config.get("simpleUpload");e&&(e.uploadUrl?this.editor.plugins.get(h).createUploadAdapter=t=>new w(t,e):(0,r.KE)("simple-upload-adapter-missing-uploadurl"))}}class w{constructor(e,t){this.loader=e,this.options=t}upload(){return this.loader.file.then((e=>new Promise(((t,s)=>{this._initRequest(),this._initListeners(t,s,e),this._sendRequest(e)}))))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const e=this.xhr=new XMLHttpRequest;e.open("POST",this.options.uploadUrl,!0),e.responseType="json"}_initListeners(e,t,s){const o=this.xhr,i=this.loader,r=`Couldn't upload file: ${s.name}.`;o.addEventListener("error",(()=>t(r))),o.addEventListener("abort",(()=>t())),o.addEventListener("load",(()=>{const s=o.response;if(!s||s.error)return t(s&&s.error&&s.error.message?s.error.message:r);const i=s.url?{default:s.url}:s.urls;e({...s,urls:i})})),o.upload&&o.upload.addEventListener("progress",(e=>{e.lengthComputable&&(i.uploadTotal=e.total,i.uploaded=e.loaded)}))}_sendRequest(e){const t=this.options.headers||{},s=this.options.withCredentials||!1;for(const e of Object.keys(t))this.xhr.setRequestHeader(e,t[e]);this.xhr.withCredentials=s;const o=new FormData;o.append("upload",e),this.xhr.send(o)}}},"./src/utils.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{CKEditorError:()=>o.Bb,Collection:()=>o.FE,DomEmitterMixin:()=>o.Xu,ElementReplacer:()=>o.a6,EmitterMixin:()=>o.ln,FocusTracker:()=>o.Rh,KeystrokeHandler:()=>o.VD,Locale:()=>o.go,ObservableMixin:()=>o.Re,Rect:()=>o.UL,ResizeObserver:()=>o.do,createElement:()=>o.az,diff:()=>o.Hg,env:()=>o.OB,first:()=>o.Ps,getCode:()=>o.Cq,getDataFromElement:()=>o.yy,getEnvKeystrokeText:()=>o.XU,getLanguageDirection:()=>o.j9,getLocalizedArrowKeyCodeDirection:()=>o.mA,global:()=>o.CO,isArrowKeyCode:()=>o.dj,isForwardArrowKeyCode:()=>o.Zt,isVisible:()=>o.pn,keyCodes:()=>o.Do,logError:()=>o.H,logWarning:()=>o.KE,mix:()=>o.CD,parseKeystroke:()=>o.Zz,priorities:()=>o.tA,scrollAncestorsToShowTarget:()=>o.F0,scrollViewportToShowTarget:()=>o.mR,setDataInElement:()=>o.jS,toArray:()=>o.qo,toMap:()=>o.qL,toUnit:()=>o.nn,uid:()=>o.hQ,version:()=>o.i8});var o=s("./packages/ckeditor5-utils/src/index.js")},"./src/widget.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{WIDGET_CLASS_NAME:()=>c.s4,WIDGET_SELECTED_CLASS_NAME:()=>c.Uo,Widget:()=>o.Z,WidgetResize:()=>S,WidgetToolbarRepository:()=>d,WidgetTypeAround:()=>O.Z,findOptimalInsertionRange:()=>c.KT,getLabel:()=>c.id,isWidget:()=>c.Qd,setHighlightHandling:()=>c.em,setLabel:()=>c.l6,toWidget:()=>c.XC,toWidgetEditable:()=>c.sC,viewToModelPositionOutsideModelElement:()=>c.$n});var o=s("./packages/ckeditor5-widget/src/widget.js"),i=s("./packages/ckeditor5-core/src/plugin.js"),r=s("./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js"),n=s("./packages/ckeditor5-ui/src/toolbar/toolbarview.js"),a=s("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),c=s("./packages/ckeditor5-widget/src/utils.js"),l=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class d extends i.Z{static get requires(){return[r.Z]}static get pluginName(){return"WidgetToolbarRepository"}init(){const e=this.editor;if(e.plugins.has("BalloonToolbar")){const t=e.plugins.get("BalloonToolbar");this.listenTo(t,"show",(t=>{(function(e){const t=e.getSelectedElement();return!(!t||!(0,c.Qd)(t))})(e.editing.view.document.selection)&&t.stop()}),{priority:"high"})}this._toolbarDefinitions=new Map,this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",(()=>{this._updateToolbarsVisibility()})),this.listenTo(e.ui,"update",(()=>{this._updateToolbarsVisibility()})),this.listenTo(e.ui.focusTracker,"change:isFocused",(()=>{this._updateToolbarsVisibility()}),{priority:"low"})}destroy(){super.destroy();for(const e of this._toolbarDefinitions.values())e.view.destroy()}register(e,{ariaLabel:t,items:s,getRelatedElement:o,balloonClassName:i="ck-toolbar-container"}){if(!s.length)return void(0,l.KE)("widget-toolbar-no-items",{toolbarId:e});const r=this.editor,a=r.t,c=new n.Z(r.locale);if(c.ariaLabel=t||a("Widget toolbar"),this._toolbarDefinitions.has(e))throw new l.ZP("widget-toolbar-duplicated",this,{toolbarId:e});c.fillFromConfig(s,r.ui.componentFactory),this._toolbarDefinitions.set(e,{view:c,getRelatedElement:o,balloonClassName:i})}_updateToolbarsVisibility(){let e=0,t=null,s=null;for(const o of this._toolbarDefinitions.values()){const i=o.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&i)if(this.editor.ui.focusTracker.isFocused){const r=i.getAncestors().length;r>e&&(e=r,t=i,s=o)}else this._isToolbarVisible(o)&&this._hideToolbar(o);else this._isToolbarInBalloon(o)&&this._hideToolbar(o)}s&&this._showToolbar(s,t)}_hideToolbar(e){this._balloon.remove(e.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(e,t){this._isToolbarVisible(e)?h(this.editor,t):this._isToolbarInBalloon(e)||(this._balloon.add({view:e.view,position:u(this.editor,t),balloonClassName:e.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",(()=>{for(const e of this._toolbarDefinitions.values())if(this._isToolbarVisible(e)){const t=e.getRelatedElement(this.editor.editing.view.document.selection);h(this.editor,t)}})))}_isToolbarVisible(e){return this._balloon.visibleView===e.view}_isToolbarInBalloon(e){return this._balloon.hasView(e.view)}}function h(e,t){const s=e.plugins.get("ContextualBalloon"),o=u(e,t);s.updatePosition(o)}function u(e,t){const s=e.editing.view,o=a.Z.defaultPositions;return{target:s.domConverter.mapViewToDom(t),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,o.viewportStickyNorth]}}var p=s("./packages/ckeditor5-ui/src/template.js"),g=s("./packages/ckeditor5-utils/src/dom/rect.js"),m=s("./packages/ckeditor5-utils/src/comparearrays.js"),f=s("./packages/ckeditor5-utils/src/observablemixin.js"),k=s("./packages/ckeditor5-utils/src/mix.js");class _{constructor(e){this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=e,this._referenceCoordinates=null}begin(e,t,s){const o=new g.Z(t);this.activeHandlePosition=function(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const s of t)if(e.classList.contains(b(s)))return s}(e),this._referenceCoordinates=function(e,t){const s=new g.Z(e),o=t.split("-"),i={x:"right"==o[1]?s.right:s.left,y:"bottom"==o[0]?s.bottom:s.top};return i.x+=e.ownerDocument.defaultView.scrollX,i.y+=e.ownerDocument.defaultView.scrollY,i}(t,function(e){const t=e.split("-"),s={top:"bottom",bottom:"top",left:"right",right:"left"};return`${s[t[0]]}-${s[t[1]]}`}(this.activeHandlePosition)),this.originalWidth=o.width,this.originalHeight=o.height,this.aspectRatio=o.width/o.height;const i=s.style.width;i&&i.match(/^\d+(\.\d*)?%$/)?this.originalWidthPercents=parseFloat(i):this.originalWidthPercents=function(e,t){const s=e.parentElement,o=parseFloat(s.ownerDocument.defaultView.getComputedStyle(s).width);return t.width/o*100}(s,o)}update(e){this.proposedWidth=e.width,this.proposedHeight=e.height,this.proposedWidthPercents=e.widthPercents,this.proposedHandleHostWidth=e.handleHostWidth,this.proposedHandleHostHeight=e.handleHostHeight}}function b(e){return`ck-widget__resizer__handle-${e}`}(0,k.Z)(_,f.Z);var w=s("./packages/ckeditor5-ui/src/view.js");class v extends w.Z{constructor(){super();const e=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",e.to("_viewPosition",(e=>e?`ck-orientation-${e}`:""))],style:{display:e.if("_isVisible","none",(e=>!e))}},children:[{text:e.to("_label")}]})}_bindToState(e,t){this.bind("_isVisible").to(t,"proposedWidth",t,"proposedHeight",((e,t)=>null!==e&&null!==t)),this.bind("_label").to(t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",t,"proposedWidthPercents",((t,s,o)=>"px"===e.unit?`${t}×${s}`:`${o}%`)),this.bind("_viewPosition").to(t,"activeHandlePosition",t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",((e,t,s)=>t<50||s<50?"above-center":e))}_dismiss(){this.unbind(),this._isVisible=!1}}class y{constructor(e){this._options=e,this._viewResizerWrapper=null,this.set("isEnabled",!0),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",(e=>{this.state.proposedWidth||this.state.proposedWidthPercents||(this._cleanup(),e.stop())}),{priority:"high"}),this.on("change:isEnabled",(()=>{this.isEnabled&&this.redraw()}))}attach(){const e=this,t=this._options.viewElement;this._options.editor.editing.view.change((s=>{const o=s.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(t){const s=this.toDomElement(t);return e._appendHandles(s),e._appendSizeUI(s),e.on("change:isEnabled",((e,t,o)=>{s.style.display=o?"":"none"})),s.style.display=e.isEnabled?"":"none",s}));s.insert(s.createPositionAt(t,"end"),o),s.addClass("ck-widget_with-resizer",t),this._viewResizerWrapper=o}))}begin(e){this.state=new _(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(e,this._getHandleHost(),this._getResizeHost())}updateSize(e){const t=this._proposeNewSize(e);this._options.editor.editing.view.change((e=>{const s=this._options.unit||"%",o=("%"===s?t.widthPercents:t.width)+s;e.setStyle("width",o,this._options.viewElement)}));const s=this._getHandleHost(),o=new g.Z(s);t.handleHostWidth=Math.round(o.width),t.handleHostHeight=Math.round(o.height);const i=new g.Z(s);t.width=Math.round(i.width),t.height=Math.round(i.height),this.redraw(o),this.state.update(t)}commit(){const e=this._options.unit||"%",t=("%"===e?this.state.proposedWidthPercents:this.state.proposedWidth)+e;this._options.editor.editing.view.change((()=>{this._cleanup(),this._options.onCommit(t)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(e){const t=this._domResizerWrapper;if(!((s=t)&&s.ownerDocument&&s.ownerDocument.contains(s)))return;var s;const o=t.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,n=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(o.isSameNode(i)){const t=e||new g.Z(i);a=[t.width+"px",t.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];"same"!==(0,m.Z)(n,a)&&this._options.editor.editing.view.change((e=>{e.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)}))}containsHandle(e){return this._domResizerWrapper.contains(e)}static isResizeHandle(e){return e.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();this._options.editor.editing.view.change((e=>{e.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(e){const t=this.state,s={x:(o=e).pageX,y:o.pageY};var o;const i=!this._options.isCentered||this._options.isCentered(this),r={x:t._referenceCoordinates.x-(s.x+t.originalWidth),y:s.y-t.originalHeight-t._referenceCoordinates.y};i&&t.activeHandlePosition.endsWith("-right")&&(r.x=s.x-(t._referenceCoordinates.x+t.originalWidth)),i&&(r.x*=2);const n={width:Math.abs(t.originalWidth+r.x),height:Math.abs(t.originalHeight+r.y)};n.dominant=n.width/t.aspectRatio>n.height?"width":"height",n.max=n[n.dominant];const a={width:n.width,height:n.height};return"width"==n.dominant?a.height=a.width/t.aspectRatio:a.width=a.height*t.aspectRatio,{width:Math.round(a.width),height:Math.round(a.height),widthPercents:Math.min(Math.round(t.originalWidthPercents/t.originalWidth*a.width*100)/100,100)}}_getResizeHost(){const e=this._domResizerWrapper.parentElement;return this._options.getResizeHost(e)}_getHandleHost(){const e=this._domResizerWrapper.parentElement;return this._options.getHandleHost(e)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const o of t)e.appendChild(new p.ZP({tag:"div",attributes:{class:"ck-widget__resizer__handle "+(s=o,`ck-widget__resizer__handle-${s}`)}}).render());var s}_appendSizeUI(e){this._sizeView=new v,this._sizeView.render(),e.appendChild(this._sizeView.element)}}(0,k.Z)(y,f.Z);var Z=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),P=s("./packages/ckeditor5-utils/src/dom/global.js"),j=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),x=s("./node_modules/lodash-es/throttle.js"),A=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),T=s.n(A),C=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgetresize.css"),E={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};T()(C.Z,E);C.Z.locals;class S extends i.Z{static get pluginName(){return"WidgetResize"}init(){const e=this.editor.editing,t=P.Z.window.document;this.set("visibleResizer",null),this.set("_activeResizer",null),this._resizers=new Map,e.view.addObserver(j.Z),this._observer=Object.create(Z.Z),this.listenTo(e.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(t,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(t,"mouseup",this._mouseUpListener.bind(this));const s=()=>{this.visibleResizer&&this.visibleResizer.redraw()};this._redrawFocusedResizerThrottled=(0,x.Z)(s,200),this.on("change:visibleResizer",s),this.editor.ui.on("update",this._redrawFocusedResizerThrottled),this.editor.model.document.on("change",(()=>{for(const[e,t]of this._resizers)e.isAttached()||(this._resizers.delete(e),t.destroy())}),{priority:"lowest"}),this._observer.listenTo(P.Z.window,"resize",this._redrawFocusedResizerThrottled);const o=this.editor.editing.view.document.selection;o.on("change",(()=>{const e=o.getSelectedElement();this.visibleResizer=this.getResizerByViewElement(e)||null}))}destroy(){this._observer.stopListening();for(const e of this._resizers.values())e.destroy();this._redrawFocusedResizerThrottled.cancel()}attachTo(e){const t=new y(e),s=this.editor.plugins;if(t.attach(),s.has("WidgetToolbarRepository")){const e=s.get("WidgetToolbarRepository");t.on("begin",(()=>{e.forceDisabled("resize")}),{priority:"lowest"}),t.on("cancel",(()=>{e.clearForceDisabled("resize")}),{priority:"highest"}),t.on("commit",(()=>{e.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(e.viewElement,t);const o=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(o)==t&&(this.visibleResizer=t),t}getResizerByViewElement(e){return this._resizers.get(e)}_getResizerByHandle(e){for(const t of this._resizers.values())if(t.containsHandle(e))return t}_mouseDownListener(e,t){const s=t.domTarget;y.isResizeHandle(s)&&(this._activeResizer=this._getResizerByHandle(s),this._activeResizer&&(this._activeResizer.begin(s),e.stop(),t.preventDefault()))}_mouseMoveListener(e,t){this._activeResizer&&this._activeResizer.updateSize(t)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}(0,k.Z)(S,f.Z);var O=s("./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js")},"?7cdd":(e,t,s)=>{e.exports=s},"./node_modules/lodash-es/_ListCache.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});const o=function(){this.__data__=[],this.size=0};var i=s("./node_modules/lodash-es/eq.js");const r=function(e,t){for(var s=e.length;s--;)if((0,i.Z)(e[s][0],t))return s;return-1};var n=Array.prototype.splice;const a=function(e){var t=this.__data__,s=r(t,e);return!(s<0)&&(s==t.length-1?t.pop():n.call(t,s,1),--this.size,!0)};const c=function(e){var t=this.__data__,s=r(t,e);return s<0?void 0:t[s][1]};const l=function(e){return r(this.__data__,e)>-1};const d=function(e,t){var s=this.__data__,o=r(s,e);return o<0?(++this.size,s.push([e,t])):s[o][1]=t,this};function h(e){var t=-1,s=null==e?0:e.length;for(this.clear();++t<s;){var o=e[t];this.set(o[0],o[1])}}h.prototype.clear=o,h.prototype.delete=a,h.prototype.get=c,h.prototype.has=l,h.prototype.set=d;const u=h},"./node_modules/lodash-es/_Map.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_getNative.js"),i=s("./node_modules/lodash-es/_root.js");const r=(0,o.Z)(i.Z,"Map")},"./node_modules/lodash-es/_MapCache.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>Z});const o=(0,s("./node_modules/lodash-es/_getNative.js").Z)(Object,"create");const i=function(){this.__data__=o?o(null):{},this.size=0};const r=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var n=Object.prototype.hasOwnProperty;const a=function(e){var t=this.__data__;if(o){var s=t[e];return"__lodash_hash_undefined__"===s?void 0:s}return n.call(t,e)?t[e]:void 0};var c=Object.prototype.hasOwnProperty;const l=function(e){var t=this.__data__;return o?void 0!==t[e]:c.call(t,e)};const d=function(e,t){var s=this.__data__;return this.size+=this.has(e)?0:1,s[e]=o&&void 0===t?"__lodash_hash_undefined__":t,this};function h(e){var t=-1,s=null==e?0:e.length;for(this.clear();++t<s;){var o=e[t];this.set(o[0],o[1])}}h.prototype.clear=i,h.prototype.delete=r,h.prototype.get=a,h.prototype.has=l,h.prototype.set=d;const u=h;var p=s("./node_modules/lodash-es/_ListCache.js"),g=s("./node_modules/lodash-es/_Map.js");const m=function(){this.size=0,this.__data__={hash:new u,map:new(g.Z||p.Z),string:new u}};const f=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};const k=function(e,t){var s=e.__data__;return f(t)?s["string"==typeof t?"string":"hash"]:s.map};const _=function(e){var t=k(this,e).delete(e);return this.size-=t?1:0,t};const b=function(e){return k(this,e).get(e)};const w=function(e){return k(this,e).has(e)};const v=function(e,t){var s=k(this,e),o=s.size;return s.set(e,t),this.size+=s.size==o?0:1,this};function y(e){var t=-1,s=null==e?0:e.length;for(this.clear();++t<s;){var o=e[t];this.set(o[0],o[1])}}y.prototype.clear=m,y.prototype.delete=_,y.prototype.get=b,y.prototype.has=w,y.prototype.set=v;const Z=y},"./node_modules/lodash-es/_Stack.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});var o=s("./node_modules/lodash-es/_ListCache.js");const i=function(){this.__data__=new o.Z,this.size=0};const r=function(e){var t=this.__data__,s=t.delete(e);return this.size=t.size,s};const n=function(e){return this.__data__.get(e)};const a=function(e){return this.__data__.has(e)};var c=s("./node_modules/lodash-es/_Map.js"),l=s("./node_modules/lodash-es/_MapCache.js");const d=function(e,t){var s=this.__data__;if(s instanceof o.Z){var i=s.__data__;if(!c.Z||i.length<199)return i.push([e,t]),this.size=++s.size,this;s=this.__data__=new l.Z(i)}return s.set(e,t),this.size=s.size,this};function h(e){var t=this.__data__=new o.Z(e);this.size=t.size}h.prototype.clear=i,h.prototype.delete=r,h.prototype.get=n,h.prototype.has=a,h.prototype.set=d;const u=h},"./node_modules/lodash-es/_Symbol.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=s("./node_modules/lodash-es/_root.js").Z.Symbol},"./node_modules/lodash-es/_Uint8Array.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=s("./node_modules/lodash-es/_root.js").Z.Uint8Array},"./node_modules/lodash-es/_arrayLikeKeys.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});const o=function(e,t){for(var s=-1,o=Array(e);++s<e;)o[s]=t(s);return o};var i=s("./node_modules/lodash-es/isArguments.js"),r=s("./node_modules/lodash-es/isArray.js"),n=s("./node_modules/lodash-es/isBuffer.js"),a=s("./node_modules/lodash-es/_isIndex.js"),c=s("./node_modules/lodash-es/isTypedArray.js"),l=Object.prototype.hasOwnProperty;const d=function(e,t){var s=(0,r.Z)(e),d=!s&&(0,i.Z)(e),h=!s&&!d&&(0,n.Z)(e),u=!s&&!d&&!h&&(0,c.Z)(e),p=s||d||h||u,g=p?o(e.length,String):[],m=g.length;for(var f in e)!t&&!l.call(e,f)||p&&("length"==f||h&&("offset"==f||"parent"==f)||u&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||(0,a.Z)(f,m))||g.push(f);return g}},"./node_modules/lodash-es/_arrayPush.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){for(var s=-1,o=t.length,i=e.length;++s<o;)e[i+s]=t[s];return e}},"./node_modules/lodash-es/_assignValue.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./node_modules/lodash-es/_baseAssignValue.js"),i=s("./node_modules/lodash-es/eq.js"),r=Object.prototype.hasOwnProperty;const n=function(e,t,s){var n=e[t];r.call(e,t)&&(0,i.Z)(n,s)&&(void 0!==s||t in e)||(0,o.Z)(e,t,s)}},"./node_modules/lodash-es/_baseAssignValue.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_defineProperty.js");const i=function(e,t,s){"__proto__"==t&&o.Z?(0,o.Z)(e,t,{configurable:!0,enumerable:!0,value:s,writable:!0}):e[t]=s}},"./node_modules/lodash-es/_baseClone.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>Y});var o=s("./node_modules/lodash-es/_Stack.js");const i=function(e,t){for(var s=-1,o=null==e?0:e.length;++s<o&&!1!==t(e[s],s,e););return e};var r=s("./node_modules/lodash-es/_assignValue.js"),n=s("./node_modules/lodash-es/_copyObject.js"),a=s("./node_modules/lodash-es/keys.js");const c=function(e,t){return e&&(0,n.Z)(t,(0,a.Z)(t),e)};var l=s("./node_modules/lodash-es/keysIn.js");const d=function(e,t){return e&&(0,n.Z)(t,(0,l.Z)(t),e)};var h=s("./node_modules/lodash-es/_cloneBuffer.js"),u=s("./node_modules/lodash-es/_copyArray.js"),p=s("./node_modules/lodash-es/_getSymbols.js");const g=function(e,t){return(0,n.Z)(e,(0,p.Z)(e),t)};var m=s("./node_modules/lodash-es/_arrayPush.js"),f=s("./node_modules/lodash-es/_getPrototype.js"),k=s("./node_modules/lodash-es/stubArray.js");const _=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)(0,m.Z)(t,(0,p.Z)(e)),e=(0,f.Z)(e);return t}:k.Z;const b=function(e,t){return(0,n.Z)(e,_(e),t)};var w=s("./node_modules/lodash-es/_getAllKeys.js"),v=s("./node_modules/lodash-es/_baseGetAllKeys.js");const y=function(e){return(0,v.Z)(e,l.Z,_)};var Z=s("./node_modules/lodash-es/_getTag.js"),P=Object.prototype.hasOwnProperty;const j=function(e){var t=e.length,s=new e.constructor(t);return t&&"string"==typeof e[0]&&P.call(e,"index")&&(s.index=e.index,s.input=e.input),s};var x=s("./node_modules/lodash-es/_cloneArrayBuffer.js");const A=function(e,t){var s=t?(0,x.Z)(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.byteLength)};var T=/\w*$/;const C=function(e){var t=new e.constructor(e.source,T.exec(e));return t.lastIndex=e.lastIndex,t};var E=s("./node_modules/lodash-es/_Symbol.js"),S=E.Z?E.Z.prototype:void 0,O=S?S.valueOf:void 0;const R=function(e){return O?Object(O.call(e)):{}};var M=s("./node_modules/lodash-es/_cloneTypedArray.js");const N=function(e,t,s){var o=e.constructor;switch(t){case"[object ArrayBuffer]":return(0,x.Z)(e);case"[object Boolean]":case"[object Date]":return new o(+e);case"[object DataView]":return A(e,s);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,M.Z)(e,s);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(e);case"[object RegExp]":return C(e);case"[object Symbol]":return R(e)}};var I=s("./node_modules/lodash-es/_initCloneObject.js"),z=s("./node_modules/lodash-es/isArray.js"),V=s("./node_modules/lodash-es/isBuffer.js"),D=s("./node_modules/lodash-es/isObjectLike.js");const B=function(e){return(0,D.Z)(e)&&"[object Map]"==(0,Z.Z)(e)};var F=s("./node_modules/lodash-es/_baseUnary.js"),L=s("./node_modules/lodash-es/_nodeUtil.js"),W=L.Z&&L.Z.isMap;const q=W?(0,F.Z)(W):B;var $=s("./node_modules/lodash-es/isObject.js");const H=function(e){return(0,D.Z)(e)&&"[object Set]"==(0,Z.Z)(e)};var U=L.Z&&L.Z.isSet;const K=U?(0,F.Z)(U):H;var G="[object Arguments]",J="[object Function]",X="[object Object]",Q={};Q[G]=Q["[object Array]"]=Q["[object ArrayBuffer]"]=Q["[object DataView]"]=Q["[object Boolean]"]=Q["[object Date]"]=Q["[object Float32Array]"]=Q["[object Float64Array]"]=Q["[object Int8Array]"]=Q["[object Int16Array]"]=Q["[object Int32Array]"]=Q["[object Map]"]=Q["[object Number]"]=Q[X]=Q["[object RegExp]"]=Q["[object Set]"]=Q["[object String]"]=Q["[object Symbol]"]=Q["[object Uint8Array]"]=Q["[object Uint8ClampedArray]"]=Q["[object Uint16Array]"]=Q["[object Uint32Array]"]=!0,Q["[object Error]"]=Q[J]=Q["[object WeakMap]"]=!1;const Y=function e(t,s,n,p,m,f){var k,_=1&s,v=2&s,P=4&s;if(n&&(k=m?n(t,p,m,f):n(t)),void 0!==k)return k;if(!(0,$.Z)(t))return t;var x=(0,z.Z)(t);if(x){if(k=j(t),!_)return(0,u.Z)(t,k)}else{var A=(0,Z.Z)(t),T=A==J||"[object GeneratorFunction]"==A;if((0,V.Z)(t))return(0,h.Z)(t,_);if(A==X||A==G||T&&!m){if(k=v||T?{}:(0,I.Z)(t),!_)return v?b(t,d(k,t)):g(t,c(k,t))}else{if(!Q[A])return m?t:{};k=N(t,A,_)}}f||(f=new o.Z);var C=f.get(t);if(C)return C;f.set(t,k),K(t)?t.forEach((function(o){k.add(e(o,s,n,o,t,f))})):q(t)&&t.forEach((function(o,i){k.set(i,e(o,s,n,i,t,f))}));var E=P?v?y:w.Z:v?l.Z:a.Z,S=x?void 0:E(t);return i(S||t,(function(o,i){S&&(o=t[i=o]),(0,r.Z)(k,i,e(o,s,n,i,t,f))})),k}},"./node_modules/lodash-es/_baseGetAllKeys.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_arrayPush.js"),i=s("./node_modules/lodash-es/isArray.js");const r=function(e,t,s){var r=t(e);return(0,i.Z)(e)?r:(0,o.Z)(r,s(e))}},"./node_modules/lodash-es/_baseGetTag.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});var o=s("./node_modules/lodash-es/_Symbol.js"),i=Object.prototype,r=i.hasOwnProperty,n=i.toString,a=o.Z?o.Z.toStringTag:void 0;const c=function(e){var t=r.call(e,a),s=e[a];try{e[a]=void 0;var o=!0}catch(e){}var i=n.call(e);return o&&(t?e[a]=s:delete e[a]),i};var l=Object.prototype.toString;const d=function(e){return l.call(e)};var h=o.Z?o.Z.toStringTag:void 0;const u=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":h&&h in Object(e)?c(e):d(e)}},"./node_modules/lodash-es/_baseIsEqual.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>R});var o=s("./node_modules/lodash-es/_Stack.js"),i=s("./node_modules/lodash-es/_MapCache.js");const r=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const n=function(e){return this.__data__.has(e)};function a(e){var t=-1,s=null==e?0:e.length;for(this.__data__=new i.Z;++t<s;)this.add(e[t])}a.prototype.add=a.prototype.push=r,a.prototype.has=n;const c=a;const l=function(e,t){for(var s=-1,o=null==e?0:e.length;++s<o;)if(t(e[s],s,e))return!0;return!1};const d=function(e,t){return e.has(t)};const h=function(e,t,s,o,i,r){var n=1&s,a=e.length,h=t.length;if(a!=h&&!(n&&h>a))return!1;var u=r.get(e),p=r.get(t);if(u&&p)return u==t&&p==e;var g=-1,m=!0,f=2&s?new c:void 0;for(r.set(e,t),r.set(t,e);++g<a;){var k=e[g],_=t[g];if(o)var b=n?o(_,k,g,t,e,r):o(k,_,g,e,t,r);if(void 0!==b){if(b)continue;m=!1;break}if(f){if(!l(t,(function(e,t){if(!d(f,t)&&(k===e||i(k,e,s,o,r)))return f.push(t)}))){m=!1;break}}else if(k!==_&&!i(k,_,s,o,r)){m=!1;break}}return r.delete(e),r.delete(t),m};var u=s("./node_modules/lodash-es/_Symbol.js"),p=s("./node_modules/lodash-es/_Uint8Array.js"),g=s("./node_modules/lodash-es/eq.js");const m=function(e){var t=-1,s=Array(e.size);return e.forEach((function(e,o){s[++t]=[o,e]})),s};const f=function(e){var t=-1,s=Array(e.size);return e.forEach((function(e){s[++t]=e})),s};var k=u.Z?u.Z.prototype:void 0,_=k?k.valueOf:void 0;const b=function(e,t,s,o,i,r,n){switch(s){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!r(new p.Z(e),new p.Z(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,g.Z)(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=m;case"[object Set]":var c=1&o;if(a||(a=f),e.size!=t.size&&!c)return!1;var l=n.get(e);if(l)return l==t;o|=2,n.set(e,t);var d=h(a(e),a(t),o,i,r,n);return n.delete(e),d;case"[object Symbol]":if(_)return _.call(e)==_.call(t)}return!1};var w=s("./node_modules/lodash-es/_getAllKeys.js"),v=Object.prototype.hasOwnProperty;const y=function(e,t,s,o,i,r){var n=1&s,a=(0,w.Z)(e),c=a.length;if(c!=(0,w.Z)(t).length&&!n)return!1;for(var l=c;l--;){var d=a[l];if(!(n?d in t:v.call(t,d)))return!1}var h=r.get(e),u=r.get(t);if(h&&u)return h==t&&u==e;var p=!0;r.set(e,t),r.set(t,e);for(var g=n;++l<c;){var m=e[d=a[l]],f=t[d];if(o)var k=n?o(f,m,d,t,e,r):o(m,f,d,e,t,r);if(!(void 0===k?m===f||i(m,f,s,o,r):k)){p=!1;break}g||(g="constructor"==d)}if(p&&!g){var _=e.constructor,b=t.constructor;_==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof _&&_ instanceof _&&"function"==typeof b&&b instanceof b||(p=!1)}return r.delete(e),r.delete(t),p};var Z=s("./node_modules/lodash-es/_getTag.js"),P=s("./node_modules/lodash-es/isArray.js"),j=s("./node_modules/lodash-es/isBuffer.js"),x=s("./node_modules/lodash-es/isTypedArray.js"),A="[object Arguments]",T="[object Array]",C="[object Object]",E=Object.prototype.hasOwnProperty;const S=function(e,t,s,i,r,n){var a=(0,P.Z)(e),c=(0,P.Z)(t),l=a?T:(0,Z.Z)(e),d=c?T:(0,Z.Z)(t),u=(l=l==A?C:l)==C,p=(d=d==A?C:d)==C,g=l==d;if(g&&(0,j.Z)(e)){if(!(0,j.Z)(t))return!1;a=!0,u=!1}if(g&&!u)return n||(n=new o.Z),a||(0,x.Z)(e)?h(e,t,s,i,r,n):b(e,t,l,s,i,r,n);if(!(1&s)){var m=u&&E.call(e,"__wrapped__"),f=p&&E.call(t,"__wrapped__");if(m||f){var k=m?e.value():e,_=f?t.value():t;return n||(n=new o.Z),r(k,_,s,i,n)}}return!!g&&(n||(n=new o.Z),y(e,t,s,i,r,n))};var O=s("./node_modules/lodash-es/isObjectLike.js");const R=function e(t,s,o,i,r){return t===s||(null==t||null==s||!(0,O.Z)(t)&&!(0,O.Z)(s)?t!=t&&s!=s:S(t,s,o,i,e,r))}},"./node_modules/lodash-es/_baseUnary.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e){return function(t){return e(t)}}},"./node_modules/lodash-es/_cloneArrayBuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_Uint8Array.js");const i=function(e){var t=new e.constructor(e.byteLength);return new o.Z(t).set(new o.Z(e)),t}},"./node_modules/lodash-es/_cloneBuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./node_modules/lodash-es/_root.js"),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=i&&"object"==typeof module&&module&&!module.nodeType&&module,n=r&&r.exports===i?o.Z.Buffer:void 0,a=n?n.allocUnsafe:void 0;const c=function(e,t){if(t)return e.slice();var s=e.length,o=a?a(s):new e.constructor(s);return e.copy(o),o}},"./node_modules/lodash-es/_cloneTypedArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_cloneArrayBuffer.js");const i=function(e,t){var s=t?(0,o.Z)(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.length)}},"./node_modules/lodash-es/_copyArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){var s=-1,o=e.length;for(t||(t=Array(o));++s<o;)t[s]=e[s];return t}},"./node_modules/lodash-es/_copyObject.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_assignValue.js"),i=s("./node_modules/lodash-es/_baseAssignValue.js");const r=function(e,t,s,r){var n=!s;s||(s={});for(var a=-1,c=t.length;++a<c;){var l=t[a],d=r?r(s[l],e[l],l,s,e):void 0;void 0===d&&(d=e[l]),n?(0,i.Z)(s,l,d):(0,o.Z)(s,l,d)}return s}},"./node_modules/lodash-es/_createAssigner.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});const o=function(e){return e};const i=function(e,t,s){switch(s.length){case 0:return e.call(t);case 1:return e.call(t,s[0]);case 2:return e.call(t,s[0],s[1]);case 3:return e.call(t,s[0],s[1],s[2])}return e.apply(t,s)};var r=Math.max;const n=function(e,t,s){return t=r(void 0===t?e.length-1:t,0),function(){for(var o=arguments,n=-1,a=r(o.length-t,0),c=Array(a);++n<a;)c[n]=o[t+n];n=-1;for(var l=Array(t+1);++n<t;)l[n]=o[n];return l[t]=s(c),i(e,this,l)}};const a=function(e){return function(){return e}};var c=s("./node_modules/lodash-es/_defineProperty.js");const l=c.Z?function(e,t){return(0,c.Z)(e,"toString",{configurable:!0,enumerable:!1,value:a(t),writable:!0})}:o;var d=Date.now;const h=function(e){var t=0,s=0;return function(){var o=d(),i=16-(o-s);if(s=o,i>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(l);const u=function(e,t){return h(n(e,t,o),e+"")};var p=s("./node_modules/lodash-es/eq.js"),g=s("./node_modules/lodash-es/isArrayLike.js"),m=s("./node_modules/lodash-es/_isIndex.js"),f=s("./node_modules/lodash-es/isObject.js");const k=function(e,t,s){if(!(0,f.Z)(s))return!1;var o=typeof t;return!!("number"==o?(0,g.Z)(s)&&(0,m.Z)(t,s.length):"string"==o&&t in s)&&(0,p.Z)(s[t],e)};const _=function(e){return u((function(t,s){var o=-1,i=s.length,r=i>1?s[i-1]:void 0,n=i>2?s[2]:void 0;for(r=e.length>3&&"function"==typeof r?(i--,r):void 0,n&&k(s[0],s[1],n)&&(r=i<3?void 0:r,i=1),t=Object(t);++o<i;){var a=s[o];a&&e(t,a,o,r)}return t}))}},"./node_modules/lodash-es/_defineProperty.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_getNative.js");const i=function(){try{var e=(0,o.Z)(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},"./node_modules/lodash-es/_freeGlobal.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o="object"==typeof global&&global&&global.Object===Object&&global},"./node_modules/lodash-es/_getAllKeys.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./node_modules/lodash-es/_baseGetAllKeys.js"),i=s("./node_modules/lodash-es/_getSymbols.js"),r=s("./node_modules/lodash-es/keys.js");const n=function(e){return(0,o.Z)(e,r.Z,i.Z)}},"./node_modules/lodash-es/_getNative.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./node_modules/lodash-es/isFunction.js");const i=s("./node_modules/lodash-es/_root.js").Z["__core-js_shared__"];var r,n=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";const a=function(e){return!!n&&n in e};var c=s("./node_modules/lodash-es/isObject.js"),l=s("./node_modules/lodash-es/_toSource.js"),d=/^\[object .+?Constructor\]$/,h=Function.prototype,u=Object.prototype,p=h.toString,g=u.hasOwnProperty,m=RegExp("^"+p.call(g).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const f=function(e){return!(!(0,c.Z)(e)||a(e))&&((0,o.Z)(e)?m:d).test((0,l.Z)(e))};const k=function(e,t){return null==e?void 0:e[t]};const _=function(e,t){var s=k(e,t);return f(s)?s:void 0}},"./node_modules/lodash-es/_getPrototype.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=(0,s("./node_modules/lodash-es/_overArg.js").Z)(Object.getPrototypeOf,Object)},"./node_modules/lodash-es/_getSymbols.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});const o=function(e,t){for(var s=-1,o=null==e?0:e.length,i=0,r=[];++s<o;){var n=e[s];t(n,s,e)&&(r[i++]=n)}return r};var i=s("./node_modules/lodash-es/stubArray.js"),r=Object.prototype.propertyIsEnumerable,n=Object.getOwnPropertySymbols;const a=n?function(e){return null==e?[]:(e=Object(e),o(n(e),(function(t){return r.call(e,t)})))}:i.Z},"./node_modules/lodash-es/_getTag.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>Z});var o=s("./node_modules/lodash-es/_getNative.js"),i=s("./node_modules/lodash-es/_root.js");const r=(0,o.Z)(i.Z,"DataView");var n=s("./node_modules/lodash-es/_Map.js");const a=(0,o.Z)(i.Z,"Promise");const c=(0,o.Z)(i.Z,"Set");const l=(0,o.Z)(i.Z,"WeakMap");var d=s("./node_modules/lodash-es/_baseGetTag.js"),h=s("./node_modules/lodash-es/_toSource.js"),u="[object Map]",p="[object Promise]",g="[object Set]",m="[object WeakMap]",f="[object DataView]",k=(0,h.Z)(r),_=(0,h.Z)(n.Z),b=(0,h.Z)(a),w=(0,h.Z)(c),v=(0,h.Z)(l),y=d.Z;(r&&y(new r(new ArrayBuffer(1)))!=f||n.Z&&y(new n.Z)!=u||a&&y(a.resolve())!=p||c&&y(new c)!=g||l&&y(new l)!=m)&&(y=function(e){var t=(0,d.Z)(e),s="[object Object]"==t?e.constructor:void 0,o=s?(0,h.Z)(s):"";if(o)switch(o){case k:return f;case _:return u;case b:return p;case w:return g;case v:return m}return t});const Z=y},"./node_modules/lodash-es/_initCloneObject.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./node_modules/lodash-es/isObject.js"),i=Object.create;const r=function(){function e(){}return function(t){if(!(0,o.Z)(t))return{};if(i)return i(t);e.prototype=t;var s=new e;return e.prototype=void 0,s}}();var n=s("./node_modules/lodash-es/_getPrototype.js"),a=s("./node_modules/lodash-es/_isPrototype.js");const c=function(e){return"function"!=typeof e.constructor||(0,a.Z)(e)?{}:r((0,n.Z)(e))}},"./node_modules/lodash-es/_isIndex.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=/^(?:0|[1-9]\d*)$/;const i=function(e,t){var s=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==s||"symbol"!=s&&o.test(e))&&e>-1&&e%1==0&&e<t}},"./node_modules/lodash-es/_isPrototype.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=Object.prototype;const i=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||o)}},"./node_modules/lodash-es/_nodeUtil.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./node_modules/lodash-es/_freeGlobal.js"),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=i&&"object"==typeof module&&module&&!module.nodeType&&module,n=r&&r.exports===i&&o.Z.process;const a=function(){try{var e=r&&r.require&&r.require("util").types;return e||n&&n.binding&&n.binding("util")}catch(e){}}()},"./node_modules/lodash-es/_overArg.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){return function(s){return e(t(s))}}},"./node_modules/lodash-es/_root.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_freeGlobal.js"),i="object"==typeof self&&self&&self.Object===Object&&self;const r=o.Z||i||Function("return this")()},"./node_modules/lodash-es/_toSource.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=Function.prototype.toString;const i=function(e){if(null!=e){try{return o.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},"./node_modules/lodash-es/assignIn.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./node_modules/lodash-es/_copyObject.js"),i=s("./node_modules/lodash-es/_createAssigner.js"),r=s("./node_modules/lodash-es/keysIn.js");const n=(0,i.Z)((function(e,t){(0,o.Z)(t,(0,r.Z)(t),e)}))},"./node_modules/lodash-es/clone.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_baseClone.js");const i=function(e){return(0,o.Z)(e,4)}},"./node_modules/lodash-es/cloneDeep.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_baseClone.js");const i=function(e){return(0,o.Z)(e,5)}},"./node_modules/lodash-es/cloneDeepWith.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_baseClone.js");const i=function(e,t){return t="function"==typeof t?t:void 0,(0,o.Z)(e,5,t)}},"./node_modules/lodash-es/debounce.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./node_modules/lodash-es/isObject.js"),i=s("./node_modules/lodash-es/_root.js");const r=function(){return i.Z.Date.now()};var n=/\s/;const a=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t};var c=/^\s+/;const l=function(e){return e?e.slice(0,a(e)+1).replace(c,""):e};var d=s("./node_modules/lodash-es/isSymbol.js"),h=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,p=/^0o[0-7]+$/i,g=parseInt;const m=function(e){if("number"==typeof e)return e;if((0,d.Z)(e))return NaN;if((0,o.Z)(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=(0,o.Z)(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=l(e);var s=u.test(e);return s||p.test(e)?g(e.slice(2),s?2:8):h.test(e)?NaN:+e};var f=Math.max,k=Math.min;const _=function(e,t,s){var i,n,a,c,l,d,h=0,u=!1,p=!1,g=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function _(t){var s=i,o=n;return i=n=void 0,h=t,c=e.apply(o,s)}function b(e){return h=e,l=setTimeout(v,t),u?_(e):c}function w(e){var s=e-d;return void 0===d||s>=t||s<0||p&&e-h>=a}function v(){var e=r();if(w(e))return y(e);l=setTimeout(v,function(e){var s=t-(e-d);return p?k(s,a-(e-h)):s}(e))}function y(e){return l=void 0,g&&i?_(e):(i=n=void 0,c)}function Z(){var e=r(),s=w(e);if(i=arguments,n=this,d=e,s){if(void 0===l)return b(d);if(p)return clearTimeout(l),l=setTimeout(v,t),_(d)}return void 0===l&&(l=setTimeout(v,t)),c}return t=m(t)||0,(0,o.Z)(s)&&(u=!!s.leading,a=(p="maxWait"in s)?f(m(s.maxWait)||0,t):a,g="trailing"in s?!!s.trailing:g),Z.cancel=function(){void 0!==l&&clearTimeout(l),h=0,i=d=n=l=void 0},Z.flush=function(){return void 0===l?c:y(r())},Z}},"./node_modules/lodash-es/eq.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){return e===t||e!=e&&t!=t}},"./node_modules/lodash-es/isArguments.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isObjectLike.js");const r=function(e){return(0,i.Z)(e)&&"[object Arguments]"==(0,o.Z)(e)};var n=Object.prototype,a=n.hasOwnProperty,c=n.propertyIsEnumerable;const l=r(function(){return arguments}())?r:function(e){return(0,i.Z)(e)&&a.call(e,"callee")&&!c.call(e,"callee")}},"./node_modules/lodash-es/isArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=Array.isArray},"./node_modules/lodash-es/isArrayLike.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/isFunction.js"),i=s("./node_modules/lodash-es/isLength.js");const r=function(e){return null!=e&&(0,i.Z)(e.length)&&!(0,o.Z)(e)}},"./node_modules/lodash-es/isBuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./node_modules/lodash-es/_root.js");const i=function(){return!1};var r="object"==typeof exports&&exports&&!exports.nodeType&&exports,n=r&&"object"==typeof module&&module&&!module.nodeType&&module,a=n&&n.exports===r?o.Z.Buffer:void 0;const c=(a?a.isBuffer:void 0)||i},"./node_modules/lodash-es/isElement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/isObjectLike.js"),i=s("./node_modules/lodash-es/isPlainObject.js");const r=function(e){return(0,o.Z)(e)&&1===e.nodeType&&!(0,i.Z)(e)}},"./node_modules/lodash-es/isFunction.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isObject.js");const r=function(e){if(!(0,i.Z)(e))return!1;var t=(0,o.Z)(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},"./node_modules/lodash-es/isLength.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},"./node_modules/lodash-es/isObject.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},"./node_modules/lodash-es/isObjectLike.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e){return null!=e&&"object"==typeof e}},"./node_modules/lodash-es/isPlainObject.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/_getPrototype.js"),r=s("./node_modules/lodash-es/isObjectLike.js"),n=Function.prototype,a=Object.prototype,c=n.toString,l=a.hasOwnProperty,d=c.call(Object);const h=function(e){if(!(0,r.Z)(e)||"[object Object]"!=(0,o.Z)(e))return!1;var t=(0,i.Z)(e);if(null===t)return!0;var s=l.call(t,"constructor")&&t.constructor;return"function"==typeof s&&s instanceof s&&c.call(s)==d}},"./node_modules/lodash-es/isSymbol.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isObjectLike.js");const r=function(e){return"symbol"==typeof e||(0,i.Z)(e)&&"[object Symbol]"==(0,o.Z)(e)}},"./node_modules/lodash-es/isTypedArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isLength.js"),r=s("./node_modules/lodash-es/isObjectLike.js"),n={};n["[object Float32Array]"]=n["[object Float64Array]"]=n["[object Int8Array]"]=n["[object Int16Array]"]=n["[object Int32Array]"]=n["[object Uint8Array]"]=n["[object Uint8ClampedArray]"]=n["[object Uint16Array]"]=n["[object Uint32Array]"]=!0,n["[object Arguments]"]=n["[object Array]"]=n["[object ArrayBuffer]"]=n["[object Boolean]"]=n["[object DataView]"]=n["[object Date]"]=n["[object Error]"]=n["[object Function]"]=n["[object Map]"]=n["[object Number]"]=n["[object Object]"]=n["[object RegExp]"]=n["[object Set]"]=n["[object String]"]=n["[object WeakMap]"]=!1;const a=function(e){return(0,r.Z)(e)&&(0,i.Z)(e.length)&&!!n[(0,o.Z)(e)]};var c=s("./node_modules/lodash-es/_baseUnary.js"),l=s("./node_modules/lodash-es/_nodeUtil.js"),d=l.Z&&l.Z.isTypedArray;const h=d?(0,c.Z)(d):a},"./node_modules/lodash-es/keys.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./node_modules/lodash-es/_arrayLikeKeys.js"),i=s("./node_modules/lodash-es/_isPrototype.js");const r=(0,s("./node_modules/lodash-es/_overArg.js").Z)(Object.keys,Object);var n=Object.prototype.hasOwnProperty;const a=function(e){if(!(0,i.Z)(e))return r(e);var t=[];for(var s in Object(e))n.call(e,s)&&"constructor"!=s&&t.push(s);return t};var c=s("./node_modules/lodash-es/isArrayLike.js");const l=function(e){return(0,c.Z)(e)?(0,o.Z)(e):a(e)}},"./node_modules/lodash-es/keysIn.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./node_modules/lodash-es/_arrayLikeKeys.js"),i=s("./node_modules/lodash-es/isObject.js"),r=s("./node_modules/lodash-es/_isPrototype.js");const n=function(e){var t=[];if(null!=e)for(var s in Object(e))t.push(s);return t};var a=Object.prototype.hasOwnProperty;const c=function(e){if(!(0,i.Z)(e))return n(e);var t=(0,r.Z)(e),s=[];for(var o in e)("constructor"!=o||!t&&a.call(e,o))&&s.push(o);return s};var l=s("./node_modules/lodash-es/isArrayLike.js");const d=function(e){return(0,l.Z)(e)?(0,o.Z)(e,!0):c(e)}},"./node_modules/lodash-es/stubArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(){return[]}},"./node_modules/lodash-es/throttle.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/debounce.js"),i=s("./node_modules/lodash-es/isObject.js");const r=function(e,t,s){var r=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return(0,i.Z)(s)&&(r="leading"in s?!!s.leading:r,n="trailing"in s?!!s.trailing:n),(0,o.Z)(e,t,{leading:r,maxWait:t,trailing:n})}},"./node_modules/lodash-es/toString.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./node_modules/lodash-es/_Symbol.js");const i=function(e,t){for(var s=-1,o=null==e?0:e.length,i=Array(o);++s<o;)i[s]=t(e[s],s,e);return i};var r=s("./node_modules/lodash-es/isArray.js"),n=s("./node_modules/lodash-es/isSymbol.js"),a=o.Z?o.Z.prototype:void 0,c=a?a.toString:void 0;const l=function e(t){if("string"==typeof t)return t;if((0,r.Z)(t))return i(t,e)+"";if((0,n.Z)(t))return c?c.call(t):"";var s=t+"";return"0"==s&&1/t==-Infinity?"-0":s};const d=function(e){return null==e?"":l(e)}}},t={};function s(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={id:o,exports:{}};return e[o](r,r.exports,s),r.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var o in t)s.o(t,o)&&!s.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o=s("?7cdd");(window.CKEditor5=window.CKEditor5||{}).dll=o})(),function(e){e.CKEditor5=e.CKEditor5||{};const t=["utils","core","engine","ui","clipboard","enter","paragraph","select-all","typing","undo","upload","widget"];for(const s of t){const t=s.replace(/-([a-z])/g,((e,t)=>t.toUpperCase()));e.CKEditor5[t]=e.CKEditor5.dll(`./src/${s}.js`)}}(window);
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ar.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ar.js
index 9467132921..b33d206b5d 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ar.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ar.js
@@ -1 +1 @@
-!function(e){const o=e.ar=e.ar||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"إلغاء","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"إعادة","Remove color":"","Restore default":"","Rich Text Editor":"معالج نصوص","Rich Text Editor, %0":"معالج نصوص، 0%",Save:"حفظ","Show more items":"",Turquoise:"",Undo:"تراجع","Upload in progress":"جاري الرفع",White:"",Yellow:""}),o.getPluralForm=function(e){return 0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11&&e%100<=99?4:5}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const o=e.ar=e.ar||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"إلغاء","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"إعادة","Remove color":"","Restore default":"","Rich Text Editor":"معالج نصوص","Rich Text Editor, %0":"معالج نصوص، %0",Save:"حفظ","Show more items":"",Turquoise:"",Undo:"تراجع","Upload in progress":"جاري الرفع",White:"",Yellow:""}),o.getPluralForm=function(e){return 0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11&&e%100<=99?4:5}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bs.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bs.js
new file mode 100644
index 0000000000..26d1a25d36
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bs.js
@@ -0,0 +1 @@
+!function(o){const i=o.bs=o.bs||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"%0 od %1",Cancel:"Poništi","Remove color":"Ukloni boju","Restore default":"Vrati na zadano",Save:"Sačuvaj","Show more items":"Prikaži više stavki"}),i.getPluralForm=function(o){return o%10==1&&o%100!=11?0:o%10>=2&&o%10<=4&&(o%100<10||o%100>=20)?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/cs.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/cs.js
index 2cf5ad6121..e0b9fd65af 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/cs.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/cs.js
@@ -1 +1 @@
-!function(e){const o=e.cs=e.cs||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 z %1",Aquamarine:"Akvamarínová",Black:"Černá",Blue:"Modrá",Cancel:"Zrušit","Dim grey":"Tmavě šedá","Dropdown toolbar":"Rozbalovací panel nástrojů","Edit block":"Upravit blok","Editor toolbar":"Panel nástrojů editoru",Green:"Zelená",Grey:"Šedá","Insert paragraph after block":"Vložte odstavec za blok","Insert paragraph before block":"Vložte odstavec před blok","Light blue":"Světle modrá","Light green":"Světle zelená","Light grey":"Světle šedá",Next:"Další",Orange:"Oranžová",Previous:"Předchozí",Purple:"Fialová",Red:"Červená",Redo:"Znovu","Remove color":"Odstranit barvu","Restore default":"","Rich Text Editor":"Textový editor","Rich Text Editor, %0":"Textový editor, %0",Save:"Uložit","Select all":"Vybrat vše","Show more items":"Zobrazit další položky",Turquoise:"Tyrkysová",Undo:"Zpět","Upload in progress":"Probíhá nahrávání",White:"Bílá","Widget toolbar":"Panel nástrojů ovládacího prvku",Yellow:"Žlutá"}),o.getPluralForm=function(e){return 1==e&&e%1==0?0:e>=2&&e<=4&&e%1==0?1:e%1!=0?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(o){const e=o.cs=o.cs||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 z %1",Aquamarine:"Akvamarínová",Black:"Černá",Blue:"Modrá",Cancel:"Zrušit","Dim grey":"Tmavě šedá","Dropdown toolbar":"Rozbalovací panel nástrojů","Edit block":"Upravit blok","Editor toolbar":"Panel nástrojů editoru",Green:"Zelená",Grey:"Šedá","Insert paragraph after block":"Vložte odstavec za blok","Insert paragraph before block":"Vložte odstavec před blok","Light blue":"Světle modrá","Light green":"Světle zelená","Light grey":"Světle šedá",Next:"Další",Orange:"Oranžová",Previous:"Předchozí",Purple:"Fialová",Red:"Červená",Redo:"Znovu","Remove color":"Odstranit barvu","Restore default":"Obnovit výchozí","Rich Text Editor":"Textový editor","Rich Text Editor, %0":"Textový editor, %0",Save:"Uložit","Select all":"Vybrat vše","Show more items":"Zobrazit další položky",Turquoise:"Tyrkysová",Undo:"Zpět","Upload in progress":"Probíhá nahrávání",White:"Bílá","Widget toolbar":"Panel nástrojů ovládacího prvku",Yellow:"Žlutá"}),e.getPluralForm=function(o){return 1==o&&o%1==0?0:o>=2&&o<=4&&o%1==0?1:o%1!=0?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/da.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/da.js
index 5ee0f00027..d8ace4e9f8 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/da.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/da.js
@@ -1 +1 @@
-!function(r){const e=r.da=r.da||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 af %1",Aquamarine:"Marineblå",Black:"Sort",Blue:"Blå",Cancel:"Annullér","Dim grey":"Dunkel grå","Dropdown toolbar":"Dropdown værktøjslinje","Edit block":"Redigér blok","Editor toolbar":"Editor værktøjslinje",Green:"Grøn",Grey:"Grå","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Lys blå","Light green":"Lys grøn","Light grey":"Lys grå",Next:"Næste",Orange:"Orange",Previous:"Forrige",Purple:"Lilla",Red:"Rød",Redo:"Gentag","Remove color":"Fjern farve","Restore default":"","Rich Text Editor":"Wysiwyg editor","Rich Text Editor, %0":"Wysiwyg editor, %0",Save:"Gem","Show more items":"Vis flere emner",Turquoise:"Turkis",Undo:"Fortryd","Upload in progress":"Upload i gang",White:"Hvid","Widget toolbar":"Widget værktøjslinje",Yellow:"Gyl"}),e.getPluralForm=function(r){return 1!=r}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const r=e.da=e.da||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 af %1",Aquamarine:"Marineblå",Black:"Sort",Blue:"Blå",Cancel:"Annullér","Dim grey":"Dunkel grå","Dropdown toolbar":"Dropdown værktøjslinje","Edit block":"Redigér blok","Editor toolbar":"Editor værktøjslinje",Green:"Grøn",Grey:"Grå","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Lys blå","Light green":"Lys grøn","Light grey":"Lys grå",Next:"Næste",Orange:"Orange",Previous:"Forrige",Purple:"Lilla",Red:"Rød",Redo:"Gentag","Remove color":"Fjern farve","Restore default":"Nulstil","Rich Text Editor":"Wysiwyg editor","Rich Text Editor, %0":"Wysiwyg editor, %0",Save:"Gem","Select all":"Vælg alt","Show more items":"Vis flere emner",Turquoise:"Turkis",Undo:"Fortryd","Upload in progress":"Upload i gang",White:"Hvid","Widget toolbar":"Widget værktøjslinje",Yellow:"Gyl"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/el.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/el.js
index 94e1ebba1a..b8018607ab 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/el.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/el.js
@@ -1 +1 @@
-!function(e){const o=e.el=e.el||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Ακύρωση","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Επανάληψη","Remove color":"","Restore default":"","Rich Text Editor":"Επεξεργαστής Πλούσιου Κειμένου","Rich Text Editor, %0":"Επεξεργαστής Πλούσιου Κειμένου, 0%",Save:"Αποθήκευση","Show more items":"",Turquoise:"",Undo:"Αναίρεση",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const o=e.el=e.el||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 από %1",Aquamarine:"Ακουαμαρίνα",Black:"Μαύρο",Blue:"Μπλε",Cancel:"Ακύρωση","Dim grey":"Θολό γκρι","Dropdown toolbar":"Γραμμή εργαλείων αναδυόμενου μενού","Edit block":"Επεξεργασία τμήματος","Editor toolbar":"Γραμμή εργαλείων επεξεργαστή",Green:"Πράσινο",Grey:"Γκρι","Insert paragraph after block":"Εισαγωγή παραγράφου μετά το τμήμα","Insert paragraph before block":"Εισαγωγή παραγράφου πριν το τμήμα","Light blue":"Φωτινό μπλε","Light green":"Φωτινό πράσινο","Light grey":"Φωτινό γκρι",Next:"Επόμενο",Orange:"Πορτοκαλί",Previous:"Προηγούμενο",Purple:"Πορφυρό",Red:"Κόκκινο",Redo:"Επανάληψη","Remove color":"Απομάκρυνση χρώματος","Restore default":"Επαναφορά προεπιλογής","Rich Text Editor":"Επεξεργαστής εμπλουτισμένου κειμένου","Rich Text Editor, %0":"Επεξεργαστής εμπλουτισμένου κειμένου, %0",Save:"Αποθήκευση","Select all":"Επιλογή όλων","Show more items":"Προβολή περισσότερων αντικειμένων",Turquoise:"Τιρκουάζ",Undo:"Αναίρεση","Upload in progress":"Αποστολή σε εξέλιξη",White:"Λευκό","Widget toolbar":"Γραμμή εργαλείων γραφικού στοιχείου",Yellow:"Κίτρινο"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-au.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-au.js
index 5eb5f8edc1..cbd32a0423 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-au.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-au.js
@@ -1 +1 @@
-!function(e){const o=e["en-au"]=e["en-au"]||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Dim grey":"Dim grey","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Editor toolbar":"Editor toolbar",Green:"Green",Grey:"Grey","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove colour","Restore default":"","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich Text Editor, %0",Save:"Save","Select all":"Select all","Show more items":"Show more items",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White","Widget toolbar":"Widget toolbar",Yellow:"Yellow"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const o=e["en-au"]=e["en-au"]||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Dim grey":"Dim grey","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Editor toolbar":"Editor toolbar",Green:"Green",Grey:"Grey","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove colour","Restore default":"Restore default","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich Text Editor, %0",Save:"Save","Select all":"Select all","Show more items":"Show more items",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White","Widget toolbar":"Widget toolbar",Yellow:"Yellow"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/es.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/es.js
index adc6f4179b..a050868da8 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/es.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/es.js
@@ -1 +1 @@
-!function(e){const r=e.es=e.es||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Aguamarina",Black:"Negro",Blue:"Azul",Cancel:"Cancelar","Dim grey":"Gris Oscuro","Dropdown toolbar":"Barra de herramientas desplegable","Edit block":"Cuadro de edición","Editor toolbar":"Barra de herramientas de edición",Green:"Verde",Grey:"Gris","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Azul Claro","Light green":"Verde Claro","Light grey":"Gris Claro",Next:"Siguiente",Orange:"Anaranjado",Previous:"Anterior",Purple:"Morado",Red:"Rojo",Redo:"Rehacer","Remove color":"Quitar color","Restore default":"Restaurar valores predeterminados","Rich Text Editor":"Editor de Texto Enriquecido","Rich Text Editor, %0":"Editor de Texto Enriquecido, %0",Save:"Guardar","Select all":"Seleccionar todo","Show more items":"Mostrar más elementos",Turquoise:"Turquesa",Undo:"Deshacer","Upload in progress":"Subida en progreso",White:"Blanco","Widget toolbar":"Barra de herramientas del widget",Yellow:"Amarillo"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const r=e.es=e.es||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Aguamarina",Black:"Negro",Blue:"Azul",Cancel:"Cancelar","Dim grey":"Gris Oscuro","Dropdown toolbar":"Barra de herramientas desplegable","Edit block":"Cuadro de edición","Editor toolbar":"Barra de herramientas de edición",Green:"Verde",Grey:"Gris","Insert paragraph after block":"Insertar párrafo después del bloque","Insert paragraph before block":"Insertar párrafo antes del bloque","Light blue":"Azul Claro","Light green":"Verde Claro","Light grey":"Gris Claro",Next:"Siguiente",Orange:"Anaranjado",Previous:"Anterior",Purple:"Morado",Red:"Rojo",Redo:"Rehacer","Remove color":"Quitar color","Restore default":"Restaurar valores predeterminados","Rich Text Editor":"Editor de Texto Enriquecido","Rich Text Editor, %0":"Editor de Texto Enriquecido, %0",Save:"Guardar","Select all":"Seleccionar todo","Show more items":"Mostrar más elementos",Turquoise:"Turquesa",Undo:"Deshacer","Upload in progress":"Subida en progreso",White:"Blanco","Widget toolbar":"Barra de herramientas del widget",Yellow:"Amarillo"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fa.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fa.js
index ff3f8c700f..0eaa7de82b 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fa.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fa.js
@@ -1 +1 @@
-!function(e){const o=e.fa=e.fa||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"0% از 1%",Aquamarine:"زمرد کبود",Black:"سیاه",Blue:"آبی",Cancel:"لغو","Dim grey":"خاکستری تیره","Dropdown toolbar":"نوارابزار کشویی","Edit block":"ویرایش قطعه","Editor toolbar":"نوارابزار ویرایشگر",Green:"سبز",Grey:"خاکستری","Insert paragraph after block":"درج پاراگراف بعد از بلوک","Insert paragraph before block":"درج پاراگراف قبل از بلوک","Light blue":"آبی روشن","Light green":"سبز روشن","Light grey":"خاکستری روشن",Next:"بعدی",Orange:"نارنجی",Previous:"قبلی",Purple:"بنفش",Red:"قرمز",Redo:"باز انجام","Remove color":"حذف رنگ","Restore default":"","Rich Text Editor":"ویرایشگر متن غنی","Rich Text Editor, %0":"ویرایشگر متن غنی، %0",Save:"ذخیره","Select all":"انتخاب همه","Show more items":"نمایش گزینه‌های بیشتر",Turquoise:"فیروزه ای",Undo:"بازگردانی","Upload in progress":"آپلود در حال انجام",White:"سفید","Widget toolbar":"نوار ابزار ویجت",Yellow:"زرد"}),o.getPluralForm=function(e){return e>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const o=e.fa=e.fa||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 از %1",Aquamarine:"زمرد کبود",Black:"سیاه",Blue:"آبی",Cancel:"لغو","Dim grey":"خاکستری تیره","Dropdown toolbar":"نوارابزار کشویی","Edit block":"ویرایش قطعه","Editor toolbar":"نوارابزار ویرایشگر",Green:"سبز",Grey:"خاکستری","Insert paragraph after block":"درج پاراگراف بعد از بلوک","Insert paragraph before block":"درج پاراگراف قبل از بلوک","Light blue":"آبی روشن","Light green":"سبز روشن","Light grey":"خاکستری روشن",Next:"بعدی",Orange:"نارنجی",Previous:"قبلی",Purple:"بنفش",Red:"قرمز",Redo:"باز انجام","Remove color":"حذف رنگ","Restore default":"","Rich Text Editor":"ویرایشگر متن غنی","Rich Text Editor, %0":"ویرایشگر متن غنی، %0",Save:"ذخیره","Select all":"انتخاب همه","Show more items":"نمایش گزینه‌های بیشتر",Turquoise:"فیروزه ای",Undo:"بازگردانی","Upload in progress":"آپلود در حال انجام",White:"سفید","Widget toolbar":"نوار ابزار ویجت",Yellow:"زرد"}),o.getPluralForm=function(e){return e>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fi.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fi.js
index d25034be2c..07255177ab 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fi.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fi.js
@@ -1 +1 @@
-!function(e){const i=e.fi=e.fi||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"",Aquamarine:"Akvamariini",Black:"Musta",Blue:"Sininen",Cancel:"Peruuta","Dim grey":"","Dropdown toolbar":"","Edit block":"Muokkaa lohkoa","Editor toolbar":"",Green:"Vihreä",Grey:"Harmaa","Light blue":"Vaaleansininen","Light green":"Vaaleanvihreä","Light grey":"Vaaleanharmaa",Next:"",Orange:"Oranssi",Previous:"",Purple:"Purppura",Red:"Punainen",Redo:"Tee uudelleen","Remove color":"Poista väri","Restore default":"","Rich Text Editor":"Rikas tekstieditori","Rich Text Editor, %0":"Rikas tekstieditori, %0",Save:"Tallenna","Show more items":"",Turquoise:"Turkoosi",Undo:"Peru","Upload in progress":"Lähetys käynnissä",White:"Valkoinen",Yellow:"Keltainen"}),i.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const i=e.fi=e.fi||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"",Aquamarine:"Akvamariini",Black:"Musta",Blue:"Sininen",Cancel:"Peruuta","Dim grey":"","Dropdown toolbar":"","Edit block":"Muokkaa lohkoa","Editor toolbar":"Editorin työkalupalkki",Green:"Vihreä",Grey:"Harmaa","Light blue":"Vaaleansininen","Light green":"Vaaleanvihreä","Light grey":"Vaaleanharmaa",Next:"Seuraava",Orange:"Oranssi",Previous:"Edellinen",Purple:"Purppura",Red:"Punainen",Redo:"Tee uudelleen","Remove color":"Poista väri","Restore default":"Palauta oletus","Rich Text Editor":"Rikas tekstieditori","Rich Text Editor, %0":"Rikas tekstieditori, %0",Save:"Tallenna","Show more items":"",Turquoise:"Turkoosi",Undo:"Peru","Upload in progress":"Lähetys käynnissä",White:"Valkoinen",Yellow:"Keltainen"}),i.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/he.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/he.js
index e14b34181c..22806848b1 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/he.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/he.js
@@ -1 +1 @@
-!function(e){const o=e.he=e.he||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"0% מתוך %1",Aquamarine:"",Black:"",Blue:"",Cancel:"ביטול","Dim grey":"","Dropdown toolbar":"סרגל כלים נפתח","Edit block":"הגדרות בלוק","Editor toolbar":"סרגל הכלים",Green:"",Grey:"","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"","Light green":"","Light grey":"",Next:"הבא",Orange:"",Previous:"הקודם",Purple:"",Red:"",Redo:"ביצוע מחדש","Remove color":"","Restore default":"","Rich Text Editor":"עורך טקסט עשיר","Rich Text Editor, %0":"עורך טקסט עשיר, %0",Save:"שמירה","Show more items":"הצד פריטים נוספים",Turquoise:"",Undo:"ביטול","Upload in progress":"העלאה מתבצעת",White:"","Widget toolbar":"סרגל יישומון",Yellow:""}),o.getPluralForm=function(e){return 1==e&&e%1==0?0:2==e&&e%1==0?1:e%10==0&&e%1==0&&e>10?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const o=e.he=e.he||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 מתוך %1",Aquamarine:"",Black:"",Blue:"",Cancel:"ביטול","Dim grey":"","Dropdown toolbar":"סרגל כלים נפתח","Edit block":"הגדרות בלוק","Editor toolbar":"סרגל הכלים",Green:"",Grey:"","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"","Light green":"","Light grey":"",Next:"הבא",Orange:"",Previous:"הקודם",Purple:"",Red:"",Redo:"ביצוע מחדש","Remove color":"","Restore default":"","Rich Text Editor":"עורך טקסט עשיר","Rich Text Editor, %0":"עורך טקסט עשיר, %0",Save:"שמירה","Show more items":"הצד פריטים נוספים",Turquoise:"",Undo:"ביטול","Upload in progress":"העלאה מתבצעת",White:"","Widget toolbar":"סרגל יישומון",Yellow:""}),o.getPluralForm=function(e){return 1==e&&e%1==0?0:2==e&&e%1==0?1:e%10==0&&e%1==0&&e>10?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hr.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hr.js
index 4aa5b5751b..1dc48e49a7 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hr.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hr.js
@@ -1 +1 @@
-!function(a){const e=a.hr=a.hr||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 od %1",Aquamarine:"Akvamarin",Black:"Crna",Blue:"Plava",Cancel:"Poništi","Dim grey":"Tamnosiva","Dropdown toolbar":"Traka padajućeg izbornika","Edit block":"Uredi blok","Editor toolbar":"Traka uređivača",Green:"Zelena",Grey:"Siva","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Svijetloplava","Light green":"Svijetlozelena","Light grey":"Svijetlosiva",Next:"Sljedeći",Orange:"Narančasta",Previous:"Prethodni",Purple:"Ljubičasta",Red:"Crvena",Redo:"Ponovi","Remove color":"Ukloni boju","Restore default":"","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich Text Editor, %0",Save:"Snimi","Select all":"Odaberi sve","Show more items":"Prikaži više stavaka",Turquoise:"Tirkizna",Undo:"Poništi","Upload in progress":"Slanje u tijeku",White:"Bijela","Widget toolbar":"Traka sa spravicama",Yellow:"Žuta"}),e.getPluralForm=function(a){return a%10==1&&a%100!=11?0:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(a){const e=a.hr=a.hr||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 od %1",Aquamarine:"Akvamarin",Black:"Crna",Blue:"Plava",Cancel:"Poništi","Dim grey":"Tamnosiva","Dropdown toolbar":"Traka padajućeg izbornika","Edit block":"Uredi blok","Editor toolbar":"Traka uređivača",Green:"Zelena",Grey:"Siva","Insert paragraph after block":"Umetni odlomak poslije bloka","Insert paragraph before block":"Umetni odlomak prije bloka","Light blue":"Svijetloplava","Light green":"Svijetlozelena","Light grey":"Svijetlosiva",Next:"Sljedeći",Orange:"Narančasta",Previous:"Prethodni",Purple:"Ljubičasta",Red:"Crvena",Redo:"Ponovi","Remove color":"Ukloni boju","Restore default":"Vrati tvorničke postavke","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich Text Editor, %0",Save:"Snimi","Select all":"Odaberi sve","Show more items":"Prikaži više stavaka",Turquoise:"Tirkizna",Undo:"Poništi","Upload in progress":"Slanje u tijeku",White:"Bijela","Widget toolbar":"Traka sa spravicama",Yellow:"Žuta"}),e.getPluralForm=function(a){return a%10==1&&a%100!=11?0:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/id.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/id.js
index 6e5dc3d080..ff0629a28a 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/id.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/id.js
@@ -1 +1 @@
-!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 dari %1",Aquamarine:"Biru laut",Black:"Hitam",Blue:"Biru",Cancel:"Batal","Dim grey":"Kelabu gelap","Dropdown toolbar":"Alat dropdown","Edit block":"Sunting blok","Editor toolbar":"Alat editor",Green:"Hijau",Grey:"Kelabu","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Biru terang","Light green":"Hijau terang","Light grey":"Kelabu terang",Next:"Berikutnya",Orange:"Jingga",Previous:"Sebelumnya",Purple:"Ungu",Red:"Merah",Redo:"Lakukan lagi","Remove color":"Hapus warna","Restore default":"","Rich Text Editor":"Editor Teks Kaya","Rich Text Editor, %0":"Editor Teks Kaya, %0",Save:"Simpan","Show more items":"",Turquoise:"Turkish",Undo:"Batal","Upload in progress":"Sedang mengunggah",White:"Putih","Widget toolbar":"Alat widget",Yellow:"Kuning"}),e.getPluralForm=function(a){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 dari %1",Aquamarine:"Biru laut",Black:"Hitam",Blue:"Biru",Cancel:"Batal","Dim grey":"Kelabu gelap","Dropdown toolbar":"Alat dropdown","Edit block":"Sunting blok","Editor toolbar":"Alat editor",Green:"Hijau",Grey:"Kelabu","Insert paragraph after block":"Tambahkan paragraf setelah blok","Insert paragraph before block":"Tambahkan paragraf sebelum blok","Light blue":"Biru terang","Light green":"Hijau terang","Light grey":"Kelabu terang",Next:"Berikutnya",Orange:"Jingga",Previous:"Sebelumnya",Purple:"Ungu",Red:"Merah",Redo:"Lakukan lagi","Remove color":"Hapus warna","Restore default":"","Rich Text Editor":"Editor Teks Kaya","Rich Text Editor, %0":"Editor Teks Kaya, %0",Save:"Simpan","Select all":"Pilih semua","Show more items":"",Turquoise:"Turkish",Undo:"Batal","Upload in progress":"Sedang mengunggah",White:"Putih","Widget toolbar":"Alat widget",Yellow:"Kuning"}),e.getPluralForm=function(a){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/jv.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/jv.js
new file mode 100644
index 0000000000..c6ceb96690
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/jv.js
@@ -0,0 +1 @@
+!function(a){const n=a.jv=a.jv||{};n.dictionary=Object.assign(n.dictionary||{},{"%0 of %1":"%0 saking %1",Cancel:"Batal","Remove color":"Busek warni","Restore default":"Mangsulaken default",Save:"Rimat","Show more items":"Tampilaken langkung kathah"}),n.getPluralForm=function(a){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ko.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ko.js
index a4ff254435..8aa8f6285f 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ko.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ko.js
@@ -1 +1 @@
-!function(e){const o=e.ko=e.ko||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"0% / %1",Aquamarine:"연한 청록색",Black:"검은색",Blue:"파랑색",Cancel:"취소","Dim grey":"진한 회색","Dropdown toolbar":"드롭다운 툴바","Edit block":"편집 영역","Editor toolbar":"에디터 툴바",Green:"초록색",Grey:"회색","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"연한 파랑색","Light green":"밝은 초록색","Light grey":"밝은 회색",Next:"다음",Orange:"주황색",Previous:"이전",Purple:"보라색",Red:"빨간색",Redo:"다시 실행","Remove color":"색깔 제거","Restore default":"","Rich Text Editor":"리치 텍스트 편집기","Rich Text Editor, %0":"리치 텍스트 편집기, %0",Save:"저장","Select all":"전체 선택","Show more items":"더보기",Turquoise:"청록색",Undo:"실행 취소","Upload in progress":"업로드 진행 중",White:"흰색","Widget toolbar":"위젯 툴바",Yellow:"노랑색"}),o.getPluralForm=function(e){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const o=e.ko=e.ko||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 / %1",Aquamarine:"연한 청록색",Black:"검은색",Blue:"파랑색",Cancel:"취소","Dim grey":"진한 회색","Dropdown toolbar":"드롭다운 툴바","Edit block":"편집 영역","Editor toolbar":"에디터 툴바",Green:"초록색",Grey:"회색","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"연한 파랑색","Light green":"밝은 초록색","Light grey":"밝은 회색",Next:"다음",Orange:"주황색",Previous:"이전",Purple:"보라색",Red:"빨간색",Redo:"다시 실행","Remove color":"색깔 제거","Restore default":"","Rich Text Editor":"리치 텍스트 편집기","Rich Text Editor, %0":"리치 텍스트 편집기, %0",Save:"저장","Select all":"전체 선택","Show more items":"더보기",Turquoise:"청록색",Undo:"실행 취소","Upload in progress":"업로드 진행 중",White:"흰색","Widget toolbar":"위젯 툴바",Yellow:"노랑색"}),o.getPluralForm=function(e){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ne.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ne.js
index 23b4cefbb1..9c3a20d163 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ne.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ne.js
@@ -1 +1 @@
-!function(e){const o=e.ne=e.ne||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"०% मध्ये १%",Aquamarine:"अव्कवामरिन",Black:"कालो",Blue:"निलो",Cancel:"रद्द गर्नुहोस्","Dim grey":"धमिलो खैरो","Dropdown toolbar":"","Edit block":"ब्लक सम्पादन गर्न","Editor toolbar":"",Green:"हरियो",Grey:"खैरो","Light blue":"हल्का निलो","Light green":"हल्का हरियो","Light grey":"हल्का खैरो",Next:"अर्को",Orange:"सुन्तला रंग",Previous:"अघिल्लो",Purple:"बैंगनी रंग",Red:"रातो",Redo:"रिडु","Remove color":"रंग हटाउन","Restore default":"","Rich Text Editor":"धनी पाठ सम्पादक","Rich Text Editor, %0":"धनी पाठ सम्पादक, %0",Save:"सुरक्षित गर्नुहोस्","Show more items":"",Turquoise:"त्रकोइस",Undo:"पूर्ववत","Upload in progress":"अपलोड हुदैछ",White:"सेतो",Yellow:"पहेंलो"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const o=e.ne=e.ne||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 मध्ये %1",Aquamarine:"अव्कवामरिन",Black:"कालो",Blue:"निलो",Cancel:"रद्द गर्नुहोस्","Dim grey":"धमिलो खैरो","Dropdown toolbar":"","Edit block":"ब्लक सम्पादन गर्न","Editor toolbar":"",Green:"हरियो",Grey:"खैरो","Light blue":"हल्का निलो","Light green":"हल्का हरियो","Light grey":"हल्का खैरो",Next:"अर्को",Orange:"सुन्तला रंग",Previous:"अघिल्लो",Purple:"बैंगनी रंग",Red:"रातो",Redo:"रिडु","Remove color":"रंग हटाउन","Restore default":"","Rich Text Editor":"धनी पाठ सम्पादक","Rich Text Editor, %0":"धनी पाठ सम्पादक, %0",Save:"सुरक्षित गर्नुहोस्","Show more items":"",Turquoise:"त्रकोइस",Undo:"पूर्ववत","Upload in progress":"अपलोड हुदैछ",White:"सेतो",Yellow:"पहेंलो"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nl.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nl.js
index 363b15c430..502b7231fc 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nl.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nl.js
@@ -1 +1 @@
-!function(e){const r=e.nl=e.nl||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"0% van 1%",Aquamarine:"Aquamarijn",Black:"Zwart",Blue:"Blauw",Cancel:"Annuleren","Dim grey":"Gedimd grijs","Dropdown toolbar":"Drop-down werkbalk","Edit block":"Blok aanpassen","Editor toolbar":"Editor welkbalk",Green:"Groen",Grey:"Grijs","Insert paragraph after block":"Voeg paragraaf toe na blok","Insert paragraph before block":"Voeg paragraaf toe voor blok","Light blue":"Lichtblauw","Light green":"Lichtgroen","Light grey":"Lichtgrijs",Next:"Volgende",Orange:"Oranje",Previous:"Vorige",Purple:"Paars",Red:"Rood",Redo:"Opnieuw","Remove color":"Verwijder kleur","Restore default":"Standaardinstellingen terugzetten","Rich Text Editor":"Tekstbewerker","Rich Text Editor, %0":"Tekstbewerker, 0%",Save:"Opslaan","Select all":"Selecteer alles","Show more items":"Meer items weergeven",Turquoise:"Turquoise",Undo:"Ongedaan maken","Upload in progress":"Bezig met uploaden",White:"Wit","Widget toolbar":"Widget werkbalk",Yellow:"Geel"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const r=e.nl=e.nl||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 van %1",Aquamarine:"Aquamarijn",Black:"Zwart",Blue:"Blauw",Cancel:"Annuleren","Dim grey":"Gedimd grijs","Dropdown toolbar":"Drop-down werkbalk","Edit block":"Blok aanpassen","Editor toolbar":"Editor welkbalk",Green:"Groen",Grey:"Grijs","Insert paragraph after block":"Voeg paragraaf toe na blok","Insert paragraph before block":"Voeg paragraaf toe voor blok","Light blue":"Lichtblauw","Light green":"Lichtgroen","Light grey":"Lichtgrijs",Next:"Volgende",Orange:"Oranje",Previous:"Vorige",Purple:"Paars",Red:"Rood",Redo:"Opnieuw","Remove color":"Verwijder kleur","Restore default":"Standaardinstellingen terugzetten","Rich Text Editor":"Tekstbewerker","Rich Text Editor, %0":"Tekstbewerker, %0",Save:"Opslaan","Select all":"Selecteer alles","Show more items":"Meer items weergeven",Turquoise:"Turquoise",Undo:"Ongedaan maken","Upload in progress":"Bezig met uploaden",White:"Wit","Widget toolbar":"Widget werkbalk",Yellow:"Geel"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt-br.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt-br.js
index 32bbe9cf00..8552ade4a7 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt-br.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt-br.js
@@ -1 +1 @@
-!function(r){const e=r["pt-br"]=r["pt-br"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Água-marinha",Black:"Preto",Blue:"Azul",Cancel:"Cancelar","Dim grey":"Cinza escuro","Dropdown toolbar":"Barra de Ferramentas da Lista Suspensa","Edit block":"Editor de bloco","Editor toolbar":"Ferramentas do Editor",Green:"Verde",Grey:"Cinza","Insert paragraph after block":"Inserir parágrafo após o bloco","Insert paragraph before block":"Inserir parágrafo antes do bloco","Light blue":"Azul claro","Light green":"Verde claro","Light grey":"Cinza claro",Next:"Próximo",Orange:"Laranja",Previous:"Anterior",Purple:"Púrpura",Red:"Vermelho",Redo:"Refazer","Remove color":"Remover cor","Restore default":"","Rich Text Editor":"Editor de Formatação","Rich Text Editor, %0":"Editor de Formatação, %0",Save:"Salvar","Select all":"Selecionar tudo","Show more items":"Exibir mais itens",Turquoise:"Turquesa",Undo:"Desfazer","Upload in progress":"Enviando dados",White:"Branco","Widget toolbar":"Ferramentas de Widgets",Yellow:"Amarelo"}),e.getPluralForm=function(r){return r>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(r){const e=r["pt-br"]=r["pt-br"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Água-marinha",Black:"Preto",Blue:"Azul",Cancel:"Cancelar","Dim grey":"Cinza escuro","Dropdown toolbar":"Barra de Ferramentas da Lista Suspensa","Edit block":"Editor de bloco","Editor toolbar":"Ferramentas do Editor",Green:"Verde",Grey:"Cinza","Insert paragraph after block":"Inserir parágrafo após o bloco","Insert paragraph before block":"Inserir parágrafo antes do bloco","Light blue":"Azul claro","Light green":"Verde claro","Light grey":"Cinza claro",Next:"Próximo",Orange:"Laranja",Previous:"Anterior",Purple:"Púrpura",Red:"Vermelho",Redo:"Refazer","Remove color":"Remover cor","Restore default":"Restaurar padrão","Rich Text Editor":"Editor de Formatação","Rich Text Editor, %0":"Editor de Formatação, %0",Save:"Salvar","Select all":"Selecionar tudo","Show more items":"Exibir mais itens",Turquoise:"Turquesa",Undo:"Desfazer","Upload in progress":"Enviando dados",White:"Branco","Widget toolbar":"Ferramentas de Widgets",Yellow:"Amarelo"}),e.getPluralForm=function(r){return r>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sk.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sk.js
index 2d5273ac7f..a71276c73b 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sk.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sk.js
@@ -1 +1 @@
-!function(o){const e=o.sk=o.sk||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 z %1",Aquamarine:"Akvamarínová",Black:"Čierna",Blue:"Modrá",Cancel:"Zrušiť","Dim grey":"Tmavosivá","Dropdown toolbar":"Panel nástrojov roletového menu","Edit block":"Upraviť odsek","Editor toolbar":"Panel nástrojov editora",Green:"Zelená",Grey:"Sivá","Insert paragraph after block":"Vložiť odstavec za blok","Insert paragraph before block":"Vložiť odstavec pred blok","Light blue":"Bledomodrá","Light green":"Bledozelená","Light grey":"Bledosivá",Next:"Ďalšie",Orange:"Oranžová",Previous:"Predchádzajúce",Purple:"Fialová",Red:"Červená",Redo:"Znova","Remove color":"Zrušiť farbu","Restore default":"","Rich Text Editor":"Editor s formátovaním","Rich Text Editor, %0":"Editor s formátovaním, %0",Save:"Uložiť","Select all":"Označiť všetko","Show more items":"Zobraziť viac položiek",Turquoise:"Tyrkysová",Undo:"Späť","Upload in progress":"Prebieha nahrávanie",White:"Biela","Widget toolbar":"Panel nástrojov ovládacieho prvku",Yellow:"Žltá"}),e.getPluralForm=function(o){return o%1==0&&1==o?0:o%1==0&&o>=2&&o<=4?1:o%1!=0?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(o){const e=o.sk=o.sk||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 z %1",Aquamarine:"Akvamarínová",Black:"Čierna",Blue:"Modrá",Cancel:"Zrušiť","Dim grey":"Tmavosivá","Dropdown toolbar":"Panel nástrojov roletového menu","Edit block":"Upraviť odsek","Editor toolbar":"Panel nástrojov editora",Green:"Zelená",Grey:"Sivá","Insert paragraph after block":"Vložiť odstavec za blok","Insert paragraph before block":"Vložiť odstavec pred blok","Light blue":"Bledomodrá","Light green":"Bledozelená","Light grey":"Bledosivá",Next:"Ďalšie",Orange:"Oranžová",Previous:"Predchádzajúce",Purple:"Fialová",Red:"Červená",Redo:"Znova","Remove color":"Zrušiť farbu","Restore default":"Obnoviť predvolené","Rich Text Editor":"Editor s formátovaním","Rich Text Editor, %0":"Editor s formátovaním, %0",Save:"Uložiť","Select all":"Označiť všetko","Show more items":"Zobraziť viac položiek",Turquoise:"Tyrkysová",Undo:"Späť","Upload in progress":"Prebieha nahrávanie",White:"Biela","Widget toolbar":"Panel nástrojov ovládacieho prvku",Yellow:"Žltá"}),e.getPluralForm=function(o){return o%1==0&&1==o?0:o%1==0&&o>=2&&o<=4?1:o%1!=0?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tk.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tk.js
index 23a6fd03d7..fa03c79665 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tk.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tk.js
@@ -1 +1 @@
-!function(a){const e=a.tk=a.tk||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"1%-iň 0%-i",Aquamarine:"Akuamarin",Black:"Gara",Blue:"Gök",Cancel:"Ýatyr","Dim grey":"Goýy çal","Dropdown toolbar":"Açylýan gurallar paneli","Edit block":"Bloky redaktirläň","Editor toolbar":"Redaktor gurallar paneli",Green:"Ýaşyl",Grey:"Çal","Insert paragraph after block":"Blokdan soň abzas goýuň","Insert paragraph before block":"Blokdan öň abzas goýuň","Light blue":"Açyk gök","Light green":"Açyk ýaşyl","Light grey":"Açyk çal",Next:"Indiki",Orange:"Mämişi",Previous:"Öňki",Purple:"Gyrmyzy",Red:"Gyzyl",Redo:"Öňe gaýtar","Remove color":"Reňki aýyryň","Restore default":"","Rich Text Editor":"Baý Tekst Redaktory","Rich Text Editor, %0":"Baý Tekst Redaktory, %0",Save:"Saklaň","Select all":"Ählisini saýla","Show more items":"Has köp zady görkeziň",Turquoise:"Turkuaz",Undo:"Yza gaýtar","Upload in progress":"Ýüklemek dowam edýär",White:"Ak","Widget toolbar":"Widget gurallar paneli",Yellow:"Sary"}),e.getPluralForm=function(a){return 1!=a}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(a){const e=a.tk=a.tk||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%1-iň %0-i",Aquamarine:"Akuamarin",Black:"Gara",Blue:"Gök",Cancel:"Ýatyr","Dim grey":"Goýy çal","Dropdown toolbar":"Açylýan gurallar paneli","Edit block":"Bloky redaktirläň","Editor toolbar":"Redaktor gurallar paneli",Green:"Ýaşyl",Grey:"Çal","Insert paragraph after block":"Blokdan soň abzas goýuň","Insert paragraph before block":"Blokdan öň abzas goýuň","Light blue":"Açyk gök","Light green":"Açyk ýaşyl","Light grey":"Açyk çal",Next:"Indiki",Orange:"Mämişi",Previous:"Öňki",Purple:"Gyrmyzy",Red:"Gyzyl",Redo:"Öňe gaýtar","Remove color":"Reňki aýyryň","Restore default":"","Rich Text Editor":"Baý Tekst Redaktory","Rich Text Editor, %0":"Baý Tekst Redaktory, %0",Save:"Saklaň","Select all":"Ählisini saýla","Show more items":"Has köp zady görkeziň",Turquoise:"Turkuaz",Undo:"Yza gaýtar","Upload in progress":"Ýüklemek dowam edýär",White:"Ak","Widget toolbar":"Widget gurallar paneli",Yellow:"Sary"}),e.getPluralForm=function(a){return 1!=a}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ug.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ug.js
index 812dfb5376..b5edf5afea 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ug.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ug.js
@@ -1 +1 @@
-!function(e){const o=e.ug=e.ug||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"ئىناۋەتسىز","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"تەكرارلاش","Remove color":"رەڭنى چىقىرىۋېتىش","Restore default":"","Rich Text Editor":"تېكىست تەھرىرلىگۈچ","Rich Text Editor, %0":"تېكىست تەھرىرلىگۈچ، 0%",Save:"ساقلاش","Show more items":"",Turquoise:"",Undo:"يېنىۋېلىش",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const o=e.ug=e.ug||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"ئىناۋەتسىز","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"تەكرارلاش","Remove color":"رەڭنى چىقىرىۋېتىش","Restore default":"","Rich Text Editor":"تېكىست تەھرىرلىگۈچ","Rich Text Editor, %0":"تېكىست تەھرىرلىگۈچ، %0",Save:"ساقلاش","Show more items":"",Turquoise:"",Undo:"يېنىۋېلىش",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uz.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uz.js
new file mode 100644
index 0000000000..1a04c0281d
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uz.js
@@ -0,0 +1 @@
+!function(a){const i=a.uz=a.uz||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"",Aquamarine:"Akuamarin",Black:"Qora",Blue:"Ko'k",Cancel:"Bekor qilish","Dim grey":"To'q kulrang","Dropdown toolbar":"Ochiladigan asboblar paneli","Edit block":"Blokni tahrirlash","Editor toolbar":"Tahrirlovchi asboblar paneli",Green:"Yashil",Grey:"Kulrang","Insert paragraph after block":"Вblokdan keyin paragraf qo'yish","Insert paragraph before block":"Blokdan oldin paragrafni kiritish","Light blue":"Moviy","Light green":"Och yashil","Light grey":"Och kulrang",Next:"Keyingi",Orange:"To'q sariq",Previous:"Oldingi",Purple:"Siyohrang",Red:"Qizil",Redo:"Takrorlash","Remove color":"Rangni olib tashlash","Restore default":"","Rich Text Editor":"Tahrirlovchi","Rich Text Editor, %0":"Tahrirlovchi, %0",Save:"Saqlash","Select all":"Hammasini tanlash","Show more items":"",Turquoise:"Turkuaz",Undo:"Bekor qilish","Upload in progress":"Yuklanmoqda",White:"Oq","Widget toolbar":"Vidjet asboblar paneli",Yellow:"Sariq"}),i.getPluralForm=function(a){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh.js b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh.js
index f75bb424ff..21f04539e5 100644
--- a/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh.js
+++ b/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh.js
@@ -1 +1 @@
-!function(e){const o=e.zh=e.zh||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0/%1",Aquamarine:"淺綠色",Black:"黑色",Blue:"藍色",Cancel:"取消","Dim grey":"淡灰色","Dropdown toolbar":"下拉選單","Edit block":"編輯區塊","Editor toolbar":"編輯器工具",Green:"綠色",Grey:"灰色","Insert paragraph after block":"在這個區塊後面插入一個段落","Insert paragraph before block":"在這個區塊前面插入一個段落","Light blue":"亮藍色","Light green":"亮綠色","Light grey":"亮灰色",Next:"下一",Orange:"橘色",Previous:"上一",Purple:"紫色",Red:"紅色",Redo:"重做","Remove color":"移除顏色","Restore default":"","Rich Text Editor":"豐富文字編輯器","Rich Text Editor, %0":"豐富文字編輯器,%0",Save:"儲存","Select all":"選取全部","Show more items":"顯示更多",Turquoise:"藍綠色",Undo:"取消","Upload in progress":"正在上傳",White:"白色","Widget toolbar":"小工具",Yellow:"黃色"}),o.getPluralForm=function(e){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const o=e.zh=e.zh||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0/%1",Aquamarine:"淺綠色",Black:"黑色",Blue:"藍色",Cancel:"取消","Dim grey":"淡灰色","Dropdown toolbar":"下拉選單","Edit block":"編輯區塊","Editor toolbar":"編輯器工具",Green:"綠色",Grey:"灰色","Insert paragraph after block":"在這個區塊後面插入一個段落","Insert paragraph before block":"在這個區塊前面插入一個段落","Light blue":"亮藍色","Light green":"亮綠色","Light grey":"亮灰色",Next:"下一",Orange:"橘色",Previous:"上一",Purple:"紫色",Red:"紅色",Redo:"重做","Remove color":"移除顏色","Restore default":"重設至預設值","Rich Text Editor":"豐富文字編輯器","Rich Text Editor, %0":"豐富文字編輯器,%0",Save:"儲存","Select all":"選取全部","Show more items":"顯示更多",Turquoise:"藍綠色",Undo:"取消","Upload in progress":"正在上傳",White:"白色","Widget toolbar":"小工具",Yellow:"黃色"}),o.getPluralForm=function(e){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/code-block.js b/web/core/assets/vendor/ckeditor5/code-block/code-block.js
new file mode 100644
index 0000000000..85161f01a3
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/code-block.js
@@ -0,0 +1,5 @@
+!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Insert code block":"Insert code block","Plain text":"Plain text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
+/*!
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */(()=>{var e={67:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});var o=n(609),i=n.n(o)()((function(e){return e[1]}));i.push([e.id,".ck-content pre{background:hsla(0,0%,78%,.3);border:1px solid #c4c4c4;border-radius:2px;color:#353535;direction:ltr;font-style:normal;min-width:200px;padding:1em;tab-size:4;text-align:left;white-space:pre-wrap}.ck-content pre code{background:unset;border-radius:0;padding:0}.ck.ck-editor__editable pre{position:relative}.ck.ck-editor__editable pre[data-language]:after{content:attr(data-language);position:absolute}:root{--ck-color-code-block-label-background:#757575}.ck.ck-editor__editable pre[data-language]:after{background:var(--ck-color-code-block-label-background);color:#fff;font-family:var(--ck-font-face);font-size:10px;line-height:16px;padding:var(--ck-spacing-tiny) var(--ck-spacing-medium);right:10px;top:-1px;white-space:nowrap}.ck.ck-code-block-dropdown .ck-dropdown__panel{max-height:250px;overflow-x:hidden;overflow-y:auto}",""]);const r=i},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,o){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var c=0;c<e.length;c++){var s=[].concat(e[c]);o&&i[s[0]]||(n&&(s[2]?s[2]="".concat(n," and ").concat(s[2]):s[2]=n),t.push(s))}},t}},62:(e,t,n)=>{"use strict";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function c(e){for(var t=-1,n=0;n<a.length;n++)if(a[n].identifier===e){t=n;break}return t}function s(e,t){for(var n={},o=[],i=0;i<e.length;i++){var r=e[i],s=t.base?r[0]+t.base:r[0],l=n[s]||0,d="".concat(s," ").concat(l);n[s]=l+1;var u=c(d),g={css:r[1],media:r[2],sourceMap:r[3]};-1!==u?(a[u].references++,a[u].updater(g)):a.push({identifier:d,updater:h(g,t),references:1}),o.push(d)}return o}function l(e){var t=document.createElement("style"),o=e.attributes||{};if(void 0===o.nonce){var i=n.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),"function"==typeof e.insert)e.insert(t);else{var a=r(e.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(t)}return t}var d,u=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function g(e,t,n,o){var i=n?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(e.styleSheet)e.styleSheet.cssText=u(t,i);else{var r=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(r,a[t]):e.appendChild(r)}}function f(e,t,n){var o=n.css,i=n.media,r=n.sourceMap;if(i?e.setAttribute("media",i):e.removeAttribute("media"),r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var m=null,p=0;function h(e,t){var n,o,i;if(t.singleton){var r=p++;n=m||(m=l(t)),o=g.bind(null,n,r,!1),i=g.bind(null,n,r,!0)}else n=l(t),o=f.bind(null,n,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=i());var n=s(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var o=0;o<n.length;o++){var i=c(n[o]);a[i].references--}for(var r=s(e,t),l=0;l<n.length;l++){var d=c(n[l]);0===a[d].references&&(a[d].updater(),a.splice(d,1))}n=r}}}},704:(e,t,n)=>{e.exports=n(79)("./src/core.js")},492:(e,t,n)=>{e.exports=n(79)("./src/engine.js")},331:(e,t,n)=>{e.exports=n(79)("./src/enter.js")},273:(e,t,n)=>{e.exports=n(79)("./src/ui.js")},209:(e,t,n)=>{e.exports=n(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={id:o,exports:{}};return e[o](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{"use strict";n.r(o),n.d(o,{CodeBlock:()=>E,CodeBlockEditing:()=>v,CodeBlockUI:()=>A});var e=n(704),t=n(331),i=n(492),r=n(209);function a(e){const t=e.t,n=e.config.get("codeBlock.languages");for(const e of n)"Plain text"===e.label&&(e.label=t("Plain text")),void 0===e.class&&(e.class=`language-${e.language}`);return n}function c(e,t,n){const o={};for(const i of e)"class"===t?o[i[t].split(" ").shift()]=i[n]:o[i[t]]=i[n];return o}function s(e){return e.data.match(/^(\s*)/)[0]}function l(e){const t=e.document.selection,n=[];if(t.isCollapsed)n.push(t.anchor);else{const o=t.getFirstRange().getWalker({ignoreElementEnd:!0,direction:"backward"});for(const{item:t}of o)if(t.is("$textProxy")&&t.parent.is("element","codeBlock")){const o=s(t.textNode),{parent:i,startOffset:r}=t.textNode,a=e.createPositionAt(i,r+o.length);n.push(a)}}return n}function d(e){const t=(0,r.first)(e.getSelectedBlocks());return t&&t.is("element","codeBlock")}class u extends e.Command{constructor(e){super(e),this._lastLanguage=null}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(e={}){const t=this.editor,n=t.model,o=n.document.selection,i=a(t)[0],r=Array.from(o.getSelectedBlocks()),c=void 0===e.forceValue?!this.value:e.forceValue,s=function(e,t,n){if(e.language)return e.language;if(e.usePreviousLanguageChoice&&t)return t;return n}(e,this._lastLanguage,i.language);n.change((e=>{c?this._applyCodeBlock(e,r,s):this._removeCodeBlock(e,r)}))}_getValue(){const e=this.editor.model.document.selection,t=(0,r.first)(e.getSelectedBlocks());return!!!(!t||!t.is("element","codeBlock"))&&t.getAttribute("language")}_checkEnabled(){if(this.value)return!0;const e=this.editor.model.document.selection,t=this.editor.model.schema,n=(0,r.first)(e.getSelectedBlocks());return!!n&&g(t,n)}_applyCodeBlock(e,t,n){this._lastLanguage=n;const o=this.editor.model.schema,i=t.filter((e=>g(o,e)));for(const t of i)e.rename(t,"codeBlock"),e.setAttribute("language",n,t),o.removeDisallowedAttributes([t],e),Array.from(t.getChildren()).filter((e=>!o.checkChild(t,e))).forEach((t=>e.remove(t)));i.reverse().forEach(((t,n)=>{const o=i[n+1];t.previousSibling===o&&(e.appendElement("softBreak",o),e.merge(e.createPositionBefore(t)))}))}_removeCodeBlock(e,t){const n=t.filter((e=>e.is("element","codeBlock")));for(const t of n){const n=e.createRangeOn(t);for(const t of Array.from(n.getItems()).reverse())if(t.is("element","softBreak")&&t.parent.is("element","codeBlock")){const{position:n}=e.split(e.createPositionBefore(t));e.rename(n.nodeAfter,"paragraph"),e.removeAttribute("language",n.nodeAfter),e.remove(t)}e.rename(t,"paragraph"),e.removeAttribute("language",t)}}}function g(e,t){return!t.is("rootElement")&&!e.isLimit(t)&&e.checkChild(t.parent,"codeBlock")}class f extends e.Command{constructor(e){super(e),this._indentSequence=e.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const e=this.editor.model;e.change((t=>{const n=l(e);for(const e of n)t.insertText(this._indentSequence,e)}))}_checkEnabled(){return!!this._indentSequence&&d(this.editor.model.document.selection)}}class m extends e.Command{constructor(e){super(e),this._indentSequence=e.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const e=this.editor.model;e.change((t=>{const n=l(e);for(const e of n){const n=p(this.editor.model,e,this._indentSequence);n&&t.remove(n)}}))}_checkEnabled(){if(!this._indentSequence)return!1;const e=this.editor.model;return!!d(e.document.selection)&&l(e).some((t=>p(e,t,this._indentSequence)))}}function p(e,t,n){const o=function(e){let t=e.parent.getChild(e.index);t&&!t.is("element","softBreak")||(t=e.nodeBefore);if(!t||t.is("element","softBreak"))return null;return t}(t);if(!o)return null;const i=s(o),r=i.lastIndexOf(n);if(r+n.length!==i.length)return null;if(-1===r)return null;const{parent:a,startOffset:c}=o;return e.createRange(e.createPositionAt(a,c+r),e.createPositionAt(a,c+r+n.length))}function h(e,t,n=!1){const o=c(t,"language","class"),i=c(t,"language","label");return(t,r,a)=>{const{writer:c,mapper:s,consumable:l}=a;if(!l.consume(r.item,"insert"))return;const d=r.item.getAttribute("language"),u=s.toViewPosition(e.createPositionBefore(r.item)),g={};n&&(g["data-language"]=i[d],g.spellcheck="false");const f=c.createContainerElement("code",{class:o[d]||null}),m=c.createContainerElement("pre",g,f);c.insert(u,m),s.bindElements(r.item,f)}}const b="paragraph";class v extends e.Plugin{static get pluginName(){return"CodeBlockEditing"}static get requires(){return[t.ShiftEnter]}constructor(e){super(e),e.config.define("codeBlock",{languages:[{language:"plaintext",label:"Plain text"},{language:"c",label:"C"},{language:"cs",label:"C#"},{language:"cpp",label:"C++"},{language:"css",label:"CSS"},{language:"diff",label:"Diff"},{language:"html",label:"HTML"},{language:"java",label:"Java"},{language:"javascript",label:"JavaScript"},{language:"php",label:"PHP"},{language:"python",label:"Python"},{language:"ruby",label:"Ruby"},{language:"typescript",label:"TypeScript"},{language:"xml",label:"XML"}],indentSequence:"\t"})}init(){const e=this.editor,t=e.model.schema,n=e.model,o=e.editing.view,r=e.plugins.has("DocumentListEditing"),s=a(e);e.commands.add("codeBlock",new u(e)),e.commands.add("indentCodeBlock",new f(e)),e.commands.add("outdentCodeBlock",new m(e)),this.listenTo(o.document,"tab",((t,n)=>{const o=n.shiftKey?"outdentCodeBlock":"indentCodeBlock";e.commands.get(o).isEnabled&&(e.execute(o),n.stopPropagation(),n.preventDefault(),t.stop())}),{context:"pre"}),t.register("codeBlock",{allowWhere:"$block",allowChildren:"$text",isBlock:!0,allowAttributes:["language"]}),t.addAttributeCheck(((e,t)=>{const n=e.endsWith("codeBlock")&&t.startsWith("list")&&"list"!==t;return!(!r||!n)||!e.endsWith("codeBlock $text")&&void 0})),e.model.schema.addChildCheck(((e,t)=>{if(e.endsWith("codeBlock")&&t.isObject)return!1})),e.editing.downcastDispatcher.on("insert:codeBlock",h(n,s,!0)),e.data.downcastDispatcher.on("insert:codeBlock",h(n,s)),e.data.downcastDispatcher.on("insert:softBreak",function(e){return(t,n,o)=>{if("codeBlock"!==n.item.parent.name)return;const{writer:i,mapper:r,consumable:a}=o;if(!a.consume(n.item,"insert"))return;const c=r.toViewPosition(e.createPositionBefore(n.item));i.insert(c,i.createText("\n"))}}(n),{priority:"high"}),e.data.upcastDispatcher.on("element:code",function(e,t){const n=c(t,"class","language"),o=t[0].language;return(e,t,i)=>{const r=t.viewItem,a=r.parent;if(!a||!a.is("element","pre"))return;if(t.modelCursor.findAncestor("codeBlock"))return;const{consumable:c,writer:s}=i;if(!c.test(r,{name:!0}))return;const l=s.createElement("codeBlock"),d=[...r.getClassNames()];d.length||d.push("");for(const e of d){const t=n[e];if(t){s.setAttribute("language",t,l);break}}l.hasAttribute("language")||s.setAttribute("language",o,l),i.convertChildren(r,l),i.safeInsert(l,t.modelCursor)&&(c.consume(r,{name:!0}),i.updateConversionResult(l,t))}}(0,s)),e.data.upcastDispatcher.on("text",((e,t,{consumable:n,writer:o})=>{let i=t.modelCursor;if(!n.test(t.viewItem))return;if(!i.findAncestor("codeBlock"))return;n.consume(t.viewItem);const r=t.viewItem.data.split("\n").map((e=>o.createText(e))),a=r[r.length-1];for(const e of r)if(o.insert(e,i),i=i.getShiftedBy(e.offsetSize),e!==a){const e=o.createElement("softBreak");o.insert(e,i),i=o.createPositionAfter(e)}t.modelRange=o.createRange(t.modelCursor,i),t.modelCursor=i})),this.listenTo(e.editing.view.document,"clipboardInput",((t,o)=>{let r=n.createRange(n.document.selection.anchor);if(o.targetRanges&&(r=e.editing.mapper.toModelRange(o.targetRanges[0])),!r.start.parent.is("element","codeBlock"))return;const a=o.dataTransfer.getData("text/plain"),c=new i.UpcastWriter(e.editing.view.document);o.content=function(e,t){const n=e.createDocumentFragment(),o=t.split("\n"),i=o.reduce(((t,n,i)=>(t.push(n),i<o.length-1&&t.push(e.createElement("br")),t)),[]);return e.appendChild(i,n),n}(c,a)})),this.listenTo(n,"getSelectedContent",((e,[o])=>{const i=o.anchor;!o.isCollapsed&&i.parent.is("element","codeBlock")&&i.hasSameParentAs(o.focus)&&n.change((n=>{const r=e.return;if(r.childCount>1||o.containsEntireContent(i.parent)){const t=n.createElement("codeBlock",i.parent.getAttributes());n.append(r,t);const o=n.createDocumentFragment();n.append(t,o),e.return=o}else{const e=r.getChild(0);t.checkAttribute(e,"code")&&n.setAttribute("code",!0,e)}}))}))}afterInit(){const e=this.editor,t=e.commands,n=t.get("indent"),o=t.get("outdent");n&&n.registerChildCommand(t.get("indentCodeBlock"),{priority:"highest"}),o&&o.registerChildCommand(t.get("outdentCodeBlock")),this.listenTo(e.editing.view.document,"enter",((t,n)=>{e.model.document.selection.getLastPosition().parent.is("element","codeBlock")&&(function(e,t){const n=e.model.document,o=e.editing.view,i=n.selection.getLastPosition(),r=i.nodeAfter;if(t||!n.selection.isCollapsed||!i.isAtStart)return!1;if(!B(r))return!1;return e.model.change((t=>{e.execute("enter");const o=n.selection.anchor.parent.previousSibling;t.rename(o,b),t.setSelection(o,"in"),e.model.schema.removeDisallowedAttributes([o],t),t.remove(r)})),o.scrollToTheSelection(),!0}(e,n.isSoft)||function(e,t){const n=e.model,o=n.document,i=e.editing.view,r=o.selection.getLastPosition(),a=r.nodeBefore;let c;if(t||!o.selection.isCollapsed||!r.isAtEnd||!a||!a.previousSibling)return!1;if(B(a)&&B(a.previousSibling))c=n.createRange(n.createPositionBefore(a.previousSibling),n.createPositionAfter(a));else if(k(a)&&B(a.previousSibling)&&B(a.previousSibling.previousSibling))c=n.createRange(n.createPositionBefore(a.previousSibling.previousSibling),n.createPositionAfter(a));else{if(!(k(a)&&B(a.previousSibling)&&k(a.previousSibling.previousSibling)&&B(a.previousSibling.previousSibling.previousSibling)))return!1;c=n.createRange(n.createPositionBefore(a.previousSibling.previousSibling.previousSibling),n.createPositionAfter(a))}return e.model.change((t=>{t.remove(c),e.execute("enter");const n=o.selection.anchor.parent;t.rename(n,b),e.model.schema.removeDisallowedAttributes([n],t)})),i.scrollToTheSelection(),!0}(e,n.isSoft)||function(e){const t=e.model.document,n=t.selection.getLastPosition(),o=n.nodeBefore||n.textNode;let i;o&&o.is("$text")&&(i=s(o));e.model.change((n=>{e.execute("shiftEnter"),i&&n.insertText(i,t.selection.anchor)}))}(e),n.preventDefault(),t.stop())}),{context:"pre"})}}function k(e){return e&&e.is("$text")&&!e.data.match(/\S/)}function B(e){return e&&e.is("element","softBreak")}var w=n(273);var x=n(62),C=n.n(x),S=n(67),y={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};C()(S.Z,y);S.Z.locals;class A extends e.Plugin{static get pluginName(){return"CodeBlockUI"}init(){const e=this.editor,t=e.t,n=e.ui.componentFactory,o=a(e);n.add("codeBlock",(n=>{const i=e.commands.get("codeBlock"),r=(0,w.createDropdown)(n,w.SplitButtonView),a=r.buttonView;return a.set({label:t("Insert code block"),tooltip:!0,icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M12.87 12.61a.75.75 0 0 1-.089.976l-.085.07-3.154 2.254 3.412 2.414a.75.75 0 0 1 .237.95l-.057.095a.75.75 0 0 1-.95.237l-.096-.058-4.272-3.022-.003-1.223 4.01-2.867a.75.75 0 0 1 1.047.174zm2.795-.231.095.057 4.011 2.867-.003 1.223-4.272 3.022-.095.058a.75.75 0 0 1-.88-.151l-.07-.086-.058-.095a.75.75 0 0 1 .15-.88l.087-.07 3.412-2.414-3.154-2.253-.085-.071a.75.75 0 0 1 .862-1.207zM16 0a2 2 0 0 1 2 2v9.354l-.663-.492-.837-.001V2a.5.5 0 0 0-.5-.5H2a.5.5 0 0 0-.5.5v15a.5.5 0 0 0 .5.5h3.118L7.156 19H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h14zM5.009 15l.003 1H3v-1h2.009zm2.188-2-1.471 1H5v-1h2.197zM10 11v.095L8.668 12H7v-1h3zm4-2v1H7V9h7zm0-2v1H7V7h7zm-4-2v1H5V5h5zM6 3v1H3V3h3z"/></svg>',isToggleable:!0}),a.bind("isOn").to(i,"value",(e=>!!e)),a.on("execute",(()=>{e.execute("codeBlock",{usePreviousLanguageChoice:!0}),e.editing.view.focus()})),r.on("execute",(t=>{e.execute("codeBlock",{language:t.source._codeBlockLanguage,forceValue:!0}),e.editing.view.focus()})),r.class="ck-code-block-dropdown",r.bind("isEnabled").to(i),(0,w.addListToDropdown)(r,this._getLanguageListItemDefinitions(o)),r}))}_getLanguageListItemDefinitions(e){const t=this.editor.commands.get("codeBlock"),n=new r.Collection;for(const o of e){const e={type:"button",model:new w.Model({_codeBlockLanguage:o.language,label:o.label,withText:!0})};e.model.bind("isOn").to(t,"value",(t=>t===e.model._codeBlockLanguage)),n.add(e)}return n}}class E extends e.Plugin{static get requires(){return[v,A]}static get pluginName(){return"CodeBlock"}}})(),(window.CKEditor5=window.CKEditor5||{}).codeBlock=o})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/az.js b/web/core/assets/vendor/ckeditor5/code-block/translations/az.js
new file mode 100644
index 0000000000..a58c23ef86
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/az.js
@@ -0,0 +1 @@
+!function(n){const o=n.az=n.az||{};o.dictionary=Object.assign(o.dictionary||{},{"Insert code block":"Kod blokunu əlavə et","Plain text":"Sadə mətn"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/bs.js b/web/core/assets/vendor/ckeditor5/code-block/translations/bs.js
new file mode 100644
index 0000000000..cb2ca052f2
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/bs.js
@@ -0,0 +1 @@
+!function(n){const i=n.bs=n.bs||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Umetni kod blok","Plain text":"Tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/cs.js b/web/core/assets/vendor/ckeditor5/code-block/translations/cs.js
new file mode 100644
index 0000000000..57ba74da22
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/cs.js
@@ -0,0 +1 @@
+!function(o){const t=o.cs=o.cs||{};t.dictionary=Object.assign(t.dictionary||{},{"Insert code block":"Vložit blok zdrojového kódu","Plain text":"Prostý text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/da.js b/web/core/assets/vendor/ckeditor5/code-block/translations/da.js
new file mode 100644
index 0000000000..1afe3fc553
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/da.js
@@ -0,0 +1 @@
+!function(n){const t=n.da=n.da||{};t.dictionary=Object.assign(t.dictionary||{},{"Insert code block":"Indsæt kodeblok","Plain text":"Plain tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/de-ch.js b/web/core/assets/vendor/ckeditor5/code-block/translations/de-ch.js
new file mode 100644
index 0000000000..84bfa488b7
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/de-ch.js
@@ -0,0 +1 @@
+!function(n){const c=n["de-ch"]=n["de-ch"]||{};c.dictionary=Object.assign(c.dictionary||{},{"Insert code block":"Code-Block einfügen","Plain text":"Nur Text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/de.js b/web/core/assets/vendor/ckeditor5/code-block/translations/de.js
new file mode 100644
index 0000000000..3b89849cb3
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/de.js
@@ -0,0 +1 @@
+!function(n){const e=n.de=n.de||{};e.dictionary=Object.assign(e.dictionary||{},{"Insert code block":"Code-Block einfügen","Plain text":"Nur Text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/el.js b/web/core/assets/vendor/ckeditor5/code-block/translations/el.js
new file mode 100644
index 0000000000..925a685d00
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/el.js
@@ -0,0 +1 @@
+!function(n){const i=n.el=n.el||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Εισαγωγή τμήματος κώδικα","Plain text":"Απλό κέιμενο"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/en-au.js b/web/core/assets/vendor/ckeditor5/code-block/translations/en-au.js
new file mode 100644
index 0000000000..8d42b1138a
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/en-au.js
@@ -0,0 +1 @@
+!function(n){const t=n["en-au"]=n["en-au"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Insert code block":"Insert code block","Plain text":"Plain text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/es.js b/web/core/assets/vendor/ckeditor5/code-block/translations/es.js
new file mode 100644
index 0000000000..1cb52a133e
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/es.js
@@ -0,0 +1 @@
+!function(n){const o=n.es=n.es||{};o.dictionary=Object.assign(o.dictionary||{},{"Insert code block":"Insertar bloque de código","Plain text":"Texto plano"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/et.js b/web/core/assets/vendor/ckeditor5/code-block/translations/et.js
new file mode 100644
index 0000000000..c9da9a19fd
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/et.js
@@ -0,0 +1 @@
+!function(t){const i=t.et=t.et||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Sisesta koodiplokk","Plain text":"Lihtsalt tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/fa.js b/web/core/assets/vendor/ckeditor5/code-block/translations/fa.js
new file mode 100644
index 0000000000..d7fafa97cb
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/fa.js
@@ -0,0 +1 @@
+!function(n){const i=n.fa=n.fa||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"درج بلوک کد","Plain text":"متن ساده"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/fr.js b/web/core/assets/vendor/ckeditor5/code-block/translations/fr.js
new file mode 100644
index 0000000000..2a9ce271e6
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/fr.js
@@ -0,0 +1 @@
+!function(n){const o=n.fr=n.fr||{};o.dictionary=Object.assign(o.dictionary||{},{"Insert code block":"Insérer un bloc de code","Plain text":"Texte brut"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/gl.js b/web/core/assets/vendor/ckeditor5/code-block/translations/gl.js
new file mode 100644
index 0000000000..189b28bfa3
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/gl.js
@@ -0,0 +1 @@
+!function(i){const n=i.gl=i.gl||{};n.dictionary=Object.assign(n.dictionary||{},{"Insert code block":"Inserir bloque de código","Plain text":"Texto simple"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/hi.js b/web/core/assets/vendor/ckeditor5/code-block/translations/hi.js
new file mode 100644
index 0000000000..09d5fd0250
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/hi.js
@@ -0,0 +1 @@
+!function(i){const n=i.hi=i.hi||{};n.dictionary=Object.assign(n.dictionary||{},{"Insert code block":"Insert code block","Plain text":"Plain text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/hr.js b/web/core/assets/vendor/ckeditor5/code-block/translations/hr.js
new file mode 100644
index 0000000000..4f8831c785
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/hr.js
@@ -0,0 +1 @@
+!function(n){const i=n.hr=n.hr||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Umetni blok koda","Plain text":"Običan tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/hu.js b/web/core/assets/vendor/ckeditor5/code-block/translations/hu.js
new file mode 100644
index 0000000000..74179088d8
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/hu.js
@@ -0,0 +1 @@
+!function(n){const i=n.hu=n.hu||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Kód blokk beszúrása","Plain text":"Egyszerű szöveg"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/id.js b/web/core/assets/vendor/ckeditor5/code-block/translations/id.js
new file mode 100644
index 0000000000..ac6aeb600b
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/id.js
@@ -0,0 +1 @@
+!function(i){const n=i.id=i.id||{};n.dictionary=Object.assign(n.dictionary||{},{"Insert code block":"Sisipkan blok kode","Plain text":"Teks mentah"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/it.js b/web/core/assets/vendor/ckeditor5/code-block/translations/it.js
new file mode 100644
index 0000000000..a6f06833f1
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/it.js
@@ -0,0 +1 @@
+!function(i){const c=i.it=i.it||{};c.dictionary=Object.assign(c.dictionary||{},{"Insert code block":"Inserisci blocco di codice","Plain text":"Testo semplice"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/ja.js b/web/core/assets/vendor/ckeditor5/code-block/translations/ja.js
new file mode 100644
index 0000000000..73594cd382
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/ja.js
@@ -0,0 +1 @@
+!function(n){const i=n.ja=n.ja||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"コードブロックの挿入","Plain text":"プレインテキスト"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/jv.js b/web/core/assets/vendor/ckeditor5/code-block/translations/jv.js
new file mode 100644
index 0000000000..cea26edf6b
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/jv.js
@@ -0,0 +1 @@
+!function(n){const i=n.jv=n.jv||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"","Plain text":"Seratan biasa"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/ko.js b/web/core/assets/vendor/ckeditor5/code-block/translations/ko.js
new file mode 100644
index 0000000000..5997e731a4
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/ko.js
@@ -0,0 +1 @@
+!function(n){const o=n.ko=n.ko||{};o.dictionary=Object.assign(o.dictionary||{},{"Insert code block":"코드 블럭 삽입","Plain text":"평문"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/ku.js b/web/core/assets/vendor/ckeditor5/code-block/translations/ku.js
new file mode 100644
index 0000000000..610398fd3c
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/ku.js
@@ -0,0 +1 @@
+!function(n){const i=n.ku=n.ku||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"دانانی  خشتەی کۆد","Plain text":"تێکستی سادە"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/lv.js b/web/core/assets/vendor/ckeditor5/code-block/translations/lv.js
new file mode 100644
index 0000000000..e7612947c4
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/lv.js
@@ -0,0 +1 @@
+!function(t){const i=t.lv=t.lv||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Ievietot koda bloku","Plain text":"Vienkāršs teksts"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/nl.js b/web/core/assets/vendor/ckeditor5/code-block/translations/nl.js
new file mode 100644
index 0000000000..d4a3171a29
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/nl.js
@@ -0,0 +1 @@
+!function(n){const t=n.nl=n.nl||{};t.dictionary=Object.assign(t.dictionary||{},{"Insert code block":"Codeblok invoegen","Plain text":"Platte tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/no.js b/web/core/assets/vendor/ckeditor5/code-block/translations/no.js
new file mode 100644
index 0000000000..e4d6bd8951
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/no.js
@@ -0,0 +1 @@
+!function(n){const o=n.no=n.no||{};o.dictionary=Object.assign(o.dictionary||{},{"Insert code block":"Sett inn kodeblokk","Plain text":"Ren tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/pl.js b/web/core/assets/vendor/ckeditor5/code-block/translations/pl.js
new file mode 100644
index 0000000000..4316f98706
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/pl.js
@@ -0,0 +1 @@
+!function(t){const n=t.pl=t.pl||{};n.dictionary=Object.assign(n.dictionary||{},{"Insert code block":"Wstaw blok kodu","Plain text":"Zwykły tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/pt-br.js b/web/core/assets/vendor/ckeditor5/code-block/translations/pt-br.js
new file mode 100644
index 0000000000..9b46847099
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/pt-br.js
@@ -0,0 +1 @@
+!function(o){const t=o["pt-br"]=o["pt-br"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Insert code block":"Inserir bloco de código","Plain text":"Texto sem formatação"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/ro.js b/web/core/assets/vendor/ckeditor5/code-block/translations/ro.js
new file mode 100644
index 0000000000..eb399d9572
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/ro.js
@@ -0,0 +1 @@
+!function(n){const o=n.ro=n.ro||{};o.dictionary=Object.assign(o.dictionary||{},{"Insert code block":"Inserează un bloc code","Plain text":"Text simplu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/ru.js b/web/core/assets/vendor/ckeditor5/code-block/translations/ru.js
new file mode 100644
index 0000000000..c26c7852a0
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/ru.js
@@ -0,0 +1 @@
+!function(n){const i=n.ru=n.ru||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Вставить код","Plain text":"Простой текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/sk.js b/web/core/assets/vendor/ckeditor5/code-block/translations/sk.js
new file mode 100644
index 0000000000..48f3a08352
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/sk.js
@@ -0,0 +1 @@
+!function(t){const i=t.sk=t.sk||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Vložte blok kódu","Plain text":"Čistý text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/sr-latn.js b/web/core/assets/vendor/ckeditor5/code-block/translations/sr-latn.js
new file mode 100644
index 0000000000..6ea795e3f7
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/sr-latn.js
@@ -0,0 +1 @@
+!function(n){const t=n["sr-latn"]=n["sr-latn"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Insert code block":"Dodaj blok koda","Plain text":"Običan tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/sr.js b/web/core/assets/vendor/ckeditor5/code-block/translations/sr.js
new file mode 100644
index 0000000000..81c12d130f
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/sr.js
@@ -0,0 +1 @@
+!function(n){const i=n.sr=n.sr||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Додај блок кода","Plain text":"Обичан текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/th.js b/web/core/assets/vendor/ckeditor5/code-block/translations/th.js
new file mode 100644
index 0000000000..4683ade889
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/th.js
@@ -0,0 +1 @@
+!function(n){const t=n.th=n.th||{};t.dictionary=Object.assign(t.dictionary||{},{"Insert code block":"เพิ่มโค้ดบล็อก","Plain text":"ข้อความธรรมดา"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/tk.js b/web/core/assets/vendor/ckeditor5/code-block/translations/tk.js
new file mode 100644
index 0000000000..89d4e7231c
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/tk.js
@@ -0,0 +1 @@
+!function(t){const n=t.tk=t.tk||{};n.dictionary=Object.assign(n.dictionary||{},{"Insert code block":"Kod blogyna goýuň","Plain text":"Düz tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/tr.js b/web/core/assets/vendor/ckeditor5/code-block/translations/tr.js
new file mode 100644
index 0000000000..0291aa1d81
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/tr.js
@@ -0,0 +1 @@
+!function(n){const t=n.tr=n.tr||{};t.dictionary=Object.assign(t.dictionary||{},{"Insert code block":"Kod bloğu ekle","Plain text":"Düz metin"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/ug.js b/web/core/assets/vendor/ckeditor5/code-block/translations/ug.js
new file mode 100644
index 0000000000..401b2fbee3
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/ug.js
@@ -0,0 +1 @@
+!function(n){const i=n.ug=n.ug||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"","Plain text":"ساپ تېكىست"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/uk.js b/web/core/assets/vendor/ckeditor5/code-block/translations/uk.js
new file mode 100644
index 0000000000..5854a4ac5f
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/uk.js
@@ -0,0 +1 @@
+!function(n){const i=n.uk=n.uk||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Вставте блок коду","Plain text":"Простий текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/uz.js b/web/core/assets/vendor/ckeditor5/code-block/translations/uz.js
new file mode 100644
index 0000000000..9169e1c552
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/uz.js
@@ -0,0 +1 @@
+!function(i){const n=i.uz=i.uz||{};n.dictionary=Object.assign(n.dictionary||{},{"Insert code block":"Kodni kiritish","Plain text":"Oddiy matn"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/zh-cn.js b/web/core/assets/vendor/ckeditor5/code-block/translations/zh-cn.js
new file mode 100644
index 0000000000..858a1e5ef1
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/zh-cn.js
@@ -0,0 +1 @@
+!function(n){const c=n["zh-cn"]=n["zh-cn"]||{};c.dictionary=Object.assign(c.dictionary||{},{"Insert code block":"插入代码块","Plain text":"纯文本"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/code-block/translations/zh.js b/web/core/assets/vendor/ckeditor5/code-block/translations/zh.js
new file mode 100644
index 0000000000..a29bc0d147
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/code-block/translations/zh.js
@@ -0,0 +1 @@
+!function(n){const i=n.zh=n.zh||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"插入程式碼區塊","Plain text":"純文字"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/editor-classic/editor-classic.js b/web/core/assets/vendor/ckeditor5/editor-classic/editor-classic.js
index 9e83af7c8b..64d26ef1b3 100644
--- a/web/core/assets/vendor/ckeditor5/editor-classic/editor-classic.js
+++ b/web/core/assets/vendor/ckeditor5/editor-classic/editor-classic.js
@@ -1,5 +1,4 @@
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-window.CKEditor5=window.CKEditor5||{},window.CKEditor5.editorClassic=function(e){var t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(o,n,function(t){return e[t]}.bind(null,n));return o},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=10)}([function(e,t,r){e.exports=r(3)("./src/ui.js")},function(e,t,r){e.exports=r(3)("./src/core.js")},function(e,t,r){e.exports=r(3)("./src/utils.js")},function(e,t){e.exports=CKEditor5.dll},function(e,t,r){e.exports=r(3)("./src/engine.js")},function(e,t,r){"use strict";(function(e){var r="object"==typeof e&&e&&e.Object===Object&&e;t.a=r}).call(this,r(9))},function(e,t,r){var o=r(7),n=r(8);"string"==typeof(n=n.__esModule?n.default:n)&&(n=[[e.i,n,""]]);var i={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};o(n,i);e.exports=n.locals||{}},function(e,t,r){"use strict";var o,n=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var e={};return function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}e[t]=r}return e[t]}}(),c=[];function a(e){for(var t=-1,r=0;r<c.length;r++)if(c[r].identifier===e){t=r;break}return t}function s(e,t){for(var r={},o=[],n=0;n<e.length;n++){var i=e[n],s=t.base?i[0]+t.base:i[0],l=r[s]||0,d="".concat(s," ").concat(l);r[s]=l+1;var u=a(d),f={css:i[1],media:i[2],sourceMap:i[3]};-1!==u?(c[u].references++,c[u].updater(f)):c.push({identifier:d,updater:k(f,t),references:1}),o.push(d)}return o}function l(e){var t=document.createElement("style"),o=e.attributes||{};if(void 0===o.nonce){var n=r.nc;n&&(o.nonce=n)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),"function"==typeof e.insert)e.insert(t);else{var c=i(e.insert||"head");if(!c)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");c.appendChild(t)}return t}var d,u=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function f(e,t,r,o){var n=r?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(e.styleSheet)e.styleSheet.cssText=u(t,n);else{var i=document.createTextNode(n),c=e.childNodes;c[t]&&e.removeChild(c[t]),c.length?e.insertBefore(i,c[t]):e.appendChild(i)}}function b(e,t,r){var o=r.css,n=r.media,i=r.sourceMap;if(n?e.setAttribute("media",n):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var p=null,h=0;function k(e,t){var r,o,n;if(t.singleton){var i=h++;r=p||(p=l(t)),o=f.bind(null,r,i,!1),n=f.bind(null,r,i,!0)}else r=l(t),o=b.bind(null,r,t),n=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(r)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else n()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=n());var r=s(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var o=0;o<r.length;o++){var n=a(r[o]);c[n].references--}for(var i=s(e,t),l=0;l<r.length;l++){var d=a(r[l]);0===c[d].references&&(c[d].updater(),c.splice(d,1))}r=i}}}},function(e,t){e.exports=".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-modal)}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-bottom-width:0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar{border-bottom-width:1px;border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:0}.ck.ck-editor__main>.ck-editor__editable{background:var(--ck-color-base-background);border-radius:0}.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable,.ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck.ck-editor__main>.ck-editor__editable:not(.ck-focused){border-color:var(--ck-color-base-border)}"},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";r.r(t),r.d(t,"ClassicEditor",(function(){return P}));var o=r(1),n=r(2);var i=function(e){return null!=e&&"object"==typeof e},c=r(5),a="object"==typeof self&&self&&self.Object===Object&&self,s=(c.a||a||Function("return this")()).Symbol,l=Object.prototype,d=l.hasOwnProperty,u=l.toString,f=s?s.toStringTag:void 0;var b=function(e){var t=d.call(e,f),r=e[f];try{e[f]=void 0;var o=!0}catch(e){}var n=u.call(e);return o&&(t?e[f]=r:delete e[f]),n},p=Object.prototype.toString;var h=function(e){return p.call(e)},k=s?s.toStringTag:void 0;var m=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":k&&k in Object(e)?b(e):h(e)};var v=function(e,t){return function(r){return e(t(r))}}(Object.getPrototypeOf,Object),y=Function.prototype,g=Object.prototype,_=y.toString,w=g.hasOwnProperty,j=_.call(Object);var O=function(e){if(!i(e)||"[object Object]"!=m(e))return!1;var t=v(e);if(null===t)return!0;var r=w.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&_.call(r)==j};var x=function(e){return i(e)&&1===e.nodeType&&!O(e)},T=r(0),E=r(4);class C extends o.EditorUI{constructor(e,t){super(e),this.view=t,this._toolbarConfig=Object(T.normalizeToolbarConfig)(e.config.get("toolbar")),this._elementReplacer=new n.ElementReplacer}get element(){return this.view.element}init(e){const t=this.editor,r=this.view,o=t.editing.view,n=r.editable,i=o.document.getRoot();n.name=i.rootName,r.render();const c=n.element;this.setEditableElement(n.name,c),this.focusTracker.add(c),r.editable.bind("isFocused").to(this.focusTracker),o.attachDomRoot(c),e&&this._elementReplacer.replace(e,this.element),this._initPlaceholder(),this._initToolbar(),this.fire("ready")}destroy(){const e=this.view,t=this.editor.editing.view;this._elementReplacer.restore(),t.detachDomRoot(e.editable.name),e.destroy(),super.destroy()}_initToolbar(){const e=this.editor,t=this.view,r=e.editing.view;t.stickyPanel.bind("isActive").to(this.focusTracker,"isFocused"),t.stickyPanel.limiterElement=t.element,t.stickyPanel.bind("viewportTopOffset").to(this,"viewportOffset",({top:e})=>e),t.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory),Object(T.enableToolbarKeyboardFocus)({origin:r,originFocusTracker:this.focusTracker,originKeystrokeHandler:e.keystrokes,toolbar:t.toolbar})}_initPlaceholder(){const e=this.editor,t=e.editing.view,r=t.document.getRoot(),o=e.sourceElement,n=e.config.get("placeholder")||o&&"textarea"===o.tagName.toLowerCase()&&o.getAttribute("placeholder");n&&Object(E.enablePlaceholder)({view:t,element:r,text:n,isDirectHost:!1,keepOnFocus:!0})}}r(6);class S extends T.BoxedEditorUIView{constructor(e,t,r={}){super(e),this.stickyPanel=new T.StickyPanelView(e),this.toolbar=new T.ToolbarView(e,{shouldGroupWhenFull:r.shouldToolbarGroupWhenFull}),this.editable=new T.InlineEditableUIView(e,t)}render(){super.render(),this.stickyPanel.content.add(this.toolbar),this.top.add(this.stickyPanel),this.main.add(this.editable)}}class P extends o.Editor{constructor(e,t){super(t),x(e)&&(this.sourceElement=e),this.model.document.createRoot();const r=!this.config.get("toolbar.shouldNotGroupWhenFull"),n=new S(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:r});this.ui=new C(this,n),Object(o.attachToForm)(this)}destroy(){return this.sourceElement&&this.updateSourceElement(),this.ui.destroy(),super.destroy()}static create(e,t={}){return new Promise(r=>{const o=new this(e,t);r(o.initPlugins().then(()=>o.ui.init(x(e)?e:null)).then(()=>{if(!x(e)&&t.initialData)throw new n.CKEditorError("editor-create-initial-data",null);const r=void 0!==t.initialData?t.initialData:function(e){return x(e)?Object(n.getDataFromElement)(e):e}(e);return o.data.init(r)}).then(()=>o.fire("ready")).then(()=>o))})}}Object(n.mix)(P,o.DataApiMixin),Object(n.mix)(P,o.ElementApiMixin)}]);
\ No newline at end of file
+ */(()=>{var e={655:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});var o=r(609),i=r.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-modal)}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-bottom-width:0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar{border-bottom-width:1px;border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:0}.ck.ck-editor__main>.ck-editor__editable{background:var(--ck-color-base-background);border-radius:0}.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable,.ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck.ck-editor__main>.ck-editor__editable:not(.ck-focused){border-color:var(--ck-color-base-border)}",""]);const n=i},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r})).join("")},t.i=function(e,r,o){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(o)for(var n=0;n<this.length;n++){var c=this[n][0];null!=c&&(i[c]=!0)}for(var a=0;a<e.length;a++){var s=[].concat(e[a]);o&&i[s[0]]||(r&&(s[2]?s[2]="".concat(r," and ").concat(s[2]):s[2]=r),t.push(s))}},t}},62:(e,t,r)=>{"use strict";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},n=function(){var e={};return function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}e[t]=r}return e[t]}}(),c=[];function a(e){for(var t=-1,r=0;r<c.length;r++)if(c[r].identifier===e){t=r;break}return t}function s(e,t){for(var r={},o=[],i=0;i<e.length;i++){var n=e[i],s=t.base?n[0]+t.base:n[0],l=r[s]||0,d="".concat(s," ").concat(l);r[s]=l+1;var u=a(d),b={css:n[1],media:n[2],sourceMap:n[3]};-1!==u?(c[u].references++,c[u].updater(b)):c.push({identifier:d,updater:k(b,t),references:1}),o.push(d)}return o}function l(e){var t=document.createElement("style"),o=e.attributes||{};if(void 0===o.nonce){var i=r.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),"function"==typeof e.insert)e.insert(t);else{var c=n(e.insert||"head");if(!c)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");c.appendChild(t)}return t}var d,u=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function b(e,t,r,o){var i=r?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(e.styleSheet)e.styleSheet.cssText=u(t,i);else{var n=document.createTextNode(i),c=e.childNodes;c[t]&&e.removeChild(c[t]),c.length?e.insertBefore(n,c[t]):e.appendChild(n)}}function f(e,t,r){var o=r.css,i=r.media,n=r.sourceMap;if(i?e.setAttribute("media",i):e.removeAttribute("media"),n&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(n))))," */")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var p=null,h=0;function k(e,t){var r,o,i;if(t.singleton){var n=h++;r=p||(p=l(t)),o=b.bind(null,r,n,!1),i=b.bind(null,r,n,!0)}else r=l(t),o=f.bind(null,r,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(r)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=i());var r=s(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var o=0;o<r.length;o++){var i=a(r[o]);c[i].references--}for(var n=s(e,t),l=0;l<r.length;l++){var d=a(r[l]);0===c[d].references&&(c[d].updater(),c.splice(d,1))}r=n}}}},704:(e,t,r)=>{e.exports=r(79)("./src/core.js")},492:(e,t,r)=>{e.exports=r(79)("./src/engine.js")},273:(e,t,r)=>{e.exports=r(79)("./src/ui.js")},209:(e,t,r)=>{e.exports=r(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={id:o,exports:{}};return e[o](n,n.exports,r),n.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{"use strict";r.r(o),r.d(o,{ClassicEditor:()=>R});var e=r(704),t=r(209);const i=function(e){return null!=e&&"object"==typeof e};const n="object"==typeof global&&global&&global.Object===Object&&global;var c="object"==typeof self&&self&&self.Object===Object&&self;const a=(n||c||Function("return this")()).Symbol;var s=Object.prototype,l=s.hasOwnProperty,d=s.toString,u=a?a.toStringTag:void 0;const b=function(e){var t=l.call(e,u),r=e[u];try{e[u]=void 0;var o=!0}catch(e){}var i=d.call(e);return o&&(t?e[u]=r:delete e[u]),i};var f=Object.prototype.toString;const p=function(e){return f.call(e)};var h=a?a.toStringTag:void 0;const k=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":h&&h in Object(e)?b(e):p(e)};const v=function(e,t){return function(r){return e(t(r))}}(Object.getPrototypeOf,Object);var m=Function.prototype,y=Object.prototype,g=m.toString,_=y.hasOwnProperty,w=g.call(Object);const j=function(e){if(!i(e)||"[object Object]"!=k(e))return!1;var t=v(e);if(null===t)return!0;var r=_.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&g.call(r)==w};const T=function(e){return i(e)&&1===e.nodeType&&!j(e)};var x=r(273),O=r(492);class E extends e.EditorUI{constructor(e,r){super(e),this.view=r,this._toolbarConfig=(0,x.normalizeToolbarConfig)(e.config.get("toolbar")),this._elementReplacer=new t.ElementReplacer}get element(){return this.view.element}init(e){const t=this.editor,r=this.view,o=t.editing.view,i=r.editable,n=o.document.getRoot();i.name=n.rootName,r.render();const c=i.element;this.setEditableElement(i.name,c),this.focusTracker.add(c),r.editable.bind("isFocused").to(this.focusTracker),o.attachDomRoot(c),e&&this._elementReplacer.replace(e,this.element),this._initPlaceholder(),this._initToolbar(),this.fire("ready")}destroy(){const e=this.view,t=this.editor.editing.view;this._elementReplacer.restore(),t.detachDomRoot(e.editable.name),e.destroy(),super.destroy()}_initToolbar(){const e=this.editor,t=this.view,r=e.editing.view;t.stickyPanel.bind("isActive").to(this.focusTracker,"isFocused"),t.stickyPanel.limiterElement=t.element,t.stickyPanel.bind("viewportTopOffset").to(this,"viewportOffset",(({top:e})=>e)),t.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory),(0,x.enableToolbarKeyboardFocus)({origin:r,originFocusTracker:this.focusTracker,originKeystrokeHandler:e.keystrokes,toolbar:t.toolbar})}_initPlaceholder(){const e=this.editor,t=e.editing.view,r=t.document.getRoot(),o=e.sourceElement,i=e.config.get("placeholder")||o&&"textarea"===o.tagName.toLowerCase()&&o.getAttribute("placeholder");i&&(0,O.enablePlaceholder)({view:t,element:r,text:i,isDirectHost:!1,keepOnFocus:!0})}}var S=r(62),C=r.n(S),P=r(655),F={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};C()(P.Z,F);P.Z.locals;class M extends x.BoxedEditorUIView{constructor(e,t,r={}){super(e),this.stickyPanel=new x.StickyPanelView(e),this.toolbar=new x.ToolbarView(e,{shouldGroupWhenFull:r.shouldToolbarGroupWhenFull}),this.editable=new x.InlineEditableUIView(e,t)}render(){super.render(),this.stickyPanel.content.add(this.toolbar),this.top.add(this.stickyPanel),this.main.add(this.editable)}}class R extends e.Editor{constructor(r,o={}){if(!T(r)&&void 0!==o.initialData)throw new t.CKEditorError("editor-create-initial-data",null);super(o),void 0===this.config.get("initialData")&&this.config.set("initialData",function(e){return T(e)?(0,t.getDataFromElement)(e):e}(r)),T(r)&&(this.sourceElement=r),this.model.document.createRoot();const i=!this.config.get("toolbar.shouldNotGroupWhenFull"),n=new M(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:i});this.ui=new E(this,n),(0,e.attachToForm)(this)}destroy(){return this.sourceElement&&this.updateSourceElement(),this.ui.destroy(),super.destroy()}static create(e,t={}){return new Promise((r=>{const o=new this(e,t);r(o.initPlugins().then((()=>o.ui.init(T(e)?e:null))).then((()=>o.data.init(o.config.get("initialData")))).then((()=>o.fire("ready"))).then((()=>o)))}))}}(0,t.mix)(R,e.DataApiMixin),(0,t.mix)(R,e.ElementApiMixin)})(),(window.CKEditor5=window.CKEditor5||{}).editorClassic=o})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js b/web/core/assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js
index 702a29d569..2fb9f871e4 100644
--- a/web/core/assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js
+++ b/web/core/assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js
@@ -1,5 +1,4 @@
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-window.CKEditor5=window.CKEditor5||{},window.CKEditor5.editorDecoupled=function(t){var e={};function o(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,o),n.l=!0,n.exports}return o.m=t,o.c=e,o.d=function(t,e,r){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)o.d(r,n,function(e){return t[e]}.bind(null,n));return r},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=7)}([function(t,e,o){t.exports=o(3)("./src/core.js")},function(t,e,o){t.exports=o(3)("./src/ui.js")},function(t,e,o){t.exports=o(3)("./src/utils.js")},function(t,e){t.exports=CKEditor5.dll},function(t,e,o){t.exports=o(3)("./src/engine.js")},function(t,e,o){"use strict";(function(t){var o="object"==typeof t&&t&&t.Object===Object&&t;e.a=o}).call(this,o(6))},function(t,e){var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(t){"object"==typeof window&&(o=window)}t.exports=o},function(t,e,o){"use strict";o.r(e),o.d(e,"DecoupledEditor",(function(){return _}));var r=o(0),n=o(2);var i=function(t){return null!=t&&"object"==typeof t},c=o(5),s="object"==typeof self&&self&&self.Object===Object&&self,l=(c.a||s||Function("return this")()).Symbol,a=Object.prototype,u=a.hasOwnProperty,d=a.toString,f=l?l.toStringTag:void 0;var b=function(t){var e=u.call(t,f),o=t[f];try{t[f]=void 0;var r=!0}catch(t){}var n=d.call(t);return r&&(e?t[f]=o:delete t[f]),n},h=Object.prototype.toString;var p=function(t){return h.call(t)},g=l?l.toStringTag:void 0;var y=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":g&&g in Object(t)?b(t):p(t)};var m=function(t,e){return function(o){return t(e(o))}}(Object.getPrototypeOf,Object),w=Function.prototype,v=Object.prototype,j=w.toString,O=v.hasOwnProperty,E=j.call(Object);var x=function(t){if(!i(t)||"[object Object]"!=y(t))return!1;var e=m(t);if(null===e)return!0;var o=O.call(e,"constructor")&&e.constructor;return"function"==typeof o&&o instanceof o&&j.call(o)==E};var T=function(t){return i(t)&&1===t.nodeType&&!x(t)},F=o(1),D=o(4);class P extends r.EditorUI{constructor(t,e){super(t),this.view=e}init(){const t=this.editor,e=this.view,o=t.editing.view,r=e.editable,n=o.document.getRoot();e.editable.name=n.rootName,e.render();const i=r.element;this.setEditableElement(r.name,i),this.focusTracker.add(i),e.editable.bind("isFocused").to(this.focusTracker),o.attachDomRoot(i),this._initPlaceholder(),this._initToolbar(),this.fire("ready")}destroy(){const t=this.view;this.editor.editing.view.detachDomRoot(t.editable.name),t.destroy(),super.destroy()}_initToolbar(){const t=this.editor,e=this.view.toolbar;e.fillFromConfig(t.config.get("toolbar"),this.componentFactory),Object(F.enableToolbarKeyboardFocus)({origin:t.editing.view,originFocusTracker:this.focusTracker,originKeystrokeHandler:t.keystrokes,toolbar:e})}_initPlaceholder(){const t=this.editor,e=t.editing.view,o=e.document.getRoot(),r=t.sourceElement,n=t.config.get("placeholder")||r&&"textarea"===r.tagName.toLowerCase()&&r.getAttribute("placeholder");n&&Object(D.enablePlaceholder)({view:e,element:o,text:n,isDirectHost:!1,keepOnFocus:!0})}}class S extends F.EditorUIView{constructor(t,e,o={}){super(t),this.toolbar=new F.ToolbarView(t,{shouldGroupWhenFull:o.shouldToolbarGroupWhenFull}),this.editable=new F.InlineEditableUIView(t,e,o.editableElement),this.toolbar.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:t.uiLanguageDirection}})}render(){super.render(),this.registerChild([this.toolbar,this.editable])}}class _ extends r.Editor{constructor(t,e){super(e),T(t)&&(this.sourceElement=t,Object(r.secureSourceElement)(this)),this.model.document.createRoot();const o=!this.config.get("toolbar.shouldNotGroupWhenFull"),n=new S(this.locale,this.editing.view,{editableElement:this.sourceElement,shouldToolbarGroupWhenFull:o});this.ui=new P(this,n)}destroy(){const t=this.getData();return this.ui.destroy(),super.destroy().then(()=>{this.sourceElement&&Object(n.setDataInElement)(this.sourceElement,t)})}static create(t,e={}){return new Promise(o=>{const r=T(t);if(r&&"TEXTAREA"===t.tagName)throw new n.CKEditorError("editor-wrong-element",null);const i=new this(t,e);o(i.initPlugins().then(()=>{i.ui.init()}).then(()=>{if(!r&&e.initialData)throw new n.CKEditorError("editor-create-initial-data",null);const o=void 0!==e.initialData?e.initialData:function(t){return T(t)?Object(n.getDataFromElement)(t):t}(t);return i.data.init(o)}).then(()=>i.fire("ready")).then(()=>i))})}}Object(n.mix)(_,r.DataApiMixin)}]);
\ No newline at end of file
+ */(()=>{var t={704:(t,e,o)=>{t.exports=o(79)("./src/core.js")},492:(t,e,o)=>{t.exports=o(79)("./src/engine.js")},273:(t,e,o)=>{t.exports=o(79)("./src/ui.js")},209:(t,e,o)=>{t.exports=o(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(r){var i=e[r];if(void 0!==i)return i.exports;var n=e[r]={exports:{}};return t[r](n,n.exports,o),n.exports}o.d=(t,e)=>{for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";o.r(r),o.d(r,{DecoupledEditor:()=>S});var t=o(704),e=o(209);const i=function(t){return null!=t&&"object"==typeof t};const n="object"==typeof global&&global&&global.Object===Object&&global;var s="object"==typeof self&&self&&self.Object===Object&&self;const l=(n||s||Function("return this")()).Symbol;var a=Object.prototype,c=a.hasOwnProperty,d=a.toString,u=l?l.toStringTag:void 0;const h=function(t){var e=c.call(t,u),o=t[u];try{t[u]=void 0;var r=!0}catch(t){}var i=d.call(t);return r&&(e?t[u]=o:delete t[u]),i};var b=Object.prototype.toString;const g=function(t){return b.call(t)};var p=l?l.toStringTag:void 0;const f=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":p&&p in Object(t)?h(t):g(t)};const m=function(t,e){return function(o){return t(e(o))}}(Object.getPrototypeOf,Object);var v=Function.prototype,y=Object.prototype,w=v.toString,j=y.hasOwnProperty,E=w.call(Object);const O=function(t){if(!i(t)||"[object Object]"!=f(t))return!1;var e=m(t);if(null===e)return!0;var o=j.call(e,"constructor")&&e.constructor;return"function"==typeof o&&o instanceof o&&w.call(o)==E};const T=function(t){return i(t)&&1===t.nodeType&&!O(t)};var x=o(273),D=o(492);class F extends t.EditorUI{constructor(t,e){super(t),this.view=e}init(){const t=this.editor,e=this.view,o=t.editing.view,r=e.editable,i=o.document.getRoot();e.editable.name=i.rootName,e.render();const n=r.element;this.setEditableElement(r.name,n),this.focusTracker.add(n),e.editable.bind("isFocused").to(this.focusTracker),o.attachDomRoot(n),this._initPlaceholder(),this._initToolbar(),this.fire("ready")}destroy(){const t=this.view;this.editor.editing.view.detachDomRoot(t.editable.name),t.destroy(),super.destroy()}_initToolbar(){const t=this.editor,e=this.view.toolbar;e.fillFromConfig(t.config.get("toolbar"),this.componentFactory),(0,x.enableToolbarKeyboardFocus)({origin:t.editing.view,originFocusTracker:this.focusTracker,originKeystrokeHandler:t.keystrokes,toolbar:e})}_initPlaceholder(){const t=this.editor,e=t.editing.view,o=e.document.getRoot(),r=t.sourceElement,i=t.config.get("placeholder")||r&&"textarea"===r.tagName.toLowerCase()&&r.getAttribute("placeholder");i&&(0,D.enablePlaceholder)({view:e,element:o,text:i,isDirectHost:!1,keepOnFocus:!0})}}class P extends x.EditorUIView{constructor(t,e,o={}){super(t),this.toolbar=new x.ToolbarView(t,{shouldGroupWhenFull:o.shouldToolbarGroupWhenFull}),this.editable=new x.InlineEditableUIView(t,e,o.editableElement),this.toolbar.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:t.uiLanguageDirection}})}render(){super.render(),this.registerChild([this.toolbar,this.editable])}}class S extends t.Editor{constructor(o,r={}){if(!T(o)&&void 0!==r.initialData)throw new e.CKEditorError("editor-create-initial-data",null);super(r),void 0===this.config.get("initialData")&&this.config.set("initialData",function(t){return T(t)?(0,e.getDataFromElement)(t):t}(o)),T(o)&&(this.sourceElement=o,(0,t.secureSourceElement)(this)),this.model.document.createRoot();const i=!this.config.get("toolbar.shouldNotGroupWhenFull"),n=new P(this.locale,this.editing.view,{editableElement:this.sourceElement,shouldToolbarGroupWhenFull:i});this.ui=new F(this,n)}destroy(){const t=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&(0,e.setDataInElement)(this.sourceElement,t)}))}static create(t,o={}){return new Promise((r=>{if(T(t)&&"TEXTAREA"===t.tagName)throw new e.CKEditorError("editor-wrong-element",null);const i=new this(t,o);r(i.initPlugins().then((()=>i.ui.init())).then((()=>i.data.init(i.config.get("initialData")))).then((()=>i.fire("ready"))).then((()=>i)))}))}}(0,e.mix)(S,t.DataApiMixin)})(),(window.CKEditor5=window.CKEditor5||{}).editorDecoupled=r})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/essentials/essentials.js b/web/core/assets/vendor/ckeditor5/essentials/essentials.js
index b20455a363..0392dd079c 100644
--- a/web/core/assets/vendor/ckeditor5/essentials/essentials.js
+++ b/web/core/assets/vendor/ckeditor5/essentials/essentials.js
@@ -1,5 +1,4 @@
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-window.CKEditor5=window.CKEditor5||{},window.CKEditor5.essentials=function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=7)}([function(t,e){t.exports=CKEditor5.dll},function(t,e,r){t.exports=r(0)("./src/enter.js")},function(t,e,r){t.exports=r(0)("./src/core.js")},function(t,e,r){t.exports=r(0)("./src/clipboard.js")},function(t,e,r){t.exports=r(0)("./src/select-all.js")},function(t,e,r){t.exports=r(0)("./src/typing.js")},function(t,e,r){t.exports=r(0)("./src/undo.js")},function(t,e,r){"use strict";r.r(e),r.d(e,"Essentials",(function(){return l}));var n=r(2),o=r(3),i=r(1),u=r(4),s=r(5),c=r(6);class l extends n.Plugin{static get requires(){return[o.Clipboard,i.Enter,u.SelectAll,i.ShiftEnter,s.Typing,c.Undo]}static get pluginName(){return"Essentials"}}}]);
\ No newline at end of file
+ */(()=>{var e={945:(e,r,t)=>{e.exports=t(79)("./src/clipboard.js")},704:(e,r,t)=>{e.exports=t(79)("./src/core.js")},331:(e,r,t)=>{e.exports=t(79)("./src/enter.js")},468:(e,r,t)=>{e.exports=t(79)("./src/select-all.js")},181:(e,r,t)=>{e.exports=t(79)("./src/typing.js")},254:(e,r,t)=>{e.exports=t(79)("./src/undo.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},r={};function t(s){var o=r[s];if(void 0!==o)return o.exports;var n=r[s]={exports:{}};return e[s](n,n.exports,t),n.exports}t.d=(e,r)=>{for(var s in r)t.o(r,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:r[s]})},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};(()=>{"use strict";t.r(s),t.d(s,{Essentials:()=>a});var e=t(704),r=t(945),o=t(331),n=t(468),i=t(181),l=t(254);class a extends e.Plugin{static get requires(){return[r.Clipboard,o.Enter,n.SelectAll,o.ShiftEnter,i.Typing,l.Undo]}static get pluginName(){return"Essentials"}}})(),(window.CKEditor5=window.CKEditor5||{}).essentials=s})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/heading/heading.js b/web/core/assets/vendor/ckeditor5/heading/heading.js
index 573d17a15a..58e65e21b0 100644
--- a/web/core/assets/vendor/ckeditor5/heading/heading.js
+++ b/web/core/assets/vendor/ckeditor5/heading/heading.js
@@ -1,5 +1,5 @@
+!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Choose heading":"Choose heading",Heading:"Heading","Heading 1":"Heading 1","Heading 2":"Heading 2","Heading 3":"Heading 3","Heading 4":"Heading 4","Heading 5":"Heading 5","Heading 6":"Heading 6",Paragraph:"Paragraph","Type or paste your content here.":"Type or paste your content here.","Type your title":"Type your title"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Choose heading":"Choose heading",Heading:"Heading","Heading 1":"Heading 1","Heading 2":"Heading 2","Heading 3":"Heading 3","Heading 4":"Heading 4","Heading 5":"Heading 5","Heading 6":"Heading 6",Paragraph:"Paragraph","Type or paste your content here.":"Type or paste your content here.","Type your title":"Type your title"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.heading=function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t,n){e.exports=n(4)("./src/core.js")},function(e,t,n){e.exports=n(4)("./src/utils.js")},function(e,t,n){e.exports=n(4)("./src/engine.js")},function(e,t,n){e.exports=n(4)("./src/ui.js")},function(e,t){e.exports=CKEditor5.dll},function(e,t,n){var i=n(7),o=n(8);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(o,a);e.exports=o.locals||{}},function(e,t,n){e.exports=n(4)("./src/paragraph.js")},function(e,t,n){"use strict";var i,o=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},a=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),r=[];function s(e){for(var t=-1,n=0;n<r.length;n++)if(r[n].identifier===e){t=n;break}return t}function c(e,t){for(var n={},i=[],o=0;o<e.length;o++){var a=e[o],c=t.base?a[0]+t.base:a[0],d=n[c]||0,l="".concat(c," ").concat(d);n[c]=d+1;var h=s(l),u={css:a[1],media:a[2],sourceMap:a[3]};-1!==h?(r[h].references++,r[h].updater(u)):r.push({identifier:l,updater:f(u,t),references:1}),i.push(l)}return i}function d(e){var t=document.createElement("style"),i=e.attributes||{};if(void 0===i.nonce){var o=n.nc;o&&(i.nonce=o)}if(Object.keys(i).forEach((function(e){t.setAttribute(e,i[e])})),"function"==typeof e.insert)e.insert(t);else{var r=a(e.insert||"head");if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(t)}return t}var l,h=(l=[],function(e,t){return l[e]=t,l.filter(Boolean).join("\n")});function u(e,t,n,i){var o=n?"":i.media?"@media ".concat(i.media," {").concat(i.css,"}"):i.css;if(e.styleSheet)e.styleSheet.cssText=h(t,o);else{var a=document.createTextNode(o),r=e.childNodes;r[t]&&e.removeChild(r[t]),r.length?e.insertBefore(a,r[t]):e.appendChild(a)}}function g(e,t,n){var i=n.css,o=n.media,a=n.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),a&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var m=null,p=0;function f(e,t){var n,i,o;if(t.singleton){var a=p++;n=m||(m=d(t)),i=u.bind(null,n,a,!1),o=u.bind(null,n,a,!0)}else n=d(t),i=g.bind(null,n,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var n=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var i=0;i<n.length;i++){var o=s(n[i]);r[o].references--}for(var a=c(e,t),d=0;d<n.length;d++){var l=s(n[d]);0===r[l].references&&(r[l].updater(),r.splice(l,1))}n=a}}}},function(e,t){e.exports=".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}"},function(e,t,n){"use strict";n.r(t),n.d(t,"Heading",(function(){return u})),n.d(t,"HeadingEditing",(function(){return c})),n.d(t,"HeadingUI",(function(){return h})),n.d(t,"HeadingButtonsUI",(function(){return m})),n.d(t,"Title",(function(){return v}));var i=n(0),o=n(6),a=n(1);class r extends i.Command{constructor(e,t){super(e),this.modelElements=t}refresh(){const e=Object(a.first)(this.editor.model.document.selection.getSelectedBlocks());this.value=!!e&&this.modelElements.includes(e.name)&&e.name,this.isEnabled=!!e&&this.modelElements.some(t=>s(e,t,this.editor.model.schema))}execute(e){const t=this.editor.model,n=t.document,i=e.value;t.change(e=>{const o=Array.from(n.selection.getSelectedBlocks()).filter(e=>s(e,i,t.schema));for(const t of o)t.is("element",i)||e.rename(t,i)})}}function s(e,t,n){return n.checkChild(e.parent,t)&&!n.isObject(e)}class c extends i.Plugin{static get pluginName(){return"HeadingEditing"}constructor(e){super(e),e.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[o.Paragraph]}init(){const e=this.editor,t=e.config.get("heading.options"),n=[];for(const i of t)"paragraph"!==i.model&&(e.model.schema.register(i.model,{inheritAllFrom:"$block"}),e.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(e),e.commands.add("heading",new r(e,n))}afterInit(){const e=this.editor,t=e.commands.get("enter"),n=e.config.get("heading.options");t&&this.listenTo(t,"afterExecute",(t,i)=>{const o=e.model.document.selection.getFirstPosition().parent;n.some(e=>o.is("element",e.model))&&!o.is("element","paragraph")&&0===o.childCount&&i.writer.rename(o,"paragraph")})}_addDefaultH1Conversion(e){e.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:a.priorities.get("low")+1})}}var d=n(3);function l(e){const t=e.t,n={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return e.config.get("heading.options").map(e=>{const t=n[e.title];return t&&t!=e.title&&(e.title=t),e})}n(5);class h extends i.Plugin{static get pluginName(){return"HeadingUI"}init(){const e=this.editor,t=e.t,n=l(e),i=t("Choose heading"),o=t("Heading");e.ui.componentFactory.add("heading",t=>{const r={},s=new a.Collection,c=e.commands.get("heading"),l=e.commands.get("paragraph"),h=[c];for(const e of n){const t={type:"button",model:new d.Model({label:e.title,class:e.class,withText:!0})};"paragraph"===e.model?(t.model.bind("isOn").to(l,"value"),t.model.set("commandName","paragraph"),h.push(l)):(t.model.bind("isOn").to(c,"value",t=>t===e.model),t.model.set({commandName:"heading",commandValue:e.model})),s.add(t),r[e.model]=e.title}const u=Object(d.createDropdown)(t);return Object(d.addListToDropdown)(u,s),u.buttonView.set({isOn:!1,withText:!0,tooltip:o}),u.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),u.bind("isEnabled").toMany(h,"isEnabled",(...e)=>e.some(e=>e)),u.buttonView.bind("label").to(c,"value",l,"value",(e,t)=>{const n=e||t&&"paragraph";return r[n]?r[n]:i}),this.listenTo(u,"execute",t=>{e.execute(t.source.commandName,t.source.commandValue?{value:t.source.commandValue}:void 0),e.editing.view.focus()}),u})}}class u extends i.Plugin{static get requires(){return[c,h]}static get pluginName(){return"Heading"}}const g={heading1:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M19 9v10h-2v-8h-2V9h4zM4 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1H10a1 1 0 0 1-1-1V11H4v4.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v4.5z"/></svg>',heading2:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V11H3v4.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1H2a1 1 0 0 1 1 1v4.5zm16.076 8.343V18.5h-6.252c.067-.626.27-1.22.61-1.78.338-.561 1.006-1.305 2.005-2.232.804-.749 1.297-1.257 1.479-1.523.245-.368.368-.732.368-1.092 0-.398-.107-.703-.32-.917-.214-.214-.51-.32-.886-.32-.372 0-.669.111-.889.336-.22.224-.347.596-.38 1.117l-1.778-.178c.106-.982.438-1.686.997-2.114.558-.427 1.257-.64 2.095-.64.918 0 1.64.247 2.164.742.525.495.787 1.11.787 1.847 0 .419-.075.818-.225 1.197-.15.378-.388.775-.714 1.19-.216.275-.605.67-1.168 1.187-.563.516-.92.859-1.07 1.028a3.11 3.11 0 0 0-.365.495h3.542z"/></svg>',heading3:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V11H3v4.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1H2a1 1 0 0 1 1 1v4.5zm9.989 7.53 1.726-.209c.055.44.203.777.445 1.01.24.232.533.349.876.349.368 0 .678-.14.93-.42.251-.279.377-.655.377-1.13 0-.448-.12-.803-.362-1.066a1.153 1.153 0 0 0-.882-.393c-.228 0-.501.044-.819.133l.197-1.453c.482.012.85-.092 1.105-.315.253-.222.38-.517.38-.885 0-.313-.093-.563-.279-.75-.186-.185-.434-.278-.743-.278a1.07 1.07 0 0 0-.78.317c-.216.212-.347.52-.394.927l-1.644-.28c.114-.562.287-1.012.517-1.348.231-.337.553-.601.965-.794a3.24 3.24 0 0 1 1.387-.289c.876 0 1.579.28 2.108.838.436.457.653.973.653 1.549 0 .817-.446 1.468-1.339 1.955.533.114.96.37 1.28.768.319.398.478.878.478 1.441 0 .817-.298 1.513-.895 2.088-.596.576-1.339.864-2.228.864-.842 0-1.54-.243-2.094-.727-.555-.485-.876-1.118-.965-1.901z"/></svg>',heading4:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V11h-5v4.5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v4.5zm13.55 10v-1.873h-3.81v-1.561l4.037-5.91h1.498v5.904h1.156v1.567h-1.156V18.5H17.05zm0-3.44v-3.18l-2.14 3.18h2.14z"/></svg>',heading5:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V11h-5v4.5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v4.5zm9.578 7.607 1.777-.184c.05.402.201.72.45.955a1.223 1.223 0 0 0 1.81-.101c.258-.303.387-.759.387-1.368 0-.572-.128-1-.384-1.286-.256-.285-.59-.428-1-.428-.512 0-.971.226-1.377.679l-1.448-.21.915-4.843h4.716v1.67H15.56l-.28 1.58a2.697 2.697 0 0 1 1.219-.298 2.68 2.68 0 0 1 2.012.863c.55.576.825 1.323.825 2.241a3.36 3.36 0 0 1-.666 2.05c-.605.821-1.445 1.232-2.52 1.232-.86 0-1.56-.23-2.101-.692-.542-.461-.866-1.081-.971-1.86z"/></svg>',heading6:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V11h-5v4.5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v4.5zm15.595 2.973-1.726.19c-.043-.355-.153-.617-.33-.787-.178-.169-.409-.253-.692-.253-.377 0-.695.169-.956.507-.26.339-.424 1.043-.492 2.114.445-.525.997-.787 1.657-.787.745 0 1.383.284 1.914.85.531.568.797 1.3.797 2.197 0 .952-.28 1.716-.838 2.291-.559.576-1.276.864-2.152.864-.94 0-1.712-.365-2.317-1.095-.605-.73-.908-1.927-.908-3.59 0-1.705.316-2.935.946-3.688.63-.753 1.45-1.13 2.457-1.13.706 0 1.291.198 1.755.594.463.395.758.97.885 1.723zm-4.043 3.891c0 .58.133 1.028.4 1.343.266.315.57.473.914.473.33 0 .605-.13.825-.388.22-.258.33-.68.33-1.27 0-.604-.118-1.047-.355-1.329a1.115 1.115 0 0 0-.89-.422c-.342 0-.632.134-.869.403s-.355.666-.355 1.19z"/></svg>'};class m extends i.Plugin{init(){l(this.editor).filter(e=>"paragraph"!==e.model).map(e=>this._createButton(e))}_createButton(e){const t=this.editor;t.ui.componentFactory.add(e.model,n=>{const i=new d.ButtonView(n),o=t.commands.get("heading");return i.label=e.title,i.icon=e.icon||g[e.model],i.tooltip=!0,i.isToggleable=!0,i.bind("isEnabled").to(o),i.bind("isOn").to(o,"value",t=>t==e.model),i.on("execute",()=>{t.execute("heading",{value:e.model}),t.editing.view.focus()}),i})}}var p=n(2);const f=new Set(["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"]);class v extends i.Plugin{static get pluginName(){return"Title"}static get requires(){return["Paragraph"]}init(){const e=this.editor,t=e.model;this._bodyPlaceholder=null,t.schema.register("title",{isBlock:!0,allowIn:"$root"}),t.schema.register("title-content",{isBlock:!0,allowIn:"title",allowAttributes:["alignment"]}),t.schema.extend("$text",{allowIn:"title-content"}),t.schema.addAttributeCheck(e=>{if(e.endsWith("title-content $text"))return!1}),e.editing.mapper.on("modelToViewPosition",b(e.editing.view)),e.data.mapper.on("modelToViewPosition",b(e.editing.view)),e.conversion.for("downcast").elementToElement({model:"title-content",view:"h1"}),e.data.upcastDispatcher.on("element:h1",w,{priority:"high"}),e.data.upcastDispatcher.on("element:h2",w,{priority:"high"}),e.data.upcastDispatcher.on("element:h3",w,{priority:"high"}),t.document.registerPostFixer(e=>this._fixTitleContent(e)),t.document.registerPostFixer(e=>this._fixTitleElement(e)),t.document.registerPostFixer(e=>this._fixBodyElement(e)),t.document.registerPostFixer(e=>this._fixExtraParagraph(e)),this._attachPlaceholders(),this._attachTabPressHandling()}getTitle(e={}){const t=this._getTitleElement().getChild(0);return this.editor.data.stringify(t,e)}getBody(e={}){const t=this.editor,n=t.data,i=t.model,o=t.model.document.getRoot(),a=t.editing.view,r=new p.DowncastWriter(a.document),s=i.createRangeIn(o),c=r.createDocumentFragment();n.downcastDispatcher.conversionApi.options=e,n.mapper.clearBindings(),n.mapper.bindElements(o,c),n.downcastDispatcher.convertInsert(s,r);const d=i.createPositionAfter(o.getChild(0)),l=i.createRange(d,i.createPositionAt(o,"end"));for(const e of i.markers){const t=l.getIntersection(e.getRange());t&&n.downcastDispatcher.convertMarkerAdd(e.name,t,r)}return delete n.downcastDispatcher.conversionApi.options,r.remove(r.createRangeOn(c.getChild(0))),t.data.processor.toData(c)}_getTitleElement(){const e=this.editor.model.document.getRoot();for(const t of e.getChildren())if(x(t))return t}_fixTitleContent(e){const t=this._getTitleElement();if(!t||1===t.maxOffset)return!1;const n=Array.from(t.getChildren());n.shift();for(const i of n)e.move(e.createRangeOn(i),t,"after"),e.rename(i,"paragraph");return!0}_fixTitleElement(e){const t=this.editor.model,n=t.document.getRoot(),i=Array.from(n.getChildren()).filter(x),o=i[0],a=n.getChild(0);if(a.is("element","title"))return y(i,e,t);if(!o&&!f.has(a.name)){const t=e.createElement("title");return e.insert(t,n),e.insertElement("title-content",t),!0}return f.has(a.name)?function(e,t,n){const i=t.createElement("title");t.insert(i,e,"before"),t.insert(e,i,0),t.rename(e,"title-content"),n.schema.removeDisallowedAttributes([e],t)}(a,e,t):e.move(e.createRangeOn(o),n,0),y(i,e,t),!0}_fixBodyElement(e){const t=this.editor.model.document.getRoot();return t.childCount<2&&(this._bodyPlaceholder=e.createElement("paragraph"),e.insert(this._bodyPlaceholder,t,1),!0)}_fixExtraParagraph(e){const t=this.editor.model.document.getRoot(),n=this._bodyPlaceholder;return!!function(e,t){if(!e||!e.is("element","paragraph")||e.childCount)return!1;if(t.childCount<=2||t.getChild(t.childCount-1)!==e)return!1;return!0}(n,t)&&(this._bodyPlaceholder=null,e.remove(n),!0)}_attachPlaceholders(){const e=this.editor,t=e.t,n=e.editing.view,i=n.document.getRoot(),o=e.sourceElement,a=e.config.get("title.placeholder")||t("Type your title"),r=e.config.get("placeholder")||o&&"textarea"===o.tagName.toLowerCase()&&o.getAttribute("placeholder")||t("Type or paste your content here.");let s;e.editing.downcastDispatcher.on("insert:title-content",(e,t,i)=>{Object(p.enablePlaceholder)({view:n,element:i.mapper.toViewElement(t.item),text:a,keepOnFocus:!0})}),n.document.registerPostFixer(e=>{const t=i.getChild(1);let n=!1;return t!==s&&(s&&(Object(p.hidePlaceholder)(e,s),e.removeAttribute("data-placeholder",s)),e.setAttribute("data-placeholder",r,t),s=t,n=!0),n=Object(p.needsPlaceholder)(t,!0)&&2===i.childCount&&"p"===t.name?!!Object(p.showPlaceholder)(e,t)||n:!!Object(p.hidePlaceholder)(e,t)||n,n})}_attachTabPressHandling(){const e=this.editor,t=e.model;e.keystrokes.set("TAB",(e,n)=>{t.change(e=>{const i=t.document.selection,o=Array.from(i.getSelectedBlocks());if(1===o.length&&o[0].is("element","title-content")){const i=t.document.getRoot().getChild(1);e.setSelection(i,0),n()}})}),e.keystrokes.set("SHIFT + TAB",(n,i)=>{t.change(n=>{const o=t.document.selection;if(!o.isCollapsed)return;const r=e.model.document.getRoot(),s=Object(a.first)(o.getSelectedBlocks()),c=o.getFirstPosition(),d=r.getChild(0);s===r.getChild(1)&&c.isAtStart&&(n.setSelection(d.getChild(0),0),i())})})}}function w(e,t,n){const i=t.modelCursor,o=t.viewItem;if(!i.isAtStart||!i.parent.is("element","$root"))return;if(!n.consumable.consume(o,{name:!0}))return;const a=n.writer,r=a.createElement("title"),s=a.createElement("title-content");a.append(s,r),a.insert(r,i),n.convertChildren(o,s),n.updateConversionResult(r,t)}function b(e){return(t,n)=>{const i=n.modelPosition.parent;if(!i.is("element","title"))return;const o=i.parent,a=n.mapper.toViewElement(o);n.viewPosition=e.createPositionAt(a,0),t.stop()}}function x(e){return e.is("element","title")}function y(e,t,n){let i=!1;for(const o of e)0!==o.index&&(H(o,t,n),i=!0);return i}function H(e,t,n){const i=e.getChild(0);i.isEmpty?t.remove(e):(t.move(t.createRangeOn(i),e,"before"),t.rename(i,"paragraph"),t.remove(e),n.schema.removeDisallowedAttributes([i],t))}}]);
\ No newline at end of file
+ */(()=>{var e={609:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var i=n(298),o=n.n(i)()((function(e){return e[1]}));o.push([e.id,".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}",""]);const a=o},298:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,i){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(i)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(o[r]=!0)}for(var s=0;s<e.length;s++){var d=[].concat(e[s]);i&&o[d[0]]||(n&&(d[2]?d[2]="".concat(n," and ").concat(d[2]):d[2]=n),t.push(d))}},t}},62:(e,t,n)=>{"use strict";var i,o=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},a=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),r=[];function s(e){for(var t=-1,n=0;n<r.length;n++)if(r[n].identifier===e){t=n;break}return t}function d(e,t){for(var n={},i=[],o=0;o<e.length;o++){var a=e[o],d=t.base?a[0]+t.base:a[0],c=n[d]||0,l="".concat(d," ").concat(c);n[d]=c+1;var h=s(l),g={css:a[1],media:a[2],sourceMap:a[3]};-1!==h?(r[h].references++,r[h].updater(g)):r.push({identifier:l,updater:f(g,t),references:1}),i.push(l)}return i}function c(e){var t=document.createElement("style"),i=e.attributes||{};if(void 0===i.nonce){var o=n.nc;o&&(i.nonce=o)}if(Object.keys(i).forEach((function(e){t.setAttribute(e,i[e])})),"function"==typeof e.insert)e.insert(t);else{var r=a(e.insert||"head");if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(t)}return t}var l,h=(l=[],function(e,t){return l[e]=t,l.filter(Boolean).join("\n")});function g(e,t,n,i){var o=n?"":i.media?"@media ".concat(i.media," {").concat(i.css,"}"):i.css;if(e.styleSheet)e.styleSheet.cssText=h(t,o);else{var a=document.createTextNode(o),r=e.childNodes;r[t]&&e.removeChild(r[t]),r.length?e.insertBefore(a,r[t]):e.appendChild(a)}}function m(e,t,n){var i=n.css,o=n.media,a=n.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),a&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}var u=null,p=0;function f(e,t){var n,i,o;if(t.singleton){var a=p++;n=u||(u=c(t)),i=g.bind(null,n,a,!1),o=g.bind(null,n,a,!0)}else n=c(t),i=m.bind(null,n,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return i(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;i(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var n=d(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var i=0;i<n.length;i++){var o=s(n[i]);r[o].references--}for(var a=d(e,t),c=0;c<n.length;c++){var l=s(n[c]);0===r[l].references&&(r[l].updater(),r.splice(l,1))}n=a}}}},704:(e,t,n)=>{e.exports=n(79)("./src/core.js")},492:(e,t,n)=>{e.exports=n(79)("./src/engine.js")},747:(e,t,n)=>{e.exports=n(79)("./src/paragraph.js")},273:(e,t,n)=>{e.exports=n(79)("./src/ui.js")},209:(e,t,n)=>{e.exports=n(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(i){var o=t[i];if(void 0!==o)return o.exports;var a=t[i]={id:i,exports:{}};return e[i](a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};(()=>{"use strict";n.r(i),n.d(i,{Heading:()=>f,HeadingButtonsUI:()=>w,HeadingEditing:()=>d,HeadingUI:()=>p,Title:()=>y});var e=n(704),t=n(747),o=n(209);class a extends e.Command{constructor(e,t){super(e),this.modelElements=t}refresh(){const e=(0,o.first)(this.editor.model.document.selection.getSelectedBlocks());this.value=!!e&&this.modelElements.includes(e.name)&&e.name,this.isEnabled=!!e&&this.modelElements.some((t=>r(e,t,this.editor.model.schema)))}execute(e){const t=this.editor.model,n=t.document,i=e.value;t.change((e=>{const o=Array.from(n.selection.getSelectedBlocks()).filter((e=>r(e,i,t.schema)));for(const t of o)t.is("element",i)||e.rename(t,i)}))}}function r(e,t,n){return n.checkChild(e.parent,t)&&!n.isObject(e)}const s="paragraph";class d extends e.Plugin{static get pluginName(){return"HeadingEditing"}constructor(e){super(e),e.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[t.Paragraph]}init(){const e=this.editor,t=e.config.get("heading.options"),n=[];for(const i of t)i.model!==s&&(e.model.schema.register(i.model,{inheritAllFrom:"$block"}),e.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(e),e.commands.add("heading",new a(e,n))}afterInit(){const e=this.editor,t=e.commands.get("enter"),n=e.config.get("heading.options");t&&this.listenTo(t,"afterExecute",((t,i)=>{const o=e.model.document.selection.getFirstPosition().parent;n.some((e=>o.is("element",e.model)))&&!o.is("element",s)&&0===o.childCount&&i.writer.rename(o,s)}))}_addDefaultH1Conversion(e){e.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:o.priorities.get("low")+1})}}var c=n(273);function l(e){const t=e.t,n={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return e.config.get("heading.options").map((e=>{const t=n[e.title];return t&&t!=e.title&&(e.title=t),e}))}var h=n(62),g=n.n(h),m=n(609),u={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};g()(m.Z,u);m.Z.locals;class p extends e.Plugin{static get pluginName(){return"HeadingUI"}init(){const e=this.editor,t=e.t,n=l(e),i=t("Choose heading"),a=t("Heading");e.ui.componentFactory.add("heading",(t=>{const r={},s=new o.Collection,d=e.commands.get("heading"),l=e.commands.get("paragraph"),h=[d];for(const e of n){const t={type:"button",model:new c.Model({label:e.title,class:e.class,withText:!0})};"paragraph"===e.model?(t.model.bind("isOn").to(l,"value"),t.model.set("commandName","paragraph"),h.push(l)):(t.model.bind("isOn").to(d,"value",(t=>t===e.model)),t.model.set({commandName:"heading",commandValue:e.model})),s.add(t),r[e.model]=e.title}const g=(0,c.createDropdown)(t);return(0,c.addListToDropdown)(g,s),g.buttonView.set({isOn:!1,withText:!0,tooltip:a}),g.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),g.bind("isEnabled").toMany(h,"isEnabled",((...e)=>e.some((e=>e)))),g.buttonView.bind("label").to(d,"value",l,"value",((e,t)=>{const n=e||t&&"paragraph";return r[n]?r[n]:i})),this.listenTo(g,"execute",(t=>{e.execute(t.source.commandName,t.source.commandValue?{value:t.source.commandValue}:void 0),e.editing.view.focus()})),g}))}}class f extends e.Plugin{static get requires(){return[d,p]}static get pluginName(){return"Heading"}}const v={heading1:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M19 9v10h-2v-8h-2V9h4zM4 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1H10a1 1 0 0 1-1-1V11H4v4.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1H3a1 1 0 0 1 1 1v4.5z"/></svg>',heading2:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V11H3v4.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1H2a1 1 0 0 1 1 1v4.5zm16.076 8.343V18.5h-6.252c.067-.626.27-1.22.61-1.78.338-.561 1.006-1.305 2.005-2.232.804-.749 1.297-1.257 1.479-1.523.245-.368.368-.732.368-1.092 0-.398-.107-.703-.32-.917-.214-.214-.51-.32-.886-.32-.372 0-.669.111-.889.336-.22.224-.347.596-.38 1.117l-1.778-.178c.106-.982.438-1.686.997-2.114.558-.427 1.257-.64 2.095-.64.918 0 1.64.247 2.164.742.525.495.787 1.11.787 1.847 0 .419-.075.818-.225 1.197-.15.378-.388.775-.714 1.19-.216.275-.605.67-1.168 1.187-.563.516-.92.859-1.07 1.028a3.11 3.11 0 0 0-.365.495h3.542z"/></svg>',heading3:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V11H3v4.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1H2a1 1 0 0 1 1 1v4.5zm9.989 7.53 1.726-.209c.055.44.203.777.445 1.01.24.232.533.349.876.349.368 0 .678-.14.93-.42.251-.279.377-.655.377-1.13 0-.448-.12-.803-.362-1.066a1.153 1.153 0 0 0-.882-.393c-.228 0-.501.044-.819.133l.197-1.453c.482.012.85-.092 1.105-.315.253-.222.38-.517.38-.885 0-.313-.093-.563-.279-.75-.186-.185-.434-.278-.743-.278a1.07 1.07 0 0 0-.78.317c-.216.212-.347.52-.394.927l-1.644-.28c.114-.562.287-1.012.517-1.348.231-.337.553-.601.965-.794a3.24 3.24 0 0 1 1.387-.289c.876 0 1.579.28 2.108.838.436.457.653.973.653 1.549 0 .817-.446 1.468-1.339 1.955.533.114.96.37 1.28.768.319.398.478.878.478 1.441 0 .817-.298 1.513-.895 2.088-.596.576-1.339.864-2.228.864-.842 0-1.54-.243-2.094-.727-.555-.485-.876-1.118-.965-1.901z"/></svg>',heading4:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V11h-5v4.5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v4.5zm13.55 10v-1.873h-3.81v-1.561l4.037-5.91h1.498v5.904h1.156v1.567h-1.156V18.5H17.05zm0-3.44v-3.18l-2.14 3.18h2.14z"/></svg>',heading5:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V11h-5v4.5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v4.5zm9.578 7.607 1.777-.184c.05.402.201.72.45.955a1.223 1.223 0 0 0 1.81-.101c.258-.303.387-.759.387-1.368 0-.572-.128-1-.384-1.286-.256-.285-.59-.428-1-.428-.512 0-.971.226-1.377.679l-1.448-.21.915-4.843h4.716v1.67H15.56l-.28 1.58a2.697 2.697 0 0 1 1.219-.298 2.68 2.68 0 0 1 2.012.863c.55.576.825 1.323.825 2.241a3.36 3.36 0 0 1-.666 2.05c-.605.821-1.445 1.232-2.52 1.232-.86 0-1.56-.23-2.101-.692-.542-.461-.866-1.081-.971-1.86z"/></svg>',heading6:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3.5 8.5h5V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v11.5a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V11h-5v4.5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v4.5zm15.595 2.973-1.726.19c-.043-.355-.153-.617-.33-.787-.178-.169-.409-.253-.692-.253-.377 0-.695.169-.956.507-.26.339-.424 1.043-.492 2.114.445-.525.997-.787 1.657-.787.745 0 1.383.284 1.914.85.531.568.797 1.3.797 2.197 0 .952-.28 1.716-.838 2.291-.559.576-1.276.864-2.152.864-.94 0-1.712-.365-2.317-1.095-.605-.73-.908-1.927-.908-3.59 0-1.705.316-2.935.946-3.688.63-.753 1.45-1.13 2.457-1.13.706 0 1.291.198 1.755.594.463.395.758.97.885 1.723zm-4.043 3.891c0 .58.133 1.028.4 1.343.266.315.57.473.914.473.33 0 .605-.13.825-.388.22-.258.33-.68.33-1.27 0-.604-.118-1.047-.355-1.329a1.115 1.115 0 0 0-.89-.422c-.342 0-.632.134-.869.403s-.355.666-.355 1.19z"/></svg>'};class w extends e.Plugin{init(){l(this.editor).filter((e=>"paragraph"!==e.model)).map((e=>this._createButton(e)))}_createButton(e){const t=this.editor;t.ui.componentFactory.add(e.model,(n=>{const i=new c.ButtonView(n),o=t.commands.get("heading");return i.label=e.title,i.icon=e.icon||v[e.model],i.tooltip=!0,i.isToggleable=!0,i.bind("isEnabled").to(o),i.bind("isOn").to(o,"value",(t=>t==e.model)),i.on("execute",(()=>{t.execute("heading",{value:e.model}),t.editing.view.focus()})),i}))}}var b=n(492);const x=new Set(["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"]);class y extends e.Plugin{static get pluginName(){return"Title"}static get requires(){return["Paragraph"]}init(){const e=this.editor,t=e.model;this._bodyPlaceholder=null,t.schema.register("title",{isBlock:!0,allowIn:"$root"}),t.schema.register("title-content",{isBlock:!0,allowIn:"title",allowAttributes:["alignment"]}),t.schema.extend("$text",{allowIn:"title-content"}),t.schema.addAttributeCheck((e=>{if(e.endsWith("title-content $text"))return!1})),e.editing.mapper.on("modelToViewPosition",C(e.editing.view)),e.data.mapper.on("modelToViewPosition",C(e.editing.view)),e.conversion.for("downcast").elementToElement({model:"title-content",view:"h1"}),e.conversion.for("downcast").add((e=>e.on("insert:title",((e,t,n)=>{n.consumable.consume(t.item,e.name)})))),e.data.upcastDispatcher.on("element:h1",H,{priority:"high"}),e.data.upcastDispatcher.on("element:h2",H,{priority:"high"}),e.data.upcastDispatcher.on("element:h3",H,{priority:"high"}),t.document.registerPostFixer((e=>this._fixTitleContent(e))),t.document.registerPostFixer((e=>this._fixTitleElement(e))),t.document.registerPostFixer((e=>this._fixBodyElement(e))),t.document.registerPostFixer((e=>this._fixExtraParagraph(e))),this._attachPlaceholders(),this._attachTabPressHandling()}getTitle(e={}){const t=this._getTitleElement().getChild(0);return this.editor.data.stringify(t,e)}getBody(e={}){const t=this.editor,n=t.data,i=t.model,o=t.model.document.getRoot(),a=t.editing.view,r=new b.DowncastWriter(a.document),s=i.createRangeIn(o),d=r.createDocumentFragment(),c=i.createPositionAfter(o.getChild(0)),l=i.createRange(c,i.createPositionAt(o,"end")),h=new Map;for(const e of i.markers){const t=l.getIntersection(e.getRange());t&&h.set(e.name,t)}return n.mapper.clearBindings(),n.mapper.bindElements(o,d),n.downcastDispatcher.convert(s,h,r,e),r.remove(r.createRangeOn(d.getChild(0))),t.data.processor.toData(d)}_getTitleElement(){const e=this.editor.model.document.getRoot();for(const t of e.getChildren())if(T(t))return t}_fixTitleContent(e){const t=this._getTitleElement();if(!t||1===t.maxOffset)return!1;const n=Array.from(t.getChildren());n.shift();for(const i of n)e.move(e.createRangeOn(i),t,"after"),e.rename(i,"paragraph");return!0}_fixTitleElement(e){const t=this.editor.model,n=t.document.getRoot(),i=Array.from(n.getChildren()).filter(T),o=i[0],a=n.getChild(0);if(a.is("element","title"))return P(i,e,t);if(!o&&!x.has(a.name)){const t=e.createElement("title");return e.insert(t,n),e.insertElement("title-content",t),!0}return x.has(a.name)?function(e,t,n){const i=t.createElement("title");t.insert(i,e,"before"),t.insert(e,i,0),t.rename(e,"title-content"),n.schema.removeDisallowedAttributes([e],t)}(a,e,t):e.move(e.createRangeOn(o),n,0),P(i,e,t),!0}_fixBodyElement(e){const t=this.editor.model.document.getRoot();return t.childCount<2&&(this._bodyPlaceholder=e.createElement("paragraph"),e.insert(this._bodyPlaceholder,t,1),!0)}_fixExtraParagraph(e){const t=this.editor.model.document.getRoot(),n=this._bodyPlaceholder;return!!function(e,t){if(!e||!e.is("element","paragraph")||e.childCount)return!1;if(t.childCount<=2||t.getChild(t.childCount-1)!==e)return!1;return!0}(n,t)&&(this._bodyPlaceholder=null,e.remove(n),!0)}_attachPlaceholders(){const e=this.editor,t=e.t,n=e.editing.view,i=n.document.getRoot(),o=e.sourceElement,a=e.config.get("title.placeholder")||t("Type your title"),r=e.config.get("placeholder")||o&&"textarea"===o.tagName.toLowerCase()&&o.getAttribute("placeholder")||t("Type or paste your content here.");let s;e.editing.downcastDispatcher.on("insert:title-content",((e,t,i)=>{(0,b.enablePlaceholder)({view:n,element:i.mapper.toViewElement(t.item),text:a,keepOnFocus:!0})})),n.document.registerPostFixer((e=>{const t=i.getChild(1);let n=!1;return t!==s&&(s&&((0,b.hidePlaceholder)(e,s),e.removeAttribute("data-placeholder",s)),e.setAttribute("data-placeholder",r,t),s=t,n=!0),n=(0,b.needsPlaceholder)(t,!0)&&2===i.childCount&&"p"===t.name?!!(0,b.showPlaceholder)(e,t)||n:!!(0,b.hidePlaceholder)(e,t)||n,n}))}_attachTabPressHandling(){const e=this.editor,t=e.model;e.keystrokes.set("TAB",((e,n)=>{t.change((e=>{const i=t.document.selection,o=Array.from(i.getSelectedBlocks());if(1===o.length&&o[0].is("element","title-content")){const i=t.document.getRoot().getChild(1);e.setSelection(i,0),n()}}))})),e.keystrokes.set("SHIFT + TAB",((n,i)=>{t.change((n=>{const a=t.document.selection;if(!a.isCollapsed)return;const r=e.model.document.getRoot(),s=(0,o.first)(a.getSelectedBlocks()),d=a.getFirstPosition(),c=r.getChild(0);s===r.getChild(1)&&d.isAtStart&&(n.setSelection(c.getChild(0),0),i())}))}))}}function H(e,t,n){const i=t.modelCursor,o=t.viewItem;if(!i.isAtStart||!i.parent.is("element","$root"))return;if(!n.consumable.consume(o,{name:!0}))return;const a=n.writer,r=a.createElement("title"),s=a.createElement("title-content");a.append(s,r),a.insert(r,i),n.convertChildren(o,s),n.updateConversionResult(r,t)}function C(e){return(t,n)=>{const i=n.modelPosition.parent;if(!i.is("element","title"))return;const o=i.parent,a=n.mapper.toViewElement(o);n.viewPosition=e.createPositionAt(a,0),t.stop()}}function T(e){return e.is("element","title")}function P(e,t,n){let i=!1;for(const o of e)0!==o.index&&(_(o,t,n),i=!0);return i}function _(e,t,n){const i=e.getChild(0);i.isEmpty?t.remove(e):(t.move(t.createRangeOn(i),e,"before"),t.rename(i,"paragraph"),t.remove(e),n.schema.removeDisallowedAttributes([i],t))}})(),(window.CKEditor5=window.CKEditor5||{}).heading=i})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/heading/translations/bs.js b/web/core/assets/vendor/ckeditor5/heading/translations/bs.js
new file mode 100644
index 0000000000..d802d98b05
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/heading/translations/bs.js
@@ -0,0 +1 @@
+!function(a){const e=a.bs=a.bs||{};e.dictionary=Object.assign(e.dictionary||{},{"Choose heading":"Odaberi naslov",Heading:"Naslov","Heading 1":"Naslov 1","Heading 2":"Naslov 2","Heading 3":"Naslov 3","Heading 4":"Naslov 4","Heading 5":"Naslov 5","Heading 6":"Naslov 6",Paragraph:"Paragraf","Type or paste your content here.":"Unesite ili zalijepite vaš sadržaj ovdje","Type your title":"Unesite naslov"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/heading/translations/el.js b/web/core/assets/vendor/ckeditor5/heading/translations/el.js
index e858ea230a..cdc996404d 100644
--- a/web/core/assets/vendor/ckeditor5/heading/translations/el.js
+++ b/web/core/assets/vendor/ckeditor5/heading/translations/el.js
@@ -1 +1 @@
-!function(e){const n=e.el=e.el||{};n.dictionary=Object.assign(n.dictionary||{},{"Choose heading":"Επιλέξτε κεφαλίδα",Heading:"Κεφαλίδα","Heading 1":"Κεφαλίδα 1","Heading 2":"Κεφαλίδα 2","Heading 3":"Κεφαλίδα 3","Heading 4":"","Heading 5":"","Heading 6":"",Paragraph:"Παράγραφος","Type or paste your content here.":"","Type your title":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const n=e.el=e.el||{};n.dictionary=Object.assign(n.dictionary||{},{"Choose heading":"Επιλέξτε κεφαλίδα",Heading:"Κεφαλίδα","Heading 1":"Κεφαλίδα 1","Heading 2":"Κεφαλίδα 2","Heading 3":"Κεφαλίδα 3","Heading 4":"Κεφαλίδα 4","Heading 5":"Κεφαλίδα 5","Heading 6":"Κεφαλίδα 6",Paragraph:"Παράγραφος","Type or paste your content here.":"Γράψτε ή επικολλήστε τα περιεχόμενά σας εδώ.","Type your title":"Γράψτε τον τίτλο σας εδώ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/heading/translations/jv.js b/web/core/assets/vendor/ckeditor5/heading/translations/jv.js
new file mode 100644
index 0000000000..70ce695e8d
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/heading/translations/jv.js
@@ -0,0 +1 @@
+!function(a){const n=a.jv=a.jv||{};n.dictionary=Object.assign(n.dictionary||{},{"Choose heading":"",Heading:"","Heading 1":"","Heading 2":"","Heading 3":"","Heading 4":"","Heading 5":"","Heading 6":"",Paragraph:"","Type or paste your content here.":"Serataken utawi nyukani babagan ing ngriki","Type your title":"Serataken irah-irahan"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/heading/translations/uz.js b/web/core/assets/vendor/ckeditor5/heading/translations/uz.js
new file mode 100644
index 0000000000..419d1182b2
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/heading/translations/uz.js
@@ -0,0 +1 @@
+!function(a){const i=a.uz=a.uz||{};i.dictionary=Object.assign(i.dictionary||{},{"Choose heading":"Uslubni tanlash",Heading:"Uslub","Heading 1":"Sarlavha 1","Heading 2":"Sarlavha 2","Heading 3":"Sarlavha 3","Heading 4":"Sarlavha 4","Heading 5":"Sarlavha 5","Heading 6":"Sarlavha 6",Paragraph:"Paragraf","Type or paste your content here.":"Matningizni shu yerga kiriting yoki joylashtiring","Type your title":"Sarlavhani kiriting"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/horizontal-line/horizontal-line.js b/web/core/assets/vendor/ckeditor5/horizontal-line/horizontal-line.js
index 54d6809100..4bd9892c91 100644
--- a/web/core/assets/vendor/ckeditor5/horizontal-line/horizontal-line.js
+++ b/web/core/assets/vendor/ckeditor5/horizontal-line/horizontal-line.js
@@ -1,5 +1,5 @@
+!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Horizontal line":"Horizontal line"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Horizontal line":"Horizontal line"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.horizontalLine=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)}([function(e,t,n){e.exports=n(2)("./src/core.js")},function(e,t,n){e.exports=n(2)("./src/widget.js")},function(e,t){e.exports=CKEditor5.dll},function(e,t,n){e.exports=n(2)("./src/ui.js")},function(e,t,n){var r=n(5),o=n(6);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};r(o,i);e.exports=o.locals||{}},function(e,t,n){"use strict";var r,o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function c(e){for(var t=-1,n=0;n<a.length;n++)if(a[n].identifier===e){t=n;break}return t}function s(e,t){for(var n={},r=[],o=0;o<e.length;o++){var i=e[o],s=t.base?i[0]+t.base:i[0],l=n[s]||0,u="".concat(s," ").concat(l);n[s]=l+1;var d=c(u),f={css:i[1],media:i[2],sourceMap:i[3]};-1!==d?(a[d].references++,a[d].updater(f)):a.push({identifier:u,updater:g(f,t),references:1}),r.push(u)}return r}function l(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var o=n.nc;o&&(r.nonce=o)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var a=i(e.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(t)}return t}var u,d=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function f(e,t,n,r){var o=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=d(t,o);else{var i=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(i,a[t]):e.appendChild(i)}}function p(e,t,n){var r=n.css,o=n.media,i=n.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var h=null,m=0;function g(e,t){var n,r,o;if(t.singleton){var i=m++;n=h||(h=l(t)),r=f.bind(null,n,i,!1),o=f.bind(null,n,i,!0)}else n=l(t),r=p.bind(null,n,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var n=s(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var o=c(n[r]);a[o].references--}for(var i=s(e,t),l=0;l<n.length;l++){var u=c(n[l]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}n=i}}}},function(e,t){e.exports=".ck-editor__editable .ck-horizontal-line{display:flow-root}.ck-content hr{margin:15px 0;height:4px;background:#dedede;border:0}"},function(e,t,n){"use strict";n.r(t),n.d(t,"HorizontalLine",(function(){return l})),n.d(t,"HorizontalLineEditing",(function(){return a})),n.d(t,"HorizontalLineUI",(function(){return s}));var r=n(0),o=n(1);class i extends r.Command{refresh(){const e=this.editor.model,t=e.schema,n=e.document.selection;this.isEnabled=function(e,t,n){const r=function(e,t){const n=Object(o.findOptimalInsertionRange)(e,t).start.parent;if(n.isEmpty&&!n.is("element","$root"))return n.parent;return n}(e,n);return t.checkChild(r,"horizontalLine")}(n,t,e)}execute(){const e=this.editor.model;e.change(t=>{const n=t.createElement("horizontalLine");e.insertContent(n);let r=n.nextSibling;!(r&&e.schema.checkChild(r,"$text"))&&e.schema.checkChild(n.parent,"paragraph")&&(r=t.createElement("paragraph"),e.insertContent(r,t.createPositionAfter(n))),r&&t.setSelection(r,0)})}}n(4);class a extends r.Plugin{static get pluginName(){return"HorizontalLineEditing"}init(){const e=this.editor,t=e.model.schema,n=e.t,r=e.conversion;t.register("horizontalLine",{isObject:!0,allowWhere:"$block"}),r.for("dataDowncast").elementToElement({model:"horizontalLine",view:(e,{writer:t})=>t.createEmptyElement("hr")}),r.for("editingDowncast").elementToElement({model:"horizontalLine",view:(e,{writer:t})=>{const r=n("Horizontal line"),i=t.createContainerElement("div"),a=t.createEmptyElement("hr");return t.addClass("ck-horizontal-line",i),t.setCustomProperty("hr",!0,i),t.insert(t.createPositionAt(i,0),a),function(e,t,n){return t.setCustomProperty("horizontalLine",!0,e),Object(o.toWidget)(e,t,{label:n})}(i,t,r)}}),r.for("upcast").elementToElement({view:"hr",model:"horizontalLine"}),e.commands.add("horizontalLine",new i(e))}}var c=n(3);class s extends r.Plugin{static get pluginName(){return"HorizontalLineUI"}init(){const e=this.editor,t=e.t;e.ui.componentFactory.add("horizontalLine",n=>{const r=e.commands.get("horizontalLine"),o=new c.ButtonView(n);return o.set({label:t("Horizontal line"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 9h16v2H2z"/></svg>',tooltip:!0}),o.bind("isEnabled").to(r,"isEnabled"),this.listenTo(o,"execute",()=>{e.execute("horizontalLine"),e.editing.view.focus()}),o})}}class l extends r.Plugin{static get requires(){return[a,s,o.Widget]}static get pluginName(){return"HorizontalLine"}}}]);
\ No newline at end of file
+ */(()=>{var e={73:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(609),o=n.n(r)()((function(e){return e[1]}));o.push([e.id,".ck-editor__editable .ck-horizontal-line{display:flow-root}.ck-content hr{background:#dedede;border:0;height:4px;margin:15px 0}",""]);const i=o},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(r)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(o[a]=!0)}for(var s=0;s<e.length;s++){var l=[].concat(e[s]);r&&o[l[0]]||(n&&(l[2]?l[2]="".concat(n," and ").concat(l[2]):l[2]=n),t.push(l))}},t}},62:(e,t,n)=>{"use strict";var r,o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function s(e){for(var t=-1,n=0;n<a.length;n++)if(a[n].identifier===e){t=n;break}return t}function l(e,t){for(var n={},r=[],o=0;o<e.length;o++){var i=e[o],l=t.base?i[0]+t.base:i[0],c=n[l]||0,d="".concat(l," ").concat(c);n[l]=c+1;var u=s(d),f={css:i[1],media:i[2],sourceMap:i[3]};-1!==u?(a[u].references++,a[u].updater(f)):a.push({identifier:d,updater:v(f,t),references:1}),r.push(d)}return r}function c(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var o=n.nc;o&&(r.nonce=o)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var a=i(e.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(t)}return t}var d,u=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function f(e,t,n,r){var o=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=u(t,o);else{var i=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(i,a[t]):e.appendChild(i)}}function h(e,t,n){var r=n.css,o=n.media,i=n.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var m=null,p=0;function v(e,t){var n,r,o;if(t.singleton){var i=p++;n=m||(m=c(t)),r=f.bind(null,n,i,!1),o=f.bind(null,n,i,!0)}else n=c(t),r=h.bind(null,n,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var n=l(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var o=s(n[r]);a[o].references--}for(var i=l(e,t),c=0;c<n.length;c++){var d=s(n[c]);0===a[d].references&&(a[d].updater(),a.splice(d,1))}n=i}}}},704:(e,t,n)=>{e.exports=n(79)("./src/core.js")},273:(e,t,n)=>{e.exports=n(79)("./src/ui.js")},995:(e,t,n)=>{e.exports=n(79)("./src/widget.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={id:r,exports:{}};return e[r](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{HorizontalLine:()=>f,HorizontalLineEditing:()=>c,HorizontalLineUI:()=>u});var e=n(704),t=n(995);class o extends e.Command{refresh(){const e=this.editor.model,n=e.schema,r=e.document.selection;this.isEnabled=function(e,n,r){const o=function(e,n){const r=(0,t.findOptimalInsertionRange)(e,n).start.parent;if(r.isEmpty&&!r.is("element","$root"))return r.parent;return r}(e,r);return n.checkChild(o,"horizontalLine")}(r,n,e)}execute(){const e=this.editor.model;e.change((t=>{const n=t.createElement("horizontalLine");e.insertObject(n,null,null,{setSelection:"after"})}))}}var i=n(62),a=n.n(i),s=n(73),l={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};a()(s.Z,l);s.Z.locals;class c extends e.Plugin{static get pluginName(){return"HorizontalLineEditing"}init(){const e=this.editor,n=e.model.schema,r=e.t,i=e.conversion;n.register("horizontalLine",{inheritAllFrom:"$blockObject"}),i.for("dataDowncast").elementToElement({model:"horizontalLine",view:(e,{writer:t})=>t.createEmptyElement("hr")}),i.for("editingDowncast").elementToStructure({model:"horizontalLine",view:(e,{writer:n})=>{const o=r("Horizontal line"),i=n.createContainerElement("div",null,n.createEmptyElement("hr"));return n.addClass("ck-horizontal-line",i),n.setCustomProperty("hr",!0,i),function(e,n,r){return n.setCustomProperty("horizontalLine",!0,e),(0,t.toWidget)(e,n,{label:r})}(i,n,o)}}),i.for("upcast").elementToElement({view:"hr",model:"horizontalLine"}),e.commands.add("horizontalLine",new o(e))}}var d=n(273);class u extends e.Plugin{static get pluginName(){return"HorizontalLineUI"}init(){const e=this.editor,t=e.t;e.ui.componentFactory.add("horizontalLine",(n=>{const r=e.commands.get("horizontalLine"),o=new d.ButtonView(n);return o.set({label:t("Horizontal line"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 9h16v2H2z"/></svg>',tooltip:!0}),o.bind("isEnabled").to(r,"isEnabled"),this.listenTo(o,"execute",(()=>{e.execute("horizontalLine"),e.editing.view.focus()})),o}))}}class f extends e.Plugin{static get requires(){return[c,u,t.Widget]}static get pluginName(){return"HorizontalLine"}}})(),(window.CKEditor5=window.CKEditor5||{}).horizontalLine=r})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/horizontal-line/translations/bs.js b/web/core/assets/vendor/ckeditor5/horizontal-line/translations/bs.js
new file mode 100644
index 0000000000..d21d1dee06
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/horizontal-line/translations/bs.js
@@ -0,0 +1 @@
+!function(i){const n=i.bs=i.bs||{};n.dictionary=Object.assign(n.dictionary||{},{"Horizontal line":"Horizontalna linija"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/horizontal-line/translations/el.js b/web/core/assets/vendor/ckeditor5/horizontal-line/translations/el.js
new file mode 100644
index 0000000000..8b7a1066b1
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/horizontal-line/translations/el.js
@@ -0,0 +1 @@
+!function(i){const n=i.el=i.el||{};n.dictionary=Object.assign(n.dictionary||{},{"Horizontal line":"Οριζόντια γραμμή"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/horizontal-line/translations/jv.js b/web/core/assets/vendor/ckeditor5/horizontal-line/translations/jv.js
new file mode 100644
index 0000000000..75290ca11f
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/horizontal-line/translations/jv.js
@@ -0,0 +1 @@
+!function(i){const n=i.jv=i.jv||{};n.dictionary=Object.assign(n.dictionary||{},{"Horizontal line":"Garis horisontal"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/html-support/html-support.js b/web/core/assets/vendor/ckeditor5/html-support/html-support.js
index dbcd5216b1..82611c7bce 100644
--- a/web/core/assets/vendor/ckeditor5/html-support/html-support.js
+++ b/web/core/assets/vendor/ckeditor5/html-support/html-support.js
@@ -1,5 +1,5 @@
+!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"HTML object":"HTML object"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"HTML object":"HTML object"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.htmlSupport=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=17)}([function(e,t,r){e.exports=r(5)("./src/core.js")},function(e,t,r){"use strict";var n=r(6),o="object"==typeof self&&self&&self.Object===Object&&self,i=n.a||o||Function("return this")();t.a=i},function(e,t,r){e.exports=r(5)("./src/utils.js")},function(e,t,r){"use strict";(function(e){var n=r(6),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,l=i&&i.exports===o&&n.a.process,a=function(){try{var e=i&&i.require&&i.require("util").types;return e||l&&l.binding&&l.binding("util")}catch(e){}}();t.a=a}).call(this,r(9)(e))},function(e,t,r){"use strict";(function(e){var n=r(1),o=r(12),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,l=i&&"object"==typeof e&&e&&!e.nodeType&&e,a=l&&l.exports===i?n.a.Buffer:void 0,c=(a?a.isBuffer:void 0)||o.a;t.a=c}).call(this,r(9)(e))},function(e,t){e.exports=CKEditor5.dll},function(e,t,r){"use strict";(function(e){var r="object"==typeof e&&e&&e.Object===Object&&e;t.a=r}).call(this,r(13))},function(e,t,r){"use strict";(function(e){var n=r(1),o="object"==typeof exports&&exports&&!exports.nodeType&&exports,i=o&&"object"==typeof e&&e&&!e.nodeType&&e,l=i&&i.exports===o?n.a.Buffer:void 0,a=l?l.allocUnsafe:void 0;t.a=function(e,t){if(t)return e.slice();var r=e.length,n=a?a(r):new e.constructor(r);return e.copy(n),n}}).call(this,r(9)(e))},function(e,t,r){e.exports=r(5)("./src/widget.js")},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t,r){e.exports=r(5)("./src/engine.js")},,function(e,t,r){"use strict";t.a=function(){return!1}},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){var n=r(15),o=r(16);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,i);e.exports=o.locals||{}},function(e,t,r){"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},i=function(){var e={};return function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}e[t]=r}return e[t]}}(),l=[];function a(e){for(var t=-1,r=0;r<l.length;r++)if(l[r].identifier===e){t=r;break}return t}function c(e,t){for(var r={},n=[],o=0;o<e.length;o++){var i=e[o],c=t.base?i[0]+t.base:i[0],s=r[c]||0,m="".concat(c," ").concat(s);r[c]=s+1;var u=a(m),d={css:i[1],media:i[2],sourceMap:i[3]};-1!==u?(l[u].references++,l[u].updater(d)):l.push({identifier:m,updater:p(d,t),references:1}),n.push(m)}return n}function s(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var o=r.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var l=i(e.insert||"head");if(!l)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");l.appendChild(t)}return t}var m,u=(m=[],function(e,t){return m[e]=t,m.filter(Boolean).join("\n")});function d(e,t,r,n){var o=r?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=u(t,o);else{var i=document.createTextNode(o),l=e.childNodes;l[t]&&e.removeChild(l[t]),l.length?e.insertBefore(i,l[t]):e.appendChild(i)}}function h(e,t,r){var n=r.css,o=r.media,i=r.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var f=null,b=0;function p(e,t){var r,n,o;if(t.singleton){var i=b++;r=f||(f=s(t)),n=d.bind(null,r,i,!1),o=d.bind(null,r,i,!0)}else r=s(t),n=h.bind(null,r,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(r)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var r=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<r.length;n++){var o=a(r[n]);l[o].references--}for(var i=c(e,t),s=0;s<r.length;s++){var m=a(r[s]);0===l[m].references&&(l[m].updater(),l.splice(m,1))}r=i}}}},function(e,t){e.exports=":root{--ck-html-object-embed-unfocused-outline-width:1px}.ck-widget.html-object-embed{font-size:var(--ck-font-size-base);background-color:var(--ck-color-base-foreground);padding:var(--ck-spacing-small);padding-top:calc(var(--ck-font-size-tiny) + var(--ck-spacing-large));min-width:calc(76px + var(--ck-spacing-standard))}.ck-widget.html-object-embed:not(.ck-widget_selected):not(:hover){outline:var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border)}.ck-widget.html-object-embed:before{font-weight:400;font-style:normal;position:absolute;content:attr(data-html-object-embed-label);top:0;left:var(--ck-spacing-standard);background:#999;transition:background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);padding:calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius);color:var(--ck-color-base-background);font-size:var(--ck-font-size-tiny);font-family:var(--ck-font-face)}.ck-widget.html-object-embed .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before{margin-left:50px}.ck-widget.html-object-embed .html-object-embed__content{pointer-events:none}div.ck-widget.html-object-embed{margin:1em auto}span.ck-widget.html-object-embed{display:inline-block}"},function(e,t,r){"use strict";r.r(t),r.d(t,"GeneralHtmlSupport",(function(){return nn})),r.d(t,"DataFilter",(function(){return Ur})),r.d(t,"DataSchema",(function(){return It})),r.d(t,"HtmlComment",(function(){return on}));var n=r(0),o=r(2),i=[{model:"codeBlock",view:"pre"},{model:"paragraph",view:"p"},{model:"blockQuote",view:"blockquote"},{model:"listItem",view:"li"},{model:"pageBreak",view:"div"},{model:"rawHtml",view:"div"},{model:"table",view:"table"},{model:"tableRow",view:"tr"},{model:"tableCell",view:"td"},{model:"tableCell",view:"th"},{model:"caption",view:"caption"},{model:"caption",view:"figcaption"},{model:"imageBlock",view:"img"},{model:"imageInline",view:"img"},{model:"$htmlSection",modelSchema:{allowChildren:"$block",allowIn:["$root","$htmlSection"],isBlock:!0}},{model:"htmlP",view:"p",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlBlockquote",view:"blockquote",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlTable",view:"table",modelSchema:{allowIn:["$htmlSection","$root"],isBlock:!0}},{model:"htmlTbody",view:"tbody",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlThead",view:"thead",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlTfoot",view:"tfoot",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlCaption",view:"caption",modelSchema:{allowIn:"htmlTable",allowChildren:"$text",isBlock:!0}},{model:"htmlTr",view:"tr",modelSchema:{allowIn:["htmlTable","htmlThead","htmlTbody"],isBlock:!0}},{model:"htmlTd",view:"td",modelSchema:{allowIn:"htmlTr",allowChildren:["$block","$htmlSection"],isBlock:!0}},{model:"htmlTh",view:"th",modelSchema:{allowIn:"htmlTr",allowChildren:["$block","$htmlSection"],isBlock:!0}},{model:"htmlFigure",view:"figure",modelSchema:{inheritAllFrom:"$htmlSection",isBlock:!0}},{model:"htmlFigcaption",view:"figcaption",modelSchema:{allowIn:"htmlFigure",allowChildren:"$text",isBlock:!0}},{model:"htmlAddress",view:"address",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlAside",view:"aside",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlMain",view:"main",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlDetails",view:"details",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlSummary",view:"summary",modelSchema:{allowChildren:"$text",allowIn:"htmlDetails",isBlock:!0}},{model:"htmlDiv",view:"div",paragraphLikeModel:"htmlDivParagraph",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlFieldset",view:"fieldset",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlLegend",view:"legend",modelSchema:{allowIn:"htmlFieldset",allowChildren:"$text"}},{model:"htmlHeader",view:"header",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlFooter",view:"footer",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlForm",view:"form",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlHgroup",view:"hgroup",modelSchema:{allowChildren:["htmlH1","htmlH2","htmlH3","htmlH4","htmlH5","htmlH6"],isBlock:!0}},{model:"htmlH1",view:"h1",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH2",view:"h2",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH3",view:"h3",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH4",view:"h4",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH5",view:"h5",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH6",view:"h6",modelSchema:{inheritAllFrom:"$block"}},{model:"$htmlList",modelSchema:{allowWhere:"$htmlSection",allowChildren:["$htmlList","htmlLi"],isBlock:!0}},{model:"htmlDir",view:"dir",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlMenu",view:"menu",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlUl",view:"ul",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlOl",view:"ol",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlLi",view:"li",modelSchema:{allowIn:"$htmlList",allowChildren:"$text",isBlock:!0}},{model:"htmlPre",view:"pre",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlArticle",view:"article",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlSection",view:"section",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlNav",view:"nav",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"htmlDl",view:"dl",modelSchema:{allowIn:["$htmlSection","$root"],allowChildren:["htmlDt","htmlDd"],isBlock:!0}},{model:"htmlDt",view:"dt",modelSchema:{allowChildren:"$block",isBlock:!0}},{model:"htmlDd",view:"dd",modelSchema:{allowChildren:"$block",isBlock:!0}},{model:"htmlCenter",view:"center",modelSchema:{inheritAllFrom:"$htmlSection"}},{model:"$htmlObjectBlock",isObject:!0,modelSchema:{isObject:!0,isBlock:!0,allowWhere:"$block"}}],l=[{model:"htmlAcronym",view:"acronym",attributeProperties:{copyOnEnter:!0}},{model:"htmlTt",view:"tt",attributeProperties:{copyOnEnter:!0}},{model:"htmlFont",view:"font",attributeProperties:{copyOnEnter:!0}},{model:"htmlTime",view:"time",attributeProperties:{copyOnEnter:!0}},{model:"htmlVar",view:"var",attributeProperties:{copyOnEnter:!0}},{model:"htmlBig",view:"big",attributeProperties:{copyOnEnter:!0}},{model:"htmlSmall",view:"small",attributeProperties:{copyOnEnter:!0}},{model:"htmlSamp",view:"samp",attributeProperties:{copyOnEnter:!0}},{model:"htmlQ",view:"q",attributeProperties:{copyOnEnter:!0}},{model:"htmlOutput",view:"output",attributeProperties:{copyOnEnter:!0}},{model:"htmlKbd",view:"kbd",attributeProperties:{copyOnEnter:!0}},{model:"htmlBdi",view:"bdi",attributeProperties:{copyOnEnter:!0}},{model:"htmlBdo",view:"bdo",attributeProperties:{copyOnEnter:!0}},{model:"htmlAbbr",view:"abbr",attributeProperties:{copyOnEnter:!0}},{model:"htmlA",view:"a",priority:5,attributeProperties:{copyOnEnter:!0}},{model:"htmlStrong",view:"strong",attributeProperties:{copyOnEnter:!0}},{model:"htmlB",view:"b",attributeProperties:{copyOnEnter:!0}},{model:"htmlI",view:"i",attributeProperties:{copyOnEnter:!0}},{model:"htmlEm",view:"em",attributeProperties:{copyOnEnter:!0}},{model:"htmlS",view:"s",attributeProperties:{copyOnEnter:!0}},{model:"htmlDel",view:"del",attributeProperties:{copyOnEnter:!0}},{model:"htmlIns",view:"ins",attributeProperties:{copyOnEnter:!0}},{model:"htmlU",view:"u",attributeProperties:{copyOnEnter:!0}},{model:"htmlSub",view:"sub",attributeProperties:{copyOnEnter:!0}},{model:"htmlSup",view:"sup",attributeProperties:{copyOnEnter:!0}},{model:"htmlCode",view:"code",attributeProperties:{copyOnEnter:!0}},{model:"htmlMark",view:"mark",attributeProperties:{copyOnEnter:!0}},{model:"htmlSpan",view:"span",attributeProperties:{copyOnEnter:!0}},{model:"htmlCite",view:"cite",attributeProperties:{copyOnEnter:!0}},{model:"htmlLabel",view:"label",attributeProperties:{copyOnEnter:!0}},{model:"htmlDfn",view:"dfn",attributeProperties:{copyOnEnter:!0}},{model:"$htmlObjectInline",isObject:!0,modelSchema:{isObject:!0,isInline:!0,allowWhere:"$text",allowAttributesOf:"$text"}},{model:"htmlObject",view:"object",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlIframe",view:"iframe",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlInput",view:"input",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlButton",view:"button",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlTextarea",view:"textarea",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlSelect",view:"select",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlVideo",view:"video",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlEmbed",view:"embed",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlOembed",view:"oembed",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlAudio",view:"audio",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlImg",view:"img",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlCanvas",view:"canvas",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlMeter",view:"meter",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}},{model:"htmlProgress",view:"progress",isObject:!0,modelSchema:{inheritAllFrom:"$htmlObjectInline"}}];var a=function(){this.__data__=[],this.size=0};var c=function(e,t){return e===t||e!=e&&t!=t};var s=function(e,t){for(var r=e.length;r--;)if(c(e[r][0],t))return r;return-1},m=Array.prototype.splice;var u=function(e){var t=this.__data__,r=s(t,e);return!(r<0)&&(r==t.length-1?t.pop():m.call(t,r,1),--this.size,!0)};var d=function(e){var t=this.__data__,r=s(t,e);return r<0?void 0:t[r][1]};var h=function(e){return s(this.__data__,e)>-1};var f=function(e,t){var r=this.__data__,n=s(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};function b(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}b.prototype.clear=a,b.prototype.delete=u,b.prototype.get=d,b.prototype.has=h,b.prototype.set=f;var p=b;var v=function(){this.__data__=new p,this.size=0};var g=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r};var w=function(e){return this.__data__.get(e)};var y=function(e){return this.__data__.has(e)},j=r(1),A=j.a.Symbol,_=Object.prototype,O=_.hasOwnProperty,S=_.toString,k=A?A.toStringTag:void 0;var E=function(e){var t=O.call(e,k),r=e[k];try{e[k]=void 0;var n=!0}catch(e){}var o=S.call(e);return n&&(t?e[k]=r:delete e[k]),o},$=Object.prototype.toString;var C=function(e){return $.call(e)},I=A?A.toStringTag:void 0;var P=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":I&&I in Object(e)?E(e):C(e)};var x=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};var F,B=function(e){if(!x(e))return!1;var t=P(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},T=j.a["__core-js_shared__"],R=(F=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||""))?"Symbol(src)_1."+F:"";var M=function(e){return!!R&&R in e},D=Function.prototype.toString;var H=function(e){if(null!=e){try{return D.call(e)}catch(e){}try{return e+""}catch(e){}}return""},L=/^\[object .+?Constructor\]$/,z=Function.prototype,N=Object.prototype,V=z.toString,U=N.hasOwnProperty,q=RegExp("^"+V.call(U).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var W=function(e){return!(!x(e)||M(e))&&(B(e)?q:L).test(H(e))};var K=function(e,t){return null==e?void 0:e[t]};var G=function(e,t){var r=K(e,t);return W(r)?r:void 0},Q=G(j.a,"Map"),J=G(Object,"create");var X=function(){this.__data__=J?J(null):{},this.size=0};var Y=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Z=Object.prototype.hasOwnProperty;var ee=function(e){var t=this.__data__;if(J){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return Z.call(t,e)?t[e]:void 0},te=Object.prototype.hasOwnProperty;var re=function(e){var t=this.__data__;return J?void 0!==t[e]:te.call(t,e)};var ne=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=J&&void 0===t?"__lodash_hash_undefined__":t,this};function oe(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}oe.prototype.clear=X,oe.prototype.delete=Y,oe.prototype.get=ee,oe.prototype.has=re,oe.prototype.set=ne;var ie=oe;var le=function(){this.size=0,this.__data__={hash:new ie,map:new(Q||p),string:new ie}};var ae=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var ce=function(e,t){var r=e.__data__;return ae(t)?r["string"==typeof t?"string":"hash"]:r.map};var se=function(e){var t=ce(this,e).delete(e);return this.size-=t?1:0,t};var me=function(e){return ce(this,e).get(e)};var ue=function(e){return ce(this,e).has(e)};var de=function(e,t){var r=ce(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};function he(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}he.prototype.clear=le,he.prototype.delete=se,he.prototype.get=me,he.prototype.has=ue,he.prototype.set=de;var fe=he;var be=function(e,t){var r=this.__data__;if(r instanceof p){var n=r.__data__;if(!Q||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new fe(n)}return r.set(e,t),this.size=r.size,this};function pe(e){var t=this.__data__=new p(e);this.size=t.size}pe.prototype.clear=v,pe.prototype.delete=g,pe.prototype.get=w,pe.prototype.has=y,pe.prototype.set=be;var ve=pe,ge=function(){try{var e=G(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();var we=function(e,t,r){"__proto__"==t&&ge?ge(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r};var ye=function(e,t,r){(void 0!==r&&!c(e[t],r)||void 0===r&&!(t in e))&&we(e,t,r)};var je=function(e){return function(t,r,n){for(var o=-1,i=Object(t),l=n(t),a=l.length;a--;){var c=l[e?a:++o];if(!1===r(i[c],c,i))break}return t}}(),Ae=r(7),_e=j.a.Uint8Array;var Oe=function(e){var t=new e.constructor(e.byteLength);return new _e(t).set(new _e(e)),t};var Se=function(e,t){var r=t?Oe(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)};var ke=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t},Ee=Object.create,$e=function(){function e(){}return function(t){if(!x(t))return{};if(Ee)return Ee(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();var Ce=function(e,t){return function(r){return e(t(r))}},Ie=Ce(Object.getPrototypeOf,Object),Pe=Object.prototype;var xe=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Pe)};var Fe=function(e){return"function"!=typeof e.constructor||xe(e)?{}:$e(Ie(e))};var Be=function(e){return null!=e&&"object"==typeof e};var Te=function(e){return Be(e)&&"[object Arguments]"==P(e)},Re=Object.prototype,Me=Re.hasOwnProperty,De=Re.propertyIsEnumerable,He=Te(function(){return arguments}())?Te:function(e){return Be(e)&&Me.call(e,"callee")&&!De.call(e,"callee")},Le=Array.isArray;var ze=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var Ne=function(e){return null!=e&&ze(e.length)&&!B(e)};var Ve=function(e){return Be(e)&&Ne(e)},Ue=r(4),qe=Function.prototype,We=Object.prototype,Ke=qe.toString,Ge=We.hasOwnProperty,Qe=Ke.call(Object);var Je=function(e){if(!Be(e)||"[object Object]"!=P(e))return!1;var t=Ie(e);if(null===t)return!0;var r=Ge.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Ke.call(r)==Qe},Xe={};Xe["[object Float32Array]"]=Xe["[object Float64Array]"]=Xe["[object Int8Array]"]=Xe["[object Int16Array]"]=Xe["[object Int32Array]"]=Xe["[object Uint8Array]"]=Xe["[object Uint8ClampedArray]"]=Xe["[object Uint16Array]"]=Xe["[object Uint32Array]"]=!0,Xe["[object Arguments]"]=Xe["[object Array]"]=Xe["[object ArrayBuffer]"]=Xe["[object Boolean]"]=Xe["[object DataView]"]=Xe["[object Date]"]=Xe["[object Error]"]=Xe["[object Function]"]=Xe["[object Map]"]=Xe["[object Number]"]=Xe["[object Object]"]=Xe["[object RegExp]"]=Xe["[object Set]"]=Xe["[object String]"]=Xe["[object WeakMap]"]=!1;var Ye=function(e){return Be(e)&&ze(e.length)&&!!Xe[P(e)]};var Ze=function(e){return function(t){return e(t)}},et=r(3),tt=et.a&&et.a.isTypedArray,rt=tt?Ze(tt):Ye;var nt=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]},ot=Object.prototype.hasOwnProperty;var it=function(e,t,r){var n=e[t];ot.call(e,t)&&c(n,r)&&(void 0!==r||t in e)||we(e,t,r)};var lt=function(e,t,r,n){var o=!r;r||(r={});for(var i=-1,l=t.length;++i<l;){var a=t[i],c=n?n(r[a],e[a],a,r,e):void 0;void 0===c&&(c=e[a]),o?we(r,a,c):it(r,a,c)}return r};var at=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n},ct=/^(?:0|[1-9]\d*)$/;var st=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&ct.test(e))&&e>-1&&e%1==0&&e<t},mt=Object.prototype.hasOwnProperty;var ut=function(e,t){var r=Le(e),n=!r&&He(e),o=!r&&!n&&Object(Ue.a)(e),i=!r&&!n&&!o&&rt(e),l=r||n||o||i,a=l?at(e.length,String):[],c=a.length;for(var s in e)!t&&!mt.call(e,s)||l&&("length"==s||o&&("offset"==s||"parent"==s)||i&&("buffer"==s||"byteLength"==s||"byteOffset"==s)||st(s,c))||a.push(s);return a};var dt=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t},ht=Object.prototype.hasOwnProperty;var ft=function(e){if(!x(e))return dt(e);var t=xe(e),r=[];for(var n in e)("constructor"!=n||!t&&ht.call(e,n))&&r.push(n);return r};var bt=function(e){return Ne(e)?ut(e,!0):ft(e)};var pt=function(e){return lt(e,bt(e))};var vt=function(e,t,r,n,o,i,l){var a=nt(e,r),c=nt(t,r),s=l.get(c);if(s)ye(e,r,s);else{var m=i?i(a,c,r+"",e,t,l):void 0,u=void 0===m;if(u){var d=Le(c),h=!d&&Object(Ue.a)(c),f=!d&&!h&&rt(c);m=c,d||h||f?Le(a)?m=a:Ve(a)?m=ke(a):h?(u=!1,m=Object(Ae.a)(c,!0)):f?(u=!1,m=Se(c,!0)):m=[]:Je(c)||He(c)?(m=a,He(a)?m=pt(a):x(a)&&!B(a)||(m=Fe(c))):u=!1}u&&(l.set(c,m),o(m,c,n,i,l),l.delete(c)),ye(e,r,m)}};var gt=function e(t,r,n,o,i){t!==r&&je(r,(function(l,a){if(i||(i=new ve),x(l))vt(t,r,a,n,e,o,i);else{var c=o?o(nt(t,a),l,a+"",t,r,i):void 0;void 0===c&&(c=l),ye(t,a,c)}}),bt)};var wt=function(e){return e};var yt=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)},jt=Math.max;var At=function(e,t,r){return t=jt(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,i=jt(n.length-t,0),l=Array(i);++o<i;)l[o]=n[t+o];o=-1;for(var a=Array(t+1);++o<t;)a[o]=n[o];return a[t]=r(l),yt(e,this,a)}};var _t=function(e){return function(){return e}},Ot=ge?function(e,t){return ge(e,"toString",{configurable:!0,enumerable:!1,value:_t(t),writable:!0})}:wt,St=Date.now;var kt=function(e){var t=0,r=0;return function(){var n=St(),o=16-(n-r);if(r=n,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(Ot);var Et=function(e,t){return kt(At(e,t,wt),e+"")};var $t=function(e,t,r){if(!x(r))return!1;var n=typeof t;return!!("number"==n?Ne(r)&&st(t,r.length):"string"==n&&t in r)&&c(r[t],e)};var Ct=function(e){return Et((function(t,r){var n=-1,o=r.length,i=o>1?r[o-1]:void 0,l=o>2?r[2]:void 0;for(i=e.length>3&&"function"==typeof i?(o--,i):void 0,l&&$t(r[0],r[1],l)&&(i=o<3?void 0:i,o=1),t=Object(t);++n<o;){var a=r[n];a&&e(t,a,n,i)}return t}))}((function(e,t,r,n){gt(e,t,r,n)}));class It extends n.Plugin{constructor(e){super(e),this._definitions=new Map}static get pluginName(){return"DataSchema"}init(){for(const e of i)this.registerBlockElement(e);for(const e of l)this.registerInlineElement(e)}registerBlockElement(e){this._definitions.set(e.model,{...e,isBlock:!0})}registerInlineElement(e){this._definitions.set(e.model,{...e,isInline:!0})}extendBlockElement(e){this._extendDefinition({...e,isBlock:!0})}extendInlineElement(e){this._extendDefinition({...e,isInline:!0})}getDefinitionsForView(e,t){const r=new Set;for(const n of this._getMatchingViewDefinitions(e)){if(t)for(const e of this._getReferences(n.model))r.add(e);r.add(n)}return r}_getMatchingViewDefinitions(e){return Array.from(this._definitions.values()).filter(t=>t.view&&function(e,t){if("string"==typeof e)return e===t;if(e instanceof RegExp)return e.test(t);return!1}(e,t.view))}*_getReferences(e){const{modelSchema:t}=this._definitions.get(e);if(!t)return;const r=["inheritAllFrom","inheritTypesFrom","allowWhere","allowContentOf","allowAttributesOf"];for(const n of r)for(const r of Object(o.toArray)(t[n]||[])){const t=this._definitions.get(r);r!==e&&t&&(yield*this._getReferences(t.model),yield t)}}_extendDefinition(e){const t=this._definitions.get(e.model),r=Ct({},t,e,(e,t)=>Array.isArray(e)?e.concat(t):void 0);this._definitions.set(e.model,r)}}var Pt=r(10),xt=r(8);var Ft=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e},Bt=Ce(Object.keys,Object),Tt=Object.prototype.hasOwnProperty;var Rt=function(e){if(!xe(e))return Bt(e);var t=[];for(var r in Object(e))Tt.call(e,r)&&"constructor"!=r&&t.push(r);return t};var Mt=function(e){return Ne(e)?ut(e):Rt(e)};var Dt=function(e,t){return e&&lt(t,Mt(t),e)};var Ht=function(e,t){return e&&lt(t,bt(t),e)};var Lt=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,i=[];++r<n;){var l=e[r];t(l,r,e)&&(i[o++]=l)}return i};var zt=function(){return[]},Nt=Object.prototype.propertyIsEnumerable,Vt=Object.getOwnPropertySymbols,Ut=Vt?function(e){return null==e?[]:(e=Object(e),Lt(Vt(e),(function(t){return Nt.call(e,t)})))}:zt;var qt=function(e,t){return lt(e,Ut(e),t)};var Wt=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e},Kt=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Wt(t,Ut(e)),e=Ie(e);return t}:zt;var Gt=function(e,t){return lt(e,Kt(e),t)};var Qt=function(e,t,r){var n=t(e);return Le(e)?n:Wt(n,r(e))};var Jt=function(e){return Qt(e,Mt,Ut)};var Xt=function(e){return Qt(e,bt,Kt)},Yt=G(j.a,"DataView"),Zt=G(j.a,"Promise"),er=G(j.a,"Set"),tr=G(j.a,"WeakMap"),rr=H(Yt),nr=H(Q),or=H(Zt),ir=H(er),lr=H(tr),ar=P;(Yt&&"[object DataView]"!=ar(new Yt(new ArrayBuffer(1)))||Q&&"[object Map]"!=ar(new Q)||Zt&&"[object Promise]"!=ar(Zt.resolve())||er&&"[object Set]"!=ar(new er)||tr&&"[object WeakMap]"!=ar(new tr))&&(ar=function(e){var t=P(e),r="[object Object]"==t?e.constructor:void 0,n=r?H(r):"";if(n)switch(n){case rr:return"[object DataView]";case nr:return"[object Map]";case or:return"[object Promise]";case ir:return"[object Set]";case lr:return"[object WeakMap]"}return t});var cr=ar,sr=Object.prototype.hasOwnProperty;var mr=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&sr.call(e,"index")&&(r.index=e.index,r.input=e.input),r};var ur=function(e,t){var r=t?Oe(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)},dr=/\w*$/;var hr=function(e){var t=new e.constructor(e.source,dr.exec(e));return t.lastIndex=e.lastIndex,t},fr=A?A.prototype:void 0,br=fr?fr.valueOf:void 0;var pr=function(e){return br?Object(br.call(e)):{}};var vr=function(e,t,r){var n=e.constructor;switch(t){case"[object ArrayBuffer]":return Oe(e);case"[object Boolean]":case"[object Date]":return new n(+e);case"[object DataView]":return ur(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return Se(e,r);case"[object Map]":return new n;case"[object Number]":case"[object String]":return new n(e);case"[object RegExp]":return hr(e);case"[object Set]":return new n;case"[object Symbol]":return pr(e)}};var gr=function(e){return Be(e)&&"[object Map]"==cr(e)},wr=et.a&&et.a.isMap,yr=wr?Ze(wr):gr;var jr=function(e){return Be(e)&&"[object Set]"==cr(e)},Ar=et.a&&et.a.isSet,_r=Ar?Ze(Ar):jr,Or={};Or["[object Arguments]"]=Or["[object Array]"]=Or["[object ArrayBuffer]"]=Or["[object DataView]"]=Or["[object Boolean]"]=Or["[object Date]"]=Or["[object Float32Array]"]=Or["[object Float64Array]"]=Or["[object Int8Array]"]=Or["[object Int16Array]"]=Or["[object Int32Array]"]=Or["[object Map]"]=Or["[object Number]"]=Or["[object Object]"]=Or["[object RegExp]"]=Or["[object Set]"]=Or["[object String]"]=Or["[object Symbol]"]=Or["[object Uint8Array]"]=Or["[object Uint8ClampedArray]"]=Or["[object Uint16Array]"]=Or["[object Uint32Array]"]=!0,Or["[object Error]"]=Or["[object Function]"]=Or["[object WeakMap]"]=!1;var Sr=function e(t,r,n,o,i,l){var a,c=1&r,s=2&r,m=4&r;if(n&&(a=i?n(t,o,i,l):n(t)),void 0!==a)return a;if(!x(t))return t;var u=Le(t);if(u){if(a=mr(t),!c)return ke(t,a)}else{var d=cr(t),h="[object Function]"==d||"[object GeneratorFunction]"==d;if(Object(Ue.a)(t))return Object(Ae.a)(t,c);if("[object Object]"==d||"[object Arguments]"==d||h&&!i){if(a=s||h?{}:Fe(t),!c)return s?Gt(t,Ht(a,t)):qt(t,Dt(a,t))}else{if(!Or[d])return i?t:{};a=vr(t,d,c)}}l||(l=new ve);var f=l.get(t);if(f)return f;l.set(t,a),_r(t)?t.forEach((function(o){a.add(e(o,r,n,o,t,l))})):yr(t)&&t.forEach((function(o,i){a.set(i,e(o,r,n,i,t,l))}));var b=u?void 0:(m?s?Xt:Jt:s?bt:Mt)(t);return Ft(b||t,(function(o,i){b&&(o=t[i=o]),it(a,i,e(o,r,n,i,t,l))})),a};var kr=function(e){return Sr(e,5)};function Er(e,t,r){if(t.attributes)for(const[n,o]of Object.entries(t.attributes))e.setAttribute(n,o,r);t.styles&&e.setStyle(t.styles,r),t.classes&&e.addClass(t.classes,r)}function $r(e,t){const r=kr(e);for(const n in t)Array.isArray(t[n])?r[n]=Array.from(new Set([...e[n],...t[n]])):r[n]={...e[n],...t[n]};return r}function Cr({model:e}){return(t,r)=>r.writer.createElement(e,{htmlContent:t.getCustomProperty("$rawContent")})}function Ir(e,{view:t,isInline:r}){const n=e.t;return(e,{writer:o,consumable:i})=>{const l=n("HTML object"),a=o.createContainerElement(r?"span":"div",{class:"html-object-embed","data-html-object-embed-label":l},{isAllowedInsideAttributeElement:r}),c=Pr(t,e,o);o.addClass("html-object-embed__content",c);const s=e.getAttribute("htmlAttributes");return s&&i.consume(e,"attribute:htmlAttributes:"+e.name)&&Er(o,s,c),o.insert(o.createPositionAt(a,0),c),Object(xt.toWidget)(a,o,{widgetLabel:l})}}function Pr(e,t,r){return r.createRawElement(e,null,(e,r)=>{r.setContentOf(e,t.getAttribute("htmlContent"))})}function xr({priority:e,view:t}){return(r,n)=>{if(!r)return;const{writer:o}=n,i=o.createAttributeElement(t,null,{priority:e});return Er(o,r,i),i}}function Fr({view:e},t){return r=>{r.on("element:"+e,(e,r,n)=>{if(!r.modelRange)return;const o=t._consumeAllowedAttributes(r.viewItem,n);o&&n.writer.setAttribute("htmlAttributes",o,r.modelRange)},{priority:"low"})}}function Br({model:e}){return t=>{t.on("attribute:htmlAttributes:"+e,(e,t,r)=>{const n=t.attributeNewValue;if(!r.consumable.consume(t.item,e.name))return;Er(r.writer,n,r.mapper.toViewElement(t.item))})}}var Tr=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o};var Rr=function(e,t,r,n){for(var o=e.length,i=r+(n?1:-1);n?i--:++i<o;)if(t(e[i],i,e))return i;return-1};var Mr=function(e){return e!=e};var Dr=function(e,t,r){for(var n=r-1,o=e.length;++n<o;)if(e[n]===t)return n;return-1};var Hr=function(e,t,r){return t==t?Dr(e,t,r):Rr(e,Mr,r)};var Lr=function(e,t,r,n){for(var o=r-1,i=e.length;++o<i;)if(n(e[o],t))return o;return-1},zr=Array.prototype.splice;var Nr=function(e,t,r,n){var o=n?Lr:Hr,i=-1,l=t.length,a=e;for(e===t&&(t=ke(t)),r&&(a=Tr(e,Ze(r)));++i<l;)for(var c=0,s=t[i],m=r?r(s):s;(c=o(a,m,c,n))>-1;)a!==e&&zr.call(a,c,1),zr.call(e,c,1);return e};var Vr=Et((function(e,t){return e&&e.length&&t&&t.length?Nr(e,t):e}));r(14);class Ur extends n.Plugin{constructor(e){super(e),this._dataSchema=e.plugins.get("DataSchema"),this._allowedAttributes=new Pt.Matcher,this._disallowedAttributes=new Pt.Matcher,this._allowedElements=new Set,this._dataInitialized=!1,this._registerElementsAfterInit(),this._registerElementHandlers()}static get pluginName(){return"DataFilter"}static get requires(){return[It,xt.Widget]}loadAllowedConfig(e){this._loadConfig(e,e=>this.allowAttributes(e))}loadDisallowedConfig(e){this._loadConfig(e,e=>this.disallowAttributes(e))}allowElement(e){for(const t of this._dataSchema.getDefinitionsForView(e,!0))this._allowedElements.has(t)||(this._allowedElements.add(t),this._dataInitialized&&this._fireRegisterEvent(t))}allowAttributes(e){this._allowedAttributes.add(e)}disallowAttributes(e){this._disallowedAttributes.add(e)}_loadConfig(e,t){for(const r of e){const e=r.name||/[\s\S]+/;this.allowElement(e),Qr(r).forEach(t)}}_consumeAllowedAttributes(e,t){return qr(e,t,this._disallowedAttributes),qr(e,t,this._allowedAttributes)}_registerElementsAfterInit(){this.editor.data.on("init",()=>{this._dataInitialized=!0;for(const e of this._allowedElements)this._fireRegisterEvent(e)},{priority:o.priorities.get("high")+1})}_registerElementHandlers(){this.on("register",(e,t)=>{const r=this.editor.model.schema;if(t.isObject&&!r.isRegistered(t.model))this._registerObjectElement(t);else if(t.isBlock)this._registerBlockElement(t);else{if(!t.isInline)throw new o.CKEditorError("data-filter-invalid-definition",null,t);this._registerInlineElement(t)}e.stop()},{priority:"lowest"})}_fireRegisterEvent(e){this.fire(e.view?"register:"+e.view:"register",e)}_registerObjectElement(e){const t=this.editor,r=t.model.schema,n=t.conversion,{view:i,model:l}=e;r.register(l,e.modelSchema),i&&(r.extend(e.model,{allowAttributes:["htmlAttributes","htmlContent"]}),t.data.registerRawContentMatcher({name:i}),n.for("upcast").elementToElement({view:i,model:Cr(e),converterPriority:o.priorities.get("low")+1}),n.for("upcast").add(Fr(e,this)),n.for("editingDowncast").elementToElement({model:l,view:Ir(t,e)}),n.for("dataDowncast").elementToElement({model:l,view:(e,{writer:t})=>Pr(i,e,t)}),n.for("dataDowncast").add(Br(e)))}_registerBlockElement(e){const t=this.editor,r=t.model.schema,n=t.conversion,{view:i,model:l}=e;if(!r.isRegistered(e.model)){if(r.register(e.model,e.modelSchema),!i)return;n.for("upcast").elementToElement({model:l,view:i,converterPriority:o.priorities.get("low")+1}),n.for("downcast").elementToElement({model:l,view:i})}i&&(r.extend(e.model,{allowAttributes:"htmlAttributes"}),n.for("upcast").add(Fr(e,this)),n.for("downcast").add(Br(e)))}_registerInlineElement(e){const t=this.editor,r=t.model.schema,n=t.conversion,o=e.model;r.extend("$text",{allowAttributes:o}),e.attributeProperties&&r.setAttributeProperties(o,e.attributeProperties),n.for("upcast").add(function({view:e,model:t},r){return n=>{n.on("element:"+e,(e,n,o)=>{const i=r._consumeAllowedAttributes(n.viewItem,o);n.modelRange||(n=Object.assign(n,o.convertChildren(n.viewItem,n.modelCursor)));for(const e of n.modelRange.getItems())if(o.schema.checkAttribute(e,t)){const r=$r(i||{},e.getAttribute(t)||{});o.writer.setAttribute(t,r,e)}},{priority:"low"})}}(e,this)),n.for("downcast").attributeToElement({model:o,view:xr(e)})}}function qr(e,t,r){const n=function(e,{consumable:t},r){const n=r.matchAll(e)||[],o=[];for(const r of n)Wr(t,e,r),delete r.match.name,t.consume(e,r.match)&&o.push(r);return o}(e,t,r),{attributes:o,styles:i,classes:l}=function(e){const t={attributes:new Set,classes:new Set,styles:new Set};for(const r of e)for(const e in t){(r.match[e]||[]).forEach(r=>t[e].add(r))}return t}(n),a={};return o.size&&(a.attributes=Kr(o,t=>e.getAttribute(t))),i.size&&(a.styles=Kr(i,t=>e.getStyle(t))),l.size&&(a.classes=Array.from(l)),Object.keys(a).length?a:null}function Wr(e,t,r){for(const n of["attributes","classes","styles"]){const o=r.match[n];if(o)for(const r of o)e.test(t,{[n]:[r]})||Vr(o,r)}}function Kr(e,t){const r={};for(const n of e){void 0!==t(n)&&(r[n]=t(n))}return r}function Gr(e,t){const{name:r}=e;return Je(e[t])?Object.entries(e[t]).map(([e,n])=>({name:r,[t]:{[e]:n}})):Array.isArray(e[t])?e[t].map(e=>({name:r,[t]:[e]})):[e]}function Qr(e){const{name:t,attributes:r,classes:n,styles:o}=e,i=[];return r&&i.push(...Gr({name:t,attributes:r},"attributes")),n&&i.push(...Gr({name:t,classes:n},"classes")),o&&i.push(...Gr({name:t,styles:o},"styles")),i}class Jr extends n.Plugin{static get requires(){return[Ur]}init(){if(!this.editor.plugins.has("CodeBlockEditing"))return;const e=this.editor.plugins.get(Ur);e.on("register:pre",(t,r)=>{if("codeBlock"!==r.model)return;const n=this.editor,o=n.model.schema,i=n.conversion;o.extend("codeBlock",{allowAttributes:["htmlAttributes","htmlContentAttributes"]}),i.for("upcast").add(function(e){return t=>{t.on("element:code",(t,r,n)=>{const o=r.viewItem,i=o.parent;function l(t,o){const i=e._consumeAllowedAttributes(t,n);i&&n.writer.setAttribute(o,i,r.modelRange)}i&&i.is("element","pre")&&(l(i,"htmlAttributes"),l(o,"htmlContentAttributes"))},{priority:"low"})}}(e)),i.for("downcast").add(e=>{e.on("attribute:htmlAttributes:codeBlock",(e,t,r)=>{if(!r.consumable.consume(t.item,e.name))return;const n=r.mapper.toViewElement(t.item).parent;Er(r.writer,t.attributeNewValue,n)}),e.on("attribute:htmlContentAttributes:codeBlock",(e,t,r)=>{if(!r.consumable.consume(t.item,e.name))return;const n=r.mapper.toViewElement(t.item);Er(r.writer,t.attributeNewValue,n)})}),t.stop()})}}class Xr extends n.Plugin{static get requires(){return[Ur]}init(){this.editor.plugins.get(Ur).on("register",(e,t)=>{const r=this.editor,n=r.model.schema,i=r.conversion;if(!t.paragraphLikeModel)return;if(n.isRegistered(t.model)||n.isRegistered(t.paragraphLikeModel))return;const l={model:t.paragraphLikeModel,view:t.view};n.register(t.model,t.modelSchema),n.register(l.model,{inheritAllFrom:"$block"}),i.for("upcast").elementToElement({view:t.view,model:(e,{writer:r})=>this._hasBlockContent(e)?r.createElement(t.model):r.createElement(l.model),converterPriority:o.priorities.get("low")+1}),i.for("downcast").elementToElement({view:t.view,model:t.model}),this._addAttributeConversion(t),i.for("downcast").elementToElement({view:l.view,model:l.model}),this._addAttributeConversion(l),e.stop()})}_hasBlockContent(e){const t=this.editor.editing.view.domConverter.blockElements;return Array.from(e.getChildren()).some(e=>t.includes(e.name))}_addAttributeConversion(e){const t=this.editor,r=t.conversion,n=t.plugins.get(Ur);t.model.schema.extend(e.model,{allowAttributes:"htmlAttributes"}),r.for("upcast").add(Fr(e,n)),r.for("downcast").add(Br(e))}}class Yr extends n.Plugin{static get requires(){return[It]}init(){const e=this.editor;if(!e.plugins.has("HeadingEditing"))return;const t=e.plugins.get(It),r=e.config.get("heading.options"),n=[];for(const e of r)"model"in e&&"view"in e&&(t.registerBlockElement({view:e.view,model:e.model}),n.push(e.model));t.extendBlockElement({model:"htmlHgroup",modelSchema:{allowChildren:n}})}}class Zr extends n.Plugin{static get requires(){return[Ur]}init(){const e=this.editor;if(!e.plugins.has("ImageInlineEditing")&&!e.plugins.has("ImageBlockEditing"))return;const t=e.model.schema,r=e.conversion,n=e.plugins.get(Ur);n.on("register:img",(e,o)=>{"imageBlock"!==o.model&&"imageInline"!==o.model||(t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["htmlAttributes","htmlFigureAttributes","htmlLinkAttributes"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["htmlA","htmlAttributes"]}),r.for("upcast").add(function(e){return t=>{t.on("element:img",(t,r,n)=>{const o=r.viewItem,i=o.parent;function l(t,o){const i=e._consumeAllowedAttributes(t,n);i&&n.writer.setAttribute(o,i,r.modelRange)}l(o,"htmlAttributes"),i.is("element","figure")?l(i,"htmlFigureAttributes"):i.is("element","a")&&function(e){r.modelRange&&r.modelRange.getContainedElement().is("element","imageBlock")&&l(e,"htmlLinkAttributes");e.parent.is("element","figure")&&l(e.parent,"htmlFigureAttributes")}(i)},{priority:"low"})}}(n)),r.for("downcast").add(e=>{var t;function r(t,r){e.on(`attribute:${r}:imageBlock`,(e,r,n)=>{if(!n.consumable.consume(r.item,e.name))return;const o=n.mapper.toViewElement(r.item),i=en(n.writer,o,t);Er(n.writer,r.attributeNewValue,i)},{priority:"low"})}t="htmlAttributes",e.on(`attribute:${t}:imageInline`,(e,t,r)=>{if(!r.consumable.consume(t.item,e.name))return;const n=r.mapper.toViewElement(t.item);Er(r.writer,t.attributeNewValue,n)},{priority:"low"}),r("img","htmlAttributes"),r("figure","htmlFigureAttributes"),e.on("attribute:linkHref:imageBlock",(e,t,r)=>{if(!r.consumable.consume(t.item,"attribute:htmlLinkAttributes:imageBlock"))return;const n=r.mapper.toViewElement(t.item),o=en(r.writer,n,"a");Er(r.writer,t.item.getAttribute("htmlLinkAttributes"),o)},{priority:"low"})}),e.stop())})}}function en(e,t,r){const n=e.createRangeOn(t);for(const{item:e}of n.getWalker())if(e.is("element",r))return e}class tn extends n.Plugin{static get requires(){return[Ur]}init(){const e=this.editor;if(!e.plugins.has("MediaEmbed")||e.config.get("mediaEmbed.previewsInData"))return;const t=e.model.schema,r=e.conversion,n=this.editor.plugins.get(Ur),o=this.editor.plugins.get(It),i=e.config.get("mediaEmbed.elementName");o.registerBlockElement({model:"media",view:i}),n.on("register:"+i,(e,o)=>{"media"===o.model&&(t.extend("media",{allowAttributes:["htmlAttributes","htmlFigureAttributes"]}),r.for("upcast").add(function(e,t){return e=>{e.on("element:"+t,r)};function r(t,r,n){const o=r.viewItem,i=o.parent;function l(t,o){const i=e._consumeAllowedAttributes(t,n);i&&n.writer.setAttribute(o,i,r.modelRange)}l(o,"htmlAttributes"),i.is("element","figure")&&i.hasClass("media")&&l(i,"htmlFigureAttributes")}}(n,i)),r.for("dataDowncast").add(function(e){return t=>{function r(e,r){t.on(`attribute:${r}:media`,(t,r,n)=>{if(!n.consumable.consume(r.item,t.name))return;const o=n.mapper.toViewElement(r.item),i=function(e,t,r){const n=e.createRangeOn(t);for(const{item:e}of n.getWalker())if(e.is("element",r))return e}(n.writer,o,e);Er(n.writer,r.attributeNewValue,i)})}r(e,"htmlAttributes"),r("figure","htmlFigureAttributes")}}(i)),e.stop())})}}class rn extends n.Plugin{static get requires(){return[Ur]}init(){const e=this.editor;if(!e.plugins.has("TableEditing"))return;const t=e.model.schema,r=e.conversion,n=e.plugins.get(Ur);n.on("register:table",(e,o)=>{"table"===o.model&&(t.extend("table",{allowAttributes:["htmlAttributes","htmlFigureAttributes","htmlTheadAttributes","htmlTbodyAttributes"]}),r.for("upcast").add(function(e){return t=>{t.on("element:table",(t,r,n)=>{const o=r.viewItem;l(o,"htmlAttributes");const i=o.parent;i.is("element","figure")&&l(i,"htmlFigureAttributes");for(const e of o.getChildren())e.is("element","thead")&&l(e,"htmlTheadAttributes"),e.is("element","tbody")&&l(e,"htmlTbodyAttributes");function l(t,o){const i=e._consumeAllowedAttributes(t,n);i&&n.writer.setAttribute(o,i,r.modelRange)}},{priority:"low"})}}(n)),r.for("downcast").add(e=>{function t(t,r){e.on(`attribute:${r}:table`,(e,r,n)=>{if(!n.consumable.consume(r.item,e.name))return;const o=n.mapper.toViewElement(r.item),i=function(e,t,r){const n=e.createRangeOn(t);for(const{item:e}of n.getWalker())if(e.is("element",r))return e}(n.writer,o,t);Er(n.writer,r.attributeNewValue,i)})}t("table","htmlAttributes"),t("figure","htmlFigureAttributes"),t("thead","htmlTheadAttributes"),t("tbody","htmlTbodyAttributes")}),e.stop())})}}class nn extends n.Plugin{static get pluginName(){return"GeneralHtmlSupport"}static get requires(){return[Ur,Jr,Xr,Yr,Zr,tn,rn]}init(){const e=this.editor,t=e.plugins.get(Ur);t.loadAllowedConfig(e.config.get("htmlSupport.allow")||[]),t.loadDisallowedConfig(e.config.get("htmlSupport.disallow")||[])}}class on extends n.Plugin{static get pluginName(){return"HtmlComment"}init(){const e=this.editor;e.model.schema.addAttributeCheck((e,t)=>{if(e.endsWith("$root")&&t.startsWith("$comment"))return!0}),e.conversion.for("upcast").elementToMarker({view:"$comment",model:(e,{writer:t})=>{const r=this.editor.model.document.getRoot(),n=e.getCustomProperty("$rawContent"),i="$comment:"+Object(o.uid)();return t.setAttribute(i,n,r),i}}),e.conversion.for("dataDowncast").markerToElement({model:"$comment",view:(e,{writer:t})=>{const r=this.editor.model.document.getRoot(),n=e.markerName,o=r.getAttribute(n),i=t.createUIElement("$comment");return t.setCustomProperty("$rawContent",o,i),i}}),e.model.document.registerPostFixer(t=>{const r=e.model.document.getRoot(),n=e.model.document.differ.getChangedMarkers().filter(e=>e.name.startsWith("$comment")).filter(e=>{const t=e.data.newRange;return t&&"$graveyard"===t.root.rootName});if(0===n.length)return!1;for(const e of n)t.removeMarker(e.name),t.removeAttribute(e.name,r);return!0}),e.data.on("set",()=>{for(const t of e.model.markers.getMarkersGroup("$comment"))this.removeHtmlComment(t.name)},{priority:"high"}),e.model.on("deleteContent",(t,[r])=>{for(const t of r.getRanges()){const r=e.model.schema.getLimitElement(t),n=e.model.createPositionAt(r,0),o=e.model.createPositionAt(r,"end");let i;i=n.isTouching(t.start)&&o.isTouching(t.end)?this.getHtmlCommentsInRange(e.model.createRange(n,o)):this.getHtmlCommentsInRange(t,{skipBoundaries:!0});for(const e of i)this.removeHtmlComment(e)}},{priority:"high"})}createHtmlComment(e,t){const r=Object(o.uid)(),n=this.editor.model,i=n.document.getRoot(),l="$comment:"+r;return n.change(r=>{const n=r.createRange(e);return r.addMarker(l,{usingOperation:!0,affectsData:!0,range:n}),r.setAttribute(l,t,i),l})}removeHtmlComment(e){const t=this.editor,r=t.model.document.getRoot(),n=t.model.markers.get(e);return!!n&&(t.model.change(t=>{t.removeMarker(n),t.removeAttribute(e,r)}),!0)}getHtmlCommentData(e){const t=this.editor,r=t.model.markers.get(e),n=t.model.document.getRoot();return r?{content:n.getAttribute(e),position:r.getStart()}:null}getHtmlCommentsInRange(e,{skipBoundaries:t=!1}={}){const r=!t;return Array.from(this.editor.model.markers.getMarkersGroup("$comment")).filter(t=>function(e,t){const n=e.getRange().start;return(n.isAfter(t.start)||r&&n.isEqual(t.start))&&(n.isBefore(t.end)||r&&n.isEqual(t.end))}(t,e)).map(e=>e.name)}}}]);
\ No newline at end of file
+ */(()=>{var t={142:(t,e,r)=>{"use strict";r.d(e,{Z:()=>i});var o=r(609),n=r.n(o)()((function(t){return t[1]}));n.push([t.id,":root{--ck-html-object-embed-unfocused-outline-width:1px}.ck-widget.html-object-embed{background-color:var(--ck-color-base-foreground);font-size:var(--ck-font-size-base);min-width:calc(76px + var(--ck-spacing-standard));padding:var(--ck-spacing-small);padding-top:calc(var(--ck-font-size-tiny) + var(--ck-spacing-large))}.ck-widget.html-object-embed:not(.ck-widget_selected):not(:hover){outline:var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border)}.ck-widget.html-object-embed:before{background:#999;border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius);color:var(--ck-color-base-background);content:attr(data-html-object-embed-label);font-family:var(--ck-font-face);font-size:var(--ck-font-size-tiny);font-style:normal;font-weight:400;left:var(--ck-spacing-standard);padding:calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);position:absolute;top:0;transition:background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck-widget.html-object-embed .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before{margin-left:50px}.ck-widget.html-object-embed .html-object-embed__content{pointer-events:none}div.ck-widget.html-object-embed{margin:1em auto}span.ck-widget.html-object-embed{display:inline-block}",""]);const i=n},609:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=t(e);return e[2]?"@media ".concat(e[2]," {").concat(r,"}"):r})).join("")},e.i=function(t,r,o){"string"==typeof t&&(t=[[null,t,""]]);var n={};if(o)for(var i=0;i<this.length;i++){var l=this[i][0];null!=l&&(n[l]=!0)}for(var s=0;s<t.length;s++){var c=[].concat(t[s]);o&&n[c[0]]||(r&&(c[2]?c[2]="".concat(r," and ").concat(c[2]):c[2]=r),e.push(c))}},e}},62:(t,e,r)=>{"use strict";var o,n=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var t={};return function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}t[e]=r}return t[e]}}(),l=[];function s(t){for(var e=-1,r=0;r<l.length;r++)if(l[r].identifier===t){e=r;break}return e}function c(t,e){for(var r={},o=[],n=0;n<t.length;n++){var i=t[n],c=e.base?i[0]+e.base:i[0],a=r[c]||0,u="".concat(c," ").concat(a);r[c]=a+1;var m=s(u),d={css:i[1],media:i[2],sourceMap:i[3]};-1!==m?(l[m].references++,l[m].updater(d)):l.push({identifier:u,updater:p(d,e),references:1}),o.push(u)}return o}function a(t){var e=document.createElement("style"),o=t.attributes||{};if(void 0===o.nonce){var n=r.nc;n&&(o.nonce=n)}if(Object.keys(o).forEach((function(t){e.setAttribute(t,o[t])})),"function"==typeof t.insert)t.insert(e);else{var l=i(t.insert||"head");if(!l)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");l.appendChild(e)}return e}var u,m=(u=[],function(t,e){return u[t]=e,u.filter(Boolean).join("\n")});function d(t,e,r,o){var n=r?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(t.styleSheet)t.styleSheet.cssText=m(e,n);else{var i=document.createTextNode(n),l=t.childNodes;l[e]&&t.removeChild(l[e]),l.length?t.insertBefore(i,l[e]):t.appendChild(i)}}function h(t,e,r){var o=r.css,n=r.media,i=r.sourceMap;if(n?t.setAttribute("media",n):t.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var f=null,b=0;function p(t,e){var r,o,n;if(e.singleton){var i=b++;r=f||(f=a(e)),o=d.bind(null,r,i,!1),n=d.bind(null,r,i,!0)}else r=a(e),o=h.bind(null,r,e),n=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(r)};return o(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;o(t=e)}else n()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=n());var r=c(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var o=0;o<r.length;o++){var n=s(r[o]);l[n].references--}for(var i=c(t,e),a=0;a<r.length;a++){var u=s(r[a]);0===l[u].references&&(l[u].updater(),l.splice(u,1))}r=i}}}},704:(t,e,r)=>{t.exports=r(79)("./src/core.js")},492:(t,e,r)=>{t.exports=r(79)("./src/engine.js")},209:(t,e,r)=>{t.exports=r(79)("./src/utils.js")},995:(t,e,r)=>{t.exports=r(79)("./src/widget.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function r(o){var n=e[o];if(void 0!==n)return n.exports;var i=e[o]={id:o,exports:{}};return t[o](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var o in e)r.o(e,o)&&!r.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};(()=>{"use strict";r.r(o),r.d(o,{DataFilter:()=>po,DataSchema:()=>ze,GeneralHtmlSupport:()=>tn,HtmlComment:()=>on});var t=r(704),e=r(209);const n=[{model:"codeBlock",view:"pre"},{model:"paragraph",view:"p"},{model:"blockQuote",view:"blockquote"},{model:"listItem",view:"li"},{model:"pageBreak",view:"div"},{model:"rawHtml",view:"div"},{model:"table",view:"table"},{model:"tableRow",view:"tr"},{model:"tableCell",view:"td"},{model:"tableCell",view:"th"},{model:"caption",view:"caption"},{model:"caption",view:"figcaption"},{model:"imageBlock",view:"img"},{model:"imageInline",view:"img"},{model:"htmlP",view:"p",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlBlockquote",view:"blockquote",modelSchema:{inheritAllFrom:"$container"}},{model:"htmlTable",view:"table",modelSchema:{allowWhere:"$block",isBlock:!0}},{model:"htmlTbody",view:"tbody",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlThead",view:"thead",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlTfoot",view:"tfoot",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlCaption",view:"caption",modelSchema:{allowIn:"htmlTable",allowChildren:"$text",isBlock:!0}},{model:"htmlTr",view:"tr",modelSchema:{allowIn:["htmlTable","htmlThead","htmlTbody"]}},{model:"htmlTd",view:"td",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container"}},{model:"htmlTh",view:"th",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container"}},{model:"htmlFigure",view:"figure",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlFigcaption",view:"figcaption",modelSchema:{allowIn:"htmlFigure",allowChildren:"$text",isBlock:!0}},{model:"htmlAddress",view:"address",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlAside",view:"aside",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlMain",view:"main",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlDetails",view:"details",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlSummary",view:"summary",modelSchema:{allowChildren:"$text",allowIn:"htmlDetails",isBlock:!0}},{model:"htmlDiv",view:"div",paragraphLikeModel:"htmlDivParagraph",modelSchema:{inheritAllFrom:"$container"}},{model:"htmlFieldset",view:"fieldset",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlLegend",view:"legend",modelSchema:{allowIn:"htmlFieldset",allowChildren:"$text"}},{model:"htmlHeader",view:"header",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlFooter",view:"footer",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlForm",view:"form",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlHgroup",view:"hgroup",modelSchema:{allowChildren:["htmlH1","htmlH2","htmlH3","htmlH4","htmlH5","htmlH6"],isBlock:!0}},{model:"htmlH1",view:"h1",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH2",view:"h2",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH3",view:"h3",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH4",view:"h4",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH5",view:"h5",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH6",view:"h6",modelSchema:{inheritAllFrom:"$block"}},{model:"$htmlList",modelSchema:{allowWhere:"$container",allowChildren:["$htmlList","htmlLi"],isBlock:!0}},{model:"htmlDir",view:"dir",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlMenu",view:"menu",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlUl",view:"ul",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlOl",view:"ol",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlLi",view:"li",modelSchema:{allowIn:"$htmlList",allowChildren:"$text",isBlock:!0}},{model:"htmlPre",view:"pre",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlArticle",view:"article",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlSection",view:"section",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlNav",view:"nav",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlDl",view:"dl",modelSchema:{allowWhere:"$container",allowChildren:["htmlDt","htmlDd"],isBlock:!0}},{model:"htmlDt",view:"dt",modelSchema:{allowChildren:"$block",isBlock:!0}},{model:"htmlDd",view:"dd",modelSchema:{allowChildren:"$block",isBlock:!0}},{model:"htmlCenter",view:"center",modelSchema:{inheritAllFrom:"$container",isBlock:!0}}],i=[{model:"htmlAcronym",view:"acronym",attributeProperties:{copyOnEnter:!0}},{model:"htmlTt",view:"tt",attributeProperties:{copyOnEnter:!0}},{model:"htmlFont",view:"font",attributeProperties:{copyOnEnter:!0}},{model:"htmlTime",view:"time",attributeProperties:{copyOnEnter:!0}},{model:"htmlVar",view:"var",attributeProperties:{copyOnEnter:!0}},{model:"htmlBig",view:"big",attributeProperties:{copyOnEnter:!0}},{model:"htmlSmall",view:"small",attributeProperties:{copyOnEnter:!0}},{model:"htmlSamp",view:"samp",attributeProperties:{copyOnEnter:!0}},{model:"htmlQ",view:"q",attributeProperties:{copyOnEnter:!0}},{model:"htmlOutput",view:"output",attributeProperties:{copyOnEnter:!0}},{model:"htmlKbd",view:"kbd",attributeProperties:{copyOnEnter:!0}},{model:"htmlBdi",view:"bdi",attributeProperties:{copyOnEnter:!0}},{model:"htmlBdo",view:"bdo",attributeProperties:{copyOnEnter:!0}},{model:"htmlAbbr",view:"abbr",attributeProperties:{copyOnEnter:!0}},{model:"htmlA",view:"a",priority:5,attributeProperties:{copyOnEnter:!0}},{model:"htmlStrong",view:"strong",attributeProperties:{copyOnEnter:!0}},{model:"htmlB",view:"b",attributeProperties:{copyOnEnter:!0}},{model:"htmlI",view:"i",attributeProperties:{copyOnEnter:!0}},{model:"htmlEm",view:"em",attributeProperties:{copyOnEnter:!0}},{model:"htmlS",view:"s",attributeProperties:{copyOnEnter:!0}},{model:"htmlDel",view:"del",attributeProperties:{copyOnEnter:!0}},{model:"htmlIns",view:"ins",attributeProperties:{copyOnEnter:!0}},{model:"htmlU",view:"u",attributeProperties:{copyOnEnter:!0}},{model:"htmlSub",view:"sub",attributeProperties:{copyOnEnter:!0}},{model:"htmlSup",view:"sup",attributeProperties:{copyOnEnter:!0}},{model:"htmlCode",view:"code",attributeProperties:{copyOnEnter:!0}},{model:"htmlMark",view:"mark",attributeProperties:{copyOnEnter:!0}},{model:"htmlSpan",view:"span",attributeProperties:{copyOnEnter:!0}},{model:"htmlCite",view:"cite",attributeProperties:{copyOnEnter:!0}},{model:"htmlLabel",view:"label",attributeProperties:{copyOnEnter:!0}},{model:"htmlDfn",view:"dfn",attributeProperties:{copyOnEnter:!0}},{model:"htmlObject",view:"object",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlIframe",view:"iframe",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlInput",view:"input",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlButton",view:"button",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlTextarea",view:"textarea",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlSelect",view:"select",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlVideo",view:"video",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlEmbed",view:"embed",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlOembed",view:"oembed",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlAudio",view:"audio",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlImg",view:"img",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlCanvas",view:"canvas",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlMeter",view:"meter",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlProgress",view:"progress",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlScript",view:"script",modelSchema:{allowWhere:["$text","$block"],isInline:!0}},{model:"htmlStyle",view:"style",modelSchema:{allowWhere:["$text","$block"],isInline:!0}}];const l=function(){this.__data__=[],this.size=0};const s=function(t,e){return t===e||t!=t&&e!=e};const c=function(t,e){for(var r=t.length;r--;)if(s(t[r][0],e))return r;return-1};var a=Array.prototype.splice;const u=function(t){var e=this.__data__,r=c(e,t);return!(r<0)&&(r==e.length-1?e.pop():a.call(e,r,1),--this.size,!0)};const m=function(t){var e=this.__data__,r=c(e,t);return r<0?void 0:e[r][1]};const d=function(t){return c(this.__data__,t)>-1};const h=function(t,e){var r=this.__data__,o=c(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this};function f(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}f.prototype.clear=l,f.prototype.delete=u,f.prototype.get=m,f.prototype.has=d,f.prototype.set=h;const b=f;const p=function(){this.__data__=new b,this.size=0};const g=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r};const v=function(t){return this.__data__.get(t)};const w=function(t){return this.__data__.has(t)};const y="object"==typeof global&&global&&global.Object===Object&&global;var A="object"==typeof self&&self&&self.Object===Object&&self;const j=y||A||Function("return this")();const _=j.Symbol;var O=Object.prototype,k=O.hasOwnProperty,S=O.toString,E=_?_.toStringTag:void 0;const C=function(t){var e=k.call(t,E),r=t[E];try{t[E]=void 0;var o=!0}catch(t){}var n=S.call(t);return o&&(e?t[E]=r:delete t[E]),n};var $=Object.prototype.toString;const x=function(t){return $.call(t)};var F=_?_.toStringTag:void 0;const I=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":F&&F in Object(t)?C(t):x(t)};const P=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)};const B=function(t){if(!P(t))return!1;var e=I(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e};const T=j["__core-js_shared__"];var R,L=(R=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||""))?"Symbol(src)_1."+R:"";const M=function(t){return!!L&&L in t};var D=Function.prototype.toString;const H=function(t){if(null!=t){try{return D.call(t)}catch(t){}try{return t+""}catch(t){}}return""};var N=/^\[object .+?Constructor\]$/,z=Function.prototype,V=Object.prototype,q=z.toString,U=V.hasOwnProperty,W=RegExp("^"+q.call(U).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const G=function(t){return!(!P(t)||M(t))&&(B(t)?W:N).test(H(t))};const K=function(t,e){return null==t?void 0:t[e]};const Z=function(t,e){var r=K(t,e);return G(r)?r:void 0};const Q=Z(j,"Map");const J=Z(Object,"create");const X=function(){this.__data__=J?J(null):{},this.size=0};const Y=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e};var tt=Object.prototype.hasOwnProperty;const et=function(t){var e=this.__data__;if(J){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return tt.call(e,t)?e[t]:void 0};var rt=Object.prototype.hasOwnProperty;const ot=function(t){var e=this.__data__;return J?void 0!==e[t]:rt.call(e,t)};const nt=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=J&&void 0===e?"__lodash_hash_undefined__":e,this};function it(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}it.prototype.clear=X,it.prototype.delete=Y,it.prototype.get=et,it.prototype.has=ot,it.prototype.set=nt;const lt=it;const st=function(){this.size=0,this.__data__={hash:new lt,map:new(Q||b),string:new lt}};const ct=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};const at=function(t,e){var r=t.__data__;return ct(e)?r["string"==typeof e?"string":"hash"]:r.map};const ut=function(t){var e=at(this,t).delete(t);return this.size-=e?1:0,e};const mt=function(t){return at(this,t).get(t)};const dt=function(t){return at(this,t).has(t)};const ht=function(t,e){var r=at(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this};function ft(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var o=t[e];this.set(o[0],o[1])}}ft.prototype.clear=st,ft.prototype.delete=ut,ft.prototype.get=mt,ft.prototype.has=dt,ft.prototype.set=ht;const bt=ft;const pt=function(t,e){var r=this.__data__;if(r instanceof b){var o=r.__data__;if(!Q||o.length<199)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new bt(o)}return r.set(t,e),this.size=r.size,this};function gt(t){var e=this.__data__=new b(t);this.size=e.size}gt.prototype.clear=p,gt.prototype.delete=g,gt.prototype.get=v,gt.prototype.has=w,gt.prototype.set=pt;const vt=gt;const wt=function(){try{var t=Z(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();const yt=function(t,e,r){"__proto__"==e&&wt?wt(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r};const At=function(t,e,r){(void 0!==r&&!s(t[e],r)||void 0===r&&!(e in t))&&yt(t,e,r)};const jt=function(t){return function(e,r,o){for(var n=-1,i=Object(e),l=o(e),s=l.length;s--;){var c=l[t?s:++n];if(!1===r(i[c],c,i))break}return e}}();var _t="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ot=_t&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Ot&&Ot.exports===_t?j.Buffer:void 0,St=kt?kt.allocUnsafe:void 0;const Et=function(t,e){if(e)return t.slice();var r=t.length,o=St?St(r):new t.constructor(r);return t.copy(o),o};const Ct=j.Uint8Array;const $t=function(t){var e=new t.constructor(t.byteLength);return new Ct(e).set(new Ct(t)),e};const xt=function(t,e){var r=e?$t(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)};const Ft=function(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e};var It=Object.create;const Pt=function(){function t(){}return function(e){if(!P(e))return{};if(It)return It(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();const Bt=function(t,e){return function(r){return t(e(r))}};const Tt=Bt(Object.getPrototypeOf,Object);var Rt=Object.prototype;const Lt=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Rt)};const Mt=function(t){return"function"!=typeof t.constructor||Lt(t)?{}:Pt(Tt(t))};const Dt=function(t){return null!=t&&"object"==typeof t};const Ht=function(t){return Dt(t)&&"[object Arguments]"==I(t)};var Nt=Object.prototype,zt=Nt.hasOwnProperty,Vt=Nt.propertyIsEnumerable;const qt=Ht(function(){return arguments}())?Ht:function(t){return Dt(t)&&zt.call(t,"callee")&&!Vt.call(t,"callee")};const Ut=Array.isArray;const Wt=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991};const Gt=function(t){return null!=t&&Wt(t.length)&&!B(t)};const Kt=function(t){return Dt(t)&&Gt(t)};const Zt=function(){return!1};var Qt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Jt=Qt&&"object"==typeof module&&module&&!module.nodeType&&module,Xt=Jt&&Jt.exports===Qt?j.Buffer:void 0;const Yt=(Xt?Xt.isBuffer:void 0)||Zt;var te=Function.prototype,ee=Object.prototype,re=te.toString,oe=ee.hasOwnProperty,ne=re.call(Object);const ie=function(t){if(!Dt(t)||"[object Object]"!=I(t))return!1;var e=Tt(t);if(null===e)return!0;var r=oe.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&re.call(r)==ne};var le={};le["[object Float32Array]"]=le["[object Float64Array]"]=le["[object Int8Array]"]=le["[object Int16Array]"]=le["[object Int32Array]"]=le["[object Uint8Array]"]=le["[object Uint8ClampedArray]"]=le["[object Uint16Array]"]=le["[object Uint32Array]"]=!0,le["[object Arguments]"]=le["[object Array]"]=le["[object ArrayBuffer]"]=le["[object Boolean]"]=le["[object DataView]"]=le["[object Date]"]=le["[object Error]"]=le["[object Function]"]=le["[object Map]"]=le["[object Number]"]=le["[object Object]"]=le["[object RegExp]"]=le["[object Set]"]=le["[object String]"]=le["[object WeakMap]"]=!1;const se=function(t){return Dt(t)&&Wt(t.length)&&!!le[I(t)]};const ce=function(t){return function(e){return t(e)}};var ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,ue=ae&&"object"==typeof module&&module&&!module.nodeType&&module,me=ue&&ue.exports===ae&&y.process;const de=function(){try{var t=ue&&ue.require&&ue.require("util").types;return t||me&&me.binding&&me.binding("util")}catch(t){}}();var he=de&&de.isTypedArray;const fe=he?ce(he):se;const be=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]};var pe=Object.prototype.hasOwnProperty;const ge=function(t,e,r){var o=t[e];pe.call(t,e)&&s(o,r)&&(void 0!==r||e in t)||yt(t,e,r)};const ve=function(t,e,r,o){var n=!r;r||(r={});for(var i=-1,l=e.length;++i<l;){var s=e[i],c=o?o(r[s],t[s],s,r,t):void 0;void 0===c&&(c=t[s]),n?yt(r,s,c):ge(r,s,c)}return r};const we=function(t,e){for(var r=-1,o=Array(t);++r<t;)o[r]=e(r);return o};var ye=/^(?:0|[1-9]\d*)$/;const Ae=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&ye.test(t))&&t>-1&&t%1==0&&t<e};var je=Object.prototype.hasOwnProperty;const _e=function(t,e){var r=Ut(t),o=!r&&qt(t),n=!r&&!o&&Yt(t),i=!r&&!o&&!n&&fe(t),l=r||o||n||i,s=l?we(t.length,String):[],c=s.length;for(var a in t)!e&&!je.call(t,a)||l&&("length"==a||n&&("offset"==a||"parent"==a)||i&&("buffer"==a||"byteLength"==a||"byteOffset"==a)||Ae(a,c))||s.push(a);return s};const Oe=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e};var ke=Object.prototype.hasOwnProperty;const Se=function(t){if(!P(t))return Oe(t);var e=Lt(t),r=[];for(var o in t)("constructor"!=o||!e&&ke.call(t,o))&&r.push(o);return r};const Ee=function(t){return Gt(t)?_e(t,!0):Se(t)};const Ce=function(t){return ve(t,Ee(t))};const $e=function(t,e,r,o,n,i,l){var s=be(t,r),c=be(e,r),a=l.get(c);if(a)At(t,r,a);else{var u=i?i(s,c,r+"",t,e,l):void 0,m=void 0===u;if(m){var d=Ut(c),h=!d&&Yt(c),f=!d&&!h&&fe(c);u=c,d||h||f?Ut(s)?u=s:Kt(s)?u=Ft(s):h?(m=!1,u=Et(c,!0)):f?(m=!1,u=xt(c,!0)):u=[]:ie(c)||qt(c)?(u=s,qt(s)?u=Ce(s):P(s)&&!B(s)||(u=Mt(c))):m=!1}m&&(l.set(c,u),n(u,c,o,i,l),l.delete(c)),At(t,r,u)}};const xe=function t(e,r,o,n,i){e!==r&&jt(r,(function(l,s){if(i||(i=new vt),P(l))$e(e,r,s,o,t,n,i);else{var c=n?n(be(e,s),l,s+"",e,r,i):void 0;void 0===c&&(c=l),At(e,s,c)}}),Ee)};const Fe=function(t){return t};const Ie=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)};var Pe=Math.max;const Be=function(t,e,r){return e=Pe(void 0===e?t.length-1:e,0),function(){for(var o=arguments,n=-1,i=Pe(o.length-e,0),l=Array(i);++n<i;)l[n]=o[e+n];n=-1;for(var s=Array(e+1);++n<e;)s[n]=o[n];return s[e]=r(l),Ie(t,this,s)}};const Te=function(t){return function(){return t}};const Re=wt?function(t,e){return wt(t,"toString",{configurable:!0,enumerable:!1,value:Te(e),writable:!0})}:Fe;var Le=Date.now;const Me=function(t){var e=0,r=0;return function(){var o=Le(),n=16-(o-r);if(r=o,n>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Re);const De=function(t,e){return Me(Be(t,e,Fe),t+"")};const He=function(t,e,r){if(!P(r))return!1;var o=typeof e;return!!("number"==o?Gt(r)&&Ae(e,r.length):"string"==o&&e in r)&&s(r[e],t)};const Ne=function(t){return De((function(e,r){var o=-1,n=r.length,i=n>1?r[n-1]:void 0,l=n>2?r[2]:void 0;for(i=t.length>3&&"function"==typeof i?(n--,i):void 0,l&&He(r[0],r[1],l)&&(i=n<3?void 0:i,n=1),e=Object(e);++o<n;){var s=r[o];s&&t(e,s,o,i)}return e}))}((function(t,e,r,o){xe(t,e,r,o)}));class ze extends t.Plugin{constructor(t){super(t),this._definitions=new Map}static get pluginName(){return"DataSchema"}init(){for(const t of n)this.registerBlockElement(t);for(const t of i)this.registerInlineElement(t)}registerBlockElement(t){this._definitions.set(t.model,{...t,isBlock:!0})}registerInlineElement(t){this._definitions.set(t.model,{...t,isInline:!0})}extendBlockElement(t){this._extendDefinition({...t,isBlock:!0})}extendInlineElement(t){this._extendDefinition({...t,isInline:!0})}getDefinitionsForView(t,e){const r=new Set;for(const o of this._getMatchingViewDefinitions(t)){if(e)for(const t of this._getReferences(o.model))r.add(t);r.add(o)}return r}_getMatchingViewDefinitions(t){return Array.from(this._definitions.values()).filter((e=>e.view&&function(t,e){if("string"==typeof t)return t===e;if(t instanceof RegExp)return t.test(e);return!1}(t,e.view)))}*_getReferences(t){const{modelSchema:r}=this._definitions.get(t);if(!r)return;const o=["inheritAllFrom","inheritTypesFrom","allowWhere","allowContentOf","allowAttributesOf"];for(const n of o)for(const o of(0,e.toArray)(r[n]||[])){const e=this._definitions.get(o);o!==t&&e&&(yield*this._getReferences(e.model),yield e)}}_extendDefinition(t){const e=this._definitions.get(t.model),r=Ne({},e,t,((t,e)=>Array.isArray(t)?t.concat(e):void 0));this._definitions.set(t.model,r)}}var Ve=r(492),qe=r(995);const Ue=function(t,e){for(var r=-1,o=null==t?0:t.length;++r<o&&!1!==e(t[r],r,t););return t};const We=Bt(Object.keys,Object);var Ge=Object.prototype.hasOwnProperty;const Ke=function(t){if(!Lt(t))return We(t);var e=[];for(var r in Object(t))Ge.call(t,r)&&"constructor"!=r&&e.push(r);return e};const Ze=function(t){return Gt(t)?_e(t):Ke(t)};const Qe=function(t,e){return t&&ve(e,Ze(e),t)};const Je=function(t,e){return t&&ve(e,Ee(e),t)};const Xe=function(t,e){for(var r=-1,o=null==t?0:t.length,n=0,i=[];++r<o;){var l=t[r];e(l,r,t)&&(i[n++]=l)}return i};const Ye=function(){return[]};var tr=Object.prototype.propertyIsEnumerable,er=Object.getOwnPropertySymbols;const rr=er?function(t){return null==t?[]:(t=Object(t),Xe(er(t),(function(e){return tr.call(t,e)})))}:Ye;const or=function(t,e){return ve(t,rr(t),e)};const nr=function(t,e){for(var r=-1,o=e.length,n=t.length;++r<o;)t[n+r]=e[r];return t};const ir=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)nr(e,rr(t)),t=Tt(t);return e}:Ye;const lr=function(t,e){return ve(t,ir(t),e)};const sr=function(t,e,r){var o=e(t);return Ut(t)?o:nr(o,r(t))};const cr=function(t){return sr(t,Ze,rr)};const ar=function(t){return sr(t,Ee,ir)};const ur=Z(j,"DataView");const mr=Z(j,"Promise");const dr=Z(j,"Set");const hr=Z(j,"WeakMap");var fr="[object Map]",br="[object Promise]",pr="[object Set]",gr="[object WeakMap]",vr="[object DataView]",wr=H(ur),yr=H(Q),Ar=H(mr),jr=H(dr),_r=H(hr),Or=I;(ur&&Or(new ur(new ArrayBuffer(1)))!=vr||Q&&Or(new Q)!=fr||mr&&Or(mr.resolve())!=br||dr&&Or(new dr)!=pr||hr&&Or(new hr)!=gr)&&(Or=function(t){var e=I(t),r="[object Object]"==e?t.constructor:void 0,o=r?H(r):"";if(o)switch(o){case wr:return vr;case yr:return fr;case Ar:return br;case jr:return pr;case _r:return gr}return e});const kr=Or;var Sr=Object.prototype.hasOwnProperty;const Er=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&Sr.call(t,"index")&&(r.index=t.index,r.input=t.input),r};const Cr=function(t,e){var r=e?$t(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)};var $r=/\w*$/;const xr=function(t){var e=new t.constructor(t.source,$r.exec(t));return e.lastIndex=t.lastIndex,e};var Fr=_?_.prototype:void 0,Ir=Fr?Fr.valueOf:void 0;const Pr=function(t){return Ir?Object(Ir.call(t)):{}};const Br=function(t,e,r){var o=t.constructor;switch(e){case"[object ArrayBuffer]":return $t(t);case"[object Boolean]":case"[object Date]":return new o(+t);case"[object DataView]":return Cr(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return xt(t,r);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(t);case"[object RegExp]":return xr(t);case"[object Symbol]":return Pr(t)}};const Tr=function(t){return Dt(t)&&"[object Map]"==kr(t)};var Rr=de&&de.isMap;const Lr=Rr?ce(Rr):Tr;const Mr=function(t){return Dt(t)&&"[object Set]"==kr(t)};var Dr=de&&de.isSet;const Hr=Dr?ce(Dr):Mr;var Nr="[object Arguments]",zr="[object Function]",Vr="[object Object]",qr={};qr[Nr]=qr["[object Array]"]=qr["[object ArrayBuffer]"]=qr["[object DataView]"]=qr["[object Boolean]"]=qr["[object Date]"]=qr["[object Float32Array]"]=qr["[object Float64Array]"]=qr["[object Int8Array]"]=qr["[object Int16Array]"]=qr["[object Int32Array]"]=qr["[object Map]"]=qr["[object Number]"]=qr["[object Object]"]=qr["[object RegExp]"]=qr["[object Set]"]=qr["[object String]"]=qr["[object Symbol]"]=qr["[object Uint8Array]"]=qr["[object Uint8ClampedArray]"]=qr["[object Uint16Array]"]=qr["[object Uint32Array]"]=!0,qr["[object Error]"]=qr[zr]=qr["[object WeakMap]"]=!1;const Ur=function t(e,r,o,n,i,l){var s,c=1&r,a=2&r,u=4&r;if(o&&(s=i?o(e,n,i,l):o(e)),void 0!==s)return s;if(!P(e))return e;var m=Ut(e);if(m){if(s=Er(e),!c)return Ft(e,s)}else{var d=kr(e),h=d==zr||"[object GeneratorFunction]"==d;if(Yt(e))return Et(e,c);if(d==Vr||d==Nr||h&&!i){if(s=a||h?{}:Mt(e),!c)return a?lr(e,Je(s,e)):or(e,Qe(s,e))}else{if(!qr[d])return i?e:{};s=Br(e,d,c)}}l||(l=new vt);var f=l.get(e);if(f)return f;l.set(e,s),Hr(e)?e.forEach((function(n){s.add(t(n,r,o,n,e,l))})):Lr(e)&&e.forEach((function(n,i){s.set(i,t(n,r,o,i,e,l))}));var b=m?void 0:(u?a?ar:cr:a?Ee:Ze)(e);return Ue(b||e,(function(n,i){b&&(n=e[i=n]),ge(s,i,t(n,r,o,i,e,l))})),s};const Wr=function(t){return Ur(t,5)};function Gr(t,e,r,o){e&&function(t,e,r){if(e.attributes)for(const[o]of Object.entries(e.attributes))t.removeAttribute(o,r);if(e.styles)for(const o of Object.keys(e.styles))t.removeStyle(o,r);e.classes&&t.removeClass(e.classes,r)}(t,e,o),r&&Kr(t,r,o)}function Kr(t,e,r){if(e.attributes)for(const[o,n]of Object.entries(e.attributes))t.setAttribute(o,n,r);e.styles&&t.setStyle(e.styles,r),e.classes&&t.addClass(e.classes,r)}function Zr(t,e){const r=Wr(t);for(const o in e)Array.isArray(e[o])?r[o]=Array.from(new Set([...t[o]||[],...e[o]])):r[o]={...t[o],...e[o]};return r}function Qr({model:t}){return(e,r)=>r.writer.createElement(t,{htmlContent:e.getCustomProperty("$rawContent")})}function Jr(t,{view:e,isInline:r}){const o=t.t;return(t,{writer:n})=>{const i=o("HTML object"),l=Xr(e,t,n),s=t.getAttribute("htmlAttributes");n.addClass("html-object-embed__content",l),s&&Kr(n,s,l);const c=n.createContainerElement(r?"span":"div",{class:"html-object-embed","data-html-object-embed-label":i},l);return(0,qe.toWidget)(c,n,{widgetLabel:i})}}function Xr(t,e,r){return r.createRawElement(t,null,((t,r)=>{r.setContentOf(t,e.getAttribute("htmlContent"))}))}function Yr({priority:t,view:e}){return(r,o)=>{if(!r)return;const{writer:n}=o,i=n.createAttributeElement(e,null,{priority:t});return Kr(n,r,i),i}}function to({view:t},e){return r=>{r.on(`element:${t}`,((t,r,o)=>{if(!r.modelRange)return;const n=e._consumeAllowedAttributes(r.viewItem,o);n&&o.writer.setAttribute("htmlAttributes",n,r.modelRange)}),{priority:"low"})}}function eo({model:t}){return e=>{e.on(`attribute:htmlAttributes:${t}`,((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e;Gr(r.writer,o,n,r.mapper.toViewElement(e.item))}))}}const ro=function(t,e){for(var r=-1,o=null==t?0:t.length,n=Array(o);++r<o;)n[r]=e(t[r],r,t);return n};const oo=function(t,e,r,o){for(var n=t.length,i=r+(o?1:-1);o?i--:++i<n;)if(e(t[i],i,t))return i;return-1};const no=function(t){return t!=t};const io=function(t,e,r){for(var o=r-1,n=t.length;++o<n;)if(t[o]===e)return o;return-1};const lo=function(t,e,r){return e==e?io(t,e,r):oo(t,no,r)};const so=function(t,e,r,o){for(var n=r-1,i=t.length;++n<i;)if(o(t[n],e))return n;return-1};var co=Array.prototype.splice;const ao=function(t,e,r,o){var n=o?so:lo,i=-1,l=e.length,s=t;for(t===e&&(e=Ft(e)),r&&(s=ro(t,ce(r)));++i<l;)for(var c=0,a=e[i],u=r?r(a):a;(c=n(s,u,c,o))>-1;)s!==t&&co.call(s,c,1),co.call(t,c,1);return t};const uo=De((function(t,e){return t&&t.length&&e&&e.length?ao(t,e):t}));var mo=r(62),ho=r.n(mo),fo=r(142),bo={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ho()(fo.Z,bo);fo.Z.locals;class po extends t.Plugin{constructor(t){super(t),this._dataSchema=t.plugins.get("DataSchema"),this._allowedAttributes=new Ve.Matcher,this._disallowedAttributes=new Ve.Matcher,this._allowedElements=new Set,this._dataInitialized=!1,this._registerElementsAfterInit(),this._registerElementHandlers()}static get pluginName(){return"DataFilter"}static get requires(){return[ze,qe.Widget]}loadAllowedConfig(t){this._loadConfig(t,(t=>this.allowAttributes(t)))}loadDisallowedConfig(t){this._loadConfig(t,(t=>this.disallowAttributes(t)))}allowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,!0))this._allowedElements.has(e)||(this._allowedElements.add(e),this._dataInitialized&&this._fireRegisterEvent(e))}allowAttributes(t){this._allowedAttributes.add(t)}disallowAttributes(t){this._disallowedAttributes.add(t)}_loadConfig(t,e){for(const r of t){const t=r.name||/[\s\S]+/;this.allowElement(t),Ao(r).forEach(e)}}_consumeAllowedAttributes(t,e){return go(t,e,this._disallowedAttributes),go(t,e,this._allowedAttributes)}_registerElementsAfterInit(){this.editor.data.on("init",(()=>{this._dataInitialized=!0;for(const t of this._allowedElements)this._fireRegisterEvent(t)}),{priority:e.priorities.get("highest")+1})}_registerElementHandlers(){this.on("register",((t,r)=>{const o=this.editor.model.schema;if(r.isObject&&!o.isRegistered(r.model))this._registerObjectElement(r);else if(r.isBlock)this._registerBlockElement(r);else{if(!r.isInline)throw new e.CKEditorError("data-filter-invalid-definition",null,r);this._registerInlineElement(r)}t.stop()}),{priority:"lowest"})}_fireRegisterEvent(t){this.fire(t.view?`register:${t.view}`:"register",t)}_registerObjectElement(t){const r=this.editor,o=r.model.schema,n=r.conversion,{view:i,model:l}=t;o.register(l,t.modelSchema),i&&(o.extend(t.model,{allowAttributes:["htmlAttributes","htmlContent"]}),r.data.registerRawContentMatcher({name:i}),n.for("upcast").elementToElement({view:i,model:Qr(t),converterPriority:e.priorities.get("low")+1}),n.for("upcast").add(to(t,this)),n.for("editingDowncast").elementToStructure({model:{name:l,attributes:["htmlAttributes"]},view:Jr(r,t)}),n.for("dataDowncast").elementToElement({model:l,view:(t,{writer:e})=>Xr(i,t,e)}),n.for("dataDowncast").add(eo(t)))}_registerBlockElement(t){const r=this.editor,o=r.model.schema,n=r.conversion,{view:i,model:l}=t;if(!o.isRegistered(t.model)){if(o.register(t.model,t.modelSchema),!i)return;n.for("upcast").elementToElement({model:l,view:i,converterPriority:e.priorities.get("low")+1}),n.for("downcast").elementToElement({model:l,view:i})}i&&(o.extend(t.model,{allowAttributes:"htmlAttributes"}),n.for("upcast").add(to(t,this)),n.for("downcast").add(eo(t)))}_registerInlineElement(t){const e=this.editor,r=e.model.schema,o=e.conversion,n=t.model;r.extend("$text",{allowAttributes:n}),t.attributeProperties&&r.setAttributeProperties(n,t.attributeProperties),o.for("upcast").add(function({view:t,model:e},r){return o=>{o.on(`element:${t}`,((t,o,n)=>{const i=r._consumeAllowedAttributes(o.viewItem,n);if(i||n.consumable.test(o.viewItem,{name:!0})){o.modelRange||(o=Object.assign(o,n.convertChildren(o.viewItem,o.modelCursor)));for(const t of o.modelRange.getItems())if(n.schema.checkAttribute(t,e)){const r=Zr(i||{},t.getAttribute(e)||{});n.writer.setAttribute(e,r,t)}}}),{priority:"low"})}}(t,this)),o.for("downcast").attributeToElement({model:n,view:Yr(t)})}}function go(t,e,r){const o=function(t,{consumable:e},r){const o=r.matchAll(t)||[],n=[];for(const r of o)vo(e,t,r),delete r.match.name,e.consume(t,r.match)&&n.push(r);return n}(t,e,r),{attributes:n,styles:i,classes:l}=function(t){const e={attributes:new Set,classes:new Set,styles:new Set};for(const r of t)for(const t in e){(r.match[t]||[]).forEach((r=>e[t].add(r)))}return e}(o),s={};return n.size&&(s.attributes=wo(n,(e=>t.getAttribute(e)))),i.size&&(s.styles=wo(i,(e=>t.getStyle(e)))),l.size&&(s.classes=Array.from(l)),Object.keys(s).length?s:null}function vo(t,e,r){for(const o of["attributes","classes","styles"]){const n=r.match[o];if(n)for(const r of n)t.test(e,{[o]:[r]})||uo(n,r)}}function wo(t,e){const r={};for(const o of t){void 0!==e(o)&&(r[o]=e(o))}return r}function yo(t,e){const{name:r}=t;return ie(t[e])?Object.entries(t[e]).map((([t,o])=>({name:r,[e]:{[t]:o}}))):Array.isArray(t[e])?t[e].map((t=>({name:r,[e]:[t]}))):[t]}function Ao(t){const{name:e,attributes:r,classes:o,styles:n}=t,i=[];return r&&i.push(...yo({name:e,attributes:r},"attributes")),o&&i.push(...yo({name:e,classes:o},"classes")),n&&i.push(...yo({name:e,styles:n},"styles")),i}class jo extends t.Plugin{static get requires(){return[po]}init(){if(!this.editor.plugins.has("CodeBlockEditing"))return;const t=this.editor.plugins.get(po);t.on("register:pre",((e,r)=>{if("codeBlock"!==r.model)return;const o=this.editor,n=o.model.schema,i=o.conversion;n.extend("codeBlock",{allowAttributes:["htmlAttributes","htmlContentAttributes"]}),i.for("upcast").add(function(t){return e=>{e.on("element:code",((e,r,o)=>{const n=r.viewItem,i=n.parent;function l(e,n){const i=t._consumeAllowedAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}i&&i.is("element","pre")&&(l(i,"htmlAttributes"),l(n,"htmlContentAttributes"))}),{priority:"low"})}}(t)),i.for("downcast").add((t=>{t.on("attribute:htmlAttributes:codeBlock",((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e,i=r.mapper.toViewElement(e.item).parent;Gr(r.writer,o,n,i)})),t.on("attribute:htmlContentAttributes:codeBlock",((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e,i=r.mapper.toViewElement(e.item);Gr(r.writer,o,n,i)}))})),e.stop()}))}}class _o extends t.Plugin{static get requires(){return[po]}init(){this.editor.plugins.get(po).on("register",((t,r)=>{const o=this.editor,n=o.model.schema,i=o.conversion;if(!r.paragraphLikeModel)return;if(n.isRegistered(r.model)||n.isRegistered(r.paragraphLikeModel))return;const l={model:r.paragraphLikeModel,view:r.view};n.register(r.model,r.modelSchema),n.register(l.model,{inheritAllFrom:"$block"}),i.for("upcast").elementToElement({view:r.view,model:(t,{writer:e})=>this._hasBlockContent(t)?e.createElement(r.model):e.createElement(l.model),converterPriority:e.priorities.get("low")+1}),i.for("downcast").elementToElement({view:r.view,model:r.model}),this._addAttributeConversion(r),i.for("downcast").elementToElement({view:l.view,model:l.model}),this._addAttributeConversion(l),t.stop()}))}_hasBlockContent(t){const e=this.editor.editing.view.domConverter.blockElements;return Array.from(t.getChildren()).some((t=>e.includes(t.name)))}_addAttributeConversion(t){const e=this.editor,r=e.conversion,o=e.plugins.get(po);e.model.schema.extend(t.model,{allowAttributes:"htmlAttributes"}),r.for("upcast").add(to(t,o)),r.for("downcast").add(eo(t))}}class Oo extends t.Plugin{static get requires(){return[ze]}init(){const t=this.editor;if(!t.plugins.has("HeadingEditing"))return;const e=t.plugins.get(ze),r=t.config.get("heading.options"),o=[];for(const t of r)"model"in t&&"view"in t&&(e.registerBlockElement({view:t.view,model:t.model}),o.push(t.model));e.extendBlockElement({model:"htmlHgroup",modelSchema:{allowChildren:o}})}}class ko extends t.Plugin{static get requires(){return[po]}init(){const t=this.editor;if(!t.plugins.has("ImageInlineEditing")&&!t.plugins.has("ImageBlockEditing"))return;const e=t.model.schema,r=t.conversion,o=t.plugins.get(po);o.on("register:img",((t,n)=>{"imageBlock"!==n.model&&"imageInline"!==n.model||(e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["htmlAttributes","htmlFigureAttributes","htmlLinkAttributes"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["htmlA","htmlAttributes"]}),r.for("upcast").add(function(t){return e=>{e.on("element:img",((e,r,o)=>{if(!r.modelRange)return;const n=r.viewItem,i=n.parent;function l(e,n){const i=t._consumeAllowedAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}function s(t){r.modelRange&&r.modelRange.getContainedElement().is("element","imageBlock")&&l(t,"htmlLinkAttributes"),t.parent.is("element","figure")&&l(t.parent,"htmlFigureAttributes")}l(n,"htmlAttributes"),i.is("element","figure")?l(i,"htmlFigureAttributes"):i.is("element","a")&&s(i)}),{priority:"low"})}}(o)),r.for("downcast").add((t=>{function e(e){t.on(`attribute:${e}:imageInline`,((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e,i=r.mapper.toViewElement(e.item);Gr(r.writer,o,n,i)}),{priority:"low"})}function r(e,r){t.on(`attribute:${r}:imageBlock`,((t,r,o)=>{if(!o.consumable.test(r.item,t.name))return;const{attributeOldValue:n,attributeNewValue:i}=r,l=o.mapper.toViewElement(r.item),s=So(o.writer,l,e);s&&(Gr(o.writer,n,i,s),o.consumable.consume(r.item,t.name))}),{priority:"low"}),"a"===e&&t.on("attribute:linkHref:imageBlock",((t,e,r)=>{if(!r.consumable.consume(e.item,"attribute:htmlLinkAttributes:imageBlock"))return;const o=r.mapper.toViewElement(e.item),n=So(r.writer,o,"a");Kr(r.writer,e.item.getAttribute("htmlLinkAttributes"),n)}),{priority:"low"})}e("htmlAttributes"),r("img","htmlAttributes"),r("figure","htmlFigureAttributes"),r("a","htmlLinkAttributes")})),t.stop())}))}}function So(t,e,r){const o=t.createRangeOn(e);for(const{item:t}of o.getWalker())if(t.is("element",r))return t}class Eo extends t.Plugin{static get requires(){return[po]}init(){const t=this.editor;if(!t.plugins.has("MediaEmbed")||t.config.get("mediaEmbed.previewsInData"))return;const e=t.model.schema,r=t.conversion,o=this.editor.plugins.get(po),n=this.editor.plugins.get(ze),i=t.config.get("mediaEmbed.elementName");n.registerBlockElement({model:"media",view:i}),o.on(`register:${i}`,((t,n)=>{"media"===n.model&&(e.extend("media",{allowAttributes:["htmlAttributes","htmlFigureAttributes"]}),r.for("upcast").add(function(t,e){return t=>{t.on(`element:${e}`,r)};function r(e,r,o){const n=r.viewItem,i=n.parent;function l(e,n){const i=t._consumeAllowedAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}l(n,"htmlAttributes"),i.is("element","figure")&&i.hasClass("media")&&l(i,"htmlFigureAttributes")}}(o,i)),r.for("dataDowncast").add(function(t){return e=>{function r(t,r){e.on(`attribute:${r}:media`,((e,r,o)=>{if(!o.consumable.consume(r.item,e.name))return;const{attributeOldValue:n,attributeNewValue:i}=r,l=o.mapper.toViewElement(r.item),s=function(t,e,r){const o=t.createRangeOn(e);for(const{item:t}of o.getWalker())if(t.is("element",r))return t}(o.writer,l,t);Gr(o.writer,n,i,s)}))}r(t,"htmlAttributes"),r("figure","htmlFigureAttributes")}}(i)),t.stop())}))}}class Co extends t.Plugin{static get requires(){return[po]}init(){const t=this.editor.plugins.get(po);t.on("register:script",((e,r)=>{const o=this.editor,n=o.model.schema,i=o.conversion;n.register("htmlScript",r.modelSchema),n.extend("htmlScript",{allowAttributes:["htmlAttributes","htmlContent"],isContent:!0}),o.data.registerRawContentMatcher({name:"script"}),i.for("upcast").elementToElement({view:"script",model:Qr(r)}),i.for("upcast").add(to(r,t)),i.for("downcast").elementToElement({model:"htmlScript",view:(t,{writer:e})=>Xr("script",t,e)}),i.for("downcast").add(eo(r)),e.stop()}))}}class $o extends t.Plugin{static get requires(){return[po]}init(){const t=this.editor;if(!t.plugins.has("TableEditing"))return;const e=t.model.schema,r=t.conversion,o=t.plugins.get(po);o.on("register:table",((t,n)=>{"table"===n.model&&(e.extend("table",{allowAttributes:["htmlAttributes","htmlFigureAttributes","htmlTheadAttributes","htmlTbodyAttributes"]}),r.for("upcast").add(function(t){return e=>{e.on("element:table",((e,r,o)=>{const n=r.viewItem;l(n,"htmlAttributes");const i=n.parent;i.is("element","figure")&&l(i,"htmlFigureAttributes");for(const t of n.getChildren())t.is("element","thead")&&l(t,"htmlTheadAttributes"),t.is("element","tbody")&&l(t,"htmlTbodyAttributes");function l(e,n){const i=t._consumeAllowedAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}}),{priority:"low"})}}(o)),r.for("downcast").add((t=>{function e(e,r){t.on(`attribute:${r}:table`,((t,r,o)=>{if(!o.consumable.consume(r.item,t.name))return;const n=o.mapper.toViewElement(r.item),i=function(t,e,r){const o=t.createRangeOn(e);for(const{item:t}of o.getWalker())if(t.is("element",r))return t}(o.writer,n,e);Kr(o.writer,r.attributeNewValue,i)}))}e("table","htmlAttributes"),e("figure","htmlFigureAttributes"),e("thead","htmlTheadAttributes"),e("tbody","htmlTbodyAttributes")})),t.stop())}))}}class xo extends t.Plugin{static get requires(){return[po]}init(){const t=this.editor.plugins.get(po);t.on("register:style",((e,r)=>{const o=this.editor,n=o.model.schema,i=o.conversion;n.register("htmlStyle",r.modelSchema),n.extend("htmlStyle",{allowAttributes:["htmlAttributes","htmlContent"],isContent:!0}),o.data.registerRawContentMatcher({name:"style"}),i.for("upcast").elementToElement({view:"style",model:Qr(r)}),i.for("upcast").add(to(r,t)),i.for("downcast").elementToElement({model:"htmlStyle",view:(t,{writer:e})=>Xr("style",t,e)}),i.for("downcast").add(eo(r)),e.stop()}))}}const Fo=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};const Io=function(t){return this.__data__.has(t)};function Po(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new bt;++e<r;)this.add(t[e])}Po.prototype.add=Po.prototype.push=Fo,Po.prototype.has=Io;const Bo=Po;const To=function(t,e){for(var r=-1,o=null==t?0:t.length;++r<o;)if(e(t[r],r,t))return!0;return!1};const Ro=function(t,e){return t.has(e)};const Lo=function(t,e,r,o,n,i){var l=1&r,s=t.length,c=e.length;if(s!=c&&!(l&&c>s))return!1;var a=i.get(t),u=i.get(e);if(a&&u)return a==e&&u==t;var m=-1,d=!0,h=2&r?new Bo:void 0;for(i.set(t,e),i.set(e,t);++m<s;){var f=t[m],b=e[m];if(o)var p=l?o(b,f,m,e,t,i):o(f,b,m,t,e,i);if(void 0!==p){if(p)continue;d=!1;break}if(h){if(!To(e,(function(t,e){if(!Ro(h,e)&&(f===t||n(f,t,r,o,i)))return h.push(e)}))){d=!1;break}}else if(f!==b&&!n(f,b,r,o,i)){d=!1;break}}return i.delete(t),i.delete(e),d};const Mo=function(t){var e=-1,r=Array(t.size);return t.forEach((function(t,o){r[++e]=[o,t]})),r};const Do=function(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r};var Ho=_?_.prototype:void 0,No=Ho?Ho.valueOf:void 0;const zo=function(t,e,r,o,n,i,l){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!i(new Ct(t),new Ct(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return s(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var c=Mo;case"[object Set]":var a=1&o;if(c||(c=Do),t.size!=e.size&&!a)return!1;var u=l.get(t);if(u)return u==e;o|=2,l.set(t,e);var m=Lo(c(t),c(e),o,n,i,l);return l.delete(t),m;case"[object Symbol]":if(No)return No.call(t)==No.call(e)}return!1};var Vo=Object.prototype.hasOwnProperty;const qo=function(t,e,r,o,n,i){var l=1&r,s=cr(t),c=s.length;if(c!=cr(e).length&&!l)return!1;for(var a=c;a--;){var u=s[a];if(!(l?u in e:Vo.call(e,u)))return!1}var m=i.get(t),d=i.get(e);if(m&&d)return m==e&&d==t;var h=!0;i.set(t,e),i.set(e,t);for(var f=l;++a<c;){var b=t[u=s[a]],p=e[u];if(o)var g=l?o(p,b,u,e,t,i):o(b,p,u,t,e,i);if(!(void 0===g?b===p||n(b,p,r,o,i):g)){h=!1;break}f||(f="constructor"==u)}if(h&&!f){var v=t.constructor,w=e.constructor;v==w||!("constructor"in t)||!("constructor"in e)||"function"==typeof v&&v instanceof v&&"function"==typeof w&&w instanceof w||(h=!1)}return i.delete(t),i.delete(e),h};var Uo="[object Arguments]",Wo="[object Array]",Go="[object Object]",Ko=Object.prototype.hasOwnProperty;const Zo=function(t,e,r,o,n,i){var l=Ut(t),s=Ut(e),c=l?Wo:kr(t),a=s?Wo:kr(e),u=(c=c==Uo?Go:c)==Go,m=(a=a==Uo?Go:a)==Go,d=c==a;if(d&&Yt(t)){if(!Yt(e))return!1;l=!0,u=!1}if(d&&!u)return i||(i=new vt),l||fe(t)?Lo(t,e,r,o,n,i):zo(t,e,c,r,o,n,i);if(!(1&r)){var h=u&&Ko.call(t,"__wrapped__"),f=m&&Ko.call(e,"__wrapped__");if(h||f){var b=h?t.value():t,p=f?e.value():e;return i||(i=new vt),n(b,p,r,o,i)}}return!!d&&(i||(i=new vt),qo(t,e,r,o,n,i))};const Qo=function t(e,r,o,n,i){return e===r||(null==e||null==r||!Dt(e)&&!Dt(r)?e!=e&&r!=r:Zo(e,r,o,n,t,i))};const Jo=function(t,e){return Qo(t,e)};class Xo extends t.Plugin{static get requires(){return[po]}init(){const t=this.editor;if(!t.plugins.has("DocumentListEditing"))return;const e=t.model.schema,r=t.conversion,o=t.plugins.get(po),n=t.plugins.get("DocumentListEditing");n.registerDowncastStrategy({scope:"item",attributeName:"htmlLiAttributes",setAttributeOnDowncast(t,e,r){Kr(t,e,r)}}),n.registerDowncastStrategy({scope:"list",attributeName:"htmlListAttributes",setAttributeOnDowncast(t,e,r){Kr(t,e,r)}}),o.on("register",((t,n)=>{["ul","ol","li"].includes(n.view)&&(t.stop(),e.checkAttribute("$block","htmlListAttributes")||(e.extend("$block",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),e.extend("$blockObject",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),e.extend("$container",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),r.for("upcast").add((t=>{t.on("element:ul",Yo("htmlListAttributes",o),{priority:"low"}),t.on("element:ol",Yo("htmlListAttributes",o),{priority:"low"}),t.on("element:li",Yo("htmlLiAttributes",o),{priority:"low"})}))))})),n.on("postFixer",((t,{listNodes:e,writer:r})=>{const o=[];for(const{node:n,previous:i}of e){if(!i)continue;const e=n.getAttribute("listIndent"),l=i.getAttribute("listIndent");let s=null;if(e>l?o[l]=i:e<l?(s=o[e],o.length=e):s=i,s){if(s.getAttribute("listType")==n.getAttribute("listType")){const e=s.getAttribute("htmlListAttributes");Jo(n.getAttribute("htmlListAttributes"),e)||(r.setAttribute("htmlListAttributes",e,n),t.return=!0)}if(s.getAttribute("listItemId")==n.getAttribute("listItemId")){const e=s.getAttribute("htmlLiAttributes");Jo(n.getAttribute("htmlLiAttributes"),e)||(r.setAttribute("htmlLiAttributes",e,n),t.return=!0)}}}}))}afterInit(){const t=this.editor;t.commands.get("indentList")&&this.listenTo(t.commands.get("indentList"),"afterExecute",((e,r)=>{t.model.change((t=>{for(const e of r)t.setAttribute("htmlListAttributes",{},e)}))}))}}function Yo(t,e){return(r,o,n)=>{const i=o.viewItem;o.modelRange||Object.assign(o,n.convertChildren(o.viewItem,o.modelCursor));const l=e._consumeAllowedAttributes(i,n);for(const e of o.modelRange.getItems({shallow:!0}))e.hasAttribute("listItemId")&&(e.hasAttribute(t)||n.writer.setAttribute(t,l||{},e))}}class tn extends t.Plugin{static get pluginName(){return"GeneralHtmlSupport"}static get requires(){return[po,jo,_o,Oo,ko,Eo,Co,$o,xo,Xo]}init(){const t=this.editor,e=t.plugins.get(po);e.loadAllowedConfig(t.config.get("htmlSupport.allow")||[]),e.loadDisallowedConfig(t.config.get("htmlSupport.disallow")||[])}getGhsAttributeNameForElement(t){const e=this.editor.plugins.get("DataSchema"),r=Array.from(e.getDefinitionsForView(t,!1));return r&&r.length&&r[0].isInline&&!r[0].isObject?r[0].model:"htmlAttributes"}addModelHtmlClass(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const l of en(n,o,i))rn(t,l,i,"classes",(t=>{for(const o of(0,e.toArray)(r))t.add(o)}))}))}removeModelHtmlClass(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const l of en(n,o,i))rn(t,l,i,"classes",(t=>{for(const o of(0,e.toArray)(r))t.delete(o)}))}))}setModelHtmlAttributes(t,e,r){const o=this.editor.model,n=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const i of en(o,r,n))rn(t,i,n,"attributes",(t=>{for(const[r,o]of Object.entries(e))t.set(r,o)}))}))}removeModelHtmlAttributes(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const l of en(n,o,i))rn(t,l,i,"attributes",(t=>{for(const o of(0,e.toArray)(r))t.delete(o)}))}))}setModelHtmlStyles(t,e,r){const o=this.editor.model,n=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const i of en(o,r,n))rn(t,i,n,"styles",(t=>{for(const[r,o]of Object.entries(e))t.set(r,o)}))}))}removeModelHtmlStyles(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const l of en(n,o,i))rn(t,l,i,"styles",(t=>{for(const o of(0,e.toArray)(r))t.delete(o)}))}))}}function*en(t,e,r){if(e.is("documentSelection")&&e.isCollapsed)t.schema.checkAttributeInSelection(e,r)&&(yield e);else for(const o of function(t,e,r){return e.is("node")||e.is("$text")||e.is("$textProxy")?t.schema.checkAttribute(e,r)?[t.createRangeOn(e)]:[]:t.schema.getValidRanges(t.createSelection(e).getRanges(),r)}(t,e,r))yield*o.getItems({shallow:!0})}function rn(t,e,r,o,n){const i=e.getAttribute(r),l={};for(const t of["attributes","styles","classes"])if(t!=o)i&&i[t]&&(l[t]=i[t]);else{const e="classes"==t?new Set(i&&i[t]||[]):new Map(Object.entries(i&&i[t]||{}));n(e),e.size&&(l[t]="classes"==t?Array.from(e):Object.fromEntries(e))}Object.keys(l).length?e.is("documentSelection")?t.setSelectionAttribute(r,l):t.setAttribute(r,l,e):i&&(e.is("documentSelection")?t.removeSelectionAttribute(r):t.removeAttribute(r,e))}class on extends t.Plugin{static get pluginName(){return"HtmlComment"}init(){const t=this.editor;t.model.schema.addAttributeCheck(((t,e)=>{if(t.endsWith("$root")&&e.startsWith("$comment"))return!0})),t.conversion.for("upcast").elementToMarker({view:"$comment",model:(t,{writer:r})=>{const o=this.editor.model.document.getRoot(),n=t.getCustomProperty("$rawContent"),i=`$comment:${(0,e.uid)()}`;return r.setAttribute(i,n,o),i}}),t.conversion.for("dataDowncast").markerToElement({model:"$comment",view:(t,{writer:e})=>{const r=this.editor.model.document.getRoot(),o=t.markerName,n=r.getAttribute(o),i=e.createUIElement("$comment");return e.setCustomProperty("$rawContent",n,i),i}}),t.model.document.registerPostFixer((e=>{const r=t.model.document.getRoot(),o=t.model.document.differ.getChangedMarkers().filter((t=>t.name.startsWith("$comment"))).filter((t=>{const e=t.data.newRange;return e&&"$graveyard"===e.root.rootName}));if(0===o.length)return!1;for(const t of o)e.removeMarker(t.name),e.removeAttribute(t.name,r);return!0})),t.data.on("set",(()=>{for(const e of t.model.markers.getMarkersGroup("$comment"))this.removeHtmlComment(e.name)}),{priority:"high"}),t.model.on("deleteContent",((e,[r])=>{for(const e of r.getRanges()){const r=t.model.schema.getLimitElement(e),o=t.model.createPositionAt(r,0),n=t.model.createPositionAt(r,"end");let i;i=o.isTouching(e.start)&&n.isTouching(e.end)?this.getHtmlCommentsInRange(t.model.createRange(o,n)):this.getHtmlCommentsInRange(e,{skipBoundaries:!0});for(const t of i)this.removeHtmlComment(t)}}),{priority:"high"})}createHtmlComment(t,r){const o=(0,e.uid)(),n=this.editor.model,i=n.document.getRoot(),l=`$comment:${o}`;return n.change((e=>{const o=e.createRange(t);return e.addMarker(l,{usingOperation:!0,affectsData:!0,range:o}),e.setAttribute(l,r,i),l}))}removeHtmlComment(t){const e=this.editor,r=e.model.document.getRoot(),o=e.model.markers.get(t);return!!o&&(e.model.change((e=>{e.removeMarker(o),e.removeAttribute(t,r)})),!0)}getHtmlCommentData(t){const e=this.editor,r=e.model.markers.get(t),o=e.model.document.getRoot();return r?{content:o.getAttribute(t),position:r.getStart()}:null}getHtmlCommentsInRange(t,{skipBoundaries:e=!1}={}){const r=!e;return Array.from(this.editor.model.markers.getMarkersGroup("$comment")).filter((e=>function(t,e){const o=t.getRange().start;return(o.isAfter(e.start)||r&&o.isEqual(e.start))&&(o.isBefore(e.end)||r&&o.isEqual(e.end))}(e,t))).map((t=>t.name))}}})(),(window.CKEditor5=window.CKEditor5||{}).htmlSupport=o})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/html-support/translations/cs.js b/web/core/assets/vendor/ckeditor5/html-support/translations/cs.js
new file mode 100644
index 0000000000..db30c7aff4
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/html-support/translations/cs.js
@@ -0,0 +1 @@
+!function(c){const i=c.cs=c.cs||{};i.dictionary=Object.assign(i.dictionary||{},{"HTML object":"HTML objekt"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/html-support/translations/el.js b/web/core/assets/vendor/ckeditor5/html-support/translations/el.js
new file mode 100644
index 0000000000..693f8659d8
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/html-support/translations/el.js
@@ -0,0 +1 @@
+!function(i){const n=i.el=i.el||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"Αντικείμενο HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/html-support/translations/en-au.js b/web/core/assets/vendor/ckeditor5/html-support/translations/en-au.js
new file mode 100644
index 0000000000..1a4792bad3
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/html-support/translations/en-au.js
@@ -0,0 +1 @@
+!function(n){const i=n["en-au"]=n["en-au"]||{};i.dictionary=Object.assign(i.dictionary||{},{"HTML object":"HTML object"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/html-support/translations/es.js b/web/core/assets/vendor/ckeditor5/html-support/translations/es.js
new file mode 100644
index 0000000000..6ee85e765a
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/html-support/translations/es.js
@@ -0,0 +1 @@
+!function(i){const n=i.es=i.es||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"Objeto HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/html-support/translations/hr.js b/web/core/assets/vendor/ckeditor5/html-support/translations/hr.js
new file mode 100644
index 0000000000..b0f5b40f8c
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/html-support/translations/hr.js
@@ -0,0 +1 @@
+!function(i){const n=i.hr=i.hr||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"HTML objekt"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/html-support/translations/id.js b/web/core/assets/vendor/ckeditor5/html-support/translations/id.js
new file mode 100644
index 0000000000..c626210261
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/html-support/translations/id.js
@@ -0,0 +1 @@
+!function(i){const n=i.id=i.id||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"Objek HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/html-support/translations/jv.js b/web/core/assets/vendor/ckeditor5/html-support/translations/jv.js
new file mode 100644
index 0000000000..ab06d4c3ab
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/html-support/translations/jv.js
@@ -0,0 +1 @@
+!function(i){const n=i.jv=i.jv||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"Obyek HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/html-support/translations/pt-br.js b/web/core/assets/vendor/ckeditor5/html-support/translations/pt-br.js
new file mode 100644
index 0000000000..b03e778e7b
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/html-support/translations/pt-br.js
@@ -0,0 +1 @@
+!function(t){const i=t["pt-br"]=t["pt-br"]||{};i.dictionary=Object.assign(i.dictionary||{},{"HTML object":"Objeto HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/html-support/translations/sk.js b/web/core/assets/vendor/ckeditor5/html-support/translations/sk.js
new file mode 100644
index 0000000000..c91e9ce098
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/html-support/translations/sk.js
@@ -0,0 +1 @@
+!function(i){const n=i.sk=i.sk||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"HTML objekt"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/html-support/translations/zh.js b/web/core/assets/vendor/ckeditor5/html-support/translations/zh.js
new file mode 100644
index 0000000000..1812ec6965
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/html-support/translations/zh.js
@@ -0,0 +1 @@
+!function(i){const n=i.zh=i.zh||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"HTML 物件"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/image.js b/web/core/assets/vendor/ckeditor5/image/image.js
index 7cd670421a..25985d86b3 100644
--- a/web/core/assets/vendor/ckeditor5/image/image.js
+++ b/web/core/assets/vendor/ckeditor5/image/image.js
@@ -1,5 +1,5 @@
+!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Break text":"Break text","Centered image":"Centered image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"In line",Insert:"Insert","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Left aligned image":"Left aligned image",Original:"Original","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Wrap text":"Wrap text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Break text":"Break text","Centered image":"Centered image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"In line",Insert:"Insert","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Left aligned image":"Left aligned image",Original:"Original","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Wrap text":"Wrap text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.image=function(e){var t={};function i(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=34)}([function(e,t,i){e.exports=i(7)("./src/core.js")},function(e,t,i){e.exports=i(7)("./src/ui.js")},function(e,t,i){e.exports=i(7)("./src/utils.js")},function(e,t,i){e.exports=i(7)("./src/widget.js")},function(e,t,i){e.exports=i(7)("./src/engine.js")},function(e,t,i){"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},a=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),s=[];function r(e){for(var t=-1,i=0;i<s.length;i++)if(s[i].identifier===e){t=i;break}return t}function l(e,t){for(var i={},n=[],o=0;o<e.length;o++){var a=e[o],l=t.base?a[0]+t.base:a[0],c=i[l]||0,g="".concat(l," ").concat(c);i[l]=c+1;var d=r(g),m={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(s[d].references++,s[d].updater(m)):s.push({identifier:g,updater:f(m,t),references:1}),n.push(g)}return n}function c(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var o=i.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var s=a(e.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(t)}return t}var g,d=(g=[],function(e,t){return g[e]=t,g.filter(Boolean).join("\n")});function m(e,t,i,n){var o=i?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=d(t,o);else{var a=document.createTextNode(o),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(a,s[t]):e.appendChild(a)}}function u(e,t,i){var n=i.css,o=i.media,a=i.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var p=null,h=0;function f(e,t){var i,n,o;if(t.singleton){var a=h++;i=p||(p=c(t)),n=m.bind(null,i,a,!1),o=m.bind(null,i,a,!0)}else i=c(t),n=u.bind(null,i,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(i)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var i=l(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<i.length;n++){var o=r(i[n]);s[o].references--}for(var a=l(e,t),c=0;c<i.length;c++){var g=r(i[c]);0===s[g].references&&(s[g].updater(),s.splice(g,1))}i=a}}}},function(e,t,i){e.exports=i(7)("./src/upload.js")},function(e,t){e.exports=CKEditor5.dll},function(e,t,i){e.exports=i(7)("./src/clipboard.js")},function(e,t,i){var n=i(5),o=i(17);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,a);e.exports=o.locals||{}},function(e,t,i){e.exports=i(7)("./src/undo.js")},function(e,t,i){e.exports=i(7)("./src/typing.js")},,function(e,t,i){var n=i(5),o=i(14);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,a);e.exports=o.locals||{}},function(e,t){e.exports=".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}"},function(e,t,i){var n=i(5),o=i(16);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,a);e.exports=o.locals||{}},function(e,t){e.exports='.ck-vertical-form .ck-button:after{content:"";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{content:"";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-text-width)*0.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-large);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after,[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}'},function(e,t){e.exports=".ck-content .image{display:table;clear:both;text-align:center;margin:.9em auto;min-width:50px}.ck-content .image img{display:block;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{display:inline-flex;max-width:100%;align-items:flex-start}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{padding-left:inherit;padding-right:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck.ck-editor__editable .image-inline.ck-widget_selected,.ck.ck-editor__editable .image.ck-widget_selected{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}"},function(e,t,i){var n=i(5),o=i(19);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,a);e.exports=o.locals||{}},function(e,t){e.exports=":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highligted-background:#fd0}.ck-content .image>figcaption{display:table-caption;caption-side:bottom;word-break:break-word;color:var(--ck-color-image-caption-text);background-color:var(--ck-color-image-caption-background);padding:.6em;font-size:.75em;outline-offset:-1px}.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highligted-background)}to{background-color:var(--ck-color-image-caption-background)}}"},function(e,t,i){var n=i(5),o=i(21);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,a);e.exports=o.locals||{}},function(e,t){e.exports=".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image-inline .ck-progress-bar,.ck.ck-editor__editable .image .ck-progress-bar{position:absolute;top:0;left:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image-inline .ck-progress-bar,.ck.ck-editor__editable .image .ck-progress-bar{height:2px;width:0;background:var(--ck-color-upload-bar-background);transition:width .1s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}"},function(e,t,i){var n=i(5),o=i(23);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,a);e.exports=o.locals||{}},function(e,t){e.exports='.ck-image-upload-complete-icon{display:block;position:absolute;top:min(var(--ck-spacing-medium),6%);right:min(var(--ck-spacing-medium),6%);border-radius:50%;z-index:1}.ck-image-upload-complete-icon:after{content:"";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{opacity:0;background:var(--ck-color-image-upload-icon-background);animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;animation-fill-mode:forwards,forwards;animation-duration:.5s,.5s;font-size:calc(1px*var(--ck-image-upload-icon-size));animation-delay:0ms,3s;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{left:25%;top:50%;opacity:0;height:0;width:0;transform:scaleX(-1) rotate(135deg);transform-origin:left top;border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);animation-name:ck-upload-complete-icon-check;animation-duration:.5s;animation-delay:.5s;animation-fill-mode:forwards;box-sizing:border-box}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{opacity:1;width:0;height:0}33%{width:.3em;height:0}to{opacity:1;width:.3em;height:.45em}}'},function(e,t,i){var n=i(5),o=i(25);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,a);e.exports=o.locals||{}},function(e,t){e.exports='.ck .ck-upload-placeholder-loader{position:absolute;display:flex;align-items:center;justify-content:center;top:0;left:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px}.ck .ck-image-upload-placeholder{width:100%;margin:0}.ck .ck-upload-placeholder-loader{width:100%;height:100%}.ck .ck-upload-placeholder-loader:before{width:var(--ck-upload-placeholder-loader-size);height:var(--ck-upload-placeholder-loader-size);border-radius:50%;border-top:3px solid var(--ck-color-upload-placeholder-loader);border-right:2px solid transparent;animation:ck-upload-placeholder-loader 1s linear infinite}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}'},function(e,t,i){var n=i(5),o=i(27);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,a);e.exports=o.locals||{}},function(e,t){e.exports=".ck.ck-image-insert-form:focus{outline:none}.ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-image-insert-form__action-row{margin-top:var(--ck-spacing-standard)}.ck.ck-form__row.ck-image-insert-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-image-insert-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row.ck-image-insert-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}"},function(e,t,i){var n=i(5),o=i(29);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,a);e.exports=o.locals||{}},function(e,t){e.exports=".ck.ck-image-insert__panel{padding:var(--ck-spacing-large)}.ck.ck-image-insert__ck-finder-button{display:block;width:100%;margin:var(--ck-spacing-standard) auto;border:1px solid #ccc;border-radius:var(--ck-border-radius)}.ck.ck-splitbutton>.ck-file-dialog-button.ck-button{padding:0;margin:0;border:none}"},function(e,t,i){var n=i(5),o=i(31);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,a);e.exports=o.locals||{}},function(e,t){e.exports=".ck-content .image.image_resized{max-width:100%;display:block;box-sizing:border-box}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}"},function(e,t,i){var n=i(5),o=i(33);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,a);e.exports=o.locals||{}},function(e,t){e.exports=":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image-style-block-align-left,.ck-content .image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image-style-align-left,.ck-content .image-style-align-right{clear:none}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-block-align-right{margin-right:0;margin-left:auto}.ck-content .image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content p+.image-style-align-left,.ck-content p+.image-style-align-right,.ck-content p+.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-top:var(--ck-inline-image-style-spacing);margin-bottom:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}"},function(e,t,i){"use strict";i.r(t),i.d(t,"AutoImage",(function(){return f})),i.d(t,"Image",(function(){return U})),i.d(t,"ImageEditing",(function(){return S})),i.d(t,"ImageCaption",(function(){return D})),i.d(t,"ImageCaptionEditing",(function(){return N})),i.d(t,"ImageInsert",(function(){return re})),i.d(t,"ImageInsertUI",(function(){return se})),i.d(t,"ImageResize",(function(){return he})),i.d(t,"ImageResizeButtons",(function(){return de})),i.d(t,"ImageResizeEditing",(function(){return ce})),i.d(t,"ImageResizeHandles",(function(){return pe})),i.d(t,"ImageStyle",(function(){return je})),i.d(t,"ImageStyleEditing",(function(){return Ae})),i.d(t,"ImageStyleUI",(function(){return Re})),i.d(t,"ImageTextAlternative",(function(){return y})),i.d(t,"ImageTextAlternativeEditing",(function(){return k})),i.d(t,"ImageTextAlternativeUI",(function(){return _})),i.d(t,"ImageToolbar",(function(){return Ne})),i.d(t,"ImageUpload",(function(){return ie})),i.d(t,"ImageUploadEditing",(function(){return ee})),i.d(t,"ImageUploadProgress",(function(){return K})),i.d(t,"ImageUploadUI",(function(){return H}));var n=i(0),o=i(8),a=i(4),s=i(10),r=i(11),l=i(2),c=i(3);function g(e,t){const i=e.createEmptyElement("img"),n="imageBlock"===t?e.createContainerElement("figure",{class:"image"}):e.createContainerElement("span",{class:"image-inline"},{isAllowedInsideAttributeElement:!0});return e.insert(e.createPositionAt(n,0),i),n}function d(e,t){if(e.plugins.has("ImageInlineEditing")!==e.plugins.has("ImageBlockEditing"))return{name:"img"};const i=e.plugins.get("ImageUtils");return e=>{if(!i.isInlineImageView(e))return null;return(e.findAncestor(i.isBlockImageView)?"imageBlock":"imageInline")!==t?null:{name:!0}}}function m(e,t){const i=Object(l.first)(t.getSelectedBlocks());return!i||e.isObject(i)||i.isEmpty&&"listItem"!=i.name?"imageBlock":"imageInline"}class u extends n.Plugin{static get pluginName(){return"ImageUtils"}isImage(e){return this.isInlineImage(e)||this.isBlockImage(e)}isInlineImageView(e){return!!e&&e.is("element","img")}isBlockImageView(e){return!!e&&e.is("element","figure")&&e.hasClass("image")}insertImage(e={},t=null,i=null){const n=this.editor,o=n.model,a=o.document.selection;i=p(n,t||a,i),e={...Object.fromEntries(a.getAttributes()),...e};for(const t in e)o.schema.checkAttribute(i,t)||delete e[t];return o.change(n=>{const s=n.createElement(i,e);return t||"imageInline"==i||(t=Object(c.findOptimalInsertionRange)(a,o)),o.insertContent(s,t),s.parent?(n.setSelection(s,"on"),s):null})}getClosestSelectedImageWidget(e){const t=e.getSelectedElement();if(t&&this.isImageWidget(t))return t;let i=e.getFirstPosition().parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(e){const t=e.getSelectedElement();return this.isImage(t)?t:e.getFirstPosition().findAncestor("imageBlock")}isImageAllowed(){const e=this.editor.model.document.selection;return function(e,t){if("imageBlock"==p(e,t)){const i=function(e,t){const i=Object(c.findOptimalInsertionRange)(e,t).start.parent;if(i.isEmpty&&!i.is("element","$root"))return i.parent;return i}(t,e.model);if(e.model.schema.checkChild(i,"imageBlock"))return!0}else if(e.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}(this.editor,e)&&function(e){return[...e.focus.getAncestors()].every(e=>!e.is("element","imageBlock"))}(e)}toImageWidget(e,t,i){t.setCustomProperty("image",!0,e);return Object(c.toWidget)(e,t,{label:()=>{const t=this.findViewImgElement(e).getAttribute("alt");return t?`${t} ${i}`:i}})}isImageWidget(e){return!!e.getCustomProperty("image")&&Object(c.isWidget)(e)}isBlockImage(e){return!!e&&e.is("element","imageBlock")}isInlineImage(e){return!!e&&e.is("element","imageInline")}findViewImgElement(e){if(this.isInlineImageView(e))return e;const t=this.editor.editing.view;for(const{item:i}of t.createRangeIn(e))if(this.isInlineImageView(i))return i}}function p(e,t,i){const n=e.model.schema,o=e.config.get("image.insert.type");return e.plugins.has("ImageBlockEditing")?e.plugins.has("ImageInlineEditing")?i||("inline"===o?"imageInline":"block"===o?"imageBlock":t.is("selection")?m(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}const h=new RegExp(String(/^(http(s)?:\/\/)?[\w-]+\.[\w.~:/[\]@!$&'()*+,;=%-]+/.source+/\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\?[\w.~:/[\]@!$&'()*+,;=%-]*)?/.source+/(#[\w.~:/[\]@!$&'()*+,;=%-]*)?$/.source));class f extends n.Plugin{static get requires(){return[o.Clipboard,u,s.Undo,r.Delete]}static get pluginName(){return"AutoImage"}constructor(e){super(e),this._timeoutId=null,this._positionToInsert=null}init(){const e=this.editor,t=e.model.document;this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",()=>{const e=t.selection.getFirstRange(),i=a.LivePosition.fromPosition(e.start);i.stickiness="toPrevious";const n=a.LivePosition.fromPosition(e.end);n.stickiness="toNext",t.once("change:data",()=>{this._embedImageBetweenPositions(i,n),i.detach(),n.detach()},{priority:"high"})}),e.commands.get("undo").on("execute",()=>{this._timeoutId&&(l.global.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedImageBetweenPositions(e,t){const i=this.editor,n=new a.LiveRange(e,t),o=n.getWalker({ignoreElementEnd:!0}),s=Object.fromEntries(i.model.document.selection.getAttributes()),r=this.editor.plugins.get("ImageUtils");let c="";for(const e of o)e.item.is("$textProxy")&&(c+=e.item.data);c=c.trim(),c.match(h)?(this._positionToInsert=a.LivePosition.fromPosition(e),this._timeoutId=l.global.window.setTimeout(()=>{i.commands.get("insertImage").isEnabled?(i.model.change(e=>{let t;this._timeoutId=null,e.remove(n),n.detach(),"$graveyard"!==this._positionToInsert.root.rootName&&(t=this._positionToInsert.toPosition()),r.insertImage({...s,src:c},t),this._positionToInsert.detach(),this._positionToInsert=null}),i.plugins.get("Delete").requestUndoOnBackspace()):n.detach()},100)):n.detach()}}class b extends n.Command{refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled&&e.hasAttribute("alt")?this.value=e.getAttribute("alt"):this.value=!1}execute(e){const t=this.editor,i=t.plugins.get("ImageUtils"),n=t.model,o=i.getClosestSelectedImageElement(n.document.selection);n.change(t=>{t.setAttribute("alt",e.newValue,o)})}}class k extends n.Plugin{static get requires(){return[u]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new b(this.editor))}}var w=i(1);i(13),i(15);class I extends w.View{constructor(e){super(e);const t=this.locale.t;this.focusTracker=new l.FocusTracker,this.keystrokes=new l.KeystrokeHandler,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(t("Save"),n.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(t("Cancel"),n.icons.cancel,"ck-button-cancel","cancel"),this._focusables=new w.ViewCollection,this._focusCycler=new w.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-text-alternative-form","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]}),Object(w.injectCssTransitionDisabler)(this)}render(){super.render(),this.keystrokes.listenTo(this.element),Object(w.submitHandler)({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.element)})}_createButton(e,t,i,n){const o=new w.ButtonView(this.locale);return o.set({label:e,icon:t,tooltip:!0}),o.extendTemplate({attributes:{class:i}}),n&&o.delegate("execute").to(this,n),o}_createLabeledInputView(){const e=this.locale.t,t=new w.LabeledFieldView(this.locale,w.createLabeledInputText);return t.label=e("Text alternative"),t}}function v(e){const t=e.editing.view,i=w.BalloonPanelView.defaultPositions,n=e.plugins.get("ImageUtils");return{target:t.domConverter.viewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}class _ extends n.Plugin{static get requires(){return[w.ContextualBalloon]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton(),this._createForm()}destroy(){super.destroy(),this._form.destroy()}_createButton(){const e=this.editor,t=e.t;e.ui.componentFactory.add("imageTextAlternative",i=>{const o=e.commands.get("imageTextAlternative"),a=new w.ButtonView(i);return a.set({label:t("Change image text alternative"),icon:n.icons.lowVision,tooltip:!0}),a.bind("isEnabled").to(o,"isEnabled"),this.listenTo(a,"execute",()=>{this._showForm()}),a})}_createForm(){const e=this.editor,t=e.editing.view.document,i=e.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new I(e.locale),this._form.render(),this.listenTo(this._form,"submit",()=>{e.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)}),this.listenTo(this._form,"cancel",()=>{this._hideForm(!0)}),this._form.keystrokes.set("Esc",(e,t)=>{this._hideForm(!0),t()}),this.listenTo(e.ui,"update",()=>{i.getClosestSelectedImageWidget(t.selection)?this._isVisible&&function(e){const t=e.plugins.get("ContextualBalloon");if(e.plugins.get("ImageUtils").getClosestSelectedImageWidget(e.editing.view.document.selection)){const i=v(e);t.updatePosition(i)}}(e):this._hideForm(!0)}),Object(w.clickOutsideHandler)({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const e=this.editor,t=e.commands.get("imageTextAlternative"),i=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:v(e)}),i.fieldView.value=i.fieldView.element.value=t.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class y extends n.Plugin{static get requires(){return[k,_]}static get pluginName(){return"ImageTextAlternative"}}function x(e,t){return e=>{e.on("attribute:srcset:"+t,i)};function i(t,i,n){if(!n.consumable.consume(i.item,t.name))return;const o=n.writer,a=n.mapper.toViewElement(i.item),s=e.findViewImgElement(a);if(null===i.attributeNewValue){const e=i.attributeOldValue;e.data&&(o.removeAttribute("srcset",s),o.removeAttribute("sizes",s),e.width&&o.removeAttribute("width",s))}else{const e=i.attributeNewValue;e.data&&(o.setAttribute("srcset",e.data,s),o.setAttribute("sizes","100vw",s),e.width&&o.setAttribute("width",e.width,s))}}}function E(e,t,i){return e=>{e.on(`attribute:${i}:${t}`,n)};function n(t,i,n){if(!n.consumable.consume(i.item,t.name))return;const o=n.writer,a=n.mapper.toViewElement(i.item),s=e.findViewImgElement(a);o.setAttribute(i.attributeKey,i.attributeNewValue||"",s)}}class C extends a.Observer{observe(e){this.listenTo(e,"load",(e,t)=>{const i=t.target;this.checkShouldIgnoreEventFromTarget(i)||"IMG"==i.tagName&&this._fireEvents(t)},{useCapture:!0})}_fireEvents(e){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",e))}}class T extends n.Command{constructor(e){super(e);const t=e.config.get("image.insert.type");e.plugins.has("ImageBlockEditing")||"block"===t&&Object(l.logWarning)("image-block-plugin-required"),e.plugins.has("ImageInlineEditing")||"inline"===t&&Object(l.logWarning)("image-inline-plugin-required")}refresh(){this.isEnabled=this.editor.plugins.get("ImageUtils").isImageAllowed()}execute(e){const t=Object(l.toArray)(e.source),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),o=Object.fromEntries(i.getAttributes());t.forEach((e,t)=>{const a=i.getSelectedElement();if("string"==typeof e&&(e={src:e}),t&&a&&n.isImage(a)){const t=this.editor.model.createPositionAfter(a);n.insertImage({...e,...o},t)}else n.insertImage({...e,...o})})}}class S extends n.Plugin{static get requires(){return[u]}static get pluginName(){return"ImageEditing"}init(){const e=this.editor,t=e.conversion;e.editing.view.addObserver(C),t.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:{key:"srcset",value:e=>{const t={data:e.getAttribute("srcset")};return e.hasAttribute("width")&&(t.width=e.getAttribute("width")),t}}});const i=new T(e);e.commands.add("insertImage",i),e.commands.add("imageInsert",i)}}class B extends n.Command{constructor(e,t){super(e),this._modelElementName=t}refresh(){const e=this.editor.plugins.get("ImageUtils"),t=e.getClosestSelectedImageElement(this.editor.model.document.selection);"imageBlock"===this._modelElementName?this.isEnabled=e.isInlineImage(t):this.isEnabled=e.isBlockImage(t)}execute(){const e=this.editor,t=this.editor.model,i=e.plugins.get("ImageUtils"),n=i.getClosestSelectedImageElement(t.document.selection),o=Object.fromEntries(n.getAttributes());return o.src||o.uploadId?t.change(e=>{const a=Array.from(t.markers).filter(e=>e.getRange().containsItem(n)),s=i.insertImage(o,t.createSelection(n,"on"),this._modelElementName);if(!s)return null;const r=e.createRangeOn(s);for(const t of a){const i=t.getRange(),n="$graveyard"!=i.root.rootName?i.getJoined(r,!0):r;e.updateMarker(t,{range:n})}return{oldElement:n,newElement:s}}):null}}class A extends n.Plugin{static get requires(){return[S,u,o.ClipboardPipeline]}static get pluginName(){return"ImageBlockEditing"}init(){const e=this.editor;e.model.schema.register("imageBlock",{isObject:!0,isBlock:!0,allowWhere:"$block",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),e.plugins.has("ImageInlineEditing")&&(e.commands.add("imageTypeBlock",new B(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToElement({model:"imageBlock",view:(e,{writer:t})=>g(t,"imageBlock")}),i.for("editingDowncast").elementToElement({model:"imageBlock",view:(e,{writer:i})=>n.toImageWidget(g(i,"imageBlock"),i,t("image widget"))}),i.for("downcast").add(E(n,"imageBlock","src")).add(E(n,"imageBlock","alt")).add(x(n,"imageBlock")),i.for("upcast").elementToElement({view:d(e,"imageBlock"),model:(e,{writer:t})=>t.createElement("imageBlock",e.hasAttribute("src")?{src:e.getAttribute("src")}:null)}).add(function(e){return e=>{e.on("element:figure",t)};function t(t,i,n){if(!n.consumable.test(i.viewItem,{name:!0,classes:"image"}))return;const o=e.findViewImgElement(i.viewItem);if(!o||!n.consumable.test(o,{name:!0}))return;const a=n.convertItem(o,i.modelCursor),s=Object(l.first)(a.modelRange.getItems());s&&(n.consumable.consume(i.viewItem,{name:!0,classes:"image"}),n.convertChildren(i.viewItem,s),n.updateConversionResult(s,i))}}(n))}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils");this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",(o,s)=>{const r=Array.from(s.content.getChildren());let l;if(!r.every(n.isInlineImageView))return;l=s.targetRanges?e.editing.mapper.toModelRange(s.targetRanges[0]):t.document.selection.getFirstRange();const c=t.createSelection(l);if("imageBlock"===m(t.schema,c)){const e=new a.UpcastWriter(i.document),t=r.map(t=>e.createElement("figure",{class:"image"},t));s.content=e.createDocumentFragment(t)}})}}i(9);class V extends n.Plugin{static get requires(){return[A,c.Widget,y]}static get pluginName(){return"ImageBlock"}}class z extends n.Plugin{static get requires(){return[S,u,o.ClipboardPipeline]}static get pluginName(){return"ImageInlineEditing"}init(){const e=this.editor,t=e.model.schema;t.register("imageInline",{isObject:!0,isInline:!0,allowWhere:"$text",allowAttributes:["alt","src","srcset"]}),t.addChildCheck((e,t)=>{if(e.endsWith("caption")&&"imageInline"===t.name)return!1}),this._setupConversion(),e.plugins.has("ImageBlockEditing")&&(e.commands.add("imageTypeInline",new B(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToElement({model:"imageInline",view:(e,{writer:t})=>t.createEmptyElement("img")}),i.for("editingDowncast").elementToElement({model:"imageInline",view:(e,{writer:i})=>n.toImageWidget(g(i,"imageInline"),i,t("image widget"))}),i.for("downcast").add(E(n,"imageInline","src")).add(E(n,"imageInline","alt")).add(x(n,"imageInline")),i.for("upcast").elementToElement({view:d(e,"imageInline"),model:(e,{writer:t})=>t.createElement("imageInline",e.hasAttribute("src")?{src:e.getAttribute("src")}:null)})}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils");this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",(o,s)=>{const r=Array.from(s.content.getChildren());let l;if(!r.every(n.isBlockImageView))return;l=s.targetRanges?e.editing.mapper.toModelRange(s.targetRanges[0]):t.document.selection.getFirstRange();const c=t.createSelection(l);if("imageInline"===m(t.schema,c)){const e=new a.UpcastWriter(i.document),t=r.map(t=>1===t.childCount?(Array.from(t.getAttributes()).forEach(i=>e.setAttribute(...i,n.findViewImgElement(t))),t.getChild(0)):t);s.content=e.createDocumentFragment(t)}})}}class R extends n.Plugin{static get requires(){return[z,c.Widget,y]}static get pluginName(){return"ImageInline"}}class U extends n.Plugin{static get requires(){return[V,R]}static get pluginName(){return"Image"}}function O(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}function P(e,t){const i=t.getFirstPosition().findAncestor("caption");return i&&e.isBlockImage(i.parent)?i:null}class j extends n.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageUtils");if(!e.plugins.has(A))return this.isEnabled=!1,void(this.value=!1);const i=e.model.document.selection,n=i.getSelectedElement();if(!n){const e=P(t,i);return this.isEnabled=!!e,void(this.value=!!e)}this.isEnabled=this.editor.plugins.get("ImageUtils").isImage(n),this.isEnabled?this.value=!!O(n):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change(e=>{this.value?this._hideImageCaption(e):this._showImageCaption(e,t)})}_showImageCaption(e,t){const i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageCaptionEditing");let o=i.getSelectedElement();const a=n._getSavedCaption(o);this.editor.plugins.get("ImageUtils").isInlineImage(o)&&(this.editor.execute("imageTypeBlock"),o=i.getSelectedElement());const s=a||e.createElement("caption");e.append(s,o),t&&e.setSelection(s,"in")}_hideImageCaption(e){const t=this.editor,i=t.model.document.selection,n=t.plugins.get("ImageCaptionEditing"),o=t.plugins.get("ImageUtils");let a,s=i.getSelectedElement();s?a=O(s):(a=P(o,i),s=a.parent),n._saveCaption(s,a),e.setSelection(s,"on"),e.remove(a)}}class N extends n.Plugin{static get requires(){return[u]}static get pluginName(){return"ImageCaptionEditing"}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"imageBlock"}):t.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleImageCaption",new j(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration()}_setupConversion(){const e=this.editor,t=e.editing.view,i=e.plugins.get("ImageUtils"),n=e.t;e.conversion.for("upcast").elementToElement({view:e=>function(e,t){return"figcaption"==t.name&&e.isBlockImageView(t.parent)?{name:!0}:null}(i,e),model:"caption"}),e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(e,{writer:t})=>i.isBlockImage(e.parent)?t.createContainerElement("figcaption"):null}),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:o})=>{if(!i.isBlockImage(e.parent))return null;const s=o.createEditableElement("figcaption");return o.setCustomProperty("imageCaption",!0,s),Object(a.enablePlaceholder)({view:t,element:s,text:n("Enter image caption"),keepOnFocus:!0}),Object(c.toWidgetEditable)(s,o)}}),e.editing.mapper.on("modelToViewPosition",L(t)),e.data.mapper.on("modelToViewPosition",L(t))}_setupImageTypeCommandsIntegration(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.commands.get("imageTypeInline"),n=e.commands.get("imageTypeBlock"),o=e=>{if(!e.return)return;const{oldElement:i,newElement:n}=e.return;if(!i)return;if(t.isBlockImage(i)){const e=O(i);if(e)return void this._saveCaption(n,e)}const o=this._getSavedCaption(i);o&&this._saveCaption(n,o)};i&&this.listenTo(i,"execute",o,{priority:"low"}),n&&this.listenTo(n,"execute",o,{priority:"low"})}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?a.Element.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}}function L(e){return(t,i)=>{const n=i.modelPosition,o=n.parent;if(!o.is("element","imageBlock"))return;const a=i.mapper.toViewElement(o);i.viewPosition=e.createPositionAt(a,n.offset+1)}}class F extends n.Plugin{static get requires(){return[u]}static get pluginName(){return"ImageCaptionUI"}init(){const e=this.editor,t=e.editing.view,i=e.plugins.get("ImageUtils"),o=e.t;e.ui.componentFactory.add("toggleImageCaption",a=>{const s=e.commands.get("toggleImageCaption"),r=new w.ButtonView(a);return r.set({icon:n.icons.caption,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(s,"value","isEnabled"),r.bind("label").to(s,"value",e=>o(e?"Toggle caption off":"Toggle caption on")),this.listenTo(r,"execute",()=>{e.execute("toggleImageCaption",{focusCaptionOnShow:!0});const n=P(i,e.model.document.selection);if(n){const i=e.editing.mapper.toViewElement(n);t.scrollToTheSelection(),t.change(e=>{e.addClass("image__caption_highlighted",i)})}}),r})}}i(18);class D extends n.Plugin{static get requires(){return[N,F]}static get pluginName(){return"ImageCaption"}}var M=i(6);function W(e){const t=e.map(e=>e.replace("+","\\+"));return new RegExp(`^image\\/(${t.join("|")})$`)}function q(e){return new Promise((t,i)=>{const n=e.getAttribute("src");fetch(n).then(e=>e.blob()).then(e=>{const i=$(e,n),o=i.replace("image/",""),a=new File([e],"image."+o,{type:i});t(a)}).catch(e=>e&&"TypeError"===e.name?function(e){return function(e){return new Promise((t,i)=>{const n=l.global.document.createElement("img");n.addEventListener("load",()=>{const e=l.global.document.createElement("canvas");e.width=n.width,e.height=n.height;e.getContext("2d").drawImage(n,0,0),e.toBlob(e=>e?t(e):i())}),n.addEventListener("error",()=>i()),n.src=e})}(e).then(t=>{const i=$(t,e),n=i.replace("image/","");return new File([t],"image."+n,{type:i})})}(n).then(t).catch(i):i(e))})}function $(e,t){return e.type?e.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class H extends n.Plugin{static get pluginName(){return"ImageUploadUI"}init(){const e=this.editor,t=e.t,i=i=>{const o=new M.FileDialogButtonView(i),a=e.commands.get("uploadImage"),s=e.config.get("image.upload.types"),r=W(s);return o.set({acceptedType:s.map(e=>"image/"+e).join(","),allowMultipleFiles:!0}),o.buttonView.set({label:t("Insert image"),icon:n.icons.image,tooltip:!0}),o.buttonView.bind("isEnabled").to(a),o.on("done",(t,i)=>{const n=Array.from(i).filter(e=>r.test(e.type));n.length&&e.execute("uploadImage",{file:n})}),o};e.ui.componentFactory.add("uploadImage",i),e.ui.componentFactory.add("imageUpload",i)}}i(20),i(22),i(24);class K extends n.Plugin{static get pluginName(){return"ImageUploadProgress"}constructor(e){super(e),this.placeholder="data:image/svg+xml;utf8,"+encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 250"><rect rx="4"/></svg>')}init(){const e=this.editor;e.plugins.has("ImageBlockEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",(...e)=>this.uploadStatusChange(...e)),e.plugins.has("ImageInlineEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",(...e)=>this.uploadStatusChange(...e))}uploadStatusChange(e,t,i){const n=this.editor,o=t.item,a=o.getAttribute("uploadId");if(!i.consumable.consume(t.item,e.name))return;const s=n.plugins.get("ImageUtils"),r=n.plugins.get(M.FileRepository),l=a?t.attributeNewValue:null,c=this.placeholder,g=n.editing.mapper.toViewElement(o),d=i.writer;if("reading"==l)return G(g,d),void J(s,c,g,d);if("uploading"==l){const e=r.loaders.get(a);return G(g,d),void(e?(X(g,d),function(e,t,i,n){const o=function(e){const t=e.createUIElement("div",{class:"ck-progress-bar"});return e.setCustomProperty("progressBar",!0,t),t}(t);t.insert(t.createPositionAt(e,"end"),o),i.on("change:uploadedPercent",(e,t,i)=>{n.change(e=>{e.setStyle("width",i+"%",o)})})}(g,d,e,n.editing.view),function(e,t,i,n){if(n.data){const o=e.findViewImgElement(t);i.setAttribute("src",n.data,o)}}(s,g,d,e)):J(s,c,g,d))}"complete"==l&&r.loaders.get(a)&&function(e,t,i){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(e,"end"),n),setTimeout(()=>{i.change(e=>e.remove(e.createRangeOn(n)))},3e3)}(g,d,n.editing.view),function(e,t){Y(e,t,"progressBar")}(g,d),X(g,d),function(e,t){t.removeClass("ck-appear",e)}(g,d)}}function G(e,t){e.hasClass("ck-appear")||t.addClass("ck-appear",e)}function J(e,t,i,n){i.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",i);const o=e.findViewImgElement(i);o.getAttribute("src")!==t&&n.setAttribute("src",t,o),Q(i,"placeholder")||n.insert(n.createPositionAfter(o),function(e){const t=e.createUIElement("div",{class:"ck-upload-placeholder-loader"});return e.setCustomProperty("placeholder",!0,t),t}(n))}function X(e,t){e.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",e),Y(e,t,"placeholder")}function Q(e,t){for(const i of e.getChildren())if(i.getCustomProperty(t))return i}function Y(e,t,i){const n=Q(e,i);n&&t.remove(t.createRangeOn(n))}class Z extends n.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.model.document.selection.getSelectedElement();this.isEnabled=t.isImageAllowed()||t.isImage(i)}execute(e){const t=Object(l.toArray)(e.file),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),o=Object.fromEntries(i.getAttributes());t.forEach((e,t)=>{const a=i.getSelectedElement();if(t&&a&&n.isImage(a)){const t=this.editor.model.createPositionAfter(a);this._uploadImage(e,o,t)}else this._uploadImage(e,o)})}_uploadImage(e,t,i){const n=this.editor,o=n.plugins.get(M.FileRepository).createLoader(e),a=n.plugins.get("ImageUtils");o&&a.insertImage({...t,uploadId:o.id},i)}}class ee extends n.Plugin{static get requires(){return[M.FileRepository,w.Notification,o.ClipboardPipeline,u]}static get pluginName(){return"ImageUploadEditing"}constructor(e){super(e),e.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const e=this.editor,t=e.model.document,i=e.conversion,n=e.plugins.get(M.FileRepository),o=e.plugins.get("ImageUtils"),s=W(e.config.get("image.upload.types")),r=new Z(e);e.commands.add("uploadImage",r),e.commands.add("imageUpload",r),i.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(e.editing.view.document,"clipboardInput",(t,i)=>{if(n=i.dataTransfer,Array.from(n.types).includes("text/html")&&""!==n.getData("text/html"))return;var n;const o=Array.from(i.dataTransfer.files).filter(e=>!!e&&s.test(e.type));o.length&&(t.stop(),e.model.change(t=>{i.targetRanges&&t.setSelection(i.targetRanges.map(t=>e.editing.mapper.toModelRange(t))),e.model.enqueueChange("default",()=>{e.execute("uploadImage",{file:o})})}))}),this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",(t,i)=>{const s=Array.from(e.editing.view.createRangeIn(i.content)).filter(e=>function(e,t){return!(!e.isInlineImageView(t)||!t.getAttribute("src"))&&(t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||t.getAttribute("src").match(/^blob:/g))}(o,e.item)&&!e.item.getAttribute("uploadProcessed")).map(e=>({promise:q(e.item),imageElement:e.item}));if(!s.length)return;const r=new a.UpcastWriter(e.editing.view.document);for(const e of s){r.setAttribute("uploadProcessed",!0,e.imageElement);const t=n.createLoader(e.promise);t&&(r.setAttribute("src","",e.imageElement),r.setAttribute("uploadId",t.id,e.imageElement))}}),e.editing.view.document.on("dragover",(e,t)=>{t.preventDefault()}),t.on("change",()=>{const i=t.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),o=new Set;for(const t of i)if("insert"==t.type&&"$text"!=t.name){const i=t.position.nodeAfter,a="$graveyard"==t.position.root.rootName;for(const t of te(e,i)){const e=t.getAttribute("uploadId");if(!e)continue;const i=n.loaders.get(e);i&&(a?o.has(e)||i.abort():(o.add(e),this._uploadImageElements.set(e,t),"idle"==i.status&&this._readAndUpload(i)))}}}),this.on("uploadComplete",(e,{imageElement:t,data:i})=>{const n=i.urls?i.urls:i;this.editor.model.change(e=>{e.setAttribute("src",n.default,t),this._parseAndSetSrcsetAttributeOnImage(n,t,e)})},{priority:"low"})}afterInit(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&e.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&e.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(e){const t=this.editor,i=t.model,n=t.locale.t,o=t.plugins.get(M.FileRepository),a=t.plugins.get(w.Notification),s=t.plugins.get("ImageUtils"),r=this._uploadImageElements;return i.enqueueChange("transparent",t=>{t.setAttribute("uploadStatus","reading",r.get(e.id))}),e.read().then(()=>{const n=e.upload(),o=r.get(e.id);if(l.env.isSafari){const e=t.editing.mapper.toViewElement(o),i=s.findViewImgElement(e);t.editing.view.once("render",()=>{if(!i.parent)return;const e=t.editing.view.domConverter.mapViewToDom(i.parent);if(!e)return;const n=e.style.display;e.style.display="none",e._ckHack=e.offsetHeight,e.style.display=n})}return i.enqueueChange("transparent",e=>{e.setAttribute("uploadStatus","uploading",o)}),n}).then(t=>{i.enqueueChange("transparent",i=>{const n=r.get(e.id);i.setAttribute("uploadStatus","complete",n),this.fire("uploadComplete",{data:t,imageElement:n})}),c()}).catch(t=>{if("error"!==e.status&&"aborted"!==e.status)throw t;"error"==e.status&&t&&a.showWarning(t,{title:n("Upload failed"),namespace:"upload"}),i.enqueueChange("transparent",t=>{t.remove(r.get(e.id))}),c()});function c(){i.enqueueChange("transparent",t=>{const i=r.get(e.id);t.removeAttribute("uploadId",i),t.removeAttribute("uploadStatus",i),r.delete(e.id)}),o.destroyLoader(e)}}_parseAndSetSrcsetAttributeOnImage(e,t,i){let n=0;const o=Object.keys(e).filter(e=>{const t=parseInt(e,10);if(!isNaN(t))return n=Math.max(n,t),!0}).map(t=>`${e[t]} ${t}w`).join(", ");""!=o&&i.setAttribute("srcset",{data:o,width:n},t)}}function te(e,t){const i=e.plugins.get("ImageUtils");return Array.from(e.model.createRangeOn(t)).filter(e=>i.isImage(e.item)).map(e=>e.item)}class ie extends n.Plugin{static get pluginName(){return"ImageUpload"}static get requires(){return[ee,H,K]}}i(26);class ne extends w.View{constructor(e,t={}){super(e);const i=this.bindTemplate;this.set("class",t.class||null),this.children=this.createCollection(),t.children&&t.children.forEach(e=>this.children.add(e)),this.set("_role",null),this.set("_ariaLabelledBy",null),t.labelView&&this.set({_role:"group",_ariaLabelledBy:t.labelView.id}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__row",i.to("class")],role:i.to("_role"),"aria-labelledby":i.to("_ariaLabelledBy")},children:this.children})}}i(28);class oe extends w.View{constructor(e,t){super(e);const{insertButtonView:i,cancelButtonView:n}=this._createActionButtons(e);if(this.insertButtonView=i,this.cancelButtonView=n,this.dropdownView=this._createDropdownView(e),this.set("imageURLInputValue",""),this.focusTracker=new l.FocusTracker,this.keystrokes=new l.KeystrokeHandler,this._focusables=new w.ViewCollection,this._focusCycler=new w.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.set("_integrations",new l.Collection),t)for(const[e,i]of Object.entries(t))"insertImageViaUrl"===e&&(i.fieldView.bind("value").to(this,"imageURLInputValue",e=>e||""),i.fieldView.on("input",()=>{this.imageURLInputValue=i.fieldView.element.value.trim()})),i.name=e,this._integrations.add(i);this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:"-1"},children:[...this._integrations,new ne(e,{children:[this.insertButtonView,this.cancelButtonView],class:"ck-image-insert-form__action-row"})]})}render(){super.render(),Object(w.submitHandler)({view:this});const e=[...this._integrations,this.insertButtonView,this.cancelButtonView];e.forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.element)}),this.keystrokes.listenTo(this.element);const t=e=>e.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t),this.listenTo(e[0].element,"selectstart",(e,t)=>{t.stopPropagation()},{priority:"high"})}getIntegration(e){return this._integrations.find(t=>t.name===e)}_createDropdownView(e){const t=e.t,i=Object(w.createDropdown)(e,w.SplitButtonView),o=i.buttonView,a=i.panelView;return o.set({label:t("Insert image"),icon:n.icons.image,tooltip:!0}),a.extendTemplate({attributes:{class:"ck-image-insert__panel"}}),i}_createActionButtons(e){const t=e.t,i=new w.ButtonView(e),o=new w.ButtonView(e);return i.set({label:t("Insert"),icon:n.icons.check,class:"ck-button-save",type:"submit",withText:!0,isEnabled:this.imageURLInputValue}),o.set({label:t("Cancel"),icon:n.icons.cancel,class:"ck-button-cancel",withText:!0}),i.bind("isEnabled").to(this,"imageURLInputValue",e=>!!e),i.delegate("execute").to(this,"submit"),o.delegate("execute").to(this,"cancel"),{insertButtonView:i,cancelButtonView:o}}focus(){this._focusCycler.focusFirst()}}function ae(e){const t=e.t,i=new w.LabeledFieldView(e,w.createLabeledInputText);return i.set({label:t("Insert image via URL")}),i.fieldView.placeholder="https://example.com/image.png",i}class se extends n.Plugin{static get pluginName(){return"ImageInsertUI"}init(){const e=this.editor,t=e=>this._createDropdownView(e);e.ui.componentFactory.add("insertImage",t),e.ui.componentFactory.add("imageInsert",t)}_createDropdownView(e){const t=this.editor,i=new oe(e,function(e){const t=e.config.get("image.insert.integrations"),i=e.plugins.get("ImageInsertUI"),n={insertImageViaUrl:ae(e.locale)};if(!t)return n;if(t.find(e=>"openCKFinder"===e)&&e.ui.componentFactory.has("ckfinder")){const t=e.ui.componentFactory.create("ckfinder");t.set({withText:!0,class:"ck-image-insert__ck-finder-button"}),t.delegate("execute").to(i,"cancel"),n.openCKFinder=t}return t.reduce((t,i)=>(n[i]?t[i]=n[i]:e.ui.componentFactory.has(i)&&(t[i]=e.ui.componentFactory.create(i)),t),{})}(t)),n=t.commands.get("uploadImage"),o=i.dropdownView,a=o.buttonView;return a.actionView=t.ui.componentFactory.create("uploadImage"),a.actionView.extendTemplate({attributes:{class:"ck ck-button ck-splitbutton__action"}}),this._setUpDropdown(o,i,n)}_setUpDropdown(e,t,i){const n=this.editor,o=n.t,a=t.insertButtonView,s=t.getIntegration("insertImageViaUrl"),r=e.panelView,l=this.editor.plugins.get("ImageUtils");function c(){n.editing.view.focus(),e.isOpen=!1}return e.bind("isEnabled").to(i),e.buttonView.once("open",()=>{r.children.add(t)}),e.on("change:isOpen",()=>{const i=n.model.document.selection.getSelectedElement();e.isOpen&&(t.focus(),l.isImage(i)?(t.imageURLInputValue=i.getAttribute("src"),a.label=o("Update"),s.label=o("Update image URL")):(t.imageURLInputValue="",a.label=o("Insert"),s.label=o("Insert image via URL")))},{priority:"low"}),t.delegate("submit","cancel").to(e),this.delegate("cancel").to(e),e.on("submit",()=>{c(),function(){const e=n.model.document.selection.getSelectedElement();l.isImage(e)?n.model.change(i=>{i.setAttribute("src",t.imageURLInputValue,e),i.removeAttribute("srcset",e),i.removeAttribute("sizes",e)}):n.execute("insertImage",{source:t.imageURLInputValue})}()}),e.on("cancel",()=>{c()}),e}}class re extends n.Plugin{static get pluginName(){return"ImageInsert"}static get requires(){return[ie,se]}}class le extends n.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageUtils").getClosestSelectedImageElement(e.model.document.selection);this.isEnabled=!!t,t&&t.hasAttribute("width")?this.value={width:t.getAttribute("width"),height:null}:this.value=null}execute(e){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(i.document.selection);this.value={width:e.width,height:null},n&&i.change(t=>{t.setAttribute("width",e.width,n)})}}class ce extends n.Plugin{static get requires(){return[u]}static get pluginName(){return"ImageResizeEditing"}constructor(e){super(e),e.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const e=this.editor,t=new le(e);this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline"),e.commands.add("resizeImage",t),e.commands.add("imageResize",t)}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:"width"}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:"width"})}_registerConverters(e){const t=this.editor;t.conversion.for("downcast").add(t=>t.on("attribute:width:"+e,(e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=i.writer,o=i.mapper.toViewElement(t.item);null!==t.attributeNewValue?(n.setStyle("width",t.attributeNewValue,o),n.addClass("image_resized",o)):(n.removeStyle("width",o),n.removeClass("image_resized",o))})),t.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===e?"figure":"img",styles:{width:/.+/}},model:{key:"width",value:e=>e.getStyle("width")}})}}const ge={small:n.icons.objectSizeSmall,medium:n.icons.objectSizeMedium,large:n.icons.objectSizeLarge,original:n.icons.objectSizeFull};class de extends n.Plugin{static get requires(){return[ce]}static get pluginName(){return"ImageResizeButtons"}constructor(e){super(e),this._resizeUnit=e.config.get("image.resizeUnit")}init(){const e=this.editor,t=e.config.get("image.resizeOptions"),i=e.commands.get("resizeImage");this.bind("isEnabled").to(i);for(const e of t)this._registerImageResizeButton(e);this._registerImageResizeDropdown(t)}_registerImageResizeButton(e){const t=this.editor,{name:i,value:n,icon:o}=e,a=n?n+this._resizeUnit:null;t.ui.componentFactory.add(i,i=>{const n=new w.ButtonView(i),s=t.commands.get("resizeImage"),r=this._getOptionLabelValue(e,!0);if(!ge[o])throw new l.CKEditorError("imageresizebuttons-missing-icon",t,e);return n.set({label:r,icon:ge[o],tooltip:r,isToggleable:!0}),n.bind("isEnabled").to(this),n.bind("isOn").to(s,"value",me(a)),this.listenTo(n,"execute",()=>{t.execute("resizeImage",{width:a})}),n})}_registerImageResizeDropdown(e){const t=this.editor,i=t.t,n=e.find(e=>!e.value),o=o=>{const a=t.commands.get("resizeImage"),s=Object(w.createDropdown)(o,w.DropdownButtonView),r=s.buttonView;return r.set({tooltip:i("Resize image"),commandValue:n.value,icon:ge.medium,isToggleable:!0,label:this._getOptionLabelValue(n),withText:!0,class:"ck-resize-image-button"}),r.bind("label").to(a,"value",e=>e&&e.width?e.width:this._getOptionLabelValue(n)),s.bind("isOn").to(a),s.bind("isEnabled").to(this),Object(w.addListToDropdown)(s,this._getResizeDropdownListItemDefinitions(e,a)),s.listView.ariaLabel=i("Image resize list"),this.listenTo(s,"execute",e=>{t.execute(e.source.commandName,{width:e.source.commandValue}),t.editing.view.focus()}),s};t.ui.componentFactory.add("resizeImage",o),t.ui.componentFactory.add("imageResize",o)}_getOptionLabelValue(e,t){const i=this.editor.t;return e.label?e.label:t?e.value?i("Resize image to %0",e.value+this._resizeUnit):i("Resize image to the original size"):e.value?e.value+this._resizeUnit:i("Original")}_getResizeDropdownListItemDefinitions(e,t){const i=new l.Collection;return e.map(e=>{const n=e.value?e.value+this._resizeUnit:null,o={type:"button",model:new w.Model({commandName:"resizeImage",commandValue:n,label:this._getOptionLabelValue(e),withText:!0,icon:null})};o.model.bind("isOn").to(t,"value",me(n)),i.add(o)}),i}}function me(e){return t=>null===e&&t===e||t&&t.width===e}const ue=/(image|image-inline)/;class pe extends n.Plugin{static get requires(){return[c.WidgetResize]}static get pluginName(){return"ImageResizeHandles"}init(){const e=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(e),this._setupResizerCreator()}_setupResizerCreator(){const e=this.editor,t=e.editing.view;t.addObserver(C),this.listenTo(t.document,"imageLoaded",(i,n)=>{if(!n.target.matches("figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img"))return;const o=e.editing.view.domConverter,a=o.domToView(n.target).findAncestor({classes:ue});let s=this.editor.plugins.get(c.WidgetResize).getResizerByViewElement(a);if(s)return void s.redraw();const r=e.editing.mapper,l=r.toModelElement(a);s=e.plugins.get(c.WidgetResize).attachTo({unit:e.config.get("image.resizeUnit"),modelElement:l,viewElement:a,editor:e,getHandleHost:e=>e.querySelector("img"),getResizeHost:()=>o.viewToDom(r.toViewElement(l.parent)),isCentered(){const e=l.getAttribute("imageStyle");return!e||"block"==e||"alignCenter"==e},onCommit(i){t.change(e=>{e.removeClass("image_resized",a)}),e.execute("resizeImage",{width:i})}}),s.on("updateSize",()=>{a.hasClass("image_resized")||t.change(e=>{e.addClass("image_resized",a)})}),s.bind("isEnabled").to(this)})}}i(30);class he extends n.Plugin{static get requires(){return[ce,pe,de]}static get pluginName(){return"ImageResize"}}class fe extends n.Command{constructor(e,t){super(e),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(t.map(e=>{if(e.isDefault)for(const t of e.modelElements)this._defaultStyles[t]=e.name;return[e.name,e]}))}refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled?e.hasAttribute("imageStyle")?this.value=e.getAttribute("imageStyle"):this.value=this._defaultStyles[e.name]:this.value=!1}execute(e={}){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils");i.change(t=>{const o=e.value;let a=n.getClosestSelectedImageElement(i.document.selection);o&&this.shouldConvertImageType(o,a)&&(this.editor.execute(n.isBlockImage(a)?"imageTypeInline":"imageTypeBlock"),a=n.getClosestSelectedImageElement(i.document.selection)),!o||this._styles.get(o).isDefault?t.removeAttribute("imageStyle",a):t.setAttribute("imageStyle",o,a)})}shouldConvertImageType(e,t){return!this._styles.get(e).modelElements.includes(t.name)}}const{objectFullWidth:be,objectInline:ke,objectLeft:we,objectRight:Ie,objectCenter:ve,objectBlockLeft:_e,objectBlockRight:ye}=n.icons,xe={inline:{name:"inline",title:"In line",icon:ke,modelElements:["imageInline"],isDefault:!0},alignLeft:{name:"alignLeft",title:"Left aligned image",icon:we,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"},alignBlockLeft:{name:"alignBlockLeft",title:"Left aligned image",icon:_e,modelElements:["imageBlock"],className:"image-style-block-align-left"},alignCenter:{name:"alignCenter",title:"Centered image",icon:ve,modelElements:["imageBlock"],className:"image-style-align-center"},alignRight:{name:"alignRight",title:"Right aligned image",icon:Ie,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"},alignBlockRight:{name:"alignBlockRight",title:"Right aligned image",icon:ye,modelElements:["imageBlock"],className:"image-style-block-align-right"},block:{name:"block",title:"Centered image",icon:ve,modelElements:["imageBlock"],isDefault:!0},side:{name:"side",title:"Side image",icon:Ie,modelElements:["imageBlock"],className:"image-style-side"}},Ee={full:be,left:_e,right:ye,center:ve,inlineLeft:we,inlineRight:Ie,inline:ke},Ce=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function Te(e){Object(l.logWarning)("image-style-configuration-definition-invalid",e)}var Se={normalizeStyles:function(e){return(e.configuredStyles.options||[]).map(e=>function(e){e="string"==typeof e?xe[e]?{...xe[e]}:{name:e}:function(e,t){const i={...t};for(const n in e)Object.prototype.hasOwnProperty.call(t,n)||(i[n]=e[n]);return i}(xe[e.name],e);"string"==typeof e.icon&&(e.icon=Ee[e.icon]||e.icon);return e}(e)).filter(t=>function(e,{isBlockPluginLoaded:t,isInlinePluginLoaded:i}){const{modelElements:n,name:o}=e;if(!(n&&n.length&&o))return Te({style:e}),!1;{const o=[t?"imageBlock":null,i?"imageInline":null];if(!n.some(e=>o.includes(e)))return Object(l.logWarning)("image-style-missing-dependency",{style:e,missingPlugins:n.map(e=>"imageBlock"===e?"ImageBlockEditing":"ImageInlineEditing")}),!1}return!0}(t,e))},getDefaultStylesConfiguration:function(e,t){return e&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:e?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(e){return e.has("ImageBlockEditing")&&e.has("ImageInlineEditing")?[...Ce]:[]},warnInvalidStyle:Te,DEFAULT_OPTIONS:xe,DEFAULT_ICONS:Ee,DEFAULT_DROPDOWN_DEFINITIONS:Ce};function Be(e,t){for(const i of t)if(i.name===e)return i}class Ae extends n.Plugin{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[u]}init(){const{normalizeStyles:e,getDefaultStylesConfiguration:t}=Se,i=this.editor,n=i.plugins.has("ImageBlockEditing"),o=i.plugins.has("ImageInlineEditing");i.config.define("image.styles",t(n,o)),this.normalizedStyles=e({configuredStyles:i.config.get("image.styles"),isBlockPluginLoaded:n,isInlinePluginLoaded:o}),this._setupConversion(n,o),this._setupPostFixer(),i.commands.add("imageStyle",new fe(i,this.normalizedStyles))}_setupConversion(e,t){const i=this.editor,n=i.model.schema,o=(a=this.normalizedStyles,(e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=Be(t.attributeNewValue,a),o=Be(t.attributeOldValue,a),s=i.mapper.toViewElement(t.item),r=i.writer;o&&r.removeClass(o.className,s),n&&r.addClass(n.className,s)});var a;const s=function(e){const t={imageInline:e.filter(e=>!e.isDefault&&e.modelElements.includes("imageInline")),imageBlock:e.filter(e=>!e.isDefault&&e.modelElements.includes("imageBlock"))};return(e,i,n)=>{if(!i.modelRange)return;const o=i.viewItem,a=Object(l.first)(i.modelRange.getItems());if(a&&n.schema.checkAttribute(a,"imageStyle"))for(const e of t[a.name])n.consumable.consume(o,{classes:e.className})&&n.writer.setAttribute("imageStyle",e.name,a)}}(this.normalizedStyles);i.editing.downcastDispatcher.on("attribute:imageStyle",o),i.data.downcastDispatcher.on("attribute:imageStyle",o),e&&(n.extend("imageBlock",{allowAttributes:"imageStyle"}),i.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),t&&(n.extend("imageInline",{allowAttributes:"imageStyle"}),i.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const e=this.editor,t=e.model.document,i=e.plugins.get(u),n=new Map(this.normalizedStyles.map(e=>[e.name,e]));t.registerPostFixer(e=>{let o=!1;for(const a of t.differ.getChanges())if("insert"==a.type||"attribute"==a.type&&"imageStyle"==a.attributeKey){let t="insert"==a.type?a.position.nodeAfter:a.range.start.nodeAfter;if(t&&t.is("element","paragraph")&&t.childCount>0&&(t=t.getChild(0)),!i.isImage(t))continue;const s=t.getAttribute("imageStyle");if(!s)continue;const r=n.get(s);r&&r.modelElements.includes(t.name)||(e.removeAttribute("imageStyle",t),o=!0)}return o})}}var Ve=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};var ze=function(e){return e};i(32);class Re extends n.Plugin{static get requires(){return[Ae]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const e=this.editor.t;return{"Wrap text":e("Wrap text"),"Break text":e("Break text"),"In line":e("In line"),"Full size image":e("Full size image"),"Side image":e("Side image"),"Left aligned image":e("Left aligned image"),"Centered image":e("Centered image"),"Right aligned image":e("Right aligned image")}}init(){const e=this.editor.plugins,t=this.editor.config.get("image.toolbar")||[],i=Ue(e.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const e of i)this._createButton(e);const n=Ue([...t.filter(Ve),...Se.getDefaultDropdownDefinitions(e)],this.localizedDefaultStylesTitles);for(const e of n)this._createDropdown(e,i)}_createDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,n=>{let o;const{defaultItem:a,items:s,title:r}=e,l=s.filter(e=>t.find(({name:t})=>Oe(t)===e)).map(e=>{const t=i.create(e);return e===a&&(o=t),t});s.length!==l.length&&Se.warnInvalidStyle({dropdown:e});const c=Object(w.createDropdown)(n,w.SplitButtonView),g=c.buttonView;return Object(w.addToolbarToDropdown)(c,l),g.set({label:Pe(r,o.label),class:null,tooltip:!0}),g.bind("icon").toMany(l,"isOn",(...e)=>{const t=e.findIndex(ze);return t<0?o.icon:l[t].icon}),g.bind("label").toMany(l,"isOn",(...e)=>{const t=e.findIndex(ze);return Pe(r,t<0?o.label:l[t].label)}),g.bind("isOn").toMany(l,"isOn",(...e)=>e.some(ze)),g.bind("class").toMany(l,"isOn",(...e)=>e.some(ze)?"ck-splitbutton_flatten":null),g.on("execute",()=>{l.some(({isOn:e})=>e)?c.isOpen=!c.isOpen:o.fire("execute")}),c.bind("isEnabled").toMany(l,"isEnabled",(...e)=>e.some(ze)),c})}_createButton(e){const t=e.name;this.editor.ui.componentFactory.add(Oe(t),i=>{const n=this.editor.commands.get("imageStyle"),o=new w.ButtonView(i);return o.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),o.bind("isEnabled").to(n,"isEnabled"),o.bind("isOn").to(n,"value",e=>e===t),o.on("execute",this._executeCommand.bind(this,t)),o})}_executeCommand(e){this.editor.execute("imageStyle",{value:e}),this.editor.editing.view.focus()}}function Ue(e,t){for(const i of e)t[i.title]&&(i.title=t[i.title]);return e}function Oe(e){return"imageStyle:"+e}function Pe(e,t){return(e?e+": ":"")+t}class je extends n.Plugin{static get requires(){return[Ae,Re]}static get pluginName(){return"ImageStyle"}}class Ne extends n.Plugin{static get requires(){return[c.WidgetToolbarRepository,u]}static get pluginName(){return"ImageToolbar"}afterInit(){const e=this.editor,t=e.t,i=e.plugins.get(c.WidgetToolbarRepository),n=e.plugins.get("ImageUtils");var o;i.register("image",{ariaLabel:t("Image toolbar"),items:(o=e.config.get("image.toolbar")||[],o.map(e=>Ve(e)?e.name:e)),getRelatedElement:e=>n.getClosestSelectedImageWidget(e)})}}}]);
\ No newline at end of file
+ */(()=>{var e={540:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image-inline.ck-widget_selected,.ck.ck-editor__editable .image.ck-widget_selected{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}",""]);const a=o},560:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highligted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highligted-background)}to{background-color:var(--ck-color-image-caption-background)}}",""]);const a=o},91:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck.ck-image-insert__panel{padding:var(--ck-spacing-large)}.ck.ck-image-insert__ck-finder-button{border:1px solid #ccc;border-radius:var(--ck-border-radius);display:block;margin:var(--ck-spacing-standard) auto;width:100%}.ck.ck-splitbutton>.ck-file-dialog-button.ck-button{border:none;margin:0;padding:0}",""]);const a=o},439:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck.ck-image-insert-form:focus{outline:none}.ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-image-insert-form__action-row{margin-top:var(--ck-spacing-standard)}.ck.ck-form__row.ck-image-insert-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-image-insert-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row.ck-image-insert-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}",""]);const a=o},601:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}",""]);const a=o},29:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image-style-block-align-left,.ck-content .image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image-style-align-left,.ck-content .image-style-align-right{clear:none}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content p+.image-style-align-left,.ck-content p+.image-style-align-right,.ck-content p+.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}",""]);const a=o},948:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.ck-image-upload-complete-icon:after{content:"";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',""]);const a=o},467:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',""]);const a=o},271:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}",""]);const a=o},168:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}",""]);const a=o},764:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck-vertical-form .ck-button:after{bottom:var(--ck-spacing-small);content:"";position:absolute;right:-1px;top:var(--ck-spacing-small);width:0;z-index:1}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:var(--ck-spacing-small);content:"";position:absolute;right:-1px;top:var(--ck-spacing-small);width:0;z-index:1}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border:0;border-radius:0;border-top:1px solid var(--ck-color-base-border);margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after,[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',""]);const a=o},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=e(t);return t[2]?"@media ".concat(t[2]," {").concat(i,"}"):i})).join("")},t.i=function(e,i,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var a=0;a<this.length;a++){var s=this[a][0];null!=s&&(o[s]=!0)}for(var r=0;r<e.length;r++){var l=[].concat(e[r]);n&&o[l[0]]||(i&&(l[2]?l[2]="".concat(i," and ").concat(l[2]):l[2]=i),t.push(l))}},t}},62:(e,t,i)=>{"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},a=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),s=[];function r(e){for(var t=-1,i=0;i<s.length;i++)if(s[i].identifier===e){t=i;break}return t}function l(e,t){for(var i={},n=[],o=0;o<e.length;o++){var a=e[o],l=t.base?a[0]+t.base:a[0],c=i[l]||0,g="".concat(l," ").concat(c);i[l]=c+1;var d=r(g),m={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(s[d].references++,s[d].updater(m)):s.push({identifier:g,updater:f(m,t),references:1}),n.push(g)}return n}function c(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var o=i.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var s=a(e.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(t)}return t}var g,d=(g=[],function(e,t){return g[e]=t,g.filter(Boolean).join("\n")});function m(e,t,i,n){var o=i?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=d(t,o);else{var a=document.createTextNode(o),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(a,s[t]):e.appendChild(a)}}function u(e,t,i){var n=i.css,o=i.media,a=i.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var p=null,h=0;function f(e,t){var i,n,o;if(t.singleton){var a=h++;i=p||(p=c(t)),n=m.bind(null,i,a,!1),o=m.bind(null,i,a,!0)}else i=c(t),n=u.bind(null,i,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(i)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var i=l(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<i.length;n++){var o=r(i[n]);s[o].references--}for(var a=l(e,t),c=0;c<i.length;c++){var g=r(i[c]);0===s[g].references&&(s[g].updater(),s.splice(g,1))}i=a}}}},945:(e,t,i)=>{e.exports=i(79)("./src/clipboard.js")},704:(e,t,i)=>{e.exports=i(79)("./src/core.js")},492:(e,t,i)=>{e.exports=i(79)("./src/engine.js")},181:(e,t,i)=>{e.exports=i(79)("./src/typing.js")},273:(e,t,i)=>{e.exports=i(79)("./src/ui.js")},254:(e,t,i)=>{e.exports=i(79)("./src/undo.js")},448:(e,t,i)=>{e.exports=i(79)("./src/upload.js")},209:(e,t,i)=>{e.exports=i(79)("./src/utils.js")},995:(e,t,i)=>{e.exports=i(79)("./src/widget.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,exports:{}};return e[n](a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";i.r(n),i.d(n,{AutoImage:()=>h,Image:()=>j,ImageCaption:()=>K,ImageCaptionEditing:()=>q,ImageCaptionUtils:()=>W,ImageEditing:()=>z,ImageInsert:()=>xe,ImageInsertUI:()=>_e,ImageResize:()=>Pe,ImageResizeButtons:()=>Te,ImageResizeEditing:()=>Ce,ImageResizeHandles:()=>Ue,ImageStyle:()=>at,ImageStyleEditing:()=>Je,ImageStyleUI:()=>tt,ImageTextAlternative:()=>T,ImageTextAlternativeEditing:()=>b,ImageTextAlternativeUI:()=>S,ImageToolbar:()=>st,ImageUpload:()=>he,ImageUploadEditing:()=>ue,ImageUploadProgress:()=>se,ImageUploadUI:()=>Y});var e=i(704),t=i(945),o=i(492),a=i(254),s=i(181),r=i(209),l=i(995);function c(e){return e.createContainerElement("figure",{class:"image"},[e.createEmptyElement("img"),e.createSlot()])}function g(e,t){const i=e.plugins.get("ImageUtils"),n=e.plugins.has("ImageInlineEditing")&&e.plugins.has("ImageBlockEditing");return e=>{if(!i.isInlineImageView(e))return null;if(!n)return o(e);return(e.findAncestor(i.isBlockImageView)?"imageBlock":"imageInline")!==t?null:o(e)};function o(e){const t={name:!0};return e.hasAttribute("src")&&(t.attributes=["src"]),t}}function d(e,t){const i=(0,r.first)(t.getSelectedBlocks());return!i||e.isObject(i)||i.isEmpty&&"listItem"!=i.name?"imageBlock":"imageInline"}class m extends e.Plugin{static get pluginName(){return"ImageUtils"}isImage(e){return this.isInlineImage(e)||this.isBlockImage(e)}isInlineImageView(e){return!!e&&e.is("element","img")}isBlockImageView(e){return!!e&&e.is("element","figure")&&e.hasClass("image")}insertImage(e={},t=null,i=null){const n=this.editor,o=n.model,a=o.document.selection;i=u(n,t||a,i),e={...Object.fromEntries(a.getAttributes()),...e};for(const t in e)o.schema.checkAttribute(i,t)||delete e[t];return o.change((n=>{const a=n.createElement(i,e);return o.insertObject(a,t,null,{setSelection:"on",findOptimalPosition:!t&&"imageInline"!=i}),a.parent?a:null}))}getClosestSelectedImageWidget(e){const t=e.getSelectedElement();if(t&&this.isImageWidget(t))return t;let i=e.getFirstPosition().parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(e){const t=e.getSelectedElement();return this.isImage(t)?t:e.getFirstPosition().findAncestor("imageBlock")}isImageAllowed(){const e=this.editor.model.document.selection;return function(e,t){if("imageBlock"==u(e,t)){const i=function(e,t){const i=(0,l.findOptimalInsertionRange)(e,t).start.parent;if(i.isEmpty&&!i.is("element","$root"))return i.parent;return i}(t,e.model);if(e.model.schema.checkChild(i,"imageBlock"))return!0}else if(e.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}(this.editor,e)&&function(e){return[...e.focus.getAncestors()].every((e=>!e.is("element","imageBlock")))}(e)}toImageWidget(e,t,i){t.setCustomProperty("image",!0,e);return(0,l.toWidget)(e,t,{label:()=>{const t=this.findViewImgElement(e).getAttribute("alt");return t?`${t} ${i}`:i}})}isImageWidget(e){return!!e.getCustomProperty("image")&&(0,l.isWidget)(e)}isBlockImage(e){return!!e&&e.is("element","imageBlock")}isInlineImage(e){return!!e&&e.is("element","imageInline")}findViewImgElement(e){if(this.isInlineImageView(e))return e;const t=this.editor.editing.view;for(const{item:i}of t.createRangeIn(e))if(this.isInlineImageView(i))return i}}function u(e,t,i){const n=e.model.schema,o=e.config.get("image.insert.type");return e.plugins.has("ImageBlockEditing")?e.plugins.has("ImageInlineEditing")?i||("inline"===o?"imageInline":"block"===o?"imageBlock":t.is("selection")?d(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}const p=new RegExp(String(/^(http(s)?:\/\/)?[\w-]+\.[\w.~:/[\]@!$&'()*+,;=%-]+/.source+/\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\?[\w.~:/[\]@!$&'()*+,;=%-]*)?/.source+/(#[\w.~:/[\]@!$&'()*+,;=%-]*)?$/.source));class h extends e.Plugin{static get requires(){return[t.Clipboard,m,a.Undo,s.Delete]}static get pluginName(){return"AutoImage"}constructor(e){super(e),this._timeoutId=null,this._positionToInsert=null}init(){const e=this.editor,t=e.model.document;this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",(()=>{const e=t.selection.getFirstRange(),i=o.LivePosition.fromPosition(e.start);i.stickiness="toPrevious";const n=o.LivePosition.fromPosition(e.end);n.stickiness="toNext",t.once("change:data",(()=>{this._embedImageBetweenPositions(i,n),i.detach(),n.detach()}),{priority:"high"})})),e.commands.get("undo").on("execute",(()=>{this._timeoutId&&(r.global.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)}),{priority:"high"})}_embedImageBetweenPositions(e,t){const i=this.editor,n=new o.LiveRange(e,t),a=n.getWalker({ignoreElementEnd:!0}),s=Object.fromEntries(i.model.document.selection.getAttributes()),l=this.editor.plugins.get("ImageUtils");let c="";for(const e of a)e.item.is("$textProxy")&&(c+=e.item.data);c=c.trim(),c.match(p)?(this._positionToInsert=o.LivePosition.fromPosition(e),this._timeoutId=r.global.window.setTimeout((()=>{i.commands.get("insertImage").isEnabled?(i.model.change((e=>{let t;this._timeoutId=null,e.remove(n),n.detach(),"$graveyard"!==this._positionToInsert.root.rootName&&(t=this._positionToInsert.toPosition()),l.insertImage({...s,src:c},t),this._positionToInsert.detach(),this._positionToInsert=null})),i.plugins.get("Delete").requestUndoOnBackspace()):n.detach()}),100)):n.detach()}}class f extends e.Command{refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled&&e.hasAttribute("alt")?this.value=e.getAttribute("alt"):this.value=!1}execute(e){const t=this.editor,i=t.plugins.get("ImageUtils"),n=t.model,o=i.getClosestSelectedImageElement(n.document.selection);n.change((t=>{t.setAttribute("alt",e.newValue,o)}))}}class b extends e.Plugin{static get requires(){return[m]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new f(this.editor))}}var k=i(273),w=i(62),I=i.n(w),v=i(168),y={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(v.Z,y);v.Z.locals;var _=i(764),x={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(_.Z,x);_.Z.locals;class E extends k.View{constructor(t){super(t);const i=this.locale.t;this.focusTracker=new r.FocusTracker,this.keystrokes=new r.KeystrokeHandler,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(i("Save"),e.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(i("Cancel"),e.icons.cancel,"ck-button-cancel","cancel"),this._focusables=new k.ViewCollection,this._focusCycler=new k.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-text-alternative-form","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]}),(0,k.injectCssTransitionDisabler)(this)}render(){super.render(),this.keystrokes.listenTo(this.element),(0,k.submitHandler)({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(e,t,i,n){const o=new k.ButtonView(this.locale);return o.set({label:e,icon:t,tooltip:!0}),o.extendTemplate({attributes:{class:i}}),n&&o.delegate("execute").to(this,n),o}_createLabeledInputView(){const e=this.locale.t,t=new k.LabeledFieldView(this.locale,k.createLabeledInputText);return t.label=e("Text alternative"),t}}function C(e){const t=e.editing.view,i=k.BalloonPanelView.defaultPositions,n=e.plugins.get("ImageUtils");return{target:t.domConverter.viewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}class S extends e.Plugin{static get requires(){return[k.ContextualBalloon]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton(),this._createForm()}destroy(){super.destroy(),this._form.destroy()}_createButton(){const t=this.editor,i=t.t;t.ui.componentFactory.add("imageTextAlternative",(n=>{const o=t.commands.get("imageTextAlternative"),a=new k.ButtonView(n);return a.set({label:i("Change image text alternative"),icon:e.icons.lowVision,tooltip:!0}),a.bind("isEnabled").to(o,"isEnabled"),this.listenTo(a,"execute",(()=>{this._showForm()})),a}))}_createForm(){const e=this.editor,t=e.editing.view.document,i=e.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new E(e.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{e.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((e,t)=>{this._hideForm(!0),t()})),this.listenTo(e.ui,"update",(()=>{i.getClosestSelectedImageWidget(t.selection)?this._isVisible&&function(e){const t=e.plugins.get("ContextualBalloon");if(e.plugins.get("ImageUtils").getClosestSelectedImageWidget(e.editing.view.document.selection)){const i=C(e);t.updatePosition(i)}}(e):this._hideForm(!0)})),(0,k.clickOutsideHandler)({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const e=this.editor,t=e.commands.get("imageTextAlternative"),i=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:C(e)}),i.fieldView.value=i.fieldView.element.value=t.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class T extends e.Plugin{static get requires(){return[b,S]}static get pluginName(){return"ImageTextAlternative"}}function A(e,t){return e=>{e.on(`attribute:srcset:${t}`,i)};function i(t,i,n){if(!n.consumable.consume(i.item,t.name))return;const o=n.writer,a=n.mapper.toViewElement(i.item),s=e.findViewImgElement(a);if(null===i.attributeNewValue){const e=i.attributeOldValue;e.data&&(o.removeAttribute("srcset",s),o.removeAttribute("sizes",s),e.width&&o.removeAttribute("width",s))}else{const e=i.attributeNewValue;e.data&&(o.setAttribute("srcset",e.data,s),o.setAttribute("sizes","100vw",s),e.width&&o.setAttribute("width",e.width,s))}}}function B(e,t,i){return e=>{e.on(`attribute:${i}:${t}`,n)};function n(t,i,n){if(!n.consumable.consume(i.item,t.name))return;const o=n.writer,a=n.mapper.toViewElement(i.item),s=e.findViewImgElement(a);o.setAttribute(i.attributeKey,i.attributeNewValue||"",s)}}class V extends o.Observer{observe(e){this.listenTo(e,"load",((e,t)=>{const i=t.target;this.checkShouldIgnoreEventFromTarget(i)||"IMG"==i.tagName&&this._fireEvents(t)}),{useCapture:!0})}_fireEvents(e){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",e))}}class U extends e.Command{constructor(e){super(e);const t=e.config.get("image.insert.type");e.plugins.has("ImageBlockEditing")||"block"===t&&(0,r.logWarning)("image-block-plugin-required"),e.plugins.has("ImageInlineEditing")||"inline"===t&&(0,r.logWarning)("image-inline-plugin-required")}refresh(){this.isEnabled=this.editor.plugins.get("ImageUtils").isImageAllowed()}execute(e){const t=(0,r.toArray)(e.source),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),o=Object.fromEntries(i.getAttributes());t.forEach(((e,t)=>{const a=i.getSelectedElement();if("string"==typeof e&&(e={src:e}),t&&a&&n.isImage(a)){const t=this.editor.model.createPositionAfter(a);n.insertImage({...e,...o},t)}else n.insertImage({...e,...o})}))}}class z extends e.Plugin{static get requires(){return[m]}static get pluginName(){return"ImageEditing"}init(){const e=this.editor,t=e.conversion;e.editing.view.addObserver(V),t.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:{key:"srcset",value:e=>{const t={data:e.getAttribute("srcset")};return e.hasAttribute("width")&&(t.width=e.getAttribute("width")),t}}});const i=new U(e);e.commands.add("insertImage",i),e.commands.add("imageInsert",i)}}class R extends e.Command{constructor(e,t){super(e),this._modelElementName=t}refresh(){const e=this.editor.plugins.get("ImageUtils"),t=e.getClosestSelectedImageElement(this.editor.model.document.selection);"imageBlock"===this._modelElementName?this.isEnabled=e.isInlineImage(t):this.isEnabled=e.isBlockImage(t)}execute(){const e=this.editor,t=this.editor.model,i=e.plugins.get("ImageUtils"),n=i.getClosestSelectedImageElement(t.document.selection),o=Object.fromEntries(n.getAttributes());return o.src||o.uploadId?t.change((e=>{const a=Array.from(t.markers).filter((e=>e.getRange().containsItem(n))),s=i.insertImage(o,t.createSelection(n,"on"),this._modelElementName);if(!s)return null;const r=e.createRangeOn(s);for(const t of a){const i=t.getRange(),n="$graveyard"!=i.root.rootName?i.getJoined(r,!0):r;e.updateMarker(t,{range:n})}return{oldElement:n,newElement:s}})):null}}class P extends e.Plugin{static get requires(){return[z,m,t.ClipboardPipeline]}static get pluginName(){return"ImageBlockEditing"}init(){const e=this.editor;e.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),e.plugins.has("ImageInlineEditing")&&(e.commands.add("imageTypeBlock",new R(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:t})=>c(t)}),i.for("editingDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:i})=>n.toImageWidget(c(i),i,t("image widget"))}),i.for("downcast").add(B(n,"imageBlock","src")).add(B(n,"imageBlock","alt")).add(A(n,"imageBlock")),i.for("upcast").elementToElement({view:g(e,"imageBlock"),model:(e,{writer:t})=>t.createElement("imageBlock",e.hasAttribute("src")?{src:e.getAttribute("src")}:null)}).add(function(e){return e=>{e.on("element:figure",t)};function t(t,i,n){if(!n.consumable.test(i.viewItem,{name:!0,classes:"image"}))return;const o=e.findViewImgElement(i.viewItem);if(!o||!n.consumable.test(o,{name:!0}))return;n.consumable.consume(i.viewItem,{name:!0,classes:"image"});const a=n.convertItem(o,i.modelCursor),s=(0,r.first)(a.modelRange.getItems());s?(n.convertChildren(i.viewItem,s),n.updateConversionResult(s,i)):n.consumable.revert(i.viewItem,{name:!0,classes:"image"})}}(n))}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils");this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",((a,s)=>{const r=Array.from(s.content.getChildren());let l;if(!r.every(n.isInlineImageView))return;l=s.targetRanges?e.editing.mapper.toModelRange(s.targetRanges[0]):t.document.selection.getFirstRange();const c=t.createSelection(l);if("imageBlock"===d(t.schema,c)){const e=new o.UpcastWriter(i.document),t=r.map((t=>e.createElement("figure",{class:"image"},t)));s.content=e.createDocumentFragment(t)}}))}}var N=i(540),O={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(N.Z,O);N.Z.locals;class F extends e.Plugin{static get requires(){return[P,l.Widget,T]}static get pluginName(){return"ImageBlock"}}class L extends e.Plugin{static get requires(){return[z,m,t.ClipboardPipeline]}static get pluginName(){return"ImageInlineEditing"}init(){const e=this.editor,t=e.model.schema;t.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),t.addChildCheck(((e,t)=>{if(e.endsWith("caption")&&"imageInline"===t.name)return!1})),this._setupConversion(),e.plugins.has("ImageBlockEditing")&&(e.commands.add("imageTypeInline",new R(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToElement({model:"imageInline",view:(e,{writer:t})=>t.createEmptyElement("img")}),i.for("editingDowncast").elementToStructure({model:"imageInline",view:(e,{writer:i})=>n.toImageWidget(function(e){return e.createContainerElement("span",{class:"image-inline"},e.createEmptyElement("img"))}(i),i,t("image widget"))}),i.for("downcast").add(B(n,"imageInline","src")).add(B(n,"imageInline","alt")).add(A(n,"imageInline")),i.for("upcast").elementToElement({view:g(e,"imageInline"),model:(e,{writer:t})=>t.createElement("imageInline",e.hasAttribute("src")?{src:e.getAttribute("src")}:null)})}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils");this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",((a,s)=>{const r=Array.from(s.content.getChildren());let l;if(!r.every(n.isBlockImageView))return;l=s.targetRanges?e.editing.mapper.toModelRange(s.targetRanges[0]):t.document.selection.getFirstRange();const c=t.createSelection(l);if("imageInline"===d(t.schema,c)){const e=new o.UpcastWriter(i.document),t=r.map((t=>1===t.childCount?(Array.from(t.getAttributes()).forEach((i=>e.setAttribute(...i,n.findViewImgElement(t)))),t.getChild(0)):t));s.content=e.createDocumentFragment(t)}}))}}class D extends e.Plugin{static get requires(){return[L,l.Widget,T]}static get pluginName(){return"ImageInline"}}class j extends e.Plugin{static get requires(){return[F,D]}static get pluginName(){return"Image"}}class W extends e.Plugin{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[m]}getCaptionFromImageModelElement(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}getCaptionFromModelSelection(e){const t=this.editor.plugins.get("ImageUtils"),i=e.getFirstPosition().findAncestor("caption");return i&&t.isBlockImage(i.parent)?i:null}matchImageCaptionViewElement(e){const t=this.editor.plugins.get("ImageUtils");return"figcaption"==e.name&&t.isBlockImageView(e.parent)?{name:!0}:null}}class M extends e.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageCaptionUtils");if(!e.plugins.has(P))return this.isEnabled=!1,void(this.value=!1);const i=e.model.document.selection,n=i.getSelectedElement();if(!n){const e=t.getCaptionFromModelSelection(i);return this.isEnabled=!!e,void(this.value=!!e)}this.isEnabled=this.editor.plugins.get("ImageUtils").isImage(n),this.isEnabled?this.value=!!t.getCaptionFromImageModelElement(n):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change((e=>{this.value?this._hideImageCaption(e):this._showImageCaption(e,t)}))}_showImageCaption(e,t){const i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageCaptionEditing");let o=i.getSelectedElement();const a=n._getSavedCaption(o);this.editor.plugins.get("ImageUtils").isInlineImage(o)&&(this.editor.execute("imageTypeBlock"),o=i.getSelectedElement());const s=a||e.createElement("caption");e.append(s,o),t&&e.setSelection(s,"in")}_hideImageCaption(e){const t=this.editor,i=t.model.document.selection,n=t.plugins.get("ImageCaptionEditing"),o=t.plugins.get("ImageCaptionUtils");let a,s=i.getSelectedElement();s?a=o.getCaptionFromImageModelElement(s):(a=o.getCaptionFromModelSelection(i),s=a.parent),n._saveCaption(s,a),e.setSelection(s,"on"),e.remove(a)}}class q extends e.Plugin{static get requires(){return[m,W]}static get pluginName(){return"ImageCaptionEditing"}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"imageBlock"}):t.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleImageCaption",new M(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration()}_setupConversion(){const e=this.editor,t=e.editing.view,i=e.plugins.get("ImageUtils"),n=e.plugins.get("ImageCaptionUtils"),a=e.t;e.conversion.for("upcast").elementToElement({view:e=>n.matchImageCaptionViewElement(e),model:"caption"}),e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(e,{writer:t})=>i.isBlockImage(e.parent)?t.createContainerElement("figcaption"):null}),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:n})=>{if(!i.isBlockImage(e.parent))return null;const s=n.createEditableElement("figcaption");return n.setCustomProperty("imageCaption",!0,s),(0,o.enablePlaceholder)({view:t,element:s,text:a("Enter image caption"),keepOnFocus:!0}),(0,l.toWidgetEditable)(s,n)}})}_setupImageTypeCommandsIntegration(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.plugins.get("ImageCaptionUtils"),n=e.commands.get("imageTypeInline"),o=e.commands.get("imageTypeBlock"),a=e=>{if(!e.return)return;const{oldElement:n,newElement:o}=e.return;if(!n)return;if(t.isBlockImage(n)){const e=i.getCaptionFromImageModelElement(n);if(e)return void this._saveCaption(o,e)}const a=this._getSavedCaption(n);a&&this._saveCaption(o,a)};n&&this.listenTo(n,"execute",a,{priority:"low"}),o&&this.listenTo(o,"execute",a,{priority:"low"})}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?o.Element.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}}class Z extends e.Plugin{static get requires(){return[W]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,i=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),o=t.t;t.ui.componentFactory.add("toggleImageCaption",(a=>{const s=t.commands.get("toggleImageCaption"),r=new k.ButtonView(a);return r.set({icon:e.icons.caption,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(s,"value","isEnabled"),r.bind("label").to(s,"value",(e=>o(e?"Toggle caption off":"Toggle caption on"))),this.listenTo(r,"execute",(()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const e=n.getCaptionFromModelSelection(t.model.document.selection);if(e){const n=t.editing.mapper.toViewElement(e);i.scrollToTheSelection(),i.change((e=>{e.addClass("image__caption_highlighted",n)}))}})),r}))}}var $=i(560),H={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()($.Z,H);$.Z.locals;class K extends e.Plugin{static get requires(){return[q,Z]}static get pluginName(){return"ImageCaption"}}var G=i(448);function J(e){const t=e.map((e=>e.replace("+","\\+")));return new RegExp(`^image\\/(${t.join("|")})$`)}function Q(e){return new Promise(((t,i)=>{const n=e.getAttribute("src");fetch(n).then((e=>e.blob())).then((e=>{const i=X(e,n),o=i.replace("image/",""),a=new File([e],`image.${o}`,{type:i});t(a)})).catch((e=>e&&"TypeError"===e.name?function(e){return function(e){return new Promise(((t,i)=>{const n=r.global.document.createElement("img");n.addEventListener("load",(()=>{const e=r.global.document.createElement("canvas");e.width=n.width,e.height=n.height;e.getContext("2d").drawImage(n,0,0),e.toBlob((e=>e?t(e):i()))})),n.addEventListener("error",(()=>i())),n.src=e}))}(e).then((t=>{const i=X(t,e),n=i.replace("image/","");return new File([t],`image.${n}`,{type:i})}))}(n).then(t).catch(i):i(e)))}))}function X(e,t){return e.type?e.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class Y extends e.Plugin{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,i=t.t,n=n=>{const o=new G.FileDialogButtonView(n),a=t.commands.get("uploadImage"),s=t.config.get("image.upload.types"),r=J(s);return o.set({acceptedType:s.map((e=>`image/${e}`)).join(","),allowMultipleFiles:!0}),o.buttonView.set({label:i("Insert image"),icon:e.icons.image,tooltip:!0}),o.buttonView.bind("isEnabled").to(a),o.on("done",((e,i)=>{const n=Array.from(i).filter((e=>r.test(e.type)));n.length&&t.execute("uploadImage",{file:n})})),o};t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n)}}var ee=i(271),te={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(ee.Z,te);ee.Z.locals;var ie=i(948),ne={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(ie.Z,ne);ie.Z.locals;var oe=i(467),ae={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(oe.Z,ae);oe.Z.locals;class se extends e.Plugin{static get pluginName(){return"ImageUploadProgress"}constructor(e){super(e),this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const e=this.editor;e.plugins.has("ImageBlockEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",((...e)=>this.uploadStatusChange(...e))),e.plugins.has("ImageInlineEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",((...e)=>this.uploadStatusChange(...e)))}uploadStatusChange(e,t,i){const n=this.editor,o=t.item,a=o.getAttribute("uploadId");if(!i.consumable.consume(t.item,e.name))return;const s=n.plugins.get("ImageUtils"),r=n.plugins.get(G.FileRepository),l=a?t.attributeNewValue:null,c=this.placeholder,g=n.editing.mapper.toViewElement(o),d=i.writer;if("reading"==l)return re(g,d),void le(s,c,g,d);if("uploading"==l){const e=r.loaders.get(a);return re(g,d),void(e?(ce(g,d),function(e,t,i,n){const o=function(e){const t=e.createUIElement("div",{class:"ck-progress-bar"});return e.setCustomProperty("progressBar",!0,t),t}(t);t.insert(t.createPositionAt(e,"end"),o),i.on("change:uploadedPercent",((e,t,i)=>{n.change((e=>{e.setStyle("width",i+"%",o)}))}))}(g,d,e,n.editing.view),function(e,t,i,n){if(n.data){const o=e.findViewImgElement(t);i.setAttribute("src",n.data,o)}}(s,g,d,e)):le(s,c,g,d))}"complete"==l&&r.loaders.get(a)&&function(e,t,i){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(e,"end"),n),setTimeout((()=>{i.change((e=>e.remove(e.createRangeOn(n))))}),3e3)}(g,d,n.editing.view),function(e,t){de(e,t,"progressBar")}(g,d),ce(g,d),function(e,t){t.removeClass("ck-appear",e)}(g,d)}}function re(e,t){e.hasClass("ck-appear")||t.addClass("ck-appear",e)}function le(e,t,i,n){i.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",i);const o=e.findViewImgElement(i);o.getAttribute("src")!==t&&n.setAttribute("src",t,o),ge(i,"placeholder")||n.insert(n.createPositionAfter(o),function(e){const t=e.createUIElement("div",{class:"ck-upload-placeholder-loader"});return e.setCustomProperty("placeholder",!0,t),t}(n))}function ce(e,t){e.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",e),de(e,t,"placeholder")}function ge(e,t){for(const i of e.getChildren())if(i.getCustomProperty(t))return i}function de(e,t,i){const n=ge(e,i);n&&t.remove(t.createRangeOn(n))}class me extends e.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.model.document.selection.getSelectedElement();this.isEnabled=t.isImageAllowed()||t.isImage(i)}execute(e){const t=(0,r.toArray)(e.file),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),o=Object.fromEntries(i.getAttributes());t.forEach(((e,t)=>{const a=i.getSelectedElement();if(t&&a&&n.isImage(a)){const t=this.editor.model.createPositionAfter(a);this._uploadImage(e,o,t)}else this._uploadImage(e,o)}))}_uploadImage(e,t,i){const n=this.editor,o=n.plugins.get(G.FileRepository).createLoader(e),a=n.plugins.get("ImageUtils");o&&a.insertImage({...t,uploadId:o.id},i)}}class ue extends e.Plugin{static get requires(){return[G.FileRepository,k.Notification,t.ClipboardPipeline,m]}static get pluginName(){return"ImageUploadEditing"}constructor(e){super(e),e.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const e=this.editor,t=e.model.document,i=e.conversion,n=e.plugins.get(G.FileRepository),a=e.plugins.get("ImageUtils"),s=J(e.config.get("image.upload.types")),r=new me(e);e.commands.add("uploadImage",r),e.commands.add("imageUpload",r),i.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(e.editing.view.document,"clipboardInput",((t,i)=>{if(n=i.dataTransfer,Array.from(n.types).includes("text/html")&&""!==n.getData("text/html"))return;var n;const o=Array.from(i.dataTransfer.files).filter((e=>!!e&&s.test(e.type)));o.length&&(t.stop(),e.model.change((t=>{i.targetRanges&&t.setSelection(i.targetRanges.map((t=>e.editing.mapper.toModelRange(t)))),e.model.enqueueChange((()=>{e.execute("uploadImage",{file:o})}))})))})),this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",((t,i)=>{const s=Array.from(e.editing.view.createRangeIn(i.content)).filter((e=>function(e,t){return!(!e.isInlineImageView(t)||!t.getAttribute("src"))&&(t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||t.getAttribute("src").match(/^blob:/g))}(a,e.item)&&!e.item.getAttribute("uploadProcessed"))).map((e=>({promise:Q(e.item),imageElement:e.item})));if(!s.length)return;const r=new o.UpcastWriter(e.editing.view.document);for(const e of s){r.setAttribute("uploadProcessed",!0,e.imageElement);const t=n.createLoader(e.promise);t&&(r.setAttribute("src","",e.imageElement),r.setAttribute("uploadId",t.id,e.imageElement))}})),e.editing.view.document.on("dragover",((e,t)=>{t.preventDefault()})),t.on("change",(()=>{const i=t.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),o=new Set;for(const t of i)if("insert"==t.type&&"$text"!=t.name){const i=t.position.nodeAfter,a="$graveyard"==t.position.root.rootName;for(const t of pe(e,i)){const e=t.getAttribute("uploadId");if(!e)continue;const i=n.loaders.get(e);i&&(a?o.has(e)||i.abort():(o.add(e),this._uploadImageElements.set(e,t),"idle"==i.status&&this._readAndUpload(i)))}}})),this.on("uploadComplete",((e,{imageElement:t,data:i})=>{const n=i.urls?i.urls:i;this.editor.model.change((e=>{e.setAttribute("src",n.default,t),this._parseAndSetSrcsetAttributeOnImage(n,t,e)}))}),{priority:"low"})}afterInit(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&e.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&e.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(e){const t=this.editor,i=t.model,n=t.locale.t,o=t.plugins.get(G.FileRepository),a=t.plugins.get(k.Notification),s=t.plugins.get("ImageUtils"),l=this._uploadImageElements;return i.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("uploadStatus","reading",l.get(e.id))})),e.read().then((()=>{const n=e.upload(),o=l.get(e.id);if(r.env.isSafari){const e=t.editing.mapper.toViewElement(o),i=s.findViewImgElement(e);t.editing.view.once("render",(()=>{if(!i.parent)return;const e=t.editing.view.domConverter.mapViewToDom(i.parent);if(!e)return;const n=e.style.display;e.style.display="none",e._ckHack=e.offsetHeight,e.style.display=n}))}return i.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","uploading",o)})),n})).then((t=>{i.enqueueChange({isUndoable:!1},(i=>{const n=l.get(e.id);i.setAttribute("uploadStatus","complete",n),this.fire("uploadComplete",{data:t,imageElement:n})})),c()})).catch((t=>{if("error"!==e.status&&"aborted"!==e.status)throw t;"error"==e.status&&t&&a.showWarning(t,{title:n("Upload failed"),namespace:"upload"}),i.enqueueChange({isUndoable:!1},(t=>{t.remove(l.get(e.id))})),c()}));function c(){i.enqueueChange({isUndoable:!1},(t=>{const i=l.get(e.id);t.removeAttribute("uploadId",i),t.removeAttribute("uploadStatus",i),l.delete(e.id)})),o.destroyLoader(e)}}_parseAndSetSrcsetAttributeOnImage(e,t,i){let n=0;const o=Object.keys(e).filter((e=>{const t=parseInt(e,10);if(!isNaN(t))return n=Math.max(n,t),!0})).map((t=>`${e[t]} ${t}w`)).join(", ");""!=o&&i.setAttribute("srcset",{data:o,width:n},t)}}function pe(e,t){const i=e.plugins.get("ImageUtils");return Array.from(e.model.createRangeOn(t)).filter((e=>i.isImage(e.item))).map((e=>e.item))}class he extends e.Plugin{static get pluginName(){return"ImageUpload"}static get requires(){return[ue,Y,se]}}var fe=i(439),be={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(fe.Z,be);fe.Z.locals;class ke extends k.View{constructor(e,t={}){super(e);const i=this.bindTemplate;this.set("class",t.class||null),this.children=this.createCollection(),t.children&&t.children.forEach((e=>this.children.add(e))),this.set("_role",null),this.set("_ariaLabelledBy",null),t.labelView&&this.set({_role:"group",_ariaLabelledBy:t.labelView.id}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__row",i.to("class")],role:i.to("_role"),"aria-labelledby":i.to("_ariaLabelledBy")},children:this.children})}}var we=i(91),Ie={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(we.Z,Ie);we.Z.locals;class ve extends k.View{constructor(e,t){super(e);const{insertButtonView:i,cancelButtonView:n}=this._createActionButtons(e);if(this.insertButtonView=i,this.cancelButtonView=n,this.dropdownView=this._createDropdownView(e),this.set("imageURLInputValue",""),this.focusTracker=new r.FocusTracker,this.keystrokes=new r.KeystrokeHandler,this._focusables=new k.ViewCollection,this._focusCycler=new k.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.set("_integrations",new r.Collection),t)for(const[e,i]of Object.entries(t))"insertImageViaUrl"===e&&(i.fieldView.bind("value").to(this,"imageURLInputValue",(e=>e||"")),i.fieldView.on("input",(()=>{this.imageURLInputValue=i.fieldView.element.value.trim()}))),i.name=e,this._integrations.add(i);this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:"-1"},children:[...this._integrations,new ke(e,{children:[this.insertButtonView,this.cancelButtonView],class:"ck-image-insert-form__action-row"})]})}render(){super.render(),(0,k.submitHandler)({view:this});const e=[...this._integrations,this.insertButtonView,this.cancelButtonView];e.forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element);const t=e=>e.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t),this.listenTo(e[0].element,"selectstart",((e,t)=>{t.stopPropagation()}),{priority:"high"})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}getIntegration(e){return this._integrations.find((t=>t.name===e))}_createDropdownView(t){const i=t.t,n=(0,k.createDropdown)(t,k.SplitButtonView),o=n.buttonView,a=n.panelView;return o.set({label:i("Insert image"),icon:e.icons.image,tooltip:!0}),a.extendTemplate({attributes:{class:"ck-image-insert__panel"}}),n}_createActionButtons(t){const i=t.t,n=new k.ButtonView(t),o=new k.ButtonView(t);return n.set({label:i("Insert"),icon:e.icons.check,class:"ck-button-save",type:"submit",withText:!0,isEnabled:this.imageURLInputValue}),o.set({label:i("Cancel"),icon:e.icons.cancel,class:"ck-button-cancel",withText:!0}),n.bind("isEnabled").to(this,"imageURLInputValue",(e=>!!e)),n.delegate("execute").to(this,"submit"),o.delegate("execute").to(this,"cancel"),{insertButtonView:n,cancelButtonView:o}}focus(){this._focusCycler.focusFirst()}}function ye(e){const t=e.t,i=new k.LabeledFieldView(e,k.createLabeledInputText);return i.set({label:t("Insert image via URL")}),i.fieldView.placeholder="https://example.com/image.png",i}class _e extends e.Plugin{static get pluginName(){return"ImageInsertUI"}init(){const e=this.editor,t=e=>this._createDropdownView(e);e.ui.componentFactory.add("insertImage",t),e.ui.componentFactory.add("imageInsert",t)}_createDropdownView(e){const t=this.editor,i=new ve(e,function(e){const t=e.config.get("image.insert.integrations"),i=e.plugins.get("ImageInsertUI"),n={insertImageViaUrl:ye(e.locale)};if(!t)return n;if(t.find((e=>"openCKFinder"===e))&&e.ui.componentFactory.has("ckfinder")){const t=e.ui.componentFactory.create("ckfinder");t.set({withText:!0,class:"ck-image-insert__ck-finder-button"}),t.delegate("execute").to(i,"cancel"),n.openCKFinder=t}return t.reduce(((t,i)=>(n[i]?t[i]=n[i]:e.ui.componentFactory.has(i)&&(t[i]=e.ui.componentFactory.create(i)),t)),{})}(t)),n=t.commands.get("uploadImage"),o=i.dropdownView,a=o.buttonView;return a.actionView=t.ui.componentFactory.create("uploadImage"),a.actionView.extendTemplate({attributes:{class:"ck ck-button ck-splitbutton__action"}}),this._setUpDropdown(o,i,n)}_setUpDropdown(e,t,i){const n=this.editor,o=n.t,a=t.insertButtonView,s=t.getIntegration("insertImageViaUrl"),r=e.panelView,l=this.editor.plugins.get("ImageUtils");function c(){n.editing.view.focus(),e.isOpen=!1}return e.bind("isEnabled").to(i),e.buttonView.once("open",(()=>{r.children.add(t)})),e.on("change:isOpen",(()=>{const i=n.model.document.selection.getSelectedElement();e.isOpen&&(t.focus(),l.isImage(i)?(t.imageURLInputValue=i.getAttribute("src"),a.label=o("Update"),s.label=o("Update image URL")):(t.imageURLInputValue="",a.label=o("Insert"),s.label=o("Insert image via URL")))}),{priority:"low"}),t.delegate("submit","cancel").to(e),this.delegate("cancel").to(e),e.on("submit",(()=>{c(),function(){const e=n.model.document.selection.getSelectedElement();l.isImage(e)?n.model.change((i=>{i.setAttribute("src",t.imageURLInputValue,e),i.removeAttribute("srcset",e),i.removeAttribute("sizes",e)})):n.execute("insertImage",{source:t.imageURLInputValue})}()})),e.on("cancel",(()=>{c()})),e}}class xe extends e.Plugin{static get pluginName(){return"ImageInsert"}static get requires(){return[he,_e]}}class Ee extends e.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageUtils").getClosestSelectedImageElement(e.model.document.selection);this.isEnabled=!!t,t&&t.hasAttribute("width")?this.value={width:t.getAttribute("width"),height:null}:this.value=null}execute(e){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(i.document.selection);this.value={width:e.width,height:null},n&&i.change((t=>{t.setAttribute("width",e.width,n)}))}}class Ce extends e.Plugin{static get requires(){return[m]}static get pluginName(){return"ImageResizeEditing"}constructor(e){super(e),e.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const e=this.editor,t=new Ee(e);this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline"),e.commands.add("resizeImage",t),e.commands.add("imageResize",t)}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:"width"}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:"width"})}_registerConverters(e){const t=this.editor;t.conversion.for("downcast").add((t=>t.on(`attribute:width:${e}`,((e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=i.writer,o=i.mapper.toViewElement(t.item);null!==t.attributeNewValue?(n.setStyle("width",t.attributeNewValue,o),n.addClass("image_resized",o)):(n.removeStyle("width",o),n.removeClass("image_resized",o))})))),t.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===e?"figure":"img",styles:{width:/.+/}},model:{key:"width",value:e=>e.getStyle("width")}})}}const Se={small:e.icons.objectSizeSmall,medium:e.icons.objectSizeMedium,large:e.icons.objectSizeLarge,original:e.icons.objectSizeFull};class Te extends e.Plugin{static get requires(){return[Ce]}static get pluginName(){return"ImageResizeButtons"}constructor(e){super(e),this._resizeUnit=e.config.get("image.resizeUnit")}init(){const e=this.editor,t=e.config.get("image.resizeOptions"),i=e.commands.get("resizeImage");this.bind("isEnabled").to(i);for(const e of t)this._registerImageResizeButton(e);this._registerImageResizeDropdown(t)}_registerImageResizeButton(e){const t=this.editor,{name:i,value:n,icon:o}=e,a=n?n+this._resizeUnit:null;t.ui.componentFactory.add(i,(i=>{const n=new k.ButtonView(i),s=t.commands.get("resizeImage"),l=this._getOptionLabelValue(e,!0);if(!Se[o])throw new r.CKEditorError("imageresizebuttons-missing-icon",t,e);return n.set({label:l,icon:Se[o],tooltip:l,isToggleable:!0}),n.bind("isEnabled").to(this),n.bind("isOn").to(s,"value",Ae(a)),this.listenTo(n,"execute",(()=>{t.execute("resizeImage",{width:a})})),n}))}_registerImageResizeDropdown(e){const t=this.editor,i=t.t,n=e.find((e=>!e.value)),o=o=>{const a=t.commands.get("resizeImage"),s=(0,k.createDropdown)(o,k.DropdownButtonView),r=s.buttonView;return r.set({tooltip:i("Resize image"),commandValue:n.value,icon:Se.medium,isToggleable:!0,label:this._getOptionLabelValue(n),withText:!0,class:"ck-resize-image-button"}),r.bind("label").to(a,"value",(e=>e&&e.width?e.width:this._getOptionLabelValue(n))),s.bind("isOn").to(a),s.bind("isEnabled").to(this),(0,k.addListToDropdown)(s,this._getResizeDropdownListItemDefinitions(e,a)),s.listView.ariaLabel=i("Image resize list"),this.listenTo(s,"execute",(e=>{t.execute(e.source.commandName,{width:e.source.commandValue}),t.editing.view.focus()})),s};t.ui.componentFactory.add("resizeImage",o),t.ui.componentFactory.add("imageResize",o)}_getOptionLabelValue(e,t){const i=this.editor.t;return e.label?e.label:t?e.value?i("Resize image to %0",e.value+this._resizeUnit):i("Resize image to the original size"):e.value?e.value+this._resizeUnit:i("Original")}_getResizeDropdownListItemDefinitions(e,t){const i=new r.Collection;return e.map((e=>{const n=e.value?e.value+this._resizeUnit:null,o={type:"button",model:new k.Model({commandName:"resizeImage",commandValue:n,label:this._getOptionLabelValue(e),withText:!0,icon:null})};o.model.bind("isOn").to(t,"value",Ae(n)),i.add(o)})),i}}function Ae(e){return t=>null===e&&t===e||t&&t.width===e}const Be=/(image|image-inline)/,Ve="image_resized";class Ue extends e.Plugin{static get requires(){return[l.WidgetResize]}static get pluginName(){return"ImageResizeHandles"}init(){const e=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(e),this._setupResizerCreator()}_setupResizerCreator(){const e=this.editor,t=e.editing.view;t.addObserver(V),this.listenTo(t.document,"imageLoaded",((i,n)=>{if(!n.target.matches("figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img"))return;const o=e.editing.view.domConverter,a=o.domToView(n.target).findAncestor({classes:Be});let s=this.editor.plugins.get(l.WidgetResize).getResizerByViewElement(a);if(s)return void s.redraw();const r=e.editing.mapper,c=r.toModelElement(a);s=e.plugins.get(l.WidgetResize).attachTo({unit:e.config.get("image.resizeUnit"),modelElement:c,viewElement:a,editor:e,getHandleHost:e=>e.querySelector("img"),getResizeHost:()=>o.viewToDom(r.toViewElement(c.parent)),isCentered(){const e=c.getAttribute("imageStyle");return!e||"block"==e||"alignCenter"==e},onCommit(i){t.change((e=>{e.removeClass(Ve,a)})),e.execute("resizeImage",{width:i})}}),s.on("updateSize",(()=>{a.hasClass(Ve)||t.change((e=>{e.addClass(Ve,a)}))})),s.bind("isEnabled").to(this)}))}}var ze=i(601),Re={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(ze.Z,Re);ze.Z.locals;class Pe extends e.Plugin{static get requires(){return[Ce,Ue,Te]}static get pluginName(){return"ImageResize"}}class Ne extends e.Command{constructor(e,t){super(e),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(t.map((e=>{if(e.isDefault)for(const t of e.modelElements)this._defaultStyles[t]=e.name;return[e.name,e]})))}refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled?e.hasAttribute("imageStyle")?this.value=e.getAttribute("imageStyle"):this.value=this._defaultStyles[e.name]:this.value=!1}execute(e={}){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils");i.change((t=>{const o=e.value;let a=n.getClosestSelectedImageElement(i.document.selection);o&&this.shouldConvertImageType(o,a)&&(this.editor.execute(n.isBlockImage(a)?"imageTypeInline":"imageTypeBlock"),a=n.getClosestSelectedImageElement(i.document.selection)),!o||this._styles.get(o).isDefault?t.removeAttribute("imageStyle",a):t.setAttribute("imageStyle",o,a)}))}shouldConvertImageType(e,t){return!this._styles.get(e).modelElements.includes(t.name)}}const{objectFullWidth:Oe,objectInline:Fe,objectLeft:Le,objectRight:De,objectCenter:je,objectBlockLeft:We,objectBlockRight:Me}=e.icons,qe={get inline(){return{name:"inline",title:"In line",icon:Fe,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:Le,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:We,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:je,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:De,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:Me,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:je,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:De,modelElements:["imageBlock"],className:"image-style-side"}}},Ze={full:Oe,left:We,right:Me,center:je,inlineLeft:Le,inlineRight:De,inline:Fe},$e=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function He(e){(0,r.logWarning)("image-style-configuration-definition-invalid",e)}const Ke={normalizeStyles:function(e){return(e.configuredStyles.options||[]).map((e=>function(e){e="string"==typeof e?qe[e]?{...qe[e]}:{name:e}:function(e,t){const i={...t};for(const n in e)Object.prototype.hasOwnProperty.call(t,n)||(i[n]=e[n]);return i}(qe[e.name],e);"string"==typeof e.icon&&(e.icon=Ze[e.icon]||e.icon);return e}(e))).filter((t=>function(e,{isBlockPluginLoaded:t,isInlinePluginLoaded:i}){const{modelElements:n,name:o}=e;if(!(n&&n.length&&o))return He({style:e}),!1;{const o=[t?"imageBlock":null,i?"imageInline":null];if(!n.some((e=>o.includes(e))))return(0,r.logWarning)("image-style-missing-dependency",{style:e,missingPlugins:n.map((e=>"imageBlock"===e?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(t,e)))},getDefaultStylesConfiguration:function(e,t){return e&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:e?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(e){return e.has("ImageBlockEditing")&&e.has("ImageInlineEditing")?[...$e]:[]},warnInvalidStyle:He,DEFAULT_OPTIONS:qe,DEFAULT_ICONS:Ze,DEFAULT_DROPDOWN_DEFINITIONS:$e};function Ge(e,t){for(const i of t)if(i.name===e)return i}class Je extends e.Plugin{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[m]}init(){const{normalizeStyles:e,getDefaultStylesConfiguration:t}=Ke,i=this.editor,n=i.plugins.has("ImageBlockEditing"),o=i.plugins.has("ImageInlineEditing");i.config.define("image.styles",t(n,o)),this.normalizedStyles=e({configuredStyles:i.config.get("image.styles"),isBlockPluginLoaded:n,isInlinePluginLoaded:o}),this._setupConversion(n,o),this._setupPostFixer(),i.commands.add("imageStyle",new Ne(i,this.normalizedStyles))}_setupConversion(e,t){const i=this.editor,n=i.model.schema,o=(a=this.normalizedStyles,(e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=Ge(t.attributeNewValue,a),o=Ge(t.attributeOldValue,a),s=i.mapper.toViewElement(t.item),r=i.writer;o&&r.removeClass(o.className,s),n&&r.addClass(n.className,s)});var a;const s=function(e){const t={imageInline:e.filter((e=>!e.isDefault&&e.modelElements.includes("imageInline"))),imageBlock:e.filter((e=>!e.isDefault&&e.modelElements.includes("imageBlock")))};return(e,i,n)=>{if(!i.modelRange)return;const o=i.viewItem,a=(0,r.first)(i.modelRange.getItems());if(a&&n.schema.checkAttribute(a,"imageStyle"))for(const e of t[a.name])n.consumable.consume(o,{classes:e.className})&&n.writer.setAttribute("imageStyle",e.name,a)}}(this.normalizedStyles);i.editing.downcastDispatcher.on("attribute:imageStyle",o),i.data.downcastDispatcher.on("attribute:imageStyle",o),e&&(n.extend("imageBlock",{allowAttributes:"imageStyle"}),i.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),t&&(n.extend("imageInline",{allowAttributes:"imageStyle"}),i.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const e=this.editor,t=e.model.document,i=e.plugins.get(m),n=new Map(this.normalizedStyles.map((e=>[e.name,e])));t.registerPostFixer((e=>{let o=!1;for(const a of t.differ.getChanges())if("insert"==a.type||"attribute"==a.type&&"imageStyle"==a.attributeKey){let t="insert"==a.type?a.position.nodeAfter:a.range.start.nodeAfter;if(t&&t.is("element","paragraph")&&t.childCount>0&&(t=t.getChild(0)),!i.isImage(t))continue;const s=t.getAttribute("imageStyle");if(!s)continue;const r=n.get(s);r&&r.modelElements.includes(t.name)||(e.removeAttribute("imageStyle",t),o=!0)}return o}))}}const Qe=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const Xe=function(e){return e};var Ye=i(29),et={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(Ye.Z,et);Ye.Z.locals;class tt extends e.Plugin{static get requires(){return[Je]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const e=this.editor.t;return{"Wrap text":e("Wrap text"),"Break text":e("Break text"),"In line":e("In line"),"Full size image":e("Full size image"),"Side image":e("Side image"),"Left aligned image":e("Left aligned image"),"Centered image":e("Centered image"),"Right aligned image":e("Right aligned image")}}init(){const e=this.editor.plugins,t=this.editor.config.get("image.toolbar")||[],i=it(e.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const e of i)this._createButton(e);const n=it([...t.filter(Qe),...Ke.getDefaultDropdownDefinitions(e)],this.localizedDefaultStylesTitles);for(const e of n)this._createDropdown(e,i)}_createDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,(n=>{let o;const{defaultItem:a,items:s,title:r}=e,l=s.filter((e=>t.find((({name:t})=>nt(t)===e)))).map((e=>{const t=i.create(e);return e===a&&(o=t),t}));s.length!==l.length&&Ke.warnInvalidStyle({dropdown:e});const c=(0,k.createDropdown)(n,k.SplitButtonView),g=c.buttonView;return(0,k.addToolbarToDropdown)(c,l),g.set({label:ot(r,o.label),class:null,tooltip:!0}),g.bind("icon").toMany(l,"isOn",((...e)=>{const t=e.findIndex(Xe);return t<0?o.icon:l[t].icon})),g.bind("label").toMany(l,"isOn",((...e)=>{const t=e.findIndex(Xe);return ot(r,t<0?o.label:l[t].label)})),g.bind("isOn").toMany(l,"isOn",((...e)=>e.some(Xe))),g.bind("class").toMany(l,"isOn",((...e)=>e.some(Xe)?"ck-splitbutton_flatten":null)),g.on("execute",(()=>{l.some((({isOn:e})=>e))?c.isOpen=!c.isOpen:o.fire("execute")})),c.bind("isEnabled").toMany(l,"isEnabled",((...e)=>e.some(Xe))),c}))}_createButton(e){const t=e.name;this.editor.ui.componentFactory.add(nt(t),(i=>{const n=this.editor.commands.get("imageStyle"),o=new k.ButtonView(i);return o.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),o.bind("isEnabled").to(n,"isEnabled"),o.bind("isOn").to(n,"value",(e=>e===t)),o.on("execute",this._executeCommand.bind(this,t)),o}))}_executeCommand(e){this.editor.execute("imageStyle",{value:e}),this.editor.editing.view.focus()}}function it(e,t){for(const i of e)t[i.title]&&(i.title=t[i.title]);return e}function nt(e){return`imageStyle:${e}`}function ot(e,t){return(e?e+": ":"")+t}class at extends e.Plugin{static get requires(){return[Je,tt]}static get pluginName(){return"ImageStyle"}}class st extends e.Plugin{static get requires(){return[l.WidgetToolbarRepository,m]}static get pluginName(){return"ImageToolbar"}afterInit(){const e=this.editor,t=e.t,i=e.plugins.get(l.WidgetToolbarRepository),n=e.plugins.get("ImageUtils");var o;i.register("image",{ariaLabel:t("Image toolbar"),items:(o=e.config.get("image.toolbar")||[],o.map((e=>Qe(e)?e.name:e))),getRelatedElement:e=>n.getClosestSelectedImageWidget(e)})}}})(),(window.CKEditor5=window.CKEditor5||{}).image=n})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/bs.js b/web/core/assets/vendor/ckeditor5/image/translations/bs.js
new file mode 100644
index 0000000000..71260c4d19
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/image/translations/bs.js
@@ -0,0 +1 @@
+!function(i){const e=i.bs=i.bs||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"","Centered image":"Centrirana slika","Change image text alternative":"Promijeni ALT atribut za sliku","Enter image caption":"Unesi naziv slike","Full size image":"","Image resize list":"Lista veličina slike","Image toolbar":"","image widget":"","In line":"",Insert:"Umetni","Insert image":"Umetni sliku","Insert image via URL":"Umetni sliku preko URLa","Left aligned image":"Lijevo poravnata slika",Original:"Original","Resize image":"Promijeni veličinu slike","Resize image to %0":"","Resize image to the original size":"Postavi originalnu veličinu slike","Right aligned image":"Desno poravnata slika","Side image":"","Text alternative":"ALT atribut",Update:"Ažuriraj","Update image URL":"Ažuriraj URL slike","Upload failed":"Učitavanje slike nije uspjelo","Wrap text":"Prelomi tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/cs.js b/web/core/assets/vendor/ckeditor5/image/translations/cs.js
index 8cc8f9de86..cb73d34720 100644
--- a/web/core/assets/vendor/ckeditor5/image/translations/cs.js
+++ b/web/core/assets/vendor/ckeditor5/image/translations/cs.js
@@ -1 +1 @@
-!function(e){const i=e.cs=e.cs||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Obrázek zarovnaný na střed","Change image text alternative":"Změnit alternativní text obrázku","Enter image caption":"Zadejte popis obrázku","Full size image":"Obrázek v plné velikosti","Image resize list":"Seznam možností změny velikosti","Image toolbar":"Panel nástrojů obrázku","image widget":"ovládací prvek obrázku","In line":"",Insert:"Vložit","Insert image":"Vložit obrázek","Insert image via URL":"Vložit obrázek pomocí URL","Left aligned image":"Obrázek zarovnaný vlevo",Original:"Originální","Resize image":"Změnit velikost","Resize image to %0":"Změnit velikost na %0","Resize image to the original size":"Změnit velikost na původní velikost","Right aligned image":"Obrázek zarovnaný vpravo","Side image":"Postranní obrázek","Text alternative":"Alternativní text",Update:"Aktualizovat","Update image URL":"Aktualizovat URL obrázku","Upload failed":"Nahrání selhalo","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.cs=e.cs||{};t.dictionary=Object.assign(t.dictionary||{},{"Break text":"Obtékání textu","Centered image":"Obrázek zarovnaný na střed","Change image text alternative":"Změnit alternativní text obrázku","Enter image caption":"Zadejte popis obrázku","Full size image":"Obrázek v plné velikosti","Image resize list":"Seznam možností změny velikosti","Image toolbar":"Panel nástrojů obrázku","image widget":"ovládací prvek obrázku","In line":"Rovnoběžně s textem",Insert:"Vložit","Insert image":"Vložit obrázek","Insert image via URL":"Vložit obrázek pomocí URL","Left aligned image":"Obrázek zarovnaný vlevo",Original:"Originální","Resize image":"Změnit velikost","Resize image to %0":"Změnit velikost na %0","Resize image to the original size":"Změnit velikost na původní velikost","Right aligned image":"Obrázek zarovnaný vpravo","Side image":"Postranní obrázek","Text alternative":"Alternativní text",Update:"Aktualizovat","Update image URL":"Aktualizovat URL obrázku","Upload failed":"Nahrání selhalo","Wrap text":"Text nahoře a dole"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/el.js b/web/core/assets/vendor/ckeditor5/image/translations/el.js
index 1323cb24c6..801f8b9d34 100644
--- a/web/core/assets/vendor/ckeditor5/image/translations/el.js
+++ b/web/core/assets/vendor/ckeditor5/image/translations/el.js
@@ -1 +1 @@
-!function(e){const i=e.el=e.el||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"","Change image text alternative":"Αλλαγή εναλλακτικού κείμενου","Enter image caption":"Λεζάντα","Full size image":"Εικόνα πλήρης μεγέθους","Image resize list":"","Image toolbar":"","image widget":"","In line":"",Insert:"","Insert image":"Εισαγωγή εικόνας","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"","Text alternative":"Εναλλακτικό κείμενο",Update:"","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const i=e.el=e.el||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Κατάτμηση κειμένου","Centered image":"Εικόνα με στοίχιση στο κέντρο","Change image text alternative":"Αλλαγή εναλλακτικού κείμενου εικόνας","Enter image caption":"Εισαγωγή λεζάντας εικόνας","Full size image":"Εικόνα σε πλήρες μέγεθος","Image resize list":"Λίστα μεγεθών εικόνων","Image toolbar":"Γραμμή εργαλείων εικόνας","image widget":"Γραφικό στοιχείο εικόνας","In line":"Εντός γραμμής",Insert:"Εισαγωγή","Insert image":"Εισαγωγή εικόνας","Insert image via URL":"Εισαγωγή εικόνας μέσω διεύθυνσης","Left aligned image":"Εικόνα με αριστερή στοίχιση",Original:"Αρχικό","Resize image":"Αλλαγή μεγέθους εικόνας","Resize image to %0":"Αλλαγή μεγέθους σε %0","Resize image to the original size":"Αλλαγή μεγέθους εικόνας στο αρχικό μέγεθος","Right aligned image":"Εικόνα με δεξιά στοίχιση","Side image":"Πλευρική εικόνα","Text alternative":"Εναλλακτικό κείμενο",Update:"Ενημέρωση","Update image URL":"Ενημέρωση διεύθυνσης εικόνας","Upload failed":"Η αποστολή απέτυχε","Wrap text":"Αναδίπλωση κειμένου"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/en-au.js b/web/core/assets/vendor/ckeditor5/image/translations/en-au.js
index 11990abc53..d23c0982b1 100644
--- a/web/core/assets/vendor/ckeditor5/image/translations/en-au.js
+++ b/web/core/assets/vendor/ckeditor5/image/translations/en-au.js
@@ -1 +1 @@
-!function(e){const i=e["en-au"]=e["en-au"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Centred image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"",Insert:"Insert","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Left aligned image":"Left aligned image",Original:"Original","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const i=e["en-au"]=e["en-au"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Break text","Centered image":"Centred image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"In line",Insert:"Insert","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Left aligned image":"Left aligned image",Original:"Original","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Wrap text":"Wrap text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/es.js b/web/core/assets/vendor/ckeditor5/image/translations/es.js
index 4672c387c4..287e1f86df 100644
--- a/web/core/assets/vendor/ckeditor5/image/translations/es.js
+++ b/web/core/assets/vendor/ckeditor5/image/translations/es.js
@@ -1 +1 @@
-!function(e){const a=e.es=e.es||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Centered image":"Imagen centrada","Change image text alternative":"Cambiar el texto alternativo de la imagen","Enter image caption":"Introducir título de la imagen","Full size image":"Imagen a tamaño completo","Image resize list":"","Image toolbar":"Barra de herramientas de imagen","image widget":"Widget de imagen","In line":"",Insert:"","Insert image":"Insertar imagen","Insert image via URL":"","Left aligned image":"Imagen alineada a la izquierda",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Imagen alineada a la derecha","Side image":"Imagen lateral","Text alternative":"Texto alternativo",Update:"","Update image URL":"","Upload failed":"Fallo en la subida","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(a){const e=a.es=a.es||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Permitir quebrar texto","Centered image":"Imagen centrada","Change image text alternative":"Cambiar el texto alternativo de la imagen","Enter image caption":"Introducir título de la imagen","Full size image":"Imagen a tamaño completo","Image resize list":"Listado para redimensionar imagen","Image toolbar":"Barra de herramientas de imagen","image widget":"Widget de imagen","In line":"En línea",Insert:"Insertar","Insert image":"Insertar imagen","Insert image via URL":"Insertar imagen vía URL","Left aligned image":"Imagen alineada a la izquierda",Original:"Original","Resize image":"Redimensionar imagen","Resize image to %0":"Redimensionar imagen al %0","Resize image to the original size":"Redimensionar imagen al tamaño original","Right aligned image":"Imagen alineada a la derecha","Side image":"Imagen lateral","Text alternative":"Texto alternativo",Update:"Actualizar","Update image URL":"Actualizar imagen vía URL","Upload failed":"Fallo en la subida","Wrap text":"Mantener texto unido"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/hr.js b/web/core/assets/vendor/ckeditor5/image/translations/hr.js
index e4ee04f1d5..fdb9376667 100644
--- a/web/core/assets/vendor/ckeditor5/image/translations/hr.js
+++ b/web/core/assets/vendor/ckeditor5/image/translations/hr.js
@@ -1 +1 @@
-!function(e){const i=e.hr=e.hr||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Centrirana slika","Change image text alternative":"Promijeni alternativni tekst slike","Enter image caption":"Unesite naslov slike","Full size image":"Slika pune veličine","Image resize list":"","Image toolbar":"Traka za slike","image widget":"Slika widget","In line":"",Insert:"","Insert image":"Umetni sliku","Insert image via URL":"","Left aligned image":"Lijevo poravnata slika",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Slika poravnata desno","Side image":"Slika sa strane","Text alternative":"Alternativni tekst",Update:"","Update image URL":"","Upload failed":"Slanje nije uspjelo","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(i){const e=i.hr=i.hr||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Prelomi tekst","Centered image":"Centrirana slika","Change image text alternative":"Promijeni alternativni tekst slike","Enter image caption":"Unesite naslov slike","Full size image":"Slika pune veličine","Image resize list":"Lista veličina slika","Image toolbar":"Traka za slike","image widget":"Slika widget","In line":"U istom redu",Insert:"Ubaci","Insert image":"Umetni sliku","Insert image via URL":"Ubaci sliku putem URLa","Left aligned image":"Lijevo poravnata slika",Original:"Original","Resize image":"Promijeni veličinu slike","Resize image to %0":"Promijeni veličinu slike u %0","Resize image to the original size":"Vrati veličinu slike na originalnu veličinu","Right aligned image":"Slika poravnata desno","Side image":"Slika sa strane","Text alternative":"Alternativni tekst",Update:"Snimi","Update image URL":"Snimi URL slike","Upload failed":"Slanje nije uspjelo","Wrap text":"Prelamanje teksta"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/id.js b/web/core/assets/vendor/ckeditor5/image/translations/id.js
index e2333740ce..18c11858f5 100644
--- a/web/core/assets/vendor/ckeditor5/image/translations/id.js
+++ b/web/core/assets/vendor/ckeditor5/image/translations/id.js
@@ -1 +1 @@
-!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"","Centered image":"Gambar rata tengah","Change image text alternative":"Ganti alternatif teks gambar","Enter image caption":"Tambahkan deskripsi gambar","Full size image":"Gambar ukuran penuh","Image resize list":"Daftar ukuran gambar","Image toolbar":"Alat gambar","image widget":"widget gambar","In line":"",Insert:"Sisipkan","Insert image":"Sisipkan gambar","Insert image via URL":"Sisipkan gambar melalui URL","Left aligned image":"Gambar rata kiri",Original:"Asli","Resize image":"Ubah ukuran gambar","Resize image to %0":"Ubah ukuran gambar ke %0","Resize image to the original size":"Ubah ukuran gambar ke ukuran asli","Right aligned image":"Gambar rata kanan","Side image":"Gambar sisi","Text alternative":"Alternatif teks",Update:"Perbarui","Update image URL":"Perbarui URL gambar","Upload failed":"Gagal mengunggah","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Pecahkan teks","Centered image":"Gambar rata tengah","Change image text alternative":"Ganti alternatif teks gambar","Enter image caption":"Tambahkan deskripsi gambar","Full size image":"Gambar ukuran penuh","Image resize list":"Daftar ukuran gambar","Image toolbar":"Alat gambar","image widget":"widget gambar","In line":"Sebaris",Insert:"Sisipkan","Insert image":"Sisipkan gambar","Insert image via URL":"Sisipkan gambar melalui URL","Left aligned image":"Gambar rata kiri",Original:"Asli","Resize image":"Ubah ukuran gambar","Resize image to %0":"Ubah ukuran gambar ke %0","Resize image to the original size":"Ubah ukuran gambar ke ukuran asli","Right aligned image":"Gambar rata kanan","Side image":"Gambar sisi","Text alternative":"Alternatif teks",Update:"Perbarui","Update image URL":"Perbarui URL gambar","Upload failed":"Gagal mengunggah","Wrap text":"Bungkus teks"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/jv.js b/web/core/assets/vendor/ckeditor5/image/translations/jv.js
new file mode 100644
index 0000000000..f2816c6f7a
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/image/translations/jv.js
@@ -0,0 +1 @@
+!function(a){const e=a.jv=a.jv||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"","Centered image":"Gambar ing tengah","Change image text alternative":"","Enter image caption":"","Full size image":"Gambar ukuran kebak","Image resize list":"","Image toolbar":"","image widget":"","In line":"",Insert:"Tambah","Insert image":"Tambahaken gambar","Insert image via URL":"Tambah gambar saking URL","Left aligned image":"Gambar ing kiwa",Original:"Asli","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Gambar ing tengen","Side image":"","Text alternative":"",Update:"","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/pt-br.js b/web/core/assets/vendor/ckeditor5/image/translations/pt-br.js
index ff5a7ece0a..c7944f1094 100644
--- a/web/core/assets/vendor/ckeditor5/image/translations/pt-br.js
+++ b/web/core/assets/vendor/ckeditor5/image/translations/pt-br.js
@@ -1 +1 @@
-!function(e){const a=e["pt-br"]=e["pt-br"]||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Centered image":"Imagem centralizada","Change image text alternative":"Alterar texto alternativo da imagem","Enter image caption":"Inserir legenda da imagem","Full size image":"Imagem completa","Image resize list":"Lista de redimensionamento de imagem","Image toolbar":"Ferramentas de Imagem","image widget":"Ferramenta de imagem","In line":"",Insert:"Inserir","Insert image":"Inserir imagem","Insert image via URL":"Inserir imagem via URL","Left aligned image":"Imagem alinhada à esquerda",Original:"Original","Resize image":"Redimensionar imagem","Resize image to %0":"Redimensionar a imagem para 0%","Resize image to the original size":"Redimensionar a imagem para o tamanho original","Right aligned image":"Imagem alinhada à direita","Side image":"Imagem lateral","Text alternative":"Texto alternativo",Update:"Atualizar","Update image URL":"","Upload failed":"Falha ao subir arquivo","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(a){const e=a["pt-br"]=a["pt-br"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Quebrar texto","Centered image":"Imagem centralizada","Change image text alternative":"Alterar texto alternativo da imagem","Enter image caption":"Inserir legenda da imagem","Full size image":"Imagem completa","Image resize list":"Lista de redimensionamento de imagem","Image toolbar":"Ferramentas de Imagem","image widget":"Ferramenta de imagem","In line":"Na linha",Insert:"Inserir","Insert image":"Inserir imagem","Insert image via URL":"Inserir imagem via URL","Left aligned image":"Imagem alinhada à esquerda",Original:"Original","Resize image":"Redimensionar imagem","Resize image to %0":"Redimensionar a imagem para %0","Resize image to the original size":"Redimensionar a imagem para o tamanho original","Right aligned image":"Imagem alinhada à direita","Side image":"Imagem lateral","Text alternative":"Texto alternativo",Update:"Atualizar","Update image URL":"Atualizar URL da imagem","Upload failed":"Falha ao subir arquivo","Wrap text":"Texto ao redor"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/sk.js b/web/core/assets/vendor/ckeditor5/image/translations/sk.js
index d84982ea34..4c86010074 100644
--- a/web/core/assets/vendor/ckeditor5/image/translations/sk.js
+++ b/web/core/assets/vendor/ckeditor5/image/translations/sk.js
@@ -1 +1 @@
-!function(e){const a=e.sk=e.sk||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Centered image":"Zarovnať na stred","Change image text alternative":"Zmeňte alternatívny text obrázka","Enter image caption":"Vložte popis obrázka","Full size image":"Obrázok v plnej veľkosti","Image resize list":"Zoznam možností zmeny veľkosti","Image toolbar":"Panel nástrojov obrázka","image widget":"widget obrázka","In line":"",Insert:"Vložiť","Insert image":"Vložiť obrázok","Insert image via URL":"Vložiť obrázok pomocou URL","Left aligned image":"Zarovnať vľavo",Original:"Originál","Resize image":"Zmeniť veľkosť obrázka","Resize image to %0":"Zmeniť veľkosť na %0","Resize image to the original size":"Zmeniť veľkosť na pôvodnú","Right aligned image":"Zarovnať vpravo","Side image":"Bočný obrázok","Text alternative":"Alternatívny text",Update:"Aktualizovať","Update image URL":"Aktualizovať URL obrázka","Upload failed":"Nahrávanie zlyhalo","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const a=e.sk=e.sk||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Zalomenie textu","Centered image":"Zarovnať na stred","Change image text alternative":"Zmeňte alternatívny text obrázka","Enter image caption":"Vložte popis obrázka","Full size image":"Obrázok v plnej veľkosti","Image resize list":"Zoznam možností zmeny veľkosti","Image toolbar":"Panel nástrojov obrázka","image widget":"widget obrázka","In line":"V riadku",Insert:"Vložiť","Insert image":"Vložiť obrázok","Insert image via URL":"Vložiť obrázok pomocou URL","Left aligned image":"Zarovnať vľavo",Original:"Originál","Resize image":"Zmeniť veľkosť obrázka","Resize image to %0":"Zmeniť veľkosť na %0","Resize image to the original size":"Zmeniť veľkosť na pôvodnú","Right aligned image":"Zarovnať vpravo","Side image":"Bočný obrázok","Text alternative":"Alternatívny text",Update:"Aktualizovať","Update image URL":"Aktualizovať URL obrázka","Upload failed":"Nahrávanie zlyhalo","Wrap text":"Obtekanie textu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/uz.js b/web/core/assets/vendor/ckeditor5/image/translations/uz.js
new file mode 100644
index 0000000000..f6122223a0
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/image/translations/uz.js
@@ -0,0 +1 @@
+!function(i){const a=i.uz=i.uz||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Centered image":"Markazga tekislash","Change image text alternative":"Muqobil matnni tahrirlash","Enter image caption":"Rasm sarlavhasi","Full size image":"Asl rasm hajmi","Image resize list":"Hajmlar ro'yxati","Image toolbar":"Rasm asboblari paneli","image widget":"Tasvirlar vidjeti","In line":"",Insert:"Kiritish","Insert image":"Rasm kiritish","Insert image via URL":"Rasmni URL orqali kiritish","Left aligned image":"Chapga tekislash",Original:"Asl","Resize image":"Rasm hajmini o'zgartirish","Resize image to %0":"Rasm hajmini %0 ga o‘zgartirish","Resize image to the original size":"Rasmning o'lchamini asl o'lchamiga o'zgartiring","Right aligned image":"O'ngga tekislash","Side image":"Yon tasvir","Text alternative":"Muqobil matn",Update:"O'zgartirish","Update image URL":"Rasm URL manzilini o'zgartirish","Upload failed":"Yuklab olinmadi","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/zh-cn.js b/web/core/assets/vendor/ckeditor5/image/translations/zh-cn.js
index 476705ec5b..54f365e7b1 100644
--- a/web/core/assets/vendor/ckeditor5/image/translations/zh-cn.js
+++ b/web/core/assets/vendor/ckeditor5/image/translations/zh-cn.js
@@ -1 +1 @@
-!function(e){const i=e["zh-cn"]=e["zh-cn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"图片居中","Change image text alternative":"更改图片替换文本","Enter image caption":"输入图片标题","Full size image":"图片通栏显示","Image resize list":"图片大小列表","Image toolbar":"图片工具栏","image widget":"图像小部件","In line":"",Insert:"插入","Insert image":"插入图像","Insert image via URL":"通过URL地址插入图片","Left aligned image":"图片左侧对齐",Original:"原始大小","Resize image":"调整图像大小","Resize image to %0":"调整图像大小为0%","Resize image to the original size":"调整图像大小为原始大小","Right aligned image":"图片右侧对齐","Side image":"图片侧边显示","Text alternative":"替换文本",Update:"更新","Update image URL":"更新图片URL地址","Upload failed":"上传失败","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const i=e["zh-cn"]=e["zh-cn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"图片居中","Change image text alternative":"更改图片替换文本","Enter image caption":"输入图片标题","Full size image":"图片通栏显示","Image resize list":"图片大小列表","Image toolbar":"图片工具栏","image widget":"图像小部件","In line":"",Insert:"插入","Insert image":"插入图像","Insert image via URL":"通过URL地址插入图片","Left aligned image":"图片左侧对齐",Original:"原始大小","Resize image":"调整图像大小","Resize image to %0":"调整图像大小为%0","Resize image to the original size":"调整图像大小为原始大小","Right aligned image":"图片右侧对齐","Side image":"图片侧边显示","Text alternative":"替换文本",Update:"更新","Update image URL":"更新图片URL地址","Upload failed":"上传失败","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/image/translations/zh.js b/web/core/assets/vendor/ckeditor5/image/translations/zh.js
index 5893176329..973b8d296e 100644
--- a/web/core/assets/vendor/ckeditor5/image/translations/zh.js
+++ b/web/core/assets/vendor/ckeditor5/image/translations/zh.js
@@ -1 +1 @@
-!function(e){const i=e.zh=e.zh||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"置中圖片","Change image text alternative":"修改圖片的替代文字","Enter image caption":"輸入圖片說明","Full size image":"完整尺寸圖片","Image resize list":"圖片縮放清單","Image toolbar":"圖片工具","image widget":"圖片小工具","In line":"",Insert:"","Insert image":"插入圖片","Insert image via URL":"","Left aligned image":"向左對齊圖片",Original:"原始圖片","Resize image":"縮放圖片","Resize image to %0":"縮放圖片到 %0","Resize image to the original size":"縮放圖片到原始尺寸","Right aligned image":"向右對齊圖片","Side image":"側邊圖片","Text alternative":"替代文字",Update:"","Update image URL":"","Upload failed":"上傳失敗","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const i=e.zh=e.zh||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"置中圖片","Change image text alternative":"修改圖片的替代文字","Enter image caption":"輸入圖片說明","Full size image":"完整尺寸圖片","Image resize list":"圖片縮放清單","Image toolbar":"圖片工具","image widget":"圖片小工具","In line":"",Insert:"插入","Insert image":"插入圖片","Insert image via URL":"使用連結插入圖片","Left aligned image":"向左對齊圖片",Original:"原始圖片","Resize image":"縮放圖片","Resize image to %0":"縮放圖片到 %0","Resize image to the original size":"縮放圖片到原始尺寸","Right aligned image":"向右對齊圖片","Side image":"側邊圖片","Text alternative":"替代文字",Update:"更新","Update image URL":"更新圖片連結","Upload failed":"上傳失敗","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/indent/indent.js b/web/core/assets/vendor/ckeditor5/indent/indent.js
index 959ab76707..b9f70dcddb 100644
--- a/web/core/assets/vendor/ckeditor5/indent/indent.js
+++ b/web/core/assets/vendor/ckeditor5/indent/indent.js
@@ -1,5 +1,5 @@
+!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Decrease indent","Increase indent":"Increase indent"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Decrease indent","Increase indent":"Increase indent"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.indent=function(t){var e={};function n(i){if(e[i])return e[i].exports;var s=e[i]={i:i,l:!1,exports:{}};return t[i].call(s.exports,s,s.exports,n),s.l=!0,s.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(i,s,function(e){return t[e]}.bind(null,s));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=5)}([function(t,e,n){t.exports=n(1)("./src/core.js")},function(t,e){t.exports=CKEditor5.dll},function(t,e,n){t.exports=n(1)("./src/ui.js")},function(t,e,n){t.exports=n(1)("./src/engine.js")},function(t,e,n){t.exports=n(1)("./src/utils.js")},function(t,e,n){"use strict";n.r(e),n.d(e,"Indent",(function(){return a})),n.d(e,"IndentEditing",(function(){return s})),n.d(e,"IndentUI",(function(){return c})),n.d(e,"IndentBlock",(function(){return b}));var i=n(0);class s extends i.Plugin{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new i.MultiCommand(t)),t.commands.add("outdent",new i.MultiCommand(t))}}var o=n(2),r='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zM1.632 6.95 5.02 9.358a.4.4 0 0 1-.013.661l-3.39 2.207A.4.4 0 0 1 1 11.892V7.275a.4.4 0 0 1 .632-.326z"/></svg>',d='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zm1.618-9.55L.98 9.358a.4.4 0 0 0 .013.661l3.39 2.207A.4.4 0 0 0 5 11.892V7.275a.4.4 0 0 0-.632-.326z"/></svg>';class c extends i.Plugin{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i="ltr"==e.uiLanguageDirection?r:d,s="ltr"==e.uiLanguageDirection?d:r;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),s)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,s=>{const r=i.commands.get(t),d=new o.ButtonView(s);return d.set({label:e,icon:n,tooltip:!0}),d.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(d,"execute",()=>{i.execute(t),i.editing.view.focus()}),d})}}class a extends i.Plugin{static get pluginName(){return"Indent"}static get requires(){return[s,c]}}var u=n(3),l=n(4);class h extends i.Command{constructor(t,e){super(t),this._indentBehavior=e}refresh(){const t=this.editor.model,e=Object(l.first)(t.document.selection.getSelectedBlocks());e&&t.schema.checkAttribute(e,"blockIndent")?this.isEnabled=this._indentBehavior.checkEnabled(e.getAttribute("blockIndent")):this.isEnabled=!1}execute(){const t=this.editor.model,e=function(t){const e=t.document.selection,n=t.schema;return Array.from(e.getSelectedBlocks()).filter(t=>n.checkAttribute(t,"blockIndent"))}(t);t.change(t=>{for(const n of e){const e=n.getAttribute("blockIndent"),i=this._indentBehavior.getNextIndent(e);i?t.setAttribute("blockIndent",i,n):t.removeAttribute("blockIndent",n)}})}}class g{constructor(t){this.isForward="forward"===t.direction,this.offset=t.offset,this.unit=t.unit}checkEnabled(t){const e=parseFloat(t||0);return this.isForward||e>0}getNextIndent(t){const e=parseFloat(t||0);if(!(!t||t.endsWith(this.unit)))return this.isForward?this.offset+this.unit:void 0;const n=e+(this.isForward?this.offset:-this.offset);return n>0?n+this.unit:void 0}}class f{constructor(t){this.isForward="forward"===t.direction,this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);return this.isForward?e<this.classes.length-1:e>=0}getNextIndent(t){const e=this.classes.indexOf(t),n=this.isForward?1:-1;return this.classes[e+n]}}const m=["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];class b extends i.Plugin{constructor(t){super(t),t.config.define("indentBlock",{offset:40,unit:"px"})}static get pluginName(){return"IndentBlock"}init(){const t=this.editor,e=t.config.get("indentBlock"),n=!e.classes||!e.classes.length,i=Object.assign({direction:"forward"},e),s=Object.assign({direction:"backward"},e);n?(t.data.addStyleProcessorRules(u.addMarginRules),this._setupConversionUsingOffset(t.conversion),t.commands.add("indentBlock",new h(t,new g(i))),t.commands.add("outdentBlock",new h(t,new g(s)))):(this._setupConversionUsingClasses(e.classes),t.commands.add("indentBlock",new h(t,new f(i))),t.commands.add("outdentBlock",new h(t,new f(s))))}afterInit(){const t=this.editor,e=t.model.schema,n=t.commands.get("indent"),i=t.commands.get("outdent"),s=t.config.get("heading.options");(s&&s.map(t=>t.model)||m).forEach(t=>{e.isRegistered(t)&&e.extend(t,{allowAttributes:"blockIndent"})}),e.setAttributeProperties("blockIndent",{isFormatting:!0}),n.registerChildCommand(t.commands.get("indentBlock")),i.registerChildCommand(t.commands.get("outdentBlock"))}_setupConversionUsingOffset(){const t=this.editor.conversion,e="rtl"===this.editor.locale.contentLanguageDirection?"margin-right":"margin-left";t.for("upcast").attributeToAttribute({view:{styles:{[e]:/[\s\S]+/}},model:{key:"blockIndent",value:t=>t.getStyle(e)}}),t.for("downcast").attributeToAttribute({model:"blockIndent",view:t=>({key:"style",value:{[e]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:"blockIndent",values:[]},view:{}};for(const n of t)e.model.values.push(n),e.view[n]={key:"class",value:[n]};this.editor.conversion.attributeToAttribute(e)}}}]);
\ No newline at end of file
+ */(()=>{var t={704:(t,e,n)=>{t.exports=n(79)("./src/core.js")},492:(t,e,n)=>{t.exports=n(79)("./src/engine.js")},273:(t,e,n)=>{t.exports=n(79)("./src/ui.js")},209:(t,e,n)=>{t.exports=n(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function n(s){var i=e[s];if(void 0!==i)return i.exports;var o=e[s]={exports:{}};return t[s](o,o.exports,n),o.exports}n.d=(t,e)=>{for(var s in e)n.o(e,s)&&!n.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var s={};(()=>{"use strict";n.r(s),n.d(s,{Indent:()=>a,IndentBlock:()=>f,IndentEditing:()=>e,IndentUI:()=>d});var t=n(704);class e extends t.Plugin{static get pluginName(){return"IndentEditing"}init(){const e=this.editor;e.commands.add("indent",new t.MultiCommand(e)),e.commands.add("outdent",new t.MultiCommand(e))}}var i=n(273);const o='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zM1.632 6.95 5.02 9.358a.4.4 0 0 1-.013.661l-3.39 2.207A.4.4 0 0 1 1 11.892V7.275a.4.4 0 0 1 .632-.326z"/></svg>',r='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2 3.75c0 .414.336.75.75.75h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 0 0-.75.75zm5 6c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM2.75 16.5h14.5a.75.75 0 1 0 0-1.5H2.75a.75.75 0 1 0 0 1.5zm1.618-9.55L.98 9.358a.4.4 0 0 0 .013.661l3.39 2.207A.4.4 0 0 0 5 11.892V7.275a.4.4 0 0 0-.632-.326z"/></svg>';class d extends t.Plugin{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,s="ltr"==e.uiLanguageDirection?o:r,i="ltr"==e.uiLanguageDirection?r:o;this._defineButton("indent",n("Increase indent"),s),this._defineButton("outdent",n("Decrease indent"),i)}_defineButton(t,e,n){const s=this.editor;s.ui.componentFactory.add(t,(o=>{const r=s.commands.get(t),d=new i.ButtonView(o);return d.set({label:e,icon:n,tooltip:!0}),d.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(d,"execute",(()=>{s.execute(t),s.editing.view.focus()})),d}))}}class a extends t.Plugin{static get pluginName(){return"Indent"}static get requires(){return[e,d]}}var c=n(492),l=n(209);class u extends t.Command{constructor(t,e){super(t),this._indentBehavior=e}refresh(){const t=this.editor.model,e=(0,l.first)(t.document.selection.getSelectedBlocks());e&&t.schema.checkAttribute(e,"blockIndent")?this.isEnabled=this._indentBehavior.checkEnabled(e.getAttribute("blockIndent")):this.isEnabled=!1}execute(){const t=this.editor.model,e=function(t){const e=t.document.selection,n=t.schema;return Array.from(e.getSelectedBlocks()).filter((t=>n.checkAttribute(t,"blockIndent")))}(t);t.change((t=>{for(const n of e){const e=n.getAttribute("blockIndent"),s=this._indentBehavior.getNextIndent(e);s?t.setAttribute("blockIndent",s,n):t.removeAttribute("blockIndent",n)}}))}}class h{constructor(t){this.isForward="forward"===t.direction,this.offset=t.offset,this.unit=t.unit}checkEnabled(t){const e=parseFloat(t||0);return this.isForward||e>0}getNextIndent(t){const e=parseFloat(t||0);if(!(!t||t.endsWith(this.unit)))return this.isForward?this.offset+this.unit:void 0;const n=e+(this.isForward?this.offset:-this.offset);return n>0?n+this.unit:void 0}}class g{constructor(t){this.isForward="forward"===t.direction,this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);return this.isForward?e<this.classes.length-1:e>=0}getNextIndent(t){const e=this.classes.indexOf(t),n=this.isForward?1:-1;return this.classes[e+n]}}const m=["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];class f extends t.Plugin{constructor(t){super(t),t.config.define("indentBlock",{offset:40,unit:"px"})}static get pluginName(){return"IndentBlock"}init(){const t=this.editor,e=t.config.get("indentBlock"),n=!e.classes||!e.classes.length,s=Object.assign({direction:"forward"},e),i=Object.assign({direction:"backward"},e);n?(t.data.addStyleProcessorRules(c.addMarginRules),this._setupConversionUsingOffset(t.conversion),t.commands.add("indentBlock",new u(t,new h(s))),t.commands.add("outdentBlock",new u(t,new h(i)))):(this._setupConversionUsingClasses(e.classes),t.commands.add("indentBlock",new u(t,new g(s))),t.commands.add("outdentBlock",new u(t,new g(i))))}afterInit(){const t=this.editor,e=t.model.schema,n=t.commands.get("indent"),s=t.commands.get("outdent"),i=t.config.get("heading.options");(i&&i.map((t=>t.model))||m).forEach((t=>{e.isRegistered(t)&&e.extend(t,{allowAttributes:"blockIndent"})})),e.setAttributeProperties("blockIndent",{isFormatting:!0}),n.registerChildCommand(t.commands.get("indentBlock")),s.registerChildCommand(t.commands.get("outdentBlock"))}_setupConversionUsingOffset(){const t=this.editor.conversion,e="rtl"===this.editor.locale.contentLanguageDirection?"margin-right":"margin-left";t.for("upcast").attributeToAttribute({view:{styles:{[e]:/[\s\S]+/}},model:{key:"blockIndent",value:t=>t.getStyle(e)}}),t.for("downcast").attributeToAttribute({model:"blockIndent",view:t=>({key:"style",value:{[e]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:"blockIndent",values:[]},view:{}};for(const n of t)e.model.values.push(n),e.view[n]={key:"class",value:[n]};this.editor.conversion.attributeToAttribute(e)}}})(),(window.CKEditor5=window.CKEditor5||{}).indent=s})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/indent/translations/el.js b/web/core/assets/vendor/ckeditor5/indent/translations/el.js
new file mode 100644
index 0000000000..91e7133fb5
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/indent/translations/el.js
@@ -0,0 +1 @@
+!function(n){const e=n.el=n.el||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"Μείωση εσοχής","Increase indent":"Αύξηση εσοχής"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/indent/translations/uz.js b/web/core/assets/vendor/ckeditor5/indent/translations/uz.js
new file mode 100644
index 0000000000..39dac1fd79
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/indent/translations/uz.js
@@ -0,0 +1 @@
+!function(i){const n=i.uz=i.uz||{};n.dictionary=Object.assign(n.dictionary||{},{"Decrease indent":"chekinishni kamaytirish","Increase indent":"chekinishni oshirish"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/language/language.js b/web/core/assets/vendor/ckeditor5/language/language.js
index 760ab9835a..5c68f47e66 100644
--- a/web/core/assets/vendor/ckeditor5/language/language.js
+++ b/web/core/assets/vendor/ckeditor5/language/language.js
@@ -1,5 +1,5 @@
+!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Choose language":"Choose language",Language:"Language","Remove language":"Remove language"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Choose language":"Choose language",Language:"Language","Remove language":"Remove language"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.language=function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)}([function(e,t,n){e.exports=n(3)("./src/core.js")},function(e,t,n){e.exports=n(3)("./src/ui.js")},function(e,t,n){e.exports=n(3)("./src/utils.js")},function(e,t){e.exports=CKEditor5.dll},function(e,t,n){var o=n(5),r=n(6);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,""]]);var a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};o(r,a);e.exports=r.locals||{}},function(e,t,n){"use strict";var o,r=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),i=[];function u(e){for(var t=-1,n=0;n<i.length;n++)if(i[n].identifier===e){t=n;break}return t}function s(e,t){for(var n={},o=[],r=0;r<e.length;r++){var a=e[r],s=t.base?a[0]+t.base:a[0],l=n[s]||0,c="".concat(s," ").concat(l);n[s]=l+1;var d=u(c),g={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(i[d].references++,i[d].updater(g)):i.push({identifier:c,updater:b(g,t),references:1}),o.push(c)}return o}function l(e){var t=document.createElement("style"),o=e.attributes||{};if(void 0===o.nonce){var r=n.nc;r&&(o.nonce=r)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),"function"==typeof e.insert)e.insert(t);else{var i=a(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}return t}var c,d=(c=[],function(e,t){return c[e]=t,c.filter(Boolean).join("\n")});function g(e,t,n,o){var r=n?"":o.media?"@media ".concat(o.media," {").concat(o.css,"}"):o.css;if(e.styleSheet)e.styleSheet.cssText=d(t,r);else{var a=document.createTextNode(r),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(a,i[t]):e.appendChild(a)}}function f(e,t,n){var o=n.css,r=n.media,a=n.sourceMap;if(r?e.setAttribute("media",r):e.removeAttribute("media"),a&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var p=null,m=0;function b(e,t){var n,o,r;if(t.singleton){var a=m++;n=p||(p=l(t)),o=g.bind(null,n,a,!1),r=g.bind(null,n,a,!0)}else n=l(t),o=f.bind(null,n,t),r=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else r()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=r());var n=s(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var o=0;o<n.length;o++){var r=u(n[o]);i[r].references--}for(var a=s(e,t),l=0;l<n.length;l++){var c=u(n[l]);0===i[c].references&&(i[c].updater(),i.splice(c,1))}n=a}}}},function(e,t){e.exports=".ck-content span[lang]{font-style:italic}"},function(e,t,n){"use strict";n.r(t),n.d(t,"TextPartLanguage",(function(){return c})),n.d(t,"TextPartLanguageEditing",(function(){return u})),n.d(t,"TextPartLanguageUI",(function(){return l}));var o=n(0),r=n(2);function a(e,t){return`${e}:${t=t||Object(r.getLanguageDirection)(e)}`}class i extends o.Command{refresh(){const e=this.editor.model,t=e.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=e.schema.checkAttributeInSelection(t.selection,"language")}execute({languageCode:e,textDirection:t}={}){const n=this.editor.model,o=n.document.selection,r=!!e&&a(e,t);n.change(e=>{if(o.isCollapsed)r?e.setSelectionAttribute("language",r):e.removeSelectionAttribute("language");else{const t=n.schema.getValidRanges(o.getRanges(),"language");for(const n of t)r?e.setAttribute("language",r,n):e.removeAttribute("language",n)}})}_getValueFromFirstAllowedNode(){const e=this.editor.model,t=e.schema,n=e.document.selection;if(n.isCollapsed)return n.getAttribute("language")||!1;for(const e of n.getRanges())for(const n of e.getItems())if(t.checkAttribute(n,"language"))return n.getAttribute("language")||!1;return!1}}class u extends o.Plugin{static get pluginName(){return"TextPartLanguageEditing"}constructor(e){super(e),e.config.define("language",{textPartLanguage:[{title:"Arabic",languageCode:"ar"},{title:"French",languageCode:"fr"},{title:"Spanish",languageCode:"es"}]})}init(){const e=this.editor;e.model.schema.extend("$text",{allowAttributes:"language"}),e.model.schema.setAttributeProperties("language",{copyOnEnter:!0}),this._defineConverters(),e.commands.add("textPartLanguage",new i(e))}_defineConverters(){const e=this.editor.conversion;e.for("upcast").elementToAttribute({model:{key:"language",value:e=>a(e.getAttribute("lang"),e.getAttribute("dir"))},view:{name:"span",attributes:{lang:/[\s\S]+/}}}),e.for("downcast").attributeToElement({model:"language",view:(e,{writer:t})=>{if(!e)return;const{languageCode:n,textDirection:o}=function(e){const[t,n]=e.split(":");return{languageCode:t,textDirection:n}}(e);return t.createAttributeElement("span",{lang:n,dir:o})}})}}var s=n(1);n(4);class l extends o.Plugin{static get pluginName(){return"TextPartLanguageUI"}init(){const e=this.editor,t=e.t,n=e.config.get("language.textPartLanguage"),o=t("Choose language"),i=t("Remove language"),u=t("Language");e.ui.componentFactory.add("textPartLanguage",t=>{const l=new r.Collection,c={},d=e.commands.get("textPartLanguage");l.add({type:"button",model:new s.Model({label:i,languageCode:!1,withText:!0})}),l.add({type:"separator"});for(const e of n){const t={type:"button",model:new s.Model({label:e.title,languageCode:e.languageCode,textDirection:e.textDirection,withText:!0})},n=a(e.languageCode,e.textDirection);t.model.bind("isOn").to(d,"value",e=>e===n),l.add(t),c[n]=e.title}const g=Object(s.createDropdown)(t);return Object(s.addListToDropdown)(g,l),g.buttonView.set({isOn:!1,withText:!0,tooltip:u}),g.extendTemplate({attributes:{class:["ck-text-fragment-language-dropdown"]}}),g.bind("isEnabled").to(d,"isEnabled"),g.buttonView.bind("label").to(d,"value",e=>c[e]||o),this.listenTo(g,"execute",t=>{d.execute({languageCode:t.source.languageCode,textDirection:t.source.textDirection}),e.editing.view.focus()}),g})}}class c extends o.Plugin{static get requires(){return[u,l]}static get pluginName(){return"TextPartLanguage"}}}]);
\ No newline at end of file
+ */(()=>{var e={176:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var a=n(609),r=n.n(a)()((function(e){return e[1]}));r.push([e.id,".ck-content span[lang]{font-style:italic}",""]);const o=r},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,a){"string"==typeof e&&(e=[[null,e,""]]);var r={};if(a)for(var o=0;o<this.length;o++){var i=this[o][0];null!=i&&(r[i]=!0)}for(var s=0;s<e.length;s++){var u=[].concat(e[s]);a&&r[u[0]]||(n&&(u[2]?u[2]="".concat(n," and ").concat(u[2]):u[2]=n),t.push(u))}},t}},62:(e,t,n)=>{"use strict";var a,r=function(){return void 0===a&&(a=Boolean(window&&document&&document.all&&!window.atob)),a},o=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),i=[];function s(e){for(var t=-1,n=0;n<i.length;n++)if(i[n].identifier===e){t=n;break}return t}function u(e,t){for(var n={},a=[],r=0;r<e.length;r++){var o=e[r],u=t.base?o[0]+t.base:o[0],l=n[u]||0,c="".concat(u," ").concat(l);n[u]=l+1;var d=s(c),g={css:o[1],media:o[2],sourceMap:o[3]};-1!==d?(i[d].references++,i[d].updater(g)):i.push({identifier:c,updater:h(g,t),references:1}),a.push(c)}return a}function l(e){var t=document.createElement("style"),a=e.attributes||{};if(void 0===a.nonce){var r=n.nc;r&&(a.nonce=r)}if(Object.keys(a).forEach((function(e){t.setAttribute(e,a[e])})),"function"==typeof e.insert)e.insert(t);else{var i=o(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}return t}var c,d=(c=[],function(e,t){return c[e]=t,c.filter(Boolean).join("\n")});function g(e,t,n,a){var r=n?"":a.media?"@media ".concat(a.media," {").concat(a.css,"}"):a.css;if(e.styleSheet)e.styleSheet.cssText=d(t,r);else{var o=document.createTextNode(r),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(o,i[t]):e.appendChild(o)}}function f(e,t,n){var a=n.css,r=n.media,o=n.sourceMap;if(r?e.setAttribute("media",r):e.removeAttribute("media"),o&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=a;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(a))}}var p=null,m=0;function h(e,t){var n,a,r;if(t.singleton){var o=m++;n=p||(p=l(t)),a=g.bind(null,n,o,!1),r=g.bind(null,n,o,!0)}else n=l(t),a=f.bind(null,n,t),r=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return a(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;a(e=t)}else r()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=r());var n=u(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var a=0;a<n.length;a++){var r=s(n[a]);i[r].references--}for(var o=u(e,t),l=0;l<n.length;l++){var c=s(n[l]);0===i[c].references&&(i[c].updater(),i.splice(c,1))}n=o}}}},704:(e,t,n)=>{e.exports=n(79)("./src/core.js")},273:(e,t,n)=>{e.exports=n(79)("./src/ui.js")},209:(e,t,n)=>{e.exports=n(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(a){var r=t[a];if(void 0!==r)return r.exports;var o=t[a]={id:a,exports:{}};return e[a](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};(()=>{"use strict";n.r(a),n.d(a,{TextPartLanguage:()=>f,TextPartLanguageEditing:()=>i,TextPartLanguageUI:()=>g});var e=n(704),t=n(209);function r(e,n){return`${e}:${n=n||(0,t.getLanguageDirection)(e)}`}class o extends e.Command{refresh(){const e=this.editor.model,t=e.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=e.schema.checkAttributeInSelection(t.selection,"language")}execute({languageCode:e,textDirection:t}={}){const n=this.editor.model,a=n.document.selection,o=!!e&&r(e,t);n.change((e=>{if(a.isCollapsed)o?e.setSelectionAttribute("language",o):e.removeSelectionAttribute("language");else{const t=n.schema.getValidRanges(a.getRanges(),"language");for(const n of t)o?e.setAttribute("language",o,n):e.removeAttribute("language",n)}}))}_getValueFromFirstAllowedNode(){const e=this.editor.model,t=e.schema,n=e.document.selection;if(n.isCollapsed)return n.getAttribute("language")||!1;for(const e of n.getRanges())for(const n of e.getItems())if(t.checkAttribute(n,"language"))return n.getAttribute("language")||!1;return!1}}class i extends e.Plugin{static get pluginName(){return"TextPartLanguageEditing"}constructor(e){super(e),e.config.define("language",{textPartLanguage:[{title:"Arabic",languageCode:"ar"},{title:"French",languageCode:"fr"},{title:"Spanish",languageCode:"es"}]})}init(){const e=this.editor;e.model.schema.extend("$text",{allowAttributes:"language"}),e.model.schema.setAttributeProperties("language",{copyOnEnter:!0}),this._defineConverters(),e.commands.add("textPartLanguage",new o(e))}_defineConverters(){const e=this.editor.conversion;e.for("upcast").elementToAttribute({model:{key:"language",value:e=>r(e.getAttribute("lang"),e.getAttribute("dir"))},view:{name:"span",attributes:{lang:/[\s\S]+/}}}),e.for("downcast").attributeToElement({model:"language",view:(e,{writer:t})=>{if(!e)return;const{languageCode:n,textDirection:a}=function(e){const[t,n]=e.split(":");return{languageCode:t,textDirection:n}}(e);return t.createAttributeElement("span",{lang:n,dir:a})}})}}var s=n(273),u=n(62),l=n.n(u),c=n(176),d={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};l()(c.Z,d);c.Z.locals;class g extends e.Plugin{static get pluginName(){return"TextPartLanguageUI"}init(){const e=this.editor,n=e.t,a=e.config.get("language.textPartLanguage"),o=n("Choose language"),i=n("Remove language"),u=n("Language");e.ui.componentFactory.add("textPartLanguage",(n=>{const l=new t.Collection,c={},d=e.commands.get("textPartLanguage");l.add({type:"button",model:new s.Model({label:i,languageCode:!1,withText:!0})}),l.add({type:"separator"});for(const e of a){const t={type:"button",model:new s.Model({label:e.title,languageCode:e.languageCode,textDirection:e.textDirection,withText:!0})},n=r(e.languageCode,e.textDirection);t.model.bind("isOn").to(d,"value",(e=>e===n)),l.add(t),c[n]=e.title}const g=(0,s.createDropdown)(n);return(0,s.addListToDropdown)(g,l),g.buttonView.set({isOn:!1,withText:!0,tooltip:u}),g.extendTemplate({attributes:{class:["ck-text-fragment-language-dropdown"]}}),g.bind("isEnabled").to(d,"isEnabled"),g.buttonView.bind("label").to(d,"value",(e=>c[e]||o)),this.listenTo(g,"execute",(t=>{d.execute({languageCode:t.source.languageCode,textDirection:t.source.textDirection}),e.editing.view.focus()})),g}))}}class f extends e.Plugin{static get requires(){return[i,g]}static get pluginName(){return"TextPartLanguage"}}})(),(window.CKEditor5=window.CKEditor5||{}).language=a})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/language/translations/da.js b/web/core/assets/vendor/ckeditor5/language/translations/da.js
new file mode 100644
index 0000000000..36ed967752
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/language/translations/da.js
@@ -0,0 +1 @@
+!function(n){const o=n.da=n.da||{};o.dictionary=Object.assign(o.dictionary||{},{"Choose language":"Vælg sprog",Language:"Sprog","Remove language":"Fjern sprog"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/language/translations/el.js b/web/core/assets/vendor/ckeditor5/language/translations/el.js
new file mode 100644
index 0000000000..3170d2de04
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/language/translations/el.js
@@ -0,0 +1 @@
+!function(n){const a=n.el=n.el||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose language":"Επιλογή γλώσσας",Language:"Γλώσσα","Remove language":"Απομάκρυνση γλώσσας"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/language/translations/en-au.js b/web/core/assets/vendor/ckeditor5/language/translations/en-au.js
new file mode 100644
index 0000000000..fd2122083e
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/language/translations/en-au.js
@@ -0,0 +1 @@
+!function(a){const n=a["en-au"]=a["en-au"]||{};n.dictionary=Object.assign(n.dictionary||{},{"Choose language":"Choose language",Language:"Language","Remove language":"Remove language"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/language/translations/fi.js b/web/core/assets/vendor/ckeditor5/language/translations/fi.js
new file mode 100644
index 0000000000..97a6a2430a
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/language/translations/fi.js
@@ -0,0 +1 @@
+!function(i){const a=i.fi=i.fi||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose language":"Valitse kieli",Language:"Kieli","Remove language":"Poista kieli"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/language/translations/hr.js b/web/core/assets/vendor/ckeditor5/language/translations/hr.js
new file mode 100644
index 0000000000..b8964192a7
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/language/translations/hr.js
@@ -0,0 +1 @@
+!function(i){const n=i.hr=i.hr||{};n.dictionary=Object.assign(n.dictionary||{},{"Choose language":"Odaberi jezik",Language:"Jezik","Remove language":"Ukloni jezik"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/language/translations/jv.js b/web/core/assets/vendor/ckeditor5/language/translations/jv.js
new file mode 100644
index 0000000000..89265f495f
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/language/translations/jv.js
@@ -0,0 +1 @@
+!function(a){const n=a.jv=a.jv||{};n.dictionary=Object.assign(n.dictionary||{},{"Choose language":"Pilih basa",Language:"Basa","Remove language":"Busek basa"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/language/translations/pt-br.js b/web/core/assets/vendor/ckeditor5/language/translations/pt-br.js
new file mode 100644
index 0000000000..4f9345f61c
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/language/translations/pt-br.js
@@ -0,0 +1 @@
+!function(o){const i=o["pt-br"]=o["pt-br"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Choose language":"Escolher idioma",Language:"Idioma","Remove language":"Remover idioma"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/link/link.js b/web/core/assets/vendor/ckeditor5/link/link.js
index 9a9b99b568..ef7bc63a04 100644
--- a/web/core/assets/vendor/ckeditor5/link/link.js
+++ b/web/core/assets/vendor/ckeditor5/link/link.js
@@ -1,5 +1,5 @@
+!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{Downloadable:"Downloadable","Edit link":"Edit link",Link:"Link","Link image":"Link image","Link URL":"Link URL","Open in a new tab":"Open in a new tab","Open link in new tab":"Open link in new tab","This link has no URL":"This link has no URL",Unlink:"Unlink"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{Downloadable:"Downloadable","Edit link":"Edit link",Link:"Link","Link image":"Link image","Link URL":"Link URL","Open in a new tab":"Open in a new tab","Open link in new tab":"Open link in new tab","This link has no URL":"This link has no URL",Unlink:"Unlink"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.link=function(e){var t={};function i(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=21)}([function(e,t,i){e.exports=i(4)("./src/ui.js")},function(e,t,i){e.exports=i(4)("./src/core.js")},function(e,t,i){e.exports=i(4)("./src/utils.js")},function(e,t,i){e.exports=i(4)("./src/typing.js")},function(e,t){e.exports=CKEditor5.dll},function(e,t,i){e.exports=i(4)("./src/engine.js")},function(e,t,i){"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},r=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),s=[];function a(e){for(var t=-1,i=0;i<s.length;i++)if(s[i].identifier===e){t=i;break}return t}function c(e,t){for(var i={},n=[],o=0;o<e.length;o++){var r=e[o],c=t.base?r[0]+t.base:r[0],l=i[c]||0,u="".concat(c," ").concat(l);i[c]=l+1;var d=a(u),k={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(s[d].references++,s[d].updater(k)):s.push({identifier:u,updater:g(k,t),references:1}),n.push(u)}return n}function l(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var o=i.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var s=r(e.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(t)}return t}var u,d=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function k(e,t,i,n){var o=i?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=d(t,o);else{var r=document.createTextNode(o),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(r,s[t]):e.appendChild(r)}}function f(e,t,i){var n=i.css,o=i.media,r=i.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),r&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var h=null,m=0;function g(e,t){var i,n,o;if(t.singleton){var r=m++;i=h||(h=l(t)),n=k.bind(null,i,r,!1),o=k.bind(null,i,r,!0)}else i=l(t),n=f.bind(null,i,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(i)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var i=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<i.length;n++){var o=a(i[n]);s[o].references--}for(var r=c(e,t),l=0;l<i.length;l++){var u=a(i[l]);0===s[u].references&&(s[u].updater(),s.splice(u,1))}i=r}}}},function(e,t,i){var n=i(6),o=i(14);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,r);e.exports=o.locals||{}},function(e,t,i){e.exports=i(4)("./src/clipboard.js")},function(e,t,i){"use strict";(function(e){var i="object"==typeof e&&e&&e.Object===Object&&e;t.a=i}).call(this,i(11))},function(e,t,i){e.exports=i(4)("./src/widget.js")},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t,i){var n=i(6),o=i(13);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,r);e.exports=o.locals||{}},function(e,t){e.exports=".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{height:100%;border-right:1px solid var(--ck-color-base-text);margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}"},function(e,t){e.exports='.ck-vertical-form .ck-button:after{content:"";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{content:"";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-text-width)*0.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-large);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after,[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}'},function(e,t,i){var n=i(6),o=i(16);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,r);e.exports=o.locals||{}},function(e,t){e.exports=".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{padding:0;min-width:var(--ck-input-text-width)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical .ck-button{padding:var(--ck-spacing-standard);margin:0;border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border);width:50%}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:var(--ck-spacing-standard) var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{border:0;padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}"},function(e,t,i){var n=i(6),o=i(18);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,r);e.exports=o.locals||{}},function(e,t){e.exports=".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{padding:0 var(--ck-spacing-medium);color:var(--ck-color-link-default);text-overflow:ellipsis;cursor:pointer;max-width:var(--ck-input-text-width);min-width:3em;text-align:center}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{min-width:0;max-width:100%}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}"},function(e,t,i){var n=i(6),o=i(20);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,r);e.exports=o.locals||{}},function(e,t){e.exports='.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{content:"";top:min(var(--ck-spacing-medium),6%);right:min(var(--ck-spacing-medium),6%);background-color:rgba(0,0,0,.4);background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTExLjA3NyAxNWwuOTkxLTEuNDE2YS43NS43NSAwIDExMS4yMjkuODZsLTEuMTQ4IDEuNjRhLjc0OC43NDggMCAwMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAxLTguNTAzLTUuOTU1Ljc0MS43NDEgMCAwMS4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDExMS4yMjguODZMNC45MzMgMTAuN2wuMDA2LjAwM2EzLjc1IDMuNzUgMCAwMDYuMTMyIDQuMjk0bC4wMDYuMDA0em01LjQ5NC01LjMzNWEuNzQ4Ljc0OCAwIDAxLS4xMi4yNzRsLTEuMTQ3IDEuNjM5YS43NS43NSAwIDExLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwMC02LjE0NC00LjMwMWwtLjg2IDEuMjI5YS43NS43NSAwIDAxLTEuMjI5LS44NmwxLjE0OC0xLjY0YS43NDguNzQ4IDAgMDEuMjE3LS4yMDYgNS4yNTEgNS4yNTEgMCAwMTguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMDEuMTg0IDEuMDQ1bC0zLjE1NSA0LjUwNWEuNzUuNzUgMCAxMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMDExLjA0NS0uMTg0eiIvPjwvc3ZnPg==");background-size:14px;background-repeat:no-repeat;background-position:50%;border-radius:100%;overflow:hidden;width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}'},function(e,t,i){"use strict";i.r(t),i.d(t,"Link",(function(){return we})),i.d(t,"LinkEditing",(function(){return re})),i.d(t,"LinkUI",(function(){return he})),i.d(t,"LinkImage",(function(){return xe})),i.d(t,"LinkImageEditing",(function(){return ve})),i.d(t,"LinkImageUI",(function(){return Ae})),i.d(t,"AutoLink",(function(){return be}));var n=i(1),o=i(5),r=i(3),s=i(8),a=i(2);class c{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(e){Array.isArray(e)?e.forEach(e=>this._definitions.add(e)):this._definitions.add(e)}getDispatcher(){return e=>{e.on("attribute:linkHref",(e,t,i)=>{if(!i.consumable.test(t.item,"attribute:linkHref"))return;const n=i.writer,o=n.document.selection;for(const e of this._definitions){const r=n.createAttributeElement("a",e.attributes,{priority:5});e.classes&&n.addClass(e.classes,r);for(const t in e.styles)n.setStyle(t,e.styles[t],r);n.setCustomProperty("link",!0,r),e.callback(t.attributeNewValue)?t.item.is("selection")?n.wrap(o.getFirstRange(),r):n.wrap(i.mapper.toViewRange(t.range),r):n.unwrap(i.mapper.toViewRange(t.range),r)}},{priority:"high"})}}getDispatcherForLinkedImage(){return e=>{e.on("attribute:linkHref:imageBlock",(e,t,{writer:i,mapper:n})=>{const o=n.toViewElement(t.item),r=Array.from(o.getChildren()).find(e=>"a"===e.name);for(const e of this._definitions){const n=Object(a.toMap)(e.attributes);if(e.callback(t.attributeNewValue)){for(const[e,t]of n)"class"===e?i.addClass(t,r):i.setAttribute(e,t,r);e.classes&&i.addClass(e.classes,r);for(const t in e.styles)i.setStyle(t,e.styles[t],r)}else{for(const[e,t]of n)"class"===e?i.removeClass(t,r):i.removeAttribute(e,r);e.classes&&i.removeClass(e.classes,r);for(const t in e.styles)i.removeStyle(t,r)}}})}}}var l=function(e,t,i){var n=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(i=i>o?o:i)<0&&(i+=o),o=t>i?0:i-t>>>0,t>>>=0;for(var r=Array(o);++n<o;)r[n]=e[n+t];return r};var u=function(e,t,i){var n=e.length;return i=void 0===i?n:i,!t&&i>=n?e:l(e,t,i)},d=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var k=function(e){return d.test(e)};var f=function(e){return e.split("")},h="[\\ud800-\\udfff]",m="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",g="\\ud83c[\\udffb-\\udfff]",b="[^\\ud800-\\udfff]",p="(?:\\ud83c[\\udde6-\\uddff]){2}",w="[\\ud800-\\udbff][\\udc00-\\udfff]",v="(?:"+m+"|"+g+")"+"?",_="[\\ufe0e\\ufe0f]?"+v+("(?:\\u200d(?:"+[b,p,w].join("|")+")[\\ufe0e\\ufe0f]?"+v+")*"),y="(?:"+[b+m+"?",m,p,w,h].join("|")+")",A=RegExp(g+"(?="+g+")|"+y+_,"g");var x=function(e){return e.match(A)||[]};var I=function(e){return k(e)?x(e):f(e)},T=i(9),S="object"==typeof self&&self&&self.Object===Object&&self,E=(T.a||S||Function("return this")()).Symbol;var V=function(e,t){for(var i=-1,n=null==e?0:e.length,o=Array(n);++i<n;)o[i]=t(e[i],i,e);return o},L=Array.isArray,C=Object.prototype,M=C.hasOwnProperty,D=C.toString,j=E?E.toStringTag:void 0;var O=function(e){var t=M.call(e,j),i=e[j];try{e[j]=void 0;var n=!0}catch(e){}var o=D.call(e);return n&&(t?e[j]=i:delete e[j]),o},B=Object.prototype.toString;var N=function(e){return B.call(e)},H=E?E.toStringTag:void 0;var P=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":H&&H in Object(e)?O(e):N(e)};var U=function(e){return null!=e&&"object"==typeof e};var F=function(e){return"symbol"==typeof e||U(e)&&"[object Symbol]"==P(e)},R=E?E.prototype:void 0,z=R?R.toString:void 0;var q=function e(t){if("string"==typeof t)return t;if(L(t))return V(t,e)+"";if(F(t))return z?z.call(t):"";var i=t+"";return"0"==i&&1/t==-1/0?"-0":i};var K=function(e){return null==e?"":q(e)};var Z=function(e){return function(t){t=K(t);var i=k(t)?I(t):void 0,n=i?i[0]:t.charAt(0),o=i?u(i,1).join(""):t.slice(1);return n[e]()+o}}("toUpperCase");const Y=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,Q=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,W=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,$=/^((\w+:(\/{2,})?)|(\W))/i;function J(e,{writer:t}){const i=t.createAttributeElement("a",{href:e},{priority:5});return t.setCustomProperty("link",!0,i),i}function G(e){return function(e){return e.replace(Y,"").match(Q)}(e=String(e))?e:"#"}function X(e,t){return!!e&&t.checkAttribute(e.name,"linkHref")}function ee(e,t){const i=(n=e,W.test(n)?"mailto:":t);var n;const o=!!i&&!$.test(e);return e&&o?i+e:e}class te extends n.Command{constructor(e){super(e),this.manualDecorators=new a.Collection,this.automaticDecorators=new c}restoreManualDecoratorStates(){for(const e of this.manualDecorators)e.value=this._getDecoratorStateFromModel(e.id)}refresh(){const e=this.editor.model,t=e.document.selection,i=t.getSelectedElement()||Object(a.first)(t.getSelectedBlocks());X(i,e.schema)?(this.value=i.getAttribute("linkHref"),this.isEnabled=e.schema.checkAttribute(i,"linkHref")):(this.value=t.getAttribute("linkHref"),this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref"));for(const e of this.manualDecorators)e.value=this._getDecoratorStateFromModel(e.id)}execute(e,t={}){const i=this.editor.model,n=i.document.selection,o=[],s=[];for(const e in t)t[e]?o.push(e):s.push(e);i.change(t=>{if(n.isCollapsed){const c=n.getFirstPosition();if(n.hasAttribute("linkHref")){const a=Object(r.findAttributeRange)(c,"linkHref",n.getAttribute("linkHref"),i);t.setAttribute("linkHref",e,a),o.forEach(e=>{t.setAttribute(e,!0,a)}),s.forEach(e=>{t.removeAttribute(e,a)}),t.setSelection(t.createPositionAfter(a.end.nodeBefore))}else if(""!==e){const r=Object(a.toMap)(n.getAttributes());r.set("linkHref",e),o.forEach(e=>{r.set(e,!0)});const{end:s}=i.insertContent(t.createText(e,r),c);t.setSelection(s)}["linkHref",...o,...s].forEach(e=>{t.removeSelectionAttribute(e)})}else{const r=i.schema.getValidRanges(n.getRanges(),"linkHref"),a=[];for(const e of n.getSelectedBlocks())i.schema.checkAttribute(e,"linkHref")&&a.push(t.createRangeOn(e));const c=a.slice();for(const e of r)this._isRangeToUpdate(e,a)&&c.push(e);for(const i of c)t.setAttribute("linkHref",e,i),o.forEach(e=>{t.setAttribute(e,!0,i)}),s.forEach(e=>{t.removeAttribute(e,i)})}})}_getDecoratorStateFromModel(e){const t=this.editor.model,i=t.document.selection,n=i.getSelectedElement();return X(n,t.schema)?n.getAttribute(e):i.getAttribute(e)}_isRangeToUpdate(e,t){for(const i of t)if(i.containsRange(e))return!1;return!0}}class ie extends n.Command{refresh(){const e=this.editor.model,t=e.document.selection,i=t.getSelectedElement();X(i,e.schema)?this.isEnabled=e.schema.checkAttribute(i,"linkHref"):this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref")}execute(){const e=this.editor,t=this.editor.model,i=t.document.selection,n=e.commands.get("link");t.change(e=>{const o=i.isCollapsed?[Object(r.findAttributeRange)(i.getFirstPosition(),"linkHref",i.getAttribute("linkHref"),t)]:t.schema.getValidRanges(i.getRanges(),"linkHref");for(const t of o)if(e.removeAttribute("linkHref",t),n)for(const i of n.manualDecorators)e.removeAttribute(i.id,t)})}}class ne{constructor({id:e,label:t,attributes:i,classes:n,styles:o,defaultValue:r}){this.id=e,this.set("value"),this.defaultValue=r,this.label=t,this.attributes=i,this.classes=n,this.styles=o}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}Object(a.mix)(ne,a.ObservableMixin);i(12);const oe=/^(https?:)?\/\//;class re extends n.Plugin{static get pluginName(){return"LinkEditing"}static get requires(){return[r.TwoStepCaretMovement,r.Input,s.ClipboardPipeline]}constructor(e){super(e),e.config.define("link",{addTargetToExternalLinks:!1})}init(){const e=this.editor;e.model.schema.extend("$text",{allowAttributes:"linkHref"}),e.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:J}),e.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(e,t)=>J(G(e),t)}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:e=>e.getAttribute("href")}}),e.commands.add("link",new te(e)),e.commands.add("unlink",new ie(e));const t=function(e,t){const i={"Open in a new tab":e("Open in a new tab"),Downloadable:e("Downloadable")};return t.forEach(e=>(e.label&&i[e.label]&&(e.label=i[e.label]),e)),t}(e.t,function(e){const t=[];if(e)for(const[i,n]of Object.entries(e)){const e=Object.assign({},n,{id:"link"+Z(i)});t.push(e)}return t}(e.config.get("link.decorators")));this._enableAutomaticDecorators(t.filter(e=>"automatic"===e.mode)),this._enableManualDecorators(t.filter(e=>"manual"===e.mode));e.plugins.get(r.TwoStepCaretMovement).registerAttribute("linkHref"),Object(r.inlineHighlight)(e,"linkHref","a","ck-link_selected"),this._enableInsertContentSelectionAttributesFixer(),this._enableClickingAfterLink(),this._enableTypingOverLink(),this._handleDeleteContentAfterLink()}_enableAutomaticDecorators(e){const t=this.editor,i=t.commands.get("link").automaticDecorators;t.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:"automatic",callback:e=>oe.test(e),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(e),i.length&&t.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(e){if(!e.length)return;const t=this.editor,i=t.commands.get("link").manualDecorators;e.forEach(e=>{t.model.schema.extend("$text",{allowAttributes:e.id}),e=new ne(e),i.add(e),t.conversion.for("downcast").attributeToElement({model:e.id,view:(t,{writer:i})=>{if(t){const t=i.createAttributeElement("a",e.attributes,{priority:5});e.classes&&i.addClass(e.classes,t);for(const n in e.styles)i.setStyle(n,e.styles[n],t);return i.setCustomProperty("link",!0,t),t}}}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",...e._createPattern()},model:{key:e.id}})})}_enableInsertContentSelectionAttributesFixer(){const e=this.editor.model,t=e.document.selection;this.listenTo(e,"insertContent",()=>{const i=t.anchor.nodeBefore,n=t.anchor.nodeAfter;t.hasAttribute("linkHref")&&i&&i.hasAttribute("linkHref")&&(n&&n.hasAttribute("linkHref")||e.change(t=>{se(t,ce(e.schema))}))},{priority:"low"})}_enableClickingAfterLink(){const e=this.editor,t=e.model;e.editing.view.addObserver(o.MouseObserver);let i=!1;this.listenTo(e.editing.view.document,"mousedown",()=>{i=!0}),this.listenTo(e.editing.view.document,"selectionChange",()=>{if(!i)return;i=!1;const e=t.document.selection;if(!e.isCollapsed)return;if(!e.hasAttribute("linkHref"))return;const n=e.getFirstPosition(),o=Object(r.findAttributeRange)(n,"linkHref",e.getAttribute("linkHref"),t);(n.isTouching(o.start)||n.isTouching(o.end))&&t.change(e=>{se(e,ce(t.schema))})})}_enableTypingOverLink(){const e=this.editor,t=e.editing.view;let i,n;this.listenTo(t.document,"delete",()=>{n=!0},{priority:"high"}),this.listenTo(e.model,"deleteContent",()=>{const t=e.model.document.selection;t.isCollapsed||(n?n=!1:ae(e)&&function(e){const t=e.document.selection,i=t.getFirstPosition(),n=t.getLastPosition(),o=i.nodeAfter;if(!o)return!1;if(!o.is("$text"))return!1;if(!o.hasAttribute("linkHref"))return!1;const s=n.textNode||n.nodeBefore;if(o===s)return!0;return Object(r.findAttributeRange)(i,"linkHref",o.getAttribute("linkHref"),e).containsRange(e.createRange(i,n),!0)}(e.model)&&(i=t.getAttributes()))},{priority:"high"}),this.listenTo(e.model,"insertContent",(t,[o])=>{n=!1,ae(e)&&i&&(e.model.change(e=>{for(const[t,n]of i)e.setAttribute(t,n,o)}),i=null)},{priority:"high"})}_handleDeleteContentAfterLink(){const e=this.editor,t=e.model,i=t.document.selection,n=e.editing.view;let o=!1,s=!1;this.listenTo(n.document,"delete",(e,t)=>{s=t.domEvent.keyCode===a.keyCodes.backspace},{priority:"high"}),this.listenTo(t,"deleteContent",()=>{o=!1;const e=i.getFirstPosition(),n=i.getAttribute("linkHref");if(!n)return;const s=Object(r.findAttributeRange)(e,"linkHref",n,t);o=s.containsPosition(e)||s.end.isEqual(e)},{priority:"high"}),this.listenTo(t,"deleteContent",()=>{s&&(s=!1,o||e.model.enqueueChange(e=>{se(e,ce(t.schema))}))},{priority:"low"})}}function se(e,t){e.removeSelectionAttribute("linkHref");for(const i of t)e.removeSelectionAttribute(i)}function ae(e){return e.plugins.get("Input").isInput(e.model.change(e=>e.batch))}function ce(e){return e.getDefinition("$text").allowAttributes.filter(e=>e.startsWith("link"))}var le=i(0),ue=i(10);i(7),i(15);class de extends le.View{constructor(e,t){super(e);const i=e.t;this.focusTracker=new a.FocusTracker,this.keystrokes=new a.KeystrokeHandler,this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(i("Save"),n.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(i("Cancel"),n.icons.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(t),this.children=this._createFormChildren(t.manualDecorators),this._focusables=new le.ViewCollection,this._focusCycler=new le.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const o=["ck","ck-link-form","ck-responsive-form"];t.manualDecorators.length&&o.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:o,tabindex:"-1"},children:this.children}),Object(le.injectCssTransitionDisabler)(this)}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((e,t)=>(e[t.name]=t.isOn,e),{})}render(){super.render(),Object(le.submitHandler)({view:this});[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.element)}),this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const e=this.locale.t,t=new le.LabeledFieldView(this.locale,le.createLabeledInputText);return t.label=e("Link URL"),t}_createButton(e,t,i,n){const o=new le.ButtonView(this.locale);return o.set({label:e,icon:t,tooltip:!0}),o.extendTemplate({attributes:{class:i}}),n&&o.delegate("execute").to(this,n),o}_createManualDecoratorSwitches(e){const t=this.createCollection();for(const i of e.manualDecorators){const n=new le.SwitchButtonView(this.locale);n.set({name:i.id,label:i.label,withText:!0}),n.bind("isOn").toMany([i,e],"value",(e,t)=>void 0===t&&void 0===e?i.defaultValue:e),n.on("execute",()=>{i.set("value",!n.isOn)}),t.add(n)}return t}_createFormChildren(e){const t=this.createCollection();if(t.add(this.urlInputView),e.length){const e=new le.View;e.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map(e=>({tag:"li",children:[e],attributes:{class:["ck","ck-list__item"]}})),attributes:{class:["ck","ck-reset","ck-list"]}}),t.add(e)}return t.add(this.saveButtonView),t.add(this.cancelButtonView),t}}i(17);class ke extends le.View{constructor(e){super(e);const t=e.t;this.focusTracker=new a.FocusTracker,this.keystrokes=new a.KeystrokeHandler,this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(t("Unlink"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.077 15 .991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184zm4.919 10.562-1.414 1.414a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.061-1.06l1.414 1.414 1.414-1.415a.75.75 0 0 1 1.061 1.061l-1.414 1.414 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414z"/></svg>',"unlink"),this.editButtonView=this._createButton(t("Edit link"),n.icons.pencil,"edit"),this.set("href"),this._focusables=new le.ViewCollection,this._focusCycler=new le.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-actions","ck-responsive-form"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();[this.previewButtonView,this.editButtonView,this.unlinkButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.element)}),this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createButton(e,t,i){const n=new le.ButtonView(this.locale);return n.set({label:e,icon:t,tooltip:!0}),n.delegate("execute").to(this,i),n}_createPreviewButton(){const e=new le.ButtonView(this.locale),t=this.bindTemplate,i=this.t;return e.set({withText:!0,tooltip:i("Open link in new tab")}),e.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:t.to("href",e=>e&&G(e)),target:"_blank",rel:"noopener noreferrer"}}),e.bind("label").to(this,"href",e=>e||i("This link has no URL")),e.bind("isEnabled").to(this,"href",e=>!!e),e.template.tag="a",e.template.eventListeners={},e}}var fe='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.077 15 .991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184z"/></svg>';class he extends n.Plugin{static get requires(){return[le.ContextualBalloon]}static get pluginName(){return"LinkUI"}init(){const e=this.editor;e.editing.view.addObserver(o.ClickObserver),this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._balloon=e.plugins.get(le.ContextualBalloon),this._createToolbarLinkButton(),this._enableUserBalloonInteractions(),e.conversion.for("editingDowncast").markerToHighlight({model:"link-ui",view:{classes:["ck-fake-link-selection"]}}),e.conversion.for("editingDowncast").markerToElement({model:"link-ui",view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView.destroy()}_createActionsView(){const e=this.editor,t=new ke(e.locale),i=e.commands.get("link"),n=e.commands.get("unlink");return t.bind("href").to(i,"value"),t.editButtonView.bind("isEnabled").to(i),t.unlinkButtonView.bind("isEnabled").to(n),this.listenTo(t,"edit",()=>{this._addFormView()}),this.listenTo(t,"unlink",()=>{e.execute("unlink"),this._hideUI()}),t.keystrokes.set("Esc",(e,t)=>{this._hideUI(),t()}),t.keystrokes.set("Ctrl+K",(e,t)=>{this._addFormView(),t()}),t}_createFormView(){const e=this.editor,t=e.commands.get("link"),i=e.config.get("link.defaultProtocol"),n=new de(e.locale,t);return n.urlInputView.fieldView.bind("value").to(t,"value"),n.urlInputView.bind("isReadOnly").to(t,"isEnabled",e=>!e),n.saveButtonView.bind("isEnabled").to(t),this.listenTo(n,"submit",()=>{const{value:t}=n.urlInputView.fieldView.element,o=ee(t,i);e.execute("link",o,n.getDecoratorSwitchesState()),this._closeFormView()}),this.listenTo(n,"cancel",()=>{this._closeFormView()}),n.keystrokes.set("Esc",(e,t)=>{this._closeFormView(),t()}),n}_createToolbarLinkButton(){const e=this.editor,t=e.commands.get("link"),i=e.t;e.keystrokes.set("Ctrl+K",(e,i)=>{i(),t.isEnabled&&this._showUI(!0)}),e.ui.componentFactory.add("link",e=>{const n=new le.ButtonView(e);return n.isEnabled=!0,n.label=i("Link"),n.icon=fe,n.keystroke="Ctrl+K",n.tooltip=!0,n.isToggleable=!0,n.bind("isEnabled").to(t,"isEnabled"),n.bind("isOn").to(t,"value",e=>!!e),this.listenTo(n,"execute",()=>this._showUI(!0)),n})}_enableUserBalloonInteractions(){const e=this.editor.editing.view.document;this.listenTo(e,"click",()=>{this._getSelectedLinkElement()&&this._showUI()}),this.editor.keystrokes.set("Tab",(e,t)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),t())},{priority:"high"}),this.editor.keystrokes.set("Esc",(e,t)=>{this._isUIVisible&&(this._hideUI(),t())}),Object(le.clickOutsideHandler)({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel)return;const e=this.editor.commands.get("link");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions(),this.formView.urlInputView.fieldView.element.value=e.value||""}_closeFormView(){const e=this.editor.commands.get("link");e.restoreManualDecoratorStates(),void 0!==e.value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(e=!1){this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),e&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),e&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const e=this.editor;this.stopListening(e.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),e.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const e=this.editor,t=e.editing.view.document;let i=this._getSelectedLinkElement(),n=r();const o=()=>{const e=this._getSelectedLinkElement(),t=r();i&&!e||!i&&t!==n?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),i=e,n=t};function r(){return t.selection.focus.getAncestors().reverse().find(e=>e.is("element"))}this.listenTo(e.ui,"update",o),this.listenTo(this._balloon,"change:visibleView",o)}get _isFormInPanel(){return this._balloon.hasView(this.formView)}get _areActionsInPanel(){return this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){return this._balloon.visibleView==this.formView||this._areActionsVisible}_getBalloonPositionData(){const e=this.editor.editing.view,t=this.editor.model,i=e.document;let n=null;if(t.markers.has("link-ui")){const t=Array.from(this.editor.editing.mapper.markerNameToElements("link-ui")),i=e.createRange(e.createPositionBefore(t[0]),e.createPositionAfter(t[t.length-1]));n=e.domConverter.viewRangeToDom(i)}else n=()=>{const t=this._getSelectedLinkElement();return t?e.domConverter.mapViewToDom(t):e.domConverter.viewRangeToDom(i.selection.getFirstRange())};return{target:n}}_getSelectedLinkElement(){const e=this.editor.editing.view,t=e.document.selection,i=t.getSelectedElement();if(t.isCollapsed||i&&Object(ue.isWidget)(i))return me(t.getFirstPosition());{const i=t.getFirstRange().getTrimmed(),n=me(i.start),o=me(i.end);return n&&n==o&&e.createRangeIn(n).getTrimmed().isEqual(i)?n:null}}_showFakeVisualSelection(){const e=this.editor.model;e.change(t=>{const i=e.document.selection.getFirstRange();if(e.markers.has("link-ui"))t.updateMarker("link-ui",{range:i});else if(i.start.isAtEnd){const n=i.start.getLastMatchingPosition(({item:t})=>!e.schema.isContent(t),{boundaries:i});t.addMarker("link-ui",{usingOperation:!1,affectsData:!1,range:t.createRange(n,i.end)})}else t.addMarker("link-ui",{usingOperation:!1,affectsData:!1,range:i})})}_hideFakeVisualSelection(){const e=this.editor.model;e.markers.has("link-ui")&&e.change(e=>{e.removeMarker("link-ui")})}}function me(e){return e.getAncestors().find(e=>{return(t=e).is("attributeElement")&&!!t.getCustomProperty("link");var t})}const ge=new RegExp("(^|\\s)(((?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(((?!www\\.)|(www\\.))(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+(?:[a-z\\u00a1-\\uffff]{2,63})))(?::\\d{2,5})?(?:[/?#]\\S*)?)|((www.|(\\S+@))((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+(?:[a-z\\u00a1-\\uffff]{2,63})))$","i");class be extends n.Plugin{static get requires(){return[r.Delete]}static get pluginName(){return"AutoLink"}init(){const e=this.editor.model.document.selection;e.on("change:range",()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling()}_enableTypingHandling(){const e=this.editor,t=new r.TextWatcher(e.model,e=>{if(!function(e){return e.length>4&&" "===e[e.length-1]&&" "!==e[e.length-2]}(e))return;const t=pe(e.substr(0,e.length-1));return t?{url:t}:void 0}),i=e.plugins.get("Input");t.on("matched:data",(t,n)=>{const{batch:o,range:r,url:s}=n;if(!i.isInput(o))return;const a=r.end.getShiftedBy(-1),c=a.getShiftedBy(-s.length),l=e.model.createRange(c,a);this._applyAutoLink(s,l)}),t.bind("isEnabled").to(this)}_enableEnterHandling(){const e=this.editor,t=e.model,i=e.commands.get("enter");i&&i.on("execute",()=>{const e=t.document.selection.getFirstPosition();if(!e.parent.previousSibling)return;const i=t.createRangeIn(e.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(i)})}_enableShiftEnterHandling(){const e=this.editor,t=e.model,i=e.commands.get("shiftEnter");i&&i.on("execute",()=>{const e=t.document.selection.getFirstPosition(),i=t.createRange(t.createPositionAt(e.parent,0),e.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(i)})}_checkAndApplyAutoLinkOnRange(e){const t=this.editor.model,{text:i,range:n}=Object(r.getLastTextLine)(e,t),o=pe(i);if(o){const e=t.createRange(n.end.getShiftedBy(-o.length),n.end);this._applyAutoLink(o,e)}}_applyAutoLink(e,t){const i=this.editor.model,n=this.editor.plugins.get("Delete");this.isEnabled&&function(e,t){return t.schema.checkAttributeInSelection(t.createSelection(e),"linkHref")}(t,i)&&i.enqueueChange(o=>{const r=this.editor.config.get("link.defaultProtocol"),s=ee(e,r);o.setAttribute("linkHref",s,t),i.enqueueChange(()=>{n.requestUndoOnBackspace()})})}}function pe(e){const t=ge.exec(e);return t?t[2]:null}class we extends n.Plugin{static get requires(){return[re,he,be]}static get pluginName(){return"Link"}}class ve extends n.Plugin{static get requires(){return["ImageEditing","ImageUtils",re]}static get pluginName(){return"LinkImageEditing"}init(){const e=this.editor,t=e.model.schema;e.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["linkHref"]}),e.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["linkHref"]}),e.conversion.for("upcast").add(function(e){const t=e.plugins.has("ImageInlineEditing"),i=e.plugins.get("ImageUtils");return e=>{e.on("element:a",(e,n,o)=>{const r=n.viewItem,s=i.findViewImgElement(r);if(!s)return;const a=s.findAncestor(e=>i.isBlockImageView(e));if(t&&!a)return;if(!o.consumable.consume(r,{attributes:["href"]}))return;const c=r.getAttribute("href");if(!c)return;let l=n.modelCursor.parent;if(!l.is("element","imageBlock")){const e=o.convertItem(s,n.modelCursor);n.modelRange=e.modelRange,n.modelCursor=e.modelCursor,l=n.modelCursor.nodeBefore}l&&l.is("element","imageBlock")&&o.writer.setAttribute("linkHref",c,l)},{priority:"high"})}}(e)),e.conversion.for("downcast").add(function(e){const t=e.plugins.get("ImageUtils");return e=>{e.on("attribute:linkHref:imageBlock",(e,i,n)=>{if(!n.consumable.consume(i.item,e.name))return;const o=n.mapper.toViewElement(i.item),r=n.writer,s=Array.from(o.getChildren()).find(e=>"a"===e.name),a=t.findViewImgElement(o),c=a.parent.is("element","picture")?a.parent:a;if(s)i.attributeNewValue?r.setAttribute("href",i.attributeNewValue,s):(r.move(r.createRangeOn(c),r.createPositionAt(o,0)),r.remove(s));else{const e=r.createContainerElement("a",{href:i.attributeNewValue});r.insert(r.createPositionAt(o,0),e),r.move(r.createRangeOn(c),r.createPositionAt(e,0))}},{priority:"high"})}}(e)),this._enableAutomaticDecorators(),this._enableManualDecorators()}_enableAutomaticDecorators(){const e=this.editor,t=e.commands.get("link").automaticDecorators;t.length&&e.conversion.for("downcast").add(t.getDispatcherForLinkedImage())}_enableManualDecorators(){const e=this.editor,t=e.commands.get("link");for(const i of t.manualDecorators)e.plugins.has("ImageBlockEditing")&&e.model.schema.extend("imageBlock",{allowAttributes:i.id}),e.plugins.has("ImageInlineEditing")&&e.model.schema.extend("imageInline",{allowAttributes:i.id}),e.conversion.for("downcast").add(_e(i)),e.conversion.for("upcast").add(ye(e,i))}}function _e(e){return t=>{t.on(`attribute:${e.id}:imageBlock`,(t,i,n)=>{const o=n.mapper.toViewElement(i.item),r=Array.from(o.getChildren()).find(e=>"a"===e.name);if(r){for(const[t,i]of Object(a.toMap)(e.attributes))n.writer.setAttribute(t,i,r);e.classes&&n.writer.addClass(e.classes,r);for(const t in e.styles)n.writer.setStyle(t,e.styles[t],r)}})}}function ye(e,t){const i=e.plugins.get("ImageUtils");return e=>{e.on("element:a",(e,n,r)=>{const s=n.viewItem;if(!i.findViewImgElement(s))return;const a=new o.Matcher(t._createPattern()).match(s);if(!a)return;if(!r.consumable.consume(s,a.match))return;const c=n.modelCursor.nodeBefore||n.modelCursor.parent;r.writer.setAttribute(t.id,!0,c)},{priority:"high"})}}class Ae extends n.Plugin{static get requires(){return[re,he,"ImageBlockEditing"]}static get pluginName(){return"LinkImageUI"}init(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"click",(t,i)=>{this._isSelectedLinkedImage(e.model.document.selection)&&(i.preventDefault(),t.stop())},{priority:"high"}),this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const e=this.editor,t=e.t;e.ui.componentFactory.add("linkImage",i=>{const n=new le.ButtonView(i),o=e.plugins.get("LinkUI"),r=e.commands.get("link");return n.set({isEnabled:!0,label:t("Link image"),icon:fe,keystroke:"Ctrl+K",tooltip:!0,isToggleable:!0}),n.bind("isEnabled").to(r,"isEnabled"),n.bind("isOn").to(r,"value",e=>!!e),this.listenTo(n,"execute",()=>{this._isSelectedLinkedImage(e.model.document.selection)?o._addActionsView():o._showUI(!0)}),n})}_isSelectedLinkedImage(e){const t=e.getSelectedElement();return this.editor.plugins.get("ImageUtils").isImage(t)&&t.hasAttribute("linkHref")}}i(19);class xe extends n.Plugin{static get requires(){return[ve,Ae]}static get pluginName(){return"LinkImage"}}}]);
\ No newline at end of file
+ */(()=>{var e={23:(e,t,i)=>{"use strict";i.d(t,{Z:()=>r});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}",""]);const r=o},952:(e,t,i)=>{"use strict";i.d(t,{Z:()=>r});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{max-width:100%;min-width:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}",""]);const r=o},871:(e,t,i)=>{"use strict";i.d(t,{Z:()=>r});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{min-width:var(--ck-input-width);padding:0}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical .ck-button{border:0;border-radius:0;border-top:1px solid var(--ck-color-base-border);margin:0;padding:var(--ck-spacing-standard);width:50%}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:var(--ck-spacing-standard) var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{border:0;padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}",""]);const r=o},269:(e,t,i)=>{"use strict";i.d(t,{Z:()=>r});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{background-color:rgba(0,0,0,.4);background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:100%;content:"";height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));overflow:hidden;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}',""]);const r=o},764:(e,t,i)=>{"use strict";i.d(t,{Z:()=>r});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck-vertical-form .ck-button:after{bottom:var(--ck-spacing-small);content:"";position:absolute;right:-1px;top:var(--ck-spacing-small);width:0;z-index:1}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:var(--ck-spacing-small);content:"";position:absolute;right:-1px;top:var(--ck-spacing-small);width:0;z-index:1}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border:0;border-radius:0;border-top:1px solid var(--ck-color-base-border);margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after,[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',""]);const r=o},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=e(t);return t[2]?"@media ".concat(t[2]," {").concat(i,"}"):i})).join("")},t.i=function(e,i,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var r=0;r<this.length;r++){var s=this[r][0];null!=s&&(o[s]=!0)}for(var a=0;a<e.length;a++){var c=[].concat(e[a]);n&&o[c[0]]||(i&&(c[2]?c[2]="".concat(i," and ").concat(c[2]):c[2]=i),t.push(c))}},t}},62:(e,t,i)=>{"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},r=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),s=[];function a(e){for(var t=-1,i=0;i<s.length;i++)if(s[i].identifier===e){t=i;break}return t}function c(e,t){for(var i={},n=[],o=0;o<e.length;o++){var r=e[o],c=t.base?r[0]+t.base:r[0],l=i[c]||0,u="".concat(c," ").concat(l);i[c]=l+1;var d=a(u),k={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(s[d].references++,s[d].updater(k)):s.push({identifier:u,updater:g(k,t),references:1}),n.push(u)}return n}function l(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var o=i.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var s=r(e.insert||"head");if(!s)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");s.appendChild(t)}return t}var u,d=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function k(e,t,i,n){var o=i?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=d(t,o);else{var r=document.createTextNode(o),s=e.childNodes;s[t]&&e.removeChild(s[t]),s.length?e.insertBefore(r,s[t]):e.appendChild(r)}}function h(e,t,i){var n=i.css,o=i.media,r=i.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),r&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var f=null,m=0;function g(e,t){var i,n,o;if(t.singleton){var r=m++;i=f||(f=l(t)),n=k.bind(null,i,r,!1),o=k.bind(null,i,r,!0)}else i=l(t),n=h.bind(null,i,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(i)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var i=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<i.length;n++){var o=a(i[n]);s[o].references--}for(var r=c(e,t),l=0;l<i.length;l++){var u=a(i[l]);0===s[u].references&&(s[u].updater(),s.splice(u,1))}i=r}}}},945:(e,t,i)=>{e.exports=i(79)("./src/clipboard.js")},704:(e,t,i)=>{e.exports=i(79)("./src/core.js")},492:(e,t,i)=>{e.exports=i(79)("./src/engine.js")},181:(e,t,i)=>{e.exports=i(79)("./src/typing.js")},273:(e,t,i)=>{e.exports=i(79)("./src/ui.js")},209:(e,t,i)=>{e.exports=i(79)("./src/utils.js")},995:(e,t,i)=>{e.exports=i(79)("./src/widget.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={id:n,exports:{}};return e[n](r,r.exports,i),r.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";i.r(n),i.d(n,{AutoLink:()=>Ce,Link:()=>Me,LinkEditing:()=>ke,LinkImage:()=>Pe,LinkImageEditing:()=>je,LinkImageUI:()=>He,LinkUI:()=>Ee});var e=i(704),t=i(492),o=i(181),r=i(945),s=i(209);class a{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(e){Array.isArray(e)?e.forEach((e=>this._definitions.add(e))):this._definitions.add(e)}getDispatcher(){return e=>{e.on("attribute:linkHref",((e,t,i)=>{if(!i.consumable.test(t.item,"attribute:linkHref"))return;if(!t.item.is("selection")&&!i.schema.isInline(t.item))return;const n=i.writer,o=n.document.selection;for(const e of this._definitions){const r=n.createAttributeElement("a",e.attributes,{priority:5});e.classes&&n.addClass(e.classes,r);for(const t in e.styles)n.setStyle(t,e.styles[t],r);n.setCustomProperty("link",!0,r),e.callback(t.attributeNewValue)?t.item.is("selection")?n.wrap(o.getFirstRange(),r):n.wrap(i.mapper.toViewRange(t.range),r):n.unwrap(i.mapper.toViewRange(t.range),r)}}),{priority:"high"})}}getDispatcherForLinkedImage(){return e=>{e.on("attribute:linkHref:imageBlock",((e,t,{writer:i,mapper:n})=>{const o=n.toViewElement(t.item),r=Array.from(o.getChildren()).find((e=>"a"===e.name));for(const e of this._definitions){const n=(0,s.toMap)(e.attributes);if(e.callback(t.attributeNewValue)){for(const[e,t]of n)"class"===e?i.addClass(t,r):i.setAttribute(e,t,r);e.classes&&i.addClass(e.classes,r);for(const t in e.styles)i.setStyle(t,e.styles[t],r)}else{for(const[e,t]of n)"class"===e?i.removeClass(t,r):i.removeAttribute(e,r);e.classes&&i.removeClass(e.classes,r);for(const t in e.styles)i.removeStyle(t,r)}}}))}}}const c=function(e,t,i){var n=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(i=i>o?o:i)<0&&(i+=o),o=t>i?0:i-t>>>0,t>>>=0;for(var r=Array(o);++n<o;)r[n]=e[n+t];return r};const l=function(e,t,i){var n=e.length;return i=void 0===i?n:i,!t&&i>=n?e:c(e,t,i)};var u=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const d=function(e){return u.test(e)};const k=function(e){return e.split("")};var h="[\\ud800-\\udfff]",f="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",m="\\ud83c[\\udffb-\\udfff]",g="[^\\ud800-\\udfff]",b="(?:\\ud83c[\\udde6-\\uddff]){2}",p="[\\ud800-\\udbff][\\udc00-\\udfff]",w="(?:"+f+"|"+m+")"+"?",v="[\\ufe0e\\ufe0f]?",_=v+w+("(?:\\u200d(?:"+[g,b,p].join("|")+")"+v+w+")*"),y="(?:"+[g+f+"?",f,b,p,h].join("|")+")",A=RegExp(m+"(?="+m+")|"+y+_,"g");const x=function(e){return e.match(A)||[]};const I=function(e){return d(e)?x(e):k(e)};const S="object"==typeof global&&global&&global.Object===Object&&global;var T="object"==typeof self&&self&&self.Object===Object&&self;const E=(S||T||Function("return this")()).Symbol;const V=function(e,t){for(var i=-1,n=null==e?0:e.length,o=Array(n);++i<n;)o[i]=t(e[i],i,e);return o};const L=Array.isArray;var C=Object.prototype,D=C.hasOwnProperty,M=C.toString,j=E?E.toStringTag:void 0;const B=function(e){var t=D.call(e,j),i=e[j];try{e[j]=void 0;var n=!0}catch(e){}var o=M.call(e);return n&&(t?e[j]=i:delete e[j]),o};var N=Object.prototype.toString;const H=function(e){return N.call(e)};var O=E?E.toStringTag:void 0;const U=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":O&&O in Object(e)?B(e):H(e)};const P=function(e){return null!=e&&"object"==typeof e};const F=function(e){return"symbol"==typeof e||P(e)&&"[object Symbol]"==U(e)};var R=E?E.prototype:void 0,z=R?R.toString:void 0;const Z=function e(t){if("string"==typeof t)return t;if(L(t))return V(t,e)+"";if(F(t))return z?z.call(t):"";var i=t+"";return"0"==i&&1/t==-Infinity?"-0":i};const q=function(e){return null==e?"":Z(e)};const K=function(e){return function(t){t=q(t);var i=d(t)?I(t):void 0,n=i?i[0]:t.charAt(0),o=i?l(i,1).join(""):t.slice(1);return n[e]()+o}}("toUpperCase"),Q=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,$=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,W=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,Y=/^((\w+:(\/{2,})?)|(\W))/i,G="Ctrl+K";function J(e,{writer:t}){const i=t.createAttributeElement("a",{href:e},{priority:5});return t.setCustomProperty("link",!0,i),i}function X(e){return function(e){return e.replace(Q,"").match($)}(e=String(e))?e:"#"}function ee(e,t){return!!e&&t.checkAttribute(e.name,"linkHref")}function te(e,t){const i=(n=e,W.test(n)?"mailto:":t);var n;const o=!!i&&!Y.test(e);return e&&o?i+e:e}function ie(e){window.open(e,"_blank","noopener")}class ne extends e.Command{constructor(e){super(e),this.manualDecorators=new s.Collection,this.automaticDecorators=new a}restoreManualDecoratorStates(){for(const e of this.manualDecorators)e.value=this._getDecoratorStateFromModel(e.id)}refresh(){const e=this.editor.model,t=e.document.selection,i=t.getSelectedElement()||(0,s.first)(t.getSelectedBlocks());ee(i,e.schema)?(this.value=i.getAttribute("linkHref"),this.isEnabled=e.schema.checkAttribute(i,"linkHref")):(this.value=t.getAttribute("linkHref"),this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref"));for(const e of this.manualDecorators)e.value=this._getDecoratorStateFromModel(e.id)}execute(e,t={}){const i=this.editor.model,n=i.document.selection,r=[],a=[];for(const e in t)t[e]?r.push(e):a.push(e);i.change((t=>{if(n.isCollapsed){const c=n.getFirstPosition();if(n.hasAttribute("linkHref")){const s=(0,o.findAttributeRange)(c,"linkHref",n.getAttribute("linkHref"),i);t.setAttribute("linkHref",e,s),r.forEach((e=>{t.setAttribute(e,!0,s)})),a.forEach((e=>{t.removeAttribute(e,s)})),t.setSelection(t.createPositionAfter(s.end.nodeBefore))}else if(""!==e){const o=(0,s.toMap)(n.getAttributes());o.set("linkHref",e),r.forEach((e=>{o.set(e,!0)}));const{end:a}=i.insertContent(t.createText(e,o),c);t.setSelection(a)}["linkHref",...r,...a].forEach((e=>{t.removeSelectionAttribute(e)}))}else{const o=i.schema.getValidRanges(n.getRanges(),"linkHref"),s=[];for(const e of n.getSelectedBlocks())i.schema.checkAttribute(e,"linkHref")&&s.push(t.createRangeOn(e));const c=s.slice();for(const e of o)this._isRangeToUpdate(e,s)&&c.push(e);for(const i of c)t.setAttribute("linkHref",e,i),r.forEach((e=>{t.setAttribute(e,!0,i)})),a.forEach((e=>{t.removeAttribute(e,i)}))}}))}_getDecoratorStateFromModel(e){const t=this.editor.model,i=t.document.selection,n=i.getSelectedElement();return ee(n,t.schema)?n.getAttribute(e):i.getAttribute(e)}_isRangeToUpdate(e,t){for(const i of t)if(i.containsRange(e))return!1;return!0}}class oe extends e.Command{refresh(){const e=this.editor.model,t=e.document.selection,i=t.getSelectedElement();ee(i,e.schema)?this.isEnabled=e.schema.checkAttribute(i,"linkHref"):this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref")}execute(){const e=this.editor,t=this.editor.model,i=t.document.selection,n=e.commands.get("link");t.change((e=>{const r=i.isCollapsed?[(0,o.findAttributeRange)(i.getFirstPosition(),"linkHref",i.getAttribute("linkHref"),t)]:t.schema.getValidRanges(i.getRanges(),"linkHref");for(const t of r)if(e.removeAttribute("linkHref",t),n)for(const i of n.manualDecorators)e.removeAttribute(i.id,t)}))}}class re{constructor({id:e,label:t,attributes:i,classes:n,styles:o,defaultValue:r}){this.id=e,this.set("value"),this.defaultValue=r,this.label=t,this.attributes=i,this.classes=n,this.styles=o}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}(0,s.mix)(re,s.ObservableMixin);var se=i(62),ae=i.n(se),ce=i(23),le={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(ce.Z,le);ce.Z.locals;const ue="automatic",de=/^(https?:)?\/\//;class ke extends e.Plugin{static get pluginName(){return"LinkEditing"}static get requires(){return[o.TwoStepCaretMovement,o.Input,r.ClipboardPipeline]}constructor(e){super(e),e.config.define("link",{addTargetToExternalLinks:!1})}init(){const e=this.editor;e.model.schema.extend("$text",{allowAttributes:"linkHref"}),e.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:J}),e.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(e,t)=>J(X(e),t)}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:e=>e.getAttribute("href")}}),e.commands.add("link",new ne(e)),e.commands.add("unlink",new oe(e));const t=function(e,t){const i={"Open in a new tab":e("Open in a new tab"),Downloadable:e("Downloadable")};return t.forEach((e=>(e.label&&i[e.label]&&(e.label=i[e.label]),e))),t}(e.t,function(e){const t=[];if(e)for(const[i,n]of Object.entries(e)){const e=Object.assign({},n,{id:`link${K(i)}`});t.push(e)}return t}(e.config.get("link.decorators")));this._enableAutomaticDecorators(t.filter((e=>e.mode===ue))),this._enableManualDecorators(t.filter((e=>"manual"===e.mode)));e.plugins.get(o.TwoStepCaretMovement).registerAttribute("linkHref"),(0,o.inlineHighlight)(e,"linkHref","a","ck-link_selected"),this._enableLinkOpen(),this._enableInsertContentSelectionAttributesFixer(),this._enableClickingAfterLink(),this._enableTypingOverLink(),this._handleDeleteContentAfterLink()}_enableAutomaticDecorators(e){const t=this.editor,i=t.commands.get("link").automaticDecorators;t.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:ue,callback:e=>de.test(e),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(e),i.length&&t.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(e){if(!e.length)return;const t=this.editor,i=t.commands.get("link").manualDecorators;e.forEach((e=>{t.model.schema.extend("$text",{allowAttributes:e.id}),e=new re(e),i.add(e),t.conversion.for("downcast").attributeToElement({model:e.id,view:(t,{writer:i,schema:n},{item:o})=>{if(n.isInline(o)&&t){const t=i.createAttributeElement("a",e.attributes,{priority:5});e.classes&&i.addClass(e.classes,t);for(const n in e.styles)i.setStyle(n,e.styles[n],t);return i.setCustomProperty("link",!0,t),t}}}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",...e._createPattern()},model:{key:e.id}})}))}_enableLinkOpen(){const e=this.editor,t=e.editing.view.document,i=e.model.document;this.listenTo(t,"click",((e,t)=>{if(!(s.env.isMac?t.domEvent.metaKey:t.domEvent.ctrlKey))return;let i=t.domTarget;if("a"!=i.tagName.toLowerCase()&&(i=i.closest("a")),!i)return;const n=i.getAttribute("href");n&&(e.stop(),t.preventDefault(),ie(n))}),{context:"$capture"}),this.listenTo(t,"enter",((e,t)=>{const n=i.selection,o=n.getSelectedElement(),r=o?o.getAttribute("linkHref"):n.getAttribute("linkHref");r&&t.domEvent.altKey&&(e.stop(),ie(r))}),{context:"a"})}_enableInsertContentSelectionAttributesFixer(){const e=this.editor.model,t=e.document.selection;this.listenTo(e,"insertContent",(()=>{const i=t.anchor.nodeBefore,n=t.anchor.nodeAfter;t.hasAttribute("linkHref")&&i&&i.hasAttribute("linkHref")&&(n&&n.hasAttribute("linkHref")||e.change((t=>{he(t,me(e.schema))})))}),{priority:"low"})}_enableClickingAfterLink(){const e=this.editor,i=e.model;e.editing.view.addObserver(t.MouseObserver);let n=!1;this.listenTo(e.editing.view.document,"mousedown",(()=>{n=!0})),this.listenTo(e.editing.view.document,"selectionChange",(()=>{if(!n)return;n=!1;const e=i.document.selection;if(!e.isCollapsed)return;if(!e.hasAttribute("linkHref"))return;const t=e.getFirstPosition(),r=(0,o.findAttributeRange)(t,"linkHref",e.getAttribute("linkHref"),i);(t.isTouching(r.start)||t.isTouching(r.end))&&i.change((e=>{he(e,me(i.schema))}))}))}_enableTypingOverLink(){const e=this.editor,t=e.editing.view;let i,n;this.listenTo(t.document,"delete",(()=>{n=!0}),{priority:"high"}),this.listenTo(e.model,"deleteContent",(()=>{const t=e.model.document.selection;t.isCollapsed||(n?n=!1:fe(e)&&function(e){const t=e.document.selection,i=t.getFirstPosition(),n=t.getLastPosition(),r=i.nodeAfter;if(!r)return!1;if(!r.is("$text"))return!1;if(!r.hasAttribute("linkHref"))return!1;const s=n.textNode||n.nodeBefore;if(r===s)return!0;return(0,o.findAttributeRange)(i,"linkHref",r.getAttribute("linkHref"),e).containsRange(e.createRange(i,n),!0)}(e.model)&&(i=t.getAttributes()))}),{priority:"high"}),this.listenTo(e.model,"insertContent",((t,[o])=>{n=!1,fe(e)&&i&&(e.model.change((e=>{for(const[t,n]of i)e.setAttribute(t,n,o)})),i=null)}),{priority:"high"})}_handleDeleteContentAfterLink(){const e=this.editor,t=e.model,i=t.document.selection,n=e.editing.view;let r=!1,a=!1;this.listenTo(n.document,"delete",((e,t)=>{a=t.domEvent.keyCode===s.keyCodes.backspace}),{priority:"high"}),this.listenTo(t,"deleteContent",(()=>{r=!1;const e=i.getFirstPosition(),n=i.getAttribute("linkHref");if(!n)return;const s=(0,o.findAttributeRange)(e,"linkHref",n,t);r=s.containsPosition(e)||s.end.isEqual(e)}),{priority:"high"}),this.listenTo(t,"deleteContent",(()=>{a&&(a=!1,r||e.model.enqueueChange((e=>{he(e,me(t.schema))})))}),{priority:"low"})}}function he(e,t){e.removeSelectionAttribute("linkHref");for(const i of t)e.removeSelectionAttribute(i)}function fe(e){return e.model.change((e=>e.batch)).isTyping}function me(e){return e.getDefinition("$text").allowAttributes.filter((e=>e.startsWith("link")))}var ge=i(273),be=i(995),pe=i(764),we={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(pe.Z,we);pe.Z.locals;var ve=i(871),_e={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(ve.Z,_e);ve.Z.locals;class ye extends ge.View{constructor(t,i){super(t);const n=t.t;this.focusTracker=new s.FocusTracker,this.keystrokes=new s.KeystrokeHandler,this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),e.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),e.icons.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(i),this.children=this._createFormChildren(i.manualDecorators),this._focusables=new ge.ViewCollection,this._focusCycler=new ge.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const o=["ck","ck-link-form","ck-responsive-form"];i.manualDecorators.length&&o.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:o,tabindex:"-1"},children:this.children}),(0,ge.injectCssTransitionDisabler)(this)}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((e,t)=>(e[t.name]=t.isOn,e)),{})}render(){super.render(),(0,ge.submitHandler)({view:this});[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const e=this.locale.t,t=new ge.LabeledFieldView(this.locale,ge.createLabeledInputText);return t.label=e("Link URL"),t}_createButton(e,t,i,n){const o=new ge.ButtonView(this.locale);return o.set({label:e,icon:t,tooltip:!0}),o.extendTemplate({attributes:{class:i}}),n&&o.delegate("execute").to(this,n),o}_createManualDecoratorSwitches(e){const t=this.createCollection();for(const i of e.manualDecorators){const n=new ge.SwitchButtonView(this.locale);n.set({name:i.id,label:i.label,withText:!0}),n.bind("isOn").toMany([i,e],"value",((e,t)=>void 0===t&&void 0===e?i.defaultValue:e)),n.on("execute",(()=>{i.set("value",!n.isOn)})),t.add(n)}return t}_createFormChildren(e){const t=this.createCollection();if(t.add(this.urlInputView),e.length){const e=new ge.View;e.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map((e=>({tag:"li",children:[e],attributes:{class:["ck","ck-list__item"]}}))),attributes:{class:["ck","ck-reset","ck-list"]}}),t.add(e)}return t.add(this.saveButtonView),t.add(this.cancelButtonView),t}}var Ae=i(952),xe={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(Ae.Z,xe);Ae.Z.locals;class Ie extends ge.View{constructor(t){super(t);const i=t.t;this.focusTracker=new s.FocusTracker,this.keystrokes=new s.KeystrokeHandler,this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(i("Unlink"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.077 15 .991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184zm4.919 10.562-1.414 1.414a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.061-1.06l1.414 1.414 1.414-1.415a.75.75 0 0 1 1.061 1.061l-1.414 1.414 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414z"/></svg>',"unlink"),this.editButtonView=this._createButton(i("Edit link"),e.icons.pencil,"edit"),this.set("href"),this._focusables=new ge.ViewCollection,this._focusCycler=new ge.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-actions","ck-responsive-form"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();[this.previewButtonView,this.editButtonView,this.unlinkButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(e,t,i){const n=new ge.ButtonView(this.locale);return n.set({label:e,icon:t,tooltip:!0}),n.delegate("execute").to(this,i),n}_createPreviewButton(){const e=new ge.ButtonView(this.locale),t=this.bindTemplate,i=this.t;return e.set({withText:!0,tooltip:i("Open link in new tab")}),e.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:t.to("href",(e=>e&&X(e))),target:"_blank",rel:"noopener noreferrer"}}),e.bind("label").to(this,"href",(e=>e||i("This link has no URL"))),e.bind("isEnabled").to(this,"href",(e=>!!e)),e.template.tag="a",e.template.eventListeners={},e}}const Se='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.077 15 .991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184z"/></svg>',Te="link-ui";class Ee extends e.Plugin{static get requires(){return[ge.ContextualBalloon]}static get pluginName(){return"LinkUI"}init(){const e=this.editor;e.editing.view.addObserver(t.ClickObserver),this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._balloon=e.plugins.get(ge.ContextualBalloon),this._createToolbarLinkButton(),this._enableUserBalloonInteractions(),e.conversion.for("editingDowncast").markerToHighlight({model:Te,view:{classes:["ck-fake-link-selection"]}}),e.conversion.for("editingDowncast").markerToElement({model:Te,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView.destroy()}_createActionsView(){const e=this.editor,t=new Ie(e.locale),i=e.commands.get("link"),n=e.commands.get("unlink");return t.bind("href").to(i,"value"),t.editButtonView.bind("isEnabled").to(i),t.unlinkButtonView.bind("isEnabled").to(n),this.listenTo(t,"edit",(()=>{this._addFormView()})),this.listenTo(t,"unlink",(()=>{e.execute("unlink"),this._hideUI()})),t.keystrokes.set("Esc",((e,t)=>{this._hideUI(),t()})),t.keystrokes.set(G,((e,t)=>{this._addFormView(),t()})),t}_createFormView(){const e=this.editor,t=e.commands.get("link"),i=e.config.get("link.defaultProtocol"),n=new ye(e.locale,t);return n.urlInputView.fieldView.bind("value").to(t,"value"),n.urlInputView.bind("isReadOnly").to(t,"isEnabled",(e=>!e)),n.saveButtonView.bind("isEnabled").to(t),this.listenTo(n,"submit",(()=>{const{value:t}=n.urlInputView.fieldView.element,o=te(t,i);e.execute("link",o,n.getDecoratorSwitchesState()),this._closeFormView()})),this.listenTo(n,"cancel",(()=>{this._closeFormView()})),n.keystrokes.set("Esc",((e,t)=>{this._closeFormView(),t()})),n}_createToolbarLinkButton(){const e=this.editor,t=e.commands.get("link"),i=e.t;e.keystrokes.set(G,((e,i)=>{i(),t.isEnabled&&this._showUI(!0)})),e.ui.componentFactory.add("link",(e=>{const n=new ge.ButtonView(e);return n.isEnabled=!0,n.label=i("Link"),n.icon=Se,n.keystroke=G,n.tooltip=!0,n.isToggleable=!0,n.bind("isEnabled").to(t,"isEnabled"),n.bind("isOn").to(t,"value",(e=>!!e)),this.listenTo(n,"execute",(()=>this._showUI(!0))),n}))}_enableUserBalloonInteractions(){const e=this.editor.editing.view.document;this.listenTo(e,"click",(()=>{this._getSelectedLinkElement()&&this._showUI()})),this.editor.keystrokes.set("Tab",((e,t)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),t())}),{priority:"high"}),this.editor.keystrokes.set("Esc",((e,t)=>{this._isUIVisible&&(this._hideUI(),t())})),(0,ge.clickOutsideHandler)({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel)return;const e=this.editor.commands.get("link");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions(),this.formView.urlInputView.fieldView.element.value=e.value||""}_closeFormView(){const e=this.editor.commands.get("link");e.restoreManualDecoratorStates(),void 0!==e.value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(e=!1){this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),e&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),e&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const e=this.editor;this.stopListening(e.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),e.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const e=this.editor,t=e.editing.view.document;let i=this._getSelectedLinkElement(),n=r();const o=()=>{const e=this._getSelectedLinkElement(),t=r();i&&!e||!i&&t!==n?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),i=e,n=t};function r(){return t.selection.focus.getAncestors().reverse().find((e=>e.is("element")))}this.listenTo(e.ui,"update",o),this.listenTo(this._balloon,"change:visibleView",o)}get _isFormInPanel(){return this._balloon.hasView(this.formView)}get _areActionsInPanel(){return this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){return this._balloon.visibleView==this.formView||this._areActionsVisible}_getBalloonPositionData(){const e=this.editor.editing.view,t=this.editor.model,i=e.document;let n=null;if(t.markers.has(Te)){const t=Array.from(this.editor.editing.mapper.markerNameToElements(Te)),i=e.createRange(e.createPositionBefore(t[0]),e.createPositionAfter(t[t.length-1]));n=e.domConverter.viewRangeToDom(i)}else n=()=>{const t=this._getSelectedLinkElement();return t?e.domConverter.mapViewToDom(t):e.domConverter.viewRangeToDom(i.selection.getFirstRange())};return{target:n}}_getSelectedLinkElement(){const e=this.editor.editing.view,t=e.document.selection,i=t.getSelectedElement();if(t.isCollapsed||i&&(0,be.isWidget)(i))return Ve(t.getFirstPosition());{const i=t.getFirstRange().getTrimmed(),n=Ve(i.start),o=Ve(i.end);return n&&n==o&&e.createRangeIn(n).getTrimmed().isEqual(i)?n:null}}_showFakeVisualSelection(){const e=this.editor.model;e.change((t=>{const i=e.document.selection.getFirstRange();if(e.markers.has(Te))t.updateMarker(Te,{range:i});else if(i.start.isAtEnd){const n=i.start.getLastMatchingPosition((({item:t})=>!e.schema.isContent(t)),{boundaries:i});t.addMarker(Te,{usingOperation:!1,affectsData:!1,range:t.createRange(n,i.end)})}else t.addMarker(Te,{usingOperation:!1,affectsData:!1,range:i})}))}_hideFakeVisualSelection(){const e=this.editor.model;e.markers.has(Te)&&e.change((e=>{e.removeMarker(Te)}))}}function Ve(e){return e.getAncestors().find((e=>{return(t=e).is("attributeElement")&&!!t.getCustomProperty("link");var t}))}const Le=new RegExp("(^|\\s)(((?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(((?!www\\.)|(www\\.))(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+(?:[a-z\\u00a1-\\uffff]{2,63})))(?::\\d{2,5})?(?:[/?#]\\S*)?)|((www.|(\\S+@))((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+(?:[a-z\\u00a1-\\uffff]{2,63})))$","i");class Ce extends e.Plugin{static get requires(){return[o.Delete]}static get pluginName(){return"AutoLink"}init(){const e=this.editor.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")})),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling()}_enableTypingHandling(){const e=this.editor,t=new o.TextWatcher(e.model,(e=>{if(!function(e){return e.length>4&&" "===e[e.length-1]&&" "!==e[e.length-2]}(e))return;const t=De(e.substr(0,e.length-1));return t?{url:t}:void 0}));t.on("matched:data",((t,i)=>{const{batch:n,range:o,url:r}=i;if(!n.isTyping)return;const s=o.end.getShiftedBy(-1),a=s.getShiftedBy(-r.length),c=e.model.createRange(a,s);this._applyAutoLink(r,c)})),t.bind("isEnabled").to(this)}_enableEnterHandling(){const e=this.editor,t=e.model,i=e.commands.get("enter");i&&i.on("execute",(()=>{const e=t.document.selection.getFirstPosition();if(!e.parent.previousSibling)return;const i=t.createRangeIn(e.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(i)}))}_enableShiftEnterHandling(){const e=this.editor,t=e.model,i=e.commands.get("shiftEnter");i&&i.on("execute",(()=>{const e=t.document.selection.getFirstPosition(),i=t.createRange(t.createPositionAt(e.parent,0),e.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(i)}))}_checkAndApplyAutoLinkOnRange(e){const t=this.editor.model,{text:i,range:n}=(0,o.getLastTextLine)(e,t),r=De(i);if(r){const e=t.createRange(n.end.getShiftedBy(-r.length),n.end);this._applyAutoLink(r,e)}}_applyAutoLink(e,t){const i=this.editor.model,n=this.editor.plugins.get("Delete");this.isEnabled&&function(e,t){return t.schema.checkAttributeInSelection(t.createSelection(e),"linkHref")}(t,i)&&i.enqueueChange((o=>{const r=this.editor.config.get("link.defaultProtocol"),s=te(e,r);o.setAttribute("linkHref",s,t),i.enqueueChange((()=>{n.requestUndoOnBackspace()}))}))}}function De(e){const t=Le.exec(e);return t?t[2]:null}class Me extends e.Plugin{static get requires(){return[ke,Ee,Ce]}static get pluginName(){return"Link"}}class je extends e.Plugin{static get requires(){return["ImageEditing","ImageUtils",ke]}static get pluginName(){return"LinkImageEditing"}init(){const e=this.editor,t=e.model.schema;e.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["linkHref"]}),e.conversion.for("upcast").add(function(e){const t=e.plugins.has("ImageInlineEditing"),i=e.plugins.get("ImageUtils");return e=>{e.on("element:a",((e,n,o)=>{const r=n.viewItem,s=i.findViewImgElement(r);if(!s)return;const a=s.findAncestor((e=>i.isBlockImageView(e)));if(t&&!a)return;const c={attributes:["href"]};if(!o.consumable.consume(r,c))return;const l=r.getAttribute("href");if(!l)return;let u=n.modelCursor.parent;if(!u.is("element","imageBlock")){const e=o.convertItem(s,n.modelCursor);n.modelRange=e.modelRange,n.modelCursor=e.modelCursor,u=n.modelCursor.nodeBefore}u&&u.is("element","imageBlock")&&o.writer.setAttribute("linkHref",l,u)}),{priority:"high"})}}(e)),e.conversion.for("downcast").add(function(e){const t=e.plugins.get("ImageUtils");return e=>{e.on("attribute:linkHref:imageBlock",((e,i,n)=>{if(!n.consumable.consume(i.item,e.name))return;const o=n.mapper.toViewElement(i.item),r=n.writer,s=Array.from(o.getChildren()).find((e=>"a"===e.name)),a=t.findViewImgElement(o),c=a.parent.is("element","picture")?a.parent:a;if(s)i.attributeNewValue?r.setAttribute("href",i.attributeNewValue,s):(r.move(r.createRangeOn(c),r.createPositionAt(o,0)),r.remove(s));else{const e=r.createContainerElement("a",{href:i.attributeNewValue});r.insert(r.createPositionAt(o,0),e),r.move(r.createRangeOn(c),r.createPositionAt(e,0))}}),{priority:"high"})}}(e)),this._enableAutomaticDecorators(),this._enableManualDecorators()}_enableAutomaticDecorators(){const e=this.editor,t=e.commands.get("link").automaticDecorators;t.length&&e.conversion.for("downcast").add(t.getDispatcherForLinkedImage())}_enableManualDecorators(){const e=this.editor,t=e.commands.get("link");for(const i of t.manualDecorators)e.plugins.has("ImageBlockEditing")&&e.model.schema.extend("imageBlock",{allowAttributes:i.id}),e.plugins.has("ImageInlineEditing")&&e.model.schema.extend("imageInline",{allowAttributes:i.id}),e.conversion.for("downcast").add(Be(i)),e.conversion.for("upcast").add(Ne(e,i))}}function Be(e){return t=>{t.on(`attribute:${e.id}:imageBlock`,((t,i,n)=>{const o=n.mapper.toViewElement(i.item),r=Array.from(o.getChildren()).find((e=>"a"===e.name));if(r){for(const[t,i]of(0,s.toMap)(e.attributes))n.writer.setAttribute(t,i,r);e.classes&&n.writer.addClass(e.classes,r);for(const t in e.styles)n.writer.setStyle(t,e.styles[t],r)}}))}}function Ne(e,i){const n=e.plugins.has("ImageInlineEditing"),o=e.plugins.get("ImageUtils");return e=>{e.on("element:a",((e,r,s)=>{const a=r.viewItem,c=o.findViewImgElement(a);if(!c)return;const l=c.findAncestor((e=>o.isBlockImageView(e)));if(n&&!l)return;const u=new t.Matcher(i._createPattern()).match(a);if(!u)return;if(!s.consumable.consume(a,u.match))return;const d=r.modelCursor.nodeBefore||r.modelCursor.parent;s.writer.setAttribute(i.id,!0,d)}),{priority:"high"})}}class He extends e.Plugin{static get requires(){return[ke,Ee,"ImageBlockEditing"]}static get pluginName(){return"LinkImageUI"}init(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"click",((t,i)=>{this._isSelectedLinkedImage(e.model.document.selection)&&(i.preventDefault(),t.stop())}),{priority:"high"}),this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const e=this.editor,t=e.t;e.ui.componentFactory.add("linkImage",(i=>{const n=new ge.ButtonView(i),o=e.plugins.get("LinkUI"),r=e.commands.get("link");return n.set({isEnabled:!0,label:t("Link image"),icon:Se,keystroke:G,tooltip:!0,isToggleable:!0}),n.bind("isEnabled").to(r,"isEnabled"),n.bind("isOn").to(r,"value",(e=>!!e)),this.listenTo(n,"execute",(()=>{this._isSelectedLinkedImage(e.model.document.selection)?o._addActionsView():o._showUI(!0)})),n}))}_isSelectedLinkedImage(e){const t=e.getSelectedElement();return this.editor.plugins.get("ImageUtils").isImage(t)&&t.hasAttribute("linkHref")}}var Oe=i(269),Ue={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(Oe.Z,Ue);Oe.Z.locals;class Pe extends e.Plugin{static get requires(){return[je,He]}static get pluginName(){return"LinkImage"}}})(),(window.CKEditor5=window.CKEditor5||{}).link=n})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/link/translations/el.js b/web/core/assets/vendor/ckeditor5/link/translations/el.js
index 4beb5e2ccf..9bd76514f5 100644
--- a/web/core/assets/vendor/ckeditor5/link/translations/el.js
+++ b/web/core/assets/vendor/ckeditor5/link/translations/el.js
@@ -1 +1 @@
-!function(n){const i=n.el=n.el||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"","Edit link":"",Link:"Σύνδεσμος","Link image":"","Link URL":"Διεύθυνση συνδέσμου","Open in a new tab":"","Open link in new tab":"","This link has no URL":"",Unlink:"Αφαίρεση συνδέσμου"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(n){const i=n.el=n.el||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"Με δυνατότητα λήψης","Edit link":"Επεξεργασία συνδέσμου",Link:"Σύνδεσμος","Link image":"Εικόνα συνδέσμου","Link URL":"Διεύθυνση συνδέσμου","Open in a new tab":"Άνοιγμα σε νέα καρτέλα","Open link in new tab":"Άνοιγμα συνδέσμου σε νέα καρτέλα","This link has no URL":"Ο σύνδεσμος δεν έχει διεύθυνση",Unlink:"Αφαίρεση συνδέσμου"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/link/translations/es.js b/web/core/assets/vendor/ckeditor5/link/translations/es.js
index b4787507d3..9f156e4573 100644
--- a/web/core/assets/vendor/ckeditor5/link/translations/es.js
+++ b/web/core/assets/vendor/ckeditor5/link/translations/es.js
@@ -1 +1 @@
-!function(n){const e=n.es=n.es||{};e.dictionary=Object.assign(e.dictionary||{},{Downloadable:"Descargable","Edit link":"Editar enlace",Link:"Enlace","Link image":"","Link URL":"URL del enlace","Open in a new tab":"Abrir en una pestaña nueva ","Open link in new tab":"Abrir enlace en una pestaña nueva","This link has no URL":"Este enlace no tiene URL",Unlink:"Quitar enlace"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(n){const e=n.es=n.es||{};e.dictionary=Object.assign(e.dictionary||{},{Downloadable:"Descargable","Edit link":"Editar enlace",Link:"Enlace","Link image":"URL de la imagen","Link URL":"URL del enlace","Open in a new tab":"Abrir en una pestaña nueva ","Open link in new tab":"Abrir enlace en una pestaña nueva","This link has no URL":"Este enlace no tiene URL",Unlink:"Quitar enlace"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/link/translations/fi.js b/web/core/assets/vendor/ckeditor5/link/translations/fi.js
index 3d0cc2ee11..672a28aacc 100644
--- a/web/core/assets/vendor/ckeditor5/link/translations/fi.js
+++ b/web/core/assets/vendor/ckeditor5/link/translations/fi.js
@@ -1 +1 @@
-!function(i){const n=i.fi=i.fi||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"","Edit link":"Muokkaa linkkiä",Link:"Linkki","Link image":"","Link URL":"Linkin osoite","Open in a new tab":"","Open link in new tab":"Avaa linkki uudessa välilehdessä","This link has no URL":"Linkillä ei ole URL-osoitetta",Unlink:"Poista linkki"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(i){const n=i.fi=i.fi||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"","Edit link":"Muokkaa linkkiä",Link:"Linkki","Link image":"Linkkikuva","Link URL":"Linkin osoite","Open in a new tab":"Avaa uudelle välilehdelle","Open link in new tab":"Avaa linkki uudessa välilehdessä","This link has no URL":"Linkillä ei ole URL-osoitetta",Unlink:"Poista linkki"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/link/translations/hr.js b/web/core/assets/vendor/ckeditor5/link/translations/hr.js
index 6f99aaa243..9194fab22c 100644
--- a/web/core/assets/vendor/ckeditor5/link/translations/hr.js
+++ b/web/core/assets/vendor/ckeditor5/link/translations/hr.js
@@ -1 +1 @@
-!function(i){const n=i.hr=i.hr||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"Moguće preuzeti","Edit link":"Uredi vezu",Link:"Veza","Link image":"","Link URL":"URL veze","Open in a new tab":"Otvori u novoj kartici","Open link in new tab":"Otvori vezu u novoj kartici","This link has no URL":"Ova veza nema URL",Unlink:"Ukloni vezu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(i){const n=i.hr=i.hr||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"Moguće preuzeti","Edit link":"Uredi vezu",Link:"Veza","Link image":"URL slike","Link URL":"URL veze","Open in a new tab":"Otvori u novoj kartici","Open link in new tab":"Otvori vezu u novoj kartici","This link has no URL":"Ova veza nema URL",Unlink:"Ukloni vezu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/link/translations/uz.js b/web/core/assets/vendor/ckeditor5/link/translations/uz.js
new file mode 100644
index 0000000000..36994cdacd
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/link/translations/uz.js
@@ -0,0 +1 @@
+!function(a){const n=a.uz=a.uz||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"Yuklab olinadigan","Edit link":"Havolani tahrirlash",Link:"Havola","Link image":"Rasmga havola","Link URL":'"Havola URL',"Open in a new tab":"Yangi oynada oching","Open link in new tab":"Havolani yangi oynada ochish","This link has no URL":"Bu havola uchun URL oʻrnatilmagan",Unlink:"Havolani olib tashlash"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/list.js b/web/core/assets/vendor/ckeditor5/list/list.js
index df6c1df14d..54d830d3ac 100644
--- a/web/core/assets/vendor/ckeditor5/list/list.js
+++ b/web/core/assets/vendor/ckeditor5/list/list.js
@@ -1,5 +1,5 @@
+!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Circle:"Circle",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero",Disc:"Disc","List properties":"List properties","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman","Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar","Reversed order":"Reversed order",Square:"Square","Start at":"Start at","Start index must be greater than 0.":"Start index must be greater than 0.","To-do List":"To-do List","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower–latin list style":"Toggle the lower–latin list style","Toggle the lower–roman list style":"Toggle the lower–roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper–latin list style":"Toggle the upper–latin list style","Toggle the upper–roman list style":"Toggle the upper–roman list style","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Circle:"Circle",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero",Disc:"Disc","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman","Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar",Square:"Square","To-do List":"To-do List","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower–latin list style":"Toggle the lower–latin list style","Toggle the lower–roman list style":"Toggle the lower–roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper–latin list style":"Toggle the upper–latin list style","Toggle the upper–roman list style":"Toggle the upper–roman list style","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.list=function(t){var e={};function i(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(n,o,function(e){return t[e]}.bind(null,o));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=12)}([function(t,e,i){t.exports=i(3)("./src/core.js")},function(t,e,i){t.exports=i(3)("./src/utils.js")},function(t,e,i){t.exports=i(3)("./src/ui.js")},function(t,e){t.exports=CKEditor5.dll},function(t,e,i){t.exports=i(3)("./src/engine.js")},function(t,e,i){"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},s=function(){var t={};return function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}t[e]=i}return t[e]}}(),r=[];function l(t){for(var e=-1,i=0;i<r.length;i++)if(r[i].identifier===t){e=i;break}return e}function a(t,e){for(var i={},n=[],o=0;o<t.length;o++){var s=t[o],a=e.base?s[0]+e.base:s[0],c=i[a]||0,d="".concat(a," ").concat(c);i[a]=c+1;var u=l(d),m={css:s[1],media:s[2],sourceMap:s[3]};-1!==u?(r[u].references++,r[u].updater(m)):r.push({identifier:d,updater:f(m,e),references:1}),n.push(d)}return n}function c(t){var e=document.createElement("style"),n=t.attributes||{};if(void 0===n.nonce){var o=i.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(t){e.setAttribute(t,n[t])})),"function"==typeof t.insert)t.insert(e);else{var r=s(t.insert||"head");if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(e)}return e}var d,u=(d=[],function(t,e){return d[t]=e,d.filter(Boolean).join("\n")});function m(t,e,i,n){var o=i?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(t.styleSheet)t.styleSheet.cssText=u(e,o);else{var s=document.createTextNode(o),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(s,r[e]):t.appendChild(s)}}function g(t,e,i){var n=i.css,o=i.media,s=i.sourceMap;if(o?t.setAttribute("media",o):t.removeAttribute("media"),s&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var p=null,h=0;function f(t,e){var i,n,o;if(e.singleton){var s=h++;i=p||(p=c(e)),n=m.bind(null,i,s,!1),o=m.bind(null,i,s,!0)}else i=c(e),n=g.bind(null,i,e),o=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(i)};return n(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;n(t=e)}else o()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=o());var i=a(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var n=0;n<i.length;n++){var o=l(i[n]);r[o].references--}for(var s=a(t,e),c=0;c<i.length;c++){var d=l(i[c]);0===r[d].references&&(r[d].updater(),r.splice(d,1))}i=s}}}},function(t,e,i){t.exports=i(3)("./src/enter.js")},function(t,e,i){t.exports=i(3)("./src/typing.js")},function(t,e,i){var n=i(5),o=i(9);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[t.i,o,""]]);var s={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,s);t.exports=o.locals||{}},function(t,e){t.exports=".ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar{background:none;padding:0}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items{grid-template-columns:repeat(3,auto);row-gap:var(--ck-spacing-medium);column-gap:var(--ck-spacing-medium);padding:var(--ck-spacing-medium)}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items .ck-button{width:var(--ck-list-style-button-size);height:var(--ck-list-style-button-size);padding:0;margin:0;box-sizing:content-box}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items .ck-button .ck-icon{width:var(--ck-list-style-button-size);height:var(--ck-list-style-button-size)}"},function(t,e,i){var n=i(5),o=i(11);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[t.i,o,""]]);var s={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,s);t.exports=o.locals||{}},function(t,e){t.exports=':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;display:inline-block;position:relative;width:var(--ck-todo-list-checkmark-size);height:var(--ck-todo-list-checkmark-size);vertical-align:middle;border:0;left:-25px;margin-right:-15px;right:0;margin-left:0}.ck-content .todo-list .todo-list__label>input:before{display:block;position:absolute;box-sizing:border-box;content:"";width:100%;height:100%;border:1px solid #333;border-radius:2px;transition:box-shadow .25s ease-in-out,background .25s ease-in-out,border .25s ease-in-out}.ck-content .todo-list .todo-list__label>input:after{display:block;position:absolute;box-sizing:content-box;pointer-events:none;content:"";left:calc(var(--ck-todo-list-checkmark-size)/3);top:calc(var(--ck-todo-list-checkmark-size)/5.3);width:calc(var(--ck-todo-list-checkmark-size)/5.3);height:calc(var(--ck-todo-list-checkmark-size)/2.6);border-left:0 solid transparent;border-bottom:calc(var(--ck-todo-list-checkmark-size)/8) solid transparent;border-right:calc(var(--ck-todo-list-checkmark-size)/8) solid transparent;border-top:0 solid transparent;transform:rotate(45deg)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-right:0;right:-25px;margin-left:-15px}.ck-editor__editable .todo-list .todo-list__label>input{cursor:pointer}.ck-editor__editable .todo-list .todo-list__label>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}'},function(t,e,i){"use strict";i.r(e),i.d(e,"List",(function(){return D})),i.d(e,"ListEditing",(function(){return M})),i.d(e,"ListUI",(function(){return j})),i.d(e,"ListStyle",(function(){return G})),i.d(e,"ListStyleEditing",(function(){return F})),i.d(e,"ListStyleUI",(function(){return $})),i.d(e,"TodoList",(function(){return st})),i.d(e,"TodoListEditing",(function(){return nt})),i.d(e,"TodoListUI",(function(){return ot}));var n=i(0),o=i(1);class s extends n.Command{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,i=e.document,n=Array.from(i.selection.getSelectedBlocks()).filter(t=>l(t,e.schema)),o=void 0!==t.forceValue?!t.forceValue:this.value;e.change(t=>{if(o){let e=n[n.length-1].nextSibling,i=Number.POSITIVE_INFINITY,o=[];for(;e&&"listItem"==e.name&&0!==e.getAttribute("listIndent");){const t=e.getAttribute("listIndent");t<i&&(i=t);const n=t-i;o.push({element:e,listIndent:n}),e=e.nextSibling}o=o.reverse();for(const e of o)t.setAttribute("listIndent",e.listIndent,e.element)}if(!o){let t=Number.POSITIVE_INFINITY;for(const e of n)e.is("element","listItem")&&e.getAttribute("listIndent")<t&&(t=e.getAttribute("listIndent"));t=0===t?1:t,r(n,!0,t),r(n,!1,t)}for(const e of n.reverse())o&&"listItem"==e.name?t.rename(e,"paragraph"):o||"listItem"==e.name?o||"listItem"!=e.name||e.getAttribute("listType")==this.type||t.setAttribute("listType",this.type,e):(t.setAttributes({listType:this.type,listIndent:0},e),t.rename(e,"listItem"));this.fire("_executeCleanup",n)})}_getValue(){const t=Object(o.first)(this.editor.model.document.selection.getSelectedBlocks());return!!t&&t.is("element","listItem")&&t.getAttribute("listType")==this.type}_checkEnabled(){if(this.value)return!0;const t=this.editor.model.document.selection,e=this.editor.model.schema,i=Object(o.first)(t.getSelectedBlocks());return!!i&&l(i,e)}}function r(t,e,i){const n=e?t[0]:t[t.length-1];if(n.is("element","listItem")){let o=n[e?"previousSibling":"nextSibling"],s=n.getAttribute("listIndent");for(;o&&o.is("element","listItem")&&o.getAttribute("listIndent")>=i;)s>o.getAttribute("listIndent")&&(s=o.getAttribute("listIndent")),o.getAttribute("listIndent")==s&&t[e?"unshift":"push"](o),o=o[e?"previousSibling":"nextSibling"]}}function l(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class a extends n.Command{constructor(t,e){super(t),this._indentBy="forward"==e?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=t.document;let i=Array.from(e.selection.getSelectedBlocks());t.change(t=>{const e=i[i.length-1];let n=e.nextSibling;for(;n&&"listItem"==n.name&&n.getAttribute("listIndent")>e.getAttribute("listIndent");)i.push(n),n=n.nextSibling;this._indentBy<0&&(i=i.reverse());for(const e of i){const i=e.getAttribute("listIndent")+this._indentBy;i<0?t.rename(e,"paragraph"):t.setAttribute("listIndent",i,e)}this.fire("_executeCleanup",i)})}_checkEnabled(){const t=Object(o.first)(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem"))return!1;if(this._indentBy>0){const e=t.getAttribute("listIndent"),i=t.getAttribute("listType");let n=t.previousSibling;for(;n&&n.is("element","listItem")&&n.getAttribute("listIndent")>=e;){if(n.getAttribute("listIndent")==e)return n.getAttribute("listType")==i;n=n.previousSibling}return!1}return!0}}var c=i(6),d=i(7),u=i(4),m=i(2);function g(t,e){const i=e.mapper,n=e.writer,o="numbered"==t.getAttribute("listType")?"ol":"ul",s=function(t){const e=t.createContainerElement("li");return e.getFillerOffset=A,e}(n),r=n.createContainerElement(o,null);return n.insert(n.createPositionAt(r,0),s),i.bindElements(t,s),s}function p(t,e,i,n){const o=e.parent,s=i.mapper,r=i.writer;let l=s.toViewPosition(n.createPositionBefore(t));const a=b(t.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:t.getAttribute("listIndent")}),c=t.previousSibling;if(a&&a.getAttribute("listIndent")==t.getAttribute("listIndent")){const t=s.toViewElement(a);l=r.breakContainer(r.createPositionAfter(t))}else if(c&&"listItem"==c.name){l=s.toViewPosition(n.createPositionAt(c,"end"));const t=s.findMappedViewAncestor(l),e=y(t);l=e?r.createPositionBefore(e):r.createPositionAt(t,"end")}else l=s.toViewPosition(n.createPositionBefore(t));if(l=f(l),r.insert(l,o),c&&"listItem"==c.name){const t=s.toViewElement(c),i=r.createRange(r.createPositionAt(t,0),l).getWalker({ignoreElementEnd:!0});for(const t of i)if(t.item.is("element","li")){const n=r.breakContainer(r.createPositionBefore(t.item)),o=t.item.parent,s=r.createPositionAt(e,"end");h(r,s.nodeBefore,s.nodeAfter),r.move(r.createRangeOn(o),s),i.position=n}}else{const i=o.nextSibling;if(i&&(i.is("element","ul")||i.is("element","ol"))){let n=null;for(const e of i.getChildren()){const i=s.toModelElement(e);if(!(i&&i.getAttribute("listIndent")>t.getAttribute("listIndent")))break;n=e}n&&(r.breakContainer(r.createPositionAfter(n)),r.move(r.createRangeOn(n.parent),r.createPositionAt(e,"end")))}}h(r,o,o.nextSibling),h(r,o.previousSibling,o)}function h(t,e,i){return!e||!i||"ul"!=e.name&&"ol"!=e.name||e.name!=i.name||e.getAttribute("class")!==i.getAttribute("class")?null:t.mergeContainers(t.createPositionAfter(e))}function f(t){return t.getLastMatchingPosition(t=>t.item.is("uiElement"))}function b(t,e){const i=!!e.sameIndent,n=!!e.smallerIndent,o=e.listIndent;let s=t;for(;s&&"listItem"==s.name;){const t=s.getAttribute("listIndent");if(i&&o==t||n&&o>t)return s;s="forward"===e.direction?s.nextSibling:s.previousSibling}return null}function v(t,e,i,n){t.ui.componentFactory.add(e,o=>{const s=t.commands.get(e),r=new m.ButtonView(o);return r.set({label:i,icon:n,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(s,"value","isEnabled"),r.on("execute",()=>{t.execute(e),t.editing.view.focus()}),r})}function y(t){for(const e of t.getChildren())if("ul"==e.name||"ol"==e.name)return e;return null}function w(t,e){const i=[],n=t.parent,o={ignoreElementEnd:!0,startPosition:t,shallow:!0,direction:e},s=n.getAttribute("listIndent"),r=[...new u.TreeWalker(o)].filter(t=>t.item.is("element")).map(t=>t.item);for(const t of r){if(!t.is("element","listItem"))break;if(t.getAttribute("listIndent")<s)break;if(!(t.getAttribute("listIndent")>s)){if(t.getAttribute("listType")!==n.getAttribute("listType"))break;if(t.getAttribute("listStyle")!==n.getAttribute("listStyle"))break;"backward"===e?i.unshift(t):i.push(t)}}return i}function A(){const t=!this.isEmpty&&("ul"==this.getChild(0).name||"ol"==this.getChild(0).name);return this.isEmpty||t?0:u.getFillerOffset.call(this)}function I(t){return(e,i,n)=>{const o=n.consumable;if(!o.test(i.item,"insert")||!o.test(i.item,"attribute:listType")||!o.test(i.item,"attribute:listIndent"))return;o.consume(i.item,"insert"),o.consume(i.item,"attribute:listType"),o.consume(i.item,"attribute:listIndent");const s=i.item;p(s,g(s,n),n,t)}}function k(t,e,i){if(!i.consumable.consume(e.item,"attribute:listType"))return;const n=i.mapper.toViewElement(e.item),o=i.writer;o.breakContainer(o.createPositionBefore(n)),o.breakContainer(o.createPositionAfter(n));const s=n.parent,r="numbered"==e.attributeNewValue?"ol":"ul";o.rename(r,s)}function S(t,e,i){const n=i.mapper.toViewElement(e.item).parent,o=i.writer;h(o,n,n.nextSibling),h(o,n.previousSibling,n);for(const t of e.item.getChildren())i.consumable.consume(t,"insert")}function x(t,e,i){if("listItem"!=e.item.name){let t=i.mapper.toViewPosition(e.range.start);const n=i.writer,o=[];for(;("ul"==t.parent.name||"ol"==t.parent.name)&&(t=n.breakContainer(t),"li"==t.parent.name);){const e=t,i=n.createPositionAt(t.parent,"end");if(!e.isEqual(i)){const t=n.remove(n.createRange(e,i));o.push(t)}t=n.createPositionAfter(t.parent)}if(o.length>0){for(let e=0;e<o.length;e++){const i=t.nodeBefore;if(t=n.insert(t,o[e]).end,e>0){const e=h(n,i,i.nextSibling);e&&e.parent==i&&t.offset--}}h(n,t.nodeBefore,t.nodeAfter)}}}function T(t,e,i){const n=i.mapper.toViewPosition(e.position),o=n.nodeBefore,s=n.nodeAfter;h(i.writer,o,s)}function z(t,e,i){if(i.consumable.consume(e.viewItem,{name:!0})){const t=i.writer,n=t.createElement("listItem"),o=function(t){let e=0,i=t.parent;for(;i;){if(i.is("element","li"))e++;else{const t=i.previousSibling;t&&t.is("element","li")&&e++}i=i.parent}return e}(e.viewItem);t.setAttribute("listIndent",o,n);const s=e.viewItem.parent&&"ol"==e.viewItem.parent.name?"numbered":"bulleted";if(t.setAttribute("listType",s,n),!i.safeInsert(n,e.modelCursor))return;const r=function(t,e,i){const{writer:n,schema:o}=i;let s=n.createPositionAfter(t);for(const r of e)if("ul"==r.name||"ol"==r.name)s=i.convertItem(r,s).modelCursor;else{const e=i.convertItem(r,n.createPositionAt(t,"end")),l=e.modelRange.start.nodeAfter;l&&l.is("element")&&!o.checkChild(t,l.name)&&(t=e.modelCursor.parent.is("element","listItem")?e.modelCursor.parent:V(e.modelCursor),s=n.createPositionAfter(t))}return s}(n,e.viewItem.getChildren(),i);e.modelRange=t.createRange(e.modelCursor,r),i.updateConversionResult(n,e)}}function C(t,e,i){if(i.consumable.test(e.viewItem,{name:!0})){const t=Array.from(e.viewItem.getChildren());for(const e of t){!(e.is("element","li")||B(e))&&e._remove()}}}function _(t,e,i){if(i.consumable.test(e.viewItem,{name:!0})){if(0===e.viewItem.childCount)return;const t=[...e.viewItem.getChildren()];let i=!1;for(const e of t)i&&!B(e)&&e._remove(),B(e)&&(i=!0)}}function L(t){return(e,i)=>{if(i.isPhantom)return;const n=i.modelPosition.nodeBefore;if(n&&n.is("element","listItem")){const e=i.mapper.toViewElement(n),o=e.getAncestors().find(B),s=t.createPositionAt(e,0).getWalker();for(const t of s){if("elementStart"==t.type&&t.item.is("element","li")){i.viewPosition=t.previousPosition;break}if("elementEnd"==t.type&&t.item==o){i.viewPosition=t.nextPosition;break}}}}}function P(t,[e,i]){let n,o=e.is("documentFragment")?e.getChild(0):e;if(n=i?this.createSelection(i):this.document.selection,o&&o.is("element","listItem")){const t=n.getFirstPosition();let e=null;if(t.parent.is("element","listItem")?e=t.parent:t.nodeBefore&&t.nodeBefore.is("element","listItem")&&(e=t.nodeBefore),e){const t=e.getAttribute("listIndent");if(t>0)for(;o&&o.is("element","listItem");)o._setAttribute("listIndent",o.getAttribute("listIndent")+t),o=o.nextSibling}}}function V(t){const e=new u.TreeWalker({startPosition:t});let i;do{i=e.next()}while(!i.value.item.is("element","listItem"));return i.value.item}function E(t,e,i,n,o,s){const r=b(e.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:t,foo:"b"}),l=o.mapper,a=o.writer,c=r?r.getAttribute("listIndent"):null;let d;if(r)if(c==t){const t=l.toViewElement(r).parent;d=a.createPositionAfter(t)}else{const t=s.createPositionAt(r,"end");d=l.toViewPosition(t)}else d=i;d=f(d);for(const t of[...n.getChildren()])B(t)&&(d=a.move(a.createRangeOn(t),d).end,h(a,t,t.nextSibling),h(a,t.previousSibling,t))}function B(t){return t.is("element","ol")||t.is("element","ul")}class M extends n.Plugin{static get pluginName(){return"ListEditing"}static get requires(){return[c.Enter,d.Delete]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data,i=t.editing;var n;t.model.document.registerPostFixer(e=>function(t,e){const i=t.document.differ.getChanges(),n=new Map;let o=!1;for(const n of i)if("insert"==n.type&&"listItem"==n.name)s(n.position);else if("insert"==n.type&&"listItem"!=n.name){if("$text"!=n.name){const i=n.position.nodeAfter;i.hasAttribute("listIndent")&&(e.removeAttribute("listIndent",i),o=!0),i.hasAttribute("listType")&&(e.removeAttribute("listType",i),o=!0),i.hasAttribute("listStyle")&&(e.removeAttribute("listStyle",i),o=!0);for(const e of Array.from(t.createRangeIn(i)).filter(t=>t.item.is("element","listItem")))s(e.previousPosition)}s(n.position.getShiftedBy(n.length))}else"remove"==n.type&&"listItem"==n.name?s(n.position):("attribute"==n.type&&"listIndent"==n.attributeKey||"attribute"==n.type&&"listType"==n.attributeKey)&&s(n.range.start);for(const t of n.values())r(t),l(t);return o;function s(t){const e=t.nodeBefore;if(e&&e.is("element","listItem")){let t=e;if(n.has(t))return;for(let e=t.previousSibling;e&&e.is("element","listItem");e=t.previousSibling)if(t=e,n.has(t))return;n.set(e,t)}else{const e=t.nodeAfter;e&&e.is("element","listItem")&&n.set(e,e)}}function r(t){let i=0,n=null;for(;t&&t.is("element","listItem");){const s=t.getAttribute("listIndent");if(s>i){let r;null===n?(n=s-i,r=i):(n>s&&(n=s),r=s-n),e.setAttribute("listIndent",r,t),o=!0}else n=null,i=t.getAttribute("listIndent")+1;t=t.nextSibling}}function l(t){let i=[],n=null;for(;t&&t.is("element","listItem");){const s=t.getAttribute("listIndent");if(n&&n.getAttribute("listIndent")>s&&(i=i.slice(0,s+1)),0!=s)if(i[s]){const n=i[s];t.getAttribute("listType")!=n&&(e.setAttribute("listType",n,t),o=!0)}else i[s]=t.getAttribute("listType");n=t,t=t.nextSibling}}}(t.model,e)),i.mapper.registerViewToModelLength("li",H),e.mapper.registerViewToModelLength("li",H),i.mapper.on("modelToViewPosition",L(i.view)),i.mapper.on("viewToModelPosition",(n=t.model,(t,e)=>{const i=e.viewPosition,o=i.parent,s=e.mapper;if("ul"==o.name||"ol"==o.name){if(i.isAtEnd){const t=s.toModelElement(i.nodeBefore),o=s.getModelLength(i.nodeBefore);e.modelPosition=n.createPositionBefore(t).getShiftedBy(o)}else{const t=s.toModelElement(i.nodeAfter);e.modelPosition=n.createPositionBefore(t)}t.stop()}else if("li"==o.name&&i.nodeBefore&&("ul"==i.nodeBefore.name||"ol"==i.nodeBefore.name)){const r=s.toModelElement(o);let l=1,a=i.nodeBefore;for(;a&&B(a);)l+=s.getModelLength(a),a=a.previousSibling;e.modelPosition=n.createPositionBefore(r).getShiftedBy(l),t.stop()}})),e.mapper.on("modelToViewPosition",L(i.view)),t.conversion.for("editingDowncast").add(e=>{e.on("insert",x,{priority:"high"}),e.on("insert:listItem",I(t.model)),e.on("attribute:listType:listItem",k,{priority:"high"}),e.on("attribute:listType:listItem",S,{priority:"low"}),e.on("attribute:listIndent:listItem",function(t){return(e,i,n)=>{if(!n.consumable.consume(i.item,"attribute:listIndent"))return;const o=n.mapper.toViewElement(i.item),s=n.writer;s.breakContainer(s.createPositionBefore(o)),s.breakContainer(s.createPositionAfter(o));const r=o.parent,l=r.previousSibling,a=s.createRangeOn(r);s.remove(a),l&&l.nextSibling&&h(s,l,l.nextSibling),E(i.attributeOldValue+1,i.range.start,a.start,o,n,t),p(i.item,o,n,t);for(const t of i.item.getChildren())n.consumable.consume(t,"insert")}}(t.model)),e.on("remove:listItem",function(t){return(e,i,n)=>{const o=n.mapper.toViewPosition(i.position).getLastMatchingPosition(t=>!t.item.is("element","li")).nodeAfter,s=n.writer;s.breakContainer(s.createPositionBefore(o)),s.breakContainer(s.createPositionAfter(o));const r=o.parent,l=r.previousSibling,a=s.createRangeOn(r),c=s.remove(a);l&&l.nextSibling&&h(s,l,l.nextSibling);E(n.mapper.toModelElement(o).getAttribute("listIndent")+1,i.position,a.start,o,n,t);for(const t of s.createRangeIn(c).getItems())n.mapper.unbindViewElement(t);e.stop()}}(t.model)),e.on("remove",T,{priority:"low"})}),t.conversion.for("dataDowncast").add(e=>{e.on("insert",x,{priority:"high"}),e.on("insert:listItem",I(t.model))}),t.conversion.for("upcast").add(t=>{t.on("element:ul",C,{priority:"high"}),t.on("element:ol",C,{priority:"high"}),t.on("element:li",_,{priority:"high"}),t.on("element:li",z)}),t.model.on("insertContent",P,{priority:"high"}),t.commands.add("numberedList",new s(t,"numbered")),t.commands.add("bulletedList",new s(t,"bulleted")),t.commands.add("indentList",new a(t,"forward")),t.commands.add("outdentList",new a(t,"backward"));const o=i.view.document;this.listenTo(o,"enter",(t,e)=>{const i=this.editor.model.document,n=i.selection.getLastPosition().parent;i.selection.isCollapsed&&"listItem"==n.name&&n.isEmpty&&(this.editor.execute("outdentList"),e.preventDefault(),t.stop())},{context:"li"}),this.listenTo(o,"delete",(t,e)=>{if("backward"!==e.direction)return;const i=this.editor.model.document.selection;if(!i.isCollapsed)return;const n=i.getFirstPosition();if(!n.isAtStart)return;const o=n.parent;if("listItem"!==o.name)return;o.previousSibling&&"listItem"===o.previousSibling.name||(this.editor.execute("outdentList"),e.preventDefault(),t.stop())},{context:"li"});const r=t=>(e,i)=>{this.editor.commands.get(t).isEnabled&&(this.editor.execute(t),i())};t.keystrokes.set("Tab",r("indentList")),t.keystrokes.set("Shift+Tab",r("outdentList"))}afterInit(){const t=this.editor.commands,e=t.get("indent"),i=t.get("outdent");e&&e.registerChildCommand(t.get("indentList")),i&&i.registerChildCommand(t.get("outdentList"))}}function H(t){let e=1;for(const i of t.getChildren())if("ul"==i.name||"ol"==i.name)for(const t of i.getChildren())e+=H(t);return e}var N='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM3.5 3v5H2V3.7H1v-1h2.5V3zM.343 17.857l2.59-3.257H2.92a.6.6 0 1 0-1.04 0H.302a2 2 0 1 1 3.995 0h-.001c-.048.405-.16.734-.333.988-.175.254-.59.692-1.244 1.312H4.3v1h-4l.043-.043zM7 14.75a.75.75 0 0 1 .75-.75h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75z"/></svg>',O='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0C1 4.784 1.777 4 2.75 4c.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75C1.784 7.5 1 6.723 1 5.75zm6 9c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0c0-.966.777-1.75 1.75-1.75.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75-.966 0-1.75-.777-1.75-1.75z"/></svg>';class j extends n.Plugin{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;v(this.editor,"numberedList",t("Numbered List"),N),v(this.editor,"bulletedList",t("Bulleted List"),O)}}class D extends n.Plugin{static get requires(){return[M,j]}static get pluginName(){return"List"}}class R extends n.Command{constructor(t,e){super(t),this._defaultType=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;let i=[...e.document.selection.getSelectedBlocks()].filter(t=>t.is("element","listItem")).map(t=>{const i=e.change(e=>e.createPositionAt(t,0));return[...w(i,"backward"),...w(i,"forward")]}).flat();i=[...new Set(i)],i.length&&e.change(e=>{for(const n of i)e.setAttribute("listStyle",t.type||this._defaultType,n)})}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")?t.getAttribute("listStyle"):null}_checkEnabled(){const t=this.editor,e=t.commands.get("numberedList"),i=t.commands.get("bulletedList");return e.isEnabled||i.isEnabled}}class F extends n.Plugin{static get requires(){return[M]}static get pluginName(){return"ListStyleEditing"}init(){const t=this.editor,e=t.model;e.schema.extend("listItem",{allowAttributes:["listStyle"]}),t.commands.add("listStyle",new R(t,"default")),this.listenTo(t.commands.get("indentList"),"_executeCleanup",function(t){return(e,i)=>{let n;const o=i[0],s=o.getAttribute("listIndent"),r=i.filter(t=>t.getAttribute("listIndent")===s);if(o.previousSibling.getAttribute("listIndent")+1===s)n="default";else{const t=b(o.previousSibling,{sameIndent:!0,direction:"backward",listIndent:s});n=t.getAttribute("listStyle")}t.model.change(t=>{for(const e of r)t.setAttribute("listStyle",n,e)})}}(t)),this.listenTo(t.commands.get("outdentList"),"_executeCleanup",function(t){return(e,i)=>{if(!(i=i.reverse().filter(t=>t.is("element","listItem"))).length)return;const n=i[0].getAttribute("listIndent"),o=i[0].getAttribute("listType");let s=i[0].previousSibling;if(s.is("element","listItem"))for(;s.getAttribute("listIndent")!==n;)s=s.previousSibling;else s=null;s||(s=i[i.length-1].nextSibling),s&&s.is("element","listItem")&&s.getAttribute("listType")===o&&t.model.change(t=>{const e=i.filter(t=>t.getAttribute("listIndent")===n);for(const i of e)t.setAttribute("listStyle",s.getAttribute("listStyle"),i)})}}(t)),this.listenTo(t.commands.get("bulletedList"),"_executeCleanup",K(t)),this.listenTo(t.commands.get("numberedList"),"_executeCleanup",K(t)),e.document.registerPostFixer(function(t){return e=>{let i=!1;const n=W(t.model.document.differ.getChanges()).filter(t=>"todo"!==t.getAttribute("listType"));if(!n.length)return i;let o=n[n.length-1].nextSibling;if((!o||!o.is("element","listItem"))&&(o=n[n.length-1].previousSibling,o)){const t=n[0].getAttribute("listIndent");for(;o.is("element","listItem")&&o.getAttribute("listIndent")!==t&&(o=o.previousSibling,o););}for(const t of n)if(t.hasAttribute("listStyle")){const n=t.previousSibling;U(n,t)&&(e.setAttribute("listStyle",n.getAttribute("listStyle"),t),i=!0)}else q(o,t)?e.setAttribute("listStyle",o.getAttribute("listStyle"),t):e.setAttribute("listStyle","default",t),i=!0;return i}}(t)),t.conversion.for("upcast").add(t=>{t.on("element:li",(t,e,i)=>{const n=e.viewItem.parent;if(!n)return;const o=n.getStyle("list-style-type")||"default",s=e.modelRange.start.nodeAfter||e.modelRange.end.nodeBefore;i.writer.setAttribute("listStyle",o,s)},{priority:"low"})}),t.conversion.for("downcast").add(t=>{t.on("attribute:listStyle:listItem",(t,e,i)=>{const n=i.writer,o=e.item,s=b(o.previousSibling,{sameIndent:!0,listIndent:o.getAttribute("listIndent"),direction:"backward"}),r=i.mapper.toViewElement(o);var l,a,c,d,u;l=o,(a=s)&&l.getAttribute("listType")===a.getAttribute("listType")&&l.getAttribute("listIndent")===a.getAttribute("listIndent")&&l.getAttribute("listStyle")===a.getAttribute("listStyle")||n.breakContainer(n.createPositionBefore(r)),c=n,d=e.attributeNewValue,u=r.parent,d&&"default"!==d?c.setStyle("list-style-type",d,u):c.removeStyle("list-style-type",u)},{priority:"low"})}),this._mergeListStyleAttributeWhileMergingLists()}afterInit(){const t=this.editor;t.commands.get("todoList")&&t.model.document.registerPostFixer(function(t){return e=>{const i=W(t.model.document.differ.getChanges()).filter(t=>"todo"===t.getAttribute("listType")&&t.hasAttribute("listStyle"));if(!i.length)return!1;for(const t of i)e.removeAttribute("listStyle",t);return!0}}(t))}_mergeListStyleAttributeWhileMergingLists(){const t=this.editor.model;let e;this.listenTo(t,"deleteContent",(t,[i])=>{const n=i.getFirstPosition(),o=i.getLastPosition();if(n.parent===o.parent)return;if(!n.parent.is("element","listItem"))return;const s=o.parent.nextSibling;if(!s||!s.is("element","listItem"))return;const r=b(n.parent,{sameIndent:!0,listIndent:s.getAttribute("listIndent")});r&&r.getAttribute("listType")===s.getAttribute("listType")&&(e=r)},{priority:"high"}),this.listenTo(t,"deleteContent",()=>{e&&(t.change(t=>{const i=b(e.nextSibling,{sameIndent:!0,listIndent:e.getAttribute("listIndent"),direction:"forward"}),n=[i,...w(t.createPositionAt(i,0),"forward")];for(const i of n)t.setAttribute("listStyle",e.getAttribute("listStyle"),i)}),e=null)},{priority:"low"})}}function q(t,e){if(!t)return!1;const i=t.getAttribute("listStyle");return!!i&&("default"!==i&&t.getAttribute("listType")===e.getAttribute("listType"))}function U(t,e){if(!t||!t.is("element","listItem"))return!1;if(e.getAttribute("listType")!==t.getAttribute("listType"))return!1;const i=t.getAttribute("listIndent");if(i<1||i!==e.getAttribute("listIndent"))return!1;const n=t.getAttribute("listStyle");return!(!n||n===e.getAttribute("listStyle"))}function K(t){return(e,i)=>{i=i.filter(t=>t.is("element","listItem")),t.model.change(t=>{for(const e of i)t.removeAttribute("listStyle",e)})}}function W(t){const e=[];for(const i of t){const t=Y(i);t&&t.is("element","listItem")&&e.push(t)}return e}function Y(t){return"attribute"===t.type?t.range.start.nodeAfter:"insert"===t.type?t.position.nodeAfter:null}i(8);class $ extends n.Plugin{static get pluginName(){return"ListStyleUI"}init(){const t=this.editor,e=t.locale.t;t.ui.componentFactory.add("bulletedList",J({editor:t,parentCommandName:"bulletedList",buttonLabel:e("Bulleted List"),buttonIcon:O,toolbarAriaLabel:e("Bulleted list styles toolbar"),styleDefinitions:[{label:e("Toggle the disc list style"),tooltip:e("Disc"),type:"disc",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M11 27a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0-9a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0-9a3 3 0 1 1 0 6 3 3 0 0 1 0-6z"/></svg>'},{label:e("Toggle the circle list style"),tooltip:e("Circle"),type:"circle",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M11 27a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 1a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0-10a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 1a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0-10a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 1a2 2 0 1 0 0 4 2 2 0 0 0 0-4z"/></svg>'},{label:e("Toggle the square list style"),tooltip:e("Square"),type:"square",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M14 27v6H8v-6h6zm0-9v6H8v-6h6zm0-9v6H8V9h6z"/></svg>'}]})),t.ui.componentFactory.add("numberedList",J({editor:t,parentCommandName:"numberedList",buttonLabel:e("Numbered List"),buttonIcon:N,toolbarAriaLabel:e("Numbered list styles toolbar"),styleDefinitions:[{label:e("Toggle the decimal list style"),tooltip:e("Decimal"),type:"decimal",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M10.29 15V8.531H9.286c-.14.393-.4.736-.778 1.03-.378.295-.728.495-1.05.6v1.121a4.257 4.257 0 0 0 1.595-.936V15h1.235zm3.343 0v-1.235h-1.235V15h1.235zM11.3 24v-1.147H8.848c.064-.111.148-.226.252-.343.104-.117.351-.354.74-.712.39-.357.66-.631.81-.821.225-.288.39-.562.494-.824.104-.263.156-.539.156-.829 0-.51-.182-.936-.545-1.279-.363-.342-.863-.514-1.499-.514-.58 0-1.063.148-1.45.444-.387.296-.617.784-.69 1.463l1.23.124c.024-.36.112-.619.264-.774.153-.155.358-.233.616-.233.26 0 .465.074.613.222.148.148.222.36.222.635 0 .25-.085.501-.255.756-.126.185-.468.536-1.024 1.055-.692.641-1.155 1.156-1.389 1.544-.234.389-.375.8-.422 1.233H11.3zm2.333 0v-1.235h-1.235V24h1.235zM9.204 34.11c.615 0 1.129-.2 1.542-.598.413-.398.62-.88.62-1.446 0-.39-.11-.722-.332-.997a1.5 1.5 0 0 0-.886-.532c.619-.337.928-.788.928-1.353 0-.399-.151-.756-.453-1.073-.366-.386-.852-.58-1.459-.58a2.25 2.25 0 0 0-.96.2 1.617 1.617 0 0 0-.668.55c-.16.232-.28.544-.358.933l1.138.194c.032-.282.123-.495.272-.642.15-.146.33-.22.54-.22.215 0 .386.065.515.194s.193.302.193.518c0 .255-.087.46-.263.613-.176.154-.43.227-.765.218l-.136 1.006c.22-.061.409-.092.567-.092.24 0 .444.09.61.272.168.182.251.428.251.739 0 .328-.087.589-.261.782a.833.833 0 0 1-.644.29.841.841 0 0 1-.607-.242c-.167-.16-.27-.394-.307-.698l-1.196.145c.062.542.285.98.668 1.316.384.335.868.503 1.45.503zm4.43-.11v-1.235h-1.236V34h1.235z"/></svg>'},{label:e("Toggle the decimal with leading zero list style"),tooltip:e("Decimal with leading zero"),type:"decimal-leading-zero",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M5.714 15.11c.624 0 1.11-.22 1.46-.66.421-.533.632-1.408.632-2.627 0-1.222-.21-2.096-.629-2.624-.351-.445-.839-.668-1.463-.668-.624 0-1.11.22-1.459.66-.422.533-.633 1.406-.633 2.619 0 1.236.192 2.095.576 2.577.384.482.89.723 1.516.723zm0-1.024a.614.614 0 0 1-.398-.14c-.115-.094-.211-.283-.287-.565-.077-.283-.115-.802-.115-1.558s.043-1.294.128-1.613c.064-.246.155-.417.272-.512a.617.617 0 0 1 .4-.143.61.61 0 0 1 .398.143c.116.095.211.284.288.567.076.283.114.802.114 1.558s-.043 1.292-.128 1.608c-.064.246-.155.417-.272.512a.617.617 0 0 1-.4.143zm6.078.914V8.531H10.79c-.14.393-.4.736-.778 1.03-.378.295-.728.495-1.05.6v1.121a4.257 4.257 0 0 0 1.595-.936V15h1.235zm3.344 0v-1.235h-1.235V15h1.235zm-9.422 9.11c.624 0 1.11-.22 1.46-.66.421-.533.632-1.408.632-2.627 0-1.222-.21-2.096-.629-2.624-.351-.445-.839-.668-1.463-.668-.624 0-1.11.22-1.459.66-.422.533-.633 1.406-.633 2.619 0 1.236.192 2.095.576 2.577.384.482.89.723 1.516.723zm0-1.024a.614.614 0 0 1-.398-.14c-.115-.094-.211-.283-.287-.565-.077-.283-.115-.802-.115-1.558s.043-1.294.128-1.613c.064-.246.155-.417.272-.512a.617.617 0 0 1 .4-.143.61.61 0 0 1 .398.143c.116.095.211.284.288.567.076.283.114.802.114 1.558s-.043 1.292-.128 1.608c-.064.246-.155.417-.272.512a.617.617 0 0 1-.4.143zm7.088.914v-1.147H10.35c.065-.111.149-.226.253-.343.104-.117.35-.354.74-.712.39-.357.66-.631.81-.821.225-.288.39-.562.493-.824.104-.263.156-.539.156-.829 0-.51-.181-.936-.544-1.279-.364-.342-.863-.514-1.499-.514-.58 0-1.063.148-1.45.444-.387.296-.617.784-.69 1.463l1.23.124c.024-.36.112-.619.264-.774.152-.155.357-.233.615-.233.261 0 .465.074.613.222.148.148.222.36.222.635 0 .25-.085.501-.255.756-.126.185-.467.536-1.024 1.055-.691.641-1.154 1.156-1.388 1.544-.235.389-.375.8-.422 1.233h4.328zm2.334 0v-1.235h-1.235V24h1.235zM5.714 34.11c.624 0 1.11-.22 1.46-.66.421-.533.632-1.408.632-2.627 0-1.222-.21-2.096-.629-2.624-.351-.445-.839-.668-1.463-.668-.624 0-1.11.22-1.459.66-.422.533-.633 1.406-.633 2.619 0 1.236.192 2.095.576 2.577.384.482.89.723 1.516.723zm0-1.024a.614.614 0 0 1-.398-.14c-.115-.094-.211-.283-.287-.565-.077-.283-.115-.802-.115-1.558s.043-1.294.128-1.613c.064-.246.155-.417.272-.512a.617.617 0 0 1 .4-.143.61.61 0 0 1 .398.143c.116.095.211.284.288.567.076.283.114.802.114 1.558s-.043 1.292-.128 1.608c-.064.246-.155.417-.272.512a.617.617 0 0 1-.4.143zm4.992 1.024c.616 0 1.13-.2 1.543-.598.413-.398.62-.88.62-1.446 0-.39-.111-.722-.332-.997a1.5 1.5 0 0 0-.886-.532c.618-.337.927-.788.927-1.353 0-.399-.15-.756-.452-1.073-.366-.386-.853-.58-1.46-.58a2.25 2.25 0 0 0-.96.2 1.617 1.617 0 0 0-.667.55c-.16.232-.28.544-.359.933l1.139.194c.032-.282.123-.495.272-.642.15-.146.33-.22.54-.22.214 0 .386.065.515.194s.193.302.193.518c0 .255-.088.46-.264.613-.175.154-.43.227-.764.218l-.136 1.006c.22-.061.408-.092.566-.092.24 0 .444.09.611.272.167.182.25.428.25.739 0 .328-.086.589-.26.782a.833.833 0 0 1-.644.29.841.841 0 0 1-.607-.242c-.167-.16-.27-.394-.308-.698l-1.195.145c.062.542.284.98.668 1.316.384.335.867.503 1.45.503zm4.43-.11v-1.235h-1.235V34h1.235z"/></svg>'},{label:e("Toggle the lower–roman list style"),tooltip:e("Lower–roman"),type:"lower-roman",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M11.88 8.7V7.558h-1.234V8.7h1.234zm0 5.3V9.333h-1.234V14h1.234zm2.5 0v-1.235h-1.234V14h1.235zm-4.75 4.7v-1.142H8.395V18.7H9.63zm0 5.3v-4.667H8.395V24H9.63zm2.5-5.3v-1.142h-1.234V18.7h1.235zm0 5.3v-4.667h-1.234V24h1.235zm2.501 0v-1.235h-1.235V24h1.235zM7.38 28.7v-1.142H6.145V28.7H7.38zm0 5.3v-4.667H6.145V34H7.38zm2.5-5.3v-1.142H8.646V28.7H9.88zm0 5.3v-4.667H8.646V34H9.88zm2.5-5.3v-1.142h-1.234V28.7h1.235zm0 5.3v-4.667h-1.234V34h1.235zm2.501 0v-1.235h-1.235V34h1.235z"/></svg>'},{label:e("Toggle the upper–roman list style"),tooltip:e("Upper-roman"),type:"upper-roman",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M11.916 15V8.558h-1.301V15h1.3zm2.465 0v-1.235h-1.235V15h1.235zM9.665 25v-6.442h-1.3V25h1.3zm2.5 0v-6.442h-1.3V25h1.3zm2.466 0v-1.235h-1.235V25h1.235zm-7.216 9v-6.442h-1.3V34h1.3zm2.5 0v-6.442h-1.3V34h1.3zm2.501 0v-6.442h-1.3V34h1.3zm2.465 0v-1.235h-1.235V34h1.235z"/></svg>'},{label:e("Toggle the lower–latin list style"),tooltip:e("Lower-latin"),type:"lower-latin",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M9.62 14.105c.272 0 .528-.05.768-.153s.466-.257.677-.462c.009.024.023.072.044.145.047.161.086.283.119.365h1.221a2.649 2.649 0 0 1-.222-.626c-.04-.195-.059-.498-.059-.908l.013-1.441c0-.536-.055-.905-.165-1.105-.11-.201-.3-.367-.569-.497-.27-.13-.68-.195-1.23-.195-.607 0-1.064.108-1.371.325-.308.217-.525.55-.65 1.002l1.12.202c.076-.217.176-.369.299-.455.123-.086.294-.13.514-.13.325 0 .546.05.663.152.118.101.176.27.176.508v.123c-.222.093-.622.194-1.2.303-.427.082-.755.178-.982.288-.227.11-.403.268-.53.474a1.327 1.327 0 0 0-.188.706c0 .398.138.728.415.988.277.261.656.391 1.136.391zm.368-.87a.675.675 0 0 1-.492-.189.606.606 0 0 1-.193-.448c0-.176.08-.32.241-.435.106-.07.33-.142.673-.215a7.19 7.19 0 0 0 .751-.19v.247c0 .296-.016.496-.048.602a.773.773 0 0 1-.295.409 1.07 1.07 0 0 1-.637.22zm4.645.765v-1.235h-1.235V14h1.235zM10.2 25.105c.542 0 1.003-.215 1.382-.646.38-.43.57-1.044.57-1.84 0-.771-.187-1.362-.559-1.774a1.82 1.82 0 0 0-1.41-.617c-.522 0-.973.216-1.354.65v-2.32H7.594V25h1.147v-.686a1.9 1.9 0 0 0 .67.592c.26.133.523.2.79.2zm-.299-.975c-.354 0-.638-.164-.852-.492-.153-.232-.229-.59-.229-1.073 0-.468.098-.818.295-1.048a.93.93 0 0 1 .738-.345c.302 0 .55.118.743.354.193.236.29.62.29 1.154 0 .5-.096.868-.288 1.1-.192.233-.424.35-.697.35zm4.478.87v-1.235h-1.234V25h1.234zm-4.017 9.105c.6 0 1.08-.142 1.437-.426.357-.284.599-.704.725-1.261l-1.213-.207c-.061.326-.167.555-.316.688a.832.832 0 0 1-.576.2.916.916 0 0 1-.75-.343c-.185-.228-.278-.62-.278-1.173 0-.498.091-.853.274-1.066.183-.212.429-.318.736-.318.232 0 .42.061.565.184.145.123.238.306.28.55l1.216-.22c-.146-.501-.387-.874-.722-1.119-.336-.244-.788-.366-1.356-.366-.695 0-1.245.214-1.653.643-.407.43-.61 1.03-.61 1.8 0 .762.202 1.358.608 1.788.406.431.95.646 1.633.646zM14.633 34v-1.235h-1.235V34h1.235z"/></svg>'},{label:e("Toggle the upper–latin list style"),tooltip:e("Upper-latin"),type:"upper-latin",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="m7.88 15 .532-1.463h2.575L11.549 15h1.415l-2.58-6.442H9.01L6.5 15h1.38zm2.69-2.549H8.811l.87-2.39.887 2.39zM14.88 15v-1.235h-1.234V15h1.234zM9.352 25c.83-.006 1.352-.02 1.569-.044.346-.038.636-.14.872-.305.236-.166.422-.387.558-.664.137-.277.205-.562.205-.855 0-.372-.106-.695-.317-.97-.21-.276-.512-.471-.905-.585a1.51 1.51 0 0 0 .661-.567 1.5 1.5 0 0 0 .244-.83c0-.28-.066-.53-.197-.754a1.654 1.654 0 0 0-.495-.539 1.676 1.676 0 0 0-.672-.266c-.25-.042-.63-.063-1.14-.063H7.158V25h2.193zm.142-3.88H8.46v-1.49h.747c.612 0 .983.007 1.112.022.217.026.38.102.49.226.11.125.165.287.165.486a.68.68 0 0 1-.192.503.86.86 0 0 1-.525.23 11.47 11.47 0 0 1-.944.023h.18zm.17 2.795H8.46v-1.723h1.05c.592 0 .977.03 1.154.092.177.062.313.16.406.295a.84.84 0 0 1 .14.492c0 .228-.06.41-.181.547a.806.806 0 0 1-.473.257c-.126.026-.423.04-.892.04zM14.88 25v-1.235h-1.234V25h1.234zm-5.018 9.11c.691 0 1.262-.17 1.711-.512.45-.341.772-.864.965-1.567l-1.261-.4c-.109.472-.287.818-.536 1.037-.25.22-.547.33-.892.33-.47 0-.85-.173-1.143-.519-.293-.345-.44-.925-.44-1.74 0-.767.15-1.322.447-1.665.297-.343.684-.514 1.162-.514.346 0 .64.096.881.29.242.193.4.457.477.79l1.288-.307c-.147-.516-.367-.911-.66-1.187-.492-.465-1.132-.698-1.92-.698-.902 0-1.63.296-2.184.89-.554.593-.83 1.426-.83 2.498 0 1.014.275 1.813.825 2.397.551.585 1.254.877 2.11.877zM14.88 34v-1.235h-1.234V34h1.234z"/></svg>'}]}))}}function J({editor:t,parentCommandName:e,buttonLabel:i,buttonIcon:n,toolbarAriaLabel:o,styleDefinitions:s}){const r=t.commands.get(e),l=t.commands.get("listStyle");return a=>{const c=Object(m.createDropdown)(a,m.SplitButtonView),d=c.buttonView,u=function({editor:t,listStyleCommand:e,parentCommandName:i}){const n=t.locale,o=t.commands.get(i);return({label:s,type:r,icon:l,tooltip:a})=>{const c=new m.ButtonView(n);return c.set({label:s,icon:l,tooltip:a}),e.on("change:value",()=>{c.isOn=e.value===r}),c.on("execute",()=>{o.value?e.value!==r?t.execute("listStyle",{type:r}):t.execute("listStyle",{type:e._defaultType}):t.model.change(()=>{t.execute(i),t.execute("listStyle",{type:r})}),t.editing.view.focus()}),c}}({editor:t,parentCommandName:e,listStyleCommand:l});return Object(m.addToolbarToDropdown)(c,s.map(u)),c.bind("isEnabled").to(r),c.toolbarView.ariaLabel=o,c.class="ck-list-styles-dropdown",d.on("execute",()=>{t.execute(e),t.editing.view.focus()}),d.set({label:i,icon:n,tooltip:!0,isToggleable:!0}),d.bind("isOn").to(r,"value",t=>!!t),c}}class G extends n.Plugin{static get requires(){return[F,$]}static get pluginName(){return"ListStyle"}}class Q extends n.Command{constructor(t){super(t),this._selectedElements=[],this.on("execute",()=>{this.refresh()},{priority:"highest"})}refresh(){this._selectedElements=this._getSelectedItems(),this.value=this._selectedElements.every(t=>!!t.getAttribute("todoListChecked")),this.isEnabled=!!this._selectedElements.length}_getSelectedItems(){const t=this.editor.model,e=t.schema,i=t.document.selection.getFirstRange(),n=i.start.parent,o=[];e.checkAttribute(n,"todoListChecked")&&o.push(n);for(const t of i.getItems())e.checkAttribute(t,"todoListChecked")&&!o.includes(t)&&o.push(t);return o}execute(t={}){this.editor.model.change(e=>{for(const i of this._selectedElements){(void 0===t.forceValue?!this.value:t.forceValue)?e.setAttribute("todoListChecked",!0,i):e.removeAttribute("todoListChecked",i)}})}}function X(t,e,i){const n=e.modelCursor,o=n.parent,s=e.viewItem;if("checkbox"!=s.getAttribute("type")||"listItem"!=o.name||!n.isAtStart)return;if(!i.consumable.consume(s,{name:!0}))return;const r=i.writer;r.setAttribute("listType","todo",o),e.viewItem.hasAttribute("checked")&&r.setAttribute("todoListChecked",!0,o),e.modelRange=r.createRange(n)}function Z(t){return(e,i)=>{const n=i.modelPosition,o=n.parent;if(!o.is("element","listItem")||"todo"!=o.getAttribute("listType"))return;const s=et(i.mapper.toViewElement(o),t);s&&(i.viewPosition=i.mapper.findPositionIn(s,n.offset))}}function tt(t,e,i,n){return e.createUIElement("label",{class:"todo-list__label",contenteditable:!1},(function(e){const s=Object(o.createElement)(document,"input",{type:"checkbox"});i&&s.setAttribute("checked","checked"),s.addEventListener("change",()=>n(t));const r=this.toDomElement(e);return r.appendChild(s),r}))}function et(t,e){const i=e.createRangeIn(t);for(const t of i)if(t.item.is("containerElement","span")&&t.item.hasClass("todo-list__label__description"))return t.item}const it=Object(o.parseKeystroke)("Ctrl+Enter");class nt extends n.Plugin{static get pluginName(){return"TodoListEditing"}static get requires(){return[M]}init(){const t=this.editor,{editing:e,data:i,model:n}=t;n.schema.extend("listItem",{allowAttributes:["todoListChecked"]}),n.schema.addAttributeCheck((t,e)=>{const i=t.last;if("todoListChecked"==e&&"listItem"==i.name&&"todo"!=i.getAttribute("listType"))return!1}),t.commands.add("todoList",new s(t,"todo"));const r=new Q(t);var l,a;t.commands.add("checkTodoList",r),t.commands.add("todoListCheck",r),i.downcastDispatcher.on("insert:listItem",function(t){return(e,i,n)=>{const o=n.consumable;if(!o.test(i.item,"insert")||!o.test(i.item,"attribute:listType")||!o.test(i.item,"attribute:listIndent"))return;if("todo"!=i.item.getAttribute("listType"))return;const s=i.item;o.consume(s,"insert"),o.consume(s,"attribute:listType"),o.consume(s,"attribute:listIndent"),o.consume(s,"attribute:todoListChecked");const r=n.writer,l=g(s,n);r.addClass("todo-list",l.parent);const a=r.createContainerElement("label",{class:"todo-list__label"}),c=r.createEmptyElement("input",{type:"checkbox",disabled:"disabled"}),d=r.createContainerElement("span",{class:"todo-list__label__description"});s.getAttribute("todoListChecked")&&r.setAttribute("checked","checked",c),r.insert(r.createPositionAt(l,0),a),r.insert(r.createPositionAt(a,0),c),r.insert(r.createPositionAfter(c),d),p(s,l,n,t)}}(n),{priority:"high"}),i.upcastDispatcher.on("element:input",X,{priority:"high"}),e.downcastDispatcher.on("insert:listItem",function(t,e){return(i,n,o)=>{const s=o.consumable;if(!s.test(n.item,"insert")||!s.test(n.item,"attribute:listType")||!s.test(n.item,"attribute:listIndent"))return;if("todo"!=n.item.getAttribute("listType"))return;const r=n.item;s.consume(r,"insert"),s.consume(r,"attribute:listType"),s.consume(r,"attribute:listIndent"),s.consume(r,"attribute:todoListChecked");const l=o.writer,a=g(r,o),c=!!r.getAttribute("todoListChecked"),d=tt(r,l,c,e),u=l.createContainerElement("span",{class:"todo-list__label__description"});l.addClass("todo-list",a.parent),l.insert(l.createPositionAt(a,0),d),l.insert(l.createPositionAfter(d),u),p(r,a,o,t)}}(n,t=>this._handleCheckmarkChange(t)),{priority:"high"}),e.downcastDispatcher.on("attribute:listType:listItem",(l=t=>this._handleCheckmarkChange(t),a=e.view,(t,e,i)=>{const n=i.mapper.toViewElement(e.item),o=i.writer,s=function(t,e){const i=e.createRangeIn(t);for(const t of i)if(t.item.is("uiElement","label"))return t.item}(n,a);if("todo"==e.attributeNewValue){const t=!!e.item.getAttribute("todoListChecked"),i=tt(e.item,o,t,l),s=o.createContainerElement("span",{class:"todo-list__label__description"}),r=o.createRangeIn(n),a=y(n),c=f(r.start),d=a?o.createPositionBefore(a):r.end,u=o.createRange(c,d);o.addClass("todo-list",n.parent),o.move(u,o.createPositionAt(s,0)),o.insert(o.createPositionAt(n,0),i),o.insert(o.createPositionAfter(i),s)}else if("todo"==e.attributeOldValue){const t=et(n,a);o.removeClass("todo-list",n.parent),o.remove(s),o.move(o.createRangeIn(t),o.createPositionBefore(t)),o.remove(t)}})),e.downcastDispatcher.on("attribute:todoListChecked:listItem",function(t){return(e,i,n)=>{if("todo"!=i.item.getAttribute("listType"))return;if(!n.consumable.consume(i.item,"attribute:todoListChecked"))return;const{mapper:o,writer:s}=n,r=!!i.item.getAttribute("todoListChecked"),l=o.toViewElement(i.item).getChild(0),a=tt(i.item,s,r,t);s.insert(s.createPositionAfter(l),a),s.remove(l)}}(t=>this._handleCheckmarkChange(t))),e.mapper.on("modelToViewPosition",Z(e.view)),i.mapper.on("modelToViewPosition",Z(e.view)),this.listenTo(e.view.document,"arrowKey",function(t,e){return(i,n)=>{if("left"!=Object(o.getLocalizedArrowKeyCodeDirection)(n.keyCode,e.contentLanguageDirection))return;const s=t.schema,r=t.document.selection;if(!r.isCollapsed)return;const l=r.getFirstPosition(),a=l.parent;if("listItem"===a.name&&"todo"==a.getAttribute("listType")&&l.isAtStart){const e=s.getNearestSelectionRange(t.createPositionBefore(a),"backward");e&&t.change(t=>t.setSelection(e)),n.preventDefault(),n.stopPropagation(),i.stop()}}}(n,t.locale),{context:"li"}),this.listenTo(e.view.document,"keydown",(e,i)=>{Object(o.getCode)(i)===it&&(t.execute("checkTodoList"),e.stop())},{priority:"high"});const c=new Set;this.listenTo(n,"applyOperation",(t,e)=>{const i=e[0];if("rename"==i.type&&"listItem"==i.oldName){const t=i.position.nodeAfter;t.hasAttribute("todoListChecked")&&c.add(t)}else if("changeAttribute"==i.type&&"listType"==i.key&&"todo"===i.oldValue)for(const t of i.range.getItems())t.hasAttribute("todoListChecked")&&"todo"!==t.getAttribute("listType")&&c.add(t)}),n.document.registerPostFixer(t=>{let e=!1;for(const i of c)t.removeAttribute("todoListChecked",i),e=!0;return c.clear(),e})}_handleCheckmarkChange(t){const e=this.editor,i=e.model,n=Array.from(i.document.selection.getRanges());i.change(i=>{i.setSelection(t,"end"),e.execute("checkTodoList"),i.setSelection(n)})}}class ot extends n.Plugin{static get pluginName(){return"TodoListUI"}init(){const t=this.editor.t;v(this.editor,"todoList",t("To-do List"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m2.315 14.705 2.224-2.24a.689.689 0 0 1 .963 0 .664.664 0 0 1 0 .949L2.865 16.07a.682.682 0 0 1-.112.089.647.647 0 0 1-.852-.051L.688 14.886a.635.635 0 0 1 0-.903.647.647 0 0 1 .91 0l.717.722zm5.185.045a.75.75 0 0 1 .75-.75h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75zM2.329 5.745l2.21-2.226a.689.689 0 0 1 .963 0 .664.664 0 0 1 0 .95L2.865 7.125a.685.685 0 0 1-.496.196.644.644 0 0 1-.468-.187L.688 5.912a.635.635 0 0 1 0-.903.647.647 0 0 1 .91 0l.73.736zM7.5 5.75A.75.75 0 0 1 8.25 5h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75z"/></svg>')}}i(10);class st extends n.Plugin{static get requires(){return[nt,ot]}static get pluginName(){return"TodoList"}}}]);
\ No newline at end of file
+ */(()=>{var t={389:(t,e,i)=>{"use strict";i.d(e,{Z:()=>o});var s=i(609),n=i.n(s)()((function(t){return t[1]}));n.push([t.id,".ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:transparent}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:transparent;border-color:transparent;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:0 var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}",""]);const o=n},543:(t,e,i)=>{"use strict";i.d(e,{Z:()=>o});var s=i(609),n=i.n(s)()((function(t){return t[1]}));n.push([t.id,".ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:transparent;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:transparent;box-shadow:none}",""]);const o=n},657:(t,e,i)=>{"use strict";i.d(e,{Z:()=>o});var s=i(609),n=i.n(s)()((function(t){return t[1]}));n.push([t.id,".ck.ck-list-styles-list{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:content-box;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}",""]);const o=n},250:(t,e,i)=>{"use strict";i.d(e,{Z:()=>o});var s=i(609),n=i.n(s)()((function(t){return t[1]}));n.push([t.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-content .todo-list .todo-list__label>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out,background .25s ease-in-out,border .25s ease-in-out;width:100%}.ck-content .todo-list .todo-list__label>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable .todo-list .todo-list__label>input{cursor:pointer}.ck-editor__editable .todo-list .todo-list__label>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}',""]);const o=n},609:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i=t(e);return e[2]?"@media ".concat(e[2]," {").concat(i,"}"):i})).join("")},e.i=function(t,i,s){"string"==typeof t&&(t=[[null,t,""]]);var n={};if(s)for(var o=0;o<this.length;o++){var r=this[o][0];null!=r&&(n[r]=!0)}for(var l=0;l<t.length;l++){var a=[].concat(t[l]);s&&n[a[0]]||(i&&(a[2]?a[2]="".concat(i," and ").concat(a[2]):a[2]=i),e.push(a))}},e}},62:(t,e,i)=>{"use strict";var s,n=function(){return void 0===s&&(s=Boolean(window&&document&&document.all&&!window.atob)),s},o=function(){var t={};return function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}t[e]=i}return t[e]}}(),r=[];function l(t){for(var e=-1,i=0;i<r.length;i++)if(r[i].identifier===t){e=i;break}return e}function a(t,e){for(var i={},s=[],n=0;n<t.length;n++){var o=t[n],a=e.base?o[0]+e.base:o[0],c=i[a]||0,d="".concat(a," ").concat(c);i[a]=c+1;var u=l(d),m={css:o[1],media:o[2],sourceMap:o[3]};-1!==u?(r[u].references++,r[u].updater(m)):r.push({identifier:d,updater:b(m,e),references:1}),s.push(d)}return s}function c(t){var e=document.createElement("style"),s=t.attributes||{};if(void 0===s.nonce){var n=i.nc;n&&(s.nonce=n)}if(Object.keys(s).forEach((function(t){e.setAttribute(t,s[t])})),"function"==typeof t.insert)t.insert(e);else{var r=o(t.insert||"head");if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(e)}return e}var d,u=(d=[],function(t,e){return d[t]=e,d.filter(Boolean).join("\n")});function m(t,e,i,s){var n=i?"":s.media?"@media ".concat(s.media," {").concat(s.css,"}"):s.css;if(t.styleSheet)t.styleSheet.cssText=u(e,n);else{var o=document.createTextNode(n),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(o,r[e]):t.appendChild(o)}}function p(t,e,i){var s=i.css,n=i.media,o=i.sourceMap;if(n?t.setAttribute("media",n):t.removeAttribute("media"),o&&"undefined"!=typeof btoa&&(s+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleSheet)t.styleSheet.cssText=s;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(s))}}var h=null,g=0;function b(t,e){var i,s,n;if(e.singleton){var o=g++;i=h||(h=c(e)),s=m.bind(null,i,o,!1),n=m.bind(null,i,o,!0)}else i=c(e),s=p.bind(null,i,e),n=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(i)};return s(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;s(t=e)}else n()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=n());var i=a(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var s=0;s<i.length;s++){var n=l(i[s]);r[n].references--}for(var o=a(t,e),c=0;c<i.length;c++){var d=l(i[c]);0===r[d].references&&(r[d].updater(),r.splice(d,1))}i=o}}}},704:(t,e,i)=>{t.exports=i(79)("./src/core.js")},492:(t,e,i)=>{t.exports=i(79)("./src/engine.js")},331:(t,e,i)=>{t.exports=i(79)("./src/enter.js")},181:(t,e,i)=>{t.exports=i(79)("./src/typing.js")},273:(t,e,i)=>{t.exports=i(79)("./src/ui.js")},209:(t,e,i)=>{t.exports=i(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function i(s){var n=e[s];if(void 0!==n)return n.exports;var o=e[s]={id:s,exports:{}};return t[s](o,o.exports,i),o.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var s in e)i.o(e,s)&&!i.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var s={};(()=>{"use strict";i.r(s),i.d(s,{List:()=>j,ListEditing:()=>H,ListProperties:()=>ut,ListPropertiesEditing:()=>G,ListPropertiesUI:()=>ct,ListUI:()=>D,TodoList:()=>It,TodoListEditing:()=>wt,TodoListUI:()=>yt});var t=i(704),e=i(209);class n extends t.Command{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,i=e.document,s=Array.from(i.selection.getSelectedBlocks()).filter((t=>r(t,e.schema))),n=void 0!==t.forceValue?!t.forceValue:this.value;e.change((t=>{if(n){let e=s[s.length-1].nextSibling,i=Number.POSITIVE_INFINITY,n=[];for(;e&&"listItem"==e.name&&0!==e.getAttribute("listIndent");){const t=e.getAttribute("listIndent");t<i&&(i=t);const s=t-i;n.push({element:e,listIndent:s}),e=e.nextSibling}n=n.reverse();for(const e of n)t.setAttribute("listIndent",e.listIndent,e.element)}if(!n){let t=Number.POSITIVE_INFINITY;for(const e of s)e.is("element","listItem")&&e.getAttribute("listIndent")<t&&(t=e.getAttribute("listIndent"));t=0===t?1:t,o(s,!0,t),o(s,!1,t)}for(const e of s.reverse())n&&"listItem"==e.name?t.rename(e,"paragraph"):n||"listItem"==e.name?n||"listItem"!=e.name||e.getAttribute("listType")==this.type||t.setAttribute("listType",this.type,e):(t.setAttributes({listType:this.type,listIndent:0},e),t.rename(e,"listItem"));this.fire("_executeCleanup",s)}))}_getValue(){const t=(0,e.first)(this.editor.model.document.selection.getSelectedBlocks());return!!t&&t.is("element","listItem")&&t.getAttribute("listType")==this.type}_checkEnabled(){if(this.value)return!0;const t=this.editor.model.document.selection,i=this.editor.model.schema,s=(0,e.first)(t.getSelectedBlocks());return!!s&&r(s,i)}}function o(t,e,i){const s=e?t[0]:t[t.length-1];if(s.is("element","listItem")){let n=s[e?"previousSibling":"nextSibling"],o=s.getAttribute("listIndent");for(;n&&n.is("element","listItem")&&n.getAttribute("listIndent")>=i;)o>n.getAttribute("listIndent")&&(o=n.getAttribute("listIndent")),n.getAttribute("listIndent")==o&&t[e?"unshift":"push"](n),n=n[e?"previousSibling":"nextSibling"]}}function r(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class l extends t.Command{constructor(t,e){super(t),this._indentBy="forward"==e?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=t.document;let i=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=i[i.length-1];let s=e.nextSibling;for(;s&&"listItem"==s.name&&s.getAttribute("listIndent")>e.getAttribute("listIndent");)i.push(s),s=s.nextSibling;this._indentBy<0&&(i=i.reverse());for(const e of i){const i=e.getAttribute("listIndent")+this._indentBy;i<0?t.rename(e,"paragraph"):t.setAttribute("listIndent",i,e)}this.fire("_executeCleanup",i)}))}_checkEnabled(){const t=(0,e.first)(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem"))return!1;if(this._indentBy>0){const e=t.getAttribute("listIndent"),i=t.getAttribute("listType");let s=t.previousSibling;for(;s&&s.is("element","listItem")&&s.getAttribute("listIndent")>=e;){if(s.getAttribute("listIndent")==e)return s.getAttribute("listType")==i;s=s.previousSibling}return!1}return!0}}var a=i(331),c=i(181),d=i(492),u=i(273);function m(t,e){const i=e.mapper,s=e.writer,n="numbered"==t.getAttribute("listType")?"ol":"ul",o=function(t){const e=t.createContainerElement("li");return e.getFillerOffset=I,e}(s),r=s.createContainerElement(n,null);return s.insert(s.createPositionAt(r,0),o),i.bindElements(t,o),o}function p(t,e,i,s){const n=e.parent,o=i.mapper,r=i.writer;let l=o.toViewPosition(s.createPositionBefore(t));const a=b(t.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:t.getAttribute("listIndent")}),c=t.previousSibling;if(a&&a.getAttribute("listIndent")==t.getAttribute("listIndent")){const t=o.toViewElement(a);l=r.breakContainer(r.createPositionAfter(t))}else if(c&&"listItem"==c.name){l=o.toViewPosition(s.createPositionAt(c,"end"));const t=o.findMappedViewAncestor(l),e=v(t);l=e?r.createPositionBefore(e):r.createPositionAt(t,"end")}else l=o.toViewPosition(s.createPositionBefore(t));if(l=g(l),r.insert(l,n),c&&"listItem"==c.name){const t=o.toViewElement(c),i=r.createRange(r.createPositionAt(t,0),l).getWalker({ignoreElementEnd:!0});for(const t of i)if(t.item.is("element","li")){const s=r.breakContainer(r.createPositionBefore(t.item)),n=t.item.parent,o=r.createPositionAt(e,"end");h(r,o.nodeBefore,o.nodeAfter),r.move(r.createRangeOn(n),o),i.position=s}}else{const i=n.nextSibling;if(i&&(i.is("element","ul")||i.is("element","ol"))){let s=null;for(const e of i.getChildren()){const i=o.toModelElement(e);if(!(i&&i.getAttribute("listIndent")>t.getAttribute("listIndent")))break;s=e}s&&(r.breakContainer(r.createPositionAfter(s)),r.move(r.createRangeOn(s.parent),r.createPositionAt(e,"end")))}}h(r,n,n.nextSibling),h(r,n.previousSibling,n)}function h(t,e,i){return!e||!i||"ul"!=e.name&&"ol"!=e.name||e.name!=i.name||e.getAttribute("class")!==i.getAttribute("class")?null:t.mergeContainers(t.createPositionAfter(e))}function g(t){return t.getLastMatchingPosition((t=>t.item.is("uiElement")))}function b(t,e){const i=!!e.sameIndent,s=!!e.smallerIndent,n=e.listIndent;let o=t;for(;o&&"listItem"==o.name;){const t=o.getAttribute("listIndent");if(i&&n==t||s&&n>t)return o;o="forward"===e.direction?o.nextSibling:o.previousSibling}return null}function f(t,e,i,s){t.ui.componentFactory.add(e,(n=>{const o=t.commands.get(e),r=new u.ButtonView(n);return r.set({label:i,icon:s,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(o,"value","isEnabled"),r.on("execute",(()=>{t.execute(e),t.editing.view.focus()})),r}))}function v(t){for(const e of t.getChildren())if("ul"==e.name||"ol"==e.name)return e;return null}function w(t,e){const i=[],s=t.parent,n={ignoreElementEnd:!0,startPosition:t,shallow:!0,direction:e},o=s.getAttribute("listIndent"),r=[...new d.TreeWalker(n)].filter((t=>t.item.is("element"))).map((t=>t.item));for(const t of r){if(!t.is("element","listItem"))break;if(t.getAttribute("listIndent")<o)break;if(!(t.getAttribute("listIndent")>o)){if(t.getAttribute("listType")!==s.getAttribute("listType"))break;if(t.getAttribute("listStyle")!==s.getAttribute("listStyle"))break;if(t.getAttribute("listReversed")!==s.getAttribute("listReversed"))break;if(t.getAttribute("listStart")!==s.getAttribute("listStart"))break;"backward"===e?i.unshift(t):i.push(t)}}return i}function y(t){let e=[...t.document.selection.getSelectedBlocks()].filter((t=>t.is("element","listItem"))).map((e=>{const i=t.change((t=>t.createPositionAt(e,0)));return[...w(i,"backward"),...w(i,"forward")]})).flat();return e=[...new Set(e)],e}const k=["disc","circle","square"],A=["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function I(){const t=!this.isEmpty&&("ul"==this.getChild(0).name||"ol"==this.getChild(0).name);return this.isEmpty||t?0:d.getFillerOffset.call(this)}function x(t){return(e,i,s)=>{const n=s.consumable;if(!n.test(i.item,"insert")||!n.test(i.item,"attribute:listType")||!n.test(i.item,"attribute:listIndent"))return;n.consume(i.item,"insert"),n.consume(i.item,"attribute:listType"),n.consume(i.item,"attribute:listIndent");const o=i.item;p(o,m(o,s),s,t)}}function T(t,e,i){if(!i.consumable.test(e.item,t.name))return;const s=i.mapper.toViewElement(e.item),n=i.writer;n.breakContainer(n.createPositionBefore(s)),n.breakContainer(n.createPositionAfter(s));const o=s.parent,r="numbered"==e.attributeNewValue?"ol":"ul";n.rename(r,o)}function V(t,e,i){i.consumable.consume(e.item,t.name);const s=i.mapper.toViewElement(e.item).parent,n=i.writer;h(n,s,s.nextSibling),h(n,s.previousSibling,s)}function C(t,e,i){if(i.consumable.test(e.item,t.name)&&"listItem"!=e.item.name){let t=i.mapper.toViewPosition(e.range.start);const s=i.writer,n=[];for(;("ul"==t.parent.name||"ol"==t.parent.name)&&(t=s.breakContainer(t),"li"==t.parent.name);){const e=t,i=s.createPositionAt(t.parent,"end");if(!e.isEqual(i)){const t=s.remove(s.createRange(e,i));n.push(t)}t=s.createPositionAfter(t.parent)}if(n.length>0){for(let e=0;e<n.length;e++){const i=t.nodeBefore;if(t=s.insert(t,n[e]).end,e>0){const e=h(s,i,i.nextSibling);e&&e.parent==i&&t.offset--}}h(s,t.nodeBefore,t.nodeAfter)}}}function S(t,e,i){const s=i.mapper.toViewPosition(e.position),n=s.nodeBefore,o=s.nodeAfter;h(i.writer,n,o)}function _(t,e,i){if(i.consumable.consume(e.viewItem,{name:!0})){const t=i.writer,s=t.createElement("listItem"),n=function(t){let e=0,i=t.parent;for(;i;){if(i.is("element","li"))e++;else{const t=i.previousSibling;t&&t.is("element","li")&&e++}i=i.parent}return e}(e.viewItem);t.setAttribute("listIndent",n,s);const o=e.viewItem.parent&&"ol"==e.viewItem.parent.name?"numbered":"bulleted";if(t.setAttribute("listType",o,s),!i.safeInsert(s,e.modelCursor))return;const r=function(t,e,i){const{writer:s,schema:n}=i;let o=s.createPositionAfter(t);for(const r of e)if("ul"==r.name||"ol"==r.name)o=i.convertItem(r,o).modelCursor;else{const e=i.convertItem(r,s.createPositionAt(t,"end")),l=e.modelRange.start.nodeAfter;l&&l.is("element")&&!n.checkChild(t,l.name)&&(t=e.modelCursor.parent.is("element","listItem")?e.modelCursor.parent:B(e.modelCursor),o=s.createPositionAfter(t))}return o}(s,e.viewItem.getChildren(),i);e.modelRange=t.createRange(e.modelCursor,r),i.updateConversionResult(s,e)}}function L(t,e,i){if(i.consumable.test(e.viewItem,{name:!0})){const t=Array.from(e.viewItem.getChildren());for(const e of t){!(e.is("element","li")||N(e))&&e._remove()}}}function z(t,e,i){if(i.consumable.test(e.viewItem,{name:!0})){if(0===e.viewItem.childCount)return;const t=[...e.viewItem.getChildren()];let i=!1;for(const e of t)i&&!N(e)&&e._remove(),N(e)&&(i=!0)}}function P(t){return(e,i)=>{if(i.isPhantom)return;const s=i.modelPosition.nodeBefore;if(s&&s.is("element","listItem")){const e=i.mapper.toViewElement(s),n=e.getAncestors().find(N),o=t.createPositionAt(e,0).getWalker();for(const t of o){if("elementStart"==t.type&&t.item.is("element","li")){i.viewPosition=t.previousPosition;break}if("elementEnd"==t.type&&t.item==n){i.viewPosition=t.nextPosition;break}}}}}function E(t,[e,i]){let s,n=e.is("documentFragment")?e.getChild(0):e;if(s=i?this.createSelection(i):this.document.selection,n&&n.is("element","listItem")){const t=s.getFirstPosition();let e=null;if(t.parent.is("element","listItem")?e=t.parent:t.nodeBefore&&t.nodeBefore.is("element","listItem")&&(e=t.nodeBefore),e){const t=e.getAttribute("listIndent");if(t>0)for(;n&&n.is("element","listItem");)n._setAttribute("listIndent",n.getAttribute("listIndent")+t),n=n.nextSibling}}}function B(t){const e=new d.TreeWalker({startPosition:t});let i;do{i=e.next()}while(!i.value.item.is("element","listItem"));return i.value.item}function M(t,e,i,s,n,o){const r=b(e.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:t,foo:"b"}),l=n.mapper,a=n.writer,c=r?r.getAttribute("listIndent"):null;let d;if(r)if(c==t){const t=l.toViewElement(r).parent;d=a.createPositionAfter(t)}else{const t=o.createPositionAt(r,"end");d=l.toViewPosition(t)}else d=i;d=g(d);for(const t of[...s.getChildren()])N(t)&&(d=a.move(a.createRangeOn(t),d).end,h(a,t,t.nextSibling),h(a,t.previousSibling,t))}function N(t){return t.is("element","ol")||t.is("element","ul")}class H extends t.Plugin{static get pluginName(){return"ListEditing"}static get requires(){return[a.Enter,c.Delete]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data,i=t.editing;var s;t.model.document.registerPostFixer((e=>function(t,e){const i=t.document.differ.getChanges(),s=new Map;let n=!1;for(const s of i)if("insert"==s.type&&"listItem"==s.name)o(s.position);else if("insert"==s.type&&"listItem"!=s.name){if("$text"!=s.name){const i=s.position.nodeAfter;i.hasAttribute("listIndent")&&(e.removeAttribute("listIndent",i),n=!0),i.hasAttribute("listType")&&(e.removeAttribute("listType",i),n=!0),i.hasAttribute("listStyle")&&(e.removeAttribute("listStyle",i),n=!0),i.hasAttribute("listReversed")&&(e.removeAttribute("listReversed",i),n=!0),i.hasAttribute("listStart")&&(e.removeAttribute("listStart",i),n=!0);for(const e of Array.from(t.createRangeIn(i)).filter((t=>t.item.is("element","listItem"))))o(e.previousPosition)}o(s.position.getShiftedBy(s.length))}else"remove"==s.type&&"listItem"==s.name?o(s.position):("attribute"==s.type&&"listIndent"==s.attributeKey||"attribute"==s.type&&"listType"==s.attributeKey)&&o(s.range.start);for(const t of s.values())r(t),l(t);return n;function o(t){const e=t.nodeBefore;if(e&&e.is("element","listItem")){let t=e;if(s.has(t))return;for(let e=t.previousSibling;e&&e.is("element","listItem");e=t.previousSibling)if(t=e,s.has(t))return;s.set(e,t)}else{const e=t.nodeAfter;e&&e.is("element","listItem")&&s.set(e,e)}}function r(t){let i=0,s=null;for(;t&&t.is("element","listItem");){const o=t.getAttribute("listIndent");if(o>i){let r;null===s?(s=o-i,r=i):(s>o&&(s=o),r=o-s),e.setAttribute("listIndent",r,t),n=!0}else s=null,i=t.getAttribute("listIndent")+1;t=t.nextSibling}}function l(t){let i=[],s=null;for(;t&&t.is("element","listItem");){const o=t.getAttribute("listIndent");if(s&&s.getAttribute("listIndent")>o&&(i=i.slice(0,o+1)),0!=o)if(i[o]){const s=i[o];t.getAttribute("listType")!=s&&(e.setAttribute("listType",s,t),n=!0)}else i[o]=t.getAttribute("listType");s=t,t=t.nextSibling}}}(t.model,e))),i.mapper.registerViewToModelLength("li",R),e.mapper.registerViewToModelLength("li",R),i.mapper.on("modelToViewPosition",P(i.view)),i.mapper.on("viewToModelPosition",(s=t.model,(t,e)=>{const i=e.viewPosition,n=i.parent,o=e.mapper;if("ul"==n.name||"ol"==n.name){if(i.isAtEnd){const t=o.toModelElement(i.nodeBefore),n=o.getModelLength(i.nodeBefore);e.modelPosition=s.createPositionBefore(t).getShiftedBy(n)}else{const t=o.toModelElement(i.nodeAfter);e.modelPosition=s.createPositionBefore(t)}t.stop()}else if("li"==n.name&&i.nodeBefore&&("ul"==i.nodeBefore.name||"ol"==i.nodeBefore.name)){const r=o.toModelElement(n);let l=1,a=i.nodeBefore;for(;a&&N(a);)l+=o.getModelLength(a),a=a.previousSibling;e.modelPosition=s.createPositionBefore(r).getShiftedBy(l),t.stop()}})),e.mapper.on("modelToViewPosition",P(i.view)),t.conversion.for("editingDowncast").add((e=>{e.on("insert",C,{priority:"high"}),e.on("insert:listItem",x(t.model)),e.on("attribute:listType:listItem",T,{priority:"high"}),e.on("attribute:listType:listItem",V,{priority:"low"}),e.on("attribute:listIndent:listItem",function(t){return(e,i,s)=>{if(!s.consumable.consume(i.item,"attribute:listIndent"))return;const n=s.mapper.toViewElement(i.item),o=s.writer;o.breakContainer(o.createPositionBefore(n)),o.breakContainer(o.createPositionAfter(n));const r=n.parent,l=r.previousSibling,a=o.createRangeOn(r);o.remove(a),l&&l.nextSibling&&h(o,l,l.nextSibling),M(i.attributeOldValue+1,i.range.start,a.start,n,s,t),p(i.item,n,s,t);for(const t of i.item.getChildren())s.consumable.consume(t,"insert")}}(t.model)),e.on("remove:listItem",function(t){return(e,i,s)=>{const n=s.mapper.toViewPosition(i.position).getLastMatchingPosition((t=>!t.item.is("element","li"))).nodeAfter,o=s.writer;o.breakContainer(o.createPositionBefore(n)),o.breakContainer(o.createPositionAfter(n));const r=n.parent,l=r.previousSibling,a=o.createRangeOn(r),c=o.remove(a);l&&l.nextSibling&&h(o,l,l.nextSibling),M(s.mapper.toModelElement(n).getAttribute("listIndent")+1,i.position,a.start,n,s,t);for(const t of o.createRangeIn(c).getItems())s.mapper.unbindViewElement(t);e.stop()}}(t.model)),e.on("remove",S,{priority:"low"})})),t.conversion.for("dataDowncast").add((e=>{e.on("insert",C,{priority:"high"}),e.on("insert:listItem",x(t.model))})),t.conversion.for("upcast").add((t=>{t.on("element:ul",L,{priority:"high"}),t.on("element:ol",L,{priority:"high"}),t.on("element:li",z,{priority:"high"}),t.on("element:li",_)})),t.model.on("insertContent",E,{priority:"high"}),t.commands.add("numberedList",new n(t,"numbered")),t.commands.add("bulletedList",new n(t,"bulleted")),t.commands.add("indentList",new l(t,"forward")),t.commands.add("outdentList",new l(t,"backward"));const o=i.view.document;this.listenTo(o,"enter",((t,e)=>{const i=this.editor.model.document,s=i.selection.getLastPosition().parent;i.selection.isCollapsed&&"listItem"==s.name&&s.isEmpty&&(this.editor.execute("outdentList"),e.preventDefault(),t.stop())}),{context:"li"}),this.listenTo(o,"delete",((t,e)=>{if("backward"!==e.direction)return;const i=this.editor.model.document.selection;if(!i.isCollapsed)return;const s=i.getFirstPosition();if(!s.isAtStart)return;const n=s.parent;if("listItem"!==n.name)return;n.previousSibling&&"listItem"===n.previousSibling.name||(this.editor.execute("outdentList"),e.preventDefault(),t.stop())}),{context:"li"}),this.listenTo(t.editing.view.document,"tab",((e,i)=>{const s=i.shiftKey?"outdentList":"indentList";this.editor.commands.get(s).isEnabled&&(t.execute(s),i.stopPropagation(),i.preventDefault(),e.stop())}),{context:"li"})}afterInit(){const t=this.editor.commands,e=t.get("indent"),i=t.get("outdent");e&&e.registerChildCommand(t.get("indentList")),i&&i.registerChildCommand(t.get("outdentList"))}}function R(t){let e=1;for(const i of t.getChildren())if("ul"==i.name||"ol"==i.name)for(const t of i.getChildren())e+=R(t);return e}const O='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zM3.5 3v5H2V3.7H1v-1h2.5V3zM.343 17.857l2.59-3.257H2.92a.6.6 0 1 0-1.04 0H.302a2 2 0 1 1 3.995 0h-.001c-.048.405-.16.734-.333.988-.175.254-.59.692-1.244 1.312H4.3v1h-4l.043-.043zM7 14.75a.75.75 0 0 1 .75-.75h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75z"/></svg>',F='<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M7 5.75c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0C1 4.784 1.777 4 2.75 4c.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75C1.784 7.5 1 6.723 1 5.75zm6 9c0 .414.336.75.75.75h9.5a.75.75 0 1 0 0-1.5h-9.5a.75.75 0 0 0-.75.75zm-6 0c0-.966.777-1.75 1.75-1.75.966 0 1.75.777 1.75 1.75 0 .966-.777 1.75-1.75 1.75-.966 0-1.75-.777-1.75-1.75z"/></svg>';class D extends t.Plugin{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;f(this.editor,"numberedList",t("Numbered List"),O),f(this.editor,"bulletedList",t("Bulleted List"),F)}}class j extends t.Plugin{static get requires(){return[H,D]}static get pluginName(){return"List"}}class U extends t.Command{constructor(t,e){super(t),this._defaultType=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){this._tryToConvertItemsToList(t);const e=this.editor.model,i=y(e);i.length&&e.change((e=>{for(const s of i)e.setAttribute("listStyle",t.type||this._defaultType,s)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")?t.getAttribute("listStyle"):null}_checkEnabled(){const t=this.editor,e=t.commands.get("numberedList"),i=t.commands.get("bulletedList");return e.isEnabled||i.isEnabled}_tryToConvertItemsToList(t){if(!t.type)return;const e=(i=t.type,k.includes(i)?"bulleted":A.includes(i)?"numbered":null);var i;if(!e)return;const s=this.editor,n=e+"List";s.commands.get(n).value||s.execute(n)}}class q extends t.Command{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,i=y(e).filter((t=>"numbered"==t.getAttribute("listType")));e.change((e=>{for(const s of i)e.setAttribute("listReversed",!!t.reversed,s)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")&&"numbered"==t.getAttribute("listType")?t.getAttribute("listReversed"):null}}class K extends t.Command{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,i=y(e).filter((t=>"numbered"==t.getAttribute("listType")));e.change((e=>{for(const s of i)e.setAttribute("listStart",t.startIndex||1,s)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")&&"numbered"==t.getAttribute("listType")?t.getAttribute("listStart"):null}}const Z="default";class G extends t.Plugin{static get requires(){return[H]}static get pluginName(){return"ListPropertiesEditing"}constructor(t){super(t),t.config.define("list",{properties:{styles:!0,startIndex:!1,reversed:!1}})}init(){const t=this.editor,e=t.model,i=function(t){const e=[];t.styles&&e.push({attributeName:"listStyle",defaultValue:Z,addCommand(t){t.commands.add("listStyle",new U(t,Z))},appliesToListItem:()=>!0,setAttributeOnDowncast(t,e,i){e&&e!==Z?t.setStyle("list-style-type",e,i):t.removeStyle("list-style-type",i)},getAttributeOnUpcast:t=>t.getStyle("list-style-type")||Z});t.reversed&&e.push({attributeName:"listReversed",defaultValue:!1,addCommand(t){t.commands.add("listReversed",new q(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),setAttributeOnDowncast(t,e,i){e?t.setAttribute("reversed","reversed",i):t.removeAttribute("reversed",i)},getAttributeOnUpcast:t=>t.hasAttribute("reversed")});t.startIndex&&e.push({attributeName:"listStart",defaultValue:1,addCommand(t){t.commands.add("listStart",new K(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),setAttributeOnDowncast(t,e,i){1!=e?t.setAttribute("start",e,i):t.removeAttribute("start",i)},getAttributeOnUpcast:t=>t.getAttribute("start")||1});return e}(t.config.get("list.properties"));e.schema.extend("listItem",{allowAttributes:i.map((t=>t.attributeName))});for(const e of i)e.addCommand(t);var s;this.listenTo(t.commands.get("indentList"),"_executeCleanup",function(t,e){return(i,s)=>{const n=s[0],o=n.getAttribute("listIndent"),r=s.filter((t=>t.getAttribute("listIndent")===o));let l=null;n.previousSibling.getAttribute("listIndent")+1!==o&&(l=b(n.previousSibling,{sameIndent:!0,direction:"backward",listIndent:o})),t.model.change((t=>{for(const i of r)for(const s of e)if(s.appliesToListItem(i)){const e=null==l?s.defaultValue:l.getAttribute(s.attributeName);t.setAttribute(s.attributeName,e,i)}}))}}(t,i)),this.listenTo(t.commands.get("outdentList"),"_executeCleanup",function(t,e){return(i,s)=>{if(!(s=s.reverse().filter((t=>t.is("element","listItem")))).length)return;const n=s[0].getAttribute("listIndent"),o=s[0].getAttribute("listType");let r=s[0].previousSibling;if(r.is("element","listItem"))for(;r.getAttribute("listIndent")!==n;)r=r.previousSibling;else r=null;r||(r=s[s.length-1].nextSibling),r&&r.is("element","listItem")&&r.getAttribute("listType")===o&&t.model.change((t=>{const i=s.filter((t=>t.getAttribute("listIndent")===n));for(const s of i)for(const i of e)if(i.appliesToListItem(s)){const e=i.attributeName,n=r.getAttribute(e);t.setAttribute(e,n,s)}}))}}(t,i)),this.listenTo(t.commands.get("bulletedList"),"_executeCleanup",Y(t)),this.listenTo(t.commands.get("numberedList"),"_executeCleanup",Y(t)),e.document.registerPostFixer(function(t,e){return i=>{let s=!1;const n=J(t.model.document.differ.getChanges()).filter((t=>"todo"!==t.getAttribute("listType")));if(!n.length)return s;let o=n[n.length-1].nextSibling;if((!o||!o.is("element","listItem"))&&(o=n[0].previousSibling,o)){const t=n[0].getAttribute("listIndent");for(;o.is("element","listItem")&&o.getAttribute("listIndent")!==t&&(o=o.previousSibling,o););}for(const t of e){const e=t.attributeName;for(const r of n)if(t.appliesToListItem(r))if(r.hasAttribute(e)){const n=r.previousSibling;$(n,r,t.attributeName)&&(i.setAttribute(e,n.getAttribute(e),r),s=!0)}else W(o,r,t)?i.setAttribute(e,o.getAttribute(e),r):i.setAttribute(e,t.defaultValue,r),s=!0;else i.removeAttribute(e,r)}return s}}(t,i)),t.conversion.for("upcast").add((s=i,t=>{t.on("element:li",((t,e,i)=>{const n=e.viewItem.parent;if(!n)return;const o=e.modelRange.start.nodeAfter||e.modelRange.end.nodeBefore;for(const t of s)if(t.appliesToListItem(o)){const e=t.getAttributeOnUpcast(n);i.writer.setAttribute(t.attributeName,e,o)}}),{priority:"low"})})),t.conversion.for("downcast").add(function(t){return i=>{for(const s of t)i.on(`attribute:${s.attributeName}:listItem`,((t,i,n)=>{const o=n.writer,r=i.item,l=b(r.previousSibling,{sameIndent:!0,listIndent:r.getAttribute("listIndent"),direction:"backward"}),a=n.mapper.toViewElement(r);e(r,l)||o.breakContainer(o.createPositionBefore(a)),s.setAttributeOnDowncast(o,i.attributeNewValue,a.parent)}),{priority:"low"})};function e(t,e){return e&&t.getAttribute("listType")===e.getAttribute("listType")&&t.getAttribute("listIndent")===e.getAttribute("listIndent")&&t.getAttribute("listStyle")===e.getAttribute("listStyle")&&t.getAttribute("listReversed")===e.getAttribute("listReversed")&&t.getAttribute("listStart")===e.getAttribute("listStart")}}(i)),this._mergeListAttributesWhileMergingLists(i)}afterInit(){const t=this.editor;t.commands.get("todoList")&&t.model.document.registerPostFixer(function(t){return e=>{const i=J(t.model.document.differ.getChanges()).filter((t=>"todo"===t.getAttribute("listType")&&(t.hasAttribute("listStyle")||t.hasAttribute("listReversed")||t.hasAttribute("listStart"))));if(!i.length)return!1;for(const t of i)e.removeAttribute("listStyle",t),e.removeAttribute("listReversed",t),e.removeAttribute("listStart",t);return!0}}(t))}_mergeListAttributesWhileMergingLists(t){const e=this.editor.model;let i;this.listenTo(e,"deleteContent",((t,[e])=>{const s=e.getFirstPosition(),n=e.getLastPosition();if(s.parent===n.parent)return;if(!s.parent.is("element","listItem"))return;const o=n.parent.nextSibling;if(!o||!o.is("element","listItem"))return;const r=b(s.parent,{sameIndent:!0,listIndent:o.getAttribute("listIndent")});r&&r.getAttribute("listType")===o.getAttribute("listType")&&(i=r)}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{i&&(e.change((e=>{const s=b(i.nextSibling,{sameIndent:!0,listIndent:i.getAttribute("listIndent"),direction:"forward"});if(!s)return void(i=null);const n=[s,...w(e.createPositionAt(s,0),"forward")];for(const s of n)for(const n of t)if(n.appliesToListItem(s)){const t=n.attributeName,o=i.getAttribute(t);e.setAttribute(t,o,s)}})),i=null)}),{priority:"low"})}}function W(t,e,i){if(!t)return!1;const s=t.getAttribute(i.attributeName);return!!s&&(s!=i.defaultValue&&t.getAttribute("listType")===e.getAttribute("listType"))}function $(t,e,i){if(!t||!t.is("element","listItem"))return!1;if(e.getAttribute("listType")!==t.getAttribute("listType"))return!1;const s=t.getAttribute("listIndent");if(s<1||s!==e.getAttribute("listIndent"))return!1;const n=t.getAttribute(i);return!(!n||n===e.getAttribute(i))}function Y(t){return(e,i)=>{i=i.filter((t=>t.is("element","listItem"))),t.model.change((t=>{for(const e of i)t.removeAttribute("listStyle",e)}))}}function J(t){const e=[];for(const i of t){const t=Q(i);t&&t.is("element","listItem")&&e.push(t)}return e}function Q(t){return"attribute"===t.type?t.range.start.nodeAfter:"insert"===t.type?t.position.nodeAfter:null}var X=i(62),tt=i.n(X),et=i(389),it={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};tt()(et.Z,it);et.Z.locals;class st extends u.View{constructor(t,e){super(t);const i=this.bindTemplate;this.set("isCollapsed",!1),this.set("label",""),this.buttonView=this._createButtonView(),this.children=this.createCollection(),this.set("_collapsibleAriaLabelUid"),e&&this.children.addMany(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-collapsible",i.if("isCollapsed","ck-collapsible_collapsed")]},children:[this.buttonView,{tag:"div",attributes:{class:["ck","ck-collapsible__children"],role:"region",hidden:i.if("isCollapsed","hidden"),"aria-labelledby":i.to("_collapsibleAriaLabelUid")},children:this.children}]})}render(){super.render(),this._collapsibleAriaLabelUid=this.buttonView.labelView.element.id}_createButtonView(){const t=new u.ButtonView(this.locale),e=t.bindTemplate;return t.set({withText:!0,icon:'<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"><path d="M.941 4.523a.75.75 0 1 1 1.06-1.06l3.006 3.005 3.005-3.005a.75.75 0 1 1 1.06 1.06l-3.549 3.55a.75.75 0 0 1-1.168-.136L.941 4.523z"/></svg>'}),t.extendTemplate({attributes:{"aria-expanded":e.to("isOn",(t=>String(t)))}}),t.bind("label").to(this),t.bind("isOn").to(this,"isCollapsed",(t=>!t)),t.on("execute",(()=>{this.isCollapsed=!this.isCollapsed})),t}}var nt=i(543),ot={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};tt()(nt.Z,ot);nt.Z.locals;class rt extends u.View{constructor(t,{enabledProperties:i,styleButtonViews:s,styleGridAriaLabel:n}){super(t);const o=["ck","ck-list-properties"];this.children=this.createCollection(),this.stylesView=null,this.additionalPropertiesCollapsibleView=null,this.startIndexFieldView=null,this.reversedSwitchButtonView=null,this.focusTracker=new e.FocusTracker,this.keystrokes=new e.KeystrokeHandler,this.focusables=new u.ViewCollection,this.focusCycler=new u.FocusCycler({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),i.styles?(this.stylesView=this._createStylesView(s,n),this.children.add(this.stylesView)):o.push("ck-list-properties_without-styles"),(i.startIndex||i.reversed)&&(this._addNumberedListPropertyViews(i,s),o.push("ck-list-properties_with-numbered-properties")),this.setTemplate({tag:"div",attributes:{class:o},children:this.children})}render(){if(super.render(),this.stylesView){for(const t of this.stylesView.children)this.focusables.add(t),this.focusTracker.add(t.element);(this.startIndexFieldView||this.reversedSwitchButtonView)&&(this.focusables.add(this.children.last.buttonView),this.focusTracker.add(this.children.last.buttonView.element))}if(this.startIndexFieldView){this.focusables.add(this.startIndexFieldView),this.focusTracker.add(this.startIndexFieldView.element),this.listenTo(this.startIndexFieldView.element,"selectstart",((t,e)=>{e.stopPropagation()}),{priority:"high"});const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}this.reversedSwitchButtonView&&(this.focusables.add(this.reversedSwitchButtonView),this.focusTracker.add(this.reversedSwitchButtonView.element)),this.keystrokes.listenTo(this.element)}focus(){this.focusCycler.focusFirst()}focusLast(){this.focusCycler.focusLast()}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createStylesView(t,e){const i=new u.View(this.locale);return i.children=i.createCollection(this.locale),i.children.addMany(t),i.setTemplate({tag:"div",attributes:{"aria-label":e,class:["ck","ck-list-styles-list"]},children:i.children}),i.children.delegate("execute").to(this),i}_addNumberedListPropertyViews(t){const e=this.locale.t,i=[];t.startIndex&&(this.startIndexFieldView=this._createStartIndexField(),i.push(this.startIndexFieldView)),t.reversed&&(this.reversedSwitchButtonView=this._createReversedSwitchButton(),i.push(this.reversedSwitchButtonView)),t.styles?(this.additionalPropertiesCollapsibleView=new st(this.locale,i),this.additionalPropertiesCollapsibleView.set({label:e("List properties"),isCollapsed:!0}),this.additionalPropertiesCollapsibleView.buttonView.bind("isEnabled").toMany(i,"isEnabled",((...t)=>t.some((t=>t)))),this.additionalPropertiesCollapsibleView.buttonView.on("change:isEnabled",((t,e,i)=>{i||(this.additionalPropertiesCollapsibleView.isCollapsed=!0)})),this.children.add(this.additionalPropertiesCollapsibleView)):this.children.addMany(i)}_createStartIndexField(){const t=this.locale.t,e=new u.LabeledFieldView(this.locale,u.createLabeledInputNumber);return e.set({label:t("Start at"),class:"ck-numbered-list-properties__start-index"}),e.fieldView.set({min:1,step:1,value:1,inputMode:"numeric"}),e.fieldView.on("input",(()=>{const i=e.fieldView.element,s=i.valueAsNumber;Number.isNaN(s)||(i.checkValidity()?this.fire("listStart",{startIndex:s}):e.errorText=t("Start index must be greater than 0."))})),e}_createReversedSwitchButton(){const t=this.locale.t,e=new u.SwitchButtonView(this.locale);return e.set({withText:!0,label:t("Reversed order"),class:"ck-numbered-list-properties__reversed-order"}),e.delegate("execute").to(this,"listReversed"),e}}var lt=i(657),at={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};tt()(lt.Z,at);lt.Z.locals;class ct extends t.Plugin{static get pluginName(){return"ListPropertiesUI"}init(){const t=this.editor,e=t.locale.t,i=t.config.get("list.properties");i.styles&&t.ui.componentFactory.add("bulletedList",dt({editor:t,parentCommandName:"bulletedList",buttonLabel:e("Bulleted List"),buttonIcon:F,styleGridAriaLabel:e("Bulleted list styles toolbar"),styleDefinitions:[{label:e("Toggle the disc list style"),tooltip:e("Disc"),type:"disc",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M11 27a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0-9a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0-9a3 3 0 1 1 0 6 3 3 0 0 1 0-6z"/></svg>'},{label:e("Toggle the circle list style"),tooltip:e("Circle"),type:"circle",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M11 27a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 1a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0-10a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 1a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0-10a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 1a2 2 0 1 0 0 4 2 2 0 0 0 0-4z"/></svg>'},{label:e("Toggle the square list style"),tooltip:e("Square"),type:"square",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M14 27v6H8v-6h6zm0-9v6H8v-6h6zm0-9v6H8V9h6z"/></svg>'}]})),(i.styles||i.startIndex||i.reversed)&&t.ui.componentFactory.add("numberedList",dt({editor:t,parentCommandName:"numberedList",buttonLabel:e("Numbered List"),buttonIcon:O,styleGridAriaLabel:e("Numbered list styles toolbar"),styleDefinitions:[{label:e("Toggle the decimal list style"),tooltip:e("Decimal"),type:"decimal",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M10.29 15V8.531H9.286c-.14.393-.4.736-.778 1.03-.378.295-.728.495-1.05.6v1.121a4.257 4.257 0 0 0 1.595-.936V15h1.235zm3.343 0v-1.235h-1.235V15h1.235zM11.3 24v-1.147H8.848c.064-.111.148-.226.252-.343.104-.117.351-.354.74-.712.39-.357.66-.631.81-.821.225-.288.39-.562.494-.824.104-.263.156-.539.156-.829 0-.51-.182-.936-.545-1.279-.363-.342-.863-.514-1.499-.514-.58 0-1.063.148-1.45.444-.387.296-.617.784-.69 1.463l1.23.124c.024-.36.112-.619.264-.774.153-.155.358-.233.616-.233.26 0 .465.074.613.222.148.148.222.36.222.635 0 .25-.085.501-.255.756-.126.185-.468.536-1.024 1.055-.692.641-1.155 1.156-1.389 1.544-.234.389-.375.8-.422 1.233H11.3zm2.333 0v-1.235h-1.235V24h1.235zM9.204 34.11c.615 0 1.129-.2 1.542-.598.413-.398.62-.88.62-1.446 0-.39-.11-.722-.332-.997a1.5 1.5 0 0 0-.886-.532c.619-.337.928-.788.928-1.353 0-.399-.151-.756-.453-1.073-.366-.386-.852-.58-1.459-.58a2.25 2.25 0 0 0-.96.2 1.617 1.617 0 0 0-.668.55c-.16.232-.28.544-.358.933l1.138.194c.032-.282.123-.495.272-.642.15-.146.33-.22.54-.22.215 0 .386.065.515.194s.193.302.193.518c0 .255-.087.46-.263.613-.176.154-.43.227-.765.218l-.136 1.006c.22-.061.409-.092.567-.092.24 0 .444.09.61.272.168.182.251.428.251.739 0 .328-.087.589-.261.782a.833.833 0 0 1-.644.29.841.841 0 0 1-.607-.242c-.167-.16-.27-.394-.307-.698l-1.196.145c.062.542.285.98.668 1.316.384.335.868.503 1.45.503zm4.43-.11v-1.235h-1.236V34h1.235z"/></svg>'},{label:e("Toggle the decimal with leading zero list style"),tooltip:e("Decimal with leading zero"),type:"decimal-leading-zero",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M5.714 15.11c.624 0 1.11-.22 1.46-.66.421-.533.632-1.408.632-2.627 0-1.222-.21-2.096-.629-2.624-.351-.445-.839-.668-1.463-.668-.624 0-1.11.22-1.459.66-.422.533-.633 1.406-.633 2.619 0 1.236.192 2.095.576 2.577.384.482.89.723 1.516.723zm0-1.024a.614.614 0 0 1-.398-.14c-.115-.094-.211-.283-.287-.565-.077-.283-.115-.802-.115-1.558s.043-1.294.128-1.613c.064-.246.155-.417.272-.512a.617.617 0 0 1 .4-.143.61.61 0 0 1 .398.143c.116.095.211.284.288.567.076.283.114.802.114 1.558s-.043 1.292-.128 1.608c-.064.246-.155.417-.272.512a.617.617 0 0 1-.4.143zm6.078.914V8.531H10.79c-.14.393-.4.736-.778 1.03-.378.295-.728.495-1.05.6v1.121a4.257 4.257 0 0 0 1.595-.936V15h1.235zm3.344 0v-1.235h-1.235V15h1.235zm-9.422 9.11c.624 0 1.11-.22 1.46-.66.421-.533.632-1.408.632-2.627 0-1.222-.21-2.096-.629-2.624-.351-.445-.839-.668-1.463-.668-.624 0-1.11.22-1.459.66-.422.533-.633 1.406-.633 2.619 0 1.236.192 2.095.576 2.577.384.482.89.723 1.516.723zm0-1.024a.614.614 0 0 1-.398-.14c-.115-.094-.211-.283-.287-.565-.077-.283-.115-.802-.115-1.558s.043-1.294.128-1.613c.064-.246.155-.417.272-.512a.617.617 0 0 1 .4-.143.61.61 0 0 1 .398.143c.116.095.211.284.288.567.076.283.114.802.114 1.558s-.043 1.292-.128 1.608c-.064.246-.155.417-.272.512a.617.617 0 0 1-.4.143zm7.088.914v-1.147H10.35c.065-.111.149-.226.253-.343.104-.117.35-.354.74-.712.39-.357.66-.631.81-.821.225-.288.39-.562.493-.824.104-.263.156-.539.156-.829 0-.51-.181-.936-.544-1.279-.364-.342-.863-.514-1.499-.514-.58 0-1.063.148-1.45.444-.387.296-.617.784-.69 1.463l1.23.124c.024-.36.112-.619.264-.774.152-.155.357-.233.615-.233.261 0 .465.074.613.222.148.148.222.36.222.635 0 .25-.085.501-.255.756-.126.185-.467.536-1.024 1.055-.691.641-1.154 1.156-1.388 1.544-.235.389-.375.8-.422 1.233h4.328zm2.334 0v-1.235h-1.235V24h1.235zM5.714 34.11c.624 0 1.11-.22 1.46-.66.421-.533.632-1.408.632-2.627 0-1.222-.21-2.096-.629-2.624-.351-.445-.839-.668-1.463-.668-.624 0-1.11.22-1.459.66-.422.533-.633 1.406-.633 2.619 0 1.236.192 2.095.576 2.577.384.482.89.723 1.516.723zm0-1.024a.614.614 0 0 1-.398-.14c-.115-.094-.211-.283-.287-.565-.077-.283-.115-.802-.115-1.558s.043-1.294.128-1.613c.064-.246.155-.417.272-.512a.617.617 0 0 1 .4-.143.61.61 0 0 1 .398.143c.116.095.211.284.288.567.076.283.114.802.114 1.558s-.043 1.292-.128 1.608c-.064.246-.155.417-.272.512a.617.617 0 0 1-.4.143zm4.992 1.024c.616 0 1.13-.2 1.543-.598.413-.398.62-.88.62-1.446 0-.39-.111-.722-.332-.997a1.5 1.5 0 0 0-.886-.532c.618-.337.927-.788.927-1.353 0-.399-.15-.756-.452-1.073-.366-.386-.853-.58-1.46-.58a2.25 2.25 0 0 0-.96.2 1.617 1.617 0 0 0-.667.55c-.16.232-.28.544-.359.933l1.139.194c.032-.282.123-.495.272-.642.15-.146.33-.22.54-.22.214 0 .386.065.515.194s.193.302.193.518c0 .255-.088.46-.264.613-.175.154-.43.227-.764.218l-.136 1.006c.22-.061.408-.092.566-.092.24 0 .444.09.611.272.167.182.25.428.25.739 0 .328-.086.589-.26.782a.833.833 0 0 1-.644.29.841.841 0 0 1-.607-.242c-.167-.16-.27-.394-.308-.698l-1.195.145c.062.542.284.98.668 1.316.384.335.867.503 1.45.503zm4.43-.11v-1.235h-1.235V34h1.235z"/></svg>'},{label:e("Toggle the lower–roman list style"),tooltip:e("Lower–roman"),type:"lower-roman",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M11.88 8.7V7.558h-1.234V8.7h1.234zm0 5.3V9.333h-1.234V14h1.234zm2.5 0v-1.235h-1.234V14h1.235zm-4.75 4.7v-1.142H8.395V18.7H9.63zm0 5.3v-4.667H8.395V24H9.63zm2.5-5.3v-1.142h-1.234V18.7h1.235zm0 5.3v-4.667h-1.234V24h1.235zm2.501 0v-1.235h-1.235V24h1.235zM7.38 28.7v-1.142H6.145V28.7H7.38zm0 5.3v-4.667H6.145V34H7.38zm2.5-5.3v-1.142H8.646V28.7H9.88zm0 5.3v-4.667H8.646V34H9.88zm2.5-5.3v-1.142h-1.234V28.7h1.235zm0 5.3v-4.667h-1.234V34h1.235zm2.501 0v-1.235h-1.235V34h1.235z"/></svg>'},{label:e("Toggle the upper–roman list style"),tooltip:e("Upper-roman"),type:"upper-roman",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M11.916 15V8.558h-1.301V15h1.3zm2.465 0v-1.235h-1.235V15h1.235zM9.665 25v-6.442h-1.3V25h1.3zm2.5 0v-6.442h-1.3V25h1.3zm2.466 0v-1.235h-1.235V25h1.235zm-7.216 9v-6.442h-1.3V34h1.3zm2.5 0v-6.442h-1.3V34h1.3zm2.501 0v-6.442h-1.3V34h1.3zm2.465 0v-1.235h-1.235V34h1.235z"/></svg>'},{label:e("Toggle the lower–latin list style"),tooltip:e("Lower-latin"),type:"lower-latin",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="M9.62 14.105c.272 0 .528-.05.768-.153s.466-.257.677-.462c.009.024.023.072.044.145.047.161.086.283.119.365h1.221a2.649 2.649 0 0 1-.222-.626c-.04-.195-.059-.498-.059-.908l.013-1.441c0-.536-.055-.905-.165-1.105-.11-.201-.3-.367-.569-.497-.27-.13-.68-.195-1.23-.195-.607 0-1.064.108-1.371.325-.308.217-.525.55-.65 1.002l1.12.202c.076-.217.176-.369.299-.455.123-.086.294-.13.514-.13.325 0 .546.05.663.152.118.101.176.27.176.508v.123c-.222.093-.622.194-1.2.303-.427.082-.755.178-.982.288-.227.11-.403.268-.53.474a1.327 1.327 0 0 0-.188.706c0 .398.138.728.415.988.277.261.656.391 1.136.391zm.368-.87a.675.675 0 0 1-.492-.189.606.606 0 0 1-.193-.448c0-.176.08-.32.241-.435.106-.07.33-.142.673-.215a7.19 7.19 0 0 0 .751-.19v.247c0 .296-.016.496-.048.602a.773.773 0 0 1-.295.409 1.07 1.07 0 0 1-.637.22zm4.645.765v-1.235h-1.235V14h1.235zM10.2 25.105c.542 0 1.003-.215 1.382-.646.38-.43.57-1.044.57-1.84 0-.771-.187-1.362-.559-1.774a1.82 1.82 0 0 0-1.41-.617c-.522 0-.973.216-1.354.65v-2.32H7.594V25h1.147v-.686a1.9 1.9 0 0 0 .67.592c.26.133.523.2.79.2zm-.299-.975c-.354 0-.638-.164-.852-.492-.153-.232-.229-.59-.229-1.073 0-.468.098-.818.295-1.048a.93.93 0 0 1 .738-.345c.302 0 .55.118.743.354.193.236.29.62.29 1.154 0 .5-.096.868-.288 1.1-.192.233-.424.35-.697.35zm4.478.87v-1.235h-1.234V25h1.234zm-4.017 9.105c.6 0 1.08-.142 1.437-.426.357-.284.599-.704.725-1.261l-1.213-.207c-.061.326-.167.555-.316.688a.832.832 0 0 1-.576.2.916.916 0 0 1-.75-.343c-.185-.228-.278-.62-.278-1.173 0-.498.091-.853.274-1.066.183-.212.429-.318.736-.318.232 0 .42.061.565.184.145.123.238.306.28.55l1.216-.22c-.146-.501-.387-.874-.722-1.119-.336-.244-.788-.366-1.356-.366-.695 0-1.245.214-1.653.643-.407.43-.61 1.03-.61 1.8 0 .762.202 1.358.608 1.788.406.431.95.646 1.633.646zM14.633 34v-1.235h-1.235V34h1.235z"/></svg>'},{label:e("Toggle the upper–latin list style"),tooltip:e("Upper-latin"),type:"upper-latin",icon:'<svg viewBox="0 0 44 44" xmlns="http://www.w3.org/2000/svg"><path d="M35 29a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17zm0-9a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H18a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h17z" fill-opacity=".163"/><path d="m7.88 15 .532-1.463h2.575L11.549 15h1.415l-2.58-6.442H9.01L6.5 15h1.38zm2.69-2.549H8.811l.87-2.39.887 2.39zM14.88 15v-1.235h-1.234V15h1.234zM9.352 25c.83-.006 1.352-.02 1.569-.044.346-.038.636-.14.872-.305.236-.166.422-.387.558-.664.137-.277.205-.562.205-.855 0-.372-.106-.695-.317-.97-.21-.276-.512-.471-.905-.585a1.51 1.51 0 0 0 .661-.567 1.5 1.5 0 0 0 .244-.83c0-.28-.066-.53-.197-.754a1.654 1.654 0 0 0-.495-.539 1.676 1.676 0 0 0-.672-.266c-.25-.042-.63-.063-1.14-.063H7.158V25h2.193zm.142-3.88H8.46v-1.49h.747c.612 0 .983.007 1.112.022.217.026.38.102.49.226.11.125.165.287.165.486a.68.68 0 0 1-.192.503.86.86 0 0 1-.525.23 11.47 11.47 0 0 1-.944.023h.18zm.17 2.795H8.46v-1.723h1.05c.592 0 .977.03 1.154.092.177.062.313.16.406.295a.84.84 0 0 1 .14.492c0 .228-.06.41-.181.547a.806.806 0 0 1-.473.257c-.126.026-.423.04-.892.04zM14.88 25v-1.235h-1.234V25h1.234zm-5.018 9.11c.691 0 1.262-.17 1.711-.512.45-.341.772-.864.965-1.567l-1.261-.4c-.109.472-.287.818-.536 1.037-.25.22-.547.33-.892.33-.47 0-.85-.173-1.143-.519-.293-.345-.44-.925-.44-1.74 0-.767.15-1.322.447-1.665.297-.343.684-.514 1.162-.514.346 0 .64.096.881.29.242.193.4.457.477.79l1.288-.307c-.147-.516-.367-.911-.66-1.187-.492-.465-1.132-.698-1.92-.698-.902 0-1.63.296-2.184.89-.554.593-.83 1.426-.83 2.498 0 1.014.275 1.813.825 2.397.551.585 1.254.877 2.11.877zM14.88 34v-1.235h-1.234V34h1.234z"/></svg>'}]}))}}function dt({editor:t,parentCommandName:e,buttonLabel:i,buttonIcon:s,styleGridAriaLabel:n,styleDefinitions:o}){const r=t.commands.get(e);return l=>{const a=(0,u.createDropdown)(l,u.SplitButtonView),c=a.buttonView;a.bind("isEnabled").to(r),a.class="ck-list-styles-dropdown",c.on("execute",(()=>{t.execute(e),t.editing.view.focus()})),c.set({label:i,icon:s,tooltip:!0,isToggleable:!0}),c.bind("isOn").to(r,"value",(t=>!!t));const d=function({editor:t,dropdownView:e,parentCommandName:i,styleDefinitions:s,styleGridAriaLabel:n}){const o=t.locale,r=t.config.get("list.properties");let l;"numberedList"!=i&&(r.startIndex=!1,r.reversed=!1);if(r.styles){const e=t.commands.get("listStyle"),n=function({editor:t,listStyleCommand:e,parentCommandName:i}){const s=t.locale,n=t.commands.get(i);return({label:i,type:o,icon:r,tooltip:l})=>{const a=new u.ButtonView(s);return a.set({label:i,icon:r,tooltip:l}),e.on("change:value",(()=>{a.isOn=e.value===o})),a.on("execute",(()=>{n.value?e.value!==o?t.execute("listStyle",{type:o}):t.execute("listStyle",{type:e._defaultType}):t.model.change((()=>{t.execute("listStyle",{type:o})})),t.editing.view.focus()})),a}}({editor:t,parentCommandName:i,listStyleCommand:e});l=s.map(n)}const a=new rt(o,{styleGridAriaLabel:n,enabledProperties:r,styleButtonViews:l});if(r.startIndex){const e=t.commands.get("listStart");a.startIndexFieldView.bind("isEnabled").to(e),a.startIndexFieldView.fieldView.bind("value").to(e),a.on("listStart",((e,i)=>t.execute("listStart",i)))}if(r.reversed){const e=t.commands.get("listReversed");a.reversedSwitchButtonView.bind("isEnabled").to(e),a.reversedSwitchButtonView.bind("isOn").to(e,"value"),a.on("listReversed",(()=>{const i=e.value;t.execute("listReversed",{reversed:!i})}))}return a.delegate("execute").to(e),a}({editor:t,dropdownView:a,parentCommandName:e,styleGridAriaLabel:n,styleDefinitions:o});return a.panelView.children.add(d),a}}class ut extends t.Plugin{static get requires(){return[G,ct]}static get pluginName(){return"ListProperties"}}const mt="todoListChecked";class pt extends t.Command{constructor(t){super(t),this._selectedElements=[],this.on("execute",(()=>{this.refresh()}),{priority:"highest"})}refresh(){this._selectedElements=this._getSelectedItems(),this.value=this._selectedElements.every((t=>!!t.getAttribute("todoListChecked"))),this.isEnabled=!!this._selectedElements.length}_getSelectedItems(){const t=this.editor.model,e=t.schema,i=t.document.selection.getFirstRange(),s=i.start.parent,n=[];e.checkAttribute(s,mt)&&n.push(s);for(const t of i.getItems())e.checkAttribute(t,mt)&&!n.includes(t)&&n.push(t);return n}execute(t={}){this.editor.model.change((e=>{for(const i of this._selectedElements){(void 0===t.forceValue?!this.value:t.forceValue)?e.setAttribute(mt,!0,i):e.removeAttribute(mt,i)}}))}}function ht(t,e,i){const s=e.modelCursor,n=s.parent,o=e.viewItem;if("checkbox"!=o.getAttribute("type")||"listItem"!=n.name||!s.isAtStart)return;if(!i.consumable.consume(o,{name:!0}))return;const r=i.writer;r.setAttribute("listType","todo",n),e.viewItem.hasAttribute("checked")&&r.setAttribute("todoListChecked",!0,n),e.modelRange=r.createRange(s)}function gt(t){return(e,i)=>{const s=i.modelPosition,n=s.parent;if(!n.is("element","listItem")||"todo"!=n.getAttribute("listType"))return;const o=ft(i.mapper.toViewElement(n),t);o&&(i.viewPosition=i.mapper.findPositionIn(o,s.offset))}}function bt(t,i,s,n){return i.createUIElement("label",{class:"todo-list__label",contenteditable:!1},(function(i){const o=(0,e.createElement)(document,"input",{type:"checkbox"});s&&o.setAttribute("checked","checked"),o.addEventListener("change",(()=>n(t)));const r=this.toDomElement(i);return r.appendChild(o),r}))}function ft(t,e){const i=e.createRangeIn(t);for(const t of i)if(t.item.is("containerElement","span")&&t.item.hasClass("todo-list__label__description"))return t.item}const vt=(0,e.parseKeystroke)("Ctrl+Enter");class wt extends t.Plugin{static get pluginName(){return"TodoListEditing"}static get requires(){return[H]}init(){const t=this.editor,{editing:i,data:s,model:o}=t;o.schema.extend("listItem",{allowAttributes:["todoListChecked"]}),o.schema.addAttributeCheck(((t,e)=>{const i=t.last;if("todoListChecked"==e&&"listItem"==i.name&&"todo"!=i.getAttribute("listType"))return!1})),t.commands.add("todoList",new n(t,"todo"));const r=new pt(t);var l,a;t.commands.add("checkTodoList",r),t.commands.add("todoListCheck",r),s.downcastDispatcher.on("insert:listItem",function(t){return(e,i,s)=>{const n=s.consumable;if(!n.test(i.item,"insert")||!n.test(i.item,"attribute:listType")||!n.test(i.item,"attribute:listIndent"))return;if("todo"!=i.item.getAttribute("listType"))return;const o=i.item;n.consume(o,"insert"),n.consume(o,"attribute:listType"),n.consume(o,"attribute:listIndent"),n.consume(o,"attribute:todoListChecked");const r=s.writer,l=m(o,s);r.addClass("todo-list",l.parent);const a=r.createContainerElement("label",{class:"todo-list__label"}),c=r.createEmptyElement("input",{type:"checkbox",disabled:"disabled"}),d=r.createContainerElement("span",{class:"todo-list__label__description"});o.getAttribute("todoListChecked")&&r.setAttribute("checked","checked",c),r.insert(r.createPositionAt(l,0),a),r.insert(r.createPositionAt(a,0),c),r.insert(r.createPositionAfter(c),d),p(o,l,s,t)}}(o),{priority:"high"}),s.upcastDispatcher.on("element:input",ht,{priority:"high"}),i.downcastDispatcher.on("insert:listItem",function(t,e){return(i,s,n)=>{const o=n.consumable;if(!o.test(s.item,"insert")||!o.test(s.item,"attribute:listType")||!o.test(s.item,"attribute:listIndent"))return;if("todo"!=s.item.getAttribute("listType"))return;const r=s.item;o.consume(r,"insert"),o.consume(r,"attribute:listType"),o.consume(r,"attribute:listIndent"),o.consume(r,"attribute:todoListChecked");const l=n.writer,a=m(r,n),c=!!r.getAttribute("todoListChecked"),d=bt(r,l,c,e),u=l.createContainerElement("span",{class:"todo-list__label__description"});l.addClass("todo-list",a.parent),l.insert(l.createPositionAt(a,0),d),l.insert(l.createPositionAfter(d),u),p(r,a,n,t)}}(o,(t=>this._handleCheckmarkChange(t))),{priority:"high"}),i.downcastDispatcher.on("attribute:listType:listItem",(l=t=>this._handleCheckmarkChange(t),a=i.view,(t,e,i)=>{if(!i.consumable.consume(e.item,t.name))return;const s=i.mapper.toViewElement(e.item),n=i.writer,o=function(t,e){const i=e.createRangeIn(t);for(const t of i)if(t.item.is("uiElement","label"))return t.item}(s,a);if("todo"==e.attributeNewValue){const t=!!e.item.getAttribute("todoListChecked"),i=bt(e.item,n,t,l),o=n.createContainerElement("span",{class:"todo-list__label__description"}),r=n.createRangeIn(s),a=v(s),c=g(r.start),d=a?n.createPositionBefore(a):r.end,u=n.createRange(c,d);n.addClass("todo-list",s.parent),n.move(u,n.createPositionAt(o,0)),n.insert(n.createPositionAt(s,0),i),n.insert(n.createPositionAfter(i),o)}else if("todo"==e.attributeOldValue){const t=ft(s,a);n.removeClass("todo-list",s.parent),n.remove(o),n.move(n.createRangeIn(t),n.createPositionBefore(t)),n.remove(t)}})),i.downcastDispatcher.on("attribute:todoListChecked:listItem",function(t){return(e,i,s)=>{if("todo"!=i.item.getAttribute("listType"))return;if(!s.consumable.consume(i.item,"attribute:todoListChecked"))return;const{mapper:n,writer:o}=s,r=!!i.item.getAttribute("todoListChecked"),l=n.toViewElement(i.item).getChild(0),a=bt(i.item,o,r,t);o.insert(o.createPositionAfter(l),a),o.remove(l)}}((t=>this._handleCheckmarkChange(t)))),i.mapper.on("modelToViewPosition",gt(i.view)),s.mapper.on("modelToViewPosition",gt(i.view)),this.listenTo(i.view.document,"arrowKey",function(t,i){return(s,n)=>{if("left"!=(0,e.getLocalizedArrowKeyCodeDirection)(n.keyCode,i.contentLanguageDirection))return;const o=t.schema,r=t.document.selection;if(!r.isCollapsed)return;const l=r.getFirstPosition(),a=l.parent;if("listItem"===a.name&&"todo"==a.getAttribute("listType")&&l.isAtStart){const e=o.getNearestSelectionRange(t.createPositionBefore(a),"backward");e&&t.change((t=>t.setSelection(e))),n.preventDefault(),n.stopPropagation(),s.stop()}}}(o,t.locale),{context:"li"}),this.listenTo(i.view.document,"keydown",((i,s)=>{(0,e.getCode)(s)===vt&&(t.execute("checkTodoList"),i.stop())}),{priority:"high"});const c=new Set;this.listenTo(o,"applyOperation",((t,e)=>{const i=e[0];if("rename"==i.type&&"listItem"==i.oldName){const t=i.position.nodeAfter;t.hasAttribute("todoListChecked")&&c.add(t)}else if("changeAttribute"==i.type&&"listType"==i.key&&"todo"===i.oldValue)for(const t of i.range.getItems())t.hasAttribute("todoListChecked")&&"todo"!==t.getAttribute("listType")&&c.add(t)})),o.document.registerPostFixer((t=>{let e=!1;for(const i of c)t.removeAttribute("todoListChecked",i),e=!0;return c.clear(),e}))}_handleCheckmarkChange(t){const e=this.editor,i=e.model,s=Array.from(i.document.selection.getRanges());i.change((i=>{i.setSelection(t,"end"),e.execute("checkTodoList"),i.setSelection(s)}))}}class yt extends t.Plugin{static get pluginName(){return"TodoListUI"}init(){const t=this.editor.t;f(this.editor,"todoList",t("To-do List"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m2.315 14.705 2.224-2.24a.689.689 0 0 1 .963 0 .664.664 0 0 1 0 .949L2.865 16.07a.682.682 0 0 1-.112.089.647.647 0 0 1-.852-.051L.688 14.886a.635.635 0 0 1 0-.903.647.647 0 0 1 .91 0l.717.722zm5.185.045a.75.75 0 0 1 .75-.75h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75zM2.329 5.745l2.21-2.226a.689.689 0 0 1 .963 0 .664.664 0 0 1 0 .95L2.865 7.125a.685.685 0 0 1-.496.196.644.644 0 0 1-.468-.187L.688 5.912a.635.635 0 0 1 0-.903.647.647 0 0 1 .91 0l.73.736zM7.5 5.75A.75.75 0 0 1 8.25 5h9.5a.75.75 0 1 1 0 1.5h-9.5a.75.75 0 0 1-.75-.75z"/></svg>')}}var kt=i(250),At={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};tt()(kt.Z,At);kt.Z.locals;class It extends t.Plugin{static get requires(){return[wt,yt]}static get pluginName(){return"TodoList"}}})(),(window.CKEditor5=window.CKEditor5||{}).list=s})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/ar.js b/web/core/assets/vendor/ckeditor5/list/translations/ar.js
index a9b14d41f7..38c3ce926d 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/ar.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/ar.js
@@ -1 +1 @@
-!function(e){const l=e.ar=e.ar||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"قائمة نقطية","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"قائمة رقمية","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.ar=e.ar||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"قائمة نقطية","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"قائمة رقمية","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/ast.js b/web/core/assets/vendor/ckeditor5/list/translations/ast.js
index 605ec4b757..84fc1c6f5d 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/ast.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/ast.js
@@ -1 +1 @@
-!function(e){const t=e.ast=e.ast||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Llista con viñetes","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Llista numberada","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.ast=e.ast||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Llista con viñetes","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Llista numberada","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/az.js b/web/core/assets/vendor/ckeditor5/list/translations/az.js
index 8a1e1fa660..3a8c120d92 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/az.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/az.js
@@ -1 +1 @@
-!function(e){const l=e.az=e.az||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Markerlənmiş siyahı","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Nömrələnmiş siyahı","Numbered list styles toolbar":"",Square:"","To-do List":"To-do siyahı","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.az=e.az||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Markerlənmiş siyahı","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Nömrələnmiş siyahı","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"To-do siyahı","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/bg.js b/web/core/assets/vendor/ckeditor5/list/translations/bg.js
index 386cd37c68..58dacc88c9 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/bg.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/bg.js
@@ -1 +1 @@
-!function(e){const l=e.bg=e.bg||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Водещи символи","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Номериране","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.bg=e.bg||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Водещи символи","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Номериране","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/cs.js b/web/core/assets/vendor/ckeditor5/list/translations/cs.js
index 5f1983fa7e..e2de1925f0 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/cs.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/cs.js
@@ -1 +1 @@
-!function(e){const l=e.cs=e.cs||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Odrážky","Bulleted list styles toolbar":"Panel seznamu s odrážkami",Circle:"Kruh",Decimal:"Čísla","Decimal with leading zero":"Čísla s nulou na začátku",Disc:"Plný kruh","Lower-latin":"Malá písmena","Lower–roman":"Malé římské čísla","Numbered List":"Číslování","Numbered list styles toolbar":"Panel se styly číslovaného seznamu",Square:"Čtverec","To-do List":"Seznam úkolů","Toggle the circle list style":"Přepnout na seznam s kruhovým označením","Toggle the decimal list style":"Přepnout na číselný seznam","Toggle the decimal with leading zero list style":"Přepnout na číselný seznam s nulou na začátku","Toggle the disc list style":"Přepnout na seznam s označením plného kruhu","Toggle the lower–latin list style":"Přepnout na seznam s malými písmeny","Toggle the lower–roman list style":"Přepnout na seznam s malými římskými čísly","Toggle the square list style":"Přepnout na seznam se čtvercovým označením","Toggle the upper–latin list style":"Přepnout na seznam s velkými písmeny","Toggle the upper–roman list style":"Přepnout na seznam s velkými římskými čísly","Upper-latin":"Velká písmena","Upper-roman":"Velké římské čísla"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const s=e.cs=e.cs||{};s.dictionary=Object.assign(s.dictionary||{},{"Bulleted List":"Odrážky","Bulleted list styles toolbar":"Panel seznamu s odrážkami",Circle:"Kruh",Decimal:"Čísla","Decimal with leading zero":"Čísla s nulou na začátku",Disc:"Plný kruh","List properties":"Vlastnosti seznamu","Lower-latin":"Malá písmena","Lower–roman":"Malé římské čísla","Numbered List":"Číslování","Numbered list styles toolbar":"Panel se styly číslovaného seznamu","Reversed order":"Obrácené pořadí",Square:"Čtverec","Start at":"Začít na","Start index must be greater than 0.":"Počátek musí být větší jak 0.","To-do List":"Seznam úkolů","Toggle the circle list style":"Přepnout na seznam s kruhovým označením","Toggle the decimal list style":"Přepnout na číselný seznam","Toggle the decimal with leading zero list style":"Přepnout na číselný seznam s nulou na začátku","Toggle the disc list style":"Přepnout na seznam s označením plného kruhu","Toggle the lower–latin list style":"Přepnout na seznam s malými písmeny","Toggle the lower–roman list style":"Přepnout na seznam s malými římskými čísly","Toggle the square list style":"Přepnout na seznam se čtvercovým označením","Toggle the upper–latin list style":"Přepnout na seznam s velkými písmeny","Toggle the upper–roman list style":"Přepnout na seznam s velkými římskými čísly","Upper-latin":"Velká písmena","Upper-roman":"Velké římské čísla"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/da.js b/web/core/assets/vendor/ckeditor5/list/translations/da.js
index 78e39bb848..247070ce8c 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/da.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/da.js
@@ -1 +1 @@
-!function(e){const l=e.da=e.da||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Punktopstilling","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Opstilling med tal","Numbered list styles toolbar":"",Square:"","To-do List":"To-do liste","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.da=e.da||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktopstilling","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Opstilling med tal","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"To-do liste","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/de-ch.js b/web/core/assets/vendor/ckeditor5/list/translations/de-ch.js
index fffabc05eb..b721181684 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/de-ch.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/de-ch.js
@@ -1 +1 @@
-!function(e){const l=e["de-ch"]=e["de-ch"]||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Aufzählungsliste","Bulleted list styles toolbar":"Darstellung der ungeordneten Liste",Circle:"Leerer Kreis",Decimal:"Dezimalzahlen","Decimal with leading zero":"Dezimalzahlen mit vorangestellten Nullen",Disc:"Gefüllter Kreis","Lower-latin":"Kleingeschriebene lateinische Buchstaben","Lower–roman":"Kleingeschriebene römische Zahlen","Numbered List":"Nummerierte Liste","Numbered list styles toolbar":"Darstellung der nummerierten Liste",Square:"Quadrat","To-do List":"Aufgabenliste","Toggle the circle list style":"Leeren Kreis einstellen","Toggle the decimal list style":"Dezimalzahlen einstellen","Toggle the decimal with leading zero list style":"Dezimalzahlen mit vorangestellten Nullen einstellen","Toggle the disc list style":"Gefüllten Kreis einstellen","Toggle the lower–latin list style":"Kleingeschriebene lateinische Buchstaben einstellen","Toggle the lower–roman list style":"Kleingeschriebene römische Zahlen einstellen","Toggle the square list style":"Quadrat einstellen","Toggle the upper–latin list style":"Grossgeschriebene lateinische Buchstaben einstellen","Toggle the upper–roman list style":"Grossgeschriebene römische Zahlen einstellen","Upper-latin":"Grossgeschriebene lateinische Buchstaben","Upper-roman":"Grossgeschriebene römische Zahlen"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const l=e["de-ch"]=e["de-ch"]||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Aufzählungsliste","Bulleted list styles toolbar":"Darstellung der ungeordneten Liste",Circle:"Leerer Kreis",Decimal:"Dezimalzahlen","Decimal with leading zero":"Dezimalzahlen mit vorangestellten Nullen",Disc:"Gefüllter Kreis","List properties":"","Lower-latin":"Kleingeschriebene lateinische Buchstaben","Lower–roman":"Kleingeschriebene römische Zahlen","Numbered List":"Nummerierte Liste","Numbered list styles toolbar":"Darstellung der nummerierten Liste","Reversed order":"",Square:"Quadrat","Start at":"","Start index must be greater than 0.":"","To-do List":"Aufgabenliste","Toggle the circle list style":"Leeren Kreis einstellen","Toggle the decimal list style":"Dezimalzahlen einstellen","Toggle the decimal with leading zero list style":"Dezimalzahlen mit vorangestellten Nullen einstellen","Toggle the disc list style":"Gefüllten Kreis einstellen","Toggle the lower–latin list style":"Kleingeschriebene lateinische Buchstaben einstellen","Toggle the lower–roman list style":"Kleingeschriebene römische Zahlen einstellen","Toggle the square list style":"Quadrat einstellen","Toggle the upper–latin list style":"Grossgeschriebene lateinische Buchstaben einstellen","Toggle the upper–roman list style":"Grossgeschriebene römische Zahlen einstellen","Upper-latin":"Grossgeschriebene lateinische Buchstaben","Upper-roman":"Grossgeschriebene römische Zahlen"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/de.js b/web/core/assets/vendor/ckeditor5/list/translations/de.js
index 15eb47f703..d05f074d92 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/de.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/de.js
@@ -1 +1 @@
-!function(e){const l=e.de=e.de||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Aufzählungsliste","Bulleted list styles toolbar":"Darstellung der ungeordneten Liste",Circle:"Leerer Kreis",Decimal:"Dezimalzahlen","Decimal with leading zero":"Dezimalzahlen mit vorangestellten Nullen",Disc:"Gefüllter Kreis","Lower-latin":"Kleingeschriebene lateinische Buchstaben","Lower–roman":"Kleingeschriebene römische Zahlen","Numbered List":"Nummerierte Liste","Numbered list styles toolbar":"Darstellung der geordneten Liste",Square:"Quadrat","To-do List":"Aufgabenliste","Toggle the circle list style":"Leeren Kreis einstellen","Toggle the decimal list style":"Dezimalzahlen einstellen","Toggle the decimal with leading zero list style":"Dezimalzahlen mit vorangestellten Nullen einstellen","Toggle the disc list style":"Gefüllten Kreis einstellen","Toggle the lower–latin list style":"Kleingeschriebene lateinische Buchstaben einstellen","Toggle the lower–roman list style":"Kleingeschriebene römische Zahlen einstellen","Toggle the square list style":"Quadrat einstellen","Toggle the upper–latin list style":"Großgeschriebene lateinische Buchstaben einstellen","Toggle the upper–roman list style":"Großgeschriebene römische Zahlen einstellen","Upper-latin":"Großgeschriebene lateinische Buchstaben","Upper-roman":"Großgeschriebene römische Zahlen"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const l=e.de=e.de||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Aufzählungsliste","Bulleted list styles toolbar":"Darstellung der ungeordneten Liste",Circle:"Leerer Kreis",Decimal:"Dezimalzahlen","Decimal with leading zero":"Dezimalzahlen mit vorangestellten Nullen",Disc:"Gefüllter Kreis","List properties":"Listeneigenschaften","Lower-latin":"Kleingeschriebene lateinische Buchstaben","Lower–roman":"Kleingeschriebene römische Zahlen","Numbered List":"Nummerierte Liste","Numbered list styles toolbar":"Darstellung der geordneten Liste","Reversed order":"Umgekehrte Reihenfolge",Square:"Quadrat","Start at":"Beginnen mit","Start index must be greater than 0.":"Der Startwert muss größer als 0 sein.","To-do List":"Aufgabenliste","Toggle the circle list style":"Leeren Kreis einstellen","Toggle the decimal list style":"Dezimalzahlen einstellen","Toggle the decimal with leading zero list style":"Dezimalzahlen mit vorangestellten Nullen einstellen","Toggle the disc list style":"Gefüllten Kreis einstellen","Toggle the lower–latin list style":"Kleingeschriebene lateinische Buchstaben einstellen","Toggle the lower–roman list style":"Kleingeschriebene römische Zahlen einstellen","Toggle the square list style":"Quadrat einstellen","Toggle the upper–latin list style":"Großgeschriebene lateinische Buchstaben einstellen","Toggle the upper–roman list style":"Großgeschriebene römische Zahlen einstellen","Upper-latin":"Großgeschriebene lateinische Buchstaben","Upper-roman":"Großgeschriebene römische Zahlen"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/el.js b/web/core/assets/vendor/ckeditor5/list/translations/el.js
index e6703c8033..02b8c8ae86 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/el.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/el.js
@@ -1 +1 @@
-!function(e){const l=e.el=e.el||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Λίστα κουκκίδων","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Αριθμημένη λίστα","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.el=e.el||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Λίστα με κουκκίδες","Bulleted list styles toolbar":"Γραμμή εργαλείων στυλ λιστών με κουκίδες",Circle:"Κύκλος",Decimal:"Δεκαδικό","Decimal with leading zero":"Δεκαδικό με μηδενικά",Disc:"Δίσκος","List properties":"Ιδιότητες λίστας","Lower-latin":"Μικρά λατινικά","Lower–roman":"Μικρά ρωμαϊκά","Numbered List":"Λίστα με αριθμούς","Numbered list styles toolbar":"Γραμμή εργαλείων στυλ λιστών με αριθμούς","Reversed order":"Αντίστροφη σειρά",Square:"Τετράγωνο","Start at":"Εναρξη από","Start index must be greater than 0.":"Ο αριθμός έναρξης πρέπει να είναι μεγαλύτερος από 0.","To-do List":"Λίστα προγραμματισμένων ενεργειών","Toggle the circle list style":"Εναλλαγή του στυλ λίστας με κύκλο","Toggle the decimal list style":"Εναλλαγή του στυλ λίστας με δεκαδικά","Toggle the decimal with leading zero list style":"Εναλλαγή του στυλ λίστας δεκαδικών με μηδενικά","Toggle the disc list style":"Εναλλαγή του στυλ λίστας με δίσκο","Toggle the lower–latin list style":"Εναλλαγή του στυλ λίστας με μικρά λατινικά","Toggle the lower–roman list style":"Εναλλαγή του στυλ λίστας με μικρά ρωμαϊκά","Toggle the square list style":"Εναλαγή του στυλ λίστας με τετράγωνο","Toggle the upper–latin list style":"Εναλλαγή του στυλ λίστας με κεφαλαία λατινικά","Toggle the upper–roman list style":"Εναλλαγή του στυλ λίστας με κεφαλαία ρωμαϊκά","Upper-latin":"Κεφαλαία λατινικά","Upper-roman":"Κεφαλαία ρωμαϊκά"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/en-au.js b/web/core/assets/vendor/ckeditor5/list/translations/en-au.js
index 5e6d3c457d..d5b937c1b6 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/en-au.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/en-au.js
@@ -1 +1 @@
-!function(e){const l=e["en-au"]=e["en-au"]||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Circle:"Circle",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero",Disc:"Disc","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman","Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar",Square:"Square","To-do List":"To-do List","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower–latin list style":"Toggle the lower–latin list style","Toggle the lower–roman list style":"Toggle the lower–roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper–latin list style":"Toggle the upper–latin list style","Toggle the upper–roman list style":"Toggle the upper–roman list style","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e["en-au"]=e["en-au"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Circle:"Circle",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero",Disc:"Disc","List properties":"List properties","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman","Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar","Reversed order":"Reversed order",Square:"Square","Start at":"Start at","Start index must be greater than 0.":"Start index must be greater than 0.","To-do List":"To-do List","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower–latin list style":"Toggle the lower–latin list style","Toggle the lower–roman list style":"Toggle the lower–roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper–latin list style":"Toggle the upper–latin list style","Toggle the upper–roman list style":"Toggle the upper–roman list style","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/en-gb.js b/web/core/assets/vendor/ckeditor5/list/translations/en-gb.js
index 8757d98078..ff7bc71abd 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/en-gb.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/en-gb.js
@@ -1 +1 @@
-!function(e){const l=e["en-gb"]=e["en-gb"]||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Bulleted List","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Numbered List","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e["en-gb"]=e["en-gb"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Bulleted List","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numbered List","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/eo.js b/web/core/assets/vendor/ckeditor5/list/translations/eo.js
index d545289ebe..fa76bdcc4e 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/eo.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/eo.js
@@ -1 +1 @@
-!function(e){const l=e.eo=e.eo||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Bula Listo","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Numerita Listo","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.eo=e.eo||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Bula Listo","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numerita Listo","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/es.js b/web/core/assets/vendor/ckeditor5/list/translations/es.js
index ec1db21b4b..fbc911329c 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/es.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/es.js
@@ -1 +1 @@
-!function(e){const t=e.es=e.es||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Lista de puntos","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Lista numerada","Numbered list styles toolbar":"",Square:"","To-do List":"Lista de tareas","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const a=e.es=e.es||{};a.dictionary=Object.assign(a.dictionary||{},{"Bulleted List":"Lista con viñetas","Bulleted list styles toolbar":"Estilos de lista con viñetas",Circle:"Círculo",Decimal:"Decimal","Decimal with leading zero":"Decimal con cero",Disc:"Disco","List properties":"Propiedades de la lista","Lower-latin":"Latinos minúsculas","Lower–roman":"Romanos minúsculas","Numbered List":"Lista numerada","Numbered list styles toolbar":"Estilos de lista numerada","Reversed order":"Orden inverso",Square:"Cuadrado","Start at":"Empezar en","Start index must be greater than 0.":"El número de inicio debe ser mayor que 0.","To-do List":"Lista de tareas","Toggle the circle list style":"Cambiar estilo de viñeta a círculo","Toggle the decimal list style":"Cambiar estilo de lista a decimal","Toggle the decimal with leading zero list style":"Cambiar estilo de lista decimal empezando con cero","Toggle the disc list style":"Cambiar estilo de viñeta a disco","Toggle the lower–latin list style":"Cambiar estilo de lista a números latinos en minúsculas","Toggle the lower–roman list style":"Cambiar estilo de lista a números romanos en minúsculas","Toggle the square list style":"Cambiar estilo de viñeta a cuadrado","Toggle the upper–latin list style":"Cambiar estilo de lista a números latinos en mayúsculas","Toggle the upper–roman list style":"Cambiar estilo de lista a números roanos en mayúsculas","Upper-latin":"Latinos minúsculas","Upper-roman":"Romanos mayúscula"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/et.js b/web/core/assets/vendor/ckeditor5/list/translations/et.js
index 7704ef7b2e..b58369b4eb 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/et.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/et.js
@@ -1 +1 @@
-!function(e){const l=e.et=e.et||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Punktidega loetelu","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Nummerdatud loetelu","Numbered list styles toolbar":"",Square:"","To-do List":"Tööde nimekiri","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.et=e.et||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktidega loetelu","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Nummerdatud loetelu","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Tööde nimekiri","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/eu.js b/web/core/assets/vendor/ckeditor5/list/translations/eu.js
index 39cb306c36..80a1c60b1c 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/eu.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/eu.js
@@ -1 +1 @@
-!function(e){const l=e.eu=e.eu||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Buletdun zerrenda","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Zenbakidun zerrenda","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.eu=e.eu||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Buletdun zerrenda","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Zenbakidun zerrenda","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/fa.js b/web/core/assets/vendor/ckeditor5/list/translations/fa.js
index 480b6a6abf..1a49fd4118 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/fa.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/fa.js
@@ -1 +1 @@
-!function(e){const l=e.fa=e.fa||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"لیست نشانه‌دار","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"لیست عددی","Numbered list styles toolbar":"",Square:"","To-do List":"لیست انجام کار","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.fa=e.fa||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"لیست نشانه‌دار","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"لیست عددی","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"لیست انجام کار","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/fi.js b/web/core/assets/vendor/ckeditor5/list/translations/fi.js
index ce978994d7..266d2ba1ce 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/fi.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/fi.js
@@ -1 +1 @@
-!function(e){const l=e.fi=e.fi||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Lista","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Numeroitu lista","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.fi=e.fi||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Lista","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numeroitu lista","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/fr.js b/web/core/assets/vendor/ckeditor5/list/translations/fr.js
index 3f9fa9fe11..e82d7427c1 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/fr.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/fr.js
@@ -1 +1 @@
-!function(e){const s=e.fr=e.fr||{};s.dictionary=Object.assign(s.dictionary||{},{"Bulleted List":"Liste à puces","Bulleted list styles toolbar":"Barre d'outils des styles de liste à puce",Circle:"Cercle",Decimal:"Chiffres","Decimal with leading zero":"Chiffres avec des zéros supplémentaire",Disc:"Disque","Lower-latin":"Lettres minuscules","Lower–roman":"Chiffres romains en minuscules","Numbered List":"Liste numérotée","Numbered list styles toolbar":"Barre d'outils des styles de liste numérotée",Square:"Carré","To-do List":"Liste de tâches","Toggle the circle list style":'Activer / désactiver le style de liste "cercle"',"Toggle the decimal list style":'Activer / désactiver le style de liste "chiffres"',"Toggle the decimal with leading zero list style":'Activer / désactiver le style de liste "chiffres de mêmes longueurs"',"Toggle the disc list style":'Activer / désactiver le style de liste "disque"',"Toggle the lower–latin list style":'Activer / désactiver le style de liste "lettres minuscules"',"Toggle the lower–roman list style":'Activer / désactiver le style de liste "chiffres romains en minuscules"',"Toggle the square list style":'Activer / désactiver le style de liste "carré"',"Toggle the upper–latin list style":'Activer / désactiver le style de liste "lettres majuscules"',"Toggle the upper–roman list style":'Activer / désactiver le style de liste "chiffres romains en majuscules"',"Upper-latin":"Lettres majuscules","Upper-roman":"Chiffres romains en majuscules"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const s=e.fr=e.fr||{};s.dictionary=Object.assign(s.dictionary||{},{"Bulleted List":"Liste à puces","Bulleted list styles toolbar":"Barre d'outils des styles de liste à puce",Circle:"Cercle",Decimal:"Chiffres","Decimal with leading zero":"Chiffres avec des zéros supplémentaire",Disc:"Disque","List properties":"","Lower-latin":"Lettres minuscules","Lower–roman":"Chiffres romains en minuscules","Numbered List":"Liste numérotée","Numbered list styles toolbar":"Barre d'outils des styles de liste numérotée","Reversed order":"",Square:"Carré","Start at":"","Start index must be greater than 0.":"","To-do List":"Liste de tâches","Toggle the circle list style":'Activer / désactiver le style de liste "cercle"',"Toggle the decimal list style":'Activer / désactiver le style de liste "chiffres"',"Toggle the decimal with leading zero list style":'Activer / désactiver le style de liste "chiffres de mêmes longueurs"',"Toggle the disc list style":'Activer / désactiver le style de liste "disque"',"Toggle the lower–latin list style":'Activer / désactiver le style de liste "lettres minuscules"',"Toggle the lower–roman list style":'Activer / désactiver le style de liste "chiffres romains en minuscules"',"Toggle the square list style":'Activer / désactiver le style de liste "carré"',"Toggle the upper–latin list style":'Activer / désactiver le style de liste "lettres majuscules"',"Toggle the upper–roman list style":'Activer / désactiver le style de liste "chiffres romains en majuscules"',"Upper-latin":"Lettres majuscules","Upper-roman":"Chiffres romains en majuscules"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/gl.js b/web/core/assets/vendor/ckeditor5/list/translations/gl.js
index db905b4f63..95180fef86 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/gl.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/gl.js
@@ -1 +1 @@
-!function(e){const a=e.gl=e.gl||{};a.dictionary=Object.assign(a.dictionary||{},{"Bulleted List":"Lista con viñetas","Bulleted list styles toolbar":"Barra de ferramentas de estilos de lista con viñetas",Circle:"Círculos",Decimal:"Decimais","Decimal with leading zero":"Decimais con cero á esquerda",Disc:"Discos","Lower-latin":"Letras minúsculas","Lower–roman":"Núm, romanos en minúscula","Numbered List":"Lista numerada","Numbered list styles toolbar":"Barra de ferramentas de estilos de lista numerada",Square:"Cadrados","To-do List":"Lista de cousas por facer","Toggle the circle list style":"Alternar o estilo da lista «círculos»","Toggle the decimal list style":"Alternar o estilo da lista «decimais»","Toggle the decimal with leading zero list style":"Activar/desactivar o estilo «decimais con cero á esquerda»","Toggle the disc list style":"Alternar o estilo da lista «discos»","Toggle the lower–latin list style":"Activar/desactivar o estilo da lista «letras minúsculas»","Toggle the lower–roman list style":"Activar/desactivar o estilo da lista «núm. romanos en minúscula»","Toggle the square list style":"Alternar o estilo da lista «cadrados»","Toggle the upper–latin list style":"Activar/desactivar o estilo da lista «letras maiúsculas»","Toggle the upper–roman list style":"Activar/desactivar o estilo da lista «núm. romanos en maiúscula»","Upper-latin":"Letras maiúsculas","Upper-roman":"Núm, romanos en maiúscula"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const a=e.gl=e.gl||{};a.dictionary=Object.assign(a.dictionary||{},{"Bulleted List":"Lista con viñetas","Bulleted list styles toolbar":"Barra de ferramentas de estilos de lista con viñetas",Circle:"Círculos",Decimal:"Decimais","Decimal with leading zero":"Decimais con cero á esquerda",Disc:"Discos","List properties":"Lista de propiedades","Lower-latin":"Letras minúsculas","Lower–roman":"Núm, romanos en minúscula","Numbered List":"Lista numerada","Numbered list styles toolbar":"Barra de ferramentas de estilos de lista numerada","Reversed order":"Orde inversa",Square:"Cadrados","Start at":"Comezar en","Start index must be greater than 0.":"O índice de inicio debe ser maior que 0.","To-do List":"Lista de cousas por facer","Toggle the circle list style":"Alternar o estilo da lista «círculos»","Toggle the decimal list style":"Alternar o estilo da lista «decimais»","Toggle the decimal with leading zero list style":"Activar/desactivar o estilo «decimais con cero á esquerda»","Toggle the disc list style":"Alternar o estilo da lista «discos»","Toggle the lower–latin list style":"Activar/desactivar o estilo da lista «letras minúsculas»","Toggle the lower–roman list style":"Activar/desactivar o estilo da lista «núm. romanos en minúscula»","Toggle the square list style":"Alternar o estilo da lista «cadrados»","Toggle the upper–latin list style":"Activar/desactivar o estilo da lista «letras maiúsculas»","Toggle the upper–roman list style":"Activar/desactivar o estilo da lista «núm. romanos en maiúscula»","Upper-latin":"Letras maiúsculas","Upper-roman":"Núm, romanos en maiúscula"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/he.js b/web/core/assets/vendor/ckeditor5/list/translations/he.js
index af0fe9ef47..fcfa4bcb7e 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/he.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/he.js
@@ -1 +1 @@
-!function(e){const l=e.he=e.he||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"רשימה מנוקדת","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"רשימה ממוספרת","Numbered list styles toolbar":"",Square:"","To-do List":"רשימת מטלות","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.he=e.he||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"רשימה מנוקדת","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"רשימה ממוספרת","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"רשימת מטלות","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/hi.js b/web/core/assets/vendor/ckeditor5/list/translations/hi.js
index 00032b93be..2dbeb9aca8 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/hi.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/hi.js
@@ -1 +1 @@
-!function(e){const l=e.hi=e.hi||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Circle:"Circle",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero",Disc:"Disc","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman","Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar",Square:"Square","To-do List":"To-do List","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower–latin list style":"Toggle the lower–latin list style","Toggle the lower–roman list style":"Toggle the lower–roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper–latin list style":"Toggle the upper–latin list style","Toggle the upper–roman list style":"Toggle the upper–roman list style","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.hi=e.hi||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Circle:"Circle",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero",Disc:"Disc","List properties":"","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman","Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar","Reversed order":"",Square:"Square","Start at":"","Start index must be greater than 0.":"","To-do List":"To-do List","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower–latin list style":"Toggle the lower–latin list style","Toggle the lower–roman list style":"Toggle the lower–roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper–latin list style":"Toggle the upper–latin list style","Toggle the upper–roman list style":"Toggle the upper–roman list style","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/hr.js b/web/core/assets/vendor/ckeditor5/list/translations/hr.js
index 2e70bd3225..17da378174 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/hr.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/hr.js
@@ -1 +1 @@
-!function(e){const t=e.hr=e.hr||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Obična lista","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Brojčana lista","Numbered list styles toolbar":"",Square:"","To-do List":"Lista zadataka za obaviti","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.hr=e.hr||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Obična lista","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Brojčana lista","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Lista zadataka za obaviti","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/hu.js b/web/core/assets/vendor/ckeditor5/list/translations/hu.js
index 235cefa480..285f84ad16 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/hu.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/hu.js
@@ -1 +1 @@
-!function(e){const t=e.hu=e.hu||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Pontozott lista","Bulleted list styles toolbar":"",Circle:"Kör",Decimal:"Szám","Decimal with leading zero":"Nullával kezdődő szám",Disc:"Korong","Lower-latin":"Kisbetűs latin szám","Lower–roman":"Kisbetűs római szám","Numbered List":"Számozott lista","Numbered list styles toolbar":"",Square:"Négyzet","To-do List":"Tennivaló lista","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"Nagybetűs latin szám","Upper-roman":"Nagybetűs római szám"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.hu=e.hu||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Pontozott lista","Bulleted list styles toolbar":"",Circle:"Kör",Decimal:"Szám","Decimal with leading zero":"Nullával kezdődő szám",Disc:"Korong","List properties":"","Lower-latin":"Kisbetűs latin szám","Lower–roman":"Kisbetűs római szám","Numbered List":"Számozott lista","Numbered list styles toolbar":"","Reversed order":"",Square:"Négyzet","Start at":"","Start index must be greater than 0.":"","To-do List":"Tennivaló lista","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"Nagybetűs latin szám","Upper-roman":"Nagybetűs római szám"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/id.js b/web/core/assets/vendor/ckeditor5/list/translations/id.js
index 727dbab9f3..74a9e84cea 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/id.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/id.js
@@ -1 +1 @@
-!function(e){const l=e.id=e.id||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Daftar Tak Berangka","Bulleted list styles toolbar":"Bilah alat gaya daftar bullet",Circle:"Lingkaran",Decimal:"Desimal","Decimal with leading zero":"Desimal dengan awalan nol",Disc:"Disk","Lower-latin":"","Lower–roman":"","Numbered List":"Daftar Berangka","Numbered list styles toolbar":"Bilah alat gaya daftar angka",Square:"Kotak","To-do List":"Daftar untuk-dikerjakan","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.id=e.id||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Daftar Tak Berangka","Bulleted list styles toolbar":"Bilah alat gaya daftar bullet",Circle:"Lingkaran",Decimal:"Desimal","Decimal with leading zero":"Desimal dengan awalan nol",Disc:"Disk","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Daftar Berangka","Numbered list styles toolbar":"Bilah alat gaya daftar angka","Reversed order":"",Square:"Kotak","Start at":"","Start index must be greater than 0.":"","To-do List":"Daftar untuk-dikerjakan","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/it.js b/web/core/assets/vendor/ckeditor5/list/translations/it.js
index aa7b99121f..51033b8489 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/it.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/it.js
@@ -1 +1 @@
-!function(e){const i=e.it=e.it||{};i.dictionary=Object.assign(i.dictionary||{},{"Bulleted List":"Elenco puntato","Bulleted list styles toolbar":"Barra degli strumenti con gli stili degli elenchi puntati",Circle:"Cerchio",Decimal:"Numero","Decimal with leading zero":"Numero con zero anteposto",Disc:"Disco","Lower-latin":"Lettera minuscola","Lower–roman":"Numero romano minuscolo","Numbered List":"Elenco numerato","Numbered list styles toolbar":"Barra degli strumenti con gli stili degli elenchi numerati",Square:"Quadrato","To-do List":"Elenco cose da fare","Toggle the circle list style":"Attiva/disattiva lo stile degli elenchi con cerchi","Toggle the decimal list style":"Attiva/disattiva lo stile degli elenchi con numeri","Toggle the decimal with leading zero list style":"Attiva/disattiva lo stile degli elenchi con numeri con zero anteposto","Toggle the disc list style":"Attiva/disattiva lo stile degli elenchi con dischi","Toggle the lower–latin list style":"Attiva/disattiva lo stile degli elenchi con lettere minuscole","Toggle the lower–roman list style":"Attiva/disattiva lo stile degli elenchi con numeri romani minuscoli","Toggle the square list style":"Attiva/disattiva lo stile degli elenchi con quadrati","Toggle the upper–latin list style":"Attiva/disattiva lo stile degli elenchi con lettere maiuscole","Toggle the upper–roman list style":"Attiva/disattiva lo stile degli elenchi con numeri romani maiuscoli","Upper-latin":"Lettera maiuscola","Upper-roman":"Numero romano maiuscolo"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const i=e.it=e.it||{};i.dictionary=Object.assign(i.dictionary||{},{"Bulleted List":"Elenco puntato","Bulleted list styles toolbar":"Barra degli strumenti con gli stili degli elenchi puntati",Circle:"Cerchio",Decimal:"Numero","Decimal with leading zero":"Numero con zero anteposto",Disc:"Disco","List properties":"Proprietà elenco","Lower-latin":"Lettera minuscola","Lower–roman":"Numero romano minuscolo","Numbered List":"Elenco numerato","Numbered list styles toolbar":"Barra degli strumenti con gli stili degli elenchi numerati","Reversed order":"Ordine inverso",Square:"Quadrato","Start at":"Inizia da","Start index must be greater than 0.":"L'indice iniziale deve essere maggiore di 0.","To-do List":"Elenco cose da fare","Toggle the circle list style":"Attiva/disattiva lo stile degli elenchi con cerchi","Toggle the decimal list style":"Attiva/disattiva lo stile degli elenchi con numeri","Toggle the decimal with leading zero list style":"Attiva/disattiva lo stile degli elenchi con numeri con zero anteposto","Toggle the disc list style":"Attiva/disattiva lo stile degli elenchi con dischi","Toggle the lower–latin list style":"Attiva/disattiva lo stile degli elenchi con lettere minuscole","Toggle the lower–roman list style":"Attiva/disattiva lo stile degli elenchi con numeri romani minuscoli","Toggle the square list style":"Attiva/disattiva lo stile degli elenchi con quadrati","Toggle the upper–latin list style":"Attiva/disattiva lo stile degli elenchi con lettere maiuscole","Toggle the upper–roman list style":"Attiva/disattiva lo stile degli elenchi con numeri romani maiuscoli","Upper-latin":"Lettera maiuscola","Upper-roman":"Numero romano maiuscolo"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/ja.js b/web/core/assets/vendor/ckeditor5/list/translations/ja.js
index c99b15a55d..dae5baa46a 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/ja.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/ja.js
@@ -1 +1 @@
-!function(e){const l=e.ja=e.ja||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"箇条書きリスト","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"番号付きリスト","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.ja=e.ja||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"箇条書きリスト","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"番号付きリスト","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/jv.js b/web/core/assets/vendor/ckeditor5/list/translations/jv.js
new file mode 100644
index 0000000000..936e26c4ad
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/list/translations/jv.js
@@ -0,0 +1 @@
+!function(e){const t=e.jv=e.jv||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"","Bulleted list styles toolbar":"",Circle:"Bunder",Decimal:"","Decimal with leading zero":"",Disc:"Kaset","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"","Numbered list styles toolbar":"","Reversed order":"Dipunwangsul",Square:"Kotak","Start at":"Wiwit saking","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/km.js b/web/core/assets/vendor/ckeditor5/list/translations/km.js
index ced267a232..876c7d410b 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/km.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/km.js
@@ -1 +1 @@
-!function(e){const l=e.km=e.km||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"បញ្ជី​ជា​ចំណុច","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"បញ្ជី​ជា​លេខ","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.km=e.km||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"បញ្ជី​ជា​ចំណុច","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"បញ្ជី​ជា​លេខ","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/kn.js b/web/core/assets/vendor/ckeditor5/list/translations/kn.js
index 2c283d460e..7790b6a4a6 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/kn.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/kn.js
@@ -1 +1 @@
-!function(e){const l=e.kn=e.kn||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"‍‍ಬುಲೆಟ್ ಪಟ್ಟಿ","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"‍ಸಂಖ್ಯೆಯ ಪಟ್ಟಿ‍","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.kn=e.kn||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"‍‍ಬುಲೆಟ್ ಪಟ್ಟಿ","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"‍ಸಂಖ್ಯೆಯ ಪಟ್ಟಿ‍","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/ko.js b/web/core/assets/vendor/ckeditor5/list/translations/ko.js
index 9240238b62..c4969897ff 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/ko.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/ko.js
@@ -1 +1 @@
-!function(e){const l=e.ko=e.ko||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"불릿 목록","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"번호 목록","Numbered list styles toolbar":"",Square:"","To-do List":"확인 목록","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.ko=e.ko||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"불릿 목록","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"번호 목록","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"확인 목록","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/ku.js b/web/core/assets/vendor/ckeditor5/list/translations/ku.js
index 296064a0e8..be2a2a16fd 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/ku.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/ku.js
@@ -1 +1 @@
-!function(e){const l=e.ku=e.ku||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"لیستەی خاڵەیی","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"لیستەی ژمارەیی","Numbered list styles toolbar":"",Square:"","To-do List":"لیستەی کردن","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.ku=e.ku||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"لیستەی خاڵەیی","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"لیستەی ژمارەیی","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"لیستەی کردن","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/lt.js b/web/core/assets/vendor/ckeditor5/list/translations/lt.js
index 39c2a15f20..458bab6105 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/lt.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/lt.js
@@ -1 +1 @@
-!function(e){const l=e.lt=e.lt||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Sąrašas","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Numeruotas rąrašas","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.lt=e.lt||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Sąrašas","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numeruotas rąrašas","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/lv.js b/web/core/assets/vendor/ckeditor5/list/translations/lv.js
index 92b80e1dfb..1c9eb59f9a 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/lv.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/lv.js
@@ -1 +1 @@
-!function(e){const t=e.lv=e.lv||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Nenumurēts Saraksts","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Numurēts Saraksts","Numbered list styles toolbar":"",Square:"","To-do List":"To-do Saraksts","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.lv=e.lv||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Nenumurēts Saraksts","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numurēts Saraksts","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"To-do Saraksts","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/nb.js b/web/core/assets/vendor/ckeditor5/list/translations/nb.js
index a9a78226d0..ceaf4d7b8a 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/nb.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/nb.js
@@ -1 +1 @@
-!function(e){const t=e.nb=e.nb||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktmerket liste","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Nummerert liste","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.nb=e.nb||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktmerket liste","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Nummerert liste","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/ne.js b/web/core/assets/vendor/ckeditor5/list/translations/ne.js
index 4fd75e2902..7689323176 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/ne.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/ne.js
@@ -1 +1 @@
-!function(e){const l=e.ne=e.ne||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"गोली चिन्ह अङ्कित सूची","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"सूचीबद्ध सूची","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.ne=e.ne||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"गोली चिन्ह अङ्कित सूची","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"सूचीबद्ध सूची","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/nl.js b/web/core/assets/vendor/ckeditor5/list/translations/nl.js
index 89f3b9f7e9..1e201c9ca7 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/nl.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/nl.js
@@ -1 +1 @@
-!function(e){const l=e.nl=e.nl||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Ongenummerde lijst","Bulleted list styles toolbar":"",Circle:"Cirkel",Decimal:"Decimaal","Decimal with leading zero":"",Disc:"Schijf","Lower-latin":"","Lower–roman":"","Numbered List":"Genummerde lijst","Numbered list styles toolbar":"",Square:"Vierkant","To-do List":"To-do lijst","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.nl=e.nl||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Ongenummerde lijst","Bulleted list styles toolbar":"",Circle:"Cirkel",Decimal:"Decimaal","Decimal with leading zero":"",Disc:"Schijf","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Genummerde lijst","Numbered list styles toolbar":"","Reversed order":"",Square:"Vierkant","Start at":"","Start index must be greater than 0.":"","To-do List":"To-do lijst","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/no.js b/web/core/assets/vendor/ckeditor5/list/translations/no.js
index 7f35d8e7e7..c58b17f0ff 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/no.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/no.js
@@ -1 +1 @@
-!function(e){const l=e.no=e.no||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Punktliste","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Nummerert liste","Numbered list styles toolbar":"",Square:"","To-do List":"Oppgaveliste","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.no=e.no||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktliste","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Nummerert liste","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Oppgaveliste","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/pl.js b/web/core/assets/vendor/ckeditor5/list/translations/pl.js
index 627e9ae51f..e2406f6bc4 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/pl.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/pl.js
@@ -1 +1 @@
-!function(e){const l=e.pl=e.pl||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Lista wypunktowana","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Lista numerowana","Numbered list styles toolbar":"",Square:"","To-do List":"Lista rzeczy do zrobienia","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.pl=e.pl||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Lista wypunktowana","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Lista numerowana","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Lista rzeczy do zrobienia","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/pt-br.js b/web/core/assets/vendor/ckeditor5/list/translations/pt-br.js
index 98c687e9e6..4e013d6059 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/pt-br.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/pt-br.js
@@ -1 +1 @@
-!function(e){const t=e["pt-br"]=e["pt-br"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Lista com marcadores","Bulleted list styles toolbar":"Barra de ferramentas de estilos de lista com marcador",Circle:"Círculo",Decimal:"Decimal","Decimal with leading zero":"Decimal com zero à esquerda",Disc:"Disco","Lower-latin":"Latim inferior","Lower–roman":"Romano inferior","Numbered List":"Lista numerada","Numbered list styles toolbar":"Barra de ferramentas de estilos de lista numerada",Square:"Quadrado","To-do List":"Lista de Tarefas","Toggle the circle list style":"Alternar o estilo da lista de círculo","Toggle the decimal list style":"Alternar o estilo de lista decimal","Toggle the decimal with leading zero list style":"Alternar o decimal com estilo de lista zero à esquerda","Toggle the disc list style":"Alternar o estilo da lista de disco","Toggle the lower–latin list style":"Alternar o estilo de lista latina inferior","Toggle the lower–roman list style":"Alternar o estilo de lista romana inferior","Toggle the square list style":"Alternar o estilo de lista quadrada","Toggle the upper–latin list style":"Alternar o estilo de lista latino superior","Toggle the upper–roman list style":"Alternar o estilo de lista romana superior","Upper-latin":"Latim superior","Upper-roman":"Romano superior"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const r=e["pt-br"]=e["pt-br"]||{};r.dictionary=Object.assign(r.dictionary||{},{"Bulleted List":"Lista com marcadores","Bulleted list styles toolbar":"Barra de ferramentas de estilos de lista com marcador",Circle:"Círculo",Decimal:"Decimal","Decimal with leading zero":"Decimal com zero à esquerda",Disc:"Disco","List properties":"Propriedades da lista","Lower-latin":"Latim inferior","Lower–roman":"Romano inferior","Numbered List":"Lista numerada","Numbered list styles toolbar":"Barra de ferramentas de estilos de lista numerada","Reversed order":"Ordem reversa",Square:"Quadrado","Start at":"Iniciar em","Start index must be greater than 0.":"O índice inicial deve ser maior que 0.","To-do List":"Lista de Tarefas","Toggle the circle list style":"Alternar o estilo da lista de círculo","Toggle the decimal list style":"Alternar o estilo de lista decimal","Toggle the decimal with leading zero list style":"Alternar o decimal com estilo de lista zero à esquerda","Toggle the disc list style":"Alternar o estilo da lista de disco","Toggle the lower–latin list style":"Alternar o estilo de lista latina inferior","Toggle the lower–roman list style":"Alternar o estilo de lista romana inferior","Toggle the square list style":"Alternar o estilo de lista quadrada","Toggle the upper–latin list style":"Alternar o estilo de lista latino superior","Toggle the upper–roman list style":"Alternar o estilo de lista romana superior","Upper-latin":"Latim superior","Upper-roman":"Romano superior"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/pt.js b/web/core/assets/vendor/ckeditor5/list/translations/pt.js
index a403730af9..606cc866fd 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/pt.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/pt.js
@@ -1 +1 @@
-!function(e){const t=e.pt=e.pt||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Lista não ordenada","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Lista ordenada","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.pt=e.pt||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Lista não ordenada","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Lista ordenada","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/ro.js b/web/core/assets/vendor/ckeditor5/list/translations/ro.js
index d3d8f7ce40..c842681fb4 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/ro.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/ro.js
@@ -1 +1 @@
-!function(t){const i=t.ro=t.ro||{};i.dictionary=Object.assign(i.dictionary||{},{"Bulleted List":"Listă cu puncte","Bulleted list styles toolbar":"Toolbar Listă cu puncte",Circle:"Cerc",Decimal:"Număr","Decimal with leading zero":"Număr cu zero la început ",Disc:"Disc","Lower-latin":"Litere mici latine","Lower–roman":"Litere mici romane","Numbered List":"Listă numerotată","Numbered list styles toolbar":"Toolbar Listă numerotată",Square:"Pătrat","To-do List":"Listă cu activități","Toggle the circle list style":"Comutați stilul la lista cu cercuri","Toggle the decimal list style":"Comutați stilul la lista cu numere","Toggle the decimal with leading zero list style":"Comutați stilul la lista cu numere cu zero la început","Toggle the disc list style":"Comutați stilul la lista cu discuri","Toggle the lower–latin list style":"Comutați stilul la lista cu litere mici latine","Toggle the lower–roman list style":"Comutați stilul la lista cu litere mici romane","Toggle the square list style":"Comutați stilul la lista cu pătrate","Toggle the upper–latin list style":"Comutați stilul la lista cu litere mari latine","Toggle the upper–roman list style":"Comutați stilul la lista cu litere mari romane","Upper-latin":"Litere mari latine","Upper-roman":"Litere mari romane"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(t){const e=t.ro=t.ro||{};e.dictionary=Object.assign(e.dictionary||{},{"Bulleted List":"Listă cu puncte","Bulleted list styles toolbar":"Toolbar Listă cu puncte",Circle:"Cerc",Decimal:"Număr","Decimal with leading zero":"Număr cu zero la început ",Disc:"Disc","List properties":"","Lower-latin":"Litere mici latine","Lower–roman":"Litere mici romane","Numbered List":"Listă numerotată","Numbered list styles toolbar":"Toolbar Listă numerotată","Reversed order":"",Square:"Pătrat","Start at":"","Start index must be greater than 0.":"","To-do List":"Listă cu activități","Toggle the circle list style":"Comutați stilul la lista cu cercuri","Toggle the decimal list style":"Comutați stilul la lista cu numere","Toggle the decimal with leading zero list style":"Comutați stilul la lista cu numere cu zero la început","Toggle the disc list style":"Comutați stilul la lista cu discuri","Toggle the lower–latin list style":"Comutați stilul la lista cu litere mici latine","Toggle the lower–roman list style":"Comutați stilul la lista cu litere mici romane","Toggle the square list style":"Comutați stilul la lista cu pătrate","Toggle the upper–latin list style":"Comutați stilul la lista cu litere mari latine","Toggle the upper–roman list style":"Comutați stilul la lista cu litere mari romane","Upper-latin":"Litere mari latine","Upper-roman":"Litere mari romane"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/ru.js b/web/core/assets/vendor/ckeditor5/list/translations/ru.js
index 4f03baed33..82a2c756b0 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/ru.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/ru.js
@@ -1 +1 @@
-!function(e){const l=e.ru=e.ru||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Маркированный список","Bulleted list styles toolbar":"Стили маркированного списка",Circle:"Окружность",Decimal:"Десятичный","Decimal with leading zero":"Десятичный с ведущим нулем",Disc:"Диск","Lower-latin":"Малые латинские","Lower–roman":"Малые римские","Numbered List":"Нумерованный список","Numbered list styles toolbar":"Стили нумерованного списка",Square:"Квадрат","To-do List":"Список задач","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"Большие латинские","Upper-roman":"Большие римские"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.ru=e.ru||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Маркированный список","Bulleted list styles toolbar":"Стили маркированного списка",Circle:"Окружность",Decimal:"Десятичный","Decimal with leading zero":"Десятичный с ведущим нулем",Disc:"Диск","List properties":"","Lower-latin":"Малые латинские","Lower–roman":"Малые римские","Numbered List":"Нумерованный список","Numbered list styles toolbar":"Стили нумерованного списка","Reversed order":"",Square:"Квадрат","Start at":"","Start index must be greater than 0.":"","To-do List":"Список задач","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"Большие латинские","Upper-roman":"Большие римские"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/si.js b/web/core/assets/vendor/ckeditor5/list/translations/si.js
index 293c44d3a7..84db24ca18 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/si.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/si.js
@@ -1 +1 @@
-!function(e){const l=e.si=e.si||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"බුලටිත ලැයිස්තුව","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"අංකිත ලැයිස්තුව","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.si=e.si||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"බුලටිත ලැයිස්තුව","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"අංකිත ලැයිස්තුව","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/sk.js b/web/core/assets/vendor/ckeditor5/list/translations/sk.js
index 00e06fa96e..14769d380a 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/sk.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/sk.js
@@ -1 +1 @@
-!function(e){const l=e.sk=e.sk||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Zoznam s odrážkami","Bulleted list styles toolbar":"Panel zoznamu s odrážkami",Circle:"Kruh",Decimal:"Čísla","Decimal with leading zero":"Čísla s nulou na začiatku",Disc:"Plný kruh","Lower-latin":"Malé písmená","Lower–roman":"Malé rímske čísla","Numbered List":"Číslovaný zoznam","Numbered list styles toolbar":"Panel so štýlmi číslovaného zoznamu",Square:"Štvorec","To-do List":"To-do zoznam","Toggle the circle list style":"Prepnúť na zoznam s kruhovým označením","Toggle the decimal list style":"Prepnúť na číselný zoznam","Toggle the decimal with leading zero list style":"Prepnúť na číselný zoznam s nulou na začiatku","Toggle the disc list style":"Prepnúť na zoznam s označením plného kruhu","Toggle the lower–latin list style":"Prepnúť na zoznam s malými písmenami","Toggle the lower–roman list style":"Prepnúť na zoznam s malými rímskymi číslami","Toggle the square list style":"Prepnúť na zoznam so štvorcovým označením","Toggle the upper–latin list style":"Prepnúť na zoznam s veľkými písmenami","Toggle the upper–roman list style":"Prepnúť na zoznam s veľkými rímskymi číslami","Upper-latin":"Veľké písmená","Upper-roman":"Veľké rímske čísla"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const a=e.sk=e.sk||{};a.dictionary=Object.assign(a.dictionary||{},{"Bulleted List":"Zoznam s odrážkami","Bulleted list styles toolbar":"Panel zoznamu s odrážkami",Circle:"Kruh",Decimal:"Čísla","Decimal with leading zero":"Čísla s nulou na začiatku",Disc:"Plný kruh","List properties":"Vlastnosti zoznamu","Lower-latin":"Malé písmená","Lower–roman":"Malé rímske čísla","Numbered List":"Číslovaný zoznam","Numbered list styles toolbar":"Panel so štýlmi číslovaného zoznamu","Reversed order":"Obrátene poradie",Square:"Štvorec","Start at":"Prvá položka","Start index must be greater than 0.":"Prvá položka musí mať index väčší ako 0.","To-do List":"To-do zoznam","Toggle the circle list style":"Prepnúť na zoznam s kruhovým označením","Toggle the decimal list style":"Prepnúť na číselný zoznam","Toggle the decimal with leading zero list style":"Prepnúť na číselný zoznam s nulou na začiatku","Toggle the disc list style":"Prepnúť na zoznam s označením plného kruhu","Toggle the lower–latin list style":"Prepnúť na zoznam s malými písmenami","Toggle the lower–roman list style":"Prepnúť na zoznam s malými rímskymi číslami","Toggle the square list style":"Prepnúť na zoznam so štvorcovým označením","Toggle the upper–latin list style":"Prepnúť na zoznam s veľkými písmenami","Toggle the upper–roman list style":"Prepnúť na zoznam s veľkými rímskymi číslami","Upper-latin":"Veľké písmená","Upper-roman":"Veľké rímske čísla"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/sq.js b/web/core/assets/vendor/ckeditor5/list/translations/sq.js
index ea9c865fcf..af695af66e 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/sq.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/sq.js
@@ -1 +1 @@
-!function(e){const l=e.sq=e.sq||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Listë me Pika","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Listë me Numra","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.sq=e.sq||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Listë me Pika","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Listë me Numra","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/sr-latn.js b/web/core/assets/vendor/ckeditor5/list/translations/sr-latn.js
index 56f3fe602f..fdcfcfd9ba 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/sr-latn.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/sr-latn.js
@@ -1 +1 @@
-!function(i){const e=i["sr-latn"]=i["sr-latn"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Bulleted List":"Nabrajane liste","Bulleted list styles toolbar":"Traka sa alatkama za nabrajane liste",Circle:"Krug",Decimal:"Decimala","Decimal with leading zero":"Decimalni broj sa nulom na početku",Disc:"Disk","Lower-latin":"Donji - latinski","Lower–roman":"Donji - rimski","Numbered List":"Lista sa brojevima","Numbered list styles toolbar":"Traka sa altakama za liste sa brojevima",Square:"Kvadrat","To-do List":"Lista obaveza","Toggle the circle list style":"Uključite / isključite stil liste krugova","Toggle the decimal list style":"Uključi / isključi stil dekadne liste","Toggle the decimal with leading zero list style":"Prebaci decimalni znak sa vodećim stilom liste nula","Toggle the disc list style":"Uključite / isključite stil liste diskova","Toggle the lower–latin list style":"Uključite / isključite stil donje liste latinice","Toggle the lower–roman list style":"Uključite / isključite stil donje rimske liste","Toggle the square list style":"Uključite / isključite stil liste kvadrata","Toggle the upper–latin list style":"Uključite / isključite stil gornje liste latinice","Toggle the upper–roman list style":"Uključite / isključite stil gornje rimske liste","Upper-latin":"Gornji - latinski","Upper-roman":"Gornji - rimski"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(i){const e=i["sr-latn"]=i["sr-latn"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Bulleted List":"Nabrajane liste","Bulleted list styles toolbar":"Traka sa alatkama za nabrajane liste",Circle:"Krug",Decimal:"Decimala","Decimal with leading zero":"Decimalni broj sa nulom na početku",Disc:"Disk","List properties":"Navedite svojstva","Lower-latin":"Donji - latinski","Lower–roman":"Donji - rimski","Numbered List":"Lista sa brojevima","Numbered list styles toolbar":"Traka sa altakama za liste sa brojevima","Reversed order":"Obrnuti redosled",Square:"Kvadrat","Start at":"Početi u","Start index must be greater than 0.":"Početni indeks mora biti veći od 0.","To-do List":"Lista obaveza","Toggle the circle list style":"Uključite / isključite stil liste krugova","Toggle the decimal list style":"Uključi / isključi stil dekadne liste","Toggle the decimal with leading zero list style":"Prebaci decimalni znak sa vodećim stilom liste nula","Toggle the disc list style":"Uključite / isključite stil liste diskova","Toggle the lower–latin list style":"Uključite / isključite stil donje liste latinice","Toggle the lower–roman list style":"Uključite / isključite stil donje rimske liste","Toggle the square list style":"Uključite / isključite stil liste kvadrata","Toggle the upper–latin list style":"Uključite / isključite stil gornje liste latinice","Toggle the upper–roman list style":"Uključite / isključite stil gornje rimske liste","Upper-latin":"Gornji - latinski","Upper-roman":"Gornji - rimski"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/sr.js b/web/core/assets/vendor/ckeditor5/list/translations/sr.js
index 0182a3a63e..ff6dfb19a1 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/sr.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/sr.js
@@ -1 +1 @@
-!function(e){const l=e.sr=e.sr||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Набрајане листе","Bulleted list styles toolbar":"Трака са алаткама за набрајане листе",Circle:"Круг",Decimal:"Децимала","Decimal with leading zero":"Децимала са нулом на почетку",Disc:"Диск","Lower-latin":"Доњи - латински","Lower–roman":"Доњи - римски","Numbered List":"Листа са бројевима","Numbered list styles toolbar":"Трака са алаткама за листе са бројевима",Square:"Квадрат","To-do List":"Листа обавеза","Toggle the circle list style":"Укључи / искључи стил листе кругова","Toggle the decimal list style":"Укључи / искључи стил декадне листе","Toggle the decimal with leading zero list style":"Пребаци децимални знак са водећим стилом листе нула","Toggle the disc list style":"Укључите / искључите стил листе дискова","Toggle the lower–latin list style":"Укључите / искључите стил доње листе латинице","Toggle the lower–roman list style":"Укључите/ искључите стил доње римске листе","Toggle the square list style":"Укључи / искључи стил листе квадрата","Toggle the upper–latin list style":"Укључите / искључите стил горње листе латинице","Toggle the upper–roman list style":"Укључите / искључите стил горње римске листе","Upper-latin":"Горњи - латински","Upper-roman":"Горњи - римски"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.sr=e.sr||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Набрајане листе","Bulleted list styles toolbar":"Трака са алаткама за набрајане листе",Circle:"Круг",Decimal:"Децимала","Decimal with leading zero":"Децимала са нулом на почетку",Disc:"Диск","List properties":"Наведите својства ","Lower-latin":"Доњи - латински","Lower–roman":"Доњи - римски","Numbered List":"Листа са бројевима","Numbered list styles toolbar":"Трака са алаткама за листе са бројевима","Reversed order":"Обрнути редослед ",Square:"Квадрат","Start at":"Почети у","Start index must be greater than 0.":"Почетни индекс мора бити већи од 0. ","To-do List":"Листа обавеза","Toggle the circle list style":"Укључи / искључи стил листе кругова","Toggle the decimal list style":"Укључи / искључи стил декадне листе","Toggle the decimal with leading zero list style":"Пребаци децимални знак са водећим стилом листе нула","Toggle the disc list style":"Укључите / искључите стил листе дискова","Toggle the lower–latin list style":"Укључите / искључите стил доње листе латинице","Toggle the lower–roman list style":"Укључите/ искључите стил доње римске листе","Toggle the square list style":"Укључи / искључи стил листе квадрата","Toggle the upper–latin list style":"Укључите / искључите стил горње листе латинице","Toggle the upper–roman list style":"Укључите / искључите стил горње римске листе","Upper-latin":"Горњи - латински","Upper-roman":"Горњи - римски"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/sv.js b/web/core/assets/vendor/ckeditor5/list/translations/sv.js
index e4691def76..0017c20414 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/sv.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/sv.js
@@ -1 +1 @@
-!function(e){const l=e.sv=e.sv||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Punktlista","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Numrerad lista","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.sv=e.sv||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktlista","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numrerad lista","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/tk.js b/web/core/assets/vendor/ckeditor5/list/translations/tk.js
index c70b3c0ba1..43a13b387e 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/tk.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/tk.js
@@ -1 +1 @@
-!function(e){const l=e.tk=e.tk||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Bullet sanawy","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Sanly sanaw","Numbered list styles toolbar":"",Square:"","To-do List":"Edilmeli işleriň sanawy","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.tk=e.tk||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Bullet sanawy","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Sanly sanaw","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Edilmeli işleriň sanawy","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/tr.js b/web/core/assets/vendor/ckeditor5/list/translations/tr.js
index f11b1b1f25..f6aa1f95a2 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/tr.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/tr.js
@@ -1 +1 @@
-!function(e){const l=e.tr=e.tr||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Simgeli Liste","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Numaralı Liste","Numbered list styles toolbar":"",Square:"","To-do List":"Yapılacaklar Listesi","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.tr=e.tr||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Simgeli Liste","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numaralı Liste","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Yapılacaklar Listesi","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/ug.js b/web/core/assets/vendor/ckeditor5/list/translations/ug.js
index e118b565a6..16190a7505 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/ug.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/ug.js
@@ -1 +1 @@
-!function(e){const l=e.ug=e.ug||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"بەلگە تىزىملىك","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"نومۇرلۇق تىزىملىك","Numbered list styles toolbar":"",Square:"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.ug=e.ug||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"بەلگە تىزىملىك","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"نومۇرلۇق تىزىملىك","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/uk.js b/web/core/assets/vendor/ckeditor5/list/translations/uk.js
index 8c7bcae460..2e6c52db96 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/uk.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/uk.js
@@ -1 +1 @@
-!function(e){const l=e.uk=e.uk||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Маркерний список","Bulleted list styles toolbar":"Панель маркерних списків",Circle:"Коло",Decimal:"Цифри","Decimal with leading zero":"Цифри із провідним нулем",Disc:"Круг","Lower-latin":"","Lower–roman":"","Numbered List":"Нумерований список","Numbered list styles toolbar":"Панель нумерованих списків",Square:"Квадрат","To-do List":"Список справ","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.uk=e.uk||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Маркерний список","Bulleted list styles toolbar":"Панель маркерних списків",Circle:"Коло",Decimal:"Цифри","Decimal with leading zero":"Цифри із провідним нулем",Disc:"Круг","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Нумерований список","Numbered list styles toolbar":"Панель нумерованих списків","Reversed order":"",Square:"Квадрат","Start at":"","Start index must be greater than 0.":"","To-do List":"Список справ","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/uz.js b/web/core/assets/vendor/ckeditor5/list/translations/uz.js
new file mode 100644
index 0000000000..d62c5813eb
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/list/translations/uz.js
@@ -0,0 +1 @@
+!function(e){const t=e.uz=e.uz||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Belgilangan roʻyxat","Bulleted list styles toolbar":"Belgilangan ro'yxat uslublari",Circle:"Doira",Decimal:"O'nlik","Decimal with leading zero":"Boshlovchi nol bilan oʻnlik",Disc:"Disk","List properties":"","Lower-latin":"Kichik lotincha","Lower–roman":"Kichik rim","Numbered List":"Raqamlangan ro'yxat","Numbered list styles toolbar":"Raqamlangan ro'yxat uslublari","Reversed order":"",Square:"Kvadrat","Start at":"","Start index must be greater than 0.":"","To-do List":"","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"Katta lotincha","Upper-roman":"Katta rim"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/vi.js b/web/core/assets/vendor/ckeditor5/list/translations/vi.js
index f5463f3c9c..03e2f2cc23 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/vi.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/vi.js
@@ -1 +1 @@
-!function(e){const l=e.vi=e.vi||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Danh sách đánh ký hiệu","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"Danh sách đánh số","Numbered list styles toolbar":"",Square:"","To-do List":"Danh sách cần làm","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.vi=e.vi||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Danh sách đánh ký hiệu","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Danh sách đánh số","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Danh sách cần làm","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/zh-cn.js b/web/core/assets/vendor/ckeditor5/list/translations/zh-cn.js
index 55ba880f22..5c533227c1 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/zh-cn.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/zh-cn.js
@@ -1 +1 @@
-!function(e){const l=e["zh-cn"]=e["zh-cn"]||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"项目符号列表","Bulleted list styles toolbar":"项目符号列表样式工具条",Circle:"空心圆点",Decimal:"阿拉伯数字","Decimal with leading zero":"前导零阿拉伯数字",Disc:"实心圆点","Lower-latin":"小写拉丁字母","Lower–roman":"小写罗马数字","Numbered List":"项目编号列表","Numbered list styles toolbar":"项目编号列表样式工具条",Square:"实心方块","To-do List":"待办列表","Toggle the circle list style":"切换空心原点列表样式","Toggle the decimal list style":"切换阿拉伯数字列表样式","Toggle the decimal with leading zero list style":"切换前导零阿拉伯数字列表样式","Toggle the disc list style":"切换实心原点列表样式","Toggle the lower–latin list style":"切换小写拉丁字母列表样式","Toggle the lower–roman list style":"切换小写罗马数字列表样式","Toggle the square list style":"切换实心方块列表样式","Toggle the upper–latin list style":"切换大写拉丁字母列表样式","Toggle the upper–roman list style":"切换大写罗马数字列表样式","Upper-latin":"大写拉丁字母","Upper-roman":"大写罗马数字"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e["zh-cn"]=e["zh-cn"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"项目符号列表","Bulleted list styles toolbar":"项目符号列表样式工具条",Circle:"空心圆点",Decimal:"阿拉伯数字","Decimal with leading zero":"前导零阿拉伯数字",Disc:"实心圆点","List properties":"","Lower-latin":"小写拉丁字母","Lower–roman":"小写罗马数字","Numbered List":"项目编号列表","Numbered list styles toolbar":"项目编号列表样式工具条","Reversed order":"",Square:"实心方块","Start at":"","Start index must be greater than 0.":"","To-do List":"待办列表","Toggle the circle list style":"切换空心原点列表样式","Toggle the decimal list style":"切换阿拉伯数字列表样式","Toggle the decimal with leading zero list style":"切换前导零阿拉伯数字列表样式","Toggle the disc list style":"切换实心原点列表样式","Toggle the lower–latin list style":"切换小写拉丁字母列表样式","Toggle the lower–roman list style":"切换小写罗马数字列表样式","Toggle the square list style":"切换实心方块列表样式","Toggle the upper–latin list style":"切换大写拉丁字母列表样式","Toggle the upper–roman list style":"切换大写罗马数字列表样式","Upper-latin":"大写拉丁字母","Upper-roman":"大写罗马数字"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/list/translations/zh.js b/web/core/assets/vendor/ckeditor5/list/translations/zh.js
index c272142d8a..914d5eb4cb 100644
--- a/web/core/assets/vendor/ckeditor5/list/translations/zh.js
+++ b/web/core/assets/vendor/ckeditor5/list/translations/zh.js
@@ -1 +1 @@
-!function(e){const l=e.zh=e.zh||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"符號清單","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","Lower-latin":"","Lower–roman":"","Numbered List":"有序清單","Numbered list styles toolbar":"",Square:"","To-do List":"代辦清單","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.zh=e.zh||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"符號清單","Bulleted list styles toolbar":"無序清單工具列",Circle:"空心圓點",Decimal:"數字","Decimal with leading zero":"0開頭的數字",Disc:"實心圓點","List properties":"","Lower-latin":"小寫拉丁字母","Lower–roman":"小寫羅馬數字","Numbered List":"有序清單","Numbered list styles toolbar":"有序清單工具列","Reversed order":"",Square:"方形","Start at":"","Start index must be greater than 0.":"","To-do List":"代辦清單","Toggle the circle list style":"切換為空心圓點標示","Toggle the decimal list style":"切換為數字標示","Toggle the decimal with leading zero list style":"切換為0開頭的數字標示","Toggle the disc list style":"切換為實心圓點標示","Toggle the lower–latin list style":"切換為小寫拉丁文字標示","Toggle the lower–roman list style":"切換為小寫羅馬數字標示","Toggle the square list style":"切換為方形標示","Toggle the upper–latin list style":"切換為大寫拉丁文字標示","Toggle the upper–roman list style":"切換為大寫羅馬數字標示","Upper-latin":"大寫拉丁字母","Upper-roman":"大寫羅馬數字"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/paste-from-office/paste-from-office.js b/web/core/assets/vendor/ckeditor5/paste-from-office/paste-from-office.js
index 4cd9ec115b..2e41fe09b6 100644
--- a/web/core/assets/vendor/ckeditor5/paste-from-office/paste-from-office.js
+++ b/web/core/assets/vendor/ckeditor5/paste-from-office/paste-from-office.js
@@ -1,5 +1,4 @@
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-window.CKEditor5=window.CKEditor5||{},window.CKEditor5.pasteFromOffice=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=4)}([function(e,t,n){e.exports=n(1)("./src/engine.js")},function(e,t){e.exports=CKEditor5.dll},function(e,t,n){e.exports=n(1)("./src/core.js")},function(e,t,n){e.exports=n(1)("./src/clipboard.js")},function(e,t,n){"use strict";n.r(t),n.d(t,"PasteFromOffice",(function(){return b}));var r=n(2),i=n(3),o=n(0);function s(e,t){if(!e.childCount)return;const n=new o.UpcastWriter(e.document),r=function(e,t){const n=t.createRangeIn(e),r=new o.Matcher({name:/^p|h\d+$/,styles:{"mso-list":/.*/}}),i=[];for(const e of n)if("elementStart"===e.type&&r.match(e.item)){const t=a(e.item);i.push({element:e.item,id:t.id,order:t.order,indent:t.indent})}return i}(e,n);if(!r.length)return;let i=null,s=1;r.forEach((e,a)=>{const u=function(e,t){if(!e)return!0;if(e.id!==t.id)return t.indent-e.indent!=1;const n=t.element.previousSibling;if(!n)return!0;return r=n,!(r.is("element","ol")||r.is("element","ul"));var r}(r[a-1],e),f=u?null:r[a-1],d=(m=e,(p=f)?m.indent-p.indent:m.indent-1);var p,m;if(u&&(i=null,s=1),!i||0!==d){const r=function(e,t){const n=new RegExp(`@list l${e.id}:level${e.indent}\\s*({[^}]*)`,"gi"),r=/mso-level-number-format:([^;]{0,100});/gi,i=n.exec(t);let o="decimal",s="ol";if(i&&i[1]){const t=r.exec(i[1]);if(t&&t[1]&&(o=t[1].trim(),s="bullet"!==o&&"image"!==o?"ol":"ul"),"bullet"===o){const t=function(e){const t=function(e){if(e.getChild(0).is("$text"))return null;for(const t of e.getChildren()){if(!t.is("element","span"))continue;const e=t.getChild(0);return e.is("$text")?e:e.getChild(0)}}(e);if(!t)return null;const n=t._data;if("o"===n)return"circle";if("·"===n)return"disc";if("§"===n)return"square";return null}(e.element);t&&(o=t)}}return{type:s,style:c(o)}}(e,t);if(i){if(e.indent>s){const e=i.getChild(i.childCount-1),t=e.getChild(e.childCount-1);i=l(r,t,n),s+=1}else if(e.indent<s){const t=s-e.indent;i=function(e,t){const n=e.getAncestors({parentFirst:!0});let r=null,i=0;for(const e of n)if("ul"!==e.name&&"ol"!==e.name||i++,i===t){r=e;break}return r}(i,t),s=parseInt(e.indent)}}else i=l(r,e.element,n);e.indent<=s&&(i.is("element",r.type)||(i=n.rename(r.type,i)))}const g=function(e,t){return function(e,t){const n=new o.Matcher({name:"span",styles:{"mso-list":"Ignore"}}),r=t.createRangeIn(e);for(const e of r)"elementStart"===e.type&&n.match(e.item)&&t.remove(e.item)}(e,t),t.rename("li",e)}(e.element,n);n.appendChild(g,i)})}function c(e){switch(e){case"arabic-leading-zero":return"decimal-leading-zero";case"alpha-upper":return"upper-alpha";case"alpha-lower":return"lower-alpha";case"roman-upper":return"upper-roman";case"roman-lower":return"lower-roman";case"circle":case"disc":case"square":return e;default:return null}}function l(e,t,n){const r=t.parent,i=n.createElement(e.type),o=r.getChildIndex(t)+1;return n.insertChild(o,i,r),e.style&&n.setStyle("list-style-type",e.style,i),i}function a(e){const t={},n=e.getStyle("mso-list");if(n){const e=n.match(/(^|\s{1,100})l(\d+)/i),r=n.match(/\s{0,100}lfo(\d+)/i),i=n.match(/\s{0,100}level(\d+)/i);e&&r&&i&&(t.id=e[2],t.order=r[1],t.indent=i[1])}return t}const u=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class f{constructor(e){this.document=e}isActive(e){return u.test(e)}execute(e){const t=new o.UpcastWriter(this.document),{body:n}=e._parsedData;!function(e,t){for(const n of e.getChildren())if(n.is("element","b")&&"normal"===n.getStyle("font-weight")){const r=e.getChildIndex(n);t.remove(n),t.insertChild(r,n.getChildren(),e)}}(n,t),function(e,t){for(const n of t.createRangeIn(e)){const e=n.item;if(e.is("element","li")){const n=e.getChild(0);n&&n.is("element","p")&&t.unwrapElement(n)}}}(n,t),e.content=n}}function d(e,t){if(!e.childCount)return;const n=new o.UpcastWriter;!function(e,t,n){const r=n.createRangeIn(t),i=new o.Matcher({name:"img"}),s=[];for(const t of r)if(i.match(t.item)){const n=t.item,r=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];r.length&&r.every(t=>e.indexOf(t)>-1)?s.push(n):n.getAttribute("src")||s.push(n)}for(const e of s)n.remove(e)}(function(e,t){const n=t.createRangeIn(e),r=new o.Matcher({name:/v:(.+)/}),i=[];for(const e of n){if("elementStart"!=e.type)continue;const t=e.item,n=t.previousSibling&&t.previousSibling.name||null;r.match(t)&&t.getAttribute("o:gfxdata")&&"v:shapetype"!==n&&i.push(e.item.getAttribute("id"))}return i}(e,n),e,n),function(e,t){const n=t.createRangeIn(e),r=new o.Matcher({name:/v:(.+)/}),i=[];for(const e of n)"elementStart"==e.type&&r.match(e.item)&&i.push(e.item);for(const e of i)t.remove(e)}(e,n);const r=function(e,t){const n=t.createRangeIn(e),r=new o.Matcher({name:"img"}),i=[];for(const e of n)r.match(e.item)&&e.item.getAttribute("src").startsWith("file://")&&i.push(e.item);return i}(e,n);r.length&&function(e,t,n){if(e.length===t.length)for(let i=0;i<e.length;i++){const o=`data:${t[i].type};base64,${r=t[i].hex,btoa(r.match(/\w{2}/g).map(e=>String.fromCharCode(parseInt(e,16))).join(""))}`;n.setAttribute("src",o,e[i])}var r}(r,function(e){if(!e)return[];const t=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/,n=new RegExp("(?:("+t.source+"))([\\da-fA-F\\s]+)\\}","g"),r=e.match(n),i=[];if(r)for(const e of r){let n=!1;e.includes("\\pngblip")?n="image/png":e.includes("\\jpegblip")&&(n="image/jpeg"),n&&i.push({hex:e.replace(t,"").replace(/[^\da-fA-F]/g,""),type:n})}return i}(t),n)}const p=/<meta\s*name="?generator"?\s*content="?microsoft\s*word\s*\d+"?\/?>/i,m=/xmlns:o="urn:schemas-microsoft-com/i;class g{constructor(e){this.document=e}isActive(e){return p.test(e)||m.test(e)}execute(e){const{body:t,stylesString:n}=e._parsedData;s(t,n),d(t,e.dataTransfer.getData("text/rtf")),e.content=t}}function h(e){return e.replace(/<span(?: class="Apple-converted-space"|)>(\s+)<\/span>/g,(e,t)=>1===t.length?" ":Array(t.length+1).join("  ").substr(0,t.length))}function y(e,t){const n=new DOMParser,r=function(e){return h(h(e)).replace(/(<span\s+style=['"]mso-spacerun:yes['"]>[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<span\s+style=['"]mso-spacerun:yes['"]><\/span>/g,"").replace(/ <\//g," </").replace(/ <o:p><\/o:p>/g," <o:p></o:p>").replace(/<o:p>(&nbsp;|\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)</g,"><")}(function(e){const t=e.indexOf("</body>");if(t<0)return e;const n=e.indexOf("</html>",t+"</body>".length);return e.substring(0,t+"</body>".length)+(n>=0?e.substring(n):"")}(e=e.replace(/<!--\[if gte vml 1]>/g,""))),i=n.parseFromString(r,"text/html");!function(e){e.querySelectorAll("span[style*=spacerun]").forEach(e=>{const t=e.innerText.length||0;e.innerHTML=Array(t+1).join("  ").substr(0,t)})}(i);const s=i.body.innerHTML,c=function(e,t){const n=new o.ViewDocument(t),r=new o.DomConverter(n,{renderingMode:"data"}),i=e.createDocumentFragment(),s=e.body.childNodes;for(;s.length>0;)i.appendChild(s[0]);return r.domToView(i,{skipComments:!0})}(i,t),l=function(e){const t=[],n=[],r=Array.from(e.getElementsByTagName("style"));for(const e of r)e.sheet&&e.sheet.cssRules&&e.sheet.cssRules.length&&(t.push(e.sheet),n.push(e.innerHTML));return{styles:t,stylesString:n.join(" ")}}(i);return{body:c,bodyString:s,styles:l.styles,stylesString:l.stylesString}}class b extends r.Plugin{static get pluginName(){return"PasteFromOffice"}static get requires(){return[i.ClipboardPipeline]}init(){const e=this.editor,t=e.editing.view.document,n=[];n.push(new g(t)),n.push(new f(t)),e.plugins.get("ClipboardPipeline").on("inputTransformation",(e,r)=>{if(r._isTransformedWithPasteFromOffice)return;const i=r.dataTransfer.getData("text/html"),o=n.find(e=>e.isActive(i));o&&(r._parsedData=y(i,t.stylesProcessor),o.execute(r),r._isTransformedWithPasteFromOffice=!0)},{priority:"high"})}}}]);
\ No newline at end of file
+ */(()=>{var e={945:(e,t,n)=>{e.exports=n(79)("./src/clipboard.js")},704:(e,t,n)=>{e.exports=n(79)("./src/core.js")},492:(e,t,n)=>{e.exports=n(79)("./src/engine.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{PasteFromOffice:()=>b});var e=n(704),t=n(945),s=n(492);function i(e,t){if(!e.childCount)return;const n=new s.UpcastWriter(e.document),r=function(e,t){const n=t.createRangeIn(e),r=new s.Matcher({name:/^p|h\d+$/,styles:{"mso-list":/.*/}}),i=[];for(const e of n)if("elementStart"===e.type&&r.match(e.item)){const t=a(e.item);i.push({element:e.item,id:t.id,order:t.order,indent:t.indent})}return i}(e,n);if(!r.length)return;let i=null,l=1;r.forEach(((e,a)=>{const u=function(e,t){if(!e)return!0;if(e.id!==t.id)return t.indent-e.indent!=1;const n=t.element.previousSibling;if(!n)return!0;return r=n,!(r.is("element","ol")||r.is("element","ul"));var r}(r[a-1],e),f=u?null:r[a-1],p=(m=e,(d=f)?m.indent-d.indent:m.indent-1);var d,m;if(u&&(i=null,l=1),!i||0!==p){const r=function(e,t){const n=new RegExp(`@list l${e.id}:level${e.indent}\\s*({[^}]*)`,"gi"),r=/mso-level-number-format:([^;]{0,100});/gi,s=/mso-level-start-at:\s{0,100}([0-9]{0,10})\s{0,100};/gi,i=n.exec(t);let c="decimal",a="ol",l=null;if(i&&i[1]){const t=r.exec(i[1]);if(t&&t[1]&&(c=t[1].trim(),a="bullet"!==c&&"image"!==c?"ol":"ul"),"bullet"===c){const t=function(e){const t=function(e){if(e.getChild(0).is("$text"))return null;for(const t of e.getChildren()){if(!t.is("element","span"))continue;const e=t.getChild(0);return e.is("$text")?e:e.getChild(0)}}(e);if(!t)return null;const n=t._data;if("o"===n)return"circle";if("·"===n)return"disc";if("§"===n)return"square";return null}(e.element);t&&(c=t)}else{const e=s.exec(i[1]);e&&e[1]&&(l=parseInt(e[1]))}}return{type:a,startIndex:l,style:o(c)}}(e,t);if(i){if(e.indent>l){const e=i.getChild(i.childCount-1),t=e.getChild(e.childCount-1);i=c(r,t,n),l+=1}else if(e.indent<l){const t=l-e.indent;i=function(e,t){const n=e.getAncestors({parentFirst:!0});let r=null,s=0;for(const e of n)if("ul"!==e.name&&"ol"!==e.name||s++,s===t){r=e;break}return r}(i,t),l=parseInt(e.indent)}}else i=c(r,e.element,n);e.indent<=l&&(i.is("element",r.type)||(i=n.rename(r.type,i)))}const g=function(e,t){return function(e,t){const n=new s.Matcher({name:"span",styles:{"mso-list":"Ignore"}}),r=t.createRangeIn(e);for(const e of r)"elementStart"===e.type&&n.match(e.item)&&t.remove(e.item)}(e,t),t.rename("li",e)}(e.element,n);n.appendChild(g,i)}))}function o(e){if(e.startsWith("arabic-leading-zero"))return"decimal-leading-zero";switch(e){case"alpha-upper":return"upper-alpha";case"alpha-lower":return"lower-alpha";case"roman-upper":return"upper-roman";case"roman-lower":return"lower-roman";case"circle":case"disc":case"square":return e;default:return null}}function c(e,t,n){const r=t.parent,s=n.createElement(e.type),i=r.getChildIndex(t)+1;return n.insertChild(i,s,r),e.style&&n.setStyle("list-style-type",e.style,s),e.startIndex&&e.startIndex>1&&n.setAttribute("start",e.startIndex,s),s}function a(e){const t={},n=e.getStyle("mso-list");if(n){const e=n.match(/(^|\s{1,100})l(\d+)/i),r=n.match(/\s{0,100}lfo(\d+)/i),s=n.match(/\s{0,100}level(\d+)/i);e&&r&&s&&(t.id=e[2],t.order=r[1],t.indent=s[1])}return t}const l=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class u{constructor(e){this.document=e}isActive(e){return l.test(e)}execute(e){const t=new s.UpcastWriter(this.document),{body:n}=e._parsedData;!function(e,t){for(const n of e.getChildren())if(n.is("element","b")&&"normal"===n.getStyle("font-weight")){const r=e.getChildIndex(n);t.remove(n),t.insertChild(r,n.getChildren(),e)}}(n,t),function(e,t){for(const n of t.createRangeIn(e)){const e=n.item;if(e.is("element","li")){const n=e.getChild(0);n&&n.is("element","p")&&t.unwrapElement(n)}}}(n,t),e.content=n}}function f(e,t){if(!e.childCount)return;const n=new s.UpcastWriter,r=function(e,t){const n=t.createRangeIn(e),r=new s.Matcher({name:/v:(.+)/}),i=[];for(const e of n){if("elementStart"!=e.type)continue;const t=e.item,n=t.previousSibling&&t.previousSibling.name||null;r.match(t)&&t.getAttribute("o:gfxdata")&&"v:shapetype"!==n&&i.push(e.item.getAttribute("id"))}return i}(e,n);!function(e,t,n){const r=n.createRangeIn(t),i=new s.Matcher({name:"img"}),o=[];for(const t of r)if(i.match(t.item)){const n=t.item,r=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];r.length&&r.every((t=>e.indexOf(t)>-1))?o.push(n):n.getAttribute("src")||o.push(n)}for(const e of o)n.remove(e)}(r,e,n),function(e,t){const n=t.createRangeIn(e),r=new s.Matcher({name:/v:(.+)/}),i=[];for(const e of n)"elementStart"==e.type&&r.match(e.item)&&i.push(e.item);for(const e of i)t.remove(e)}(e,n);const i=function(e,t){const n=t.createRangeIn(e),r=new s.Matcher({name:"img"}),i=[];for(const e of n)r.match(e.item)&&e.item.getAttribute("src").startsWith("file://")&&i.push(e.item);return i}(e,n);i.length&&function(e,t,n){if(e.length===t.length)for(let r=0;r<e.length;r++){const s=`data:${t[r].type};base64,${p(t[r].hex)}`;n.setAttribute("src",s,e[r])}}(i,function(e){if(!e)return[];const t=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/,n=new RegExp("(?:("+t.source+"))([\\da-fA-F\\s]+)\\}","g"),r=e.match(n),s=[];if(r)for(const e of r){let n=!1;e.includes("\\pngblip")?n="image/png":e.includes("\\jpegblip")&&(n="image/jpeg"),n&&s.push({hex:e.replace(t,"").replace(/[^\da-fA-F]/g,""),type:n})}return s}(t),n)}function p(e){return btoa(e.match(/\w{2}/g).map((e=>String.fromCharCode(parseInt(e,16)))).join(""))}const d=/<meta\s*name="?generator"?\s*content="?microsoft\s*word\s*\d+"?\/?>/i,m=/xmlns:o="urn:schemas-microsoft-com/i;class g{constructor(e){this.document=e}isActive(e){return d.test(e)||m.test(e)}execute(e){const{body:t,stylesString:n}=e._parsedData;i(t,n),f(t,e.dataTransfer.getData("text/rtf")),e.content=t}}function h(e){return e.replace(/<span(?: class="Apple-converted-space"|)>(\s+)<\/span>/g,((e,t)=>1===t.length?" ":Array(t.length+1).join("  ").substr(0,t.length)))}function y(e,t){const n=new DOMParser,r=function(e){return h(h(e)).replace(/(<span\s+style=['"]mso-spacerun:yes['"]>[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<span\s+style=['"]mso-spacerun:yes['"]><\/span>/g,"").replace(/ <\//g," </").replace(/ <o:p><\/o:p>/g," <o:p></o:p>").replace(/<o:p>(&nbsp;|\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)</g,"><")}(function(e){const t="</body>",n="</html>",r=e.indexOf(t);if(r<0)return e;const s=e.indexOf(n,r+t.length);return e.substring(0,r+t.length)+(s>=0?e.substring(s):"")}(e=e.replace(/<!--\[if gte vml 1]>/g,""))),i=n.parseFromString(r,"text/html");!function(e){e.querySelectorAll("span[style*=spacerun]").forEach((e=>{const t=e.innerText.length||0;e.innerHTML=Array(t+1).join("  ").substr(0,t)}))}(i);const o=i.body.innerHTML,c=function(e,t){const n=new s.ViewDocument(t),r=new s.DomConverter(n,{renderingMode:"data"}),i=e.createDocumentFragment(),o=e.body.childNodes;for(;o.length>0;)i.appendChild(o[0]);return r.domToView(i,{skipComments:!0})}(i,t),a=function(e){const t=[],n=[],r=Array.from(e.getElementsByTagName("style"));for(const e of r)e.sheet&&e.sheet.cssRules&&e.sheet.cssRules.length&&(t.push(e.sheet),n.push(e.innerHTML));return{styles:t,stylesString:n.join(" ")}}(i);return{body:c,bodyString:o,styles:a.styles,stylesString:a.stylesString}}class b extends e.Plugin{static get pluginName(){return"PasteFromOffice"}static get requires(){return[t.ClipboardPipeline]}init(){const e=this.editor,t=e.editing.view.document,n=[];n.push(new g(t)),n.push(new u(t)),e.plugins.get("ClipboardPipeline").on("inputTransformation",((e,r)=>{if(r._isTransformedWithPasteFromOffice)return;const s=r.dataTransfer.getData("text/html"),i=n.find((e=>e.isActive(s)));i&&(r._parsedData=y(s,t.stylesProcessor),i.execute(r),r._isTransformedWithPasteFromOffice=!0)}),{priority:"high"})}}})(),(window.CKEditor5=window.CKEditor5||{}).pasteFromOffice=r})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/remove-format/remove-format.js b/web/core/assets/vendor/ckeditor5/remove-format/remove-format.js
index e98d4a8ea0..ec9af9ff6c 100644
--- a/web/core/assets/vendor/ckeditor5/remove-format/remove-format.js
+++ b/web/core/assets/vendor/ckeditor5/remove-format/remove-format.js
@@ -1,5 +1,5 @@
+!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Remove Format":"Remove Format"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Remove Format":"Remove Format"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.removeFormat=function(t){var e={};function o(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}return o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=4)}([function(t,e,o){t.exports=o(1)("./src/core.js")},function(t,e){t.exports=CKEditor5.dll},function(t,e,o){t.exports=o(1)("./src/utils.js")},function(t,e,o){t.exports=o(1)("./src/ui.js")},function(t,e,o){"use strict";o.r(e),o.d(e,"RemoveFormat",(function(){return u})),o.d(e,"RemoveFormatEditing",(function(){return a})),o.d(e,"RemoveFormatUI",(function(){return i}));var n=o(0),r=o(3);class i extends n.Plugin{static get pluginName(){return"RemoveFormatUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("removeFormat",o=>{const n=t.commands.get("removeFormat"),i=new r.ButtonView(o);return i.set({label:e("Remove Format"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M8.69 14.915c.053.052.173.083.36.093a.366.366 0 0 1 .345.485l-.003.01a.738.738 0 0 1-.697.497h-2.67a.374.374 0 0 1-.353-.496l.013-.038a.681.681 0 0 1 .644-.458c.197-.012.325-.043.386-.093a.28.28 0 0 0 .072-.11L9.592 4.5H6.269c-.359-.017-.609.013-.75.09-.142.078-.289.265-.442.563-.192.29-.516.464-.864.464H4.17a.43.43 0 0 1-.407-.569L4.46 3h13.08l-.62 2.043a.81.81 0 0 1-.775.574h-.114a.486.486 0 0 1-.486-.486c.001-.284-.054-.464-.167-.54-.112-.076-.367-.106-.766-.091h-3.28l-2.68 10.257c-.006.074.007.127.038.158zM3 17h8a.5.5 0 1 1 0 1H3a.5.5 0 1 1 0-1zm11.299 1.17a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.06-1.06l1.415 1.414 1.414-1.415a.75.75 0 1 1 1.06 1.06l-1.413 1.415 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414-1.414 1.414z"/></svg>',tooltip:!0}),i.bind("isOn","isEnabled").to(n,"value","isEnabled"),this.listenTo(i,"execute",()=>{t.execute("removeFormat"),t.editing.view.focus()}),i})}}var s=o(2);class c extends n.Command{refresh(){const t=this.editor.model;this.isEnabled=!!Object(s.first)(this._getFormattingItems(t.document.selection,t.schema))}execute(){const t=this.editor.model,e=t.schema;t.change(o=>{for(const n of this._getFormattingItems(t.document.selection,e))if(n.is("selection"))for(const t of this._getFormattingAttributes(n,e))o.removeSelectionAttribute(t);else{const t=o.createRangeOn(n);for(const r of this._getFormattingAttributes(n,e))o.removeAttribute(r,t)}})}*_getFormattingItems(t,e){const o=t=>!!Object(s.first)(this._getFormattingAttributes(t,e));for(const n of t.getRanges())for(const t of n.getItems())!e.isBlock(t)&&o(t)&&(yield t);for(const e of t.getSelectedBlocks())o(e)&&(yield e);o(t)&&(yield t)}*_getFormattingAttributes(t,e){for(const[o]of t.getAttributes()){const t=e.getAttributeProperties(o);t&&t.isFormatting&&(yield o)}}}class a extends n.Plugin{static get pluginName(){return"RemoveFormatEditing"}init(){const t=this.editor;t.commands.add("removeFormat",new c(t))}}class u extends n.Plugin{static get requires(){return[a,i]}static get pluginName(){return"RemoveFormat"}}}]);
\ No newline at end of file
+ */(()=>{var t={704:(t,e,o)=>{t.exports=o(79)("./src/core.js")},273:(t,e,o)=>{t.exports=o(79)("./src/ui.js")},209:(t,e,o)=>{t.exports=o(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(r){var i=e[r];if(void 0!==i)return i.exports;var s=e[r]={exports:{}};return t[r](s,s.exports,o),s.exports}o.d=(t,e)=>{for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";o.r(r),o.d(r,{RemoveFormat:()=>m,RemoveFormatEditing:()=>c,RemoveFormatUI:()=>s});var t=o(704),e=o(273);const i="removeFormat";class s extends t.Plugin{static get pluginName(){return"RemoveFormatUI"}init(){const t=this.editor,o=t.t;t.ui.componentFactory.add(i,(r=>{const s=t.commands.get(i),n=new e.ButtonView(r);return n.set({label:o("Remove Format"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M8.69 14.915c.053.052.173.083.36.093a.366.366 0 0 1 .345.485l-.003.01a.738.738 0 0 1-.697.497h-2.67a.374.374 0 0 1-.353-.496l.013-.038a.681.681 0 0 1 .644-.458c.197-.012.325-.043.386-.093a.28.28 0 0 0 .072-.11L9.592 4.5H6.269c-.359-.017-.609.013-.75.09-.142.078-.289.265-.442.563-.192.29-.516.464-.864.464H4.17a.43.43 0 0 1-.407-.569L4.46 3h13.08l-.62 2.043a.81.81 0 0 1-.775.574h-.114a.486.486 0 0 1-.486-.486c.001-.284-.054-.464-.167-.54-.112-.076-.367-.106-.766-.091h-3.28l-2.68 10.257c-.006.074.007.127.038.158zM3 17h8a.5.5 0 1 1 0 1H3a.5.5 0 1 1 0-1zm11.299 1.17a.75.75 0 1 1-1.06-1.06l1.414-1.415-1.415-1.414a.75.75 0 0 1 1.06-1.06l1.415 1.414 1.414-1.415a.75.75 0 1 1 1.06 1.06l-1.413 1.415 1.414 1.415a.75.75 0 0 1-1.06 1.06l-1.415-1.414-1.414 1.414z"/></svg>',tooltip:!0}),n.bind("isOn","isEnabled").to(s,"value","isEnabled"),this.listenTo(n,"execute",(()=>{t.execute(i),t.editing.view.focus()})),n}))}}var n=o(209);class a extends t.Command{refresh(){const t=this.editor.model;this.isEnabled=!!(0,n.first)(this._getFormattingItems(t.document.selection,t.schema))}execute(){const t=this.editor.model,e=t.schema;t.change((o=>{for(const r of this._getFormattingItems(t.document.selection,e))if(r.is("selection"))for(const t of this._getFormattingAttributes(r,e))o.removeSelectionAttribute(t);else{const t=o.createRangeOn(r);for(const i of this._getFormattingAttributes(r,e))o.removeAttribute(i,t)}}))}*_getFormattingItems(t,e){const o=t=>!!(0,n.first)(this._getFormattingAttributes(t,e));for(const r of t.getRanges())for(const t of r.getItems())!e.isBlock(t)&&o(t)&&(yield t);for(const e of t.getSelectedBlocks())o(e)&&(yield e);o(t)&&(yield t)}*_getFormattingAttributes(t,e){for(const[o]of t.getAttributes()){const t=e.getAttributeProperties(o);t&&t.isFormatting&&(yield o)}}}class c extends t.Plugin{static get pluginName(){return"RemoveFormatEditing"}init(){const t=this.editor;t.commands.add("removeFormat",new a(t))}}class m extends t.Plugin{static get requires(){return[c,s]}static get pluginName(){return"RemoveFormat"}}})(),(window.CKEditor5=window.CKEditor5||{}).removeFormat=r})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/remove-format/translations/el.js b/web/core/assets/vendor/ckeditor5/remove-format/translations/el.js
new file mode 100644
index 0000000000..04e0e414d4
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/remove-format/translations/el.js
@@ -0,0 +1 @@
+!function(i){const n=i.el=i.el||{};n.dictionary=Object.assign(n.dictionary||{},{"Remove Format":"Απομάκρυνση μορφοποίησης"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/remove-format/translations/uz.js b/web/core/assets/vendor/ckeditor5/remove-format/translations/uz.js
new file mode 100644
index 0000000000..2d78cce21f
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/remove-format/translations/uz.js
@@ -0,0 +1 @@
+!function(i){const o=i.uz=i.uz||{};o.dictionary=Object.assign(o.dictionary||{},{"Remove Format":"Formatlashni olib tashlash"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/source-editing/source-editing.js b/web/core/assets/vendor/ckeditor5/source-editing/source-editing.js
index 19f346094c..338857ff5f 100644
--- a/web/core/assets/vendor/ckeditor5/source-editing/source-editing.js
+++ b/web/core/assets/vendor/ckeditor5/source-editing/source-editing.js
@@ -1,5 +1,5 @@
+!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{Source:"Source"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{Source:"Source"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.sourceEditing=function(e){var t={};function i(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=7)}([function(e,t,i){e.exports=i(2)("./src/core.js")},function(e,t,i){e.exports=i(2)("./src/utils.js")},function(e,t){e.exports=CKEditor5.dll},function(e,t,i){e.exports=i(2)("./src/ui.js")},function(e,t,i){var n=i(5),o=i(6);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(o,r);e.exports=o.locals||{}},function(e,t,i){"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},r=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),a=[];function s(e){for(var t=-1,i=0;i<a.length;i++)if(a[i].identifier===e){t=i;break}return t}function d(e,t){for(var i={},n=[],o=0;o<e.length;o++){var r=e[o],d=t.base?r[0]+t.base:r[0],c=i[d]||0,u="".concat(d," ").concat(c);i[d]=c+1;var l=s(u),h={css:r[1],media:r[2],sourceMap:r[3]};-1!==l?(a[l].references++,a[l].updater(h)):a.push({identifier:u,updater:p(h,t),references:1}),n.push(u)}return n}function c(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var o=i.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var a=r(e.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(t)}return t}var u,l=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function h(e,t,i,n){var o=i?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=l(t,o);else{var r=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(r,a[t]):e.appendChild(r)}}function f(e,t,i){var n=i.css,o=i.media,r=i.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),r&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var m=null,g=0;function p(e,t){var i,n,o;if(t.singleton){var r=g++;i=m||(m=c(t)),n=h.bind(null,i,r,!1),o=h.bind(null,i,r,!0)}else i=c(t),n=f.bind(null,i,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(i)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var i=d(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<i.length;n++){var o=s(i[n]);a[o].references--}for(var r=d(e,t),c=0;c<i.length;c++){var u=s(i[c]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}i=r}}}},function(e,t){e.exports='.ck-source-editing-area{position:relative}.ck-source-editing-area:after,.ck-source-editing-area textarea{padding:var(--ck-spacing-large);margin:0;border:1px solid transparent;line-height:var(--ck-line-height-base);font-size:var(--ck-font-size-normal);font-family:monospace;white-space:pre-wrap}.ck-source-editing-area:after{content:attr(data-value) " ";visibility:hidden;display:block}.ck-source-editing-area textarea{position:absolute;width:100%;height:100%;resize:none;outline:none;overflow:hidden;box-sizing:border-box;border-color:var(--ck-color-base-border);border-radius:0}.ck-rounded-corners .ck-source-editing-area textarea,.ck-source-editing-area textarea.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck-source-editing-area textarea:not([readonly]):focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0}'},function(e,t,i){"use strict";i.r(t),i.d(t,"SourceEditing",(function(){return d}));var n=i(0),o=i(3),r=i(1);function a(e){const t=[{name:"address",isVoid:!1},{name:"article",isVoid:!1},{name:"aside",isVoid:!1},{name:"blockquote",isVoid:!1},{name:"br",isVoid:!0},{name:"details",isVoid:!1},{name:"dialog",isVoid:!1},{name:"dd",isVoid:!1},{name:"div",isVoid:!1},{name:"dl",isVoid:!1},{name:"dt",isVoid:!1},{name:"fieldset",isVoid:!1},{name:"figcaption",isVoid:!1},{name:"figure",isVoid:!1},{name:"footer",isVoid:!1},{name:"form",isVoid:!1},{name:"h1",isVoid:!1},{name:"h2",isVoid:!1},{name:"h3",isVoid:!1},{name:"h4",isVoid:!1},{name:"h5",isVoid:!1},{name:"h6",isVoid:!1},{name:"header",isVoid:!1},{name:"hgroup",isVoid:!1},{name:"hr",isVoid:!0},{name:"input",isVoid:!0},{name:"li",isVoid:!1},{name:"main",isVoid:!1},{name:"nav",isVoid:!1},{name:"ol",isVoid:!1},{name:"p",isVoid:!1},{name:"pre",isVoid:!1},{name:"section",isVoid:!1},{name:"table",isVoid:!1},{name:"tbody",isVoid:!1},{name:"td",isVoid:!1},{name:"textarea",isVoid:!1},{name:"th",isVoid:!1},{name:"thead",isVoid:!1},{name:"tr",isVoid:!1},{name:"ul",isVoid:!1}],i=t.map(e=>e.name).join("|"),n=e.replace(new RegExp(`</?(${i})( .*?)?>`,"g"),"\n$&\n").split("\n");let o=0;return n.filter(e=>e.length).map(e=>function(e,t){return t.some(t=>!t.isVoid&&!!new RegExp(`<${t.name}( .*?)?>`).test(e))}(e,t)?s(e,o++):function(e,t){return t.some(t=>new RegExp(`</${t.name}>`).test(e))}(e,t)?s(e,--o):s(e,o)).join("\n")}function s(e,t,i="    "){return`${i.repeat(t)}${e}`}i(4);class d extends n.Plugin{static get pluginName(){return"SourceEditing"}static get requires(){return[n.PendingActions]}constructor(e){super(e),this.set("isSourceEditingMode",!1),this._elementReplacer=new r.ElementReplacer,this._replacedRoots=new Map,this._dataFromRoots=new Map}init(){const e=this.editor,t=e.t;e.ui.componentFactory.add("sourceEditing",i=>{const r=new o.ButtonView(i);return r.set({label:t("Source"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m12.5 0 5 4.5v15.003h-16V0h11zM3 1.5v3.25l-1.497 1-.003 8 1.5 1v3.254L7.685 18l-.001 1.504H17.5V8.002L16 9.428l-.004-4.22-4.222-3.692L3 1.5z"/><path d="M4.06 6.64a.75.75 0 0 1 .958 1.15l-.085.07L2.29 9.75l2.646 1.89c.302.216.4.62.232.951l-.058.095a.75.75 0 0 1-.951.232l-.095-.058-3.5-2.5V9.14l3.496-2.5zm4.194 6.22a.75.75 0 0 1-.958-1.149l.085-.07 2.643-1.89-2.646-1.89a.75.75 0 0 1-.232-.952l.058-.095a.75.75 0 0 1 .95-.232l.096.058 3.5 2.5v1.22l-3.496 2.5zm7.644-.836 2.122 2.122-5.825 5.809-2.125-.005.003-2.116zm2.539-1.847 1.414 1.414a.5.5 0 0 1 0 .707l-1.06 1.06-2.122-2.12 1.061-1.061a.5.5 0 0 1 .707 0z"/></svg>',tooltip:!0,withText:!0,class:"ck-source-editing-button"}),r.bind("isOn").to(this,"isSourceEditingMode"),r.bind("isEnabled").to(this,"isEnabled",e,"isReadOnly",e.plugins.get(n.PendingActions),"hasAny",(e,t,i)=>!!e&&(!t&&!i)),this.listenTo(r,"execute",()=>{this.isSourceEditingMode=!this.isSourceEditingMode}),r}),this._isAllowedToHandleSourceEditingMode()&&(this.on("change:isSourceEditingMode",(e,t,i)=>{i?(this._showSourceEditing(),this._disableCommands()):(this._hideSourceEditing(),this._enableCommands())}),this.on("change:isEnabled",(e,t,i)=>this._handleReadOnlyMode(!i)),this.listenTo(e,"change:isReadOnly",(e,t,i)=>this._handleReadOnlyMode(i))),e.data.on("get",()=>{this.isSourceEditingMode&&this._updateEditorData()},{priority:"high"})}afterInit(){const e=this.editor;["RealTimeCollaborativeEditing","CommentsEditing","TrackChangesEditing","RevisionHistory"].some(t=>e.plugins.has(t))&&console.warn("You initialized the editor with the source editing feature and at least one of the collaboration features. Please be advised that the source editing feature may not work, and be careful when editing document source that contains markers created by the collaboration features."),e.plugins.has("RestrictedEditingModeEditing")&&console.warn("You initialized the editor with the source editing feature and restricted editing feature. Please be advised that the source editing feature may not work, and be careful when editing document source that contains markers created by the restricted editing feature.")}_showSourceEditing(){const e=this.editor,t=e.editing.view,i=e.model;i.change(e=>{e.setSelection(null),e.removeSelectionAttribute(i.document.selection.getAttributeKeys())});for(const[i,n]of t.domRoots){const o=c(e.data.get({rootName:i})),a=Object(r.createElement)(n.ownerDocument,"textarea",{rows:"1"}),s=Object(r.createElement)(n.ownerDocument,"div",{class:"ck-source-editing-area","data-value":o},[a]);a.value=o,a.setSelectionRange(0,0),a.addEventListener("input",()=>{s.dataset.value=a.value}),t.change(e=>{const n=t.document.getRoot(i);e.addClass("ck-hidden",n)}),this._replacedRoots.set(i,s),this._elementReplacer.replace(n,s),this._dataFromRoots.set(i,o)}this._focusSourceEditing()}_hideSourceEditing(){const e=this.editor.editing.view;this._updateEditorData(),e.change(t=>{for(const[i]of this._replacedRoots)t.removeClass("ck-hidden",e.document.getRoot(i))}),this._elementReplacer.restore(),this._replacedRoots.clear(),this._dataFromRoots.clear(),e.focus()}_updateEditorData(){const e=this.editor,t={};for(const[e,i]of this._replacedRoots){const n=this._dataFromRoots.get(e),o=i.dataset.value;n!==o&&(t[e]=o)}Object.keys(t).length&&e.data.set(t,{batchType:"default"})}_focusSourceEditing(){const[e]=this._replacedRoots.values();e.querySelector("textarea").focus()}_disableCommands(){const e=this.editor;for(const t of e.commands.commands())t.forceDisabled("SourceEditingMode")}_enableCommands(){const e=this.editor;for(const t of e.commands.commands())t.clearForceDisabled("SourceEditingMode")}_handleReadOnlyMode(e){if(this.isSourceEditingMode)for(const[,t]of this._replacedRoots)t.querySelector("textarea").readOnly=e}_isAllowedToHandleSourceEditingMode(){const e=this.editor.ui.view.editable;return e&&!e._hasExternalElement}}function c(e){return function(e){return e.startsWith("<")}(e)?a(e):e}}]);
\ No newline at end of file
+ */(()=>{var e={821:(e,t,i)=>{"use strict";i.d(t,{Z:()=>r});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck-source-editing-area{overflow:hidden;position:relative}.ck-source-editing-area textarea,.ck-source-editing-area:after{border:1px solid transparent;font-family:monospace;font-size:var(--ck-font-size-normal);line-height:var(--ck-line-height-base);margin:0;padding:var(--ck-spacing-large);white-space:pre-wrap}.ck-source-editing-area:after{content:attr(data-value) " ";display:block;visibility:hidden}.ck-source-editing-area textarea{border-color:var(--ck-color-base-border);border-radius:0;box-sizing:border-box;height:100%;outline:none;overflow:hidden;position:absolute;resize:none;width:100%}.ck-rounded-corners .ck-source-editing-area textarea,.ck-source-editing-area textarea.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck-source-editing-area textarea:not([readonly]):focus{border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}',""]);const r=o},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=e(t);return t[2]?"@media ".concat(t[2]," {").concat(i,"}"):i})).join("")},t.i=function(e,i,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(o[a]=!0)}for(var s=0;s<e.length;s++){var d=[].concat(e[s]);n&&o[d[0]]||(i&&(d[2]?d[2]="".concat(i," and ").concat(d[2]):d[2]=i),t.push(d))}},t}},62:(e,t,i)=>{"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},r=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),a=[];function s(e){for(var t=-1,i=0;i<a.length;i++)if(a[i].identifier===e){t=i;break}return t}function d(e,t){for(var i={},n=[],o=0;o<e.length;o++){var r=e[o],d=t.base?r[0]+t.base:r[0],c=i[d]||0,l="".concat(d," ").concat(c);i[d]=c+1;var u=s(l),h={css:r[1],media:r[2],sourceMap:r[3]};-1!==u?(a[u].references++,a[u].updater(h)):a.push({identifier:l,updater:p(h,t),references:1}),n.push(l)}return n}function c(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var o=i.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var a=r(e.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(t)}return t}var l,u=(l=[],function(e,t){return l[e]=t,l.filter(Boolean).join("\n")});function h(e,t,i,n){var o=i?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=u(t,o);else{var r=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(r,a[t]):e.appendChild(r)}}function m(e,t,i){var n=i.css,o=i.media,r=i.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),r&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var f=null,g=0;function p(e,t){var i,n,o;if(t.singleton){var r=g++;i=f||(f=c(t)),n=h.bind(null,i,r,!1),o=h.bind(null,i,r,!0)}else i=c(t),n=m.bind(null,i,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(i)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=o());var i=d(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<i.length;n++){var o=s(i[n]);a[o].references--}for(var r=d(e,t),c=0;c<i.length;c++){var l=s(i[c]);0===a[l].references&&(a[l].updater(),a.splice(l,1))}i=r}}}},704:(e,t,i)=>{e.exports=i(79)("./src/core.js")},273:(e,t,i)=>{e.exports=i(79)("./src/ui.js")},209:(e,t,i)=>{e.exports=i(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={id:n,exports:{}};return e[n](r,r.exports,i),r.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";i.r(n),i.d(n,{SourceEditing:()=>h});var e=i(704),t=i(273),o=i(209);function r(e){const t=[{name:"address",isVoid:!1},{name:"article",isVoid:!1},{name:"aside",isVoid:!1},{name:"blockquote",isVoid:!1},{name:"br",isVoid:!0},{name:"details",isVoid:!1},{name:"dialog",isVoid:!1},{name:"dd",isVoid:!1},{name:"div",isVoid:!1},{name:"dl",isVoid:!1},{name:"dt",isVoid:!1},{name:"fieldset",isVoid:!1},{name:"figcaption",isVoid:!1},{name:"figure",isVoid:!1},{name:"footer",isVoid:!1},{name:"form",isVoid:!1},{name:"h1",isVoid:!1},{name:"h2",isVoid:!1},{name:"h3",isVoid:!1},{name:"h4",isVoid:!1},{name:"h5",isVoid:!1},{name:"h6",isVoid:!1},{name:"header",isVoid:!1},{name:"hgroup",isVoid:!1},{name:"hr",isVoid:!0},{name:"input",isVoid:!0},{name:"li",isVoid:!1},{name:"main",isVoid:!1},{name:"nav",isVoid:!1},{name:"ol",isVoid:!1},{name:"p",isVoid:!1},{name:"section",isVoid:!1},{name:"table",isVoid:!1},{name:"tbody",isVoid:!1},{name:"td",isVoid:!1},{name:"textarea",isVoid:!1},{name:"th",isVoid:!1},{name:"thead",isVoid:!1},{name:"tr",isVoid:!1},{name:"ul",isVoid:!1}],i=t.map((e=>e.name)).join("|"),n=e.replace(new RegExp(`</?(${i})( .*?)?>`,"g"),"\n$&\n").split("\n");let o=0;return n.filter((e=>e.length)).map((e=>function(e,t){return t.some((t=>!t.isVoid&&!!new RegExp(`<${t.name}( .*?)?>`).test(e)))}(e,t)?a(e,o++):function(e,t){return t.some((t=>new RegExp(`</${t.name}>`).test(e)))}(e,t)?a(e,--o):a(e,o))).join("\n")}function a(e,t,i="    "){return`${i.repeat(t)}${e}`}var s=i(62),d=i.n(s),c=i(821),l={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};d()(c.Z,l);c.Z.locals;const u="SourceEditingMode";class h extends e.Plugin{static get pluginName(){return"SourceEditing"}static get requires(){return[e.PendingActions]}constructor(e){super(e),this.set("isSourceEditingMode",!1),this._elementReplacer=new o.ElementReplacer,this._replacedRoots=new Map,this._dataFromRoots=new Map}init(){const i=this.editor,n=i.t;i.ui.componentFactory.add("sourceEditing",(o=>{const r=new t.ButtonView(o);return r.set({label:n("Source"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m12.5 0 5 4.5v15.003h-16V0h11zM3 1.5v3.25l-1.497 1-.003 8 1.5 1v3.254L7.685 18l-.001 1.504H17.5V8.002L16 9.428l-.004-4.22-4.222-3.692L3 1.5z"/><path d="M4.06 6.64a.75.75 0 0 1 .958 1.15l-.085.07L2.29 9.75l2.646 1.89c.302.216.4.62.232.951l-.058.095a.75.75 0 0 1-.951.232l-.095-.058-3.5-2.5V9.14l3.496-2.5zm4.194 6.22a.75.75 0 0 1-.958-1.149l.085-.07 2.643-1.89-2.646-1.89a.75.75 0 0 1-.232-.952l.058-.095a.75.75 0 0 1 .95-.232l.096.058 3.5 2.5v1.22l-3.496 2.5zm7.644-.836 2.122 2.122-5.825 5.809-2.125-.005.003-2.116zm2.539-1.847 1.414 1.414a.5.5 0 0 1 0 .707l-1.06 1.06-2.122-2.12 1.061-1.061a.5.5 0 0 1 .707 0z"/></svg>',tooltip:!0,withText:!0,class:"ck-source-editing-button"}),r.bind("isOn").to(this,"isSourceEditingMode"),r.bind("isEnabled").to(this,"isEnabled",i,"isReadOnly",i.plugins.get(e.PendingActions),"hasAny",((e,t,i)=>!!e&&(!t&&!i))),this.listenTo(r,"execute",(()=>{this.isSourceEditingMode=!this.isSourceEditingMode})),r})),this._isAllowedToHandleSourceEditingMode()&&(this.on("change:isSourceEditingMode",((e,t,i)=>{i?(this._showSourceEditing(),this._disableCommands()):(this._hideSourceEditing(),this._enableCommands())})),this.on("change:isEnabled",((e,t,i)=>this._handleReadOnlyMode(!i))),this.listenTo(i,"change:isReadOnly",((e,t,i)=>this._handleReadOnlyMode(i)))),i.data.on("get",(()=>{this.isSourceEditingMode&&this._updateEditorData()}),{priority:"high"})}afterInit(){const e=this.editor;["RealTimeCollaborativeEditing","CommentsEditing","TrackChangesEditing","RevisionHistory"].some((t=>e.plugins.has(t)))&&console.warn("You initialized the editor with the source editing feature and at least one of the collaboration features. Please be advised that the source editing feature may not work, and be careful when editing document source that contains markers created by the collaboration features."),e.plugins.has("RestrictedEditingModeEditing")&&console.warn("You initialized the editor with the source editing feature and restricted editing feature. Please be advised that the source editing feature may not work, and be careful when editing document source that contains markers created by the restricted editing feature.")}_showSourceEditing(){const e=this.editor,t=e.editing.view,i=e.model;i.change((e=>{e.setSelection(null),e.removeSelectionAttribute(i.document.selection.getAttributeKeys())}));for(const[i,n]of t.domRoots){const r=m(e.data.get({rootName:i})),a=(0,o.createElement)(n.ownerDocument,"textarea",{rows:"1"}),s=(0,o.createElement)(n.ownerDocument,"div",{class:"ck-source-editing-area","data-value":r},[a]);a.value=r,a.setSelectionRange(0,0),a.addEventListener("input",(()=>{s.dataset.value=a.value})),t.change((e=>{const n=t.document.getRoot(i);e.addClass("ck-hidden",n)})),this._replacedRoots.set(i,s),this._elementReplacer.replace(n,s),this._dataFromRoots.set(i,r)}this._focusSourceEditing()}_hideSourceEditing(){const e=this.editor.editing.view;this._updateEditorData(),e.change((t=>{for(const[i]of this._replacedRoots)t.removeClass("ck-hidden",e.document.getRoot(i))})),this._elementReplacer.restore(),this._replacedRoots.clear(),this._dataFromRoots.clear(),e.focus()}_updateEditorData(){const e=this.editor,t={};for(const[e,i]of this._replacedRoots){const n=this._dataFromRoots.get(e),o=i.dataset.value;n!==o&&(t[e]=o)}Object.keys(t).length&&e.data.set(t,{batchType:{isUndoable:!0}})}_focusSourceEditing(){const[e]=this._replacedRoots.values();e.querySelector("textarea").focus()}_disableCommands(){const e=this.editor;for(const t of e.commands.commands())t.forceDisabled(u)}_enableCommands(){const e=this.editor;for(const t of e.commands.commands())t.clearForceDisabled(u)}_handleReadOnlyMode(e){if(this.isSourceEditingMode)for(const[,t]of this._replacedRoots)t.querySelector("textarea").readOnly=e}_isAllowedToHandleSourceEditingMode(){const e=this.editor.ui.view.editable;return e&&!e._hasExternalElement}}function m(e){return function(e){return e.startsWith("<")}(e)?r(e):e}})(),(window.CKEditor5=window.CKEditor5||{}).sourceEditing=n})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/source-editing/translations/cs.js b/web/core/assets/vendor/ckeditor5/source-editing/translations/cs.js
new file mode 100644
index 0000000000..f8843486e8
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/source-editing/translations/cs.js
@@ -0,0 +1 @@
+!function(c){const i=c.cs=c.cs||{};i.dictionary=Object.assign(i.dictionary||{},{Source:"Zdroj"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/source-editing/translations/el.js b/web/core/assets/vendor/ckeditor5/source-editing/translations/el.js
new file mode 100644
index 0000000000..7b366fd06d
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/source-editing/translations/el.js
@@ -0,0 +1 @@
+!function(i){const n=i.el=i.el||{};n.dictionary=Object.assign(n.dictionary||{},{Source:"Κώδικας"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/source-editing/translations/en-au.js b/web/core/assets/vendor/ckeditor5/source-editing/translations/en-au.js
new file mode 100644
index 0000000000..372eeba2a9
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/source-editing/translations/en-au.js
@@ -0,0 +1 @@
+!function(n){const i=n["en-au"]=n["en-au"]||{};i.dictionary=Object.assign(i.dictionary||{},{Source:"Source"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/source-editing/translations/es.js b/web/core/assets/vendor/ckeditor5/source-editing/translations/es.js
new file mode 100644
index 0000000000..eb0c834525
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/source-editing/translations/es.js
@@ -0,0 +1 @@
+!function(i){const n=i.es=i.es||{};n.dictionary=Object.assign(n.dictionary||{},{Source:"Origen"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/source-editing/translations/hr.js b/web/core/assets/vendor/ckeditor5/source-editing/translations/hr.js
new file mode 100644
index 0000000000..58eaf1e1df
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/source-editing/translations/hr.js
@@ -0,0 +1 @@
+!function(i){const n=i.hr=i.hr||{};n.dictionary=Object.assign(n.dictionary||{},{Source:"Izvorni kod"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/source-editing/translations/id.js b/web/core/assets/vendor/ckeditor5/source-editing/translations/id.js
new file mode 100644
index 0000000000..10874d0b4d
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/source-editing/translations/id.js
@@ -0,0 +1 @@
+!function(i){const n=i.id=i.id||{};n.dictionary=Object.assign(n.dictionary||{},{Source:"Sumber"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/source-editing/translations/pt-br.js b/web/core/assets/vendor/ckeditor5/source-editing/translations/pt-br.js
new file mode 100644
index 0000000000..195d803080
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/source-editing/translations/pt-br.js
@@ -0,0 +1 @@
+!function(i){const n=i["pt-br"]=i["pt-br"]||{};n.dictionary=Object.assign(n.dictionary||{},{Source:"Código-Fonte"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/source-editing/translations/sk.js b/web/core/assets/vendor/ckeditor5/source-editing/translations/sk.js
new file mode 100644
index 0000000000..de6e5297c9
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/source-editing/translations/sk.js
@@ -0,0 +1 @@
+!function(i){const n=i.sk=i.sk||{};n.dictionary=Object.assign(n.dictionary||{},{Source:"Zdroj"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/special-characters/special-characters.js b/web/core/assets/vendor/ckeditor5/special-characters/special-characters.js
index 3e2e3cab77..256569060a 100644
--- a/web/core/assets/vendor/ckeditor5/special-characters/special-characters.js
+++ b/web/core/assets/vendor/ckeditor5/special-characters/special-characters.js
@@ -1,5 +1,5 @@
+!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Almost equal to":"Almost equal to",Angle:"Angle","Approximately equal to":"Approximately equal to","Asterisk operator":"Asterisk operator","Austral sign":"Austral sign","back with leftwards arrow above":"back with leftwards arrow above","Bitcoin sign":"Bitcoin sign","Cedi sign":"Cedi sign","Cent sign":"Cent sign","Character categories":"Character categories","Colon sign":"Colon sign","Contains as member":"Contains as member","Copyright sign":"Copyright sign","Cruzeiro sign":"Cruzeiro sign","Currency sign":"Currency sign","Degree sign":"Degree sign","Division sign":"Division sign","Dollar sign":"Dollar sign","Dong sign":"Dong sign","Double dagger":"Double dagger","Double exclamation mark":"Double exclamation mark","Double low-9 quotation mark":"Double low-9 quotation mark","Double question mark":"Double question mark","downwards arrow to bar":"downwards arrow to bar","downwards dashed arrow":"downwards dashed arrow","downwards double arrow":"downwards double arrow","Drachma sign":"Drachma sign","Element of":"Element of","Em dash":"Em dash","Empty set":"Empty set","En dash":"En dash","end with leftwards arrow above":"end with leftwards arrow above","Euro sign":"Euro sign","Euro-currency sign":"Euro-currency sign","Exclamation question mark":"Exclamation question mark","For all":"For all","Fraction slash":"Fraction slash","French franc sign":"French franc sign","German penny sign":"German penny sign","Greater-than or equal to":"Greater-than or equal to","Greater-than sign":"Greater-than sign","Guarani sign":"Guarani sign","Horizontal ellipsis":"Horizontal ellipsis","Hryvnia sign":"Hryvnia sign","Identical to":"Identical to","Indian rupee sign":"Indian rupee sign",Infinity:"Infinity",Integral:"Integral",Intersection:"Intersection","Inverted exclamation mark":"Inverted exclamation mark","Inverted question mark":"Inverted question mark","Kip sign":"Kip sign","Latin capital letter a with breve":"Latin capital letter a with breve","Latin capital letter a with macron":"Latin capital letter a with macron","Latin capital letter a with ogonek":"Latin capital letter a with ogonek","Latin capital letter c with acute":"Latin capital letter c with acute","Latin capital letter c with caron":"Latin capital letter c with caron","Latin capital letter c with circumflex":"Latin capital letter c with circumflex","Latin capital letter c with dot above":"Latin capital letter c with dot above","Latin capital letter d with caron":"Latin capital letter d with caron","Latin capital letter d with stroke":"Latin capital letter d with stroke","Latin capital letter e with breve":"Latin capital letter e with breve","Latin capital letter e with caron":"Latin capital letter e with caron","Latin capital letter e with dot above":"Latin capital letter e with dot above","Latin capital letter e with macron":"Latin capital letter e with macron","Latin capital letter e with ogonek":"Latin capital letter e with ogonek","Latin capital letter eng":"Latin capital letter eng","Latin capital letter g with breve":"Latin capital letter g with breve","Latin capital letter g with cedilla":"Latin capital letter g with cedilla","Latin capital letter g with circumflex":"Latin capital letter g with circumflex","Latin capital letter g with dot above":"Latin capital letter g with dot above","Latin capital letter h with circumflex":"Latin capital letter h with circumflex","Latin capital letter h with stroke":"Latin capital letter h with stroke","Latin capital letter i with breve":"Latin capital letter i with breve","Latin capital letter i with dot above":"Latin capital letter i with dot above","Latin capital letter i with macron":"Latin capital letter i with macron","Latin capital letter i with ogonek":"Latin capital letter i with ogonek","Latin capital letter i with tilde":"Latin capital letter i with tilde","Latin capital letter j with circumflex":"Latin capital letter j with circumflex","Latin capital letter k with cedilla":"Latin capital letter k with cedilla","Latin capital letter l with acute":"Latin capital letter l with acute","Latin capital letter l with caron":"Latin capital letter l with caron","Latin capital letter l with cedilla":"Latin capital letter l with cedilla","Latin capital letter l with middle dot":"Latin capital letter l with middle dot","Latin capital letter l with stroke":"Latin capital letter l with stroke","Latin capital letter n with acute":"Latin capital letter n with acute","Latin capital letter n with caron":"Latin capital letter n with caron","Latin capital letter n with cedilla":"Latin capital letter n with cedilla","Latin capital letter o with breve":"Latin capital letter o with breve","Latin capital letter o with double acute":"Latin capital letter o with double acute","Latin capital letter o with macron":"Latin capital letter o with macron","Latin capital letter r with acute":"Latin capital letter r with acute","Latin capital letter r with caron":"Latin capital letter r with caron","Latin capital letter r with cedilla":"Latin capital letter r with cedilla","Latin capital letter s with acute":"Latin capital letter s with acute","Latin capital letter s with caron":"Latin capital letter s with caron","Latin capital letter s with cedilla":"Latin capital letter s with cedilla","Latin capital letter s with circumflex":"Latin capital letter s with circumflex","Latin capital letter t with caron":"Latin capital letter t with caron","Latin capital letter t with cedilla":"Latin capital letter t with cedilla","Latin capital letter t with stroke":"Latin capital letter t with stroke","Latin capital letter u with breve":"Latin capital letter u with breve","Latin capital letter u with double acute":"Latin capital letter u with double acute","Latin capital letter u with macron":"Latin capital letter u with macron","Latin capital letter u with ogonek":"Latin capital letter u with ogonek","Latin capital letter u with ring above":"Latin capital letter u with ring above","Latin capital letter u with tilde":"Latin capital letter u with tilde","Latin capital letter w with circumflex":"Latin capital letter w with circumflex","Latin capital letter y with circumflex":"Latin capital letter y with circumflex","Latin capital letter y with diaeresis":"Latin capital letter y with diaeresis","Latin capital letter z with acute":"Latin capital letter z with acute","Latin capital letter z with caron":"Latin capital letter z with caron","Latin capital letter z with dot above":"Latin capital letter z with dot above","Latin capital ligature ij":"Latin capital ligature ij","Latin capital ligature oe":"Latin capital ligature oe","Latin small letter a with breve":"Latin small letter a with breve","Latin small letter a with macron":"Latin small letter a with macron","Latin small letter a with ogonek":"Latin small letter a with ogonek","Latin small letter c with acute":"Latin small letter c with acute","Latin small letter c with caron":"Latin small letter c with caron","Latin small letter c with circumflex":"Latin small letter c with circumflex","Latin small letter c with dot above":"Latin small letter c with dot above","Latin small letter d with caron":"Latin small letter d with caron","Latin small letter d with stroke":"Latin small letter d with stroke","Latin small letter dotless i":"Latin small letter dotless i","Latin small letter e with breve":"Latin small letter e with breve","Latin small letter e with caron":"Latin small letter e with caron","Latin small letter e with dot above":"Latin small letter e with dot above","Latin small letter e with macron":"Latin small letter e with macron","Latin small letter e with ogonek":"Latin small letter e with ogonek","Latin small letter eng":"Latin small letter eng","Latin small letter f with hook":"Latin small letter f with hook","Latin small letter g with breve":"Latin small letter g with breve","Latin small letter g with cedilla":"Latin small letter g with cedilla","Latin small letter g with circumflex":"Latin small letter g with circumflex","Latin small letter g with dot above":"Latin small letter g with dot above","Latin small letter h with circumflex":"Latin small letter h with circumflex","Latin small letter h with stroke":"Latin small letter h with stroke","Latin small letter i with breve":"Latin small letter i with breve","Latin small letter i with macron":"Latin small letter i with macron","Latin small letter i with ogonek":"Latin small letter i with ogonek","Latin small letter i with tilde":"Latin small letter i with tilde","Latin small letter j with circumflex":"Latin small letter j with circumflex","Latin small letter k with cedilla":"Latin small letter k with cedilla","Latin small letter kra":"Latin small letter kra","Latin small letter l with acute":"Latin small letter l with acute","Latin small letter l with caron":"Latin small letter l with caron","Latin small letter l with cedilla":"Latin small letter l with cedilla","Latin small letter l with middle dot":"Latin small letter l with middle dot","Latin small letter l with stroke":"Latin small letter l with stroke","Latin small letter long s":"Latin small letter long s","Latin small letter n preceded by apostrophe":"Latin small letter n preceded by apostrophe","Latin small letter n with acute":"Latin small letter n with acute","Latin small letter n with caron":"Latin small letter n with caron","Latin small letter n with cedilla":"Latin small letter n with cedilla","Latin small letter o with breve":"Latin small letter o with breve","Latin small letter o with double acute":"Latin small letter o with double acute","Latin small letter o with macron":"Latin small letter o with macron","Latin small letter r with acute":"Latin small letter r with acute","Latin small letter r with caron":"Latin small letter r with caron","Latin small letter r with cedilla":"Latin small letter r with cedilla","Latin small letter s with acute":"Latin small letter s with acute","Latin small letter s with caron":"Latin small letter s with caron","Latin small letter s with cedilla":"Latin small letter s with cedilla","Latin small letter s with circumflex":"Latin small letter s with circumflex","Latin small letter t with caron":"Latin small letter t with caron","Latin small letter t with cedilla":"Latin small letter t with cedilla","Latin small letter t with stroke":"Latin small letter t with stroke","Latin small letter u with breve":"Latin small letter u with breve","Latin small letter u with double acute":"Latin small letter u with double acute","Latin small letter u with macron":"Latin small letter u with macron","Latin small letter u with ogonek":"Latin small letter u with ogonek","Latin small letter u with ring above":"Latin small letter u with ring above","Latin small letter u with tilde":"Latin small letter u with tilde","Latin small letter w with circumflex":"Latin small letter w with circumflex","Latin small letter y with circumflex":"Latin small letter y with circumflex","Latin small letter z with acute":"Latin small letter z with acute","Latin small letter z with caron":"Latin small letter z with caron","Latin small letter z with dot above":"Latin small letter z with dot above","Latin small ligature ij":"Latin small ligature ij","Latin small ligature oe":"Latin small ligature oe","Left double quotation mark":"Left double quotation mark","Left single quotation mark":"Left single quotation mark","Left-pointing double angle quotation mark":"Left-pointing double angle quotation mark","leftwards arrow to bar":"leftwards arrow to bar","leftwards dashed arrow":"leftwards dashed arrow","leftwards double arrow":"leftwards double arrow","Less-than or equal to":"Less-than or equal to","Less-than sign":"Less-than sign","Lira sign":"Lira sign","Livre tournois sign":"Livre tournois sign","Logical and":"Logical and","Logical or":"Logical or",Macron:"Macron","Manat sign":"Manat sign","Mill sign":"Mill sign","Minus sign":"Minus sign","Multiplication sign":"Multiplication sign","N-ary product":"N-ary product","N-ary summation":"N-ary summation",Nabla:"Nabla","Naira sign":"Naira sign","New sheqel sign":"New sheqel sign","Nordic mark sign":"Nordic mark sign","Not an element of":"Not an element of","Not equal to":"Not equal to","Not sign":"Not sign","on with exclamation mark with left right arrow above":"on with exclamation mark with left right arrow above",Overline:"Overline","Paragraph sign":"Paragraph sign","Partial differential":"Partial differential","Per mille sign":"Per mille sign","Per ten thousand sign":"Per ten thousand sign","Peseta sign":"Peseta sign","Peso sign":"Peso sign","Plus-minus sign":"Plus-minus sign","Pound sign":"Pound sign","Proportional to":"Proportional to","Question exclamation mark":"Question exclamation mark","Registered sign":"Registered sign","Reversed paragraph sign":"Reversed paragraph sign","Right double quotation mark":"Right double quotation mark","Right single quotation mark":"Right single quotation mark","Right-pointing double angle quotation mark":"Right-pointing double angle quotation mark","rightwards arrow to bar":"rightwards arrow to bar","rightwards dashed arrow":"rightwards dashed arrow","rightwards double arrow":"rightwards double arrow","Ruble sign":"Ruble sign","Rupee sign":"Rupee sign","Section sign":"Section sign","Single left-pointing angle quotation mark":"Single left-pointing angle quotation mark","Single low-9 quotation mark":"Single low-9 quotation mark","Single right-pointing angle quotation mark":"Single right-pointing angle quotation mark","soon with rightwards arrow above":"soon with rightwards arrow above","Special characters":"Special characters","Spesmilo sign":"Spesmilo sign","Square root":"Square root","Tenge sign":"Tenge sign","There exists":"There exists","Tilde operator":"Tilde operator","top with upwards arrow above":"top with upwards arrow above","Trade mark sign":"Trade mark sign","Tugrik sign":"Tugrik sign","Turkish lira sign":"Turkish lira sign","Two dot leader":"Two dot leader",Union:"Union","up down arrow with base":"up down arrow with base","upwards arrow to bar":"upwards arrow to bar","upwards dashed arrow":"upwards dashed arrow","upwards double arrow":"upwards double arrow","Vulgar fraction one half":"Vulgar fraction one half","Vulgar fraction one quarter":"Vulgar fraction one quarter","Vulgar fraction three quarters":"Vulgar fraction three quarters","Won sign":"Won sign","Yen sign":"Yen sign"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"Almost equal to":"Almost equal to",Angle:"Angle","Approximately equal to":"Approximately equal to","Asterisk operator":"Asterisk operator","Austral sign":"Austral sign","back with leftwards arrow above":"back with leftwards arrow above","Bitcoin sign":"Bitcoin sign","Cedi sign":"Cedi sign","Cent sign":"Cent sign","Character categories":"Character categories","Colon sign":"Colon sign","Contains as member":"Contains as member","Copyright sign":"Copyright sign","Cruzeiro sign":"Cruzeiro sign","Currency sign":"Currency sign","Degree sign":"Degree sign","Division sign":"Division sign","Dollar sign":"Dollar sign","Dong sign":"Dong sign","Double dagger":"Double dagger","Double exclamation mark":"Double exclamation mark","Double low-9 quotation mark":"Double low-9 quotation mark","Double question mark":"Double question mark","downwards arrow to bar":"downwards arrow to bar","downwards dashed arrow":"downwards dashed arrow","downwards double arrow":"downwards double arrow","Drachma sign":"Drachma sign","Element of":"Element of","Em dash":"Em dash","Empty set":"Empty set","En dash":"En dash","end with leftwards arrow above":"end with leftwards arrow above","Euro sign":"Euro sign","Euro-currency sign":"Euro-currency sign","Exclamation question mark":"Exclamation question mark","For all":"For all","Fraction slash":"Fraction slash","French franc sign":"French franc sign","German penny sign":"German penny sign","Greater-than or equal to":"Greater-than or equal to","Greater-than sign":"Greater-than sign","Guarani sign":"Guarani sign","Horizontal ellipsis":"Horizontal ellipsis","Hryvnia sign":"Hryvnia sign","Identical to":"Identical to","Indian rupee sign":"Indian rupee sign",Infinity:"Infinity",Integral:"Integral",Intersection:"Intersection","Inverted exclamation mark":"Inverted exclamation mark","Inverted question mark":"Inverted question mark","Kip sign":"Kip sign","Latin capital letter a with breve":"Latin capital letter a with breve","Latin capital letter a with macron":"Latin capital letter a with macron","Latin capital letter a with ogonek":"Latin capital letter a with ogonek","Latin capital letter c with acute":"Latin capital letter c with acute","Latin capital letter c with caron":"Latin capital letter c with caron","Latin capital letter c with circumflex":"Latin capital letter c with circumflex","Latin capital letter c with dot above":"Latin capital letter c with dot above","Latin capital letter d with caron":"Latin capital letter d with caron","Latin capital letter d with stroke":"Latin capital letter d with stroke","Latin capital letter e with breve":"Latin capital letter e with breve","Latin capital letter e with caron":"Latin capital letter e with caron","Latin capital letter e with dot above":"Latin capital letter e with dot above","Latin capital letter e with macron":"Latin capital letter e with macron","Latin capital letter e with ogonek":"Latin capital letter e with ogonek","Latin capital letter eng":"Latin capital letter eng","Latin capital letter g with breve":"Latin capital letter g with breve","Latin capital letter g with cedilla":"Latin capital letter g with cedilla","Latin capital letter g with circumflex":"Latin capital letter g with circumflex","Latin capital letter g with dot above":"Latin capital letter g with dot above","Latin capital letter h with circumflex":"Latin capital letter h with circumflex","Latin capital letter h with stroke":"Latin capital letter h with stroke","Latin capital letter i with breve":"Latin capital letter i with breve","Latin capital letter i with dot above":"Latin capital letter i with dot above","Latin capital letter i with macron":"Latin capital letter i with macron","Latin capital letter i with ogonek":"Latin capital letter i with ogonek","Latin capital letter i with tilde":"Latin capital letter i with tilde","Latin capital letter j with circumflex":"Latin capital letter j with circumflex","Latin capital letter k with cedilla":"Latin capital letter k with cedilla","Latin capital letter l with acute":"Latin capital letter l with acute","Latin capital letter l with caron":"Latin capital letter l with caron","Latin capital letter l with cedilla":"Latin capital letter l with cedilla","Latin capital letter l with middle dot":"Latin capital letter l with middle dot","Latin capital letter l with stroke":"Latin capital letter l with stroke","Latin capital letter n with acute":"Latin capital letter n with acute","Latin capital letter n with caron":"Latin capital letter n with caron","Latin capital letter n with cedilla":"Latin capital letter n with cedilla","Latin capital letter o with breve":"Latin capital letter o with breve","Latin capital letter o with double acute":"Latin capital letter o with double acute","Latin capital letter o with macron":"Latin capital letter o with macron","Latin capital letter r with acute":"Latin capital letter r with acute","Latin capital letter r with caron":"Latin capital letter r with caron","Latin capital letter r with cedilla":"Latin capital letter r with cedilla","Latin capital letter s with acute":"Latin capital letter s with acute","Latin capital letter s with caron":"Latin capital letter s with caron","Latin capital letter s with cedilla":"Latin capital letter s with cedilla","Latin capital letter s with circumflex":"Latin capital letter s with circumflex","Latin capital letter t with caron":"Latin capital letter t with caron","Latin capital letter t with cedilla":"Latin capital letter t with cedilla","Latin capital letter t with stroke":"Latin capital letter t with stroke","Latin capital letter u with breve":"Latin capital letter u with breve","Latin capital letter u with double acute":"Latin capital letter u with double acute","Latin capital letter u with macron":"Latin capital letter u with macron","Latin capital letter u with ogonek":"Latin capital letter u with ogonek","Latin capital letter u with ring above":"Latin capital letter u with ring above","Latin capital letter u with tilde":"Latin capital letter u with tilde","Latin capital letter w with circumflex":"Latin capital letter w with circumflex","Latin capital letter y with circumflex":"Latin capital letter y with circumflex","Latin capital letter y with diaeresis":"Latin capital letter y with diaeresis","Latin capital letter z with acute":"Latin capital letter z with acute","Latin capital letter z with caron":"Latin capital letter z with caron","Latin capital letter z with dot above":"Latin capital letter z with dot above","Latin capital ligature ij":"Latin capital ligature ij","Latin capital ligature oe":"Latin capital ligature oe","Latin small letter a with breve":"Latin small letter a with breve","Latin small letter a with macron":"Latin small letter a with macron","Latin small letter a with ogonek":"Latin small letter a with ogonek","Latin small letter c with acute":"Latin small letter c with acute","Latin small letter c with caron":"Latin small letter c with caron","Latin small letter c with circumflex":"Latin small letter c with circumflex","Latin small letter c with dot above":"Latin small letter c with dot above","Latin small letter d with caron":"Latin small letter d with caron","Latin small letter d with stroke":"Latin small letter d with stroke","Latin small letter dotless i":"Latin small letter dotless i","Latin small letter e with breve":"Latin small letter e with breve","Latin small letter e with caron":"Latin small letter e with caron","Latin small letter e with dot above":"Latin small letter e with dot above","Latin small letter e with macron":"Latin small letter e with macron","Latin small letter e with ogonek":"Latin small letter e with ogonek","Latin small letter eng":"Latin small letter eng","Latin small letter f with hook":"Latin small letter f with hook","Latin small letter g with breve":"Latin small letter g with breve","Latin small letter g with cedilla":"Latin small letter g with cedilla","Latin small letter g with circumflex":"Latin small letter g with circumflex","Latin small letter g with dot above":"Latin small letter g with dot above","Latin small letter h with circumflex":"Latin small letter h with circumflex","Latin small letter h with stroke":"Latin small letter h with stroke","Latin small letter i with breve":"Latin small letter i with breve","Latin small letter i with macron":"Latin small letter i with macron","Latin small letter i with ogonek":"Latin small letter i with ogonek","Latin small letter i with tilde":"Latin small letter i with tilde","Latin small letter j with circumflex":"Latin small letter j with circumflex","Latin small letter k with cedilla":"Latin small letter k with cedilla","Latin small letter kra":"Latin small letter kra","Latin small letter l with acute":"Latin small letter l with acute","Latin small letter l with caron":"Latin small letter l with caron","Latin small letter l with cedilla":"Latin small letter l with cedilla","Latin small letter l with middle dot":"Latin small letter l with middle dot","Latin small letter l with stroke":"Latin small letter l with stroke","Latin small letter long s":"Latin small letter long s","Latin small letter n preceded by apostrophe":"Latin small letter n preceded by apostrophe","Latin small letter n with acute":"Latin small letter n with acute","Latin small letter n with caron":"Latin small letter n with caron","Latin small letter n with cedilla":"Latin small letter n with cedilla","Latin small letter o with breve":"Latin small letter o with breve","Latin small letter o with double acute":"Latin small letter o with double acute","Latin small letter o with macron":"Latin small letter o with macron","Latin small letter r with acute":"Latin small letter r with acute","Latin small letter r with caron":"Latin small letter r with caron","Latin small letter r with cedilla":"Latin small letter r with cedilla","Latin small letter s with acute":"Latin small letter s with acute","Latin small letter s with caron":"Latin small letter s with caron","Latin small letter s with cedilla":"Latin small letter s with cedilla","Latin small letter s with circumflex":"Latin small letter s with circumflex","Latin small letter t with caron":"Latin small letter t with caron","Latin small letter t with cedilla":"Latin small letter t with cedilla","Latin small letter t with stroke":"Latin small letter t with stroke","Latin small letter u with breve":"Latin small letter u with breve","Latin small letter u with double acute":"Latin small letter u with double acute","Latin small letter u with macron":"Latin small letter u with macron","Latin small letter u with ogonek":"Latin small letter u with ogonek","Latin small letter u with ring above":"Latin small letter u with ring above","Latin small letter u with tilde":"Latin small letter u with tilde","Latin small letter w with circumflex":"Latin small letter w with circumflex","Latin small letter y with circumflex":"Latin small letter y with circumflex","Latin small letter z with acute":"Latin small letter z with acute","Latin small letter z with caron":"Latin small letter z with caron","Latin small letter z with dot above":"Latin small letter z with dot above","Latin small ligature ij":"Latin small ligature ij","Latin small ligature oe":"Latin small ligature oe","Left double quotation mark":"Left double quotation mark","Left single quotation mark":"Left single quotation mark","Left-pointing double angle quotation mark":"Left-pointing double angle quotation mark","leftwards arrow to bar":"leftwards arrow to bar","leftwards dashed arrow":"leftwards dashed arrow","leftwards double arrow":"leftwards double arrow","Less-than or equal to":"Less-than or equal to","Less-than sign":"Less-than sign","Lira sign":"Lira sign","Livre tournois sign":"Livre tournois sign","Logical and":"Logical and","Logical or":"Logical or",Macron:"Macron","Manat sign":"Manat sign","Mill sign":"Mill sign","Minus sign":"Minus sign","Multiplication sign":"Multiplication sign","N-ary product":"N-ary product","N-ary summation":"N-ary summation",Nabla:"Nabla","Naira sign":"Naira sign","New sheqel sign":"New sheqel sign","Nordic mark sign":"Nordic mark sign","Not an element of":"Not an element of","Not equal to":"Not equal to","Not sign":"Not sign","on with exclamation mark with left right arrow above":"on with exclamation mark with left right arrow above",Overline:"Overline","Paragraph sign":"Paragraph sign","Partial differential":"Partial differential","Per mille sign":"Per mille sign","Per ten thousand sign":"Per ten thousand sign","Peseta sign":"Peseta sign","Peso sign":"Peso sign","Plus-minus sign":"Plus-minus sign","Pound sign":"Pound sign","Proportional to":"Proportional to","Question exclamation mark":"Question exclamation mark","Registered sign":"Registered sign","Reversed paragraph sign":"Reversed paragraph sign","Right double quotation mark":"Right double quotation mark","Right single quotation mark":"Right single quotation mark","Right-pointing double angle quotation mark":"Right-pointing double angle quotation mark","rightwards arrow to bar":"rightwards arrow to bar","rightwards dashed arrow":"rightwards dashed arrow","rightwards double arrow":"rightwards double arrow","Ruble sign":"Ruble sign","Rupee sign":"Rupee sign","Section sign":"Section sign","Single left-pointing angle quotation mark":"Single left-pointing angle quotation mark","Single low-9 quotation mark":"Single low-9 quotation mark","Single right-pointing angle quotation mark":"Single right-pointing angle quotation mark","soon with rightwards arrow above":"soon with rightwards arrow above","Special characters":"Special characters","Spesmilo sign":"Spesmilo sign","Square root":"Square root","Tenge sign":"Tenge sign","There exists":"There exists","Tilde operator":"Tilde operator","top with upwards arrow above":"top with upwards arrow above","Trade mark sign":"Trade mark sign","Tugrik sign":"Tugrik sign","Turkish lira sign":"Turkish lira sign","Two dot leader":"Two dot leader",Union:"Union","up down arrow with base":"up down arrow with base","upwards arrow to bar":"upwards arrow to bar","upwards dashed arrow":"upwards dashed arrow","upwards double arrow":"upwards double arrow","Vulgar fraction one half":"Vulgar fraction one half","Vulgar fraction one quarter":"Vulgar fraction one quarter","Vulgar fraction three quarters":"Vulgar fraction three quarters","Won sign":"Won sign","Yen sign":"Yen sign"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.specialCharacters=function(t){var e={};function a(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,a),r.l=!0,r.exports}return a.m=t,a.c=e,a.d=function(t,e,i){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(t,e){if(1&e&&(t=a(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)a.d(i,r,function(e){return t[e]}.bind(null,r));return i},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="",a(a.s=12)}([function(t,e,a){t.exports=a(2)("./src/core.js")},function(t,e,a){t.exports=a(2)("./src/ui.js")},function(t,e){t.exports=CKEditor5.dll},function(t,e,a){t.exports=a(2)("./src/utils.js")},function(t,e,a){"use strict";var i,r=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},l=function(){var t={};return function(e){if(void 0===t[e]){var a=document.querySelector(e);if(window.HTMLIFrameElement&&a instanceof window.HTMLIFrameElement)try{a=a.contentDocument.head}catch(t){a=null}t[e]=a}return t[e]}}(),c=[];function n(t){for(var e=-1,a=0;a<c.length;a++)if(c[a].identifier===t){e=a;break}return e}function o(t,e){for(var a={},i=[],r=0;r<t.length;r++){var l=t[r],o=e.base?l[0]+e.base:l[0],s=a[o]||0,h="".concat(o," ").concat(s);a[o]=s+1;var u=n(h),w={css:l[1],media:l[2],sourceMap:l[3]};-1!==u?(c[u].references++,c[u].updater(w)):c.push({identifier:h,updater:p(w,e),references:1}),i.push(h)}return i}function s(t){var e=document.createElement("style"),i=t.attributes||{};if(void 0===i.nonce){var r=a.nc;r&&(i.nonce=r)}if(Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])})),"function"==typeof t.insert)t.insert(e);else{var c=l(t.insert||"head");if(!c)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");c.appendChild(e)}return e}var h,u=(h=[],function(t,e){return h[t]=e,h.filter(Boolean).join("\n")});function w(t,e,a,i){var r=a?"":i.media?"@media ".concat(i.media," {").concat(i.css,"}"):i.css;if(t.styleSheet)t.styleSheet.cssText=u(e,r);else{var l=document.createTextNode(r),c=t.childNodes;c[e]&&t.removeChild(c[e]),c.length?t.insertBefore(l,c[e]):t.appendChild(l)}}function d(t,e,a){var i=a.css,r=a.media,l=a.sourceMap;if(r?t.setAttribute("media",r):t.removeAttribute("media"),l&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(l))))," */")),t.styleSheet)t.styleSheet.cssText=i;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(i))}}var g=null,m=0;function p(t,e){var a,i,r;if(e.singleton){var l=m++;a=g||(g=s(e)),i=w.bind(null,a,l,!1),r=w.bind(null,a,l,!0)}else a=s(e),i=d.bind(null,a,e),r=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(a)};return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else r()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=r());var a=o(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var i=0;i<a.length;i++){var r=n(a[i]);c[r].references--}for(var l=o(t,e),s=0;s<a.length;s++){var h=n(a[s]);0===c[h].references&&(c[h].updater(),c.splice(h,1))}a=l}}}},function(t,e,a){t.exports=a(2)("./src/typing.js")},function(t,e,a){var i=a(4),r=a(7);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[t.i,r,""]]);var l={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(r,l);t.exports=r.locals||{}},function(t,e){t.exports=".ck.ck-character-grid{max-width:100%}.ck.ck-character-grid .ck-character-grid__tiles{display:grid}:root{--ck-character-grid-tile-size:24px}.ck.ck-character-grid{overflow-y:auto;overflow-x:hidden;width:350px;max-height:200px}.ck.ck-character-grid .ck-character-grid__tiles{grid-template-columns:repeat(auto-fit,minmax(var(--ck-character-grid-tile-size),1fr));margin:var(--ck-spacing-standard) var(--ck-spacing-large);grid-gap:var(--ck-spacing-standard)}.ck.ck-character-grid .ck-character-grid__tile{width:var(--ck-character-grid-tile-size);height:var(--ck-character-grid-tile-size);min-width:var(--ck-character-grid-tile-size);min-height:var(--ck-character-grid-tile-size);font-size:1.2em;padding:0;transition:box-shadow .2s ease;border:0}.ck.ck-character-grid .ck-character-grid__tile:focus:not(.ck-disabled),.ck.ck-character-grid .ck-character-grid__tile:hover:not(.ck-disabled){border:0;box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-character-grid .ck-character-grid__tile .ck-button__label{line-height:var(--ck-character-grid-tile-size);width:100%;text-align:center}"},function(t,e,a){var i=a(4),r=a(9);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[t.i,r,""]]);var l={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(r,l);t.exports=r.locals||{}},function(t,e){t.exports=".ck.ck-character-info{display:flex;justify-content:space-between;padding:var(--ck-spacing-small) var(--ck-spacing-large);border-top:1px solid var(--ck-color-base-border)}.ck.ck-character-info>*{text-transform:uppercase;font-size:var(--ck-font-size-small)}.ck.ck-character-info .ck-character-info__name{max-width:280px;text-overflow:ellipsis;overflow:hidden}.ck.ck-character-info .ck-character-info__code{opacity:.6}"},function(t,e,a){var i=a(4),r=a(11);"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[t.i,r,""]]);var l={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i(r,l);t.exports=r.locals||{}},function(t,e){t.exports=".ck.ck-special-characters-navigation>.ck-label{max-width:160px;text-overflow:ellipsis;overflow:hidden}.ck.ck-special-characters-navigation>.ck-dropdown .ck-dropdown__panel{max-height:250px;overflow-y:auto;overflow-x:hidden}"},function(t,e,a){"use strict";a.r(e),a.d(e,"SpecialCharacters",(function(){return u})),a.d(e,"SpecialCharactersArrows",(function(){return w})),a.d(e,"SpecialCharactersText",(function(){return d})),a.d(e,"SpecialCharactersMathematical",(function(){return g})),a.d(e,"SpecialCharactersLatin",(function(){return m})),a.d(e,"SpecialCharactersEssentials",(function(){return L})),a.d(e,"SpecialCharactersCurrency",(function(){return p}));var i=a(0),r=a(5),l=a(1),c=a(3);class n extends l.FormHeaderView{constructor(t,e){super(t);const a=t.t;this.set("class","ck-special-characters-navigation"),this.groupDropdownView=this._createGroupDropdown(e),this.groupDropdownView.panelPosition="rtl"===t.uiLanguageDirection?"se":"sw",this.label=a("Special characters"),this.children.add(this.groupDropdownView)}get currentGroupName(){return this.groupDropdownView.value}_createGroupDropdown(t){const e=this.locale,a=e.t,i=Object(l.createDropdown)(e),r=this._getCharacterGroupListItemDefinitions(i,t);return i.set("value",r.first.model.label),i.buttonView.bind("label").to(i,"value"),i.buttonView.set({isOn:!1,withText:!0,tooltip:a("Character categories"),class:["ck-dropdown__button_label-width_auto"]}),i.on("execute",t=>{i.value=t.source.label}),i.delegate("execute").to(this),Object(l.addListToDropdown)(i,r),i}_getCharacterGroupListItemDefinitions(t,e){const a=new c.Collection;for(const i of e){const e={type:"button",model:new l.Model({label:i,withText:!0})};e.model.bind("isOn").to(t,"value",t=>t===e.model.label),a.add(e)}return a}}a(6);class o extends l.View{constructor(t){super(t),this.tiles=this.createCollection(),this.setTemplate({tag:"div",children:[{tag:"div",attributes:{class:["ck","ck-character-grid__tiles"]},children:this.tiles}],attributes:{class:["ck","ck-character-grid"]}})}createTile(t,e){const a=new l.ButtonView(this.locale);return a.set({label:t,withText:!0,class:"ck-character-grid__tile"}),a.extendTemplate({attributes:{title:e},on:{mouseover:a.bindTemplate.to("mouseover")}}),a.on("mouseover",()=>{this.fire("tileHover",{name:e,character:t})}),a.on("execute",()=>{this.fire("execute",{name:e,character:t})}),a}}a(8);class s extends l.View{constructor(t){super(t);const e=this.bindTemplate;this.set("character",null),this.set("name",null),this.bind("code").to(this,"character",h),this.setTemplate({tag:"div",children:[{tag:"span",attributes:{class:["ck-character-info__name"]},children:[{text:e.to("name",t=>t||"​")}]},{tag:"span",attributes:{class:["ck-character-info__code"]},children:[{text:e.to("code")}]}],attributes:{class:["ck","ck-character-info"]}})}}function h(t){if(null===t)return"";return"U+"+("0000"+t.codePointAt(0).toString(16)).slice(-4)}a(10);class u extends i.Plugin{static get requires(){return[r.Typing]}static get pluginName(){return"SpecialCharacters"}constructor(t){super(t),this._characters=new Map,this._groups=new Map}init(){const t=this.editor,e=t.t,a=t.commands.get("input");t.ui.componentFactory.add("specialCharacters",i=>{const r=Object(l.createDropdown)(i);let c;return r.buttonView.set({label:e("Special characters"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10 2.5a7.47 7.47 0 0 1 4.231 1.31 7.268 7.268 0 0 1 2.703 3.454 7.128 7.128 0 0 1 .199 4.353c-.39 1.436-1.475 2.72-2.633 3.677h2.013c0-.226.092-.443.254-.603a.876.876 0 0 1 1.229 0c.163.16.254.377.254.603v.853c0 .209-.078.41-.22.567a.873.873 0 0 1-.547.28l-.101.006h-4.695a.517.517 0 0 1-.516-.518v-1.265c0-.21.128-.398.317-.489a5.601 5.601 0 0 0 2.492-2.371 5.459 5.459 0 0 0 .552-3.693 5.53 5.53 0 0 0-1.955-3.2A5.71 5.71 0 0 0 10 4.206 5.708 5.708 0 0 0 6.419 5.46 5.527 5.527 0 0 0 4.46 8.663a5.457 5.457 0 0 0 .554 3.695 5.6 5.6 0 0 0 2.497 2.37.55.55 0 0 1 .317.49v1.264c0 .286-.23.518-.516.518H2.618a.877.877 0 0 1-.614-.25.845.845 0 0 1-.254-.603v-.853c0-.226.091-.443.254-.603a.876.876 0 0 1 1.228 0c.163.16.255.377.255.603h1.925c-1.158-.958-2.155-2.241-2.545-3.678a7.128 7.128 0 0 1 .199-4.352 7.268 7.268 0 0 1 2.703-3.455A7.475 7.475 0 0 1 10 2.5z"/></svg>',tooltip:!0}),r.bind("isEnabled").to(a),r.on("execute",(e,a)=>{t.execute("input",{text:a.character}),t.editing.view.focus()}),r.on("change:isOpen",()=>{c||(c=this._createDropdownPanelContent(i,r),r.panelView.children.add(c.navigationView),r.panelView.children.add(c.gridView),r.panelView.children.add(c.infoView)),c.infoView.set({character:null,name:null})}),r})}addItems(t,e){if("All"===t)throw new c.CKEditorError('special-character-invalid-group-name: The name "All" is reserved and cannot be used.');const a=this._getGroup(t);for(const t of e)a.add(t.title),this._characters.set(t.title,t.character)}getGroups(){return this._groups.keys()}getCharactersForGroup(t){return"All"===t?new Set(this._characters.keys()):this._groups.get(t)}getCharacter(t){return this._characters.get(t)}_getGroup(t){return this._groups.has(t)||this._groups.set(t,new Set),this._groups.get(t)}_updateGrid(t,e){e.tiles.clear();const a=this.getCharactersForGroup(t);for(const t of a){const a=this.getCharacter(t);e.tiles.add(e.createTile(a,t))}}_createDropdownPanelContent(t,e){const a=[...this.getGroups()];a.unshift("All");const i=new n(t,a),r=new o(t),l=new s(t);return r.delegate("execute").to(e),r.on("tileHover",(t,e)=>{l.set(e)}),i.on("execute",()=>{this._updateGrid(i.currentGroupName,r)}),this._updateGrid(i.currentGroupName,r),{navigationView:i,gridView:r,infoView:l}}}class w extends i.Plugin{static get pluginName(){return"SpecialCharactersArrows"}init(){const t=this.editor,e=t.t;t.plugins.get("SpecialCharacters").addItems("Arrows",[{title:e("leftwards double arrow"),character:"⇐"},{title:e("rightwards double arrow"),character:"⇒"},{title:e("upwards double arrow"),character:"⇑"},{title:e("downwards double arrow"),character:"⇓"},{title:e("leftwards dashed arrow"),character:"⇠"},{title:e("rightwards dashed arrow"),character:"⇢"},{title:e("upwards dashed arrow"),character:"⇡"},{title:e("downwards dashed arrow"),character:"⇣"},{title:e("leftwards arrow to bar"),character:"⇤"},{title:e("rightwards arrow to bar"),character:"⇥"},{title:e("upwards arrow to bar"),character:"⤒"},{title:e("downwards arrow to bar"),character:"⤓"},{title:e("up down arrow with base"),character:"↨"},{title:e("back with leftwards arrow above"),character:"🔙"},{title:e("end with leftwards arrow above"),character:"🔚"},{title:e("on with exclamation mark with left right arrow above"),character:"🔛"},{title:e("soon with rightwards arrow above"),character:"🔜"},{title:e("top with upwards arrow above"),character:"🔝"}])}}class d extends i.Plugin{static get pluginName(){return"SpecialCharactersText"}init(){const t=this.editor,e=t.t;t.plugins.get("SpecialCharacters").addItems("Text",[{character:"‹",title:e("Single left-pointing angle quotation mark")},{character:"›",title:e("Single right-pointing angle quotation mark")},{character:"«",title:e("Left-pointing double angle quotation mark")},{character:"»",title:e("Right-pointing double angle quotation mark")},{character:"‘",title:e("Left single quotation mark")},{character:"’",title:e("Right single quotation mark")},{character:"“",title:e("Left double quotation mark")},{character:"”",title:e("Right double quotation mark")},{character:"‚",title:e("Single low-9 quotation mark")},{character:"„",title:e("Double low-9 quotation mark")},{character:"¡",title:e("Inverted exclamation mark")},{character:"¿",title:e("Inverted question mark")},{character:"‥",title:e("Two dot leader")},{character:"…",title:e("Horizontal ellipsis")},{character:"‡",title:e("Double dagger")},{character:"‰",title:e("Per mille sign")},{character:"‱",title:e("Per ten thousand sign")},{character:"‼",title:e("Double exclamation mark")},{character:"⁈",title:e("Question exclamation mark")},{character:"⁉",title:e("Exclamation question mark")},{character:"⁇",title:e("Double question mark")},{character:"©",title:e("Copyright sign")},{character:"®",title:e("Registered sign")},{character:"™",title:e("Trade mark sign")},{character:"§",title:e("Section sign")},{character:"¶",title:e("Paragraph sign")},{character:"⁋",title:e("Reversed paragraph sign")}])}}class g extends i.Plugin{static get pluginName(){return"SpecialCharactersMathematical"}init(){const t=this.editor,e=t.t;t.plugins.get("SpecialCharacters").addItems("Mathematical",[{character:"<",title:e("Less-than sign")},{character:">",title:e("Greater-than sign")},{character:"≤",title:e("Less-than or equal to")},{character:"≥",title:e("Greater-than or equal to")},{character:"–",title:e("En dash")},{character:"—",title:e("Em dash")},{character:"¯",title:e("Macron")},{character:"‾",title:e("Overline")},{character:"°",title:e("Degree sign")},{character:"−",title:e("Minus sign")},{character:"±",title:e("Plus-minus sign")},{character:"÷",title:e("Division sign")},{character:"⁄",title:e("Fraction slash")},{character:"×",title:e("Multiplication sign")},{character:"ƒ",title:e("Latin small letter f with hook")},{character:"∫",title:e("Integral")},{character:"∑",title:e("N-ary summation")},{character:"∞",title:e("Infinity")},{character:"√",title:e("Square root")},{character:"∼",title:e("Tilde operator")},{character:"≅",title:e("Approximately equal to")},{character:"≈",title:e("Almost equal to")},{character:"≠",title:e("Not equal to")},{character:"≡",title:e("Identical to")},{character:"∈",title:e("Element of")},{character:"∉",title:e("Not an element of")},{character:"∋",title:e("Contains as member")},{character:"∏",title:e("N-ary product")},{character:"∧",title:e("Logical and")},{character:"∨",title:e("Logical or")},{character:"¬",title:e("Not sign")},{character:"∩",title:e("Intersection")},{character:"∪",title:e("Union")},{character:"∂",title:e("Partial differential")},{character:"∀",title:e("For all")},{character:"∃",title:e("There exists")},{character:"∅",title:e("Empty set")},{character:"∇",title:e("Nabla")},{character:"∗",title:e("Asterisk operator")},{character:"∝",title:e("Proportional to")},{character:"∠",title:e("Angle")},{character:"¼",title:e("Vulgar fraction one quarter")},{character:"½",title:e("Vulgar fraction one half")},{character:"¾",title:e("Vulgar fraction three quarters")}])}}class m extends i.Plugin{static get pluginName(){return"SpecialCharactersLatin"}init(){const t=this.editor,e=t.t;t.plugins.get("SpecialCharacters").addItems("Latin",[{character:"Ā",title:e("Latin capital letter a with macron")},{character:"ā",title:e("Latin small letter a with macron")},{character:"Ă",title:e("Latin capital letter a with breve")},{character:"ă",title:e("Latin small letter a with breve")},{character:"Ą",title:e("Latin capital letter a with ogonek")},{character:"ą",title:e("Latin small letter a with ogonek")},{character:"Ć",title:e("Latin capital letter c with acute")},{character:"ć",title:e("Latin small letter c with acute")},{character:"Ĉ",title:e("Latin capital letter c with circumflex")},{character:"ĉ",title:e("Latin small letter c with circumflex")},{character:"Ċ",title:e("Latin capital letter c with dot above")},{character:"ċ",title:e("Latin small letter c with dot above")},{character:"Č",title:e("Latin capital letter c with caron")},{character:"č",title:e("Latin small letter c with caron")},{character:"Ď",title:e("Latin capital letter d with caron")},{character:"ď",title:e("Latin small letter d with caron")},{character:"Đ",title:e("Latin capital letter d with stroke")},{character:"đ",title:e("Latin small letter d with stroke")},{character:"Ē",title:e("Latin capital letter e with macron")},{character:"ē",title:e("Latin small letter e with macron")},{character:"Ĕ",title:e("Latin capital letter e with breve")},{character:"ĕ",title:e("Latin small letter e with breve")},{character:"Ė",title:e("Latin capital letter e with dot above")},{character:"ė",title:e("Latin small letter e with dot above")},{character:"Ę",title:e("Latin capital letter e with ogonek")},{character:"ę",title:e("Latin small letter e with ogonek")},{character:"Ě",title:e("Latin capital letter e with caron")},{character:"ě",title:e("Latin small letter e with caron")},{character:"Ĝ",title:e("Latin capital letter g with circumflex")},{character:"ĝ",title:e("Latin small letter g with circumflex")},{character:"Ğ",title:e("Latin capital letter g with breve")},{character:"ğ",title:e("Latin small letter g with breve")},{character:"Ġ",title:e("Latin capital letter g with dot above")},{character:"ġ",title:e("Latin small letter g with dot above")},{character:"Ģ",title:e("Latin capital letter g with cedilla")},{character:"ģ",title:e("Latin small letter g with cedilla")},{character:"Ĥ",title:e("Latin capital letter h with circumflex")},{character:"ĥ",title:e("Latin small letter h with circumflex")},{character:"Ħ",title:e("Latin capital letter h with stroke")},{character:"ħ",title:e("Latin small letter h with stroke")},{character:"Ĩ",title:e("Latin capital letter i with tilde")},{character:"ĩ",title:e("Latin small letter i with tilde")},{character:"Ī",title:e("Latin capital letter i with macron")},{character:"ī",title:e("Latin small letter i with macron")},{character:"Ĭ",title:e("Latin capital letter i with breve")},{character:"ĭ",title:e("Latin small letter i with breve")},{character:"Į",title:e("Latin capital letter i with ogonek")},{character:"į",title:e("Latin small letter i with ogonek")},{character:"İ",title:e("Latin capital letter i with dot above")},{character:"ı",title:e("Latin small letter dotless i")},{character:"IJ",title:e("Latin capital ligature ij")},{character:"ij",title:e("Latin small ligature ij")},{character:"Ĵ",title:e("Latin capital letter j with circumflex")},{character:"ĵ",title:e("Latin small letter j with circumflex")},{character:"Ķ",title:e("Latin capital letter k with cedilla")},{character:"ķ",title:e("Latin small letter k with cedilla")},{character:"ĸ",title:e("Latin small letter kra")},{character:"Ĺ",title:e("Latin capital letter l with acute")},{character:"ĺ",title:e("Latin small letter l with acute")},{character:"Ļ",title:e("Latin capital letter l with cedilla")},{character:"ļ",title:e("Latin small letter l with cedilla")},{character:"Ľ",title:e("Latin capital letter l with caron")},{character:"ľ",title:e("Latin small letter l with caron")},{character:"Ŀ",title:e("Latin capital letter l with middle dot")},{character:"ŀ",title:e("Latin small letter l with middle dot")},{character:"Ł",title:e("Latin capital letter l with stroke")},{character:"ł",title:e("Latin small letter l with stroke")},{character:"Ń",title:e("Latin capital letter n with acute")},{character:"ń",title:e("Latin small letter n with acute")},{character:"Ņ",title:e("Latin capital letter n with cedilla")},{character:"ņ",title:e("Latin small letter n with cedilla")},{character:"Ň",title:e("Latin capital letter n with caron")},{character:"ň",title:e("Latin small letter n with caron")},{character:"ʼn",title:e("Latin small letter n preceded by apostrophe")},{character:"Ŋ",title:e("Latin capital letter eng")},{character:"ŋ",title:e("Latin small letter eng")},{character:"Ō",title:e("Latin capital letter o with macron")},{character:"ō",title:e("Latin small letter o with macron")},{character:"Ŏ",title:e("Latin capital letter o with breve")},{character:"ŏ",title:e("Latin small letter o with breve")},{character:"Ő",title:e("Latin capital letter o with double acute")},{character:"ő",title:e("Latin small letter o with double acute")},{character:"Œ",title:e("Latin capital ligature oe")},{character:"œ",title:e("Latin small ligature oe")},{character:"Ŕ",title:e("Latin capital letter r with acute")},{character:"ŕ",title:e("Latin small letter r with acute")},{character:"Ŗ",title:e("Latin capital letter r with cedilla")},{character:"ŗ",title:e("Latin small letter r with cedilla")},{character:"Ř",title:e("Latin capital letter r with caron")},{character:"ř",title:e("Latin small letter r with caron")},{character:"Ś",title:e("Latin capital letter s with acute")},{character:"ś",title:e("Latin small letter s with acute")},{character:"Ŝ",title:e("Latin capital letter s with circumflex")},{character:"ŝ",title:e("Latin small letter s with circumflex")},{character:"Ş",title:e("Latin capital letter s with cedilla")},{character:"ş",title:e("Latin small letter s with cedilla")},{character:"Š",title:e("Latin capital letter s with caron")},{character:"š",title:e("Latin small letter s with caron")},{character:"Ţ",title:e("Latin capital letter t with cedilla")},{character:"ţ",title:e("Latin small letter t with cedilla")},{character:"Ť",title:e("Latin capital letter t with caron")},{character:"ť",title:e("Latin small letter t with caron")},{character:"Ŧ",title:e("Latin capital letter t with stroke")},{character:"ŧ",title:e("Latin small letter t with stroke")},{character:"Ũ",title:e("Latin capital letter u with tilde")},{character:"ũ",title:e("Latin small letter u with tilde")},{character:"Ū",title:e("Latin capital letter u with macron")},{character:"ū",title:e("Latin small letter u with macron")},{character:"Ŭ",title:e("Latin capital letter u with breve")},{character:"ŭ",title:e("Latin small letter u with breve")},{character:"Ů",title:e("Latin capital letter u with ring above")},{character:"ů",title:e("Latin small letter u with ring above")},{character:"Ű",title:e("Latin capital letter u with double acute")},{character:"ű",title:e("Latin small letter u with double acute")},{character:"Ų",title:e("Latin capital letter u with ogonek")},{character:"ų",title:e("Latin small letter u with ogonek")},{character:"Ŵ",title:e("Latin capital letter w with circumflex")},{character:"ŵ",title:e("Latin small letter w with circumflex")},{character:"Ŷ",title:e("Latin capital letter y with circumflex")},{character:"ŷ",title:e("Latin small letter y with circumflex")},{character:"Ÿ",title:e("Latin capital letter y with diaeresis")},{character:"Ź",title:e("Latin capital letter z with acute")},{character:"ź",title:e("Latin small letter z with acute")},{character:"Ż",title:e("Latin capital letter z with dot above")},{character:"ż",title:e("Latin small letter z with dot above")},{character:"Ž",title:e("Latin capital letter z with caron")},{character:"ž",title:e("Latin small letter z with caron")},{character:"ſ",title:e("Latin small letter long s")}])}}class p extends i.Plugin{static get pluginName(){return"SpecialCharactersCurrency"}init(){const t=this.editor,e=t.t;t.plugins.get("SpecialCharacters").addItems("Currency",[{character:"$",title:e("Dollar sign")},{character:"€",title:e("Euro sign")},{character:"¥",title:e("Yen sign")},{character:"£",title:e("Pound sign")},{character:"¢",title:e("Cent sign")},{character:"₠",title:e("Euro-currency sign")},{character:"₡",title:e("Colon sign")},{character:"₢",title:e("Cruzeiro sign")},{character:"₣",title:e("French franc sign")},{character:"₤",title:e("Lira sign")},{character:"¤",title:e("Currency sign")},{character:"₿",title:e("Bitcoin sign")},{character:"₥",title:e("Mill sign")},{character:"₦",title:e("Naira sign")},{character:"₧",title:e("Peseta sign")},{character:"₨",title:e("Rupee sign")},{character:"₩",title:e("Won sign")},{character:"₪",title:e("New sheqel sign")},{character:"₫",title:e("Dong sign")},{character:"₭",title:e("Kip sign")},{character:"₮",title:e("Tugrik sign")},{character:"₯",title:e("Drachma sign")},{character:"₰",title:e("German penny sign")},{character:"₱",title:e("Peso sign")},{character:"₲",title:e("Guarani sign")},{character:"₳",title:e("Austral sign")},{character:"₴",title:e("Hryvnia sign")},{character:"₵",title:e("Cedi sign")},{character:"₶",title:e("Livre tournois sign")},{character:"₷",title:e("Spesmilo sign")},{character:"₸",title:e("Tenge sign")},{character:"₹",title:e("Indian rupee sign")},{character:"₺",title:e("Turkish lira sign")},{character:"₻",title:e("Nordic mark sign")},{character:"₼",title:e("Manat sign")},{character:"₽",title:e("Ruble sign")}])}}class L extends i.Plugin{static get requires(){return[p,d,g,w,m]}}}]);
\ No newline at end of file
+ */(()=>{var t={395:(t,e,a)=>{"use strict";a.d(e,{Z:()=>l});var i=a(609),r=a.n(i)()((function(t){return t[1]}));r.push([t.id,".ck.ck-character-grid{max-width:100%}.ck.ck-character-grid .ck-character-grid__tiles{display:grid}:root{--ck-character-grid-tile-size:24px}.ck.ck-character-grid{max-height:200px;overflow-x:hidden;overflow-y:auto;width:350px}.ck.ck-character-grid .ck-character-grid__tiles{grid-gap:var(--ck-spacing-standard);grid-template-columns:repeat(auto-fit,minmax(var(--ck-character-grid-tile-size),1fr));margin:var(--ck-spacing-standard) var(--ck-spacing-large)}.ck.ck-character-grid .ck-character-grid__tile{border:0;font-size:1.2em;height:var(--ck-character-grid-tile-size);min-height:var(--ck-character-grid-tile-size);min-width:var(--ck-character-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-character-grid-tile-size)}.ck.ck-character-grid .ck-character-grid__tile:focus:not(.ck-disabled),.ck.ck-character-grid .ck-character-grid__tile:hover:not(.ck-disabled){border:0;box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-character-grid .ck-character-grid__tile .ck-button__label{line-height:var(--ck-character-grid-tile-size);text-align:center;width:100%}",""]);const l=r},198:(t,e,a)=>{"use strict";a.d(e,{Z:()=>l});var i=a(609),r=a.n(i)()((function(t){return t[1]}));r.push([t.id,".ck.ck-character-info{border-top:1px solid var(--ck-color-base-border);display:flex;justify-content:space-between;padding:var(--ck-spacing-small) var(--ck-spacing-large)}.ck.ck-character-info>*{font-size:var(--ck-font-size-small);text-transform:uppercase}.ck.ck-character-info .ck-character-info__name{max-width:280px;overflow:hidden;text-overflow:ellipsis}.ck.ck-character-info .ck-character-info__code{opacity:.6}",""]);const l=r},454:(t,e,a)=>{"use strict";a.d(e,{Z:()=>l});var i=a(609),r=a.n(i)()((function(t){return t[1]}));r.push([t.id,".ck.ck-special-characters-navigation>.ck-label{max-width:160px;overflow:hidden;text-overflow:ellipsis}.ck.ck-special-characters-navigation>.ck-dropdown .ck-dropdown__panel{max-height:250px;overflow-x:hidden;overflow-y:auto}",""]);const l=r},609:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var a=t(e);return e[2]?"@media ".concat(e[2]," {").concat(a,"}"):a})).join("")},e.i=function(t,a,i){"string"==typeof t&&(t=[[null,t,""]]);var r={};if(i)for(var l=0;l<this.length;l++){var c=this[l][0];null!=c&&(r[c]=!0)}for(var n=0;n<t.length;n++){var o=[].concat(t[n]);i&&r[o[0]]||(a&&(o[2]?o[2]="".concat(a," and ").concat(o[2]):o[2]=a),e.push(o))}},e}},62:(t,e,a)=>{"use strict";var i,r=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},l=function(){var t={};return function(e){if(void 0===t[e]){var a=document.querySelector(e);if(window.HTMLIFrameElement&&a instanceof window.HTMLIFrameElement)try{a=a.contentDocument.head}catch(t){a=null}t[e]=a}return t[e]}}(),c=[];function n(t){for(var e=-1,a=0;a<c.length;a++)if(c[a].identifier===t){e=a;break}return e}function o(t,e){for(var a={},i=[],r=0;r<t.length;r++){var l=t[r],o=e.base?l[0]+e.base:l[0],s=a[o]||0,h="".concat(o," ").concat(s);a[o]=s+1;var w=n(h),d={css:l[1],media:l[2],sourceMap:l[3]};-1!==w?(c[w].references++,c[w].updater(d)):c.push({identifier:h,updater:p(d,e),references:1}),i.push(h)}return i}function s(t){var e=document.createElement("style"),i=t.attributes||{};if(void 0===i.nonce){var r=a.nc;r&&(i.nonce=r)}if(Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])})),"function"==typeof t.insert)t.insert(e);else{var c=l(t.insert||"head");if(!c)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");c.appendChild(e)}return e}var h,w=(h=[],function(t,e){return h[t]=e,h.filter(Boolean).join("\n")});function d(t,e,a,i){var r=a?"":i.media?"@media ".concat(i.media," {").concat(i.css,"}"):i.css;if(t.styleSheet)t.styleSheet.cssText=w(e,r);else{var l=document.createTextNode(r),c=t.childNodes;c[e]&&t.removeChild(c[e]),c.length?t.insertBefore(l,c[e]):t.appendChild(l)}}function u(t,e,a){var i=a.css,r=a.media,l=a.sourceMap;if(r?t.setAttribute("media",r):t.removeAttribute("media"),l&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(l))))," */")),t.styleSheet)t.styleSheet.cssText=i;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(i))}}var g=null,m=0;function p(t,e){var a,i,r;if(e.singleton){var l=m++;a=g||(g=s(e)),i=d.bind(null,a,l,!1),r=d.bind(null,a,l,!0)}else a=s(e),i=u.bind(null,a,e),r=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(a)};return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else r()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=r());var a=o(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var i=0;i<a.length;i++){var r=n(a[i]);c[r].references--}for(var l=o(t,e),s=0;s<a.length;s++){var h=n(a[s]);0===c[h].references&&(c[h].updater(),c.splice(h,1))}a=l}}}},704:(t,e,a)=>{t.exports=a(79)("./src/core.js")},181:(t,e,a)=>{t.exports=a(79)("./src/typing.js")},273:(t,e,a)=>{t.exports=a(79)("./src/ui.js")},209:(t,e,a)=>{t.exports=a(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function a(i){var r=e[i];if(void 0!==r)return r.exports;var l=e[i]={id:i,exports:{}};return t[i](l,l.exports,a),l.exports}a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var i in e)a.o(e,i)&&!a.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),a.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};(()=>{"use strict";a.r(i),a.d(i,{SpecialCharacters:()=>f,SpecialCharactersArrows:()=>v,SpecialCharactersCurrency:()=>C,SpecialCharactersEssentials:()=>q,SpecialCharactersLatin:()=>y,SpecialCharactersMathematical:()=>x,SpecialCharactersText:()=>k});var t=a(704),e=a(181),r=a(273),l=a(209);class c extends r.FormHeaderView{constructor(t,e){super(t);const a=t.t;this.set("class","ck-special-characters-navigation"),this.groupDropdownView=this._createGroupDropdown(e),this.groupDropdownView.panelPosition="rtl"===t.uiLanguageDirection?"se":"sw",this.label=a("Special characters"),this.children.add(this.groupDropdownView)}get currentGroupName(){return this.groupDropdownView.value}_createGroupDropdown(t){const e=this.locale,a=e.t,i=(0,r.createDropdown)(e),l=this._getCharacterGroupListItemDefinitions(i,t);return i.set("value",l.first.model.label),i.buttonView.bind("label").to(i,"value"),i.buttonView.set({isOn:!1,withText:!0,tooltip:a("Character categories"),class:["ck-dropdown__button_label-width_auto"]}),i.on("execute",(t=>{i.value=t.source.label})),i.delegate("execute").to(this),(0,r.addListToDropdown)(i,l),i}_getCharacterGroupListItemDefinitions(t,e){const a=new l.Collection;for(const i of e){const e={type:"button",model:new r.Model({label:i,withText:!0})};e.model.bind("isOn").to(t,"value",(t=>t===e.model.label)),a.add(e)}return a}}var n=a(62),o=a.n(n),s=a(395),h={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};o()(s.Z,h);s.Z.locals;class w extends r.View{constructor(t){super(t),this.tiles=this.createCollection(),this.setTemplate({tag:"div",children:[{tag:"div",attributes:{class:["ck","ck-character-grid__tiles"]},children:this.tiles}],attributes:{class:["ck","ck-character-grid"]}})}createTile(t,e){const a=new r.ButtonView(this.locale);return a.set({label:t,withText:!0,class:"ck-character-grid__tile"}),a.extendTemplate({attributes:{title:e},on:{mouseover:a.bindTemplate.to("mouseover")}}),a.on("mouseover",(()=>{this.fire("tileHover",{name:e,character:t})})),a.on("execute",(()=>{this.fire("execute",{name:e,character:t})})),a}}var d=a(198),u={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};o()(d.Z,u);d.Z.locals;class g extends r.View{constructor(t){super(t);const e=this.bindTemplate;this.set("character",null),this.set("name",null),this.bind("code").to(this,"character",m),this.setTemplate({tag:"div",children:[{tag:"span",attributes:{class:["ck-character-info__name"]},children:[{text:e.to("name",(t=>t||"​"))}]},{tag:"span",attributes:{class:["ck-character-info__code"]},children:[{text:e.to("code")}]}],attributes:{class:["ck","ck-character-info"]}})}}function m(t){if(null===t)return"";return"U+"+("0000"+t.codePointAt(0).toString(16)).slice(-4)}var p=a(454),L={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};o()(p.Z,L);p.Z.locals;const b="All";class f extends t.Plugin{static get requires(){return[e.Typing]}static get pluginName(){return"SpecialCharacters"}constructor(t){super(t),this._characters=new Map,this._groups=new Map}init(){const t=this.editor,e=t.t,a=t.commands.get("input");t.ui.componentFactory.add("specialCharacters",(i=>{const l=(0,r.createDropdown)(i);let c;return l.buttonView.set({label:e("Special characters"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10 2.5a7.47 7.47 0 0 1 4.231 1.31 7.268 7.268 0 0 1 2.703 3.454 7.128 7.128 0 0 1 .199 4.353c-.39 1.436-1.475 2.72-2.633 3.677h2.013c0-.226.092-.443.254-.603a.876.876 0 0 1 1.229 0c.163.16.254.377.254.603v.853c0 .209-.078.41-.22.567a.873.873 0 0 1-.547.28l-.101.006h-4.695a.517.517 0 0 1-.516-.518v-1.265c0-.21.128-.398.317-.489a5.601 5.601 0 0 0 2.492-2.371 5.459 5.459 0 0 0 .552-3.693 5.53 5.53 0 0 0-1.955-3.2A5.71 5.71 0 0 0 10 4.206 5.708 5.708 0 0 0 6.419 5.46 5.527 5.527 0 0 0 4.46 8.663a5.457 5.457 0 0 0 .554 3.695 5.6 5.6 0 0 0 2.497 2.37.55.55 0 0 1 .317.49v1.264c0 .286-.23.518-.516.518H2.618a.877.877 0 0 1-.614-.25.845.845 0 0 1-.254-.603v-.853c0-.226.091-.443.254-.603a.876.876 0 0 1 1.228 0c.163.16.255.377.255.603h1.925c-1.158-.958-2.155-2.241-2.545-3.678a7.128 7.128 0 0 1 .199-4.352 7.268 7.268 0 0 1 2.703-3.455A7.475 7.475 0 0 1 10 2.5z"/></svg>',tooltip:!0}),l.bind("isEnabled").to(a),l.on("execute",((e,a)=>{t.execute("input",{text:a.character}),t.editing.view.focus()})),l.on("change:isOpen",(()=>{c||(c=this._createDropdownPanelContent(i,l),l.panelView.children.add(c.navigationView),l.panelView.children.add(c.gridView),l.panelView.children.add(c.infoView)),c.infoView.set({character:null,name:null})})),l}))}addItems(t,e){if(t===b)throw new l.CKEditorError('special-character-invalid-group-name: The name "All" is reserved and cannot be used.');const a=this._getGroup(t);for(const t of e)a.add(t.title),this._characters.set(t.title,t.character)}getGroups(){return this._groups.keys()}getCharactersForGroup(t){return t===b?new Set(this._characters.keys()):this._groups.get(t)}getCharacter(t){return this._characters.get(t)}_getGroup(t){return this._groups.has(t)||this._groups.set(t,new Set),this._groups.get(t)}_updateGrid(t,e){e.tiles.clear();const a=this.getCharactersForGroup(t);for(const t of a){const a=this.getCharacter(t);e.tiles.add(e.createTile(a,t))}}_createDropdownPanelContent(t,e){const a=[...this.getGroups()];a.unshift(b);const i=new c(t,a),r=new w(t),l=new g(t);return r.delegate("execute").to(e),r.on("tileHover",((t,e)=>{l.set(e)})),i.on("execute",(()=>{this._updateGrid(i.currentGroupName,r)})),this._updateGrid(i.currentGroupName,r),{navigationView:i,gridView:r,infoView:l}}}class v extends t.Plugin{static get pluginName(){return"SpecialCharactersArrows"}init(){const t=this.editor,e=t.t;t.plugins.get("SpecialCharacters").addItems("Arrows",[{title:e("leftwards double arrow"),character:"⇐"},{title:e("rightwards double arrow"),character:"⇒"},{title:e("upwards double arrow"),character:"⇑"},{title:e("downwards double arrow"),character:"⇓"},{title:e("leftwards dashed arrow"),character:"⇠"},{title:e("rightwards dashed arrow"),character:"⇢"},{title:e("upwards dashed arrow"),character:"⇡"},{title:e("downwards dashed arrow"),character:"⇣"},{title:e("leftwards arrow to bar"),character:"⇤"},{title:e("rightwards arrow to bar"),character:"⇥"},{title:e("upwards arrow to bar"),character:"⤒"},{title:e("downwards arrow to bar"),character:"⤓"},{title:e("up down arrow with base"),character:"↨"},{title:e("back with leftwards arrow above"),character:"🔙"},{title:e("end with leftwards arrow above"),character:"🔚"},{title:e("on with exclamation mark with left right arrow above"),character:"🔛"},{title:e("soon with rightwards arrow above"),character:"🔜"},{title:e("top with upwards arrow above"),character:"🔝"}])}}class k extends t.Plugin{static get pluginName(){return"SpecialCharactersText"}init(){const t=this.editor,e=t.t;t.plugins.get("SpecialCharacters").addItems("Text",[{character:"‹",title:e("Single left-pointing angle quotation mark")},{character:"›",title:e("Single right-pointing angle quotation mark")},{character:"«",title:e("Left-pointing double angle quotation mark")},{character:"»",title:e("Right-pointing double angle quotation mark")},{character:"‘",title:e("Left single quotation mark")},{character:"’",title:e("Right single quotation mark")},{character:"“",title:e("Left double quotation mark")},{character:"”",title:e("Right double quotation mark")},{character:"‚",title:e("Single low-9 quotation mark")},{character:"„",title:e("Double low-9 quotation mark")},{character:"¡",title:e("Inverted exclamation mark")},{character:"¿",title:e("Inverted question mark")},{character:"‥",title:e("Two dot leader")},{character:"…",title:e("Horizontal ellipsis")},{character:"‡",title:e("Double dagger")},{character:"‰",title:e("Per mille sign")},{character:"‱",title:e("Per ten thousand sign")},{character:"‼",title:e("Double exclamation mark")},{character:"⁈",title:e("Question exclamation mark")},{character:"⁉",title:e("Exclamation question mark")},{character:"⁇",title:e("Double question mark")},{character:"©",title:e("Copyright sign")},{character:"®",title:e("Registered sign")},{character:"™",title:e("Trade mark sign")},{character:"§",title:e("Section sign")},{character:"¶",title:e("Paragraph sign")},{character:"⁋",title:e("Reversed paragraph sign")}])}}class x extends t.Plugin{static get pluginName(){return"SpecialCharactersMathematical"}init(){const t=this.editor,e=t.t;t.plugins.get("SpecialCharacters").addItems("Mathematical",[{character:"<",title:e("Less-than sign")},{character:">",title:e("Greater-than sign")},{character:"≤",title:e("Less-than or equal to")},{character:"≥",title:e("Greater-than or equal to")},{character:"–",title:e("En dash")},{character:"—",title:e("Em dash")},{character:"¯",title:e("Macron")},{character:"‾",title:e("Overline")},{character:"°",title:e("Degree sign")},{character:"−",title:e("Minus sign")},{character:"±",title:e("Plus-minus sign")},{character:"÷",title:e("Division sign")},{character:"⁄",title:e("Fraction slash")},{character:"×",title:e("Multiplication sign")},{character:"ƒ",title:e("Latin small letter f with hook")},{character:"∫",title:e("Integral")},{character:"∑",title:e("N-ary summation")},{character:"∞",title:e("Infinity")},{character:"√",title:e("Square root")},{character:"∼",title:e("Tilde operator")},{character:"≅",title:e("Approximately equal to")},{character:"≈",title:e("Almost equal to")},{character:"≠",title:e("Not equal to")},{character:"≡",title:e("Identical to")},{character:"∈",title:e("Element of")},{character:"∉",title:e("Not an element of")},{character:"∋",title:e("Contains as member")},{character:"∏",title:e("N-ary product")},{character:"∧",title:e("Logical and")},{character:"∨",title:e("Logical or")},{character:"¬",title:e("Not sign")},{character:"∩",title:e("Intersection")},{character:"∪",title:e("Union")},{character:"∂",title:e("Partial differential")},{character:"∀",title:e("For all")},{character:"∃",title:e("There exists")},{character:"∅",title:e("Empty set")},{character:"∇",title:e("Nabla")},{character:"∗",title:e("Asterisk operator")},{character:"∝",title:e("Proportional to")},{character:"∠",title:e("Angle")},{character:"¼",title:e("Vulgar fraction one quarter")},{character:"½",title:e("Vulgar fraction one half")},{character:"¾",title:e("Vulgar fraction three quarters")}])}}class y extends t.Plugin{static get pluginName(){return"SpecialCharactersLatin"}init(){const t=this.editor,e=t.t;t.plugins.get("SpecialCharacters").addItems("Latin",[{character:"Ā",title:e("Latin capital letter a with macron")},{character:"ā",title:e("Latin small letter a with macron")},{character:"Ă",title:e("Latin capital letter a with breve")},{character:"ă",title:e("Latin small letter a with breve")},{character:"Ą",title:e("Latin capital letter a with ogonek")},{character:"ą",title:e("Latin small letter a with ogonek")},{character:"Ć",title:e("Latin capital letter c with acute")},{character:"ć",title:e("Latin small letter c with acute")},{character:"Ĉ",title:e("Latin capital letter c with circumflex")},{character:"ĉ",title:e("Latin small letter c with circumflex")},{character:"Ċ",title:e("Latin capital letter c with dot above")},{character:"ċ",title:e("Latin small letter c with dot above")},{character:"Č",title:e("Latin capital letter c with caron")},{character:"č",title:e("Latin small letter c with caron")},{character:"Ď",title:e("Latin capital letter d with caron")},{character:"ď",title:e("Latin small letter d with caron")},{character:"Đ",title:e("Latin capital letter d with stroke")},{character:"đ",title:e("Latin small letter d with stroke")},{character:"Ē",title:e("Latin capital letter e with macron")},{character:"ē",title:e("Latin small letter e with macron")},{character:"Ĕ",title:e("Latin capital letter e with breve")},{character:"ĕ",title:e("Latin small letter e with breve")},{character:"Ė",title:e("Latin capital letter e with dot above")},{character:"ė",title:e("Latin small letter e with dot above")},{character:"Ę",title:e("Latin capital letter e with ogonek")},{character:"ę",title:e("Latin small letter e with ogonek")},{character:"Ě",title:e("Latin capital letter e with caron")},{character:"ě",title:e("Latin small letter e with caron")},{character:"Ĝ",title:e("Latin capital letter g with circumflex")},{character:"ĝ",title:e("Latin small letter g with circumflex")},{character:"Ğ",title:e("Latin capital letter g with breve")},{character:"ğ",title:e("Latin small letter g with breve")},{character:"Ġ",title:e("Latin capital letter g with dot above")},{character:"ġ",title:e("Latin small letter g with dot above")},{character:"Ģ",title:e("Latin capital letter g with cedilla")},{character:"ģ",title:e("Latin small letter g with cedilla")},{character:"Ĥ",title:e("Latin capital letter h with circumflex")},{character:"ĥ",title:e("Latin small letter h with circumflex")},{character:"Ħ",title:e("Latin capital letter h with stroke")},{character:"ħ",title:e("Latin small letter h with stroke")},{character:"Ĩ",title:e("Latin capital letter i with tilde")},{character:"ĩ",title:e("Latin small letter i with tilde")},{character:"Ī",title:e("Latin capital letter i with macron")},{character:"ī",title:e("Latin small letter i with macron")},{character:"Ĭ",title:e("Latin capital letter i with breve")},{character:"ĭ",title:e("Latin small letter i with breve")},{character:"Į",title:e("Latin capital letter i with ogonek")},{character:"į",title:e("Latin small letter i with ogonek")},{character:"İ",title:e("Latin capital letter i with dot above")},{character:"ı",title:e("Latin small letter dotless i")},{character:"IJ",title:e("Latin capital ligature ij")},{character:"ij",title:e("Latin small ligature ij")},{character:"Ĵ",title:e("Latin capital letter j with circumflex")},{character:"ĵ",title:e("Latin small letter j with circumflex")},{character:"Ķ",title:e("Latin capital letter k with cedilla")},{character:"ķ",title:e("Latin small letter k with cedilla")},{character:"ĸ",title:e("Latin small letter kra")},{character:"Ĺ",title:e("Latin capital letter l with acute")},{character:"ĺ",title:e("Latin small letter l with acute")},{character:"Ļ",title:e("Latin capital letter l with cedilla")},{character:"ļ",title:e("Latin small letter l with cedilla")},{character:"Ľ",title:e("Latin capital letter l with caron")},{character:"ľ",title:e("Latin small letter l with caron")},{character:"Ŀ",title:e("Latin capital letter l with middle dot")},{character:"ŀ",title:e("Latin small letter l with middle dot")},{character:"Ł",title:e("Latin capital letter l with stroke")},{character:"ł",title:e("Latin small letter l with stroke")},{character:"Ń",title:e("Latin capital letter n with acute")},{character:"ń",title:e("Latin small letter n with acute")},{character:"Ņ",title:e("Latin capital letter n with cedilla")},{character:"ņ",title:e("Latin small letter n with cedilla")},{character:"Ň",title:e("Latin capital letter n with caron")},{character:"ň",title:e("Latin small letter n with caron")},{character:"ʼn",title:e("Latin small letter n preceded by apostrophe")},{character:"Ŋ",title:e("Latin capital letter eng")},{character:"ŋ",title:e("Latin small letter eng")},{character:"Ō",title:e("Latin capital letter o with macron")},{character:"ō",title:e("Latin small letter o with macron")},{character:"Ŏ",title:e("Latin capital letter o with breve")},{character:"ŏ",title:e("Latin small letter o with breve")},{character:"Ő",title:e("Latin capital letter o with double acute")},{character:"ő",title:e("Latin small letter o with double acute")},{character:"Œ",title:e("Latin capital ligature oe")},{character:"œ",title:e("Latin small ligature oe")},{character:"Ŕ",title:e("Latin capital letter r with acute")},{character:"ŕ",title:e("Latin small letter r with acute")},{character:"Ŗ",title:e("Latin capital letter r with cedilla")},{character:"ŗ",title:e("Latin small letter r with cedilla")},{character:"Ř",title:e("Latin capital letter r with caron")},{character:"ř",title:e("Latin small letter r with caron")},{character:"Ś",title:e("Latin capital letter s with acute")},{character:"ś",title:e("Latin small letter s with acute")},{character:"Ŝ",title:e("Latin capital letter s with circumflex")},{character:"ŝ",title:e("Latin small letter s with circumflex")},{character:"Ş",title:e("Latin capital letter s with cedilla")},{character:"ş",title:e("Latin small letter s with cedilla")},{character:"Š",title:e("Latin capital letter s with caron")},{character:"š",title:e("Latin small letter s with caron")},{character:"Ţ",title:e("Latin capital letter t with cedilla")},{character:"ţ",title:e("Latin small letter t with cedilla")},{character:"Ť",title:e("Latin capital letter t with caron")},{character:"ť",title:e("Latin small letter t with caron")},{character:"Ŧ",title:e("Latin capital letter t with stroke")},{character:"ŧ",title:e("Latin small letter t with stroke")},{character:"Ũ",title:e("Latin capital letter u with tilde")},{character:"ũ",title:e("Latin small letter u with tilde")},{character:"Ū",title:e("Latin capital letter u with macron")},{character:"ū",title:e("Latin small letter u with macron")},{character:"Ŭ",title:e("Latin capital letter u with breve")},{character:"ŭ",title:e("Latin small letter u with breve")},{character:"Ů",title:e("Latin capital letter u with ring above")},{character:"ů",title:e("Latin small letter u with ring above")},{character:"Ű",title:e("Latin capital letter u with double acute")},{character:"ű",title:e("Latin small letter u with double acute")},{character:"Ų",title:e("Latin capital letter u with ogonek")},{character:"ų",title:e("Latin small letter u with ogonek")},{character:"Ŵ",title:e("Latin capital letter w with circumflex")},{character:"ŵ",title:e("Latin small letter w with circumflex")},{character:"Ŷ",title:e("Latin capital letter y with circumflex")},{character:"ŷ",title:e("Latin small letter y with circumflex")},{character:"Ÿ",title:e("Latin capital letter y with diaeresis")},{character:"Ź",title:e("Latin capital letter z with acute")},{character:"ź",title:e("Latin small letter z with acute")},{character:"Ż",title:e("Latin capital letter z with dot above")},{character:"ż",title:e("Latin small letter z with dot above")},{character:"Ž",title:e("Latin capital letter z with caron")},{character:"ž",title:e("Latin small letter z with caron")},{character:"ſ",title:e("Latin small letter long s")}])}}class C extends t.Plugin{static get pluginName(){return"SpecialCharactersCurrency"}init(){const t=this.editor,e=t.t;t.plugins.get("SpecialCharacters").addItems("Currency",[{character:"$",title:e("Dollar sign")},{character:"€",title:e("Euro sign")},{character:"¥",title:e("Yen sign")},{character:"£",title:e("Pound sign")},{character:"¢",title:e("Cent sign")},{character:"₠",title:e("Euro-currency sign")},{character:"₡",title:e("Colon sign")},{character:"₢",title:e("Cruzeiro sign")},{character:"₣",title:e("French franc sign")},{character:"₤",title:e("Lira sign")},{character:"¤",title:e("Currency sign")},{character:"₿",title:e("Bitcoin sign")},{character:"₥",title:e("Mill sign")},{character:"₦",title:e("Naira sign")},{character:"₧",title:e("Peseta sign")},{character:"₨",title:e("Rupee sign")},{character:"₩",title:e("Won sign")},{character:"₪",title:e("New sheqel sign")},{character:"₫",title:e("Dong sign")},{character:"₭",title:e("Kip sign")},{character:"₮",title:e("Tugrik sign")},{character:"₯",title:e("Drachma sign")},{character:"₰",title:e("German penny sign")},{character:"₱",title:e("Peso sign")},{character:"₲",title:e("Guarani sign")},{character:"₳",title:e("Austral sign")},{character:"₴",title:e("Hryvnia sign")},{character:"₵",title:e("Cedi sign")},{character:"₶",title:e("Livre tournois sign")},{character:"₷",title:e("Spesmilo sign")},{character:"₸",title:e("Tenge sign")},{character:"₹",title:e("Indian rupee sign")},{character:"₺",title:e("Turkish lira sign")},{character:"₻",title:e("Nordic mark sign")},{character:"₼",title:e("Manat sign")},{character:"₽",title:e("Ruble sign")}])}}class q extends t.Plugin{static get requires(){return[C,k,x,v,y]}}})(),(window.CKEditor5=window.CKEditor5||{}).specialCharacters=i})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/special-characters/translations/az.js b/web/core/assets/vendor/ckeditor5/special-characters/translations/az.js
new file mode 100644
index 0000000000..3d229016dd
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/special-characters/translations/az.js
@@ -0,0 +1 @@
+!function(t){const a=t.az=t.az||{};a.dictionary=Object.assign(a.dictionary||{},{"Almost equal to":"",Angle:"","Approximately equal to":"","Asterisk operator":"","Austral sign":"","back with leftwards arrow above":"","Bitcoin sign":"","Cedi sign":"","Cent sign":"","Character categories":"","Colon sign":"","Contains as member":"","Copyright sign":"","Cruzeiro sign":"","Currency sign":"","Degree sign":"","Division sign":"","Dollar sign":"","Dong sign":"","Double dagger":"","Double exclamation mark":"","Double low-9 quotation mark":"","Double question mark":"","downwards arrow to bar":"","downwards dashed arrow":"","downwards double arrow":"aşağı ikiqat ox","Drachma sign":"","Element of":"","Em dash":"","Empty set":"","En dash":"","end with leftwards arrow above":"","Euro sign":"","Euro-currency sign":"","Exclamation question mark":"","For all":"","Fraction slash":"","French franc sign":"","German penny sign":"","Greater-than or equal to":"","Greater-than sign":"","Guarani sign":"","Horizontal ellipsis":"","Hryvnia sign":"","Identical to":"","Indian rupee sign":"",Infinity:"",Integral:"",Intersection:"","Inverted exclamation mark":"","Inverted question mark":"","Kip sign":"","Latin capital letter a with breve":"","Latin capital letter a with macron":"","Latin capital letter a with ogonek":"","Latin capital letter c with acute":"","Latin capital letter c with caron":"","Latin capital letter c with circumflex":"","Latin capital letter c with dot above":"","Latin capital letter d with caron":"","Latin capital letter d with stroke":"","Latin capital letter e with breve":"","Latin capital letter e with caron":"","Latin capital letter e with dot above":"","Latin capital letter e with macron":"","Latin capital letter e with ogonek":"","Latin capital letter eng":"","Latin capital letter g with breve":"","Latin capital letter g with cedilla":"","Latin capital letter g with circumflex":"","Latin capital letter g with dot above":"","Latin capital letter h with circumflex":"","Latin capital letter h with stroke":"","Latin capital letter i with breve":"","Latin capital letter i with dot above":"","Latin capital letter i with macron":"","Latin capital letter i with ogonek":"","Latin capital letter i with tilde":"","Latin capital letter j with circumflex":"","Latin capital letter k with cedilla":"","Latin capital letter l with acute":"","Latin capital letter l with caron":"","Latin capital letter l with cedilla":"","Latin capital letter l with middle dot":"","Latin capital letter l with stroke":"","Latin capital letter n with acute":"","Latin capital letter n with caron":"","Latin capital letter n with cedilla":"","Latin capital letter o with breve":"","Latin capital letter o with double acute":"","Latin capital letter o with macron":"","Latin capital letter r with acute":"","Latin capital letter r with caron":"","Latin capital letter r with cedilla":"","Latin capital letter s with acute":"","Latin capital letter s with caron":"","Latin capital letter s with cedilla":"","Latin capital letter s with circumflex":"","Latin capital letter t with caron":"","Latin capital letter t with cedilla":"","Latin capital letter t with stroke":"","Latin capital letter u with breve":"","Latin capital letter u with double acute":"","Latin capital letter u with macron":"","Latin capital letter u with ogonek":"","Latin capital letter u with ring above":"","Latin capital letter u with tilde":"","Latin capital letter w with circumflex":"","Latin capital letter y with circumflex":"","Latin capital letter y with diaeresis":"","Latin capital letter z with acute":"","Latin capital letter z with caron":"","Latin capital letter z with dot above":"","Latin capital ligature ij":"","Latin capital ligature oe":"","Latin small letter a with breve":"","Latin small letter a with macron":"","Latin small letter a with ogonek":"","Latin small letter c with acute":"","Latin small letter c with caron":"","Latin small letter c with circumflex":"","Latin small letter c with dot above":"","Latin small letter d with caron":"","Latin small letter d with stroke":"","Latin small letter dotless i":"","Latin small letter e with breve":"","Latin small letter e with caron":"","Latin small letter e with dot above":"","Latin small letter e with macron":"","Latin small letter e with ogonek":"","Latin small letter eng":"","Latin small letter f with hook":"","Latin small letter g with breve":"","Latin small letter g with cedilla":"","Latin small letter g with circumflex":"","Latin small letter g with dot above":"","Latin small letter h with circumflex":"","Latin small letter h with stroke":"","Latin small letter i with breve":"","Latin small letter i with macron":"","Latin small letter i with ogonek":"","Latin small letter i with tilde":"","Latin small letter j with circumflex":"","Latin small letter k with cedilla":"","Latin small letter kra":"","Latin small letter l with acute":"","Latin small letter l with caron":"","Latin small letter l with cedilla":"","Latin small letter l with middle dot":"","Latin small letter l with stroke":"","Latin small letter long s":"","Latin small letter n preceded by apostrophe":"","Latin small letter n with acute":"","Latin small letter n with caron":"","Latin small letter n with cedilla":"","Latin small letter o with breve":"","Latin small letter o with double acute":"","Latin small letter o with macron":"","Latin small letter r with acute":"","Latin small letter r with caron":"","Latin small letter r with cedilla":"","Latin small letter s with acute":"","Latin small letter s with caron":"","Latin small letter s with cedilla":"","Latin small letter s with circumflex":"","Latin small letter t with caron":"","Latin small letter t with cedilla":"","Latin small letter t with stroke":"","Latin small letter u with breve":"","Latin small letter u with double acute":"","Latin small letter u with macron":"","Latin small letter u with ogonek":"","Latin small letter u with ring above":"","Latin small letter u with tilde":"","Latin small letter w with circumflex":"","Latin small letter y with circumflex":"","Latin small letter z with acute":"","Latin small letter z with caron":"","Latin small letter z with dot above":"","Latin small ligature ij":"","Latin small ligature oe":"","Left double quotation mark":"","Left single quotation mark":"","Left-pointing double angle quotation mark":"","leftwards arrow to bar":"","leftwards dashed arrow":"","leftwards double arrow":"sola ikiqat ox","Less-than or equal to":"","Less-than sign":"","Lira sign":"","Livre tournois sign":"","Logical and":"","Logical or":"",Macron:"","Manat sign":"","Mill sign":"","Minus sign":"","Multiplication sign":"","N-ary product":"","N-ary summation":"",Nabla:"","Naira sign":"","New sheqel sign":"","Nordic mark sign":"","Not an element of":"","Not equal to":"","Not sign":"","on with exclamation mark with left right arrow above":"",Overline:"","Paragraph sign":"","Partial differential":"","Per mille sign":"","Per ten thousand sign":"","Peseta sign":"","Peso sign":"","Plus-minus sign":"","Pound sign":"","Proportional to":"","Question exclamation mark":"","Registered sign":"","Reversed paragraph sign":"","Right double quotation mark":"","Right single quotation mark":"","Right-pointing double angle quotation mark":"","rightwards arrow to bar":"","rightwards dashed arrow":"","rightwards double arrow":"sağa ikiqat ox","Ruble sign":"","Rupee sign":"","Section sign":"","Single left-pointing angle quotation mark":"","Single low-9 quotation mark":"","Single right-pointing angle quotation mark":"","soon with rightwards arrow above":"","Special characters":"Xüsusi simvollar","Spesmilo sign":"","Square root":"","Tenge sign":"","There exists":"","Tilde operator":"","top with upwards arrow above":"","Trade mark sign":"","Tugrik sign":"","Turkish lira sign":"","Two dot leader":"",Union:"","up down arrow with base":"","upwards arrow to bar":"","upwards dashed arrow":"","upwards double arrow":"yuxarı ikiqat ox","Vulgar fraction one half":"","Vulgar fraction one quarter":"","Vulgar fraction three quarters":"","Won sign":"","Yen sign":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/special-characters/translations/el.js b/web/core/assets/vendor/ckeditor5/special-characters/translations/el.js
new file mode 100644
index 0000000000..b724401c90
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/special-characters/translations/el.js
@@ -0,0 +1 @@
+!function(t){const a=t.el=t.el||{};a.dictionary=Object.assign(a.dictionary||{},{"Almost equal to":"Περίπου ίσο με",Angle:"Γωνία","Approximately equal to":"Κατά προσέγγιση ίσο με","Asterisk operator":"Τελεστής αστερίσκος","Austral sign":"Σύμβολο αουστράλ Αργεντινής","back with leftwards arrow above":"όπισθεν με αριστερό βέλος άνω","Bitcoin sign":"Σύμβολο Bitcoin","Cedi sign":"Σύμβολο σίντι Γκάνας","Cent sign":"Σύμβολο λεπτού","Character categories":"Κατηγορίες χαρακτήρων","Colon sign":"Σύμβολο άνω κάτω τελείας","Contains as member":"Περιέχει ως μέλος","Copyright sign":"Σύμβολο πνευματικής ιδιοκτησίας","Cruzeiro sign":"Σύμβολο Κρουζέιρο","Currency sign":"Σύμβολο νομίσματος","Degree sign":"Σύμβολο βαθμών Κελσίου","Division sign":"Σύμβολο διαίρεσης","Dollar sign":"Σύμβολο δολλαρίου","Dong sign":"Σύμβολο Ντόνγκ Βιετνάμ","Double dagger":"Διπλός σταυρός","Double exclamation mark":"Διπλό θαυμαστικό","Double low-9 quotation mark":"Διπλό κάτω-9 εισαγωγικό","Double question mark":"Διπλό ερωτηματικό","downwards arrow to bar":"κάτω βέλος σε γραμμή","downwards dashed arrow":"κάτω βέλος με παύλες","downwards double arrow":"κάτω διπλό βέλος","Drachma sign":"Σύμβολο δραχμής Ελλάδας","Element of":"Στοιχείο του","Em dash":"Μικρή παύλα","Empty set":"Κενό σύνολο","En dash":"Μεγάλη παύλα","end with leftwards arrow above":"τέλος με αριστερό βέλος άνω","Euro sign":"Σύμβολο ευρώ","Euro-currency sign":"Σύμβολο ευρωνομίσματος","Exclamation question mark":"Θαυμαστικό","For all":"Σύμβολο για όλα","Fraction slash":"Κάθετος κλάσματος","French franc sign":"Σύμβολο γαλλικού φράγκου","German penny sign":"Σύμβολο γερμανικού λεπτού","Greater-than or equal to":"Σύμβολο μεγαλύτερο ή ίσο από","Greater-than sign":"Σύμβολο μεγαλύτερο από","Guarani sign":"Σύμβολο γκουαράνι Παραγουάης","Horizontal ellipsis":"Οριζόντια έλλειψη","Hryvnia sign":"Σύμβολο γρίβνα Ουκρανίας","Identical to":"Ταυτόσημο με","Indian rupee sign":"Σύμβολο ρουπίας Ινδίας",Infinity:"Άπειρο",Integral:"Ολοκλήρωμα",Intersection:"Τομή","Inverted exclamation mark":"Αντεστραμμένο θαυμαστικό","Inverted question mark":"Αντεστραμμένο ερωτηματικό","Kip sign":"Σύμβολο κίπ Λάος","Latin capital letter a with breve":"Λατινικό κεφαλαίο γράμμα a με μισοφέγγαρο","Latin capital letter a with macron":"Λατινικό κεφαλαίο γράμμα a με παύλα","Latin capital letter a with ogonek":"Λατινικό κεφαλαίο γράμμα a με μικρή ουρά","Latin capital letter c with acute":"Λατινικό κεφαλαίο γράμμα c με δεξί τόνο","Latin capital letter c with caron":"Λατινικό κεφαλαίο γράμμα c με ανάποδο καπελάκι","Latin capital letter c with circumflex":"Λατινικό κεφαλαίο γράμμα c με καπελάκι","Latin capital letter c with dot above":"Λατινικό κεφαλαίο γράμμα c με τελεία επάνω","Latin capital letter d with caron":"Λατινικό κεφαλαίο γράμμα d με ανάποδο καπελάκι","Latin capital letter d with stroke":"Λατινικό κεφαλαίο γράμμα d με σταυρωμένη παύλα","Latin capital letter e with breve":"Λατινικό κεφαλαίο γράμμα e με μισοφέγγαρο","Latin capital letter e with caron":"Λατινικό κεφαλαίο γράμμα e με ανάποδο καπελάκι","Latin capital letter e with dot above":"Λατινικό κεφαλαίο γράμμα e με τελεία επάνω","Latin capital letter e with macron":"Λατινικό κεφαλαίο γράμμα e με παύλα","Latin capital letter e with ogonek":"Λατινικό κεφαλαίο γράμμα e με μικρή ουρά","Latin capital letter eng":"Λατινικό κεφαλαίο γράμμα eng","Latin capital letter g with breve":"Λατινικό κεφαλαίο γράμμα g με βραχεία","Latin capital letter g with cedilla":"Λατινικό κεφαλαίο γράμμα g με υποστιγμή","Latin capital letter g with circumflex":"Λατινικό κεφαλαίο γράμμα g με καπελάκι","Latin capital letter g with dot above":"Λατινικό κεφαλαίο γράμμα g με τελεία επάνω","Latin capital letter h with circumflex":"Λατινικό κεφαλαίο γράμμα h με αιχμή","Latin capital letter h with stroke":"Λατινικό κεφαλαίο γράμμα h με κάθετο","Latin capital letter i with breve":"Λατινικό κεφαλαίο γράμμα i με βραχεία","Latin capital letter i with dot above":"Λατινικό κεφαλαίο γράμμα i με τελεία επάνω","Latin capital letter i with macron":"Λατινικό κεφαλαίο γράμμα i με μακριά παύλα","Latin capital letter i with ogonek":"Λατινικό κεφαλαίο γράμμα i με ανάστροφη υποστιγμή","Latin capital letter i with tilde":"Λατινικό κεφαλαίο γράμμα i με περισπωμένη","Latin capital letter j with circumflex":"Λατινικό κεφαλαίο γράμμα j με αιχμή","Latin capital letter k with cedilla":"Λατινικό κεφαλαίο γράμμα k με υποστιγμή","Latin capital letter l with acute":"Λατινικό κεφαλαίο γράμμα l με οξεία","Latin capital letter l with caron":"Λατινικό κεφαλαίο γράμμα l με αμβλεία","Latin capital letter l with cedilla":"Λατινικό κεφαλαίο γράμμα l με υποστιγμή","Latin capital letter l with middle dot":"Λατινικό κεφαλαίο γράμμα l με μεσαία τελεία","Latin capital letter l with stroke":"Λατινικό κεφαλαίο γράμμα l με κάθετο","Latin capital letter n with acute":"Λατινικό κεφαλαίο γράμμα n με οξεία","Latin capital letter n with caron":"Λατινικό κεφαλαίο γράμμα n με αμβλεία","Latin capital letter n with cedilla":"Λατινικό κεφαλαίο γράμμα n με υποστιγμή","Latin capital letter o with breve":"Λατινικό κεφαλαίο γράμμα o με βραχεία","Latin capital letter o with double acute":"Λατινικό κεφαλαίο γράμμα o με διπλή οξεία","Latin capital letter o with macron":"Λατινικό κεφαλαίο γράμμα o με μακριά παύλα","Latin capital letter r with acute":"Λατινικό κεφαλαίο γράμμα r με οξεία","Latin capital letter r with caron":"Λατινικό κεφαλαίο γράμμα r με αμβλεία","Latin capital letter r with cedilla":"Λατινικό κεφαλαίο γράμμα r με υποστιγμή","Latin capital letter s with acute":"Λατινικό κεφαλαίο γράμμα s με οξεία","Latin capital letter s with caron":"Λατινικό κεφαλαίο γράμμα s με αμβλεία","Latin capital letter s with cedilla":"Λατινικό κεφαλαίο γράμμα s με υποστιγμή","Latin capital letter s with circumflex":"Λατινικό κεφαλαίο γράμμα s με αιχμή","Latin capital letter t with caron":"Λατινικό κεφαλαίο γράμμα t με αμβλεία","Latin capital letter t with cedilla":"Λατινικό κεφαλαίο γράμμα t με υποστιγμή","Latin capital letter t with stroke":"Λατινικό κεφαλαίο γράμμα t με κάθετο","Latin capital letter u with breve":"Λατινικό κεφαλαίο γράμμα u με βραχεία","Latin capital letter u with double acute":"Λατινικό κεφαλαίο γράμμα u με διπλή οξεία","Latin capital letter u with macron":"Λατινικό κεφαλαίο γράμμα u με μακριά παύλα","Latin capital letter u with ogonek":"Λατινικό κεφαλαίο γράμμα u με ανάστροφη υποστιγμή","Latin capital letter u with ring above":"Λατινικό κεφαλαίο γράμμα u με δακτύλιο επάνω","Latin capital letter u with tilde":"Λατινικό κεφαλαίο γράμμα u με περισπωμένη","Latin capital letter w with circumflex":"Λατινικό κεφαλαίο γράμμα w με αιχμή","Latin capital letter y with circumflex":"Λατινικό κεφαλαίο γράμμα y με αιχμή","Latin capital letter y with diaeresis":"Λατινικό κεφαλαίο γράμμα y με διαλυτικά","Latin capital letter z with acute":"Λατινικό κεφαλαίο γράμμα z με οξεία","Latin capital letter z with caron":"Λατινικό κεφαλαίο γράμμα z με αμβλεία","Latin capital letter z with dot above":"Λατινικό κεφαλαίο γράμμα z με τελεία επάνω","Latin capital ligature ij":"Λατινικό κεφαλαίο σύμπλεγμα ij","Latin capital ligature oe":"Λατινικό κεφαλαίο σύμπλεγμα oe","Latin small letter a with breve":"Λατινικό μικρό γράμμα a με μισοφέγγαρο","Latin small letter a with macron":"Λατινικό μικρό γράμμα a με παύλα","Latin small letter a with ogonek":"Λατινικό μικρό γράμμα a με μικρή ουρά","Latin small letter c with acute":"Λατινικό μικρό γράμμα c με δεξί τόνο","Latin small letter c with caron":"Λατινικό μικρό γράμμα c με ανάποδο καπελάκι","Latin small letter c with circumflex":"Λατινικό μικρό γράμμα c με καπελάκι","Latin small letter c with dot above":"Λατινικό μικρό γράμμα c με τελεία επάνω","Latin small letter d with caron":"Λατινικό μικρό γράμμα d με ανάποδο καπελάκι","Latin small letter d with stroke":"Λατινικό μικρό γράμμα d με σταυρωμένη παύλα","Latin small letter dotless i":"Λατινικό μικρό γράμμα i χωρίς τελεία","Latin small letter e with breve":"Λατινικό μικρό γράμμα e με μισοφέγγαρο","Latin small letter e with caron":"Λατινικό μικρό γράμμα e με ανάποδο καπελάκι","Latin small letter e with dot above":"Λατινικό μικρό γράμμα e με τελεία επάνω","Latin small letter e with macron":"Λατινικό μικρό γράμμα e με παύλα","Latin small letter e with ogonek":"Λατινικό μικρό γράμμα e με μικρή ουρά","Latin small letter eng":"Λατινικό μικρό γράμμα eng","Latin small letter f with hook":"Λατινικό μικρό γράμμα f με άγκιστρο","Latin small letter g with breve":"Λατινικό μικρό γράμμα g με βραχεία","Latin small letter g with cedilla":"Λατινικό μικρό γράμμα g με υποστιγμή","Latin small letter g with circumflex":"Λατινικό μικρό γράμμα g με καπελάκι","Latin small letter g with dot above":"Λατινικό μικρό γράμμα g με τελεία επάνω","Latin small letter h with circumflex":"Λατινικό μικρό γράμμα h με αιχμή","Latin small letter h with stroke":"Λατινικό μικρό γράμμα h με κάθετο","Latin small letter i with breve":"Λατινικό μικρό γράμμα i με βραχεία","Latin small letter i with macron":"Λατινικό μικρό γράμμα i με μακριά παύλα","Latin small letter i with ogonek":"Λατινικό μικρό γράμμα i με ανάστροφη υποστιγμή","Latin small letter i with tilde":"Λατινικό μικρό γράμμα i με περισπωμένη","Latin small letter j with circumflex":"Λατινικό μικρό γράμμα j με αιχμή","Latin small letter k with cedilla":"Λατινικό μικρό γράμμα k με υποστιγμή","Latin small letter kra":"Λατινικό μικρό γράμμα kra","Latin small letter l with acute":"Λατινικό μικρό γράμμα l με οξεία","Latin small letter l with caron":"Λατινικό μικρό γράμμα l με αμβλεία","Latin small letter l with cedilla":"Λατινικό μικρό γράμμα l με υποστιγμή","Latin small letter l with middle dot":"Λατινικό μικρό γράμμα l με μεσαία τελεία","Latin small letter l with stroke":"Λατινικό μικρό γράμμα l με κάθετο","Latin small letter long s":"Λατινικό μικρό γράμμα μακρό s","Latin small letter n preceded by apostrophe":"Λατινικό μικρό γράμμα n με απόστροφο που προηγείται","Latin small letter n with acute":"Λατινικό μικρό γράμμα n με οξεία","Latin small letter n with caron":"Λατινικό μικρό γράμμα n με αμβλεία","Latin small letter n with cedilla":"Λατινικό μικρό γράμμα n με υποστιγμή","Latin small letter o with breve":"Λατινικό μικρό γράμμα o με βραχεία","Latin small letter o with double acute":"Λατινικό μικρό γράμμα o με διπλή οξεία","Latin small letter o with macron":"Λατινικό κεφαλαίο γράμμα o με μακριά παύλα","Latin small letter r with acute":"Λατινικό μικρό γράμμα r με οξεία","Latin small letter r with caron":"Λατινικό μικρό γράμμα r με αμβλεία","Latin small letter r with cedilla":"Λατινικό μικρό γράμμα r με υποστιγμή","Latin small letter s with acute":"Λατινικό μικρό γράμμα s με οξεία","Latin small letter s with caron":"Λατινικό μικρό γράμμα s με αμβλεία","Latin small letter s with cedilla":"Λατινικό μικρό γράμμα s με υποστιγμή","Latin small letter s with circumflex":"Λατινικό μικρό γράμμα s με αιχμή","Latin small letter t with caron":"Λατινικό μικρό γράμμα t με αμβλεία","Latin small letter t with cedilla":"Λατινικό μικρό γράμμα t με υποστιγμή","Latin small letter t with stroke":"Λατινικό μικρό γράμμα t με κάθετο","Latin small letter u with breve":"Λατινικό μικρό γράμμα u με βραχεία","Latin small letter u with double acute":"Λατινικό μικρό γράμμα u με διπλή οξεία","Latin small letter u with macron":"Λατινικό μικρό γράμμα u με μακριά παύλα","Latin small letter u with ogonek":"Λατινικό μικρό γράμμα u με ανάστροφη υποστιγμή","Latin small letter u with ring above":"Λατινικό μικρό γράμμα u με δακτύλιο επάνω","Latin small letter u with tilde":"Λατινικό μικρό γράμμα u με περισπωμένη","Latin small letter w with circumflex":"Λατινικό μικρό γράμμα w με αιχμή","Latin small letter y with circumflex":"Λατινικό μικρό γράμμα y με αιχμή","Latin small letter z with acute":"Λατινικό μικρό γράμμα z με οξεία","Latin small letter z with caron":"Λατινικό μικρό γράμμα z με αμβλεία","Latin small letter z with dot above":"Λατινικό μικρό γράμμα z με τελεία επάνω","Latin small ligature ij":"Λατινικό μικρό σύμπλεγμα ij","Latin small ligature oe":"Λατινικό μικρό σύμπλεγμα oe","Left double quotation mark":"Διπλό αριστερό ερωτηματικό","Left single quotation mark":"Μονό αριστερό ερωτηματικό","Left-pointing double angle quotation mark":"Διπλό ερωτηματικό αριστερής γωνίας","leftwards arrow to bar":"αριστερό βέλος σε γραμμή","leftwards dashed arrow":"αριστερό βέλος με παύλες","leftwards double arrow":"αριστερό διπλό βέλος","Less-than or equal to":"Σύμβολο μικρότερο ή ίσο από","Less-than sign":"Σύμβολο μικρότερο από","Lira sign":"Σύμβολο λίρας Τουρκίας","Livre tournois sign":"Σύμβολο λίβρα τουρ Γαλλίας","Logical and":"Λογικός τελεστής τομής","Logical or":"Λογικός τελεστής ένωσης",Macron:"Μακριά παύλα","Manat sign":"Σύμβολο μανάτ Αζερμπαϊτζάν","Mill sign":"Σύμβολο χιλιοστού νομίσματος","Minus sign":"Σύμβολο αφαίρεσης","Multiplication sign":"Σύμβολο πολλαπλασιασμού","N-ary product":"Νιοστό παραγοντικό","N-ary summation":"Νιοστή άθροιση",Nabla:"Ανάδελτα","Naira sign":"Σύμβολο Ναΐρα Νιγηρίας","New sheqel sign":"Σύμβολο νέου σεκέλ Ισραήλ","Nordic mark sign":"Σύμβολο μάρκου Νορβηγίας","Not an element of":"Όχι στοιχείο του","Not equal to":"Όχι ίσο με","Not sign":"Σύμβολο άρνησης","on with exclamation mark with left right arrow above":"ενεργό με θαυμαστικό με αριστερό δεξί βέλος άνω",Overline:"Άνω γραμμή","Paragraph sign":"Σύμβολο παραγράφου","Partial differential":"Μερικό διαφορικό","Per mille sign":"Σύμβολο τοις χιλίοις","Per ten thousand sign":"Σύμβολο δεκάκις χιλίοις","Peseta sign":"Σύμβολο πεσέτας Ισπανίας","Peso sign":"Σύμβολο πέσος Μεξικού","Plus-minus sign":"Σύμβολο συν-πλην","Pound sign":"Σύμβολο λίρας Αγγλίας","Proportional to":"Αναλογικό με","Question exclamation mark":"Ερωτηματικό","Registered sign":"Σύμβολο καταχώρησης","Reversed paragraph sign":"Σύμβολο αντεστραμμένης παραγράφου","Right double quotation mark":"Δεξί διπλό ερωτηματικό","Right single quotation mark":"Μονό δεξιό ερωτηματικό","Right-pointing double angle quotation mark":"Διπλό ερωτηματικό δεξιάς γωνίας","rightwards arrow to bar":"δεξιό βέλος σε γραμμή","rightwards dashed arrow":"δεξιό βέλος με παύλες","rightwards double arrow":"δεξιό διπλό βέλος","Ruble sign":"Σύμβολο ρουβλίου Ρωσίας","Rupee sign":"Σύμβολο ρουπίας Ινδίας","Section sign":"Σύμβολο τομέα","Single left-pointing angle quotation mark":"Μονό ερωτηματικό αριστερής γωνίας","Single low-9 quotation mark":"Μονό κάτω-9 εισαγωγικό","Single right-pointing angle quotation mark":"Μονό ερωτηματικό δεξιάς γωνίας","soon with rightwards arrow above":"σύντομα με δεξί βέλος άνω","Special characters":"Ειδικοί χαρακτήρες","Spesmilo sign":"Σύμβολο σπεσμίλο","Square root":"Τετραγωνική ρίζα","Tenge sign":"Σύμβολο τένγκε Καζακστάν","There exists":"Υπάρχει","Tilde operator":"Τελεστής περισπωμένης","top with upwards arrow above":"κορυφή με άνω βέλος επάνω","Trade mark sign":"Σύμβολο εμπορικού σήματος","Tugrik sign":"Σύμβολο τουγκρίκ Μογγολίας","Turkish lira sign":"Σύμβολο λίρας Τουρκίας","Two dot leader":"Οδηγός δύο τελειών",Union:"Ένωση","up down arrow with base":"άνω κάτω βέλος με βάση","upwards arrow to bar":"άνω βέλος σε γραμμή","upwards dashed arrow":"άνω βέλος με παύλες","upwards double arrow":"άνω διπλό βέλος","Vulgar fraction one half":"Ανάγωγο Κλάσμα ενός δευτέρου","Vulgar fraction one quarter":"Ανάγωγο Κλάσμα ενός τετάρτου","Vulgar fraction three quarters":"Ανάγωγο Κλάσμα τριών τετάρτων","Won sign":"Σύμβολο Γουάν Κίνας","Yen sign":"Σύμβολο Γιέν"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/special-characters/translations/id.js b/web/core/assets/vendor/ckeditor5/special-characters/translations/id.js
new file mode 100644
index 0000000000..4b9d06d94d
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/special-characters/translations/id.js
@@ -0,0 +1 @@
+!function(t){const a=t.id=t.id||{};a.dictionary=Object.assign(a.dictionary||{},{"Almost equal to":"",Angle:"Sudut","Approximately equal to":"","Asterisk operator":"","Austral sign":"","back with leftwards arrow above":"belakang dengan panah kiri di atas","Bitcoin sign":"Tanda bitcoin","Cedi sign":"","Cent sign":"Tanda sen","Character categories":"Kategori karakter","Colon sign":"Tanda titik dua","Contains as member":"","Copyright sign":"","Cruzeiro sign":"","Currency sign":"Tanda mata uang","Degree sign":"Tanda derajat","Division sign":"Tanda pembagian","Dollar sign":"Tanda dollar","Dong sign":"","Double dagger":"","Double exclamation mark":"","Double low-9 quotation mark":"","Double question mark":"","downwards arrow to bar":"panah bawah ke bar","downwards dashed arrow":"Panah putus-putus ke ke bawah","downwards double arrow":"Panah ganda ke bawah","Drachma sign":"","Element of":"Elemen dari","Em dash":"","Empty set":"","En dash":"","end with leftwards arrow above":"akhir dengan panah kiri di atas","Euro sign":"Tanda euro","Euro-currency sign":"Tanda mata uang euro","Exclamation question mark":"","For all":"","Fraction slash":"Garis bagi pecahan","French franc sign":"","German penny sign":"","Greater-than or equal to":"Lebih dari atau sama dengan","Greater-than sign":"Tanda lebih besar dari","Guarani sign":"","Horizontal ellipsis":"","Hryvnia sign":"","Identical to":"Identik dengan","Indian rupee sign":"Tanda rupee India",Infinity:"Tak hingga",Integral:"Integral",Intersection:"","Inverted exclamation mark":"","Inverted question mark":"","Kip sign":"","Latin capital letter a with breve":"","Latin capital letter a with macron":"","Latin capital letter a with ogonek":"","Latin capital letter c with acute":"","Latin capital letter c with caron":"","Latin capital letter c with circumflex":"","Latin capital letter c with dot above":"","Latin capital letter d with caron":"","Latin capital letter d with stroke":"","Latin capital letter e with breve":"","Latin capital letter e with caron":"","Latin capital letter e with dot above":"","Latin capital letter e with macron":"","Latin capital letter e with ogonek":"","Latin capital letter eng":"","Latin capital letter g with breve":"","Latin capital letter g with cedilla":"","Latin capital letter g with circumflex":"","Latin capital letter g with dot above":"","Latin capital letter h with circumflex":"","Latin capital letter h with stroke":"","Latin capital letter i with breve":"","Latin capital letter i with dot above":"","Latin capital letter i with macron":"","Latin capital letter i with ogonek":"","Latin capital letter i with tilde":"","Latin capital letter j with circumflex":"","Latin capital letter k with cedilla":"","Latin capital letter l with acute":"","Latin capital letter l with caron":"","Latin capital letter l with cedilla":"","Latin capital letter l with middle dot":"","Latin capital letter l with stroke":"","Latin capital letter n with acute":"","Latin capital letter n with caron":"","Latin capital letter n with cedilla":"","Latin capital letter o with breve":"","Latin capital letter o with double acute":"","Latin capital letter o with macron":"","Latin capital letter r with acute":"","Latin capital letter r with caron":"","Latin capital letter r with cedilla":"","Latin capital letter s with acute":"","Latin capital letter s with caron":"","Latin capital letter s with cedilla":"","Latin capital letter s with circumflex":"","Latin capital letter t with caron":"","Latin capital letter t with cedilla":"","Latin capital letter t with stroke":"","Latin capital letter u with breve":"","Latin capital letter u with double acute":"","Latin capital letter u with macron":"","Latin capital letter u with ogonek":"","Latin capital letter u with ring above":"","Latin capital letter u with tilde":"","Latin capital letter w with circumflex":"","Latin capital letter y with circumflex":"","Latin capital letter y with diaeresis":"","Latin capital letter z with acute":"","Latin capital letter z with caron":"","Latin capital letter z with dot above":"","Latin capital ligature ij":"","Latin capital ligature oe":"","Latin small letter a with breve":"","Latin small letter a with macron":"","Latin small letter a with ogonek":"","Latin small letter c with acute":"","Latin small letter c with caron":"","Latin small letter c with circumflex":"","Latin small letter c with dot above":"","Latin small letter d with caron":"","Latin small letter d with stroke":"","Latin small letter dotless i":"","Latin small letter e with breve":"","Latin small letter e with caron":"","Latin small letter e with dot above":"","Latin small letter e with macron":"","Latin small letter e with ogonek":"","Latin small letter eng":"","Latin small letter f with hook":"","Latin small letter g with breve":"","Latin small letter g with cedilla":"","Latin small letter g with circumflex":"","Latin small letter g with dot above":"","Latin small letter h with circumflex":"","Latin small letter h with stroke":"","Latin small letter i with breve":"","Latin small letter i with macron":"","Latin small letter i with ogonek":"","Latin small letter i with tilde":"","Latin small letter j with circumflex":"","Latin small letter k with cedilla":"","Latin small letter kra":"","Latin small letter l with acute":"","Latin small letter l with caron":"","Latin small letter l with cedilla":"","Latin small letter l with middle dot":"","Latin small letter l with stroke":"","Latin small letter long s":"","Latin small letter n preceded by apostrophe":"","Latin small letter n with acute":"","Latin small letter n with caron":"","Latin small letter n with cedilla":"","Latin small letter o with breve":"","Latin small letter o with double acute":"","Latin small letter o with macron":"","Latin small letter r with acute":"","Latin small letter r with caron":"","Latin small letter r with cedilla":"","Latin small letter s with acute":"","Latin small letter s with caron":"","Latin small letter s with cedilla":"","Latin small letter s with circumflex":"","Latin small letter t with caron":"","Latin small letter t with cedilla":"","Latin small letter t with stroke":"","Latin small letter u with breve":"","Latin small letter u with double acute":"","Latin small letter u with macron":"","Latin small letter u with ogonek":"","Latin small letter u with ring above":"","Latin small letter u with tilde":"","Latin small letter w with circumflex":"","Latin small letter y with circumflex":"","Latin small letter z with acute":"","Latin small letter z with caron":"","Latin small letter z with dot above":"","Latin small ligature ij":"","Latin small ligature oe":"","Left double quotation mark":"","Left single quotation mark":"","Left-pointing double angle quotation mark":"","leftwards arrow to bar":"panah kiri ke bar","leftwards dashed arrow":"Panah putus-putus ke kiri","leftwards double arrow":"Panah ganda ke kiri","Less-than or equal to":"Kurang dari atau sama dengan","Less-than sign":"Tanda kurang dari","Lira sign":"","Livre tournois sign":"","Logical and":"","Logical or":"",Macron:"","Manat sign":"","Mill sign":"","Minus sign":"Tanda negatif","Multiplication sign":"Tanda perkalian","N-ary product":"","N-ary summation":"",Nabla:"","Naira sign":"","New sheqel sign":"","Nordic mark sign":"","Not an element of":"Bukan sebuah elemen dari","Not equal to":"Tidak sama dengan","Not sign":"","on with exclamation mark with left right arrow above":"nyala tanda seru dengan panah kiri kanan di atas",Overline:"","Paragraph sign":"","Partial differential":"","Per mille sign":"","Per ten thousand sign":"","Peseta sign":"","Peso sign":"Tanda peso","Plus-minus sign":"Tanda lebih kurang","Pound sign":"Tanda pound","Proportional to":"Proporsional dengan","Question exclamation mark":"","Registered sign":"","Reversed paragraph sign":"","Right double quotation mark":"","Right single quotation mark":"","Right-pointing double angle quotation mark":"","rightwards arrow to bar":"panah kanan ke bar","rightwards dashed arrow":"Panah putus-putus ke kanan","rightwards double arrow":"Panah ganda ke kanan","Ruble sign":"","Rupee sign":"Tanda rupee","Section sign":"","Single left-pointing angle quotation mark":"","Single low-9 quotation mark":"","Single right-pointing angle quotation mark":"","soon with rightwards arrow above":"","Special characters":"Karakter spesial","Spesmilo sign":"","Square root":"Akar kuadrat","Tenge sign":"","There exists":"","Tilde operator":"","top with upwards arrow above":"","Trade mark sign":"","Tugrik sign":"","Turkish lira sign":"","Two dot leader":"",Union:"","up down arrow with base":"panah atas bawah dari dasar","upwards arrow to bar":"panah atas ke bar","upwards dashed arrow":"Panah putus-putus ke atas","upwards double arrow":"Panah ganda ke atas","Vulgar fraction one half":"","Vulgar fraction one quarter":"","Vulgar fraction three quarters":"","Won sign":"Tanda won","Yen sign":"Tanda yen"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/special-characters/translations/uz.js b/web/core/assets/vendor/ckeditor5/special-characters/translations/uz.js
new file mode 100644
index 0000000000..9041ea8f93
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/special-characters/translations/uz.js
@@ -0,0 +1 @@
+!function(t){const a=t.uz=t.uz||{};a.dictionary=Object.assign(a.dictionary||{},{"Almost equal to":"",Angle:"","Approximately equal to":"","Asterisk operator":"","Austral sign":"","back with leftwards arrow above":"","Bitcoin sign":"","Cedi sign":"","Cent sign":"","Character categories":"Kategoriyalar","Colon sign":"","Contains as member":"","Copyright sign":"","Cruzeiro sign":"","Currency sign":"","Degree sign":"","Division sign":"","Dollar sign":"","Dong sign":"","Double dagger":"","Double exclamation mark":"","Double low-9 quotation mark":"","Double question mark":"","downwards arrow to bar":"","downwards dashed arrow":"","downwards double arrow":"","Drachma sign":"","Element of":"","Em dash":"","Empty set":"","En dash":"","end with leftwards arrow above":"","Euro sign":"","Euro-currency sign":"","Exclamation question mark":"","For all":"","Fraction slash":"","French franc sign":"","German penny sign":"","Greater-than or equal to":"","Greater-than sign":"","Guarani sign":"","Horizontal ellipsis":"","Hryvnia sign":"","Identical to":"","Indian rupee sign":"",Infinity:"",Integral:"",Intersection:"","Inverted exclamation mark":"","Inverted question mark":"","Kip sign":"","Latin capital letter a with breve":"","Latin capital letter a with macron":"","Latin capital letter a with ogonek":"","Latin capital letter c with acute":"","Latin capital letter c with caron":"","Latin capital letter c with circumflex":"","Latin capital letter c with dot above":"","Latin capital letter d with caron":"","Latin capital letter d with stroke":"","Latin capital letter e with breve":"","Latin capital letter e with caron":"","Latin capital letter e with dot above":"","Latin capital letter e with macron":"","Latin capital letter e with ogonek":"","Latin capital letter eng":"","Latin capital letter g with breve":"","Latin capital letter g with cedilla":"","Latin capital letter g with circumflex":"","Latin capital letter g with dot above":"","Latin capital letter h with circumflex":"","Latin capital letter h with stroke":"","Latin capital letter i with breve":"","Latin capital letter i with dot above":"","Latin capital letter i with macron":"","Latin capital letter i with ogonek":"","Latin capital letter i with tilde":"","Latin capital letter j with circumflex":"","Latin capital letter k with cedilla":"","Latin capital letter l with acute":"","Latin capital letter l with caron":"","Latin capital letter l with cedilla":"","Latin capital letter l with middle dot":"","Latin capital letter l with stroke":"","Latin capital letter n with acute":"","Latin capital letter n with caron":"","Latin capital letter n with cedilla":"","Latin capital letter o with breve":"","Latin capital letter o with double acute":"","Latin capital letter o with macron":"","Latin capital letter r with acute":"","Latin capital letter r with caron":"","Latin capital letter r with cedilla":"","Latin capital letter s with acute":"","Latin capital letter s with caron":"","Latin capital letter s with cedilla":"","Latin capital letter s with circumflex":"","Latin capital letter t with caron":"","Latin capital letter t with cedilla":"","Latin capital letter t with stroke":"","Latin capital letter u with breve":"","Latin capital letter u with double acute":"","Latin capital letter u with macron":"","Latin capital letter u with ogonek":"","Latin capital letter u with ring above":"","Latin capital letter u with tilde":"","Latin capital letter w with circumflex":"","Latin capital letter y with circumflex":"","Latin capital letter y with diaeresis":"","Latin capital letter z with acute":"","Latin capital letter z with caron":"","Latin capital letter z with dot above":"","Latin capital ligature ij":"","Latin capital ligature oe":"","Latin small letter a with breve":"","Latin small letter a with macron":"","Latin small letter a with ogonek":"","Latin small letter c with acute":"","Latin small letter c with caron":"","Latin small letter c with circumflex":"","Latin small letter c with dot above":"","Latin small letter d with caron":"","Latin small letter d with stroke":"","Latin small letter dotless i":"","Latin small letter e with breve":"","Latin small letter e with caron":"","Latin small letter e with dot above":"","Latin small letter e with macron":"","Latin small letter e with ogonek":"","Latin small letter eng":"","Latin small letter f with hook":"","Latin small letter g with breve":"","Latin small letter g with cedilla":"","Latin small letter g with circumflex":"","Latin small letter g with dot above":"","Latin small letter h with circumflex":"","Latin small letter h with stroke":"","Latin small letter i with breve":"","Latin small letter i with macron":"","Latin small letter i with ogonek":"","Latin small letter i with tilde":"","Latin small letter j with circumflex":"","Latin small letter k with cedilla":"","Latin small letter kra":"","Latin small letter l with acute":"","Latin small letter l with caron":"","Latin small letter l with cedilla":"","Latin small letter l with middle dot":"","Latin small letter l with stroke":"","Latin small letter long s":"","Latin small letter n preceded by apostrophe":"","Latin small letter n with acute":"","Latin small letter n with caron":"","Latin small letter n with cedilla":"","Latin small letter o with breve":"","Latin small letter o with double acute":"","Latin small letter o with macron":"","Latin small letter r with acute":"","Latin small letter r with caron":"","Latin small letter r with cedilla":"","Latin small letter s with acute":"","Latin small letter s with caron":"","Latin small letter s with cedilla":"","Latin small letter s with circumflex":"","Latin small letter t with caron":"","Latin small letter t with cedilla":"","Latin small letter t with stroke":"","Latin small letter u with breve":"","Latin small letter u with double acute":"","Latin small letter u with macron":"","Latin small letter u with ogonek":"","Latin small letter u with ring above":"","Latin small letter u with tilde":"","Latin small letter w with circumflex":"","Latin small letter y with circumflex":"","Latin small letter z with acute":"","Latin small letter z with caron":"","Latin small letter z with dot above":"","Latin small ligature ij":"","Latin small ligature oe":"","Left double quotation mark":"","Left single quotation mark":"","Left-pointing double angle quotation mark":"","leftwards arrow to bar":"","leftwards dashed arrow":"","leftwards double arrow":"","Less-than or equal to":"","Less-than sign":"","Lira sign":"","Livre tournois sign":"","Logical and":"","Logical or":"",Macron:"","Manat sign":"","Mill sign":"","Minus sign":"","Multiplication sign":"","N-ary product":"","N-ary summation":"",Nabla:"","Naira sign":"","New sheqel sign":"","Nordic mark sign":"","Not an element of":"","Not equal to":"","Not sign":"","on with exclamation mark with left right arrow above":"",Overline:"","Paragraph sign":"","Partial differential":"","Per mille sign":"","Per ten thousand sign":"","Peseta sign":"","Peso sign":"","Plus-minus sign":"","Pound sign":"","Proportional to":"","Question exclamation mark":"","Registered sign":"","Reversed paragraph sign":"","Right double quotation mark":"","Right single quotation mark":"","Right-pointing double angle quotation mark":"","rightwards arrow to bar":"","rightwards dashed arrow":"","rightwards double arrow":"","Ruble sign":"","Rupee sign":"","Section sign":"","Single left-pointing angle quotation mark":"","Single low-9 quotation mark":"","Single right-pointing angle quotation mark":"","soon with rightwards arrow above":"","Special characters":"Maxsus belgilar","Spesmilo sign":"","Square root":"","Tenge sign":"","There exists":"","Tilde operator":"","top with upwards arrow above":"","Trade mark sign":"","Tugrik sign":"","Turkish lira sign":"","Two dot leader":"",Union:"","up down arrow with base":"","upwards arrow to bar":"","upwards dashed arrow":"","upwards double arrow":"","Vulgar fraction one half":"","Vulgar fraction one quarter":"","Vulgar fraction three quarters":"","Won sign":"","Yen sign":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/table/table.js b/web/core/assets/vendor/ckeditor5/table/table.js
index 32fff31f0b..250015b08b 100644
--- a/web/core/assets/vendor/ckeditor5/table/table.js
+++ b/web/core/assets/vendor/ckeditor5/table/table.js
@@ -1,5 +1,5 @@
+!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Align cell text to the bottom":"Align cell text to the bottom","Align cell text to the center":"Align cell text to the center","Align cell text to the left":"Align cell text to the left","Align cell text to the middle":"Align cell text to the middle","Align cell text to the right":"Align cell text to the right","Align cell text to the top":"Align cell text to the top","Align table to the left":"Align table to the left","Align table to the right":"Align table to the right",Alignment:"Alignment",Background:"Background",Border:"Border","Cell properties":"Cell properties","Center table":"Center table",Color:"Color","Color picker":"Color picker",Column:"Column",Dashed:"Dashed","Delete column":"Delete column","Delete row":"Delete row",Dimensions:"Dimensions",Dotted:"Dotted",Double:"Double","Enter table caption":"Enter table caption",Groove:"Groove","Header column":"Header column","Header row":"Header row",Height:"Height","Horizontal text alignment toolbar":"Horizontal text alignment toolbar","Insert column left":"Insert column left","Insert column right":"Insert column right","Insert row above":"Insert row above","Insert row below":"Insert row below","Insert table":"Insert table",Inset:"Inset","Justify cell text":"Justify cell text","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Merge cell right":"Merge cell right","Merge cell up":"Merge cell up","Merge cells":"Merge cells",None:"None",Outset:"Outset",Padding:"Padding",Ridge:"Ridge",Row:"Row","Select column":"Select column","Select row":"Select row",Solid:"Solid","Split cell horizontally":"Split cell horizontally","Split cell vertically":"Split cell vertically",Style:"Style","Table alignment toolbar":"Table alignment toolbar","Table cell text alignment":"Table cell text alignment","Table properties":"Table properties","Table toolbar":"Table toolbar",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'The value is invalid. Try "10px" or "2em" or simply "2".',"Toggle caption off":"Toggle caption off","Toggle caption on":"Toggle caption on","Vertical text alignment toolbar":"Vertical text alignment toolbar",Width:"Width"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
 /*!
- * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md.
- */
-!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Align cell text to the bottom":"Align cell text to the bottom","Align cell text to the center":"Align cell text to the center","Align cell text to the left":"Align cell text to the left","Align cell text to the middle":"Align cell text to the middle","Align cell text to the right":"Align cell text to the right","Align cell text to the top":"Align cell text to the top","Align table to the left":"Align table to the left","Align table to the right":"Align table to the right",Alignment:"Alignment",Background:"Background",Border:"Border","Cell properties":"Cell properties","Center table":"Center table",Color:"Color","Color picker":"Color picker",Column:"Column",Dashed:"Dashed","Delete column":"Delete column","Delete row":"Delete row",Dimensions:"Dimensions",Dotted:"Dotted",Double:"Double","Enter table caption":"Enter table caption",Groove:"Groove","Header column":"Header column","Header row":"Header row",Height:"Height","Horizontal text alignment toolbar":"Horizontal text alignment toolbar","Insert column left":"Insert column left","Insert column right":"Insert column right","Insert row above":"Insert row above","Insert row below":"Insert row below","Insert table":"Insert table",Inset:"Inset","Justify cell text":"Justify cell text","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Merge cell right":"Merge cell right","Merge cell up":"Merge cell up","Merge cells":"Merge cells",None:"None",Outset:"Outset",Padding:"Padding",Ridge:"Ridge",Row:"Row","Select column":"Select column","Select row":"Select row",Solid:"Solid","Split cell horizontally":"Split cell horizontally","Split cell vertically":"Split cell vertically",Style:"Style","Table alignment toolbar":"Table alignment toolbar","Table cell text alignment":"Table cell text alignment","Table properties":"Table properties","Table toolbar":"Table toolbar",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'The value is invalid. Try "10px" or "2em" or simply "2".',"Toggle caption off":"Toggle caption off","Toggle caption on":"Toggle caption on","Vertical text alignment toolbar":"Vertical text alignment toolbar",Width:"Width"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),window.CKEditor5=window.CKEditor5||{},window.CKEditor5.table=function(e){var t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,o),i.l=!0,i.exports}return o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=32)}([function(e,t,o){e.exports=o(6)("./src/ui.js")},function(e,t,o){e.exports=o(6)("./src/core.js")},function(e,t,o){e.exports=o(6)("./src/utils.js")},function(e,t,o){e.exports=o(6)("./src/engine.js")},function(e,t,o){e.exports=o(6)("./src/widget.js")},function(e,t,o){"use strict";var n,i=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},r=function(){var e={};return function(t){if(void 0===e[t]){var o=document.querySelector(t);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}e[t]=o}return e[t]}}(),l=[];function s(e){for(var t=-1,o=0;o<l.length;o++)if(l[o].identifier===e){t=o;break}return t}function a(e,t){for(var o={},n=[],i=0;i<e.length;i++){var r=e[i],a=t.base?r[0]+t.base:r[0],c=o[a]||0,d="".concat(a," ").concat(c);o[a]=c+1;var u=s(d),h={css:r[1],media:r[2],sourceMap:r[3]};-1!==u?(l[u].references++,l[u].updater(h)):l.push({identifier:d,updater:p(h,t),references:1}),n.push(d)}return n}function c(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var i=o.nc;i&&(n.nonce=i)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var l=r(e.insert||"head");if(!l)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");l.appendChild(t)}return t}var d,u=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function h(e,t,o,n){var i=o?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=u(t,i);else{var r=document.createTextNode(i),l=e.childNodes;l[t]&&e.removeChild(l[t]),l.length?e.insertBefore(r,l[t]):e.appendChild(r)}}function b(e,t,o){var n=o.css,i=o.media,r=o.sourceMap;if(i?e.setAttribute("media",i):e.removeAttribute("media"),r&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var m=null,g=0;function p(e,t){var o,n,i;if(t.singleton){var r=g++;o=m||(m=c(t)),n=h.bind(null,o,r,!1),i=h.bind(null,o,r,!0)}else o=c(t),n=b.bind(null,o,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(o)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=i());var o=a(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<o.length;n++){var i=s(o[n]);l[i].references--}for(var r=a(e,t),c=0;c<o.length;c++){var d=s(o[c]);0===l[d].references&&(l[d].updater(),l.splice(d,1))}o=r}}}},function(e,t){e.exports=CKEditor5.dll},,function(e,t,o){var n=o(5),i=o(23);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(i,r);e.exports=i.locals||{}},function(e,t,o){var n=o(5),i=o(24);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(i,r);e.exports=i.locals||{}},function(e,t,o){"use strict";(function(e){var o="object"==typeof e&&e&&e.Object===Object&&e;t.a=o}).call(this,o(27))},function(e,t,o){var n=o(5),i=o(12);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(i,r);e.exports=i.locals||{}},function(e,t){e.exports=":root{--ck-color-table-focused-cell-background:rgba(158,207,250,0.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-table-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}"},function(e,t,o){var n=o(5),i=o(14);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(i,r);e.exports=i.locals||{}},function(e,t){e.exports=".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2);padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0}.ck .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{width:var(--ck-insert-table-dropdown-box-width);height:var(--ck-insert-table-dropdown-box-height);margin:var(--ck-insert-table-dropdown-box-margin);border:1px solid var(--ck-color-base-border);border-radius:1px}.ck .ck-insert-table-dropdown-grid-box.ck-on{border-color:var(--ck-color-focus-border);background:var(--ck-color-focus-outer-shadow)}"},function(e,t,o){var n=o(5),i=o(16);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(i,r);e.exports=i.locals||{}},function(e,t){e.exports=':root{--ck-table-selected-cell-background:rgba(158,207,250,0.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{position:relative;caret-color:transparent;outline:unset;box-shadow:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{content:"";pointer-events:none;background-color:var(--ck-table-selected-cell-background);position:absolute;top:0;left:0;right:0;bottom:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}'},function(e,t,o){var n=o(5),i=o(18);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(i,r);e.exports=i.locals||{}},function(e,t){e.exports=".ck-content .table{margin:.9em auto;display:table}.ck-content .table table{border-collapse:collapse;border-spacing:0;width:100%;height:100%;border:1px double #b3b3b3}.ck-content .table table td,.ck-content .table table th{min-width:2em;padding:.4em;border:1px solid #bfbfbf}.ck-content .table table th{font-weight:700;background:hsla(0,0%,0%,5%)}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}"},function(e,t,o){var n=o(5),i=o(20);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(i,r);e.exports=i.locals||{}},function(e,t){e.exports=".ck.ck-input-color{width:100%;display:flex;flex-direction:row-reverse}.ck.ck-input-color>input.ck.ck-input-text{min-width:auto;flex-grow:1}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{position:relative;overflow:hidden}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{position:absolute;display:block}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-top-right-radius:0;border-bottom-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{width:20px;height:20px;border:1px solid var(--ck-color-input-border)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{top:-30%;left:50%;height:150%;width:8%;background:red;border-radius:2px;transform:rotate(45deg);transform-origin:50%}.ck.ck-input-color .ck.ck-input-color__remove-color{width:100%;border-bottom:1px solid var(--ck-color-input-border);padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);border-bottom-left-radius:0;border-bottom-right-radius:0}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:0;margin-left:var(--ck-spacing-standard)}"},function(e,t,o){var n=o(5),i=o(22);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(i,r);e.exports=i.locals||{}},function(e,t){e.exports=".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{width:100%;min-width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}"},function(e,t){e.exports=".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}"},function(e,t){e.exports='.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{flex-wrap:wrap;align-items:center}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{display:flex;flex-direction:column-reverse;align-items:center}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{position:absolute;left:50%;bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:"";position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{width:80px;min-width:80px;max-width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);padding:var(--ck-spacing-small) var(--ck-spacing-medium);min-width:var(--ck-table-properties-min-error-width);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-left:var(--ck-table-properties-error-arrow-size) solid transparent;border-bottom:var(--ck-table-properties-error-arrow-size) solid var(--ck-color-base-error);border-right:var(--ck-table-properties-error-arrow-size) solid transparent;border-top:0 solid transparent}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}'},function(e,t,o){var n=o(5),i=o(26);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(i,r);e.exports=i.locals||{}},function(e,t){e.exports=".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}"},function(e,t){var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(e){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,o){var n=o(5),i=o(29);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(i,r);e.exports=i.locals||{}},function(e,t){e.exports=".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{flex-wrap:wrap;flex-basis:0;align-content:baseline}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}"},function(e,t,o){var n=o(5),i=o(31);"string"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.i,i,""]]);var r={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n(i,r);e.exports=i.locals||{}},function(e,t){e.exports=":root{--ck-color-table-caption-background:#f7f7f7;--ck-color-table-caption-text:#333;--ck-color-table-caption-highlighted-background:#fd0}.ck-content .table>figcaption{display:table-caption;caption-side:top;word-break:break-word;text-align:center;color:var(--ck-color-table-caption-text);background-color:var(--ck-color-table-caption-background);padding:.6em;font-size:.75em;outline-offset:-1px}.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{padding-left:inherit;padding-right:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-table-caption-highlighted-background)}to{background-color:var(--ck-color-table-caption-background)}}"},function(e,t,o){"use strict";o.r(t),o.d(t,"Table",(function(){return He})),o.d(t,"TableEditing",(function(){return ye})),o.d(t,"TableUI",(function(){return Se})),o.d(t,"TableToolbar",(function(){return Ue})),o.d(t,"TableCellProperties",(function(){return go})),o.d(t,"TableCellPropertiesEditing",(function(){return bo})),o.d(t,"TableCellPropertiesUI",(function(){return Gt})),o.d(t,"TableProperties",(function(){return Bo})),o.d(t,"TablePropertiesEditing",(function(){return Ao})),o.d(t,"TablePropertiesUI",(function(){return Eo})),o.d(t,"TableCaption",(function(){return Wo})),o.d(t,"TableCaptionEditing",(function(){return Ho})),o.d(t,"TableCaptionUI",(function(){return Do})),o.d(t,"TableClipboard",(function(){return Pe})),o.d(t,"TableMouse",(function(){return Me})),o.d(t,"TableKeyboard",(function(){return Le})),o.d(t,"TableSelection",(function(){return Ie})),o.d(t,"TableUtils",(function(){return te}));var n=o(1),i=o(4);function r(e,t,o,n,i=1){t>i?n.setAttribute(e,t,o):n.removeAttribute(e,o)}function l(e,t,o={}){const n=e.createElement("tableCell",o);return e.insertElement("paragraph",n),e.insert(n,t),n}function s(e,t){const o=t.parent.parent,n=parseInt(o.getAttribute("headingColumns")||0),{column:i}=e.getCellLocation(t);return!!n&&i<n}var a=o(2);function c(){return e=>{e.on("element:table",(e,t,o)=>{const n=t.viewItem;if(!o.consumable.test(n,{name:!0}))return;const{rows:i,headingRows:r,headingColumns:s}=function(e){const t={headingRows:0,headingColumns:0},o=[],n=[];let i;for(const r of Array.from(e.getChildren()))if("tbody"===r.name||"thead"===r.name||"tfoot"===r.name){"thead"!==r.name||i||(i=r);const e=Array.from(r.getChildren()).filter(e=>e.is("element","tr"));for(const r of e)if("thead"===r.parent.name&&r.parent===i)t.headingRows++,o.push(r);else{n.push(r);const e=u(r);e>t.headingColumns&&(t.headingColumns=e)}}return t.rows=[...o,...n],t}(n),a={};s&&(a.headingColumns=s),r&&(a.headingRows=r);const c=o.writer.createElement("table",a);if(o.safeInsert(c,t.modelCursor)){if(o.consumable.consume(n,{name:!0}),i.forEach(e=>o.convertItem(e,o.writer.createPositionAt(c,"end"))),o.convertChildren(n,o.writer.createPositionAt(c,"end")),c.isEmpty){const e=o.writer.createElement("tableRow");o.writer.insert(e,o.writer.createPositionAt(c,"end")),l(o.writer,o.writer.createPositionAt(e,"end"))}o.updateConversionResult(c,t)}})}}function d(e){return t=>{t.on("element:"+e,(e,t,o)=>{if(t.modelRange&&t.viewItem.isEmpty){const e=t.modelRange.start.nodeAfter,n=o.writer.createPositionAt(e,0);o.writer.insertElement("paragraph",n)}},{priority:"low"})}}function u(e){let t=0,o=0;const n=Array.from(e.getChildren()).filter(e=>"th"===e.name||"td"===e.name);for(;o<n.length&&"th"===n[o].name;){const e=n[o];t+=parseInt(e.getAttribute("colspan")||1),o++}return t}class h{constructor(e,t={}){this._table=e,this._startRow=void 0!==t.row?t.row:t.startRow||0,this._endRow=void 0!==t.row?t.row:t.endRow,this._startColumn=void 0!==t.column?t.column:t.startColumn||0,this._endColumn=void 0!==t.column?t.column:t.endColumn,this._includeAllSlots=!!t.includeAllSlots,this._skipRows=new Set,this._row=0,this._rowIndex=0,this._column=0,this._cellIndex=0,this._spannedCells=new Map,this._nextCellAtColumn=-1}[Symbol.iterator](){return this}next(){const e=this._table.getChild(this._rowIndex);if(!e||this._isOverEndRow())return{done:!0};if(!e.is("element","tableRow"))return this._rowIndex++,this.next();if(this._isOverEndColumn())return this._advanceToNextRow();let t=null;const o=this._getSpanned();if(o)this._includeAllSlots&&!this._shouldSkipSlot()&&(t=this._formatOutValue(o.cell,o.row,o.column));else{const o=e.getChild(this._cellIndex);if(!o)return this._advanceToNextRow();const n=parseInt(o.getAttribute("colspan")||1),i=parseInt(o.getAttribute("rowspan")||1);(n>1||i>1)&&this._recordSpans(o,i,n),this._shouldSkipSlot()||(t=this._formatOutValue(o)),this._nextCellAtColumn=this._column+n}return this._column++,this._column==this._nextCellAtColumn&&this._cellIndex++,t||this.next()}skipRow(e){this._skipRows.add(e)}_advanceToNextRow(){return this._row++,this._rowIndex++,this._column=0,this._cellIndex=0,this._nextCellAtColumn=-1,this.next()}_isOverEndRow(){return void 0!==this._endRow&&this._row>this._endRow}_isOverEndColumn(){return void 0!==this._endColumn&&this._column>this._endColumn}_formatOutValue(e,t=this._row,o=this._column){return{done:!1,value:new b(this,e,t,o)}}_shouldSkipSlot(){const e=this._skipRows.has(this._row),t=this._row<this._startRow,o=this._column<this._startColumn,n=void 0!==this._endColumn&&this._column>this._endColumn;return e||t||o||n}_getSpanned(){const e=this._spannedCells.get(this._row);return e&&e.get(this._column)||null}_recordSpans(e,t,o){const n={cell:e,row:this._row,column:this._column};for(let e=this._row;e<this._row+t;e++)for(let t=this._column;t<this._column+o;t++)e==this._row&&t==this._column||this._markSpannedCell(e,t,n)}_markSpannedCell(e,t,o){this._spannedCells.has(e)||this._spannedCells.set(e,new Map);this._spannedCells.get(e).set(t,o)}}class b{constructor(e,t,o,n){this.cell=t,this.row=e._row,this.column=e._column,this.cellAnchorRow=o,this.cellAnchorColumn=n,this._cellIndex=e._cellIndex,this._rowIndex=e._rowIndex,this._table=e._table}get isAnchor(){return this.row===this.cellAnchorRow&&this.column===this.cellAnchorColumn}get cellWidth(){return parseInt(this.cell.getAttribute("colspan")||1)}get cellHeight(){return parseInt(this.cell.getAttribute("rowspan")||1)}get rowIndex(){return this._rowIndex}getPositionBefore(){return this._table.root.document.model.createPositionAt(this._table.getChild(this.row),this._cellIndex)}}function m(e={}){return t=>t.on("insert:table",(t,o,n)=>{const r=o.item;if(!n.consumable.consume(r,"insert"))return;n.consumable.consume(r,"attribute:headingRows:table"),n.consumable.consume(r,"attribute:headingColumns:table");const l=e&&e.asWidget,s=n.writer.createContainerElement("figure",{class:"table"}),a=n.writer.createContainerElement("table");let c;var d,u;n.writer.insert(n.writer.createPositionAt(s,0),a),l&&(d=s,(u=n.writer).setCustomProperty("table",!0,d),c=Object(i.toWidget)(d,u,{hasSelectionHandle:!0}));const b=new h(r),m={headingRows:r.getAttribute("headingRows")||0,headingColumns:r.getAttribute("headingColumns")||0},g=new Map;for(const t of b){const{row:o,cell:i}=t,l=r.getChild(o),s=g.get(o)||_(a,l,o,m,n);g.set(o,s),n.consumable.consume(i,"insert");w(t,m,n.writer.createPositionAt(s,"end"),n,e)}for(const e of r.getChildren()){const t=e.index;e.is("element","tableRow")&&!g.has(t)&&g.set(t,_(a,e,t,m,n))}const p=n.mapper.toViewPosition(o.range.start);n.mapper.bindElements(r,l?c:s),n.writer.insert(p,l?c:s)})}function g(e,t){const{writer:o}=t;if(e.parent.is("element","tableCell"))return p(e)?o.createContainerElement("span",{class:"ck-table-bogus-paragraph"}):o.createContainerElement("p")}function p(e){return 1===e.parent.childCount&&!y(e)}function f(e,t,o){const{cell:n}=e,r=k(e,t),l=o.mapper.toViewElement(n);l&&l.name!==r&&function(e,t,o){const n=o.writer,r=o.mapper.toViewElement(e),l=n.createEditableElement(t,r.getAttributes()),s=Object(i.toWidgetEditable)(l,n);n.insert(n.createPositionAfter(r),s),n.move(n.createRangeIn(r),n.createPositionAt(s,0)),n.remove(n.createRangeOn(r)),o.mapper.unbindViewElement(r),o.mapper.bindElements(e,s)}(n,r,o)}function w(e,t,o,n,r){const l=r&&r.asWidget,s=k(e,t),a=l?Object(i.toWidgetEditable)(n.writer.createEditableElement(s),n.writer):n.writer.createContainerElement(s),c=e.cell,d=c.getChild(0),u=1===c.childCount&&"paragraph"===d.name;if(n.writer.insert(o,a),n.mapper.bindElements(c,a),!l&&u&&!y(d)){const e=c.getChild(0);n.consumable.consume(e,"insert"),n.mapper.bindElements(e,a)}}function _(e,t,o,n,i){i.consumable.consume(t,"insert");const r=t.isEmpty?i.writer.createEmptyElement("tr"):i.writer.createContainerElement("tr");i.mapper.bindElements(t,r);const l=n.headingRows,s=function(e,t,o){const n=v(e,t);return n||function(e,t,o){const n=o.writer.createContainerElement(e),i=o.writer.createPositionAt(t,"tbody"==e?"end":0);return o.writer.insert(i,n),n}(e,t,o)}(function(e,t){return e<t.headingRows?"thead":"tbody"}(o,n),e,i),a=l>0&&o>=l?o-l:o,c=i.writer.createPositionAt(s,a);return i.writer.insert(c,r),r}function k(e,t){const{row:o,column:n}=e,{headingColumns:i,headingRows:r}=t;if(r&&r>o)return"th";return i&&i>n?"th":"td"}function v(e,t){for(const o of t.getChildren())if(o.name==e)return o}function C(e,t,o){const n=v(e,t);n&&0===n.childCount&&o.writer.remove(o.writer.createRangeOn(n))}function y(e){return!![...e.getAttributeKeys()].length}class T extends n.Command{refresh(){const e=this.editor.model,t=e.document.selection,o=e.schema;this.isEnabled=function(e,t){const o=e.getFirstPosition().parent,n=o===o.root?o:o.parent;return t.checkChild(n,"table")}(t,o)}execute(e={}){const t=this.editor.model,o=t.document.selection,n=this.editor.plugins.get("TableUtils"),r=this.editor.config.get("table"),l=Object(i.findOptimalInsertionRange)(o,t),s=r.defaultHeadings.rows,a=r.defaultHeadings.columns;void 0===e.headingRows&&s&&(e.headingRows=s),void 0===e.headingColumns&&a&&(e.headingColumns=a),t.change(o=>{const i=n.createTable(o,e);t.insertContent(i,l),o.setSelection(o.createPositionAt(i.getNodeByPath([0,0,0]),0))})}}function x(e){const t=[];for(const o of P(e.getRanges())){const e=o.getContainedElement();e&&e.is("element","tableCell")&&t.push(e)}return t}function A(e){const t=[];for(const o of e.getRanges()){const e=o.start.findAncestor("tableCell");e&&t.push(e)}return t}function V(e){const t=x(e);return t.length?t:A(e)}function S(e){return E(e.map(e=>e.parent.index))}function R(e){const t=e[0].findAncestor("table");return E([...new h(t)].filter(t=>e.includes(t.cell)).map(e=>e.column))}function I(e,t){if(e.length<2||!function(e){const t=e[0].findAncestor("table"),o=S(e),n=parseInt(t.getAttribute("headingRows")||0);if(!O(o,n))return!1;const i=parseInt(t.getAttribute("headingColumns")||0);return O(R(e),i)}(e))return!1;const o=new Set,n=new Set;let i=0;for(const r of e){const{row:e,column:l}=t.getCellLocation(r),s=parseInt(r.getAttribute("rowspan")||1),a=parseInt(r.getAttribute("colspan")||1);o.add(e),n.add(l),s>1&&o.add(e+s-1),a>1&&n.add(l+a-1),i+=s*a}return function(e,t){const o=Array.from(e.values()),n=Array.from(t.values()),i=Math.max(...o),r=Math.min(...o),l=Math.max(...n),s=Math.min(...n);return(i-r+1)*(l-s+1)}(o,n)==i}function P(e){return Array.from(e).sort(B)}function E(e){const t=e.sort((e,t)=>e-t);return{first:t[0],last:t[t.length-1]}}function B(e,t){const o=e.start,n=t.start;return o.isBefore(n)?-1:1}function O({first:e,last:t},o){return e<o===t<o}class L extends n.Command{constructor(e,t={}){super(e),this.order=t.order||"below"}refresh(){const e=!!V(this.editor.model.document.selection).length;this.isEnabled=e}execute(){const e=this.editor,t=e.model.document.selection,o=e.plugins.get("TableUtils"),n="above"===this.order,i=V(t),r=S(i),l=n?r.first:r.last,s=i[0].findAncestor("table");o.insertRows(s,{at:n?l:l+1,copyStructureFromAbove:!n})}}class N extends n.Command{constructor(e,t={}){super(e),this.order=t.order||"right"}refresh(){const e=!!V(this.editor.model.document.selection).length;this.isEnabled=e}execute(){const e=this.editor,t=e.model.document.selection,o=e.plugins.get("TableUtils"),n="left"===this.order,i=V(t),r=R(i),l=n?r.first:r.last,s=i[0].findAncestor("table");o.insertColumns(s,{columns:1,at:n?l:l+1})}}class z extends n.Command{constructor(e,t={}){super(e),this.direction=t.direction||"horizontally"}refresh(){const e=V(this.editor.model.document.selection);this.isEnabled=1===e.length}execute(){const e=V(this.editor.model.document.selection)[0],t="horizontally"===this.direction,o=this.editor.plugins.get("TableUtils");t?o.splitCellHorizontally(e,2):o.splitCellVertically(e,2)}}function M(e,t,o){const{startRow:n,startColumn:i,endRow:s,endColumn:a}=t,c=o.createElement("table"),d=s-n+1;for(let e=0;e<d;e++)o.insertElement("tableRow",c,"end");const u=[...new h(e,{startRow:n,endRow:s,startColumn:i,endColumn:a,includeAllSlots:!0})];for(const{row:e,column:t,cell:r,isAnchor:d,cellAnchorRow:h,cellAnchorColumn:b}of u){const u=e-n,m=c.getChild(u);if(d){const n=o.cloneElement(r);o.append(n,m),j(n,e,t,s,a,o)}else(h<n||b<i)&&l(o,o.createPositionAt(m,"end"))}return function(e,t,o,n,i){const l=parseInt(t.getAttribute("headingRows")||0);if(l>0){r("headingRows",l-o,e,i,0)}const s=parseInt(t.getAttribute("headingColumns")||0);if(s>0){r("headingColumns",s-n,e,i,0)}}(c,e,n,i,o),c}function F(e,t,o=0){const n=[],i=new h(e,{startRow:o,endRow:t-1});for(const e of i){const{row:o,cellHeight:i}=e,r=o+i-1;o<t&&t<=r&&n.push(e)}return n}function H(e,t,o){const n=e.parent,i=n.parent,s=n.index,a=t-s,c={},d=parseInt(e.getAttribute("rowspan"))-a;d>1&&(c.rowspan=d);const u=parseInt(e.getAttribute("colspan")||1);u>1&&(c.colspan=u);const b=s+a,m=[...new h(i,{startRow:s,endRow:b,includeAllSlots:!0})];let g,p=null;for(const t of m){const{row:n,column:i,cell:r}=t;r===e&&void 0===g&&(g=i),void 0!==g&&g===i&&n===b&&(p=l(o,t.getPositionBefore(),c))}return r("rowspan",a,e,o),p}function D(e,t){const o=[],n=new h(e);for(const e of n){const{column:n,cellWidth:i}=e,r=n+i-1;n<t&&t<=r&&o.push(e)}return o}function W(e,t,o,n){const i=o-t,s={},a=parseInt(e.getAttribute("colspan"))-i;a>1&&(s.colspan=a);const c=parseInt(e.getAttribute("rowspan")||1);c>1&&(s.rowspan=c);const d=l(n,n.createPositionAfter(e),s);return r("colspan",i,e,n),d}function j(e,t,o,n,i,l){const s=parseInt(e.getAttribute("colspan")||1),a=parseInt(e.getAttribute("rowspan")||1);if(o+s-1>i){r("colspan",i-o+1,e,l,1)}if(t+a-1>n){r("rowspan",n-t+1,e,l,1)}}function U(e,t){const o=t.getColumns(e),n=new Array(o).fill(0);for(const{column:t}of new h(e))n[t]++;const i=n.reduce((e,t,o)=>t?e:[...e,o],[]);if(i.length>0){const o=i[i.length-1];return t.removeColumns(e,{at:o}),!0}return!1}function K(e,t){const o=[],n=t.getRows(e);for(let t=0;t<n;t++){e.getChild(t).isEmpty&&o.push(t)}if(o.length>0){const n=o[o.length-1];return t.removeRows(e,{at:n}),!0}return!1}function $(e,t){U(e,t)||K(e,t)}function q(e,t){const o=Array.from(new h(e,{startColumn:t.firstColumn,endColumn:t.lastColumn,row:t.lastRow}));if(o.every(({cellHeight:e})=>1===e))return t.lastRow;const n=o[0].cellHeight-1;return t.lastRow+n}function G(e,t){const o=Array.from(new h(e,{startRow:t.firstRow,endRow:t.lastRow,column:t.lastColumn}));if(o.every(({cellWidth:e})=>1===e))return t.lastColumn;const n=o[0].cellWidth-1;return t.lastColumn+n}class J extends n.Command{constructor(e,t){super(e),this.direction=t.direction,this.isHorizontal="right"==this.direction||"left"==this.direction}refresh(){const e=this._getMergeableCell();this.value=e,this.isEnabled=!!e}execute(){const e=this.editor.model,t=A(e.document.selection)[0],o=this.value,n=this.direction;e.change(e=>{const i="right"==n||"down"==n,r=i?t:o,l=i?o:t,s=l.parent;!function(e,t,o){X(e)||(X(t)&&o.remove(o.createRangeIn(t)),o.move(o.createRangeIn(e),o.createPositionAt(t,"end")));o.remove(e)}(l,r,e);const a=this.isHorizontal?"colspan":"rowspan",c=parseInt(t.getAttribute(a)||1),d=parseInt(o.getAttribute(a)||1);e.setAttribute(a,c+d,r),e.setSelection(e.createRangeIn(r));const u=this.editor.plugins.get("TableUtils");$(s.findAncestor("table"),u)})}_getMergeableCell(){const e=A(this.editor.model.document.selection)[0];if(!e)return;const t=this.editor.plugins.get("TableUtils"),o=this.isHorizontal?function(e,t,o){const n=e.parent.parent,i="right"==t?e.nextSibling:e.previousSibling,r=(n.getAttribute("headingColumns")||0)>0;if(!i)return;const l="right"==t?e:i,a="right"==t?i:e,{column:c}=o.getCellLocation(l),{column:d}=o.getCellLocation(a),u=parseInt(l.getAttribute("colspan")||1),h=s(o,l),b=s(o,a);if(r&&h!=b)return;return c+u===d?i:void 0}(e,this.direction,t):function(e,t,o){const n=e.parent,i=n.parent,r=i.getChildIndex(n);if("down"==t&&r===o.getRows(i)-1||"up"==t&&0===r)return;const l=parseInt(e.getAttribute("rowspan")||1),s=i.getAttribute("headingRows")||0,a="down"==t&&r+l===s,c="up"==t&&r===s;if(s&&(a||c))return;const d=parseInt(e.getAttribute("rowspan")||1),u="down"==t?r+d:r,b=[...new h(i,{endRow:u})],m=b.find(t=>t.cell===e).column,g=b.find(({row:e,cellHeight:o,column:n})=>n===m&&("down"==t?e===u:u===e+o));return g&&g.cell}(e,this.direction,t);if(!o)return;const n=this.isHorizontal?"rowspan":"colspan",i=parseInt(e.getAttribute(n)||1);return parseInt(o.getAttribute(n)||1)===i?o:void 0}}function X(e){return 1==e.childCount&&e.getChild(0).is("element","paragraph")&&e.getChild(0).isEmpty}class Y extends n.Command{refresh(){const e=V(this.editor.model.document.selection),t=e[0];if(t){const o=t.findAncestor("table"),n=this.editor.plugins.get("TableUtils").getRows(o)-1,i=S(e),r=0===i.first&&i.last===n;this.isEnabled=!r}else this.isEnabled=!1}execute(){const e=this.editor.model,t=this.editor.plugins.get("TableUtils"),o=V(e.document.selection),n=S(o),i=o[0],r=i.findAncestor("table"),l=t.getCellLocation(i).column;e.change(e=>{const o=n.last-n.first+1;t.removeRows(r,{at:n.first,rows:o});const i=function(e,t,o,n){const i=e.getChild(Math.min(t,n-1));let r=i.getChild(0),l=0;for(const e of i.getChildren()){if(l>o)return r;r=e,l+=parseInt(e.getAttribute("colspan")||1)}return r}(r,n.first,l,t.getRows(r));e.setSelection(e.createPositionAt(i,0))})}}class Q extends n.Command{refresh(){const e=V(this.editor.model.document.selection),t=e[0];if(t){const o=t.findAncestor("table"),n=this.editor.plugins.get("TableUtils").getColumns(o),{first:i,last:r}=R(e);this.isEnabled=r-i<n-1}else this.isEnabled=!1}execute(){const[e,t]=function(e){const t=V(e),o=t[0],n=t.pop(),i=[o,n];return o.isBefore(n)?i:i.reverse()}(this.editor.model.document.selection),o=e.parent.parent,n=[...new h(o)],i={first:n.find(t=>t.cell===e).column,last:n.find(e=>e.cell===t).column},r=function(e,t,o,n){return parseInt(o.getAttribute("colspan")||1)>1?o:t.previousSibling||o.nextSibling?o.nextSibling||t.previousSibling:n.first?e.reverse().find(({column:e})=>e<n.first).cell:e.reverse().find(({column:e})=>e>n.last).cell}(n,e,t,i);this.editor.model.change(e=>{const t=i.last-i.first+1;this.editor.plugins.get("TableUtils").removeColumns(o,{at:i.first,columns:t}),e.setSelection(e.createPositionAt(r,0))})}}class Z extends n.Command{refresh(){const e=V(this.editor.model.document.selection),t=e.length>0;this.isEnabled=t,this.value=t&&e.every(e=>this._isInHeading(e,e.parent.parent))}execute(e={}){if(e.forceValue===this.value)return;const t=this.editor.model,o=V(t.document.selection),n=o[0].findAncestor("table"),{first:i,last:l}=S(o),s=this.value?i:l+1,a=n.getAttribute("headingRows")||0;t.change(e=>{if(s){const t=F(n,s,s>a?a:0);for(const{cell:o}of t)H(o,s,e)}r("headingRows",s,n,e,0)})}_isInHeading(e,t){const o=parseInt(t.getAttribute("headingRows")||0);return!!o&&e.parent.index<o}}class ee extends n.Command{refresh(){const e=V(this.editor.model.document.selection),t=this.editor.plugins.get("TableUtils"),o=e.length>0;this.isEnabled=o,this.value=o&&e.every(e=>s(t,e))}execute(e={}){if(e.forceValue===this.value)return;const t=this.editor.model,o=V(t.document.selection),n=o[0].findAncestor("table"),{first:i,last:l}=R(o),s=this.value?i:l+1;t.change(e=>{if(s){const t=D(n,s);for(const{cell:o,column:n}of t)W(o,n,s,e)}r("headingColumns",s,n,e,0)})}}class te extends n.Plugin{static get pluginName(){return"TableUtils"}init(){this.decorate("insertColumns"),this.decorate("insertRows")}getCellLocation(e){const t=e.parent,o=t.parent,n=o.getChildIndex(t),i=new h(o,{row:n});for(const{cell:t,row:o,column:n}of i)if(t===e)return{row:o,column:n}}createTable(e,t){const o=e.createElement("table"),n=parseInt(t.rows)||2,i=parseInt(t.columns)||2;return oe(e,o,0,n,i),t.headingRows&&r("headingRows",Math.min(t.headingRows,n),o,e,0),t.headingColumns&&r("headingColumns",Math.min(t.headingColumns,i),o,e,0),o}insertRows(e,t={}){const o=this.editor.model,n=t.at||0,i=t.rows||1,s=void 0!==t.copyStructureFromAbove,c=t.copyStructureFromAbove?n-1:n,d=this.getRows(e),u=this.getColumns(e);if(n>d)throw new a.CKEditorError("tableutils-insertrows-insert-out-of-range",this,{options:t});o.change(t=>{const o=e.getAttribute("headingRows")||0;if(o>n&&r("headingRows",o+i,e,t,0),!s&&(0===n||n===d))return void oe(t,e,n,i,u);const a=s?Math.max(n,c):n,b=new h(e,{endRow:a}),m=new Array(u).fill(1);for(const{row:e,column:o,cellHeight:r,cellWidth:l,cell:a}of b){const d=e+r-1,u=e<=c&&c<=d;e<n&&n<=d?(t.setAttribute("rowspan",r+i,a),m[o]=-l):s&&u&&(m[o]=l)}for(let o=0;o<i;o++){const o=t.createElement("tableRow");t.insert(o,e,n);for(let e=0;e<m.length;e++){const n=m[e],i=t.createPositionAt(o,"end");n>0&&l(t,i,n>1?{colspan:n}:null),e+=Math.abs(n)-1}}})}insertColumns(e,t={}){const o=this.editor.model,n=t.at||0,i=t.columns||1;o.change(t=>{const o=e.getAttribute("headingColumns");n<o&&t.setAttribute("headingColumns",o+i,e);const r=this.getColumns(e);if(0===n||r===n){for(const o of e.getChildren())o.is("element","tableRow")&&ne(i,t,t.createPositionAt(o,n?"end":0));return}const l=new h(e,{column:n,includeAllSlots:!0});for(const e of l){const{row:o,cell:r,cellAnchorColumn:s,cellAnchorRow:a,cellWidth:c,cellHeight:d}=e;if(s<n){t.setAttribute("colspan",c+i,r);const e=a+d-1;for(let t=o;t<=e;t++)l.skipRow(t)}else ne(i,t,e.getPositionBefore())}})}removeRows(e,t){const o=this.editor.model,n=t.rows||1,i=this.getRows(e),l=t.at,s=l+n-1;if(s>i-1)throw new a.CKEditorError("tableutils-removerows-row-index-out-of-range",this,{table:e,options:t});o.change(t=>{const{cellsToMove:o,cellsToTrim:n}=function(e,t,o){const n=new Map,i=[];for(const{row:r,column:l,cellHeight:s,cell:a}of new h(e,{endRow:o})){const e=r+s-1;if(r>=t&&r<=o&&e>o){const e=s-(o-r+1);n.set(l,{cell:a,rowspan:e})}if(r<t&&e>=t){let n;n=e>=o?o-t+1:e-t+1,i.push({cell:a,rowspan:s-n})}}return{cellsToMove:n,cellsToTrim:i}}(e,l,s);if(o.size){!function(e,t,o,n){const i=[...new h(e,{includeAllSlots:!0,row:t})],l=e.getChild(t);let s;for(const{column:e,cell:t,isAnchor:a}of i)if(o.has(e)){const{cell:t,rowspan:i}=o.get(e),a=s?n.createPositionAfter(s):n.createPositionAt(l,0);n.move(n.createRangeOn(t),a),r("rowspan",i,t,n),s=t}else a&&(s=t)}(e,s+1,o,t)}for(let o=s;o>=l;o--)t.remove(e.getChild(o));for(const{rowspan:e,cell:o}of n)r("rowspan",e,o,t);!function(e,t,o,n){const i=e.getAttribute("headingRows")||0;if(t<i){r("headingRows",o<i?i-(o-t+1):t,e,n,0)}}(e,l,s,t),U(e,this)||K(e,this)})}removeColumns(e,t){const o=this.editor.model,n=t.at,i=t.columns||1,l=t.at+i-1;o.change(t=>{!function(e,t,o){const n=e.getAttribute("headingColumns")||0;if(n&&t.first<n){const i=Math.min(n-1,t.last)-t.first+1;o.setAttribute("headingColumns",n-i,e)}}(e,{first:n,last:l},t);for(let o=l;o>=n;o--)for(const{cell:n,column:i,cellWidth:l}of[...new h(e)])i<=o&&l>1&&i+l>o?r("colspan",l-1,n,t):i===o&&t.remove(n);K(e,this)||U(e,this)})}splitCellVertically(e,t=2){const o=this.editor.model,n=e.parent.parent,i=parseInt(e.getAttribute("rowspan")||1),l=parseInt(e.getAttribute("colspan")||1);o.change(o=>{if(l>1){const{newCellsSpan:n,updatedSpan:s}=ie(l,t);r("colspan",s,e,o);const a={};n>1&&(a.colspan=n),i>1&&(a.rowspan=i);ne(l>t?t-1:l-1,o,o.createPositionAfter(e),a)}if(l<t){const s=t-l,a=[...new h(n)],{column:c}=a.find(({cell:t})=>t===e),d=a.filter(({cell:t,cellWidth:o,column:n})=>t!==e&&n===c||n<c&&n+o>c);for(const{cell:e,cellWidth:t}of d)o.setAttribute("colspan",t+s,e);const u={};i>1&&(u.rowspan=i),ne(s,o,o.createPositionAfter(e),u);const b=n.getAttribute("headingColumns")||0;b>c&&r("headingColumns",b+s,n,o)}})}splitCellHorizontally(e,t=2){const o=this.editor.model,n=e.parent,i=n.parent,l=i.getChildIndex(n),s=parseInt(e.getAttribute("rowspan")||1),a=parseInt(e.getAttribute("colspan")||1);o.change(o=>{if(s>1){const n=[...new h(i,{startRow:l,endRow:l+s-1,includeAllSlots:!0})],{newCellsSpan:c,updatedSpan:d}=ie(s,t);r("rowspan",d,e,o);const{column:u}=n.find(({cell:t})=>t===e),b={};c>1&&(b.rowspan=c),a>1&&(b.colspan=a);for(const e of n){const{column:t,row:n}=e,i=t===u,r=(n+l+d)%c==0;n>=l+d&&i&&r&&ne(1,o,e.getPositionBefore(),b)}}if(s<t){const n=t-s,c=[...new h(i,{startRow:0,endRow:l})];for(const{cell:t,cellHeight:i,row:r}of c)if(t!==e&&r+i>l){const e=i+n;o.setAttribute("rowspan",e,t)}const d={};a>1&&(d.colspan=a),oe(o,i,l+1,n,1,d);const u=i.getAttribute("headingRows")||0;u>l&&r("headingRows",u+n,i,o)}})}getColumns(e){return[...e.getChild(0).getChildren()].reduce((e,t)=>e+parseInt(t.getAttribute("colspan")||1),0)}getRows(e){return Array.from(e.getChildren()).reduce((e,t)=>t.is("element","tableRow")?e+1:e,0)}}function oe(e,t,o,n,i,r={}){for(let l=0;l<n;l++){const n=e.createElement("tableRow");e.insert(n,t,o),ne(i,e,e.createPositionAt(n,"end"),r)}}function ne(e,t,o,n={}){for(let i=0;i<e;i++)l(t,o,n)}function ie(e,t){if(e<t)return{newCellsSpan:1,updatedSpan:1};const o=Math.floor(e/t);return{newCellsSpan:o,updatedSpan:e-o*t+o}}class re extends n.Command{refresh(){const e=x(this.editor.model.document.selection);this.isEnabled=I(e,this.editor.plugins.get(te))}execute(){const e=this.editor.model,t=this.editor.plugins.get(te);e.change(o=>{const n=x(e.document.selection),i=n.shift(),{mergeWidth:l,mergeHeight:s}=function(e,t,o){let n=0,i=0;for(const e of t){const{row:t,column:r}=o.getCellLocation(e);n=ae(e,r,n,"colspan"),i=ae(e,t,i,"rowspan")}const{row:r,column:l}=o.getCellLocation(e);return{mergeWidth:n-l,mergeHeight:i-r}}(i,n,t);r("colspan",l,i,o),r("rowspan",s,i,o);for(const e of n)le(e,i,o);$(i.findAncestor("table"),t),o.setSelection(i,"in")})}}function le(e,t,o){se(e)||(se(t)&&o.remove(o.createRangeIn(t)),o.move(o.createRangeIn(e),o.createPositionAt(t,"end"))),o.remove(e)}function se(e){return 1==e.childCount&&e.getChild(0).is("element","paragraph")&&e.getChild(0).isEmpty}function ae(e,t,o,n){const i=parseInt(e.getAttribute(n)||1);return Math.max(o,t+i)}class ce extends n.Command{constructor(e){super(e),this.affectsData=!1}refresh(){const e=V(this.editor.model.document.selection);this.isEnabled=e.length>0}execute(){const e=this.editor.model,t=V(e.document.selection),o=S(t),n=t[0].findAncestor("table"),i=[];for(let t=o.first;t<=o.last;t++)for(const o of n.getChild(t).getChildren())i.push(e.createRangeOn(o));e.change(e=>{e.setSelection(i)})}}class de extends n.Command{constructor(e){super(e),this.affectsData=!1}refresh(){const e=V(this.editor.model.document.selection);this.isEnabled=e.length>0}execute(){const e=this.editor.model,t=V(e.document.selection),o=t[0],n=t.pop(),i=o.findAncestor("table"),r=this.editor.plugins.get("TableUtils"),l=r.getCellLocation(o),s=r.getCellLocation(n),a=Math.min(l.column,s.column),c=Math.max(l.column,s.column),d=[];for(const t of new h(i,{startColumn:a,endColumn:c}))d.push(e.createRangeOn(t.cell));e.change(e=>{e.setSelection(d)})}}function ue(e){e.document.registerPostFixer(t=>function(e,t){const o=t.document.differ.getChanges();let n=!1;const i=new Set;for(const t of o){let o;"table"==t.name&&"insert"==t.type&&(o=t.position.nodeAfter),"tableRow"!=t.name&&"tableCell"!=t.name||(o=t.position.findAncestor("table")),me(t)&&(o=t.range.start.findAncestor("table")),o&&!i.has(o)&&(n=he(o,e)||n,n=be(o,e)||n,i.add(o))}return n}(t,e))}function he(e,t){let o=!1;const n=function(e){const t=parseInt(e.getAttribute("headingRows")||0),o=Array.from(e.getChildren()).reduce((e,t)=>t.is("element","tableRow")?e+1:e,0),n=[];for(const{row:i,cell:r,cellHeight:l}of new h(e)){if(l<2)continue;const e=i<t?t:o;if(i+l>e){const t=e-i;n.push({cell:r,rowspan:t})}}return n}(e);if(n.length){o=!0;for(const e of n)r("rowspan",e.rowspan,e.cell,t,1)}return o}function be(e,t){let o=!1;const n=function(e){const t=new Array(e.childCount).fill(0);for(const{rowIndex:o}of new h(e,{includeAllSlots:!0}))t[o]++;return t}(e),i=[];for(const[t,o]of n.entries())!o&&e.getChild(t).is("element","tableRow")&&i.push(t);if(i.length){o=!0;for(const o of i.reverse())t.remove(e.getChild(o)),n.splice(o,1)}const r=n.filter((t,o)=>e.getChild(o).is("element","tableRow")),s=r[0];if(!r.every(e=>e===s)){const n=r.reduce((e,t)=>t>e?t:e,0);for(const[i,s]of r.entries()){const r=n-s;if(r){for(let o=0;o<r;o++)l(t,t.createPositionAt(e.getChild(i),"end"));o=!0}}}return o}function me(e){const t="attribute"===e.type,o=e.attributeKey;return t&&("headingRows"===o||"colspan"===o||"rowspan"===o)}function ge(e){e.document.registerPostFixer(t=>function(e,t){const o=t.document.differ.getChanges();let n=!1;for(const t of o)"insert"==t.type&&"table"==t.name&&(n=pe(t.position.nodeAfter,e)||n),"insert"==t.type&&"tableRow"==t.name&&(n=fe(t.position.nodeAfter,e)||n),"insert"==t.type&&"tableCell"==t.name&&(n=we(t.position.nodeAfter,e)||n),_e(t)&&(n=we(t.position.parent,e)||n);return n}(t,e))}function pe(e,t){let o=!1;for(const n of e.getChildren())n.is("element","tableRow")&&(o=fe(n,t)||o);return o}function fe(e,t){let o=!1;for(const n of e.getChildren())o=we(n,t)||o;return o}function we(e,t){if(0==e.childCount)return t.insertElement("paragraph",e),!0;const o=Array.from(e.getChildren()).filter(e=>e.is("$text"));for(const e of o)t.wrap(t.createRangeOn(e),"paragraph");return!!o.length}function _e(e){return!(!e.position||!e.position.parent.is("element","tableCell"))&&("insert"==e.type&&"$text"==e.name||"remove"==e.type)}function ke(e,t){e.document.registerPostFixer(()=>function(e,t){const o=new Set;for(const t of e.getChanges()){const e="attribute"==t.type?t.range.start.parent:t.position.parent;e.is("element","tableCell")&&o.add(e)}for(const n of o.values())for(const o of[...n.getChildren()].filter(e=>ve(e,t)))e.refreshItem(o);return!1}(e.document.differ,t))}function ve(e,t){if(!e.is("element","paragraph"))return!1;const o=t.toViewElement(e);return!!o&&p(e)!==o.is("element","span")}function Ce(e){e.document.registerPostFixer(()=>function(e){const t=e.document.differ,o=new Set;for(const e of t.getChanges())if("attribute"===e.type){const t=e.range.start.nodeAfter;t&&t.is("element","table")&&"headingRows"===e.attributeKey&&o.add(t)}else if("insert"===e.type||"remove"===e.type)if("tableRow"===e.name){const t=e.position.findAncestor("table"),n=t.getAttribute("headingRows")||0;e.position.offset<n&&o.add(t)}else if("tableCell"===e.name){const t=e.position.findAncestor("table"),n=t.getAttribute("headingColumns")||0;e.position.offset<n&&o.add(t)}if(o.size){for(const e of o.values())t.refreshItem(e);return!0}return!1}(e))}o(11);class ye extends n.Plugin{static get pluginName(){return"TableEditing"}init(){const e=this.editor,t=e.model,o=t.schema,n=e.conversion;o.register("table",{allowWhere:"$block",allowAttributes:["headingRows","headingColumns"],isObject:!0,isBlock:!0}),o.register("tableRow",{allowIn:"table",isLimit:!0}),o.register("tableCell",{allowIn:"tableRow",allowChildren:"$block",allowAttributes:["colspan","rowspan"],isLimit:!0,isSelectable:!0}),n.for("upcast").add(e=>{e.on("element:figure",(e,t,o)=>{if(!o.consumable.test(t.viewItem,{name:!0,classes:"table"}))return;const n=function(e){for(const t of e.getChildren())if(t.is("element","table"))return t}(t.viewItem);if(!n||!o.consumable.test(n,{name:!0}))return;const i=o.convertItem(n,t.modelCursor),r=Object(a.first)(i.modelRange.getItems());r&&(o.consumable.consume(t.viewItem,{name:!0,classes:"table"}),o.convertChildren(t.viewItem,o.writer.createPositionAt(r,"end")),o.updateConversionResult(r,t))})}),n.for("upcast").add(c()),n.for("editingDowncast").add(m({asWidget:!0})),n.for("dataDowncast").add(m()),n.for("upcast").elementToElement({model:"tableRow",view:"tr"}),n.for("upcast").add(e=>{e.on("element:tr",(e,t)=>{t.viewItem.isEmpty&&0==t.modelCursor.index&&e.stop()},{priority:"high"})}),n.for("editingDowncast").add(e=>e.on("insert:tableRow",(e,t,o)=>{const n=t.item;if(!o.consumable.consume(n,"insert"))return;const i=n.parent,r=function(e){for(const t of e.getChildren())if("table"===t.name)return t}(o.mapper.toViewElement(i)),l=i.getChildIndex(n),s=new h(i,{row:l}),a={headingRows:i.getAttribute("headingRows")||0,headingColumns:i.getAttribute("headingColumns")||0},c=new Map;for(const e of s){const t=c.get(l)||_(r,n,l,a,o);c.set(l,t),o.consumable.consume(e.cell,"insert"),w(e,a,o.writer.createPositionAt(t,"end"),o,{asWidget:!0})}})),n.for("editingDowncast").add(e=>e.on("remove:tableRow",(e,t,o)=>{e.stop();const n=o.writer,i=o.mapper,r=i.toViewPosition(t.position).getLastMatchingPosition(e=>!e.item.is("element","tr")).nodeAfter,l=r.parent.parent,s=n.createRangeOn(r),a=n.remove(s);for(const e of n.createRangeIn(a).getItems())i.unbindViewElement(e);C("thead",l,o),C("tbody",l,o)},{priority:"higher"})),n.for("upcast").elementToElement({model:"tableCell",view:"td"}),n.for("upcast").elementToElement({model:"tableCell",view:"th"}),n.for("upcast").add(d("td")),n.for("upcast").add(d("th")),n.for("editingDowncast").add(e=>e.on("insert:tableCell",(e,t,o)=>{const n=t.item;if(!o.consumable.consume(n,"insert"))return;const i=n.parent,r=i.parent,l=r.getChildIndex(i),s=new h(r,{row:l}),a={headingRows:r.getAttribute("headingRows")||0,headingColumns:r.getAttribute("headingColumns")||0};for(const e of s)if(e.cell===n){const t=o.mapper.toViewElement(i);return void w(e,a,o.writer.createPositionAt(t,i.getChildIndex(n)),o,{asWidget:!0})}})),n.for("editingDowncast").elementToElement({model:"paragraph",view:g,converterPriority:"high"}),n.for("downcast").attributeToAttribute({model:"colspan",view:"colspan"}),n.for("upcast").attributeToAttribute({model:{key:"colspan",value:Te("colspan")},view:"colspan"}),n.for("downcast").attributeToAttribute({model:"rowspan",view:"rowspan"}),n.for("upcast").attributeToAttribute({model:{key:"rowspan",value:Te("rowspan")},view:"rowspan"}),n.for("editingDowncast").add(e=>e.on("attribute:headingColumns:table",(e,t,o)=>{const n=t.item;if(!o.consumable.consume(t.item,e.name))return;const i={headingRows:n.getAttribute("headingRows")||0,headingColumns:n.getAttribute("headingColumns")||0},r=t.attributeOldValue,l=t.attributeNewValue,s=(r>l?r:l)-1;for(const e of new h(n,{endColumn:s}))f(e,i,o)})),e.data.mapper.on("modelToViewPosition",(e,t)=>{const o=t.modelPosition.parent,n=t.modelPosition.nodeBefore;if(!o.is("element","tableCell"))return;if(!n||!n.is("element","paragraph"))return;const i=t.mapper.toViewElement(n),r=t.mapper.toViewElement(o);i===r&&(t.viewPosition=t.mapper.findPositionIn(r,n.maxOffset))}),e.config.define("table.defaultHeadings.rows",0),e.config.define("table.defaultHeadings.columns",0),e.commands.add("insertTable",new T(e)),e.commands.add("insertTableRowAbove",new L(e,{order:"above"})),e.commands.add("insertTableRowBelow",new L(e,{order:"below"})),e.commands.add("insertTableColumnLeft",new N(e,{order:"left"})),e.commands.add("insertTableColumnRight",new N(e,{order:"right"})),e.commands.add("removeTableRow",new Y(e)),e.commands.add("removeTableColumn",new Q(e)),e.commands.add("splitTableCellVertically",new z(e,{direction:"vertically"})),e.commands.add("splitTableCellHorizontally",new z(e,{direction:"horizontally"})),e.commands.add("mergeTableCells",new re(e)),e.commands.add("mergeTableCellRight",new J(e,{direction:"right"})),e.commands.add("mergeTableCellLeft",new J(e,{direction:"left"})),e.commands.add("mergeTableCellDown",new J(e,{direction:"down"})),e.commands.add("mergeTableCellUp",new J(e,{direction:"up"})),e.commands.add("setTableColumnHeader",new ee(e)),e.commands.add("setTableRowHeader",new Z(e)),e.commands.add("selectTableRow",new ce(e)),e.commands.add("selectTableColumn",new de(e)),Ce(t),ue(t),ke(t,e.editing.mapper),ge(t)}static get requires(){return[te]}}function Te(e){return t=>{const o=parseInt(t.getAttribute(e));return Number.isNaN(o)||o<=0?null:o}}var xe=o(0);o(13);class Ae extends xe.View{constructor(e){super(e);const t=this.bindTemplate;this.items=this._createGridCollection(),this.set("rows",0),this.set("columns",0),this.bind("label").to(this,"columns",this,"rows",(e,t)=>`${t} × ${e}`),this.setTemplate({tag:"div",attributes:{class:["ck"]},children:[{tag:"div",attributes:{class:["ck-insert-table-dropdown__grid"]},on:{"mouseover@.ck-insert-table-dropdown-grid-box":t.to("boxover")},children:this.items},{tag:"div",attributes:{class:["ck-insert-table-dropdown__label"]},children:[{text:t.to("label")}]}],on:{mousedown:t.to(e=>{e.preventDefault()}),click:t.to(()=>{this.fire("execute")})}}),this.on("boxover",(e,t)=>{const{row:o,column:n}=t.target.dataset;this.set({rows:parseInt(o),columns:parseInt(n)})}),this.on("change:columns",()=>{this._highlightGridBoxes()}),this.on("change:rows",()=>{this._highlightGridBoxes()})}focus(){}focusLast(){}_highlightGridBoxes(){const e=this.rows,t=this.columns;this.items.map((o,n)=>{const i=Math.floor(n/10)<e&&n%10<t;o.set("isOn",i)})}_createGridCollection(){const e=[];for(let t=0;t<100;t++){const o=Math.floor(t/10),n=t%10;e.push(new Ve(this.locale,o+1,n+1))}return this.createCollection(e)}}class Ve extends xe.View{constructor(e,t,o){super(e);const n=this.bindTemplate;this.set("isOn",!1),this.setTemplate({tag:"div",attributes:{class:["ck-insert-table-dropdown-grid-box",n.if("isOn","ck-on")],"data-row":t,"data-column":o}})}}class Se extends n.Plugin{static get pluginName(){return"TableUI"}init(){const e=this.editor,t=this.editor.t,o="ltr"===e.locale.contentLanguageDirection;e.ui.componentFactory.add("insertTable",o=>{const n=e.commands.get("insertTable"),i=Object(xe.createDropdown)(o);let r;return i.bind("isEnabled").to(n),i.buttonView.set({icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 6v3h4V6H3zm0 4v3h4v-3H3zm0 4v3h4v-3H3zm5 3h4v-3H8v3zm5 0h4v-3h-4v3zm4-4v-3h-4v3h4zm0-4V6h-4v3h4zm1.5 8a1.5 1.5 0 0 1-1.5 1.5H3A1.5 1.5 0 0 1 1.5 17V4c.222-.863 1.068-1.5 2-1.5h13c.932 0 1.778.637 2 1.5v13zM12 13v-3H8v3h4zm0-4V6H8v3h4z"/></svg>',label:t("Insert table"),tooltip:!0}),i.on("change:isOpen",()=>{r||(r=new Ae(o),i.panelView.children.add(r),r.delegate("execute").to(i),i.buttonView.on("open",()=>{r.rows=0,r.columns=0}),i.on("execute",()=>{e.execute("insertTable",{rows:r.rows,columns:r.columns}),e.editing.view.focus()}))}),i}),e.ui.componentFactory.add("tableColumn",e=>{const n=[{type:"switchbutton",model:{commandName:"setTableColumnHeader",label:t("Header column"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:o?"insertTableColumnLeft":"insertTableColumnRight",label:t("Insert column left")}},{type:"button",model:{commandName:o?"insertTableColumnRight":"insertTableColumnLeft",label:t("Insert column right")}},{type:"button",model:{commandName:"removeTableColumn",label:t("Delete column")}},{type:"button",model:{commandName:"selectTableColumn",label:t("Select column")}}];return this._prepareDropdown(t("Column"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z" opacity=".6"/><path d="M18 7v1H2V7h16zm0 5v1H2v-1h16z" opacity=".6"/><path d="M14 1v18a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1zm-2 1H8v4h4V2zm0 6H8v4h4V8zm0 6H8v4h4v-4z"/></svg>',n,e)}),e.ui.componentFactory.add("tableRow",e=>{const o=[{type:"switchbutton",model:{commandName:"setTableRowHeader",label:t("Header row"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:"insertTableRowAbove",label:t("Insert row above")}},{type:"button",model:{commandName:"insertTableRowBelow",label:t("Insert row below")}},{type:"button",model:{commandName:"removeTableRow",label:t("Delete row")}},{type:"button",model:{commandName:"selectTableRow",label:t("Select row")}}];return this._prepareDropdown(t("Row"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z" opacity=".6"/><path d="M7 2h1v16H7V2zm5 0h1v16h-1V2z" opacity=".6"/><path d="M1 6h18a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm1 2v4h4V8H2zm6 0v4h4V8H8zm6 0v4h4V8h-4z"/></svg>',o,e)}),e.ui.componentFactory.add("mergeTableCells",e=>{const n=[{type:"button",model:{commandName:"mergeTableCellUp",label:t("Merge cell up")}},{type:"button",model:{commandName:o?"mergeTableCellRight":"mergeTableCellLeft",label:t("Merge cell right")}},{type:"button",model:{commandName:"mergeTableCellDown",label:t("Merge cell down")}},{type:"button",model:{commandName:o?"mergeTableCellLeft":"mergeTableCellRight",label:t("Merge cell left")}},{type:"separator"},{type:"button",model:{commandName:"splitTableCellVertically",label:t("Split cell vertically")}},{type:"button",model:{commandName:"splitTableCellHorizontally",label:t("Split cell horizontally")}}];return this._prepareMergeSplitButtonDropdown(t("Merge cells"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z" opacity=".6"/><path d="M7 2h1v16H7V2zm5 0h1v7h-1V2zm6 5v1H2V7h16zM8 12v1H2v-1h6z" opacity=".6"/><path d="M7 7h12a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1zm1 2v9h10V9H8z"/></svg>',n,e)})}_prepareDropdown(e,t,o,n){const i=this.editor,r=Object(xe.createDropdown)(n),l=this._fillDropdownWithListOptions(r,o);return r.buttonView.set({label:e,icon:t,tooltip:!0}),r.bind("isEnabled").toMany(l,"isEnabled",(...e)=>e.some(e=>e)),this.listenTo(r,"execute",e=>{i.execute(e.source.commandName),i.editing.view.focus()}),r}_prepareMergeSplitButtonDropdown(e,t,o,n){const i=this.editor,r=Object(xe.createDropdown)(n,xe.SplitButtonView),l=i.commands.get("mergeTableCells"),s=this._fillDropdownWithListOptions(r,o);return r.buttonView.set({label:e,icon:t,tooltip:!0,isEnabled:!0}),r.bind("isEnabled").toMany([l,...s],"isEnabled",(...e)=>e.some(e=>e)),this.listenTo(r.buttonView,"execute",()=>{i.execute("mergeTableCells"),i.editing.view.focus()}),this.listenTo(r,"execute",e=>{i.execute(e.source.commandName),i.editing.view.focus()}),r}_fillDropdownWithListOptions(e,t){const o=this.editor,n=[],i=new a.Collection;for(const e of t)Re(e,o,n,i);return Object(xe.addListToDropdown)(e,i,o.ui.componentFactory),n}}function Re(e,t,o,n){const i=e.model=new xe.Model(e.model),{commandName:r,bindIsOn:l}=e.model;if("button"===e.type||"switchbutton"===e.type){const e=t.commands.get(r);o.push(e),i.set({commandName:r}),i.bind("isEnabled").to(e),l&&i.bind("isOn").to(e,"value")}i.set({withText:!0}),n.add(e)}o(15);class Ie extends n.Plugin{static get pluginName(){return"TableSelection"}static get requires(){return[te]}init(){const e=this.editor.model;this.listenTo(e,"deleteContent",(e,t)=>this._handleDeleteContent(e,t),{priority:"high"}),this._defineSelectionConverter(),this._enablePluginDisabling()}getSelectedTableCells(){const e=x(this.editor.model.document.selection);return 0==e.length?null:e}getSelectionAsFragment(){const e=this.getSelectedTableCells();return e?this.editor.model.change(t=>{const o=t.createDocumentFragment(),n=this.editor.plugins.get("TableUtils"),{first:i,last:r}=R(e),{first:l,last:s}=S(e),a=e[0].findAncestor("table");let c=s,d=r;if(I(e,n)){const e={firstColumn:i,lastColumn:r,firstRow:l,lastRow:s};c=q(a,e),d=G(a,e)}const u=M(a,{startRow:l,startColumn:i,endRow:c,endColumn:d},t);return t.insert(u,o,0),o}):null}setCellSelection(e,t){const o=this._getCellsToSelect(e,t);this.editor.model.change(e=>{e.setSelection(o.cells.map(t=>e.createRangeOn(t)),{backward:o.backward})})}getFocusCell(){const e=[...this.editor.model.document.selection.getRanges()].pop().getContainedElement();return e&&e.is("element","tableCell")?e:null}getAnchorCell(){const e=this.editor.model.document.selection,t=Object(a.first)(e.getRanges()).getContainedElement();return t&&t.is("element","tableCell")?t:null}_defineSelectionConverter(){const e=this.editor,t=new Set;e.conversion.for("editingDowncast").add(e=>e.on("selection",(e,o,n)=>{const i=n.writer;!function(e){for(const o of t)e.removeClass("ck-editor__editable_selected",o);t.clear()}(i);const r=this.getSelectedTableCells();if(!r)return;for(const e of r){const o=n.mapper.toViewElement(e);i.addClass("ck-editor__editable_selected",o),t.add(o)}const l=n.mapper.toViewElement(r[r.length-1]);i.setSelection(l,0)},{priority:"lowest"}))}_enablePluginDisabling(){const e=this.editor;this.on("change:isEnabled",()=>{if(!this.isEnabled){const t=this.getSelectedTableCells();if(!t)return;e.model.change(o=>{const n=o.createPositionAt(t[0],0),i=e.model.schema.getNearestSelectionRange(n);o.setSelection(i)})}})}_handleDeleteContent(e,t){const[o,n]=t,i=this.editor.model,r=!n||"backward"==n.direction,l=x(o);l.length&&(e.stop(),i.change(e=>{const t=l[r?l.length-1:0];i.change(e=>{for(const t of l)i.deleteContent(e.createSelection(t,"in"))});const n=i.schema.getNearestSelectionRange(e.createPositionAt(t,0));o.is("documentSelection")?e.setSelection(n):o.setTo(n)}))}_getCellsToSelect(e,t){const o=this.editor.plugins.get("TableUtils"),n=o.getCellLocation(e),i=o.getCellLocation(t),r=Math.min(n.row,i.row),l=Math.max(n.row,i.row),s=Math.min(n.column,i.column),a=Math.max(n.column,i.column),c=new Array(l-r+1).fill(null).map(()=>[]),d={startRow:r,endRow:l,startColumn:s,endColumn:a};for(const{row:t,cell:o}of new h(e.findAncestor("table"),d))c[t-r].push(o);const u=i.row<n.row,b=i.column<n.column;return u&&c.reverse(),b&&c.forEach(e=>e.reverse()),{cells:c.flat(),backward:u||b}}}class Pe extends n.Plugin{static get pluginName(){return"TableClipboard"}static get requires(){return[Ie,te]}init(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"copy",(e,t)=>this._onCopyCut(e,t)),this.listenTo(t,"cut",(e,t)=>this._onCopyCut(e,t)),this.listenTo(e.model,"insertContent",(e,t)=>this._onInsertContent(e,...t),{priority:"high"}),this.decorate("_replaceTableSlotCell")}_onCopyCut(e,t){const o=this.editor.plugins.get(Ie);if(!o.getSelectedTableCells())return;if("cut"==e.name&&this.editor.isReadOnly)return;t.preventDefault(),e.stop();const n=this.editor.data,i=this.editor.editing.view.document,r=n.toView(o.getSelectionAsFragment());i.fire("clipboardOutput",{dataTransfer:t.dataTransfer,content:r,method:e.name})}_onInsertContent(e,t,o){if(o&&!o.is("documentSelection"))return;const n=this.editor.model,i=this.editor.plugins.get(te);let r=function(e,t){if(!e.is("documentFragment")&&!e.is("element"))return null;if(e.is("element","table"))return e;if(1==e.childCount&&e.getChild(0).is("element","table"))return e.getChild(0);const o=t.createRangeIn(e);for(const e of o.getItems())if(e.is("element","table")){const n=t.createRange(o.start,t.createPositionBefore(e));if(t.hasContent(n,{ignoreWhitespaces:!0}))return null;const i=t.createRange(t.createPositionAfter(e),o.end);return t.hasContent(i,{ignoreWhitespaces:!0})?null:e}return null}(t,n);if(!r)return;const l=V(n.document.selection);l.length?(e.stop(),n.change(e=>{const t={width:i.getColumns(r),height:i.getRows(r)},o=function(e,t,o,n){const i=e[0].findAncestor("table"),r=R(e),l=S(e),s={firstColumn:r.first,lastColumn:r.last,firstRow:l.first,lastRow:l.last},a=1===e.length;a&&(s.lastRow+=t.height-1,s.lastColumn+=t.width-1,function(e,t,o,n){const i=n.getColumns(e),r=n.getRows(e);o>i&&n.insertColumns(e,{at:i,columns:o-i});t>r&&n.insertRows(e,{at:r,rows:t-r})}(i,s.lastRow+1,s.lastColumn+1,n));a||!I(e,n)?function(e,t,o){const{firstRow:n,lastRow:i,firstColumn:r,lastColumn:l}=t,s={first:n,last:i},a={first:r,last:l};Be(e,r,s,o),Be(e,l+1,s,o),Ee(e,n,a,o),Ee(e,i+1,a,o,n)}(i,s,o):(s.lastRow=q(i,s),s.lastColumn=G(i,s));return s}(l,t,e,i),n=o.lastRow-o.firstRow+1,s=o.lastColumn-o.firstColumn+1,a={startRow:0,startColumn:0,endRow:Math.min(n,t.height)-1,endColumn:Math.min(s,t.width)-1};r=M(r,a,e);const c=l[0].findAncestor("table"),d=this._replaceSelectedCellsWithPasted(r,t,c,o,e);if(this.editor.plugins.get("TableSelection").isEnabled){const t=P(d.map(t=>e.createRangeOn(t)));e.setSelection(t)}else e.setSelection(d[0],0)})):$(r,i)}_replaceSelectedCellsWithPasted(e,t,o,n,i){const{width:r,height:l}=t,s=function(e,t,o){const n=new Array(o).fill(null).map(()=>new Array(t).fill(null));for(const{column:t,row:o,cell:i}of new h(e))n[o][t]=i;return n}(e,r,l),a=[...new h(o,{startRow:n.firstRow,endRow:n.lastRow,startColumn:n.firstColumn,endColumn:n.lastColumn,includeAllSlots:!0})],c=[];let d;for(const e of a){const{row:t,column:o}=e;o===n.firstColumn&&(d=e.getPositionBefore());const a=t-n.firstRow,u=o-n.firstColumn,h=s[a%l][u%r],b=h?i.cloneElement(h):null,m=this._replaceTableSlotCell(e,b,d,i);m&&(j(m,t,o,n.lastRow,n.lastColumn,i),c.push(m),d=i.createPositionAfter(m))}const u=parseInt(o.getAttribute("headingRows")||0),b=parseInt(o.getAttribute("headingColumns")||0),m=n.firstRow<u&&u<=n.lastRow,g=n.firstColumn<b&&b<=n.lastColumn;if(m){const e=Ee(o,u,{first:n.firstColumn,last:n.lastColumn},i,n.firstRow);c.push(...e)}if(g){const e=Be(o,b,{first:n.firstRow,last:n.lastRow},i);c.push(...e)}return c}_replaceTableSlotCell(e,t,o,n){const{cell:i,isAnchor:r}=e;return r&&n.remove(i),t?(n.insert(t,o),t):null}}function Ee(e,t,o,n,i=0){if(t<1)return;return F(e,t,i).filter(({column:e,cellWidth:t})=>Oe(e,t,o)).map(({cell:e})=>H(e,t,n))}function Be(e,t,o,n){if(t<1)return;return D(e,t).filter(({row:e,cellHeight:t})=>Oe(e,t,o)).map(({cell:e,column:o})=>W(e,o,t,n))}function Oe(e,t,o){const n=e+t-1,{first:i,last:r}=o;return e>=i&&e<=r||e<i&&n>=i}class Le extends n.Plugin{static get pluginName(){return"TableKeyboard"}static get requires(){return[Ie]}init(){const e=this.editor.editing.view.document;this.editor.keystrokes.set("Tab",(...e)=>this._handleTabOnSelectedTable(...e),{priority:"low"}),this.editor.keystrokes.set("Tab",this._getTabHandler(!0),{priority:"low"}),this.editor.keystrokes.set("Shift+Tab",this._getTabHandler(!1),{priority:"low"}),this.listenTo(e,"arrowKey",(...e)=>this._onArrowKey(...e),{context:"table"})}_handleTabOnSelectedTable(e,t){const o=this.editor,n=o.model.document.selection.getSelectedElement();n&&n.is("element","table")&&(t(),o.model.change(e=>{e.setSelection(e.createRangeIn(n.getChild(0).getChild(0)))}))}_getTabHandler(e){const t=this.editor;return(o,n)=>{let i=A(t.model.document.selection)[0];if(i||(i=this.editor.plugins.get("TableSelection").getFocusCell()),!i)return;n();const r=i.parent,l=r.parent,s=l.getChildIndex(r),a=r.getChildIndex(i),c=0===a;if(!e&&c&&0===s)return void t.model.change(e=>{e.setSelection(e.createRangeOn(l))});const d=this.editor.plugins.get("TableUtils"),u=a===r.childCount-1,h=s===d.getRows(l)-1;if(e&&h&&u&&(t.execute("insertTableRowBelow"),s===d.getRows(l)-1))return void t.model.change(e=>{e.setSelection(e.createRangeOn(l))});let b;if(e&&u){const e=l.getChild(s+1);b=e.getChild(0)}else if(!e&&c){const e=l.getChild(s-1);b=e.getChild(e.childCount-1)}else b=r.getChild(a+(e?1:-1));t.model.change(e=>{e.setSelection(e.createRangeIn(b))})}}_onArrowKey(e,t){const o=this.editor,n=t.keyCode,i=Object(a.getLocalizedArrowKeyCodeDirection)(n,o.locale.contentLanguageDirection);this._handleArrowKeys(i,t.shiftKey)&&(t.preventDefault(),t.stopPropagation(),e.stop())}_handleArrowKeys(e,t){const o=this.editor.model,n=o.document.selection,i=["right","down"].includes(e),r=x(n);if(r.length){let o;return o=t?this.editor.plugins.get("TableSelection").getFocusCell():i?r[r.length-1]:r[0],this._navigateFromCellInDirection(o,e,t),!0}const l=n.focus.findAncestor("tableCell");if(!l)return!1;if(!n.isCollapsed)if(t){if(n.isBackward==i&&!n.containsEntireContent(l))return!1}else{const e=n.getSelectedElement();if(!e||!o.schema.isObject(e))return!1}return!!this._isSelectionAtCellEdge(n,l,i)&&(this._navigateFromCellInDirection(l,e,t),!0)}_isSelectionAtCellEdge(e,t,o){const n=this.editor.model,i=this.editor.model.schema,r=o?e.getLastPosition():e.getFirstPosition();if(!i.getLimitElement(r).is("element","tableCell")){return n.createPositionAt(t,o?"end":0).isTouching(r)}const l=n.createSelection(r);return n.modifySelection(l,{direction:o?"forward":"backward"}),r.isEqual(l.focus)}_navigateFromCellInDirection(e,t,o=!1){const n=this.editor.model,i=e.findAncestor("table"),r=[...new h(i,{includeAllSlots:!0})],{row:l,column:s}=r[r.length-1],a=r.find(({cell:t})=>t==e);let{row:c,column:d}=a;switch(t){case"left":d--;break;case"up":c--;break;case"right":d+=a.cellWidth;break;case"down":c+=a.cellHeight}if(c<0||c>l||d<0&&c<=0||d>s&&c>=l)return void n.change(e=>{e.setSelection(e.createRangeOn(i))});d<0?(d=o?0:s,c--):d>s&&(d=o?s:0,c++);const u=r.find(e=>e.row==c&&e.column==d).cell,b=["right","down"].includes(t),m=this.editor.plugins.get("TableSelection");if(o&&m.isEnabled){const t=m.getAnchorCell()||e;m.setCellSelection(t,u)}else{const e=n.createPositionAt(u,b?0:"end");n.change(t=>{t.setSelection(e)})}}}var Ne=o(3);class ze extends Ne.DomEventObserver{constructor(e){super(e),this.domEventType=["mousemove","mouseleave"]}onDomEvent(e){this.fire(e.type,e)}}class Me extends n.Plugin{static get pluginName(){return"TableMouse"}static get requires(){return[Ie]}init(){this.editor.editing.view.addObserver(ze),this._enableShiftClickSelection(),this._enableMouseDragSelection()}_enableShiftClickSelection(){const e=this.editor;let t=!1;const o=e.plugins.get(Ie);this.listenTo(e.editing.view.document,"mousedown",(n,i)=>{if(!this.isEnabled||!o.isEnabled)return;if(!i.domEvent.shiftKey)return;const r=o.getAnchorCell()||A(e.model.document.selection)[0];if(!r)return;const l=this._getModelTableCellFromDomEvent(i);l&&Fe(r,l)&&(t=!0,o.setCellSelection(r,l),i.preventDefault())}),this.listenTo(e.editing.view.document,"mouseup",()=>{t=!1}),this.listenTo(e.editing.view.document,"selectionChange",e=>{t&&e.stop()},{priority:"highest"})}_enableMouseDragSelection(){const e=this.editor;let t,o,n=!1,i=!1;const r=e.plugins.get(Ie);this.listenTo(e.editing.view.document,"mousedown",(e,o)=>{this.isEnabled&&r.isEnabled&&(o.domEvent.shiftKey||o.domEvent.ctrlKey||o.domEvent.altKey||(t=this._getModelTableCellFromDomEvent(o)))}),this.listenTo(e.editing.view.document,"mousemove",(e,l)=>{if(!l.domEvent.buttons)return;if(!t)return;const s=this._getModelTableCellFromDomEvent(l);s&&Fe(t,s)&&(o=s,n||o==t||(n=!0)),n&&(i=!0,r.setCellSelection(t,o),l.preventDefault())}),this.listenTo(e.editing.view.document,"mouseup",()=>{n=!1,i=!1,t=null,o=null}),this.listenTo(e.editing.view.document,"selectionChange",e=>{i&&e.stop()},{priority:"highest"})}_getModelTableCellFromDomEvent(e){const t=e.target,o=this.editor.editing.view.createPositionAt(t,0);return this.editor.editing.mapper.toModelPosition(o).parent.findAncestor("tableCell",{includeSelf:!0})}}function Fe(e,t){return e.parent.parent==t.parent.parent}o(17);class He extends n.Plugin{static get requires(){return[ye,Se,Ie,Me,Le,Pe,i.Widget]}static get pluginName(){return"Table"}}function De(e){const t=e.getSelectedElement();return t&&je(t)?t:null}function We(e){let t=e.getFirstPosition().parent;for(;t;){if(t.is("element")&&je(t))return t;t=t.parent}return null}function je(e){return!!e.getCustomProperty("table")&&Object(i.isWidget)(e)}class Ue extends n.Plugin{static get requires(){return[i.WidgetToolbarRepository]}static get pluginName(){return"TableToolbar"}afterInit(){const e=this.editor,t=e.t,o=e.plugins.get(i.WidgetToolbarRepository),n=e.config.get("table.contentToolbar"),r=e.config.get("table.tableToolbar");n&&o.register("tableContent",{ariaLabel:t("Table toolbar"),items:n,getRelatedElement:We}),r&&o.register("table",{ariaLabel:t("Table toolbar"),items:r,getRelatedElement:De})}}o(19);class Ke extends xe.View{constructor(e,t){super(e);const o=this.bindTemplate;this.set("value",""),this.set("id"),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("isFocused",!1),this.set("isEmpty",!0),this.set("ariaDescribedById"),this.options=t,this._dropdownView=this._createDropdownView(),this._inputView=this._createInputTextView(),this._stillTyping=!1,this.setTemplate({tag:"div",attributes:{class:["ck","ck-input-color",o.if("hasError","ck-error")],id:o.to("id"),"aria-invalid":o.if("hasError",!0),"aria-describedby":o.to("ariaDescribedById")},children:[this._dropdownView,this._inputView]}),this.on("change:value",(e,t,o)=>this._setInputValue(o))}focus(){this._inputView.focus()}_createDropdownView(){const e=this.locale,t=e.t,o=this.bindTemplate,n=this._createColorGrid(e),i=Object(xe.createDropdown)(e),r=new xe.View,l=this._createRemoveColorButton();return r.setTemplate({tag:"span",attributes:{class:["ck","ck-input-color__button__preview"],style:{backgroundColor:o.to("value")}},children:[{tag:"span",attributes:{class:["ck","ck-input-color__button__preview__no-color-indicator",o.if("value","ck-hidden",e=>""!=e)]}}]}),i.buttonView.extendTemplate({attributes:{class:"ck-input-color__button"}}),i.buttonView.children.add(r),i.buttonView.tooltip=t("Color picker"),i.panelPosition="rtl"===e.uiLanguageDirection?"se":"sw",i.panelView.children.add(l),i.panelView.children.add(n),i.bind("isEnabled").to(this,"isReadOnly",e=>!e),i}_createInputTextView(){const e=this.locale,t=new xe.InputTextView(e);return t.extendTemplate({on:{blur:t.bindTemplate.to("blur")}}),t.value=this.value,t.bind("isReadOnly","hasError").to(this),this.bind("isFocused","isEmpty").to(t),t.on("input",()=>{const e=t.element.value,o=this.options.colorDefinitions.find(t=>e===t.label);this._stillTyping=!0,this.value=o&&o.color||e}),t.on("blur",()=>{this._stillTyping=!1,this._setInputValue(t.element.value)}),t.delegate("input").to(this),t}_createRemoveColorButton(){const e=this.locale,t=e.t,o=new xe.ButtonView(e),i=this.options.defaultColorValue||"",r=t(i?"Restore default":"Remove color");return o.class="ck-input-color__remove-color",o.withText=!0,o.icon=n.icons.eraser,o.label=r,o.on("execute",()=>{this.value=i,this._dropdownView.isOpen=!1,this.fire("input")}),o}_createColorGrid(e){const t=new xe.ColorGridView(e,{colorDefinitions:this.options.colorDefinitions,columns:this.options.columns});return t.on("execute",(e,t)=>{this.value=t.value,this._dropdownView.isOpen=!1,this.fire("input")}),t.bind("selectedColor").to(this,"value"),t}_setInputValue(e){if(!this._stillTyping){const t=$e(e),o=this.options.colorDefinitions.find(e=>t===$e(e.color));this._inputView.value=o?o.label:e||""}}}function $e(e){return e.replace(/([(,])\s+/g,"$1").replace(/^\s+|\s+(?=[),\s]|$)/g,"").replace(/,|\s/g," ")}const qe=e=>""===e;function Ge(e){return{none:e("None"),solid:e("Solid"),dotted:e("Dotted"),dashed:e("Dashed"),double:e("Double"),groove:e("Groove"),ridge:e("Ridge"),inset:e("Inset"),outset:e("Outset")}}function Je(e){return e('The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".')}function Xe(e){return e('The value is invalid. Try "10px" or "2em" or simply "2".')}function Ye(e){return e=e.trim(),qe(e)||Object(Ne.isColor)(e)}function Qe(e){return e=e.trim(),qe(e)||it(e)||Object(Ne.isLength)(e)||Object(Ne.isPercentage)(e)}function Ze(e){return e=e.trim(),qe(e)||it(e)||Object(Ne.isLength)(e)}function et(e,t){const o=new a.Collection,n=Ge(e.t);for(const i in n){const r={type:"button",model:new xe.Model({_borderStyleValue:i,label:n[i],withText:!0})};"none"===i?r.model.bind("isOn").to(e,"borderStyle",e=>"none"===t?!e:e===i):r.model.bind("isOn").to(e,"borderStyle",e=>e===i),o.add(r)}return o}function tt(e){const{view:t,icons:o,toolbar:n,labels:i,propertyName:r,nameToValue:l,defaultValue:s}=e;for(const e in i){const a=new xe.ButtonView(t.locale);a.set({label:i[e],icon:o[e],tooltip:i[e]});const c=l?l(e):e;a.bind("isOn").to(t,r,e=>{let t=e;return""===e&&s&&(t=s),c===t}),a.on("execute",()=>{t[r]=c}),n.items.add(a)}}const ot=[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:!0},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}];function nt(e){return(t,o,n)=>{const i=new Ke(t.locale,{colorDefinitions:(r=e.colorConfig,r.map(e=>({color:e.model,label:e.label,options:{hasBorder:e.hasBorder}}))),columns:e.columns,defaultColorValue:e.defaultColorValue});var r;return i.set({id:o,ariaDescribedById:n}),i.bind("isReadOnly").to(t,"isEnabled",e=>!e),i.bind("hasError").to(t,"errorText",e=>!!e),i.on("input",()=>{t.errorText=null}),t.bind("isEmpty","isFocused").to(i),i}}function it(e){const t=parseFloat(e);return!Number.isNaN(t)&&e===String(t)}o(21);class rt extends xe.View{constructor(e,t={}){super(e);const o=this.bindTemplate;this.set("class",t.class||null),this.children=this.createCollection(),t.children&&t.children.forEach(e=>this.children.add(e)),this.set("_role",null),this.set("_ariaLabelledBy",null),t.labelView&&this.set({_role:"group",_ariaLabelledBy:t.labelView.id}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__row",o.to("class")],role:o.to("_role"),"aria-labelledby":o.to("_ariaLabelledBy")},children:this.children})}}o(8),o(9),o(25);const lt={left:n.icons.alignLeft,center:n.icons.alignCenter,right:n.icons.alignRight,justify:n.icons.alignJustify,top:n.icons.alignTop,middle:n.icons.alignMiddle,bottom:n.icons.alignBottom};class st extends xe.View{constructor(e,t){super(e),this.set({borderStyle:"",borderWidth:"",borderColor:"",padding:"",backgroundColor:"",width:"",height:"",horizontalAlignment:"",verticalAlignment:""}),this.options=t;const{borderStyleDropdown:o,borderWidthInput:n,borderColorInput:i,borderRowLabel:r}=this._createBorderFields(),{backgroundRowLabel:l,backgroundInput:s}=this._createBackgroundFields(),{widthInput:c,operatorLabel:d,heightInput:u,dimensionsLabel:h}=this._createDimensionFields(),{horizontalAlignmentToolbar:b,verticalAlignmentToolbar:m,alignmentLabel:g}=this._createAlignmentFields();this.focusTracker=new a.FocusTracker,this.keystrokes=new a.KeystrokeHandler,this.children=this.createCollection(),this.borderStyleDropdown=o,this.borderWidthInput=n,this.borderColorInput=i,this.backgroundInput=s,this.paddingInput=this._createPaddingField(),this.widthInput=c,this.heightInput=u,this.horizontalAlignmentToolbar=b,this.verticalAlignmentToolbar=m;const{saveButtonView:p,cancelButtonView:f}=this._createActionButtons();this.saveButtonView=p,this.cancelButtonView=f,this._focusables=new xe.ViewCollection,this._focusCycler=new xe.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.children.add(new xe.FormHeaderView(e,{label:this.t("Cell properties")})),this.children.add(new rt(e,{labelView:r,children:[r,o,i,n],class:"ck-table-form__border-row"})),this.children.add(new rt(e,{labelView:l,children:[l,s],class:"ck-table-form__background-row"})),this.children.add(new rt(e,{children:[new rt(e,{labelView:h,children:[h,c,d,u],class:"ck-table-form__dimensions-row"}),new rt(e,{children:[this.paddingInput],class:"ck-table-cell-properties-form__padding-row"})]})),this.children.add(new rt(e,{labelView:g,children:[g,b,m],class:"ck-table-cell-properties-form__alignment-row"})),this.children.add(new rt(e,{children:[this.saveButtonView,this.cancelButtonView],class:"ck-table-form__action-row"})),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-cell-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render(),Object(xe.submitHandler)({view:this}),[this.borderStyleDropdown,this.borderColorInput,this.borderWidthInput,this.backgroundInput,this.widthInput,this.heightInput,this.paddingInput,this.horizontalAlignmentToolbar,this.verticalAlignmentToolbar,this.saveButtonView,this.cancelButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.element)}),this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createBorderFields(){const e=this.options.defaultTableCellProperties,t={style:e.borderStyle,width:e.borderWidth,color:e.borderColor},o=nt({colorConfig:this.options.borderColors,columns:5,defaultColorValue:t.color}),n=this.locale,i=this.t,r=new xe.LabelView(n);r.text=i("Border");const l=Ge(i),s=new xe.LabeledFieldView(n,xe.createLabeledDropdown);s.set({label:i("Style"),class:"ck-table-form__border-style"}),s.fieldView.buttonView.set({isOn:!1,withText:!0,tooltip:i("Style")}),s.fieldView.buttonView.bind("label").to(this,"borderStyle",e=>l[e||"none"]),s.fieldView.on("execute",e=>{this.borderStyle=e.source._borderStyleValue}),s.bind("isEmpty").to(this,"borderStyle",e=>!e),Object(xe.addListToDropdown)(s.fieldView,et(this,t.style));const a=new xe.LabeledFieldView(n,xe.createLabeledInputText);a.set({label:i("Width"),class:"ck-table-form__border-width"}),a.fieldView.bind("value").to(this,"borderWidth"),a.bind("isEnabled").to(this,"borderStyle",at),a.fieldView.on("input",()=>{this.borderWidth=a.fieldView.element.value});const c=new xe.LabeledFieldView(n,o);return c.set({label:i("Color"),class:"ck-table-form__border-color"}),c.fieldView.bind("value").to(this,"borderColor"),c.bind("isEnabled").to(this,"borderStyle",at),c.fieldView.on("input",()=>{this.borderColor=c.fieldView.value}),this.on("change:borderStyle",(e,o,n,i)=>{at(n)||(this.borderColor="",this.borderWidth=""),at(i)||(this.borderColor=t.color,this.borderWidth=t.width)}),{borderRowLabel:r,borderStyleDropdown:s,borderColorInput:c,borderWidthInput:a}}_createBackgroundFields(){const e=this.locale,t=this.t,o=new xe.LabelView(e);o.text=t("Background");const n=nt({colorConfig:this.options.backgroundColors,columns:5,defaultColorValue:this.options.defaultTableCellProperties.backgroundColor}),i=new xe.LabeledFieldView(e,n);return i.set({label:t("Color"),class:"ck-table-cell-properties-form__background"}),i.fieldView.bind("value").to(this,"backgroundColor"),i.fieldView.on("input",()=>{this.backgroundColor=i.fieldView.value}),{backgroundRowLabel:o,backgroundInput:i}}_createDimensionFields(){const e=this.locale,t=this.t,o=new xe.LabelView(e);o.text=t("Dimensions");const n=new xe.LabeledFieldView(e,xe.createLabeledInputText);n.set({label:t("Width"),class:"ck-table-form__dimensions-row__width"}),n.fieldView.bind("value").to(this,"width"),n.fieldView.on("input",()=>{this.width=n.fieldView.element.value});const i=new xe.View(e);i.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"×"}]});const r=new xe.LabeledFieldView(e,xe.createLabeledInputText);return r.set({label:t("Height"),class:"ck-table-form__dimensions-row__height"}),r.fieldView.bind("value").to(this,"height"),r.fieldView.on("input",()=>{this.height=r.fieldView.element.value}),{dimensionsLabel:o,widthInput:n,operatorLabel:i,heightInput:r}}_createPaddingField(){const e=this.locale,t=this.t,o=new xe.LabeledFieldView(e,xe.createLabeledInputText);return o.set({label:t("Padding"),class:"ck-table-cell-properties-form__padding"}),o.fieldView.bind("value").to(this,"padding"),o.fieldView.on("input",()=>{this.padding=o.fieldView.element.value}),o}_createAlignmentFields(){const e=this.locale,t=this.t,o=new xe.LabelView(e);o.text=t("Table cell text alignment");const n=new xe.ToolbarView(e),i="rtl"===this.locale.contentLanguageDirection;n.set({isCompact:!0,ariaLabel:t("Horizontal text alignment toolbar")}),tt({view:this,icons:lt,toolbar:n,labels:this._horizontalAlignmentLabels,propertyName:"horizontalAlignment",nameToValue:e=>{if(i){if("left"===e)return"right";if("right"===e)return"left"}return e},defaultValue:this.options.defaultTableCellProperties.horizontalAlignment});const r=new xe.ToolbarView(e);return r.set({isCompact:!0,ariaLabel:t("Vertical text alignment toolbar")}),tt({view:this,icons:lt,toolbar:r,labels:this._verticalAlignmentLabels,propertyName:"verticalAlignment",defaultValue:this.options.defaultTableCellProperties.verticalAlignment}),{horizontalAlignmentToolbar:n,verticalAlignmentToolbar:r,alignmentLabel:o}}_createActionButtons(){const e=this.locale,t=this.t,o=new xe.ButtonView(e),i=new xe.ButtonView(e),r=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.paddingInput];return o.set({label:t("Save"),icon:n.icons.check,class:"ck-button-save",type:"submit",withText:!0}),o.bind("isEnabled").toMany(r,"errorText",(...e)=>e.every(e=>!e)),i.set({label:t("Cancel"),icon:n.icons.cancel,class:"ck-button-cancel",withText:!0}),i.delegate("execute").to(this,"cancel"),{saveButtonView:o,cancelButtonView:i}}get _horizontalAlignmentLabels(){const e=this.locale,t=this.t,o=t("Align cell text to the left"),n=t("Align cell text to the center"),i=t("Align cell text to the right"),r=t("Justify cell text");return"rtl"===e.uiLanguageDirection?{right:i,center:n,left:o,justify:r}:{left:o,center:n,right:i,justify:r}}get _verticalAlignmentLabels(){const e=this.t;return{top:e("Align cell text to the top"),middle:e("Align cell text to the middle"),bottom:e("Align cell text to the bottom")}}}function at(e){return"none"!==e}var ct=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},dt=o(10),ut="object"==typeof self&&self&&self.Object===Object&&self,ht=dt.a||ut||Function("return this")(),bt=function(){return ht.Date.now()},mt=/\s/;var gt=function(e){for(var t=e.length;t--&&mt.test(e.charAt(t)););return t},pt=/^\s+/;var ft=function(e){return e?e.slice(0,gt(e)+1).replace(pt,""):e},wt=ht.Symbol,_t=Object.prototype,kt=_t.hasOwnProperty,vt=_t.toString,Ct=wt?wt.toStringTag:void 0;var yt=function(e){var t=kt.call(e,Ct),o=e[Ct];try{e[Ct]=void 0;var n=!0}catch(e){}var i=vt.call(e);return n&&(t?e[Ct]=o:delete e[Ct]),i},Tt=Object.prototype.toString;var xt=function(e){return Tt.call(e)},At=wt?wt.toStringTag:void 0;var Vt=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":At&&At in Object(e)?yt(e):xt(e)};var St=function(e){return null!=e&&"object"==typeof e};var Rt=function(e){return"symbol"==typeof e||St(e)&&"[object Symbol]"==Vt(e)},It=/^[-+]0x[0-9a-f]+$/i,Pt=/^0b[01]+$/i,Et=/^0o[0-7]+$/i,Bt=parseInt;var Ot=function(e){if("number"==typeof e)return e;if(Rt(e))return NaN;if(ct(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ct(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=ft(e);var o=Pt.test(e);return o||Et.test(e)?Bt(e.slice(2),o?2:8):It.test(e)?NaN:+e},Lt=Math.max,Nt=Math.min;var zt=function(e,t,o){var n,i,r,l,s,a,c=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function b(t){var o=n,r=i;return n=i=void 0,c=t,l=e.apply(r,o)}function m(e){return c=e,s=setTimeout(p,t),d?b(e):l}function g(e){var o=e-a;return void 0===a||o>=t||o<0||u&&e-c>=r}function p(){var e=bt();if(g(e))return f(e);s=setTimeout(p,function(e){var o=t-(e-a);return u?Nt(o,r-(e-c)):o}(e))}function f(e){return s=void 0,h&&n?b(e):(n=i=void 0,l)}function w(){var e=bt(),o=g(e);if(n=arguments,i=this,a=e,o){if(void 0===s)return m(a);if(u)return clearTimeout(s),s=setTimeout(p,t),b(a)}return void 0===s&&(s=setTimeout(p,t)),l}return t=Ot(t)||0,ct(o)&&(d=!!o.leading,r=(u="maxWait"in o)?Lt(Ot(o.maxWait)||0,t):r,h="trailing"in o?!!o.trailing:h),w.cancel=function(){void 0!==s&&clearTimeout(s),c=0,n=a=i=s=void 0},w.flush=function(){return void 0===s?l:f(bt())},w};const Mt=xe.BalloonPanelView.defaultPositions,Ft=[Mt.northArrowSouth,Mt.northArrowSouthWest,Mt.northArrowSouthEast,Mt.southArrowNorth,Mt.southArrowNorthWest,Mt.southArrowNorthEast,Mt.viewportStickyNorth];function Ht(e,t){const o=e.plugins.get("ContextualBalloon");if(We(e.editing.view.document.selection)){let n;n="cell"===t?Wt(e):Dt(e),o.updatePosition(n)}}function Dt(e){const t=e.model.document.selection.getFirstPosition().findAncestor("table"),o=e.editing.mapper.toViewElement(t);return{target:e.editing.view.domConverter.viewToDom(o),positions:Ft}}function Wt(e){const t=e.editing.mapper,o=e.editing.view.domConverter,n=e.model.document.selection;if(n.rangeCount>1)return{target:()=>function(e,t){const o=t.editing.mapper,n=t.editing.view.domConverter,i=Array.from(e).map(e=>{const t=jt(e.start),i=o.toViewElement(t);return new a.Rect(n.viewToDom(i))});return a.Rect.getBoundingRect(i)}(n.getRanges(),e),positions:Ft};const i=jt(n.getFirstPosition()),r=t.toViewElement(i);return{target:o.viewToDom(r),positions:Ft}}function jt(e){return e.nodeAfter&&e.nodeAfter.is("element","tableCell")?e.nodeAfter:e.findAncestor("tableCell")}function Ut(e){if(!e||!ct(e))return e;const{top:t,right:o,bottom:n,left:i}=e;return t==o&&o==n&&n==i?t:void 0}function Kt(e,t){const o=parseFloat(e);return Number.isNaN(o)||String(o)!==String(e)?e:`${o}${t}`}function $t(e,t={}){const o=Object.assign({borderStyle:"none",borderWidth:"",borderColor:"",backgroundColor:"",width:"",height:""},e);return t.includeAlignmentProperty&&!o.alignment&&(o.alignment="center"),t.includePaddingProperty&&!o.padding&&(o.padding=""),t.includeVerticalAlignmentProperty&&!o.verticalAlignment&&(o.verticalAlignment="middle"),t.includeHorizontalAlignmentProperty&&!o.horizontalAlignment&&(o.horizontalAlignment=t.isRightToLeftContent?"right":"left"),o}const qt={borderStyle:"tableCellBorderStyle",borderColor:"tableCellBorderColor",borderWidth:"tableCellBorderWidth",width:"tableCellWidth",height:"tableCellHeight",padding:"tableCellPadding",backgroundColor:"tableCellBackgroundColor",horizontalAlignment:"tableCellHorizontalAlignment",verticalAlignment:"tableCellVerticalAlignment"};class Gt extends n.Plugin{static get requires(){return[xe.ContextualBalloon]}static get pluginName(){return"TableCellPropertiesUI"}constructor(e){super(e),e.config.define("table.tableCellProperties",{borderColors:ot,backgroundColors:ot})}init(){const e=this.editor,t=e.t;this._defaultTableCellProperties=$t(e.config.get("table.tableCellProperties.defaultProperties"),{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,includePaddingProperty:!0,isRightToLeftContent:"rtl"===e.locale.contentLanguageDirection}),this._balloon=e.plugins.get(xe.ContextualBalloon),this.view=this._createPropertiesView(),this._undoStepBatch=null,e.ui.componentFactory.add("tableCellProperties",o=>{const n=new xe.ButtonView(o);n.set({label:t("Cell properties"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.105 18-.17 1H2.5A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1h15A1.5 1.5 0 0 1 19 2.5v9.975l-.85-.124-.15-.302V8h-5v4h.021l-.172.351-1.916.28-.151.027c-.287.063-.54.182-.755.341L8 13v5h3.105zM2 12h5V8H2v4zm10-4H8v4h4V8zM2 2v5h5V2H2zm0 16h5v-5H2v5zM13 7h5V2h-5v5zM8 2v5h4V2H8z" opacity=".6"/><path d="m15.5 11.5 1.323 2.68 2.957.43-2.14 2.085.505 2.946L15.5 18.25l-2.645 1.39.505-2.945-2.14-2.086 2.957-.43L15.5 11.5zM13 6a1 1 0 0 1 1 1v3.172a2.047 2.047 0 0 0-.293.443l-.858 1.736-1.916.28-.151.027A1.976 1.976 0 0 0 9.315 14H7a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h6zm-1 2H8v4h4V8z"/></svg>',tooltip:!0}),this.listenTo(n,"execute",()=>this._showView());const i=Object.values(qt).map(t=>e.commands.get(t));return n.bind("isEnabled").toMany(i,"isEnabled",(...e)=>e.some(e=>e)),n})}destroy(){super.destroy(),this.view.destroy()}_createPropertiesView(){const e=this.editor,t=e.editing.view.document,o=e.config.get("table.tableCellProperties"),n=Object(xe.normalizeColorOptions)(o.borderColors),i=Object(xe.getLocalizedColorOptions)(e.locale,n),r=Object(xe.normalizeColorOptions)(o.backgroundColors),l=Object(xe.getLocalizedColorOptions)(e.locale,r),s=new st(e.locale,{borderColors:i,backgroundColors:l,defaultTableCellProperties:this._defaultTableCellProperties}),a=e.t;s.render(),this.listenTo(s,"submit",()=>{this._hideView()}),this.listenTo(s,"cancel",()=>{this._undoStepBatch.operations.length&&e.execute("undo",this._undoStepBatch),this._hideView()}),s.keystrokes.set("Esc",(e,t)=>{this._hideView(),t()}),this.listenTo(e.ui,"update",()=>{We(t.selection)?this._isViewVisible&&Ht(e,"cell"):this._hideView()}),Object(xe.clickOutsideHandler)({emitter:s,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});const c=Je(a),d=Xe(a);return s.on("change:borderStyle",this._getPropertyChangeCallback("tableCellBorderStyle",this._defaultTableCellProperties.borderStyle)),s.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:s.borderColorInput,commandName:"tableCellBorderColor",errorText:c,validator:Ye,defaultValue:this._defaultTableCellProperties.borderColor})),s.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:s.borderWidthInput,commandName:"tableCellBorderWidth",errorText:d,validator:Ze,defaultValue:this._defaultTableCellProperties.borderWidth})),s.on("change:padding",this._getValidatedPropertyChangeCallback({viewField:s.paddingInput,commandName:"tableCellPadding",errorText:d,validator:Qe,defaultValue:this._defaultTableCellProperties.padding})),s.on("change:width",this._getValidatedPropertyChangeCallback({viewField:s.widthInput,commandName:"tableCellWidth",errorText:d,validator:Qe,defaultValue:this._defaultTableCellProperties.width})),s.on("change:height",this._getValidatedPropertyChangeCallback({viewField:s.heightInput,commandName:"tableCellHeight",errorText:d,validator:Qe,defaultValue:this._defaultTableCellProperties.height})),s.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:s.backgroundInput,commandName:"tableCellBackgroundColor",errorText:c,validator:Ye,defaultValue:this._defaultTableCellProperties.backgroundColor})),s.on("change:horizontalAlignment",this._getPropertyChangeCallback("tableCellHorizontalAlignment",this._defaultTableCellProperties.horizontalAlignment)),s.on("change:verticalAlignment",this._getPropertyChangeCallback("tableCellVerticalAlignment",this._defaultTableCellProperties.verticalAlignment)),s}_fillViewFormFromCommandValues(){const e=this.editor.commands,t=e.get("tableCellBorderStyle");Object.entries(qt).map(([t,o])=>{const n=this._defaultTableCellProperties[t]||"";return[t,e.get(o).value||n]}).forEach(([e,o])=>{("borderColor"!==e&&"borderWidth"!==e||"none"!==t.value)&&this.view.set(e,o)})}_showView(){const e=this.editor;this._fillViewFormFromCommandValues(),this._balloon.add({view:this.view,position:Wt(e)}),this._undoStepBatch=e.model.createBatch(),this.view.focus()}_hideView(){if(!this._isViewInBalloon)return;const e=this.editor;this.stopListening(e.ui,"update"),this.view.saveButtonView.focus(),this._balloon.remove(this.view),this.editor.editing.view.focus()}get _isViewVisible(){return this._balloon.visibleView===this.view}get _isViewInBalloon(){return this._balloon.hasView(this.view)}_getPropertyChangeCallback(e,t){return(o,n,i,r)=>{(r||t!==i)&&this.editor.execute(e,{value:i,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback(e){const{commandName:t,viewField:o,validator:n,errorText:i,defaultValue:r}=e,l=zt(()=>{o.errorText=i},500);return(e,i,s,a)=>{l.cancel(),(a||r!==s)&&(n(s)?(this.editor.execute(t,{value:s,batch:this._undoStepBatch}),o.errorText=null):l())}}}function Jt(e,t){const{viewElement:o,defaultValue:n,modelAttribute:i,styleName:r,reduceBoxSides:l=!1}=t;e.for("upcast").attributeToAttribute({view:{name:o,styles:{[r]:/[\s\S]+/}},model:{key:i,value:e=>{const t=e.getNormalizedStyle(r),o=l?Zt(t):t;if(n!==o)return o}}})}function Xt(e,t,o){e.for("upcast").add(e=>e.on("element:"+t,(e,t,n)=>{if(!t.modelRange)return;const i=["border-top-width","border-top-color","border-top-style","border-bottom-width","border-bottom-color","border-bottom-style","border-right-width","border-right-color","border-right-style","border-left-width","border-left-color","border-left-style"].filter(e=>t.viewItem.hasStyle(e));if(!i.length)return;const r={styles:i};if(!n.consumable.test(t.viewItem,r))return;const l=[...t.modelRange.getItems({shallow:!0})].pop();n.consumable.consume(t.viewItem,r);const s={style:t.viewItem.getNormalizedStyle("border-style"),color:t.viewItem.getNormalizedStyle("border-color"),width:t.viewItem.getNormalizedStyle("border-width")},a={style:Zt(s.style),color:Zt(s.color),width:Zt(s.width)};a.style!==o.style&&n.writer.setAttribute("borderStyle",a.style,l),a.color!==o.color&&n.writer.setAttribute("borderColor",a.color,l),a.width!==o.width&&n.writer.setAttribute("borderWidth",a.width,l)}))}function Yt(e,{modelElement:t,modelAttribute:o,styleName:n}){e.for("downcast").attributeToAttribute({model:{name:t,key:o},view:e=>({key:"style",value:{[n]:e}})})}function Qt(e,{modelAttribute:t,styleName:o}){e.for("downcast").add(e=>e.on(`attribute:${t}:table`,(e,t,n)=>{const{item:i,attributeNewValue:r}=t,{mapper:l,writer:s}=n;if(!n.consumable.consume(t.item,e.name))return;const a=[...l.toViewElement(i).getChildren()].find(e=>e.is("element","table"));r?s.setStyle(o,r,a):s.removeStyle(o,a)}))}function Zt(e){if(!e)return;return["top","right","bottom","left"].map(t=>e[t]).reduce((e,t)=>e==t?e:null)||e}class eo extends n.Command{constructor(e,t,o){super(e),this.attributeName=t,this._defaultValue=o}refresh(){const e=V(this.editor.model.document.selection);this.isEnabled=!!e.length,this.value=this._getSingleValue(e)}execute(e={}){const{value:t,batch:o}=e,n=this.editor.model,i=V(n.document.selection),r=this._getValueToSet(t);n.enqueueChange(o||"default",e=>{r?i.forEach(t=>e.setAttribute(this.attributeName,r,t)):i.forEach(t=>e.removeAttribute(this.attributeName,t))})}_getAttribute(e){if(!e)return;const t=e.getAttribute(this.attributeName);return t!==this._defaultValue?t:void 0}_getValueToSet(e){if(e!==this._defaultValue)return e}_getSingleValue(e){const t=this._getAttribute(e[0]);return e.every(e=>this._getAttribute(e)===t)?t:void 0}}class to extends eo{constructor(e,t){super(e,"padding",t)}_getAttribute(e){if(!e)return;const t=Ut(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){if((e=Kt(e,"px"))!==this._defaultValue)return e}}class oo extends eo{constructor(e,t){super(e,"width",t)}_getValueToSet(e){if((e=Kt(e,"px"))!==this._defaultValue)return e}}class no extends eo{constructor(e,t){super(e,"height",t)}_getValueToSet(e){return(e=Kt(e,"px"))===this._defaultValue?null:e}}class io extends eo{constructor(e,t){super(e,"backgroundColor",t)}}class ro extends eo{constructor(e,t){super(e,"verticalAlignment",t)}}class lo extends eo{constructor(e,t){super(e,"horizontalAlignment",t)}}class so extends eo{constructor(e,t){super(e,"borderStyle",t)}_getAttribute(e){if(!e)return;const t=Ut(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class ao extends eo{constructor(e,t){super(e,"borderColor",t)}_getAttribute(e){if(!e)return;const t=Ut(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class co extends eo{constructor(e,t){super(e,"borderWidth",t)}_getAttribute(e){if(!e)return;const t=Ut(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){if((e=Kt(e,"px"))!==this._defaultValue)return e}}const uo=/^(top|middle|bottom)$/,ho=/^(left|center|right|justify)$/;class bo extends n.Plugin{static get pluginName(){return"TableCellPropertiesEditing"}static get requires(){return[ye]}init(){const e=this.editor,t=e.model.schema,o=e.conversion;e.config.define("table.tableCellProperties.defaultProperties",{});const n=$t(e.config.get("table.tableCellProperties.defaultProperties"),{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,includePaddingProperty:!0,isRightToLeftContent:"rtl"===e.locale.contentLanguageDirection});e.data.addStyleProcessorRules(Ne.addBorderRules),function(e,t,o){e.extend("tableCell",{allowAttributes:["borderWidth","borderColor","borderStyle"]}),Xt(t,"td",o),Xt(t,"th",o),Yt(t,{modelElement:"tableCell",modelAttribute:"borderStyle",styleName:"border-style"}),Yt(t,{modelElement:"tableCell",modelAttribute:"borderColor",styleName:"border-color"}),Yt(t,{modelElement:"tableCell",modelAttribute:"borderWidth",styleName:"border-width"})}(t,o,{color:n.borderColor,style:n.borderStyle,width:n.borderWidth}),e.commands.add("tableCellBorderStyle",new so(e,n.borderStyle)),e.commands.add("tableCellBorderColor",new ao(e,n.borderColor)),e.commands.add("tableCellBorderWidth",new co(e,n.borderWidth)),function(e,t,o){e.extend("tableCell",{allowAttributes:["horizontalAlignment"]}),t.for("downcast").attributeToAttribute({model:{name:"tableCell",key:"horizontalAlignment"},view:e=>({key:"style",value:{"text-align":e}})}),t.for("upcast").attributeToAttribute({view:{name:/^(td|th)$/,styles:{"text-align":ho}},model:{key:"horizontalAlignment",value:e=>{const t=e.getStyle("text-align");return t===o?null:t}}}).attributeToAttribute({view:{name:/^(td|th)$/,attributes:{align:ho}},model:{key:"horizontalAlignment",value:e=>{const t=e.getAttribute("align");return t===o?null:t}}})}(t,o,n.horizontalAlignment),e.commands.add("tableCellHorizontalAlignment",new lo(e,n.horizontalAlignment)),mo(t,o,{modelAttribute:"width",styleName:"width",defaultValue:n.width}),e.commands.add("tableCellWidth",new oo(e,n.width)),mo(t,o,{modelAttribute:"height",styleName:"height",defaultValue:n.height}),e.commands.add("tableCellHeight",new no(e,n.height)),e.data.addStyleProcessorRules(Ne.addPaddingRules),mo(t,o,{modelAttribute:"padding",styleName:"padding",reduceBoxSides:!0,defaultValue:n.padding}),e.commands.add("tableCellPadding",new to(e,n.padding)),e.data.addStyleProcessorRules(Ne.addBackgroundRules),mo(t,o,{modelAttribute:"backgroundColor",styleName:"background-color",defaultValue:n.backgroundColor}),e.commands.add("tableCellBackgroundColor",new io(e,n.backgroundColor)),function(e,t,o){e.extend("tableCell",{allowAttributes:["verticalAlignment"]}),t.for("downcast").attributeToAttribute({model:{name:"tableCell",key:"verticalAlignment"},view:e=>({key:"style",value:{"vertical-align":e}})}),t.for("upcast").attributeToAttribute({view:{name:/^(td|th)$/,styles:{"vertical-align":uo}},model:{key:"verticalAlignment",value:e=>{const t=e.getStyle("vertical-align");return t===o?null:t}}}).attributeToAttribute({view:{name:/^(td|th)$/,attributes:{valign:uo}},model:{key:"verticalAlignment",value:e=>{const t=e.getAttribute("valign");return t===o?null:t}}})}(t,o,n.verticalAlignment),e.commands.add("tableCellVerticalAlignment",new ro(e,n.verticalAlignment))}}function mo(e,t,o){const{modelAttribute:n}=o;e.extend("tableCell",{allowAttributes:[n]}),Jt(t,{viewElement:/^(td|th)$/,...o}),Yt(t,{modelElement:"tableCell",...o})}class go extends n.Plugin{static get pluginName(){return"TableCellProperties"}static get requires(){return[bo,Gt]}}class po extends n.Command{constructor(e,t,o){super(e),this.attributeName=t,this._defaultValue=o}refresh(){const e=this.editor.model.document.selection.getFirstPosition().findAncestor("table");this.isEnabled=!!e,this.value=this._getValue(e)}execute(e={}){const t=this.editor.model,o=t.document.selection,{value:n,batch:i}=e,r=o.getFirstPosition().findAncestor("table"),l=this._getValueToSet(n);t.enqueueChange(i||"default",e=>{l?e.setAttribute(this.attributeName,l,r):e.removeAttribute(this.attributeName,r)})}_getValue(e){if(!e)return;const t=e.getAttribute(this.attributeName);return t!==this._defaultValue?t:void 0}_getValueToSet(e){if(e!==this._defaultValue)return e}}class fo extends po{constructor(e,t){super(e,"backgroundColor",t)}}class wo extends po{constructor(e,t){super(e,"borderColor",t)}_getValue(e){if(!e)return;const t=Ut(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class _o extends po{constructor(e,t){super(e,"borderStyle",t)}_getValue(e){if(!e)return;const t=Ut(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class ko extends po{constructor(e,t){super(e,"borderWidth",t)}_getValue(e){if(!e)return;const t=Ut(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){if((e=Kt(e,"px"))!==this._defaultValue)return e}}class vo extends po{constructor(e,t){super(e,"width",t)}_getValueToSet(e){if((e=Kt(e,"px"))!==this._defaultValue)return e}}class Co extends po{constructor(e,t){super(e,"height",t)}_getValueToSet(e){return(e=Kt(e,"px"))===this._defaultValue?null:e}}class yo extends po{constructor(e,t){super(e,"alignment",t)}}const To=/^(left|center|right)$/,xo=/^(left|none|right)$/;class Ao extends n.Plugin{static get pluginName(){return"TablePropertiesEditing"}static get requires(){return[ye]}init(){const e=this.editor,t=e.model.schema,o=e.conversion;e.config.define("table.tableProperties.defaultProperties",{});const n=$t(e.config.get("table.tableProperties.defaultProperties"),{includeAlignmentProperty:!0});e.data.addStyleProcessorRules(Ne.addBorderRules),function(e,t,o){e.extend("table",{allowAttributes:["borderWidth","borderColor","borderStyle"]}),Xt(t,"table",o),Qt(t,{modelAttribute:"borderColor",styleName:"border-color"}),Qt(t,{modelAttribute:"borderStyle",styleName:"border-style"}),Qt(t,{modelAttribute:"borderWidth",styleName:"border-width"})}(t,o,{color:n.borderColor,style:n.borderStyle,width:n.borderWidth}),e.commands.add("tableBorderColor",new wo(e,n.borderColor)),e.commands.add("tableBorderStyle",new _o(e,n.borderStyle)),e.commands.add("tableBorderWidth",new ko(e,n.borderWidth)),function(e,t,o){e.extend("table",{allowAttributes:["alignment"]}),t.for("downcast").attributeToAttribute({model:{name:"table",key:"alignment"},view:e=>({key:"style",value:{float:"center"===e?"none":e}}),converterPriority:"high"}),t.for("upcast").attributeToAttribute({view:{name:/^(table|figure)$/,styles:{float:xo}},model:{key:"alignment",value:e=>{let t=e.getStyle("float");return"none"===t&&(t="center"),t===o?null:t}}}).attributeToAttribute({view:{attributes:{align:To}},model:{name:"table",key:"alignment",value:e=>{const t=e.getAttribute("align");return t===o?null:t}}})}(t,o,n.alignment),e.commands.add("tableAlignment",new yo(e,n.alignment)),Vo(t,o,{modelAttribute:"width",styleName:"width",defaultValue:n.width}),e.commands.add("tableWidth",new vo(e,n.width)),Vo(t,o,{modelAttribute:"height",styleName:"height",defaultValue:n.height}),e.commands.add("tableHeight",new Co(e,n.height)),e.data.addStyleProcessorRules(Ne.addBackgroundRules),function(e,t,o){const{modelAttribute:n}=o;e.extend("table",{allowAttributes:[n]}),Jt(t,{viewElement:"table",...o}),Qt(t,o)}(t,o,{modelAttribute:"backgroundColor",styleName:"background-color",defaultValue:n.backgroundColor}),e.commands.add("tableBackgroundColor",new fo(e,n.backgroundColor))}}function Vo(e,t,o){const{modelAttribute:n}=o;e.extend("table",{allowAttributes:[n]}),Jt(t,{viewElement:/^(table|figure)$/,...o}),Yt(t,{modelElement:"table",...o})}o(28);const So={left:n.icons.objectLeft,center:n.icons.objectCenter,right:n.icons.objectRight};class Ro extends xe.View{constructor(e,t){super(e),this.set({borderStyle:"",borderWidth:"",borderColor:"",backgroundColor:"",width:"",height:"",alignment:""}),this.options=t;const{borderStyleDropdown:o,borderWidthInput:n,borderColorInput:i,borderRowLabel:r}=this._createBorderFields(),{backgroundRowLabel:l,backgroundInput:s}=this._createBackgroundFields(),{widthInput:c,operatorLabel:d,heightInput:u,dimensionsLabel:h}=this._createDimensionFields(),{alignmentToolbar:b,alignmentLabel:m}=this._createAlignmentFields();this.focusTracker=new a.FocusTracker,this.keystrokes=new a.KeystrokeHandler,this.children=this.createCollection(),this.borderStyleDropdown=o,this.borderWidthInput=n,this.borderColorInput=i,this.backgroundInput=s,this.widthInput=c,this.heightInput=u,this.alignmentToolbar=b;const{saveButtonView:g,cancelButtonView:p}=this._createActionButtons();this.saveButtonView=g,this.cancelButtonView=p,this._focusables=new xe.ViewCollection,this._focusCycler=new xe.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.children.add(new xe.FormHeaderView(e,{label:this.t("Table properties")})),this.children.add(new rt(e,{labelView:r,children:[r,o,i,n],class:"ck-table-form__border-row"})),this.children.add(new rt(e,{labelView:l,children:[l,s],class:"ck-table-form__background-row"})),this.children.add(new rt(e,{children:[new rt(e,{labelView:h,children:[h,c,d,u],class:"ck-table-form__dimensions-row"}),new rt(e,{labelView:m,children:[m,b],class:"ck-table-properties-form__alignment-row"})]})),this.children.add(new rt(e,{children:[this.saveButtonView,this.cancelButtonView],class:"ck-table-form__action-row"})),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render(),Object(xe.submitHandler)({view:this}),[this.borderStyleDropdown,this.borderColorInput,this.borderWidthInput,this.backgroundInput,this.widthInput,this.heightInput,this.alignmentToolbar,this.saveButtonView,this.cancelButtonView].forEach(e=>{this._focusables.add(e),this.focusTracker.add(e.element)}),this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createBorderFields(){const e=this.options.defaultTableProperties,t={style:e.borderStyle,width:e.borderWidth,color:e.borderColor},o=nt({colorConfig:this.options.borderColors,columns:5,defaultColorValue:t.color}),n=this.locale,i=this.t,r=new xe.LabelView(n);r.text=i("Border");const l=Ge(this.t),s=new xe.LabeledFieldView(n,xe.createLabeledDropdown);s.set({label:i("Style"),class:"ck-table-form__border-style"}),s.fieldView.buttonView.set({isOn:!1,withText:!0,tooltip:i("Style")}),s.fieldView.buttonView.bind("label").to(this,"borderStyle",e=>l[e||"none"]),s.fieldView.on("execute",e=>{this.borderStyle=e.source._borderStyleValue}),s.bind("isEmpty").to(this,"borderStyle",e=>!e),Object(xe.addListToDropdown)(s.fieldView,et(this,t.style));const a=new xe.LabeledFieldView(n,xe.createLabeledInputText);a.set({label:i("Width"),class:"ck-table-form__border-width"}),a.fieldView.bind("value").to(this,"borderWidth"),a.bind("isEnabled").to(this,"borderStyle",Io),a.fieldView.on("input",()=>{this.borderWidth=a.fieldView.element.value});const c=new xe.LabeledFieldView(n,o);return c.set({label:i("Color"),class:"ck-table-form__border-color"}),c.fieldView.bind("value").to(this,"borderColor"),c.bind("isEnabled").to(this,"borderStyle",Io),c.fieldView.on("input",()=>{this.borderColor=c.fieldView.value}),this.on("change:borderStyle",(e,o,n,i)=>{Io(n)||(this.borderColor="",this.borderWidth=""),Io(i)||(this.borderColor=t.color,this.borderWidth=t.width)}),{borderRowLabel:r,borderStyleDropdown:s,borderColorInput:c,borderWidthInput:a}}_createBackgroundFields(){const e=this.locale,t=this.t,o=new xe.LabelView(e);o.text=t("Background");const n=nt({colorConfig:this.options.backgroundColors,columns:5,defaultColorValue:this.options.defaultTableProperties.backgroundColor}),i=new xe.LabeledFieldView(e,n);return i.set({label:t("Color"),class:"ck-table-properties-form__background"}),i.fieldView.bind("value").to(this,"backgroundColor"),i.fieldView.on("input",()=>{this.backgroundColor=i.fieldView.value}),{backgroundRowLabel:o,backgroundInput:i}}_createDimensionFields(){const e=this.locale,t=this.t,o=new xe.LabelView(e);o.text=t("Dimensions");const n=new xe.LabeledFieldView(e,xe.createLabeledInputText);n.set({label:t("Width"),class:"ck-table-form__dimensions-row__width"}),n.fieldView.bind("value").to(this,"width"),n.fieldView.on("input",()=>{this.width=n.fieldView.element.value});const i=new xe.View(e);i.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"×"}]});const r=new xe.LabeledFieldView(e,xe.createLabeledInputText);return r.set({label:t("Height"),class:"ck-table-form__dimensions-row__height"}),r.fieldView.bind("value").to(this,"height"),r.fieldView.on("input",()=>{this.height=r.fieldView.element.value}),{dimensionsLabel:o,widthInput:n,operatorLabel:i,heightInput:r}}_createAlignmentFields(){const e=this.locale,t=this.t,o=new xe.LabelView(e);o.text=t("Alignment");const n=new xe.ToolbarView(e);return n.set({isCompact:!0,ariaLabel:t("Table alignment toolbar")}),tt({view:this,icons:So,toolbar:n,labels:this._alignmentLabels,propertyName:"alignment",defaultValue:this.options.defaultTableProperties.alignment}),{alignmentLabel:o,alignmentToolbar:n}}_createActionButtons(){const e=this.locale,t=this.t,o=new xe.ButtonView(e),i=new xe.ButtonView(e),r=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.widthInput,this.heightInput];return o.set({label:t("Save"),icon:n.icons.check,class:"ck-button-save",type:"submit",withText:!0}),o.bind("isEnabled").toMany(r,"errorText",(...e)=>e.every(e=>!e)),i.set({label:t("Cancel"),icon:n.icons.cancel,class:"ck-button-cancel",withText:!0}),i.delegate("execute").to(this,"cancel"),{saveButtonView:o,cancelButtonView:i}}get _alignmentLabels(){const e=this.locale,t=this.t,o=t("Align table to the left"),n=t("Center table"),i=t("Align table to the right");return"rtl"===e.uiLanguageDirection?{right:i,center:n,left:o}:{left:o,center:n,right:i}}}function Io(e){return"none"!==e}const Po={borderStyle:"tableBorderStyle",borderColor:"tableBorderColor",borderWidth:"tableBorderWidth",backgroundColor:"tableBackgroundColor",width:"tableWidth",height:"tableHeight",alignment:"tableAlignment"};class Eo extends n.Plugin{static get requires(){return[xe.ContextualBalloon]}static get pluginName(){return"TablePropertiesUI"}constructor(e){super(e),e.config.define("table.tableProperties",{borderColors:ot,backgroundColors:ot})}init(){const e=this.editor,t=e.t;this._defaultTableProperties=$t(e.config.get("table.tableProperties.defaultProperties"),{includeAlignmentProperty:!0}),this._balloon=e.plugins.get(xe.ContextualBalloon),this.view=this._createPropertiesView(),this._undoStepBatch=null,e.ui.componentFactory.add("tableProperties",o=>{const n=new xe.ButtonView(o);n.set({label:t("Table properties"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M8 2v5h4V2h1v5h5v1h-5v4h.021l-.172.351-1.916.28-.151.027c-.287.063-.54.182-.755.341L8 13v5H7v-5H2v-1h5V8H2V7h5V2h1zm4 6H8v4h4V8z" opacity=".6"/><path d="m15.5 11.5 1.323 2.68 2.957.43-2.14 2.085.505 2.946L15.5 18.25l-2.645 1.39.505-2.945-2.14-2.086 2.957-.43L15.5 11.5zM17 1a2 2 0 0 1 2 2v9.475l-.85-.124-.857-1.736a2.048 2.048 0 0 0-.292-.44L17 3H3v14h7.808l.402.392L10.935 19H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h14z"/></svg>',tooltip:!0}),this.listenTo(n,"execute",()=>this._showView());const i=Object.values(Po).map(t=>e.commands.get(t));return n.bind("isEnabled").toMany(i,"isEnabled",(...e)=>e.some(e=>e)),n})}destroy(){super.destroy(),this.view.destroy()}_createPropertiesView(){const e=this.editor,t=e.config.get("table.tableProperties"),o=Object(xe.normalizeColorOptions)(t.borderColors),n=Object(xe.getLocalizedColorOptions)(e.locale,o),i=Object(xe.normalizeColorOptions)(t.backgroundColors),r=Object(xe.getLocalizedColorOptions)(e.locale,i),l=new Ro(e.locale,{borderColors:n,backgroundColors:r,defaultTableProperties:this._defaultTableProperties}),s=e.t;l.render(),this.listenTo(l,"submit",()=>{this._hideView()}),this.listenTo(l,"cancel",()=>{this._undoStepBatch.operations.length&&e.execute("undo",this._undoStepBatch),this._hideView()}),l.keystrokes.set("Esc",(e,t)=>{this._hideView(),t()}),Object(xe.clickOutsideHandler)({emitter:l,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});const a=Je(s),c=Xe(s);return l.on("change:borderStyle",this._getPropertyChangeCallback("tableBorderStyle",this._defaultTableProperties.borderStyle)),l.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:l.borderColorInput,commandName:"tableBorderColor",errorText:a,validator:Ye,defaultValue:this._defaultTableProperties.borderColor})),l.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:l.borderWidthInput,commandName:"tableBorderWidth",errorText:c,validator:Ze,defaultValue:this._defaultTableProperties.borderWidth})),l.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:l.backgroundInput,commandName:"tableBackgroundColor",errorText:a,validator:Ye,defaultValue:this._defaultTableProperties.backgroundColor})),l.on("change:width",this._getValidatedPropertyChangeCallback({viewField:l.widthInput,commandName:"tableWidth",errorText:c,validator:Qe,defaultValue:this._defaultTableProperties.width})),l.on("change:height",this._getValidatedPropertyChangeCallback({viewField:l.heightInput,commandName:"tableHeight",errorText:c,validator:Qe,defaultValue:this._defaultTableProperties.height})),l.on("change:alignment",this._getPropertyChangeCallback("tableAlignment",this._defaultTableProperties.alignment)),l}_fillViewFormFromCommandValues(){const e=this.editor.commands,t=e.get("tableBorderStyle");Object.entries(Po).map(([t,o])=>{const n=this._defaultTableProperties[t]||"";return[t,e.get(o).value||n]}).forEach(([e,o])=>{("borderColor"!==e&&"borderWidth"!==e||"none"!==t.value)&&this.view.set(e,o)})}_showView(){const e=this.editor;this.listenTo(e.ui,"update",()=>{this._updateView()}),this._fillViewFormFromCommandValues(),this._balloon.add({view:this.view,position:Dt(e)}),this._undoStepBatch=e.model.createBatch(),this.view.focus()}_hideView(){const e=this.editor;this.stopListening(e.ui,"update"),this.view.saveButtonView.focus(),this._balloon.remove(this.view),this.editor.editing.view.focus()}_updateView(){const e=this.editor;We(e.editing.view.document.selection)?this._isViewVisible&&Ht(e,"table"):this._hideView()}get _isViewVisible(){return this._balloon.visibleView===this.view}get _isViewInBalloon(){return this._balloon.hasView(this.view)}_getPropertyChangeCallback(e,t){return(o,n,i,r)=>{(r||t!==i)&&this.editor.execute(e,{value:i,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback(e){const{commandName:t,viewField:o,validator:n,errorText:i,defaultValue:r}=e,l=zt(()=>{o.errorText=i},500);return(e,i,s,a)=>{l.cancel(),(a||r!==s)&&(n(s)?(this.editor.execute(t,{value:s,batch:this._undoStepBatch}),o.errorText=null):l())}}}class Bo extends n.Plugin{static get pluginName(){return"TableProperties"}static get requires(){return[Ao,Eo]}}function Oo(e){e.document.registerPostFixer(t=>function(e,t){const o=t.document.differ.getChanges();let n=!1;for(const t of o){if("insert"!=t.type)continue;if(t.position.parent.is("element","table")||"table"==t.name){const o="table"==t.name?t.position.nodeAfter:t.position.parent,i=Array.from(o.getChildren()).filter(e=>e.is("element","caption")),r=i.shift();if(!r)continue;for(const t of i)e.move(e.createRangeIn(t),r,"end"),e.remove(t);r.nextSibling&&(e.move(e.createRangeOn(r),o,"end"),n=!0),n=!!i.length||n}}return n}(t,e))}function Lo(e){return!!e&&e.is("element","table")}function No(e){for(const t of e.getChildren())if(t.is("element","caption"))return t;return null}function zo(e){const t=e.parent;return"figcaption"==e.name&&t&&"figure"==t.name&&t.hasClass("table")||"caption"==e.name&&t&&"table"==t.name?{name:!0}:null}function Mo(e){const t=e.getSelectedElement();return t&&t.is("element","table")?t:e.getFirstPosition().findAncestor("table")}class Fo extends n.Command{refresh(){const e=Mo(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled?this.value=!!No(e):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change(e=>{this.value?this._hideTableCaption(e):this._showTableCaption(e,t)})}_showTableCaption(e,t){const o=Mo(this.editor.model.document.selection),n=this.editor.plugins.get("TableCaptionEditing")._getSavedCaption(o)||e.createElement("caption");e.append(n,o),t&&e.setSelection(n,"in")}_hideTableCaption(e){const t=Mo(this.editor.model.document.selection),o=this.editor.plugins.get("TableCaptionEditing"),n=No(t);o._saveCaption(t,n),e.setSelection(e.createRangeIn(t.getChild(0).getChild(0))),e.remove(n)}}class Ho extends n.Plugin{static get pluginName(){return"TableCaptionEditing"}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema,o=e.editing.view,n=e.t;t.isRegistered("caption")?t.extend("caption",{allowIn:"table"}):t.register("caption",{allowIn:"table",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleTableCaption",new Fo(this.editor)),e.conversion.for("upcast").elementToElement({view:zo,model:"caption"}),e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(e,{writer:t})=>Lo(e.parent)?t.createContainerElement("figcaption"):null}),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:t})=>{if(!Lo(e.parent))return null;const r=t.createEditableElement("figcaption");return t.setCustomProperty("tableCaption",!0,r),Object(Ne.enablePlaceholder)({view:o,element:r,text:n("Enter table caption"),keepOnFocus:!0}),Object(i.toWidgetEditable)(r,t)}}),Oo(e.model)}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?Ne.Element.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}}class Do extends n.Plugin{static get pluginName(){return"TableCaptionUI"}init(){const e=this.editor,t=e.editing.view,o=e.t;e.ui.componentFactory.add("toggleTableCaption",i=>{const r=e.commands.get("toggleTableCaption"),l=new xe.ButtonView(i);return l.set({icon:n.icons.caption,tooltip:!0,isToggleable:!0}),l.bind("isOn","isEnabled").to(r,"value","isEnabled"),l.bind("label").to(r,"value",e=>o(e?"Toggle caption off":"Toggle caption on")),this.listenTo(l,"execute",()=>{if(e.execute("toggleTableCaption",{focusCaptionOnShow:!0}),r.value){const o=function(e){const t=Mo(e);return t?No(t):null}(e.model.document.selection),n=e.editing.mapper.toViewElement(o);if(!n)return;t.scrollToTheSelection(),t.change(e=>{e.addClass("table__caption_highlighted",n)})}}),l})}}o(30);class Wo extends n.Plugin{static get pluginName(){return"TableCaption"}static get requires(){return[Ho,Do]}}}]);
\ No newline at end of file
+ */(()=>{var e={252:(e,t,o)=>{"use strict";o.d(t,{Z:()=>l});var n=o(609),i=o.n(n)()((function(e){return e[1]}));i.push([e.id,".ck.ck-input-color{display:flex;flex-direction:row-reverse;width:100%}.ck.ck-input-color>input.ck.ck-input-text{flex-grow:1;min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{overflow:hidden;position:relative}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{display:block;position:absolute}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border:1px solid var(--ck-color-input-border);height:20px;width:20px}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{background:red;border-radius:2px;height:150%;left:50%;top:-30%;transform:rotate(45deg);transform-origin:50%;width:8%}.ck.ck-input-color .ck.ck-input-color__remove-color{border-bottom:1px solid var(--ck-color-input-border);border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);width:100%}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard);margin-right:0}",""]);const l=i},934:(e,t,o)=>{"use strict";o.d(t,{Z:()=>l});var n=o(609),i=o.n(n)()((function(e){return e[1]}));i.push([e.id,".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}",""]);const l=i},333:(e,t,o)=>{"use strict";o.d(t,{Z:()=>l});var n=o(609),i=o.n(n)()((function(e){return e[1]}));i.push([e.id,".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{min-width:100%;width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}",""]);const l=i},272:(e,t,o)=>{"use strict";o.d(t,{Z:()=>l});var n=o(609),i=o.n(n)()((function(e){return e[1]}));i.push([e.id,".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;height:var(--ck-insert-table-dropdown-box-height);margin:var(--ck-insert-table-dropdown-box-margin);width:var(--ck-insert-table-dropdown-box-width)}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}",""]);const l=i},660:(e,t,o)=>{"use strict";o.d(t,{Z:()=>l});var n=o(609),i=o.n(n)()((function(e){return e[1]}));i.push([e.id,".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}",""]);const l=i},665:(e,t,o)=>{"use strict";o.d(t,{Z:()=>l});var n=o(609),i=o.n(n)()((function(e){return e[1]}));i.push([e.id,":root{--ck-color-table-caption-background:#f7f7f7;--ck-color-table-caption-text:#333;--ck-color-table-caption-highlighted-background:#fd0}.ck-content .table>figcaption{background-color:var(--ck-color-table-caption-background);caption-side:top;color:var(--ck-color-table-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;text-align:center;word-break:break-word}.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-table-caption-highlighted-background)}to{background-color:var(--ck-color-table-caption-background)}}",""]);const l=i},773:(e,t,o)=>{"use strict";o.d(t,{Z:()=>l});var n=o(609),i=o.n(n)()((function(e){return e[1]}));i.push([e.id,".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}",""]);const l=i},482:(e,t,o)=>{"use strict";o.d(t,{Z:()=>l});var n=o(609),i=o.n(n)()((function(e){return e[1]}));i.push([e.id,":root{--ck-color-table-focused-cell-background:rgba(158,207,250,.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-table-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}",""]);const l=i},686:(e,t,o)=>{"use strict";o.d(t,{Z:()=>l});var n=o(609),i=o.n(n)()((function(e){return e[1]}));i.push([e.id,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{align-items:center;flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{align-items:center;display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;position:absolute;transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:"";left:50%;position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{max-width:80px;min-width:80px;width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:transparent transparent var(--ck-color-base-error) transparent;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',""]);const l=i},99:(e,t,o)=>{"use strict";o.d(t,{Z:()=>l});var n=o(609),i=o.n(n)()((function(e){return e[1]}));i.push([e.id,".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-content:baseline;flex-basis:0;flex-wrap:wrap}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}",""]);const l=i},475:(e,t,o)=>{"use strict";o.d(t,{Z:()=>l});var n=o(609),i=o.n(n)()((function(e){return e[1]}));i.push([e.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',""]);const l=i},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o=e(t);return t[2]?"@media ".concat(t[2]," {").concat(o,"}"):o})).join("")},t.i=function(e,o,n){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(n)for(var l=0;l<this.length;l++){var r=this[l][0];null!=r&&(i[r]=!0)}for(var s=0;s<e.length;s++){var a=[].concat(e[s]);n&&i[a[0]]||(o&&(a[2]?a[2]="".concat(o," and ").concat(a[2]):a[2]=o),t.push(a))}},t}},62:(e,t,o)=>{"use strict";var n,i=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},l=function(){var e={};return function(t){if(void 0===e[t]){var o=document.querySelector(t);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}e[t]=o}return e[t]}}(),r=[];function s(e){for(var t=-1,o=0;o<r.length;o++)if(r[o].identifier===e){t=o;break}return t}function a(e,t){for(var o={},n=[],i=0;i<e.length;i++){var l=e[i],a=t.base?l[0]+t.base:l[0],c=o[a]||0,d="".concat(a," ").concat(c);o[a]=c+1;var u=s(d),h={css:l[1],media:l[2],sourceMap:l[3]};-1!==u?(r[u].references++,r[u].updater(h)):r.push({identifier:d,updater:p(h,t),references:1}),n.push(d)}return n}function c(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var i=o.nc;i&&(n.nonce=i)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var r=l(e.insert||"head");if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(t)}return t}var d,u=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function h(e,t,o,n){var i=o?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=u(t,i);else{var l=document.createTextNode(i),r=e.childNodes;r[t]&&e.removeChild(r[t]),r.length?e.insertBefore(l,r[t]):e.appendChild(l)}}function b(e,t,o){var n=o.css,i=o.media,l=o.sourceMap;if(i?e.setAttribute("media",i):e.removeAttribute("media"),l&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(l))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var m=null,g=0;function p(e,t){var o,n,i;if(t.singleton){var l=g++;o=m||(m=c(t)),n=h.bind(null,o,l,!1),i=h.bind(null,o,l,!0)}else o=c(t),n=b.bind(null,o,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(o)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=i());var o=a(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<o.length;n++){var i=s(o[n]);r[i].references--}for(var l=a(e,t),c=0;c<o.length;c++){var d=s(o[c]);0===r[d].references&&(r[d].updater(),r.splice(d,1))}o=l}}}},704:(e,t,o)=>{e.exports=o(79)("./src/core.js")},492:(e,t,o)=>{e.exports=o(79)("./src/engine.js")},273:(e,t,o)=>{e.exports=o(79)("./src/ui.js")},209:(e,t,o)=>{e.exports=o(79)("./src/utils.js")},995:(e,t,o)=>{e.exports=o(79)("./src/widget.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var l=t[n]={id:n,exports:{}};return e[n](l,l.exports,o),l.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";o.r(n),o.d(n,{PlainTableOutput:()=>Le,Table:()=>Be,TableCaption:()=>Xo,TableCaptionEditing:()=>$o,TableCaptionUI:()=>qo,TableCellProperties:()=>_o,TableCellPropertiesEditing:()=>wo,TableCellPropertiesUI:()=>Qt,TableClipboard:()=>Ce,TableEditing:()=>ce,TableKeyboard:()=>Ae,TableMouse:()=>Re,TableProperties:()=>Oo,TablePropertiesEditing:()=>Po,TablePropertiesUI:()=>Do,TableSelection:()=>_e,TableToolbar:()=>De,TableUI:()=>pe,TableUtils:()=>F});var e=o(704),t=o(995);function i(e,t,o,n,i=1){t>i?n.setAttribute(e,t,o):n.removeAttribute(e,o)}function l(e,t,o={}){const n=e.createElement("tableCell",o);return e.insertElement("paragraph",n),e.insert(n,t),n}function r(e,t){const o=t.parent.parent,n=parseInt(o.getAttribute("headingColumns")||0),{column:i}=e.getCellLocation(t);return!!n&&i<n}var s=o(209);function a(){return e=>{e.on("element:table",((e,t,o)=>{const n=t.viewItem;if(!o.consumable.test(n,{name:!0}))return;const{rows:i,headingRows:r,headingColumns:s}=function(e){const t={headingRows:0,headingColumns:0},o=[],n=[];let i;for(const l of Array.from(e.getChildren()))if("tbody"===l.name||"thead"===l.name||"tfoot"===l.name){"thead"!==l.name||i||(i=l);const e=Array.from(l.getChildren()).filter((e=>e.is("element","tr")));for(const l of e)if("thead"===l.parent.name&&l.parent===i)t.headingRows++,o.push(l);else{n.push(l);const e=d(l);e>t.headingColumns&&(t.headingColumns=e)}}return t.rows=[...o,...n],t}(n),a={};s&&(a.headingColumns=s),r&&(a.headingRows=r);const c=o.writer.createElement("table",a);if(o.safeInsert(c,t.modelCursor)){if(o.consumable.consume(n,{name:!0}),i.forEach((e=>o.convertItem(e,o.writer.createPositionAt(c,"end")))),o.convertChildren(n,o.writer.createPositionAt(c,"end")),c.isEmpty){const e=o.writer.createElement("tableRow");o.writer.insert(e,o.writer.createPositionAt(c,"end")),l(o.writer,o.writer.createPositionAt(e,"end"))}o.updateConversionResult(c,t)}}))}}function c(e){return t=>{t.on(`element:${e}`,((e,t,o)=>{if(t.modelRange&&t.viewItem.isEmpty){const e=t.modelRange.start.nodeAfter,n=o.writer.createPositionAt(e,0);o.writer.insertElement("paragraph",n)}}),{priority:"low"})}}function d(e){let t=0,o=0;const n=Array.from(e.getChildren()).filter((e=>"th"===e.name||"td"===e.name));for(;o<n.length&&"th"===n[o].name;){const e=n[o];t+=parseInt(e.getAttribute("colspan")||1),o++}return t}class u{constructor(e,t={}){this._table=e,this._startRow=void 0!==t.row?t.row:t.startRow||0,this._endRow=void 0!==t.row?t.row:t.endRow,this._startColumn=void 0!==t.column?t.column:t.startColumn||0,this._endColumn=void 0!==t.column?t.column:t.endColumn,this._includeAllSlots=!!t.includeAllSlots,this._skipRows=new Set,this._row=0,this._rowIndex=0,this._column=0,this._cellIndex=0,this._spannedCells=new Map,this._nextCellAtColumn=-1}[Symbol.iterator](){return this}next(){const e=this._table.getChild(this._rowIndex);if(!e||this._isOverEndRow())return{done:!0};if(!e.is("element","tableRow"))return this._rowIndex++,this.next();if(this._isOverEndColumn())return this._advanceToNextRow();let t=null;const o=this._getSpanned();if(o)this._includeAllSlots&&!this._shouldSkipSlot()&&(t=this._formatOutValue(o.cell,o.row,o.column));else{const o=e.getChild(this._cellIndex);if(!o)return this._advanceToNextRow();const n=parseInt(o.getAttribute("colspan")||1),i=parseInt(o.getAttribute("rowspan")||1);(n>1||i>1)&&this._recordSpans(o,i,n),this._shouldSkipSlot()||(t=this._formatOutValue(o)),this._nextCellAtColumn=this._column+n}return this._column++,this._column==this._nextCellAtColumn&&this._cellIndex++,t||this.next()}skipRow(e){this._skipRows.add(e)}_advanceToNextRow(){return this._row++,this._rowIndex++,this._column=0,this._cellIndex=0,this._nextCellAtColumn=-1,this.next()}_isOverEndRow(){return void 0!==this._endRow&&this._row>this._endRow}_isOverEndColumn(){return void 0!==this._endColumn&&this._column>this._endColumn}_formatOutValue(e,t=this._row,o=this._column){return{done:!1,value:new h(this,e,t,o)}}_shouldSkipSlot(){const e=this._skipRows.has(this._row),t=this._row<this._startRow,o=this._column<this._startColumn,n=void 0!==this._endColumn&&this._column>this._endColumn;return e||t||o||n}_getSpanned(){const e=this._spannedCells.get(this._row);return e&&e.get(this._column)||null}_recordSpans(e,t,o){const n={cell:e,row:this._row,column:this._column};for(let e=this._row;e<this._row+t;e++)for(let t=this._column;t<this._column+o;t++)e==this._row&&t==this._column||this._markSpannedCell(e,t,n)}_markSpannedCell(e,t,o){this._spannedCells.has(e)||this._spannedCells.set(e,new Map);this._spannedCells.get(e).set(t,o)}}class h{constructor(e,t,o,n){this.cell=t,this.row=e._row,this.column=e._column,this.cellAnchorRow=o,this.cellAnchorColumn=n,this._cellIndex=e._cellIndex,this._rowIndex=e._rowIndex,this._table=e._table}get isAnchor(){return this.row===this.cellAnchorRow&&this.column===this.cellAnchorColumn}get cellWidth(){return parseInt(this.cell.getAttribute("colspan")||1)}get cellHeight(){return parseInt(this.cell.getAttribute("rowspan")||1)}get rowIndex(){return this._rowIndex}getPositionBefore(){return this._table.root.document.model.createPositionAt(this._table.getChild(this.row),this._cellIndex)}}function b(e,o={}){return(n,{writer:i})=>{const l=n.getAttribute("headingRows")||0,r=[];l>0&&r.push(i.createContainerElement("thead",null,i.createSlot((e=>e.is("element","tableRow")&&e.index<l)))),l<e.getRows(n)&&r.push(i.createContainerElement("tbody",null,i.createSlot((e=>e.is("element","tableRow")&&e.index>=l))));const s=i.createContainerElement("figure",{class:"table"},[i.createContainerElement("table",null,r),i.createSlot((e=>!e.is("element","tableRow")))]);return o.asWidget?function(e,o){return o.setCustomProperty("table",!0,e),(0,t.toWidget)(e,o,{hasSelectionHandle:!0})}(s,i):s}}function m(e={}){return(o,{writer:n})=>{const i=o.parent,l=i.parent,r=l.getChildIndex(i),s=new u(l,{row:r}),a=l.getAttribute("headingRows")||0,c=l.getAttribute("headingColumns")||0;for(const i of s)if(i.cell==o){const o=i.row<a||i.column<c?"th":"td";return e.asWidget?(0,t.toWidgetEditable)(n.createEditableElement(o),n):n.createContainerElement(o)}}}function g(e={}){return(t,{writer:o,consumable:n,mapper:i})=>{if(t.parent.is("element","tableCell")&&p(t))return e.asWidget?o.createContainerElement("span",{class:"ck-table-bogus-paragraph"}):(n.consume(t,"insert"),void i.bindElements(t,i.toViewElement(t.parent)))}}function p(e){return 1==e.parent.childCount&&![...e.getAttributeKeys()].length}class f extends e.Command{refresh(){const e=this.editor.model,t=e.document.selection,o=e.schema;this.isEnabled=function(e,t){const o=e.getFirstPosition().parent,n=o===o.root?o:o.parent;return t.checkChild(n,"table")}(t,o)}execute(e={}){const t=this.editor.model,o=this.editor.plugins.get("TableUtils"),n=this.editor.config.get("table"),i=n.defaultHeadings.rows,l=n.defaultHeadings.columns;void 0===e.headingRows&&i&&(e.headingRows=i),void 0===e.headingColumns&&l&&(e.headingColumns=l),t.change((n=>{const i=o.createTable(n,e);t.insertObject(i,null,null,{findOptimalPosition:"auto"}),n.setSelection(n.createPositionAt(i.getNodeByPath([0,0,0]),0))}))}}class w extends e.Command{constructor(e,t={}){super(e),this.order=t.order||"below"}refresh(){const e=this.editor.model.document.selection,t=!!this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(e).length;this.isEnabled=t}execute(){const e=this.editor,t=e.model.document.selection,o=e.plugins.get("TableUtils"),n="above"===this.order,i=o.getSelectionAffectedTableCells(t),l=o.getRowIndexes(i),r=n?l.first:l.last,s=i[0].findAncestor("table");o.insertRows(s,{at:n?r:r+1,copyStructureFromAbove:!n})}}class k extends e.Command{constructor(e,t={}){super(e),this.order=t.order||"right"}refresh(){const e=this.editor.model.document.selection,t=!!this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(e).length;this.isEnabled=t}execute(){const e=this.editor,t=e.model.document.selection,o=e.plugins.get("TableUtils"),n="left"===this.order,i=o.getSelectionAffectedTableCells(t),l=o.getColumnIndexes(i),r=n?l.first:l.last,s=i[0].findAncestor("table");o.insertColumns(s,{columns:1,at:n?r:r+1})}}class _ extends e.Command{constructor(e,t={}){super(e),this.direction=t.direction||"horizontally"}refresh(){const e=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=1===e.length}execute(){const e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection)[0];"horizontally"===this.direction?e.splitCellHorizontally(t,2):e.splitCellVertically(t,2)}}function C(e,t,o){const{startRow:n,startColumn:r,endRow:s,endColumn:a}=t,c=o.createElement("table"),d=s-n+1;for(let e=0;e<d;e++)o.insertElement("tableRow",c,"end");const h=[...new u(e,{startRow:n,endRow:s,startColumn:r,endColumn:a,includeAllSlots:!0})];for(const{row:e,column:t,cell:i,isAnchor:d,cellAnchorRow:u,cellAnchorColumn:b}of h){const h=e-n,m=c.getChild(h);if(d){const n=o.cloneElement(i);o.append(n,m),A(n,e,t,s,a,o)}else(u<n||b<r)&&l(o,o.createPositionAt(m,"end"))}return function(e,t,o,n,l){const r=parseInt(t.getAttribute("headingRows")||0);if(r>0){i("headingRows",r-o,e,l,0)}const s=parseInt(t.getAttribute("headingColumns")||0);if(s>0){i("headingColumns",s-n,e,l,0)}}(c,e,n,r,o),c}function v(e,t,o=0){const n=[],i=new u(e,{startRow:o,endRow:t-1});for(const e of i){const{row:o,cellHeight:i}=e,l=o+i-1;o<t&&t<=l&&n.push(e)}return n}function y(e,t,o){const n=e.parent,r=n.parent,s=n.index,a=t-s,c={},d=parseInt(e.getAttribute("rowspan"))-a;d>1&&(c.rowspan=d);const h=parseInt(e.getAttribute("colspan")||1);h>1&&(c.colspan=h);const b=s+a,m=[...new u(r,{startRow:s,endRow:b,includeAllSlots:!0})];let g,p=null;for(const t of m){const{row:n,column:i,cell:r}=t;r===e&&void 0===g&&(g=i),void 0!==g&&g===i&&n===b&&(p=l(o,t.getPositionBefore(),c))}return i("rowspan",a,e,o),p}function T(e,t){const o=[],n=new u(e);for(const e of n){const{column:n,cellWidth:i}=e,l=n+i-1;n<t&&t<=l&&o.push(e)}return o}function x(e,t,o,n){const r=o-t,s={},a=parseInt(e.getAttribute("colspan"))-r;a>1&&(s.colspan=a);const c=parseInt(e.getAttribute("rowspan")||1);c>1&&(s.rowspan=c);const d=l(n,n.createPositionAfter(e),s);return i("colspan",r,e,n),d}function A(e,t,o,n,l,r){const s=parseInt(e.getAttribute("colspan")||1),a=parseInt(e.getAttribute("rowspan")||1);if(o+s-1>l){i("colspan",l-o+1,e,r,1)}if(t+a-1>n){i("rowspan",n-t+1,e,r,1)}}function V(e,t){const o=t.getColumns(e),n=new Array(o).fill(0);for(const{column:t}of new u(e))n[t]++;const i=n.reduce(((e,t,o)=>t?e:[...e,o]),[]);if(i.length>0){const o=i[i.length-1];return t.removeColumns(e,{at:o}),!0}return!1}function S(e,t){const o=[],n=t.getRows(e);for(let t=0;t<n;t++){e.getChild(t).isEmpty&&o.push(t)}if(o.length>0){const n=o[o.length-1];return t.removeRows(e,{at:n}),!0}return!1}function R(e,t){V(e,t)||S(e,t)}function I(e,t){const o=Array.from(new u(e,{startColumn:t.firstColumn,endColumn:t.lastColumn,row:t.lastRow}));if(o.every((({cellHeight:e})=>1===e)))return t.lastRow;const n=o[0].cellHeight-1;return t.lastRow+n}function P(e,t){const o=Array.from(new u(e,{startRow:t.firstRow,endRow:t.lastRow,column:t.lastColumn}));if(o.every((({cellWidth:e})=>1===e)))return t.lastColumn;const n=o[0].cellWidth-1;return t.lastColumn+n}class E extends e.Command{constructor(e,t){super(e),this.direction=t.direction,this.isHorizontal="right"==this.direction||"left"==this.direction}refresh(){const e=this._getMergeableCell();this.value=e,this.isEnabled=!!e}execute(){const e=this.editor.model,t=e.document,o=this.editor.plugins.get("TableUtils").getTableCellsContainingSelection(t.selection)[0],n=this.value,i=this.direction;e.change((e=>{const t="right"==i||"down"==i,l=t?o:n,r=t?n:o,s=r.parent;!function(e,t,o){B(e)||(B(t)&&o.remove(o.createRangeIn(t)),o.move(o.createRangeIn(e),o.createPositionAt(t,"end")));o.remove(e)}(r,l,e);const a=this.isHorizontal?"colspan":"rowspan",c=parseInt(o.getAttribute(a)||1),d=parseInt(n.getAttribute(a)||1);e.setAttribute(a,c+d,l),e.setSelection(e.createRangeIn(l));const u=this.editor.plugins.get("TableUtils");R(s.findAncestor("table"),u)}))}_getMergeableCell(){const e=this.editor.model.document,t=this.editor.plugins.get("TableUtils"),o=t.getTableCellsContainingSelection(e.selection)[0];if(!o)return;const n=this.isHorizontal?function(e,t,o){const n=e.parent.parent,i="right"==t?e.nextSibling:e.previousSibling,l=(n.getAttribute("headingColumns")||0)>0;if(!i)return;const s="right"==t?e:i,a="right"==t?i:e,{column:c}=o.getCellLocation(s),{column:d}=o.getCellLocation(a),u=parseInt(s.getAttribute("colspan")||1),h=r(o,s),b=r(o,a);if(l&&h!=b)return;return c+u===d?i:void 0}(o,this.direction,t):function(e,t,o){const n=e.parent,i=n.parent,l=i.getChildIndex(n);if("down"==t&&l===o.getRows(i)-1||"up"==t&&0===l)return;const r=parseInt(e.getAttribute("rowspan")||1),s=i.getAttribute("headingRows")||0,a="down"==t&&l+r===s,c="up"==t&&l===s;if(s&&(a||c))return;const d=parseInt(e.getAttribute("rowspan")||1),h="down"==t?l+d:l,b=[...new u(i,{endRow:h})],m=b.find((t=>t.cell===e)).column,g=b.find((({row:e,cellHeight:o,column:n})=>n===m&&("down"==t?e===h:h===e+o)));return g&&g.cell}(o,this.direction,t);if(!n)return;const i=this.isHorizontal?"rowspan":"colspan",l=parseInt(o.getAttribute(i)||1);return parseInt(n.getAttribute(i)||1)===l?n:void 0}}function B(e){return 1==e.childCount&&e.getChild(0).is("element","paragraph")&&e.getChild(0).isEmpty}class L extends e.Command{refresh(){const e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection),o=t[0];if(o){const n=o.findAncestor("table"),i=this.editor.plugins.get("TableUtils").getRows(n)-1,l=e.getRowIndexes(t),r=0===l.first&&l.last===i;this.isEnabled=!r}else this.isEnabled=!1}execute(){const e=this.editor.model,t=this.editor.plugins.get("TableUtils"),o=t.getSelectionAffectedTableCells(e.document.selection),n=t.getRowIndexes(o),i=o[0],l=i.findAncestor("table"),r=t.getCellLocation(i).column;e.change((e=>{const o=n.last-n.first+1;t.removeRows(l,{at:n.first,rows:o});const i=function(e,t,o,n){const i=e.getChild(Math.min(t,n-1));let l=i.getChild(0),r=0;for(const e of i.getChildren()){if(r>o)return l;l=e,r+=parseInt(e.getAttribute("colspan")||1)}return l}(l,n.first,r,t.getRows(l));e.setSelection(e.createPositionAt(i,0))}))}}class N extends e.Command{refresh(){const e=this.editor.plugins.get("TableUtils"),t=e.getSelectionAffectedTableCells(this.editor.model.document.selection),o=t[0];if(o){const n=o.findAncestor("table"),i=e.getColumns(n),{first:l,last:r}=e.getColumnIndexes(t);this.isEnabled=r-l<i-1}else this.isEnabled=!1}execute(){const e=this.editor.plugins.get("TableUtils"),[t,o]=function(e,t){const o=t.getSelectionAffectedTableCells(e),n=o[0],i=o.pop(),l=[n,i];return n.isBefore(i)?l:l.reverse()}(this.editor.model.document.selection,e),n=t.parent.parent,i=[...new u(n)],l={first:i.find((e=>e.cell===t)).column,last:i.find((e=>e.cell===o)).column},r=function(e,t,o,n){return parseInt(o.getAttribute("colspan")||1)>1?o:t.previousSibling||o.nextSibling?o.nextSibling||t.previousSibling:n.first?e.reverse().find((({column:e})=>e<n.first)).cell:e.reverse().find((({column:e})=>e>n.last)).cell}(i,t,o,l);this.editor.model.change((e=>{const t=l.last-l.first+1;this.editor.plugins.get("TableUtils").removeColumns(n,{at:l.first,columns:t}),e.setSelection(e.createPositionAt(r,0))}))}}class H extends e.Command{refresh(){const e=this.editor.plugins.get("TableUtils"),t=this.editor.model,o=e.getSelectionAffectedTableCells(t.document.selection),n=o.length>0;this.isEnabled=n,this.value=n&&o.every((e=>this._isInHeading(e,e.parent.parent)))}execute(e={}){if(e.forceValue===this.value)return;const t=this.editor.plugins.get("TableUtils"),o=this.editor.model,n=t.getSelectionAffectedTableCells(o.document.selection),l=n[0].findAncestor("table"),{first:r,last:s}=t.getRowIndexes(n),a=this.value?r:s+1,c=l.getAttribute("headingRows")||0;o.change((e=>{if(a){const t=v(l,a,a>c?c:0);for(const{cell:o}of t)y(o,a,e)}i("headingRows",a,l,e,0)}))}_isInHeading(e,t){const o=parseInt(t.getAttribute("headingRows")||0);return!!o&&e.parent.index<o}}class z extends e.Command{refresh(){const e=this.editor.model,t=this.editor.plugins.get("TableUtils"),o=t.getSelectionAffectedTableCells(e.document.selection),n=o.length>0;this.isEnabled=n,this.value=n&&o.every((e=>r(t,e)))}execute(e={}){if(e.forceValue===this.value)return;const t=this.editor.plugins.get("TableUtils"),o=this.editor.model,n=t.getSelectionAffectedTableCells(o.document.selection),l=n[0].findAncestor("table"),{first:r,last:s}=t.getColumnIndexes(n),a=this.value?r:s+1;o.change((e=>{if(a){const t=T(l,a);for(const{cell:o,column:n}of t)x(o,n,a,e)}i("headingColumns",a,l,e,0)}))}}class F extends e.Plugin{static get pluginName(){return"TableUtils"}init(){this.decorate("insertColumns"),this.decorate("insertRows")}getCellLocation(e){const t=e.parent,o=t.parent,n=o.getChildIndex(t),i=new u(o,{row:n});for(const{cell:t,row:o,column:n}of i)if(t===e)return{row:o,column:n}}createTable(e,t){const o=e.createElement("table"),n=parseInt(t.rows)||2,l=parseInt(t.columns)||2;return D(e,o,0,n,l),t.headingRows&&i("headingRows",Math.min(t.headingRows,n),o,e,0),t.headingColumns&&i("headingColumns",Math.min(t.headingColumns,l),o,e,0),o}insertRows(e,t={}){const o=this.editor.model,n=t.at||0,r=t.rows||1,a=void 0!==t.copyStructureFromAbove,c=t.copyStructureFromAbove?n-1:n,d=this.getRows(e),h=this.getColumns(e);if(n>d)throw new s.CKEditorError("tableutils-insertrows-insert-out-of-range",this,{options:t});o.change((t=>{const o=e.getAttribute("headingRows")||0;if(o>n&&i("headingRows",o+r,e,t,0),!a&&(0===n||n===d))return void D(t,e,n,r,h);const s=a?Math.max(n,c):n,b=new u(e,{endRow:s}),m=new Array(h).fill(1);for(const{row:e,column:o,cellHeight:i,cellWidth:l,cell:s}of b){const d=e+i-1,u=e<=c&&c<=d;e<n&&n<=d?(t.setAttribute("rowspan",i+r,s),m[o]=-l):a&&u&&(m[o]=l)}for(let o=0;o<r;o++){const o=t.createElement("tableRow");t.insert(o,e,n);for(let e=0;e<m.length;e++){const n=m[e],i=t.createPositionAt(o,"end");n>0&&l(t,i,n>1?{colspan:n}:null),e+=Math.abs(n)-1}}}))}insertColumns(e,t={}){const o=this.editor.model,n=t.at||0,i=t.columns||1;o.change((t=>{const o=e.getAttribute("headingColumns");n<o&&t.setAttribute("headingColumns",o+i,e);const l=this.getColumns(e);if(0===n||l===n){for(const o of e.getChildren())o.is("element","tableRow")&&O(i,t,t.createPositionAt(o,n?"end":0));return}const r=new u(e,{column:n,includeAllSlots:!0});for(const e of r){const{row:o,cell:l,cellAnchorColumn:s,cellAnchorRow:a,cellWidth:c,cellHeight:d}=e;if(s<n){t.setAttribute("colspan",c+i,l);const e=a+d-1;for(let t=o;t<=e;t++)r.skipRow(t)}else O(i,t,e.getPositionBefore())}}))}removeRows(e,t){const o=this.editor.model,n=t.rows||1,l=this.getRows(e),r=t.at,a=r+n-1;if(a>l-1)throw new s.CKEditorError("tableutils-removerows-row-index-out-of-range",this,{table:e,options:t});o.change((t=>{const{cellsToMove:o,cellsToTrim:n}=function(e,t,o){const n=new Map,i=[];for(const{row:l,column:r,cellHeight:s,cell:a}of new u(e,{endRow:o})){const e=l+s-1;if(l>=t&&l<=o&&e>o){const e=s-(o-l+1);n.set(r,{cell:a,rowspan:e})}if(l<t&&e>=t){let n;n=e>=o?o-t+1:e-t+1,i.push({cell:a,rowspan:s-n})}}return{cellsToMove:n,cellsToTrim:i}}(e,r,a);if(o.size){!function(e,t,o,n){const l=[...new u(e,{includeAllSlots:!0,row:t})],r=e.getChild(t);let s;for(const{column:e,cell:t,isAnchor:a}of l)if(o.has(e)){const{cell:t,rowspan:l}=o.get(e),a=s?n.createPositionAfter(s):n.createPositionAt(r,0);n.move(n.createRangeOn(t),a),i("rowspan",l,t,n),s=t}else a&&(s=t)}(e,a+1,o,t)}for(let o=a;o>=r;o--)t.remove(e.getChild(o));for(const{rowspan:e,cell:o}of n)i("rowspan",e,o,t);!function(e,t,o,n){const l=e.getAttribute("headingRows")||0;if(t<l){i("headingRows",o<l?l-(o-t+1):t,e,n,0)}}(e,r,a,t),V(e,this)||S(e,this)}))}removeColumns(e,t){const o=this.editor.model,n=t.at,l=t.columns||1,r=t.at+l-1;o.change((t=>{!function(e,t,o){const n=e.getAttribute("headingColumns")||0;if(n&&t.first<n){const i=Math.min(n-1,t.last)-t.first+1;o.setAttribute("headingColumns",n-i,e)}}(e,{first:n,last:r},t);for(let o=r;o>=n;o--)for(const{cell:n,column:l,cellWidth:r}of[...new u(e)])l<=o&&r>1&&l+r>o?i("colspan",r-1,n,t):l===o&&t.remove(n);S(e,this)||V(e,this)}))}splitCellVertically(e,t=2){const o=this.editor.model,n=e.parent.parent,l=parseInt(e.getAttribute("rowspan")||1),r=parseInt(e.getAttribute("colspan")||1);o.change((o=>{if(r>1){const{newCellsSpan:n,updatedSpan:s}=W(r,t);i("colspan",s,e,o);const a={};n>1&&(a.colspan=n),l>1&&(a.rowspan=l);O(r>t?t-1:r-1,o,o.createPositionAfter(e),a)}if(r<t){const s=t-r,a=[...new u(n)],{column:c}=a.find((({cell:t})=>t===e)),d=a.filter((({cell:t,cellWidth:o,column:n})=>t!==e&&n===c||n<c&&n+o>c));for(const{cell:e,cellWidth:t}of d)o.setAttribute("colspan",t+s,e);const h={};l>1&&(h.rowspan=l),O(s,o,o.createPositionAfter(e),h);const b=n.getAttribute("headingColumns")||0;b>c&&i("headingColumns",b+s,n,o)}}))}splitCellHorizontally(e,t=2){const o=this.editor.model,n=e.parent,l=n.parent,r=l.getChildIndex(n),s=parseInt(e.getAttribute("rowspan")||1),a=parseInt(e.getAttribute("colspan")||1);o.change((o=>{if(s>1){const n=[...new u(l,{startRow:r,endRow:r+s-1,includeAllSlots:!0})],{newCellsSpan:c,updatedSpan:d}=W(s,t);i("rowspan",d,e,o);const{column:h}=n.find((({cell:t})=>t===e)),b={};c>1&&(b.rowspan=c),a>1&&(b.colspan=a);for(const e of n){const{column:t,row:n}=e,i=t===h,l=(n+r+d)%c==0;n>=r+d&&i&&l&&O(1,o,e.getPositionBefore(),b)}}if(s<t){const n=t-s,c=[...new u(l,{startRow:0,endRow:r})];for(const{cell:t,cellHeight:i,row:l}of c)if(t!==e&&l+i>r){const e=i+n;o.setAttribute("rowspan",e,t)}const d={};a>1&&(d.colspan=a),D(o,l,r+1,n,1,d);const h=l.getAttribute("headingRows")||0;h>r&&i("headingRows",h+n,l,o)}}))}getColumns(e){return[...e.getChild(0).getChildren()].reduce(((e,t)=>e+parseInt(t.getAttribute("colspan")||1)),0)}getRows(e){return Array.from(e.getChildren()).reduce(((e,t)=>t.is("element","tableRow")?e+1:e),0)}createTableWalker(e,t={}){return new u(e,t)}getSelectedTableCells(e){const t=[];for(const o of this.sortRanges(e.getRanges())){const e=o.getContainedElement();e&&e.is("element","tableCell")&&t.push(e)}return t}getTableCellsContainingSelection(e){const t=[];for(const o of e.getRanges()){const e=o.start.findAncestor("tableCell");e&&t.push(e)}return t}getSelectionAffectedTableCells(e){const t=this.getSelectedTableCells(e);return t.length?t:this.getTableCellsContainingSelection(e)}getRowIndexes(e){const t=e.map((e=>e.parent.index));return this._getFirstLastIndexesObject(t)}getColumnIndexes(e){const t=e[0].findAncestor("table"),o=[...new u(t)].filter((t=>e.includes(t.cell))).map((e=>e.column));return this._getFirstLastIndexesObject(o)}isSelectionRectangular(e){if(e.length<2||!this._areCellInTheSameTableSection(e))return!1;const t=new Set,o=new Set;let n=0;for(const i of e){const{row:e,column:l}=this.getCellLocation(i),r=parseInt(i.getAttribute("rowspan")||1),s=parseInt(i.getAttribute("colspan")||1);t.add(e),o.add(l),r>1&&t.add(e+r-1),s>1&&o.add(l+s-1),n+=r*s}const i=function(e,t){const o=Array.from(e.values()),n=Array.from(t.values()),i=Math.max(...o),l=Math.min(...o),r=Math.max(...n),s=Math.min(...n);return(i-l+1)*(r-s+1)}(t,o);return i==n}sortRanges(e){return Array.from(e).sort(M)}_getFirstLastIndexesObject(e){const t=e.sort(((e,t)=>e-t));return{first:t[0],last:t[t.length-1]}}_areCellInTheSameTableSection(e){const t=e[0].findAncestor("table"),o=this.getRowIndexes(e),n=parseInt(t.getAttribute("headingRows")||0);if(!this._areIndexesInSameSection(o,n))return!1;const i=parseInt(t.getAttribute("headingColumns")||0),l=this.getColumnIndexes(e);return this._areIndexesInSameSection(l,i)}_areIndexesInSameSection({first:e,last:t},o){return e<o===t<o}}function D(e,t,o,n,i,l={}){for(let r=0;r<n;r++){const n=e.createElement("tableRow");e.insert(n,t,o),O(i,e,e.createPositionAt(n,"end"),l)}}function O(e,t,o,n={}){for(let i=0;i<e;i++)l(t,o,n)}function W(e,t){if(e<t)return{newCellsSpan:1,updatedSpan:1};const o=Math.floor(e/t);return{newCellsSpan:o,updatedSpan:e-o*t+o}}function M(e,t){const o=e.start,n=t.start;return o.isBefore(n)?-1:1}class j extends e.Command{refresh(){const e=this.editor.plugins.get(F),t=e.getSelectedTableCells(this.editor.model.document.selection);this.isEnabled=e.isSelectionRectangular(t,this.editor.plugins.get(F))}execute(){const e=this.editor.model,t=this.editor.plugins.get(F);e.change((o=>{const n=t.getSelectedTableCells(e.document.selection),l=n.shift(),{mergeWidth:r,mergeHeight:s}=function(e,t,o){let n=0,i=0;for(const e of t){const{row:t,column:l}=o.getCellLocation(e);n=K(e,l,n,"colspan"),i=K(e,t,i,"rowspan")}const{row:l,column:r}=o.getCellLocation(e);return{mergeWidth:n-r,mergeHeight:i-l}}(l,n,t);i("colspan",r,l,o),i("rowspan",s,l,o);for(const e of n)U(e,l,o);R(l.findAncestor("table"),t),o.setSelection(l,"in")}))}}function U(e,t,o){Z(e)||(Z(t)&&o.remove(o.createRangeIn(t)),o.move(o.createRangeIn(e),o.createPositionAt(t,"end"))),o.remove(e)}function Z(e){return 1==e.childCount&&e.getChild(0).is("element","paragraph")&&e.getChild(0).isEmpty}function K(e,t,o,n){const i=parseInt(e.getAttribute(n)||1);return Math.max(o,t+i)}class $ extends e.Command{constructor(e){super(e),this.affectsData=!1}refresh(){const e=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=e.length>0}execute(){const e=this.editor.model,t=this.editor.plugins.get("TableUtils"),o=t.getSelectionAffectedTableCells(e.document.selection),n=t.getRowIndexes(o),i=o[0].findAncestor("table"),l=[];for(let t=n.first;t<=n.last;t++)for(const o of i.getChild(t).getChildren())l.push(e.createRangeOn(o));e.change((e=>{e.setSelection(l)}))}}class q extends e.Command{constructor(e){super(e),this.affectsData=!1}refresh(){const e=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=e.length>0}execute(){const e=this.editor.plugins.get("TableUtils"),t=this.editor.model,o=e.getSelectionAffectedTableCells(t.document.selection),n=o[0],i=o.pop(),l=n.findAncestor("table"),r=e.getCellLocation(n),s=e.getCellLocation(i),a=Math.min(r.column,s.column),c=Math.max(r.column,s.column),d=[];for(const e of new u(l,{startColumn:a,endColumn:c}))d.push(t.createRangeOn(e.cell));t.change((e=>{e.setSelection(d)}))}}function G(e){e.document.registerPostFixer((t=>function(e,t){const o=t.document.differ.getChanges();let n=!1;const i=new Set;for(const t of o){let o;"table"==t.name&&"insert"==t.type&&(o=t.position.nodeAfter),"tableRow"!=t.name&&"tableCell"!=t.name||(o=t.position.findAncestor("table")),Y(t)&&(o=t.range.start.findAncestor("table")),o&&!i.has(o)&&(n=J(o,e)||n,n=X(o,e)||n,i.add(o))}return n}(t,e)))}function J(e,t){let o=!1;const n=function(e){const t=parseInt(e.getAttribute("headingRows")||0),o=Array.from(e.getChildren()).reduce(((e,t)=>t.is("element","tableRow")?e+1:e),0),n=[];for(const{row:i,cell:l,cellHeight:r}of new u(e)){if(r<2)continue;const e=i<t?t:o;if(i+r>e){const t=e-i;n.push({cell:l,rowspan:t})}}return n}(e);if(n.length){o=!0;for(const e of n)i("rowspan",e.rowspan,e.cell,t,1)}return o}function X(e,t){let o=!1;const n=function(e){const t=new Array(e.childCount).fill(0);for(const{rowIndex:o}of new u(e,{includeAllSlots:!0}))t[o]++;return t}(e),i=[];for(const[t,o]of n.entries())!o&&e.getChild(t).is("element","tableRow")&&i.push(t);if(i.length){o=!0;for(const o of i.reverse())t.remove(e.getChild(o)),n.splice(o,1)}const r=n.filter(((t,o)=>e.getChild(o).is("element","tableRow"))),s=r[0];if(!r.every((e=>e===s))){const n=r.reduce(((e,t)=>t>e?t:e),0);for(const[i,s]of r.entries()){const r=n-s;if(r){for(let o=0;o<r;o++)l(t,t.createPositionAt(e.getChild(i),"end"));o=!0}}}return o}function Y(e){const t="attribute"===e.type,o=e.attributeKey;return t&&("headingRows"===o||"colspan"===o||"rowspan"===o)}function Q(e){e.document.registerPostFixer((t=>function(e,t){const o=t.document.differ.getChanges();let n=!1;for(const t of o)"insert"==t.type&&"table"==t.name&&(n=ee(t.position.nodeAfter,e)||n),"insert"==t.type&&"tableRow"==t.name&&(n=te(t.position.nodeAfter,e)||n),"insert"==t.type&&"tableCell"==t.name&&(n=oe(t.position.nodeAfter,e)||n),ne(t)&&(n=oe(t.position.parent,e)||n);return n}(t,e)))}function ee(e,t){let o=!1;for(const n of e.getChildren())n.is("element","tableRow")&&(o=te(n,t)||o);return o}function te(e,t){let o=!1;for(const n of e.getChildren())o=oe(n,t)||o;return o}function oe(e,t){if(0==e.childCount)return t.insertElement("paragraph",e),!0;const o=Array.from(e.getChildren()).filter((e=>e.is("$text")));for(const e of o)t.wrap(t.createRangeOn(e),"paragraph");return!!o.length}function ne(e){return!(!e.position||!e.position.parent.is("element","tableCell"))&&("insert"==e.type&&"$text"==e.name||"remove"==e.type)}function ie(e,t){if(!e.is("element","paragraph"))return!1;const o=t.toViewElement(e);return!!o&&p(e)!==o.is("element","span")}var le=o(62),re=o.n(le),se=o(482),ae={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};re()(se.Z,ae);se.Z.locals;class ce extends e.Plugin{static get pluginName(){return"TableEditing"}static get requires(){return[F]}init(){const e=this.editor,t=e.model,o=t.schema,n=e.conversion,i=e.plugins.get(F);o.register("table",{inheritAllFrom:"$blockObject",allowAttributes:["headingRows","headingColumns"]}),o.register("tableRow",{allowIn:"table",isLimit:!0}),o.register("tableCell",{allowContentOf:"$container",allowIn:"tableRow",allowAttributes:["colspan","rowspan"],isLimit:!0,isSelectable:!0}),n.for("upcast").add((e=>{e.on("element:figure",((e,t,o)=>{if(!o.consumable.test(t.viewItem,{name:!0,classes:"table"}))return;const n=function(e){for(const t of e.getChildren())if(t.is("element","table"))return t}(t.viewItem);if(!n||!o.consumable.test(n,{name:!0}))return;o.consumable.consume(t.viewItem,{name:!0,classes:"table"});const i=o.convertItem(n,t.modelCursor),l=(0,s.first)(i.modelRange.getItems());l?(o.convertChildren(t.viewItem,o.writer.createPositionAt(l,"end")),o.updateConversionResult(l,t)):o.consumable.revert(t.viewItem,{name:!0,classes:"table"})}))})),n.for("upcast").add(a()),n.for("editingDowncast").elementToStructure({model:{name:"table",attributes:["headingRows"]},view:b(i,{asWidget:!0})}),n.for("dataDowncast").elementToStructure({model:{name:"table",attributes:["headingRows"]},view:b(i)}),n.for("upcast").elementToElement({model:"tableRow",view:"tr"}),n.for("upcast").add((e=>{e.on("element:tr",((e,t)=>{t.viewItem.isEmpty&&0==t.modelCursor.index&&e.stop()}),{priority:"high"})})),n.for("downcast").elementToElement({model:"tableRow",view:(e,{writer:t})=>e.isEmpty?t.createEmptyElement("tr"):t.createContainerElement("tr")}),n.for("upcast").elementToElement({model:"tableCell",view:"td"}),n.for("upcast").elementToElement({model:"tableCell",view:"th"}),n.for("upcast").add(c("td")),n.for("upcast").add(c("th")),n.for("editingDowncast").elementToElement({model:"tableCell",view:m({asWidget:!0})}),n.for("dataDowncast").elementToElement({model:"tableCell",view:m()}),n.for("editingDowncast").elementToElement({model:"paragraph",view:g({asWidget:!0}),converterPriority:"high"}),n.for("dataDowncast").elementToElement({model:"paragraph",view:g(),converterPriority:"high"}),n.for("downcast").attributeToAttribute({model:"colspan",view:"colspan"}),n.for("upcast").attributeToAttribute({model:{key:"colspan",value:de("colspan")},view:"colspan"}),n.for("downcast").attributeToAttribute({model:"rowspan",view:"rowspan"}),n.for("upcast").attributeToAttribute({model:{key:"rowspan",value:de("rowspan")},view:"rowspan"}),e.data.mapper.on("modelToViewPosition",((e,t)=>{const o=t.modelPosition.parent,n=t.modelPosition.nodeBefore;if(!o.is("element","tableCell"))return;if(!n||!n.is("element","paragraph"))return;const i=t.mapper.toViewElement(n),l=t.mapper.toViewElement(o);i===l&&(t.viewPosition=t.mapper.findPositionIn(l,n.maxOffset))})),e.config.define("table.defaultHeadings.rows",0),e.config.define("table.defaultHeadings.columns",0),e.commands.add("insertTable",new f(e)),e.commands.add("insertTableRowAbove",new w(e,{order:"above"})),e.commands.add("insertTableRowBelow",new w(e,{order:"below"})),e.commands.add("insertTableColumnLeft",new k(e,{order:"left"})),e.commands.add("insertTableColumnRight",new k(e,{order:"right"})),e.commands.add("removeTableRow",new L(e)),e.commands.add("removeTableColumn",new N(e)),e.commands.add("splitTableCellVertically",new _(e,{direction:"vertically"})),e.commands.add("splitTableCellHorizontally",new _(e,{direction:"horizontally"})),e.commands.add("mergeTableCells",new j(e)),e.commands.add("mergeTableCellRight",new E(e,{direction:"right"})),e.commands.add("mergeTableCellLeft",new E(e,{direction:"left"})),e.commands.add("mergeTableCellDown",new E(e,{direction:"down"})),e.commands.add("mergeTableCellUp",new E(e,{direction:"up"})),e.commands.add("setTableColumnHeader",new z(e)),e.commands.add("setTableRowHeader",new H(e)),e.commands.add("selectTableRow",new $(e)),e.commands.add("selectTableColumn",new q(e)),G(t),Q(t),this.listenTo(t.document,"change:data",(()=>{!function(e,t){const o=e.document.differ;for(const e of o.getChanges()){let o,n=!1;if("attribute"==e.type){const t=e.range.start.nodeAfter;if(!t||!t.is("element","table"))continue;if("headingRows"!=e.attributeKey&&"headingColumns"!=e.attributeKey)continue;o=t,n="headingRows"==e.attributeKey}else"tableRow"!=e.name&&"tableCell"!=e.name||(o=e.position.findAncestor("table"),n="tableRow"==e.name);if(!o)continue;const i=o.getAttribute("headingRows")||0,l=o.getAttribute("headingColumns")||0,r=new u(o);for(const e of r){const o=e.row<i||e.column<l?"th":"td",r=t.mapper.toViewElement(e.cell);r&&r.is("element")&&r.name!=o&&t.reconvertItem(n?e.cell.parent:e.cell)}}}(t,e.editing),function(e,t){const o=e.document.differ,n=new Set;for(const e of o.getChanges()){const t="attribute"==e.type?e.range.start.parent:e.position.parent;t.is("element","tableCell")&&n.add(t)}for(const e of n.values()){const o=Array.from(e.getChildren()).filter((e=>ie(e,t.mapper)));for(const e of o)t.reconvertItem(e)}}(t,e.editing)}))}}function de(e){return t=>{const o=parseInt(t.getAttribute(e));return Number.isNaN(o)||o<=0?null:o}}var ue=o(273),he=o(272),be={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};re()(he.Z,be);he.Z.locals;class me extends ue.View{constructor(e){super(e);const t=this.bindTemplate;this.items=this._createGridCollection(),this.set("rows",0),this.set("columns",0),this.bind("label").to(this,"columns",this,"rows",((e,t)=>`${t} × ${e}`)),this.setTemplate({tag:"div",attributes:{class:["ck"]},children:[{tag:"div",attributes:{class:["ck-insert-table-dropdown__grid"]},on:{"mouseover@.ck-insert-table-dropdown-grid-box":t.to("boxover")},children:this.items},{tag:"div",attributes:{class:["ck-insert-table-dropdown__label"]},children:[{text:t.to("label")}]}],on:{mousedown:t.to((e=>{e.preventDefault()})),click:t.to((()=>{this.fire("execute")}))}}),this.on("boxover",((e,t)=>{const{row:o,column:n}=t.target.dataset;this.set({rows:parseInt(o),columns:parseInt(n)})})),this.on("change:columns",(()=>{this._highlightGridBoxes()})),this.on("change:rows",(()=>{this._highlightGridBoxes()}))}focus(){}focusLast(){}_highlightGridBoxes(){const e=this.rows,t=this.columns;this.items.map(((o,n)=>{const i=Math.floor(n/10)<e&&n%10<t;o.set("isOn",i)}))}_createGridCollection(){const e=[];for(let t=0;t<100;t++){const o=Math.floor(t/10),n=t%10;e.push(new ge(this.locale,o+1,n+1))}return this.createCollection(e)}}class ge extends ue.View{constructor(e,t,o){super(e);const n=this.bindTemplate;this.set("isOn",!1),this.setTemplate({tag:"div",attributes:{class:["ck-insert-table-dropdown-grid-box",n.if("isOn","ck-on")],"data-row":t,"data-column":o}})}}class pe extends e.Plugin{static get pluginName(){return"TableUI"}init(){const e=this.editor,t=this.editor.t,o="ltr"===e.locale.contentLanguageDirection;e.ui.componentFactory.add("insertTable",(o=>{const n=e.commands.get("insertTable"),i=(0,ue.createDropdown)(o);let l;return i.bind("isEnabled").to(n),i.buttonView.set({icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 6v3h4V6H3zm0 4v3h4v-3H3zm0 4v3h4v-3H3zm5 3h4v-3H8v3zm5 0h4v-3h-4v3zm4-4v-3h-4v3h4zm0-4V6h-4v3h4zm1.5 8a1.5 1.5 0 0 1-1.5 1.5H3A1.5 1.5 0 0 1 1.5 17V4c.222-.863 1.068-1.5 2-1.5h13c.932 0 1.778.637 2 1.5v13zM12 13v-3H8v3h4zm0-4V6H8v3h4z"/></svg>',label:t("Insert table"),tooltip:!0}),i.on("change:isOpen",(()=>{l||(l=new me(o),i.panelView.children.add(l),l.delegate("execute").to(i),i.buttonView.on("open",(()=>{l.rows=0,l.columns=0})),i.on("execute",(()=>{e.execute("insertTable",{rows:l.rows,columns:l.columns}),e.editing.view.focus()})))})),i})),e.ui.componentFactory.add("tableColumn",(e=>{const n=[{type:"switchbutton",model:{commandName:"setTableColumnHeader",label:t("Header column"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:o?"insertTableColumnLeft":"insertTableColumnRight",label:t("Insert column left")}},{type:"button",model:{commandName:o?"insertTableColumnRight":"insertTableColumnLeft",label:t("Insert column right")}},{type:"button",model:{commandName:"removeTableColumn",label:t("Delete column")}},{type:"button",model:{commandName:"selectTableColumn",label:t("Select column")}}];return this._prepareDropdown(t("Column"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z" opacity=".6"/><path d="M18 7v1H2V7h16zm0 5v1H2v-1h16z" opacity=".6"/><path d="M14 1v18a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1zm-2 1H8v4h4V2zm0 6H8v4h4V8zm0 6H8v4h4v-4z"/></svg>',n,e)})),e.ui.componentFactory.add("tableRow",(e=>{const o=[{type:"switchbutton",model:{commandName:"setTableRowHeader",label:t("Header row"),bindIsOn:!0}},{type:"separator"},{type:"button",model:{commandName:"insertTableRowAbove",label:t("Insert row above")}},{type:"button",model:{commandName:"insertTableRowBelow",label:t("Insert row below")}},{type:"button",model:{commandName:"removeTableRow",label:t("Delete row")}},{type:"button",model:{commandName:"selectTableRow",label:t("Select row")}}];return this._prepareDropdown(t("Row"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z" opacity=".6"/><path d="M7 2h1v16H7V2zm5 0h1v16h-1V2z" opacity=".6"/><path d="M1 6h18a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm1 2v4h4V8H2zm6 0v4h4V8H8zm6 0v4h4V8h-4z"/></svg>',o,e)})),e.ui.componentFactory.add("mergeTableCells",(e=>{const n=[{type:"button",model:{commandName:"mergeTableCellUp",label:t("Merge cell up")}},{type:"button",model:{commandName:o?"mergeTableCellRight":"mergeTableCellLeft",label:t("Merge cell right")}},{type:"button",model:{commandName:"mergeTableCellDown",label:t("Merge cell down")}},{type:"button",model:{commandName:o?"mergeTableCellLeft":"mergeTableCellRight",label:t("Merge cell left")}},{type:"separator"},{type:"button",model:{commandName:"splitTableCellVertically",label:t("Split cell vertically")}},{type:"button",model:{commandName:"splitTableCellHorizontally",label:t("Split cell horizontally")}}];return this._prepareMergeSplitButtonDropdown(t("Merge cells"),'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M2.5 1h15A1.5 1.5 0 0 1 19 2.5v15a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1zM2 2v16h16V2H2z" opacity=".6"/><path d="M7 2h1v16H7V2zm5 0h1v7h-1V2zm6 5v1H2V7h16zM8 12v1H2v-1h6z" opacity=".6"/><path d="M7 7h12a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1zm1 2v9h10V9H8z"/></svg>',n,e)}))}_prepareDropdown(e,t,o,n){const i=this.editor,l=(0,ue.createDropdown)(n),r=this._fillDropdownWithListOptions(l,o);return l.buttonView.set({label:e,icon:t,tooltip:!0}),l.bind("isEnabled").toMany(r,"isEnabled",((...e)=>e.some((e=>e)))),this.listenTo(l,"execute",(e=>{i.execute(e.source.commandName),i.editing.view.focus()})),l}_prepareMergeSplitButtonDropdown(e,t,o,n){const i=this.editor,l=(0,ue.createDropdown)(n,ue.SplitButtonView),r="mergeTableCells",s=i.commands.get(r),a=this._fillDropdownWithListOptions(l,o);return l.buttonView.set({label:e,icon:t,tooltip:!0,isEnabled:!0}),l.bind("isEnabled").toMany([s,...a],"isEnabled",((...e)=>e.some((e=>e)))),this.listenTo(l.buttonView,"execute",(()=>{i.execute(r),i.editing.view.focus()})),this.listenTo(l,"execute",(e=>{i.execute(e.source.commandName),i.editing.view.focus()})),l}_fillDropdownWithListOptions(e,t){const o=this.editor,n=[],i=new s.Collection;for(const e of t)fe(e,o,n,i);return(0,ue.addListToDropdown)(e,i,o.ui.componentFactory),n}}function fe(e,t,o,n){const i=e.model=new ue.Model(e.model),{commandName:l,bindIsOn:r}=e.model;if("button"===e.type||"switchbutton"===e.type){const e=t.commands.get(l);o.push(e),i.set({commandName:l}),i.bind("isEnabled").to(e),r&&i.bind("isOn").to(e,"value")}i.set({withText:!0}),n.add(e)}var we=o(475),ke={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};re()(we.Z,ke);we.Z.locals;class _e extends e.Plugin{static get pluginName(){return"TableSelection"}static get requires(){return[F,F]}init(){const e=this.editor.model;this.listenTo(e,"deleteContent",((e,t)=>this._handleDeleteContent(e,t)),{priority:"high"}),this._defineSelectionConverter(),this._enablePluginDisabling()}getSelectedTableCells(){const e=this.editor.plugins.get(F),t=this.editor.model.document.selection,o=e.getSelectedTableCells(t);return 0==o.length?null:o}getSelectionAsFragment(){const e=this.editor.plugins.get(F),t=this.getSelectedTableCells();return t?this.editor.model.change((o=>{const n=o.createDocumentFragment(),{first:i,last:l}=e.getColumnIndexes(t),{first:r,last:s}=e.getRowIndexes(t),a=t[0].findAncestor("table");let c=s,d=l;if(e.isSelectionRectangular(t)){const e={firstColumn:i,lastColumn:l,firstRow:r,lastRow:s};c=I(a,e),d=P(a,e)}const u=C(a,{startRow:r,startColumn:i,endRow:c,endColumn:d},o);return o.insert(u,n,0),n})):null}setCellSelection(e,t){const o=this._getCellsToSelect(e,t);this.editor.model.change((e=>{e.setSelection(o.cells.map((t=>e.createRangeOn(t))),{backward:o.backward})}))}getFocusCell(){const e=[...this.editor.model.document.selection.getRanges()].pop().getContainedElement();return e&&e.is("element","tableCell")?e:null}getAnchorCell(){const e=this.editor.model.document.selection,t=(0,s.first)(e.getRanges()).getContainedElement();return t&&t.is("element","tableCell")?t:null}_defineSelectionConverter(){const e=this.editor,t=new Set;e.conversion.for("editingDowncast").add((e=>e.on("selection",((e,o,n)=>{const i=n.writer;!function(e){for(const o of t)e.removeClass("ck-editor__editable_selected",o);t.clear()}(i);const l=this.getSelectedTableCells();if(!l)return;for(const e of l){const o=n.mapper.toViewElement(e);i.addClass("ck-editor__editable_selected",o),t.add(o)}const r=n.mapper.toViewElement(l[l.length-1]);i.setSelection(r,0)}),{priority:"lowest"})))}_enablePluginDisabling(){const e=this.editor;this.on("change:isEnabled",(()=>{if(!this.isEnabled){const t=this.getSelectedTableCells();if(!t)return;e.model.change((o=>{const n=o.createPositionAt(t[0],0),i=e.model.schema.getNearestSelectionRange(n);o.setSelection(i)}))}}))}_handleDeleteContent(e,t){const o=this.editor.plugins.get(F),[n,i]=t,l=this.editor.model,r=!i||"backward"==i.direction,s=o.getSelectedTableCells(n);s.length&&(e.stop(),l.change((e=>{const t=s[r?s.length-1:0];l.change((e=>{for(const t of s)l.deleteContent(e.createSelection(t,"in"))}));const o=l.schema.getNearestSelectionRange(e.createPositionAt(t,0));n.is("documentSelection")?e.setSelection(o):n.setTo(o)})))}_getCellsToSelect(e,t){const o=this.editor.plugins.get("TableUtils"),n=o.getCellLocation(e),i=o.getCellLocation(t),l=Math.min(n.row,i.row),r=Math.max(n.row,i.row),s=Math.min(n.column,i.column),a=Math.max(n.column,i.column),c=new Array(r-l+1).fill(null).map((()=>[])),d={startRow:l,endRow:r,startColumn:s,endColumn:a};for(const{row:t,cell:o}of new u(e.findAncestor("table"),d))c[t-l].push(o);const h=i.row<n.row,b=i.column<n.column;return h&&c.reverse(),b&&c.forEach((e=>e.reverse())),{cells:c.flat(),backward:h||b}}}class Ce extends e.Plugin{static get pluginName(){return"TableClipboard"}static get requires(){return[_e,F]}init(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"copy",((e,t)=>this._onCopyCut(e,t))),this.listenTo(t,"cut",((e,t)=>this._onCopyCut(e,t))),this.listenTo(e.model,"insertContent",((e,t)=>this._onInsertContent(e,...t)),{priority:"high"}),this.decorate("_replaceTableSlotCell")}_onCopyCut(e,t){const o=this.editor.plugins.get(_e);if(!o.getSelectedTableCells())return;if("cut"==e.name&&this.editor.isReadOnly)return;t.preventDefault(),e.stop();const n=this.editor.data,i=this.editor.editing.view.document,l=n.toView(o.getSelectionAsFragment());i.fire("clipboardOutput",{dataTransfer:t.dataTransfer,content:l,method:e.name})}_onInsertContent(e,t,o){if(o&&!o.is("documentSelection"))return;const n=this.editor.model,i=this.editor.plugins.get(F);let l=ve(t,n);if(!l)return;const r=i.getSelectionAffectedTableCells(n.document.selection);r.length?(e.stop(),n.change((e=>{const t={width:i.getColumns(l),height:i.getRows(l)},o=function(e,t,o,n){const i=e[0].findAncestor("table"),l=n.getColumnIndexes(e),r=n.getRowIndexes(e),s={firstColumn:l.first,lastColumn:l.last,firstRow:r.first,lastRow:r.last},a=1===e.length;a&&(s.lastRow+=t.height-1,s.lastColumn+=t.width-1,function(e,t,o,n){const i=n.getColumns(e),l=n.getRows(e);o>i&&n.insertColumns(e,{at:i,columns:o-i});t>l&&n.insertRows(e,{at:l,rows:t-l})}(i,s.lastRow+1,s.lastColumn+1,n));a||!n.isSelectionRectangular(e)?function(e,t,o){const{firstRow:n,lastRow:i,firstColumn:l,lastColumn:r}=t,s={first:n,last:i},a={first:l,last:r};Te(e,l,s,o),Te(e,r+1,s,o),ye(e,n,a,o),ye(e,i+1,a,o,n)}(i,s,o):(s.lastRow=I(i,s),s.lastColumn=P(i,s));return s}(r,t,e,i),n=o.lastRow-o.firstRow+1,s=o.lastColumn-o.firstColumn+1,a={startRow:0,startColumn:0,endRow:Math.min(n,t.height)-1,endColumn:Math.min(s,t.width)-1};l=C(l,a,e);const c=r[0].findAncestor("table"),d=this._replaceSelectedCellsWithPasted(l,t,c,o,e);if(this.editor.plugins.get("TableSelection").isEnabled){const t=i.sortRanges(d.map((t=>e.createRangeOn(t))));e.setSelection(t)}else e.setSelection(d[0],0)}))):R(l,i)}_replaceSelectedCellsWithPasted(e,t,o,n,i){const{width:l,height:r}=t,s=function(e,t,o){const n=new Array(o).fill(null).map((()=>new Array(t).fill(null)));for(const{column:t,row:o,cell:i}of new u(e))n[o][t]=i;return n}(e,l,r),a=[...new u(o,{startRow:n.firstRow,endRow:n.lastRow,startColumn:n.firstColumn,endColumn:n.lastColumn,includeAllSlots:!0})],c=[];let d;for(const e of a){const{row:t,column:o}=e;o===n.firstColumn&&(d=e.getPositionBefore());const a=t-n.firstRow,u=o-n.firstColumn,h=s[a%r][u%l],b=h?i.cloneElement(h):null,m=this._replaceTableSlotCell(e,b,d,i);m&&(A(m,t,o,n.lastRow,n.lastColumn,i),c.push(m),d=i.createPositionAfter(m))}const h=parseInt(o.getAttribute("headingRows")||0),b=parseInt(o.getAttribute("headingColumns")||0),m=n.firstRow<h&&h<=n.lastRow,g=n.firstColumn<b&&b<=n.lastColumn;if(m){const e=ye(o,h,{first:n.firstColumn,last:n.lastColumn},i,n.firstRow);c.push(...e)}if(g){const e=Te(o,b,{first:n.firstRow,last:n.lastRow},i);c.push(...e)}return c}_replaceTableSlotCell(e,t,o,n){const{cell:i,isAnchor:l}=e;return l&&n.remove(i),t?(n.insert(t,o),t):null}getTableIfOnlyTableInContent(e,t){return ve(e,t)}}function ve(e,t){if(!e.is("documentFragment")&&!e.is("element"))return null;if(e.is("element","table"))return e;if(1==e.childCount&&e.getChild(0).is("element","table"))return e.getChild(0);const o=t.createRangeIn(e);for(const e of o.getItems())if(e.is("element","table")){const n=t.createRange(o.start,t.createPositionBefore(e));if(t.hasContent(n,{ignoreWhitespaces:!0}))return null;const i=t.createRange(t.createPositionAfter(e),o.end);return t.hasContent(i,{ignoreWhitespaces:!0})?null:e}return null}function ye(e,t,o,n,i=0){if(t<1)return;return v(e,t,i).filter((({column:e,cellWidth:t})=>xe(e,t,o))).map((({cell:e})=>y(e,t,n)))}function Te(e,t,o,n){if(t<1)return;return T(e,t).filter((({row:e,cellHeight:t})=>xe(e,t,o))).map((({cell:e,column:o})=>x(e,o,t,n)))}function xe(e,t,o){const n=e+t-1,{first:i,last:l}=o;return e>=i&&e<=l||e<i&&n>=i}class Ae extends e.Plugin{static get pluginName(){return"TableKeyboard"}static get requires(){return[_e,F]}init(){const e=this.editor.editing.view.document;this.listenTo(e,"arrowKey",((...e)=>this._onArrowKey(...e)),{context:"table"}),this.listenTo(e,"tab",((...e)=>this._handleTabOnSelectedTable(...e)),{context:"figure"}),this.listenTo(e,"tab",((...e)=>this._handleTab(...e)),{context:["th","td"]})}_handleTabOnSelectedTable(e,t){const o=this.editor,n=o.model.document.selection.getSelectedElement();n&&n.is("element","table")&&(t.preventDefault(),t.stopPropagation(),e.stop(),o.model.change((e=>{e.setSelection(e.createRangeIn(n.getChild(0).getChild(0)))})))}_handleTab(e,t){const o=this.editor,n=this.editor.plugins.get(F),i=o.model.document.selection,l=!t.shiftKey;let r=n.getTableCellsContainingSelection(i)[0];if(r||(r=this.editor.plugins.get("TableSelection").getFocusCell()),!r)return;t.preventDefault(),t.stopPropagation(),e.stop();const s=r.parent,a=s.parent,c=a.getChildIndex(s),d=s.getChildIndex(r),u=0===d;if(!l&&u&&0===c)return void o.model.change((e=>{e.setSelection(e.createRangeOn(a))}));const h=d===s.childCount-1,b=c===n.getRows(a)-1;if(l&&b&&h&&(o.execute("insertTableRowBelow"),c===n.getRows(a)-1))return void o.model.change((e=>{e.setSelection(e.createRangeOn(a))}));let m;if(l&&h){const e=a.getChild(c+1);m=e.getChild(0)}else if(!l&&u){const e=a.getChild(c-1);m=e.getChild(e.childCount-1)}else m=s.getChild(d+(l?1:-1));o.model.change((e=>{e.setSelection(e.createRangeIn(m))}))}_onArrowKey(e,t){const o=this.editor,n=t.keyCode,i=(0,s.getLocalizedArrowKeyCodeDirection)(n,o.locale.contentLanguageDirection);this._handleArrowKeys(i,t.shiftKey)&&(t.preventDefault(),t.stopPropagation(),e.stop())}_handleArrowKeys(e,t){const o=this.editor.plugins.get(F),n=this.editor.model,i=n.document.selection,l=["right","down"].includes(e),r=o.getSelectedTableCells(i);if(r.length){let o;return o=t?this.editor.plugins.get("TableSelection").getFocusCell():l?r[r.length-1]:r[0],this._navigateFromCellInDirection(o,e,t),!0}const s=i.focus.findAncestor("tableCell");if(!s)return!1;if(!i.isCollapsed)if(t){if(i.isBackward==l&&!i.containsEntireContent(s))return!1}else{const e=i.getSelectedElement();if(!e||!n.schema.isObject(e))return!1}return!!this._isSelectionAtCellEdge(i,s,l)&&(this._navigateFromCellInDirection(s,e,t),!0)}_isSelectionAtCellEdge(e,t,o){const n=this.editor.model,i=this.editor.model.schema,l=o?e.getLastPosition():e.getFirstPosition();if(!i.getLimitElement(l).is("element","tableCell")){return n.createPositionAt(t,o?"end":0).isTouching(l)}const r=n.createSelection(l);return n.modifySelection(r,{direction:o?"forward":"backward"}),l.isEqual(r.focus)}_navigateFromCellInDirection(e,t,o=!1){const n=this.editor.model,i=e.findAncestor("table"),l=[...new u(i,{includeAllSlots:!0})],{row:r,column:s}=l[l.length-1],a=l.find((({cell:t})=>t==e));let{row:c,column:d}=a;switch(t){case"left":d--;break;case"up":c--;break;case"right":d+=a.cellWidth;break;case"down":c+=a.cellHeight}if(c<0||c>r||d<0&&c<=0||d>s&&c>=r)return void n.change((e=>{e.setSelection(e.createRangeOn(i))}));d<0?(d=o?0:s,c--):d>s&&(d=o?s:0,c++);const h=l.find((e=>e.row==c&&e.column==d)).cell,b=["right","down"].includes(t),m=this.editor.plugins.get("TableSelection");if(o&&m.isEnabled){const t=m.getAnchorCell()||e;m.setCellSelection(t,h)}else{const e=n.createPositionAt(h,b?0:"end");n.change((t=>{t.setSelection(e)}))}}}var Ve=o(492);class Se extends Ve.DomEventObserver{constructor(e){super(e),this.domEventType=["mousemove","mouseleave"]}onDomEvent(e){this.fire(e.type,e)}}class Re extends e.Plugin{static get pluginName(){return"TableMouse"}static get requires(){return[_e,F]}init(){this.editor.editing.view.addObserver(Se),this._enableShiftClickSelection(),this._enableMouseDragSelection()}_enableShiftClickSelection(){const e=this.editor,t=e.plugins.get(F);let o=!1;const n=e.plugins.get(_e);this.listenTo(e.editing.view.document,"mousedown",((i,l)=>{const r=e.model.document.selection;if(!this.isEnabled||!n.isEnabled)return;if(!l.domEvent.shiftKey)return;const s=n.getAnchorCell()||t.getTableCellsContainingSelection(r)[0];if(!s)return;const a=this._getModelTableCellFromDomEvent(l);a&&Ie(s,a)&&(o=!0,n.setCellSelection(s,a),l.preventDefault())})),this.listenTo(e.editing.view.document,"mouseup",(()=>{o=!1})),this.listenTo(e.editing.view.document,"selectionChange",(e=>{o&&e.stop()}),{priority:"highest"})}_enableMouseDragSelection(){const e=this.editor;let t,o,n=!1,i=!1;const l=e.plugins.get(_e);this.listenTo(e.editing.view.document,"mousedown",((e,o)=>{this.isEnabled&&l.isEnabled&&(o.domEvent.shiftKey||o.domEvent.ctrlKey||o.domEvent.altKey||(t=this._getModelTableCellFromDomEvent(o)))})),this.listenTo(e.editing.view.document,"mousemove",((e,r)=>{if(!r.domEvent.buttons)return;if(!t)return;const s=this._getModelTableCellFromDomEvent(r);s&&Ie(t,s)&&(o=s,n||o==t||(n=!0)),n&&(i=!0,l.setCellSelection(t,o),r.preventDefault())})),this.listenTo(e.editing.view.document,"mouseup",(()=>{n=!1,i=!1,t=null,o=null})),this.listenTo(e.editing.view.document,"selectionChange",(e=>{i&&e.stop()}),{priority:"highest"})}_getModelTableCellFromDomEvent(e){const t=e.target,o=this.editor.editing.view.createPositionAt(t,0);return this.editor.editing.mapper.toModelPosition(o).parent.findAncestor("tableCell",{includeSelf:!0})}}function Ie(e,t){return e.parent.parent==t.parent.parent}var Pe=o(660),Ee={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};re()(Pe.Z,Ee);Pe.Z.locals;class Be extends e.Plugin{static get requires(){return[ce,pe,_e,Re,Ae,Ce,t.Widget]}static get pluginName(){return"Table"}}class Le extends e.Plugin{static get pluginName(){return"PlainTableOutput"}static get requires(){return[Be]}init(){const e=this.editor;e.conversion.for("dataDowncast").elementToStructure({model:"table",view:Ne,converterPriority:"high"}),e.plugins.has("TableCaption")&&e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(e,{writer:t})=>{if("table"===e.parent.name)return t.createContainerElement("caption")},converterPriority:"high"}),e.plugins.has("TableProperties")&&function(e){const t={"border-width":"tableBorderWidth","border-color":"tableBorderColor","border-style":"tableBorderStyle","background-color":"tableBackgroundColor"};for(const[o,n]of Object.entries(t))e.conversion.for("dataDowncast").add((e=>e.on(`attribute:${n}:table`,((e,t,n)=>{const{item:i,attributeNewValue:l}=t,{mapper:r,writer:s}=n;if(!n.consumable.consume(i,e.name))return;const a=r.toViewElement(i);l?s.setStyle(o,l,a):s.removeStyle(o,a)}),{priority:"high"})))}(e)}}function Ne(e,{writer:t}){const o=e.getAttribute("headingRows")||0,n=t.createSlot((e=>e.is("element","tableRow")&&e.index<o)),i=t.createSlot((e=>e.is("element","tableRow")&&e.index>=o)),l=t.createSlot((e=>!e.is("element","tableRow"))),r=t.createContainerElement("thead",null,n),s=t.createContainerElement("tbody",null,i),a=[];return o&&a.push(r),o<e.childCount&&a.push(s),t.createContainerElement("table",null,[l,...a])}function He(e){const t=e.getSelectedElement();return t&&Fe(t)?t:null}function ze(e){let t=e.getFirstPosition().parent;for(;t;){if(t.is("element")&&Fe(t))return t;t=t.parent}return null}function Fe(e){return!!e.getCustomProperty("table")&&(0,t.isWidget)(e)}class De extends e.Plugin{static get requires(){return[t.WidgetToolbarRepository]}static get pluginName(){return"TableToolbar"}afterInit(){const e=this.editor,o=e.t,n=e.plugins.get(t.WidgetToolbarRepository),i=e.config.get("table.contentToolbar"),l=e.config.get("table.tableToolbar");i&&n.register("tableContent",{ariaLabel:o("Table toolbar"),items:i,getRelatedElement:ze}),l&&n.register("table",{ariaLabel:o("Table toolbar"),items:l,getRelatedElement:He})}}var Oe=o(252),We={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};re()(Oe.Z,We);Oe.Z.locals;class Me extends ue.View{constructor(e,t){super(e);const o=this.bindTemplate;this.set("value",""),this.set("id"),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("isFocused",!1),this.set("isEmpty",!0),this.set("ariaDescribedById"),this.options=t,this._dropdownView=this._createDropdownView(),this._inputView=this._createInputTextView(),this._stillTyping=!1,this.setTemplate({tag:"div",attributes:{class:["ck","ck-input-color",o.if("hasError","ck-error")],id:o.to("id"),"aria-invalid":o.if("hasError",!0),"aria-describedby":o.to("ariaDescribedById")},children:[this._dropdownView,this._inputView]}),this.on("change:value",((e,t,o)=>this._setInputValue(o)))}focus(){this._inputView.focus()}_createDropdownView(){const e=this.locale,t=e.t,o=this.bindTemplate,n=this._createColorGrid(e),i=(0,ue.createDropdown)(e),l=new ue.View,r=this._createRemoveColorButton();return l.setTemplate({tag:"span",attributes:{class:["ck","ck-input-color__button__preview"],style:{backgroundColor:o.to("value")}},children:[{tag:"span",attributes:{class:["ck","ck-input-color__button__preview__no-color-indicator",o.if("value","ck-hidden",(e=>""!=e))]}}]}),i.buttonView.extendTemplate({attributes:{class:"ck-input-color__button"}}),i.buttonView.children.add(l),i.buttonView.tooltip=t("Color picker"),i.panelPosition="rtl"===e.uiLanguageDirection?"se":"sw",i.panelView.children.add(r),i.panelView.children.add(n),i.bind("isEnabled").to(this,"isReadOnly",(e=>!e)),i}_createInputTextView(){const e=this.locale,t=new ue.InputTextView(e);return t.extendTemplate({on:{blur:t.bindTemplate.to("blur")}}),t.value=this.value,t.bind("isReadOnly","hasError").to(this),this.bind("isFocused","isEmpty").to(t),t.on("input",(()=>{const e=t.element.value,o=this.options.colorDefinitions.find((t=>e===t.label));this._stillTyping=!0,this.value=o&&o.color||e})),t.on("blur",(()=>{this._stillTyping=!1,this._setInputValue(t.element.value)})),t.delegate("input").to(this),t}_createRemoveColorButton(){const t=this.locale,o=t.t,n=new ue.ButtonView(t),i=this.options.defaultColorValue||"",l=o(i?"Restore default":"Remove color");return n.class="ck-input-color__remove-color",n.withText=!0,n.icon=e.icons.eraser,n.label=l,n.on("execute",(()=>{this.value=i,this._dropdownView.isOpen=!1,this.fire("input")})),n}_createColorGrid(e){const t=new ue.ColorGridView(e,{colorDefinitions:this.options.colorDefinitions,columns:this.options.columns});return t.on("execute",((e,t)=>{this.value=t.value,this._dropdownView.isOpen=!1,this.fire("input")})),t.bind("selectedColor").to(this,"value"),t}_setInputValue(e){if(!this._stillTyping){const t=je(e),o=this.options.colorDefinitions.find((e=>t===je(e.color)));this._inputView.value=o?o.label:e||""}}}function je(e){return e.replace(/([(,])\s+/g,"$1").replace(/^\s+|\s+(?=[),\s]|$)/g,"").replace(/,|\s/g," ")}const Ue=e=>""===e;function Ze(e){return{none:e("None"),solid:e("Solid"),dotted:e("Dotted"),dashed:e("Dashed"),double:e("Double"),groove:e("Groove"),ridge:e("Ridge"),inset:e("Inset"),outset:e("Outset")}}function Ke(e){return e('The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".')}function $e(e){return e('The value is invalid. Try "10px" or "2em" or simply "2".')}function qe(e){return e=e.trim(),Ue(e)||(0,Ve.isColor)(e)}function Ge(e){return e=e.trim(),Ue(e)||tt(e)||(0,Ve.isLength)(e)||(0,Ve.isPercentage)(e)}function Je(e){return e=e.trim(),Ue(e)||tt(e)||(0,Ve.isLength)(e)}function Xe(e,t){const o=new s.Collection,n=Ze(e.t);for(const i in n){const l={type:"button",model:new ue.Model({_borderStyleValue:i,label:n[i],withText:!0})};"none"===i?l.model.bind("isOn").to(e,"borderStyle",(e=>"none"===t?!e:e===i)):l.model.bind("isOn").to(e,"borderStyle",(e=>e===i)),o.add(l)}return o}function Ye(e){const{view:t,icons:o,toolbar:n,labels:i,propertyName:l,nameToValue:r,defaultValue:s}=e;for(const e in i){const a=new ue.ButtonView(t.locale);a.set({label:i[e],icon:o[e],tooltip:i[e]});const c=r?r(e):e;a.bind("isOn").to(t,l,(e=>{let t=e;return""===e&&s&&(t=s),c===t})),a.on("execute",(()=>{t[l]=c})),n.items.add(a)}}const Qe=[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:!0},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}];function et(e){return(t,o,n)=>{const i=new Me(t.locale,{colorDefinitions:(l=e.colorConfig,l.map((e=>({color:e.model,label:e.label,options:{hasBorder:e.hasBorder}})))),columns:e.columns,defaultColorValue:e.defaultColorValue});var l;return i.set({id:o,ariaDescribedById:n}),i.bind("isReadOnly").to(t,"isEnabled",(e=>!e)),i.bind("hasError").to(t,"errorText",(e=>!!e)),i.on("input",(()=>{t.errorText=null})),t.bind("isEmpty","isFocused").to(i),i}}function tt(e){const t=parseFloat(e);return!Number.isNaN(t)&&e===String(t)}var ot=o(333),nt={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};re()(ot.Z,nt);ot.Z.locals;class it extends ue.View{constructor(e,t={}){super(e);const o=this.bindTemplate;this.set("class",t.class||null),this.children=this.createCollection(),t.children&&t.children.forEach((e=>this.children.add(e))),this.set("_role",null),this.set("_ariaLabelledBy",null),t.labelView&&this.set({_role:"group",_ariaLabelledBy:t.labelView.id}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__row",o.to("class")],role:o.to("_role"),"aria-labelledby":o.to("_ariaLabelledBy")},children:this.children})}}var lt=o(934),rt={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};re()(lt.Z,rt);lt.Z.locals;var st=o(686),at={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};re()(st.Z,at);st.Z.locals;var ct=o(773),dt={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};re()(ct.Z,dt);ct.Z.locals;const ut={left:e.icons.alignLeft,center:e.icons.alignCenter,right:e.icons.alignRight,justify:e.icons.alignJustify,top:e.icons.alignTop,middle:e.icons.alignMiddle,bottom:e.icons.alignBottom};class ht extends ue.View{constructor(e,t){super(e),this.set({borderStyle:"",borderWidth:"",borderColor:"",padding:"",backgroundColor:"",width:"",height:"",horizontalAlignment:"",verticalAlignment:""}),this.options=t;const{borderStyleDropdown:o,borderWidthInput:n,borderColorInput:i,borderRowLabel:l}=this._createBorderFields(),{backgroundRowLabel:r,backgroundInput:a}=this._createBackgroundFields(),{widthInput:c,operatorLabel:d,heightInput:u,dimensionsLabel:h}=this._createDimensionFields(),{horizontalAlignmentToolbar:b,verticalAlignmentToolbar:m,alignmentLabel:g}=this._createAlignmentFields();this.focusTracker=new s.FocusTracker,this.keystrokes=new s.KeystrokeHandler,this.children=this.createCollection(),this.borderStyleDropdown=o,this.borderWidthInput=n,this.borderColorInput=i,this.backgroundInput=a,this.paddingInput=this._createPaddingField(),this.widthInput=c,this.heightInput=u,this.horizontalAlignmentToolbar=b,this.verticalAlignmentToolbar=m;const{saveButtonView:p,cancelButtonView:f}=this._createActionButtons();this.saveButtonView=p,this.cancelButtonView=f,this._focusables=new ue.ViewCollection,this._focusCycler=new ue.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.children.add(new ue.FormHeaderView(e,{label:this.t("Cell properties")})),this.children.add(new it(e,{labelView:l,children:[l,o,i,n],class:"ck-table-form__border-row"})),this.children.add(new it(e,{labelView:r,children:[r,a],class:"ck-table-form__background-row"})),this.children.add(new it(e,{children:[new it(e,{labelView:h,children:[h,c,d,u],class:"ck-table-form__dimensions-row"}),new it(e,{children:[this.paddingInput],class:"ck-table-cell-properties-form__padding-row"})]})),this.children.add(new it(e,{labelView:g,children:[g,b,m],class:"ck-table-cell-properties-form__alignment-row"})),this.children.add(new it(e,{children:[this.saveButtonView,this.cancelButtonView],class:"ck-table-form__action-row"})),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-cell-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render(),(0,ue.submitHandler)({view:this}),[this.borderStyleDropdown,this.borderColorInput,this.borderWidthInput,this.backgroundInput,this.widthInput,this.heightInput,this.paddingInput,this.horizontalAlignmentToolbar,this.verticalAlignmentToolbar,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createBorderFields(){const e=this.options.defaultTableCellProperties,t={style:e.borderStyle,width:e.borderWidth,color:e.borderColor},o=et({colorConfig:this.options.borderColors,columns:5,defaultColorValue:t.color}),n=this.locale,i=this.t,l=new ue.LabelView(n);l.text=i("Border");const r=Ze(i),s=new ue.LabeledFieldView(n,ue.createLabeledDropdown);s.set({label:i("Style"),class:"ck-table-form__border-style"}),s.fieldView.buttonView.set({isOn:!1,withText:!0,tooltip:i("Style")}),s.fieldView.buttonView.bind("label").to(this,"borderStyle",(e=>r[e||"none"])),s.fieldView.on("execute",(e=>{this.borderStyle=e.source._borderStyleValue})),s.bind("isEmpty").to(this,"borderStyle",(e=>!e)),(0,ue.addListToDropdown)(s.fieldView,Xe(this,t.style));const a=new ue.LabeledFieldView(n,ue.createLabeledInputText);a.set({label:i("Width"),class:"ck-table-form__border-width"}),a.fieldView.bind("value").to(this,"borderWidth"),a.bind("isEnabled").to(this,"borderStyle",bt),a.fieldView.on("input",(()=>{this.borderWidth=a.fieldView.element.value}));const c=new ue.LabeledFieldView(n,o);return c.set({label:i("Color"),class:"ck-table-form__border-color"}),c.fieldView.bind("value").to(this,"borderColor"),c.bind("isEnabled").to(this,"borderStyle",bt),c.fieldView.on("input",(()=>{this.borderColor=c.fieldView.value})),this.on("change:borderStyle",((e,o,n,i)=>{bt(n)||(this.borderColor="",this.borderWidth=""),bt(i)||(this.borderColor=t.color,this.borderWidth=t.width)})),{borderRowLabel:l,borderStyleDropdown:s,borderColorInput:c,borderWidthInput:a}}_createBackgroundFields(){const e=this.locale,t=this.t,o=new ue.LabelView(e);o.text=t("Background");const n=et({colorConfig:this.options.backgroundColors,columns:5,defaultColorValue:this.options.defaultTableCellProperties.backgroundColor}),i=new ue.LabeledFieldView(e,n);return i.set({label:t("Color"),class:"ck-table-cell-properties-form__background"}),i.fieldView.bind("value").to(this,"backgroundColor"),i.fieldView.on("input",(()=>{this.backgroundColor=i.fieldView.value})),{backgroundRowLabel:o,backgroundInput:i}}_createDimensionFields(){const e=this.locale,t=this.t,o=new ue.LabelView(e);o.text=t("Dimensions");const n=new ue.LabeledFieldView(e,ue.createLabeledInputText);n.set({label:t("Width"),class:"ck-table-form__dimensions-row__width"}),n.fieldView.bind("value").to(this,"width"),n.fieldView.on("input",(()=>{this.width=n.fieldView.element.value}));const i=new ue.View(e);i.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"×"}]});const l=new ue.LabeledFieldView(e,ue.createLabeledInputText);return l.set({label:t("Height"),class:"ck-table-form__dimensions-row__height"}),l.fieldView.bind("value").to(this,"height"),l.fieldView.on("input",(()=>{this.height=l.fieldView.element.value})),{dimensionsLabel:o,widthInput:n,operatorLabel:i,heightInput:l}}_createPaddingField(){const e=this.locale,t=this.t,o=new ue.LabeledFieldView(e,ue.createLabeledInputText);return o.set({label:t("Padding"),class:"ck-table-cell-properties-form__padding"}),o.fieldView.bind("value").to(this,"padding"),o.fieldView.on("input",(()=>{this.padding=o.fieldView.element.value})),o}_createAlignmentFields(){const e=this.locale,t=this.t,o=new ue.LabelView(e);o.text=t("Table cell text alignment");const n=new ue.ToolbarView(e),i="rtl"===this.locale.contentLanguageDirection;n.set({isCompact:!0,ariaLabel:t("Horizontal text alignment toolbar")}),Ye({view:this,icons:ut,toolbar:n,labels:this._horizontalAlignmentLabels,propertyName:"horizontalAlignment",nameToValue:e=>{if(i){if("left"===e)return"right";if("right"===e)return"left"}return e},defaultValue:this.options.defaultTableCellProperties.horizontalAlignment});const l=new ue.ToolbarView(e);return l.set({isCompact:!0,ariaLabel:t("Vertical text alignment toolbar")}),Ye({view:this,icons:ut,toolbar:l,labels:this._verticalAlignmentLabels,propertyName:"verticalAlignment",defaultValue:this.options.defaultTableCellProperties.verticalAlignment}),{horizontalAlignmentToolbar:n,verticalAlignmentToolbar:l,alignmentLabel:o}}_createActionButtons(){const t=this.locale,o=this.t,n=new ue.ButtonView(t),i=new ue.ButtonView(t),l=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.paddingInput];return n.set({label:o("Save"),icon:e.icons.check,class:"ck-button-save",type:"submit",withText:!0}),n.bind("isEnabled").toMany(l,"errorText",((...e)=>e.every((e=>!e)))),i.set({label:o("Cancel"),icon:e.icons.cancel,class:"ck-button-cancel",withText:!0}),i.delegate("execute").to(this,"cancel"),{saveButtonView:n,cancelButtonView:i}}get _horizontalAlignmentLabels(){const e=this.locale,t=this.t,o=t("Align cell text to the left"),n=t("Align cell text to the center"),i=t("Align cell text to the right"),l=t("Justify cell text");return"rtl"===e.uiLanguageDirection?{right:i,center:n,left:o,justify:l}:{left:o,center:n,right:i,justify:l}}get _verticalAlignmentLabels(){const e=this.t;return{top:e("Align cell text to the top"),middle:e("Align cell text to the middle"),bottom:e("Align cell text to the bottom")}}}function bt(e){return"none"!==e}const mt=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const gt="object"==typeof global&&global&&global.Object===Object&&global;var pt="object"==typeof self&&self&&self.Object===Object&&self;const ft=gt||pt||Function("return this")();const wt=function(){return ft.Date.now()};var kt=/\s/;const _t=function(e){for(var t=e.length;t--&&kt.test(e.charAt(t)););return t};var Ct=/^\s+/;const vt=function(e){return e?e.slice(0,_t(e)+1).replace(Ct,""):e};const yt=ft.Symbol;var Tt=Object.prototype,xt=Tt.hasOwnProperty,At=Tt.toString,Vt=yt?yt.toStringTag:void 0;const St=function(e){var t=xt.call(e,Vt),o=e[Vt];try{e[Vt]=void 0;var n=!0}catch(e){}var i=At.call(e);return n&&(t?e[Vt]=o:delete e[Vt]),i};var Rt=Object.prototype.toString;const It=function(e){return Rt.call(e)};var Pt=yt?yt.toStringTag:void 0;const Et=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Pt&&Pt in Object(e)?St(e):It(e)};const Bt=function(e){return null!=e&&"object"==typeof e};const Lt=function(e){return"symbol"==typeof e||Bt(e)&&"[object Symbol]"==Et(e)};var Nt=/^[-+]0x[0-9a-f]+$/i,Ht=/^0b[01]+$/i,zt=/^0o[0-7]+$/i,Ft=parseInt;const Dt=function(e){if("number"==typeof e)return e;if(Lt(e))return NaN;if(mt(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=mt(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=vt(e);var o=Ht.test(e);return o||zt.test(e)?Ft(e.slice(2),o?2:8):Nt.test(e)?NaN:+e};var Ot=Math.max,Wt=Math.min;const Mt=function(e,t,o){var n,i,l,r,s,a,c=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function b(t){var o=n,l=i;return n=i=void 0,c=t,r=e.apply(l,o)}function m(e){return c=e,s=setTimeout(p,t),d?b(e):r}function g(e){var o=e-a;return void 0===a||o>=t||o<0||u&&e-c>=l}function p(){var e=wt();if(g(e))return f(e);s=setTimeout(p,function(e){var o=t-(e-a);return u?Wt(o,l-(e-c)):o}(e))}function f(e){return s=void 0,h&&n?b(e):(n=i=void 0,r)}function w(){var e=wt(),o=g(e);if(n=arguments,i=this,a=e,o){if(void 0===s)return m(a);if(u)return clearTimeout(s),s=setTimeout(p,t),b(a)}return void 0===s&&(s=setTimeout(p,t)),r}return t=Dt(t)||0,mt(o)&&(d=!!o.leading,l=(u="maxWait"in o)?Ot(Dt(o.maxWait)||0,t):l,h="trailing"in o?!!o.trailing:h),w.cancel=function(){void 0!==s&&clearTimeout(s),c=0,n=a=i=s=void 0},w.flush=function(){return void 0===s?r:f(wt())},w},jt=ue.BalloonPanelView.defaultPositions,Ut=[jt.northArrowSouth,jt.northArrowSouthWest,jt.northArrowSouthEast,jt.southArrowNorth,jt.southArrowNorthWest,jt.southArrowNorthEast,jt.viewportStickyNorth];function Zt(e,t){const o=e.plugins.get("ContextualBalloon");if(ze(e.editing.view.document.selection)){let n;n="cell"===t?$t(e):Kt(e),o.updatePosition(n)}}function Kt(e){const t=e.model.document.selection.getFirstPosition().findAncestor("table"),o=e.editing.mapper.toViewElement(t);return{target:e.editing.view.domConverter.viewToDom(o),positions:Ut}}function $t(e){const t=e.editing.mapper,o=e.editing.view.domConverter,n=e.model.document.selection;if(n.rangeCount>1)return{target:()=>function(e,t){const o=t.editing.mapper,n=t.editing.view.domConverter,i=Array.from(e).map((e=>{const t=qt(e.start),i=o.toViewElement(t);return new s.Rect(n.viewToDom(i))}));return s.Rect.getBoundingRect(i)}(n.getRanges(),e),positions:Ut};const i=qt(n.getFirstPosition()),l=t.toViewElement(i);return{target:o.viewToDom(l),positions:Ut}}function qt(e){return e.nodeAfter&&e.nodeAfter.is("element","tableCell")?e.nodeAfter:e.findAncestor("tableCell")}function Gt(e){if(!e||!mt(e))return e;const{top:t,right:o,bottom:n,left:i}=e;return t==o&&o==n&&n==i?t:void 0}function Jt(e,t){const o=parseFloat(e);return Number.isNaN(o)||String(o)!==String(e)?e:`${o}${t}`}function Xt(e,t={}){const o=Object.assign({borderStyle:"none",borderWidth:"",borderColor:"",backgroundColor:"",width:"",height:""},e);return t.includeAlignmentProperty&&!o.alignment&&(o.alignment="center"),t.includePaddingProperty&&!o.padding&&(o.padding=""),t.includeVerticalAlignmentProperty&&!o.verticalAlignment&&(o.verticalAlignment="middle"),t.includeHorizontalAlignmentProperty&&!o.horizontalAlignment&&(o.horizontalAlignment=t.isRightToLeftContent?"right":"left"),o}const Yt={borderStyle:"tableCellBorderStyle",borderColor:"tableCellBorderColor",borderWidth:"tableCellBorderWidth",width:"tableCellWidth",height:"tableCellHeight",padding:"tableCellPadding",backgroundColor:"tableCellBackgroundColor",horizontalAlignment:"tableCellHorizontalAlignment",verticalAlignment:"tableCellVerticalAlignment"};class Qt extends e.Plugin{static get requires(){return[ue.ContextualBalloon]}static get pluginName(){return"TableCellPropertiesUI"}constructor(e){super(e),e.config.define("table.tableCellProperties",{borderColors:Qe,backgroundColors:Qe})}init(){const e=this.editor,t=e.t;this._defaultTableCellProperties=Xt(e.config.get("table.tableCellProperties.defaultProperties"),{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,includePaddingProperty:!0,isRightToLeftContent:"rtl"===e.locale.contentLanguageDirection}),this._balloon=e.plugins.get(ue.ContextualBalloon),this.view=this._createPropertiesView(),this._undoStepBatch=null,e.ui.componentFactory.add("tableCellProperties",(o=>{const n=new ue.ButtonView(o);n.set({label:t("Cell properties"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.105 18-.17 1H2.5A1.5 1.5 0 0 1 1 17.5v-15A1.5 1.5 0 0 1 2.5 1h15A1.5 1.5 0 0 1 19 2.5v9.975l-.85-.124-.15-.302V8h-5v4h.021l-.172.351-1.916.28-.151.027c-.287.063-.54.182-.755.341L8 13v5h3.105zM2 12h5V8H2v4zm10-4H8v4h4V8zM2 2v5h5V2H2zm0 16h5v-5H2v5zM13 7h5V2h-5v5zM8 2v5h4V2H8z" opacity=".6"/><path d="m15.5 11.5 1.323 2.68 2.957.43-2.14 2.085.505 2.946L15.5 18.25l-2.645 1.39.505-2.945-2.14-2.086 2.957-.43L15.5 11.5zM13 6a1 1 0 0 1 1 1v3.172a2.047 2.047 0 0 0-.293.443l-.858 1.736-1.916.28-.151.027A1.976 1.976 0 0 0 9.315 14H7a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h6zm-1 2H8v4h4V8z"/></svg>',tooltip:!0}),this.listenTo(n,"execute",(()=>this._showView()));const i=Object.values(Yt).map((t=>e.commands.get(t)));return n.bind("isEnabled").toMany(i,"isEnabled",((...e)=>e.some((e=>e)))),n}))}destroy(){super.destroy(),this.view.destroy()}_createPropertiesView(){const e=this.editor,t=e.editing.view.document,o=e.config.get("table.tableCellProperties"),n=(0,ue.normalizeColorOptions)(o.borderColors),i=(0,ue.getLocalizedColorOptions)(e.locale,n),l=(0,ue.normalizeColorOptions)(o.backgroundColors),r=(0,ue.getLocalizedColorOptions)(e.locale,l),s=new ht(e.locale,{borderColors:i,backgroundColors:r,defaultTableCellProperties:this._defaultTableCellProperties}),a=e.t;s.render(),this.listenTo(s,"submit",(()=>{this._hideView()})),this.listenTo(s,"cancel",(()=>{this._undoStepBatch.operations.length&&e.execute("undo",this._undoStepBatch),this._hideView()})),s.keystrokes.set("Esc",((e,t)=>{this._hideView(),t()})),this.listenTo(e.ui,"update",(()=>{ze(t.selection)?this._isViewVisible&&Zt(e,"cell"):this._hideView()})),(0,ue.clickOutsideHandler)({emitter:s,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});const c=Ke(a),d=$e(a);return s.on("change:borderStyle",this._getPropertyChangeCallback("tableCellBorderStyle",this._defaultTableCellProperties.borderStyle)),s.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:s.borderColorInput,commandName:"tableCellBorderColor",errorText:c,validator:qe,defaultValue:this._defaultTableCellProperties.borderColor})),s.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:s.borderWidthInput,commandName:"tableCellBorderWidth",errorText:d,validator:Je,defaultValue:this._defaultTableCellProperties.borderWidth})),s.on("change:padding",this._getValidatedPropertyChangeCallback({viewField:s.paddingInput,commandName:"tableCellPadding",errorText:d,validator:Ge,defaultValue:this._defaultTableCellProperties.padding})),s.on("change:width",this._getValidatedPropertyChangeCallback({viewField:s.widthInput,commandName:"tableCellWidth",errorText:d,validator:Ge,defaultValue:this._defaultTableCellProperties.width})),s.on("change:height",this._getValidatedPropertyChangeCallback({viewField:s.heightInput,commandName:"tableCellHeight",errorText:d,validator:Ge,defaultValue:this._defaultTableCellProperties.height})),s.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:s.backgroundInput,commandName:"tableCellBackgroundColor",errorText:c,validator:qe,defaultValue:this._defaultTableCellProperties.backgroundColor})),s.on("change:horizontalAlignment",this._getPropertyChangeCallback("tableCellHorizontalAlignment",this._defaultTableCellProperties.horizontalAlignment)),s.on("change:verticalAlignment",this._getPropertyChangeCallback("tableCellVerticalAlignment",this._defaultTableCellProperties.verticalAlignment)),s}_fillViewFormFromCommandValues(){const e=this.editor.commands,t=e.get("tableCellBorderStyle");Object.entries(Yt).map((([t,o])=>{const n=this._defaultTableCellProperties[t]||"";return[t,e.get(o).value||n]})).forEach((([e,o])=>{("borderColor"!==e&&"borderWidth"!==e||"none"!==t.value)&&this.view.set(e,o)}))}_showView(){const e=this.editor;this._fillViewFormFromCommandValues(),this._balloon.add({view:this.view,position:$t(e)}),this._undoStepBatch=e.model.createBatch(),this.view.focus()}_hideView(){if(!this._isViewInBalloon)return;const e=this.editor;this.stopListening(e.ui,"update"),this.view.saveButtonView.focus(),this._balloon.remove(this.view),this.editor.editing.view.focus()}get _isViewVisible(){return this._balloon.visibleView===this.view}get _isViewInBalloon(){return this._balloon.hasView(this.view)}_getPropertyChangeCallback(e,t){return(o,n,i,l)=>{(l||t!==i)&&this.editor.execute(e,{value:i,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback(e){const{commandName:t,viewField:o,validator:n,errorText:i,defaultValue:l}=e,r=Mt((()=>{o.errorText=i}),500);return(e,i,s,a)=>{r.cancel(),(a||l!==s)&&(n(s)?(this.editor.execute(t,{value:s,batch:this._undoStepBatch}),o.errorText=null):r())}}}function eo(e,t){const{viewElement:o,defaultValue:n,modelAttribute:i,styleName:l,reduceBoxSides:r=!1}=t;e.for("upcast").attributeToAttribute({view:{name:o,styles:{[l]:/[\s\S]+/}},model:{key:i,value:e=>{const t=e.getNormalizedStyle(l),o=r?io(t):t;if(n!==o)return o}}})}function to(e,t,o,n){e.for("upcast").add((e=>e.on("element:"+t,((e,t,i)=>{if(!t.modelRange)return;const l=["border-top-width","border-top-color","border-top-style","border-bottom-width","border-bottom-color","border-bottom-style","border-right-width","border-right-color","border-right-style","border-left-width","border-left-color","border-left-style"].filter((e=>t.viewItem.hasStyle(e)));if(!l.length)return;const r={styles:l};if(!i.consumable.test(t.viewItem,r))return;const s=[...t.modelRange.getItems({shallow:!0})].pop();i.consumable.consume(t.viewItem,r);const a={style:t.viewItem.getNormalizedStyle("border-style"),color:t.viewItem.getNormalizedStyle("border-color"),width:t.viewItem.getNormalizedStyle("border-width")},c={style:io(a.style),color:io(a.color),width:io(a.width)};c.style!==n.style&&i.writer.setAttribute(o.style,c.style,s),c.color!==n.color&&i.writer.setAttribute(o.color,c.color,s),c.width!==n.width&&i.writer.setAttribute(o.width,c.width,s)}))))}function oo(e,{modelElement:t,modelAttribute:o,styleName:n}){e.for("downcast").attributeToAttribute({model:{name:t,key:o},view:e=>({key:"style",value:{[n]:e}})})}function no(e,{modelAttribute:t,styleName:o}){e.for("downcast").add((e=>e.on(`attribute:${t}:table`,((e,t,n)=>{const{item:i,attributeNewValue:l}=t,{mapper:r,writer:s}=n;if(!n.consumable.consume(t.item,e.name))return;const a=[...r.toViewElement(i).getChildren()].find((e=>e.is("element","table")));l?s.setStyle(o,l,a):s.removeStyle(o,a)}))))}function io(e){if(!e)return;return["top","right","bottom","left"].map((t=>e[t])).reduce(((e,t)=>e==t?e:null))||e}class lo extends e.Command{constructor(e,t,o){super(e),this.attributeName=t,this._defaultValue=o}refresh(){const e=this.editor,t=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(e.model.document.selection);this.isEnabled=!!t.length,this.value=this._getSingleValue(t)}execute(e={}){const{value:t,batch:o}=e,n=this.editor.model,i=this.editor.plugins.get("TableUtils").getSelectionAffectedTableCells(n.document.selection),l=this._getValueToSet(t);n.enqueueChange(o,(e=>{l?i.forEach((t=>e.setAttribute(this.attributeName,l,t))):i.forEach((t=>e.removeAttribute(this.attributeName,t)))}))}_getAttribute(e){if(!e)return;const t=e.getAttribute(this.attributeName);return t!==this._defaultValue?t:void 0}_getValueToSet(e){if(e!==this._defaultValue)return e}_getSingleValue(e){const t=this._getAttribute(e[0]);return e.every((e=>this._getAttribute(e)===t))?t:void 0}}class ro extends lo{constructor(e,t){super(e,"tableCellPadding",t)}_getAttribute(e){if(!e)return;const t=Gt(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){if((e=Jt(e,"px"))!==this._defaultValue)return e}}class so extends lo{constructor(e,t){super(e,"tableCellWidth",t)}_getValueToSet(e){if((e=Jt(e,"px"))!==this._defaultValue)return e}}class ao extends lo{constructor(e,t){super(e,"tableCellHeight",t)}_getValueToSet(e){return(e=Jt(e,"px"))===this._defaultValue?null:e}}class co extends lo{constructor(e,t){super(e,"tableCellBackgroundColor",t)}}class uo extends lo{constructor(e,t){super(e,"tableCellVerticalAlignment",t)}}class ho extends lo{constructor(e,t){super(e,"tableCellHorizontalAlignment",t)}}class bo extends lo{constructor(e,t){super(e,"tableCellBorderStyle",t)}_getAttribute(e){if(!e)return;const t=Gt(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class mo extends lo{constructor(e,t){super(e,"tableCellBorderColor",t)}_getAttribute(e){if(!e)return;const t=Gt(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class go extends lo{constructor(e,t){super(e,"tableCellBorderWidth",t)}_getAttribute(e){if(!e)return;const t=Gt(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){if((e=Jt(e,"px"))!==this._defaultValue)return e}}const po=/^(top|middle|bottom)$/,fo=/^(left|center|right|justify)$/;class wo extends e.Plugin{static get pluginName(){return"TableCellPropertiesEditing"}static get requires(){return[ce]}init(){const e=this.editor,t=e.model.schema,o=e.conversion;e.config.define("table.tableCellProperties.defaultProperties",{});const n=Xt(e.config.get("table.tableCellProperties.defaultProperties"),{includeVerticalAlignmentProperty:!0,includeHorizontalAlignmentProperty:!0,includePaddingProperty:!0,isRightToLeftContent:"rtl"===e.locale.contentLanguageDirection});e.data.addStyleProcessorRules(Ve.addBorderRules),function(e,t,o){const n={width:"tableCellBorderWidth",color:"tableCellBorderColor",style:"tableCellBorderStyle"};e.extend("tableCell",{allowAttributes:Object.values(n)}),to(t,"td",n,o),to(t,"th",n,o),oo(t,{modelElement:"tableCell",modelAttribute:n.style,styleName:"border-style"}),oo(t,{modelElement:"tableCell",modelAttribute:n.color,styleName:"border-color"}),oo(t,{modelElement:"tableCell",modelAttribute:n.width,styleName:"border-width"})}(t,o,{color:n.borderColor,style:n.borderStyle,width:n.borderWidth}),e.commands.add("tableCellBorderStyle",new bo(e,n.borderStyle)),e.commands.add("tableCellBorderColor",new mo(e,n.borderColor)),e.commands.add("tableCellBorderWidth",new go(e,n.borderWidth)),ko(t,o,{modelAttribute:"tableCellWidth",styleName:"width",defaultValue:n.width}),e.commands.add("tableCellWidth",new so(e,n.width)),ko(t,o,{modelAttribute:"tableCellHeight",styleName:"height",defaultValue:n.height}),e.commands.add("tableCellHeight",new ao(e,n.height)),e.data.addStyleProcessorRules(Ve.addPaddingRules),ko(t,o,{modelAttribute:"tableCellPadding",styleName:"padding",reduceBoxSides:!0,defaultValue:n.padding}),e.commands.add("tableCellPadding",new ro(e,n.padding)),e.data.addStyleProcessorRules(Ve.addBackgroundRules),ko(t,o,{modelAttribute:"tableCellBackgroundColor",styleName:"background-color",defaultValue:n.backgroundColor}),e.commands.add("tableCellBackgroundColor",new co(e,n.backgroundColor)),function(e,t,o){e.extend("tableCell",{allowAttributes:["tableCellHorizontalAlignment"]}),t.for("downcast").attributeToAttribute({model:{name:"tableCell",key:"tableCellHorizontalAlignment"},view:e=>({key:"style",value:{"text-align":e}})}),t.for("upcast").attributeToAttribute({view:{name:/^(td|th)$/,styles:{"text-align":fo}},model:{key:"tableCellHorizontalAlignment",value:e=>{const t=e.getStyle("text-align");return t===o?null:t}}}).attributeToAttribute({view:{name:/^(td|th)$/,attributes:{align:fo}},model:{key:"tableCellHorizontalAlignment",value:e=>{const t=e.getAttribute("align");return t===o?null:t}}})}(t,o,n.horizontalAlignment),e.commands.add("tableCellHorizontalAlignment",new ho(e,n.horizontalAlignment)),function(e,t,o){e.extend("tableCell",{allowAttributes:["tableCellVerticalAlignment"]}),t.for("downcast").attributeToAttribute({model:{name:"tableCell",key:"tableCellVerticalAlignment"},view:e=>({key:"style",value:{"vertical-align":e}})}),t.for("upcast").attributeToAttribute({view:{name:/^(td|th)$/,styles:{"vertical-align":po}},model:{key:"tableCellVerticalAlignment",value:e=>{const t=e.getStyle("vertical-align");return t===o?null:t}}}).attributeToAttribute({view:{name:/^(td|th)$/,attributes:{valign:po}},model:{key:"tableCellVerticalAlignment",value:e=>{const t=e.getAttribute("valign");return t===o?null:t}}})}(t,o,n.verticalAlignment),e.commands.add("tableCellVerticalAlignment",new uo(e,n.verticalAlignment))}}function ko(e,t,o){const{modelAttribute:n}=o;e.extend("tableCell",{allowAttributes:[n]}),eo(t,{viewElement:/^(td|th)$/,...o}),oo(t,{modelElement:"tableCell",...o})}class _o extends e.Plugin{static get pluginName(){return"TableCellProperties"}static get requires(){return[wo,Qt]}}class Co extends e.Command{constructor(e,t,o){super(e),this.attributeName=t,this._defaultValue=o}refresh(){const e=this.editor.model.document.selection.getFirstPosition().findAncestor("table");this.isEnabled=!!e,this.value=this._getValue(e)}execute(e={}){const t=this.editor.model,o=t.document.selection,{value:n,batch:i}=e,l=o.getFirstPosition().findAncestor("table"),r=this._getValueToSet(n);t.enqueueChange(i,(e=>{r?e.setAttribute(this.attributeName,r,l):e.removeAttribute(this.attributeName,l)}))}_getValue(e){if(!e)return;const t=e.getAttribute(this.attributeName);return t!==this._defaultValue?t:void 0}_getValueToSet(e){if(e!==this._defaultValue)return e}}class vo extends Co{constructor(e,t){super(e,"tableBackgroundColor",t)}}class yo extends Co{constructor(e,t){super(e,"tableBorderColor",t)}_getValue(e){if(!e)return;const t=Gt(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class To extends Co{constructor(e,t){super(e,"tableBorderStyle",t)}_getValue(e){if(!e)return;const t=Gt(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}}class xo extends Co{constructor(e,t){super(e,"tableBorderWidth",t)}_getValue(e){if(!e)return;const t=Gt(e.getAttribute(this.attributeName));return t!==this._defaultValue?t:void 0}_getValueToSet(e){if((e=Jt(e,"px"))!==this._defaultValue)return e}}class Ao extends Co{constructor(e,t){super(e,"tableWidth",t)}_getValueToSet(e){if((e=Jt(e,"px"))!==this._defaultValue)return e}}class Vo extends Co{constructor(e,t){super(e,"tableHeight",t)}_getValueToSet(e){return(e=Jt(e,"px"))===this._defaultValue?null:e}}class So extends Co{constructor(e,t){super(e,"tableAlignment",t)}}const Ro=/^(left|center|right)$/,Io=/^(left|none|right)$/;class Po extends e.Plugin{static get pluginName(){return"TablePropertiesEditing"}static get requires(){return[ce]}init(){const e=this.editor,t=e.model.schema,o=e.conversion;e.config.define("table.tableProperties.defaultProperties",{});const n=Xt(e.config.get("table.tableProperties.defaultProperties"),{includeAlignmentProperty:!0});e.data.addStyleProcessorRules(Ve.addBorderRules),function(e,t,o){const n={width:"tableBorderWidth",color:"tableBorderColor",style:"tableBorderStyle"};e.extend("table",{allowAttributes:Object.values(n)}),to(t,"table",n,o),no(t,{modelAttribute:n.color,styleName:"border-color"}),no(t,{modelAttribute:n.style,styleName:"border-style"}),no(t,{modelAttribute:n.width,styleName:"border-width"})}(t,o,{color:n.borderColor,style:n.borderStyle,width:n.borderWidth}),e.commands.add("tableBorderColor",new yo(e,n.borderColor)),e.commands.add("tableBorderStyle",new To(e,n.borderStyle)),e.commands.add("tableBorderWidth",new xo(e,n.borderWidth)),function(e,t,o){e.extend("table",{allowAttributes:["tableAlignment"]}),t.for("downcast").attributeToAttribute({model:{name:"table",key:"tableAlignment"},view:e=>({key:"style",value:{float:"center"===e?"none":e}}),converterPriority:"high"}),t.for("upcast").attributeToAttribute({view:{name:/^(table|figure)$/,styles:{float:Io}},model:{key:"tableAlignment",value:e=>{let t=e.getStyle("float");return"none"===t&&(t="center"),t===o?null:t}}}).attributeToAttribute({view:{attributes:{align:Ro}},model:{name:"table",key:"tableAlignment",value:e=>{const t=e.getAttribute("align");return t===o?null:t}}})}(t,o,n.alignment),e.commands.add("tableAlignment",new So(e,n.alignment)),Eo(t,o,{modelAttribute:"tableWidth",styleName:"width",defaultValue:n.width}),e.commands.add("tableWidth",new Ao(e,n.width)),Eo(t,o,{modelAttribute:"tableHeight",styleName:"height",defaultValue:n.height}),e.commands.add("tableHeight",new Vo(e,n.height)),e.data.addStyleProcessorRules(Ve.addBackgroundRules),function(e,t,o){const{modelAttribute:n}=o;e.extend("table",{allowAttributes:[n]}),eo(t,{viewElement:"table",...o}),no(t,o)}(t,o,{modelAttribute:"tableBackgroundColor",styleName:"background-color",defaultValue:n.backgroundColor}),e.commands.add("tableBackgroundColor",new vo(e,n.backgroundColor))}}function Eo(e,t,o){const{modelAttribute:n}=o;e.extend("table",{allowAttributes:[n]}),eo(t,{viewElement:/^(table|figure)$/,...o}),oo(t,{modelElement:"table",...o})}var Bo=o(99),Lo={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};re()(Bo.Z,Lo);Bo.Z.locals;const No={left:e.icons.objectLeft,center:e.icons.objectCenter,right:e.icons.objectRight};class Ho extends ue.View{constructor(e,t){super(e),this.set({borderStyle:"",borderWidth:"",borderColor:"",backgroundColor:"",width:"",height:"",alignment:""}),this.options=t;const{borderStyleDropdown:o,borderWidthInput:n,borderColorInput:i,borderRowLabel:l}=this._createBorderFields(),{backgroundRowLabel:r,backgroundInput:a}=this._createBackgroundFields(),{widthInput:c,operatorLabel:d,heightInput:u,dimensionsLabel:h}=this._createDimensionFields(),{alignmentToolbar:b,alignmentLabel:m}=this._createAlignmentFields();this.focusTracker=new s.FocusTracker,this.keystrokes=new s.KeystrokeHandler,this.children=this.createCollection(),this.borderStyleDropdown=o,this.borderWidthInput=n,this.borderColorInput=i,this.backgroundInput=a,this.widthInput=c,this.heightInput=u,this.alignmentToolbar=b;const{saveButtonView:g,cancelButtonView:p}=this._createActionButtons();this.saveButtonView=g,this.cancelButtonView=p,this._focusables=new ue.ViewCollection,this._focusCycler=new ue.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.children.add(new ue.FormHeaderView(e,{label:this.t("Table properties")})),this.children.add(new it(e,{labelView:l,children:[l,o,i,n],class:"ck-table-form__border-row"})),this.children.add(new it(e,{labelView:r,children:[r,a],class:"ck-table-form__background-row"})),this.children.add(new it(e,{children:[new it(e,{labelView:h,children:[h,c,d,u],class:"ck-table-form__dimensions-row"}),new it(e,{labelView:m,children:[m,b],class:"ck-table-properties-form__alignment-row"})]})),this.children.add(new it(e,{children:[this.saveButtonView,this.cancelButtonView],class:"ck-table-form__action-row"})),this.setTemplate({tag:"form",attributes:{class:["ck","ck-form","ck-table-form","ck-table-properties-form"],tabindex:"-1"},children:this.children})}render(){super.render(),(0,ue.submitHandler)({view:this}),[this.borderStyleDropdown,this.borderColorInput,this.borderWidthInput,this.backgroundInput,this.widthInput,this.heightInput,this.alignmentToolbar,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createBorderFields(){const e=this.options.defaultTableProperties,t={style:e.borderStyle,width:e.borderWidth,color:e.borderColor},o=et({colorConfig:this.options.borderColors,columns:5,defaultColorValue:t.color}),n=this.locale,i=this.t,l=new ue.LabelView(n);l.text=i("Border");const r=Ze(this.t),s=new ue.LabeledFieldView(n,ue.createLabeledDropdown);s.set({label:i("Style"),class:"ck-table-form__border-style"}),s.fieldView.buttonView.set({isOn:!1,withText:!0,tooltip:i("Style")}),s.fieldView.buttonView.bind("label").to(this,"borderStyle",(e=>r[e||"none"])),s.fieldView.on("execute",(e=>{this.borderStyle=e.source._borderStyleValue})),s.bind("isEmpty").to(this,"borderStyle",(e=>!e)),(0,ue.addListToDropdown)(s.fieldView,Xe(this,t.style));const a=new ue.LabeledFieldView(n,ue.createLabeledInputText);a.set({label:i("Width"),class:"ck-table-form__border-width"}),a.fieldView.bind("value").to(this,"borderWidth"),a.bind("isEnabled").to(this,"borderStyle",zo),a.fieldView.on("input",(()=>{this.borderWidth=a.fieldView.element.value}));const c=new ue.LabeledFieldView(n,o);return c.set({label:i("Color"),class:"ck-table-form__border-color"}),c.fieldView.bind("value").to(this,"borderColor"),c.bind("isEnabled").to(this,"borderStyle",zo),c.fieldView.on("input",(()=>{this.borderColor=c.fieldView.value})),this.on("change:borderStyle",((e,o,n,i)=>{zo(n)||(this.borderColor="",this.borderWidth=""),zo(i)||(this.borderColor=t.color,this.borderWidth=t.width)})),{borderRowLabel:l,borderStyleDropdown:s,borderColorInput:c,borderWidthInput:a}}_createBackgroundFields(){const e=this.locale,t=this.t,o=new ue.LabelView(e);o.text=t("Background");const n=et({colorConfig:this.options.backgroundColors,columns:5,defaultColorValue:this.options.defaultTableProperties.backgroundColor}),i=new ue.LabeledFieldView(e,n);return i.set({label:t("Color"),class:"ck-table-properties-form__background"}),i.fieldView.bind("value").to(this,"backgroundColor"),i.fieldView.on("input",(()=>{this.backgroundColor=i.fieldView.value})),{backgroundRowLabel:o,backgroundInput:i}}_createDimensionFields(){const e=this.locale,t=this.t,o=new ue.LabelView(e);o.text=t("Dimensions");const n=new ue.LabeledFieldView(e,ue.createLabeledInputText);n.set({label:t("Width"),class:"ck-table-form__dimensions-row__width"}),n.fieldView.bind("value").to(this,"width"),n.fieldView.on("input",(()=>{this.width=n.fieldView.element.value}));const i=new ue.View(e);i.setTemplate({tag:"span",attributes:{class:["ck-table-form__dimension-operator"]},children:[{text:"×"}]});const l=new ue.LabeledFieldView(e,ue.createLabeledInputText);return l.set({label:t("Height"),class:"ck-table-form__dimensions-row__height"}),l.fieldView.bind("value").to(this,"height"),l.fieldView.on("input",(()=>{this.height=l.fieldView.element.value})),{dimensionsLabel:o,widthInput:n,operatorLabel:i,heightInput:l}}_createAlignmentFields(){const e=this.locale,t=this.t,o=new ue.LabelView(e);o.text=t("Alignment");const n=new ue.ToolbarView(e);return n.set({isCompact:!0,ariaLabel:t("Table alignment toolbar")}),Ye({view:this,icons:No,toolbar:n,labels:this._alignmentLabels,propertyName:"alignment",defaultValue:this.options.defaultTableProperties.alignment}),{alignmentLabel:o,alignmentToolbar:n}}_createActionButtons(){const t=this.locale,o=this.t,n=new ue.ButtonView(t),i=new ue.ButtonView(t),l=[this.borderWidthInput,this.borderColorInput,this.backgroundInput,this.widthInput,this.heightInput];return n.set({label:o("Save"),icon:e.icons.check,class:"ck-button-save",type:"submit",withText:!0}),n.bind("isEnabled").toMany(l,"errorText",((...e)=>e.every((e=>!e)))),i.set({label:o("Cancel"),icon:e.icons.cancel,class:"ck-button-cancel",withText:!0}),i.delegate("execute").to(this,"cancel"),{saveButtonView:n,cancelButtonView:i}}get _alignmentLabels(){const e=this.locale,t=this.t,o=t("Align table to the left"),n=t("Center table"),i=t("Align table to the right");return"rtl"===e.uiLanguageDirection?{right:i,center:n,left:o}:{left:o,center:n,right:i}}}function zo(e){return"none"!==e}const Fo={borderStyle:"tableBorderStyle",borderColor:"tableBorderColor",borderWidth:"tableBorderWidth",backgroundColor:"tableBackgroundColor",width:"tableWidth",height:"tableHeight",alignment:"tableAlignment"};class Do extends e.Plugin{static get requires(){return[ue.ContextualBalloon]}static get pluginName(){return"TablePropertiesUI"}constructor(e){super(e),e.config.define("table.tableProperties",{borderColors:Qe,backgroundColors:Qe})}init(){const e=this.editor,t=e.t;this._defaultTableProperties=Xt(e.config.get("table.tableProperties.defaultProperties"),{includeAlignmentProperty:!0}),this._balloon=e.plugins.get(ue.ContextualBalloon),this.view=this._createPropertiesView(),this._undoStepBatch=null,e.ui.componentFactory.add("tableProperties",(o=>{const n=new ue.ButtonView(o);n.set({label:t("Table properties"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M8 2v5h4V2h1v5h5v1h-5v4h.021l-.172.351-1.916.28-.151.027c-.287.063-.54.182-.755.341L8 13v5H7v-5H2v-1h5V8H2V7h5V2h1zm4 6H8v4h4V8z" opacity=".6"/><path d="m15.5 11.5 1.323 2.68 2.957.43-2.14 2.085.505 2.946L15.5 18.25l-2.645 1.39.505-2.945-2.14-2.086 2.957-.43L15.5 11.5zM17 1a2 2 0 0 1 2 2v9.475l-.85-.124-.857-1.736a2.048 2.048 0 0 0-.292-.44L17 3H3v14h7.808l.402.392L10.935 19H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h14z"/></svg>',tooltip:!0}),this.listenTo(n,"execute",(()=>this._showView()));const i=Object.values(Fo).map((t=>e.commands.get(t)));return n.bind("isEnabled").toMany(i,"isEnabled",((...e)=>e.some((e=>e)))),n}))}destroy(){super.destroy(),this.view.destroy()}_createPropertiesView(){const e=this.editor,t=e.config.get("table.tableProperties"),o=(0,ue.normalizeColorOptions)(t.borderColors),n=(0,ue.getLocalizedColorOptions)(e.locale,o),i=(0,ue.normalizeColorOptions)(t.backgroundColors),l=(0,ue.getLocalizedColorOptions)(e.locale,i),r=new Ho(e.locale,{borderColors:n,backgroundColors:l,defaultTableProperties:this._defaultTableProperties}),s=e.t;r.render(),this.listenTo(r,"submit",(()=>{this._hideView()})),this.listenTo(r,"cancel",(()=>{this._undoStepBatch.operations.length&&e.execute("undo",this._undoStepBatch),this._hideView()})),r.keystrokes.set("Esc",((e,t)=>{this._hideView(),t()})),(0,ue.clickOutsideHandler)({emitter:r,activator:()=>this._isViewInBalloon,contextElements:[this._balloon.view.element],callback:()=>this._hideView()});const a=Ke(s),c=$e(s);return r.on("change:borderStyle",this._getPropertyChangeCallback("tableBorderStyle",this._defaultTableProperties.borderStyle)),r.on("change:borderColor",this._getValidatedPropertyChangeCallback({viewField:r.borderColorInput,commandName:"tableBorderColor",errorText:a,validator:qe,defaultValue:this._defaultTableProperties.borderColor})),r.on("change:borderWidth",this._getValidatedPropertyChangeCallback({viewField:r.borderWidthInput,commandName:"tableBorderWidth",errorText:c,validator:Je,defaultValue:this._defaultTableProperties.borderWidth})),r.on("change:backgroundColor",this._getValidatedPropertyChangeCallback({viewField:r.backgroundInput,commandName:"tableBackgroundColor",errorText:a,validator:qe,defaultValue:this._defaultTableProperties.backgroundColor})),r.on("change:width",this._getValidatedPropertyChangeCallback({viewField:r.widthInput,commandName:"tableWidth",errorText:c,validator:Ge,defaultValue:this._defaultTableProperties.width})),r.on("change:height",this._getValidatedPropertyChangeCallback({viewField:r.heightInput,commandName:"tableHeight",errorText:c,validator:Ge,defaultValue:this._defaultTableProperties.height})),r.on("change:alignment",this._getPropertyChangeCallback("tableAlignment",this._defaultTableProperties.alignment)),r}_fillViewFormFromCommandValues(){const e=this.editor.commands,t=e.get("tableBorderStyle");Object.entries(Fo).map((([t,o])=>{const n=this._defaultTableProperties[t]||"";return[t,e.get(o).value||n]})).forEach((([e,o])=>{("borderColor"!==e&&"borderWidth"!==e||"none"!==t.value)&&this.view.set(e,o)}))}_showView(){const e=this.editor;this.listenTo(e.ui,"update",(()=>{this._updateView()})),this._fillViewFormFromCommandValues(),this._balloon.add({view:this.view,position:Kt(e)}),this._undoStepBatch=e.model.createBatch(),this.view.focus()}_hideView(){const e=this.editor;this.stopListening(e.ui,"update"),this.view.saveButtonView.focus(),this._balloon.remove(this.view),this.editor.editing.view.focus()}_updateView(){const e=this.editor;ze(e.editing.view.document.selection)?this._isViewVisible&&Zt(e,"table"):this._hideView()}get _isViewVisible(){return this._balloon.visibleView===this.view}get _isViewInBalloon(){return this._balloon.hasView(this.view)}_getPropertyChangeCallback(e,t){return(o,n,i,l)=>{(l||t!==i)&&this.editor.execute(e,{value:i,batch:this._undoStepBatch})}}_getValidatedPropertyChangeCallback(e){const{commandName:t,viewField:o,validator:n,errorText:i,defaultValue:l}=e,r=Mt((()=>{o.errorText=i}),500);return(e,i,s,a)=>{r.cancel(),(a||l!==s)&&(n(s)?(this.editor.execute(t,{value:s,batch:this._undoStepBatch}),o.errorText=null):r())}}}class Oo extends e.Plugin{static get pluginName(){return"TableProperties"}static get requires(){return[Po,Do]}}function Wo(e){e.document.registerPostFixer((t=>function(e,t){const o=t.document.differ.getChanges();let n=!1;for(const t of o){if("insert"!=t.type)continue;if(t.position.parent.is("element","table")||"table"==t.name){const o="table"==t.name?t.position.nodeAfter:t.position.parent,i=Array.from(o.getChildren()).filter((e=>e.is("element","caption"))),l=i.shift();if(!l)continue;for(const t of i)e.move(e.createRangeIn(t),l,"end"),e.remove(t);l.nextSibling&&(e.move(e.createRangeOn(l),o,"end"),n=!0),n=!!i.length||n}}return n}(t,e)))}function Mo(e){return!!e&&e.is("element","table")}function jo(e){for(const t of e.getChildren())if(t.is("element","caption"))return t;return null}function Uo(e){const t=e.parent;return"figcaption"==e.name&&t&&"figure"==t.name&&t.hasClass("table")||"caption"==e.name&&t&&"table"==t.name?{name:!0}:null}function Zo(e){const t=e.getSelectedElement();return t&&t.is("element","table")?t:e.getFirstPosition().findAncestor("table")}class Ko extends e.Command{refresh(){const e=Zo(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled?this.value=!!jo(e):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change((e=>{this.value?this._hideTableCaption(e):this._showTableCaption(e,t)}))}_showTableCaption(e,t){const o=Zo(this.editor.model.document.selection),n=this.editor.plugins.get("TableCaptionEditing")._getSavedCaption(o)||e.createElement("caption");e.append(n,o),t&&e.setSelection(n,"in")}_hideTableCaption(e){const t=Zo(this.editor.model.document.selection),o=this.editor.plugins.get("TableCaptionEditing"),n=jo(t);o._saveCaption(t,n),e.setSelection(e.createRangeIn(t.getChild(0).getChild(0))),e.remove(n)}}class $o extends e.Plugin{static get pluginName(){return"TableCaptionEditing"}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,o=e.model.schema,n=e.editing.view,i=e.t;o.isRegistered("caption")?o.extend("caption",{allowIn:"table"}):o.register("caption",{allowIn:"table",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleTableCaption",new Ko(this.editor)),e.conversion.for("upcast").elementToElement({view:Uo,model:"caption"}),e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(e,{writer:t})=>Mo(e.parent)?t.createContainerElement("figcaption"):null}),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:o})=>{if(!Mo(e.parent))return null;const l=o.createEditableElement("figcaption");return o.setCustomProperty("tableCaption",!0,l),(0,Ve.enablePlaceholder)({view:n,element:l,text:i("Enter table caption"),keepOnFocus:!0}),(0,t.toWidgetEditable)(l,o)}}),Wo(e.model)}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?Ve.Element.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}}class qo extends e.Plugin{static get pluginName(){return"TableCaptionUI"}init(){const t=this.editor,o=t.editing.view,n=t.t;t.ui.componentFactory.add("toggleTableCaption",(i=>{const l=t.commands.get("toggleTableCaption"),r=new ue.ButtonView(i);return r.set({icon:e.icons.caption,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(l,"value","isEnabled"),r.bind("label").to(l,"value",(e=>n(e?"Toggle caption off":"Toggle caption on"))),this.listenTo(r,"execute",(()=>{if(t.execute("toggleTableCaption",{focusCaptionOnShow:!0}),l.value){const e=function(e){const t=Zo(e);return t?jo(t):null}(t.model.document.selection),n=t.editing.mapper.toViewElement(e);if(!n)return;o.scrollToTheSelection(),o.change((e=>{e.addClass("table__caption_highlighted",n)}))}})),r}))}}var Go=o(665),Jo={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};re()(Go.Z,Jo);Go.Z.locals;class Xo extends e.Plugin{static get pluginName(){return"TableCaption"}static get requires(){return[$o,qo]}}})(),(window.CKEditor5=window.CKEditor5||{}).table=n})();
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/table/translations/cs.js b/web/core/assets/vendor/ckeditor5/table/translations/cs.js
index 3c136d8043..c39453e5b2 100644
--- a/web/core/assets/vendor/ckeditor5/table/translations/cs.js
+++ b/web/core/assets/vendor/ckeditor5/table/translations/cs.js
@@ -1 +1 @@
-!function(t){const e=t.cs=t.cs||{};e.dictionary=Object.assign(e.dictionary||{},{"Align cell text to the bottom":"Zarovnat text buňky dolů","Align cell text to the center":"Zarovnat text buňky na střed","Align cell text to the left":"Zarovnat text buňky doleva","Align cell text to the middle":"Zarovnat text buňky na střed","Align cell text to the right":"Zarovnat text buňky doprava","Align cell text to the top":"Zarovnat text buňky nahoru","Align table to the left":"Zarovnat tabulku doleva","Align table to the right":"Zarovnat tabulku doprava",Alignment:"Zarovnání",Background:"Pozadí",Border:"Okraj","Cell properties":"Vlastnosti buňky","Center table":"Centrovat tabulku",Color:"Barva","Color picker":"Vybrat barvu",Column:"Sloupec",Dashed:"Čárkovaná","Delete column":"Smazat sloupec","Delete row":"Smazat řádek",Dimensions:"Rozměry",Dotted:"Tečkovaná",Double:"Dvojitá","Enter table caption":"",Groove:"Drážkovaná","Header column":"Sloupec záhlaví","Header row":"Řádek záhlaví",Height:"Výška","Horizontal text alignment toolbar":"Horizontální zarovnání textu v panelu","Insert column left":"Vložit sloupec vlevo","Insert column right":"Vložit sloupec vpravo","Insert row above":"Vložit řádek před","Insert row below":"Vložit řádek pod","Insert table":"Vložit tabulku",Inset:"Vložená zevnitř","Justify cell text":"Zarovnat text buňky z obou stran","Merge cell down":"Sloučit s buňkou pod","Merge cell left":"Sloučit s buňkou vlevo","Merge cell right":"Sloučit s buňkou vpravo","Merge cell up":"Sloučit s buňkou nad","Merge cells":"Sloučit buňky",None:"Žádná",Outset:"Vložená zvenku",Padding:"Vnitřní okraj",Ridge:"Rámovaná",Row:"Řádek","Select column":"Vybrat sloupec","Select row":"Vybrat řádek",Solid:"Plná","Split cell horizontally":"Rozdělit buňky horizontálně","Split cell vertically":"Rozdělit buňky vertikálně",Style:"Styl","Table alignment toolbar":"Panel zarovnání tabulky","Table cell text alignment":"Zarovnání textu buňky tabulky","Table properties":"Vlastnosti tabulky","Table toolbar":"Panel nástrojů tabulky",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'Barva má nesprávný formát. Zkuste "#FF0000", "rgb(255,0,0)" nebo "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'Hodnota je nesprávná. Zkuste "10px", "2em" nebo jednoduše "2".',"Toggle caption off":"","Toggle caption on":"","Vertical text alignment toolbar":"Vertikální zarovnání textu v panelu",Width:"Šířka"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(t){const e=t.cs=t.cs||{};e.dictionary=Object.assign(e.dictionary||{},{"Align cell text to the bottom":"Zarovnat text buňky dolů","Align cell text to the center":"Zarovnat text buňky na střed","Align cell text to the left":"Zarovnat text buňky doleva","Align cell text to the middle":"Zarovnat text buňky na střed","Align cell text to the right":"Zarovnat text buňky doprava","Align cell text to the top":"Zarovnat text buňky nahoru","Align table to the left":"Zarovnat tabulku doleva","Align table to the right":"Zarovnat tabulku doprava",Alignment:"Zarovnání",Background:"Pozadí",Border:"Okraj","Cell properties":"Vlastnosti buňky","Center table":"Centrovat tabulku",Color:"Barva","Color picker":"Vybrat barvu",Column:"Sloupec",Dashed:"Čárkovaná","Delete column":"Smazat sloupec","Delete row":"Smazat řádek",Dimensions:"Rozměry",Dotted:"Tečkovaná",Double:"Dvojitá","Enter table caption":"Zadejte titulek tabulky",Groove:"Drážkovaná","Header column":"Sloupec záhlaví","Header row":"Řádek záhlaví",Height:"Výška","Horizontal text alignment toolbar":"Horizontální zarovnání textu v panelu","Insert column left":"Vložit sloupec vlevo","Insert column right":"Vložit sloupec vpravo","Insert row above":"Vložit řádek před","Insert row below":"Vložit řádek pod","Insert table":"Vložit tabulku",Inset:"Vložená zevnitř","Justify cell text":"Zarovnat text buňky z obou stran","Merge cell down":"Sloučit s buňkou pod","Merge cell left":"Sloučit s buňkou vlevo","Merge cell right":"Sloučit s buňkou vpravo","Merge cell up":"Sloučit s buňkou nad","Merge cells":"Sloučit buňky",None:"Žádná",Outset:"Vložená zvenku",Padding:"Vnitřní okraj",Ridge:"Rámovaná",Row:"Řádek","Select column":"Vybrat sloupec","Select row":"Vybrat řádek",Solid:"Plná","Split cell horizontally":"Rozdělit buňky horizontálně","Split cell vertically":"Rozdělit buňky vertikálně",Style:"Styl","Table alignment toolbar":"Panel zarovnání tabulky","Table cell text alignment":"Zarovnání textu buňky tabulky","Table properties":"Vlastnosti tabulky","Table toolbar":"Panel nástrojů tabulky",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'Barva má nesprávný formát. Zkuste "#FF0000", "rgb(255,0,0)" nebo "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'Hodnota je nesprávná. Zkuste "10px", "2em" nebo jednoduše "2".',"Toggle caption off":"Vypnout titulek","Toggle caption on":"Zapnout titulek","Vertical text alignment toolbar":"Vertikální zarovnání textu v panelu",Width:"Šířka"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/table/translations/el.js b/web/core/assets/vendor/ckeditor5/table/translations/el.js
new file mode 100644
index 0000000000..0f4bc8b4dc
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/table/translations/el.js
@@ -0,0 +1 @@
+!function(e){const t=e.el=e.el||{};t.dictionary=Object.assign(t.dictionary||{},{"Align cell text to the bottom":"Στοίχιση κειμένου κελιού κάτω","Align cell text to the center":"Στοίχιση κειμένου κελιού στο κέντρο","Align cell text to the left":"Στοίχιση κειμένου κελιού στα αριστερά","Align cell text to the middle":"Στοίχιση κειμένου κελιού στο μέσο","Align cell text to the right":"Στοίχιση κειμένου κελιού στα δεξιά","Align cell text to the top":"Στοίχιση κειμένου κελιού επάνω","Align table to the left":"Στοίχιση πίνακα στα αριστερά","Align table to the right":"Στοίχιση πίνακα στα δεξιά",Alignment:"Στοίχιση",Background:"Υπόβαθρο",Border:"Περίγραμμα","Cell properties":"Ιδιότητες κελιού","Center table":"Στοίχιση πίνακα στο κέντρο",Color:"Χρώμα","Color picker":"Επιλογέας χρώματος",Column:"Στήλη",Dashed:"Με παύλες","Delete column":"Διαγραφή στήλης","Delete row":"Διαγραφή γραμμής",Dimensions:"Διαστάσεις",Dotted:"Διάστικτο",Double:"Διπλό","Enter table caption":"Εισαγωγή λεζάντας πίνακα",Groove:"Βαθουλωτό","Header column":"Στήλη κεφαλίδας","Header row":"Γραμμή κεφαλίδας",Height:"Ύψος","Horizontal text alignment toolbar":"Γραμμή εργαλείων οριζόντιας στοίχισης κειμένου","Insert column left":"Εισαγωγή στήλης αριστερά","Insert column right":"Εισαγωγή στήλης δεξιά","Insert row above":"Εισαγωγή γραμμής πάνω","Insert row below":"Εισαγωγή γραμμής κάτω","Insert table":"Εισαγωγή πίνακα",Inset:"Κείμενο με βάθος","Justify cell text":"Πλήρης στοίχιση κειμένου κελιού","Merge cell down":"Συγχώνευση κελιού κάτω","Merge cell left":"Συγχώνευση κελιού αριστερά","Merge cell right":"Συγχώνευση κελιού δεξιά","Merge cell up":"Συγχώνευση κελιού πάνω","Merge cells":"Συγχώνευση κελιών",None:"Χωρίς περίγραμμα",Outset:"Κείμενο με ύψος",Padding:"Απόσταση κειμένου από το περίγραμμα",Ridge:"Ραχωτό",Row:"Γραμμή","Select column":"Επιλογή στήλης","Select row":"Επιλογή γραμμής",Solid:"Συμπαγές","Split cell horizontally":"Διαχωρισμός κελιού οριζόντια","Split cell vertically":"Διαχωρισμός κελιού κάθετα",Style:"Στυλ","Table alignment toolbar":"Γραμμή εργαλείων στοίχισης πίνακα","Table cell text alignment":"Στοίχιση κειμένου κελιού πίνακα","Table properties":"Ιδιότητες πίνακα","Table toolbar":"Γραμμή εργαλείων πίνακα",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':"Το χρώμα δεν είναι έγκυρο. Δοκιμάστε «#FF0000» ή «rgb(255,0,0)» ή «red».",'The value is invalid. Try "10px" or "2em" or simply "2".':"Η τιμή δεν είναι έγκυρη. Δοκιμάστε «10px» ή «2em» ή απλά «2».","Toggle caption off":"Εναλλαγή απόκρυψης λεζάντας","Toggle caption on":"Εναλλαγής εμφάνισης λεζάντας","Vertical text alignment toolbar":"Γραμμή εργαλείων κάθετης στοίχισης κειμένου",Width:"Πλάτος"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/table/translations/en-au.js b/web/core/assets/vendor/ckeditor5/table/translations/en-au.js
index 2e2d1aab4e..b88350bae9 100644
--- a/web/core/assets/vendor/ckeditor5/table/translations/en-au.js
+++ b/web/core/assets/vendor/ckeditor5/table/translations/en-au.js
@@ -1 +1 @@
-!function(e){const t=e["en-au"]=e["en-au"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Align cell text to the bottom":"Align cell text to the bottom","Align cell text to the center":"Align cell text to the center","Align cell text to the left":"Align cell text to the left","Align cell text to the middle":"Align cell text to the middle","Align cell text to the right":"Align cell text to the right","Align cell text to the top":"Align cell text to the top","Align table to the left":"Align table to the left","Align table to the right":"Align table to the right",Alignment:"Alignment",Background:"Background",Border:"Border","Cell properties":"Cell properties","Center table":"Centre table",Color:"Colour","Color picker":"Colour picker",Column:"Column",Dashed:"Dashed","Delete column":"Delete column","Delete row":"Delete row",Dimensions:"Dimensions",Dotted:"Dotted",Double:"Double","Enter table caption":"",Groove:"Groove","Header column":"Header column","Header row":"Header row",Height:"Height","Horizontal text alignment toolbar":"Horizontal text alignment toolbar","Insert column left":"Insert column left","Insert column right":"Insert column right","Insert row above":"Insert row above","Insert row below":"Insert row below","Insert table":"Insert table",Inset:"Inset","Justify cell text":"Justify cell text","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Merge cell right":"Merge cell right","Merge cell up":"Merge cell up","Merge cells":"Merge cells",None:"None",Outset:"Outset",Padding:"Padding",Ridge:"Ridge",Row:"Row","Select column":"Select column","Select row":"Select row",Solid:"Solid","Split cell horizontally":"Split cell horizontally","Split cell vertically":"Split cell vertically",Style:"Style","Table alignment toolbar":"Table alignment toolbar","Table cell text alignment":"Table cell text alignment","Table properties":"Table properties","Table toolbar":"Table toolbar",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'The colour is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'The value is invalid. Try "10px" or "2em" or simply "2".',"Toggle caption off":"","Toggle caption on":"","Vertical text alignment toolbar":"Vertical text alignment toolbar",Width:"Width"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e["en-au"]=e["en-au"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Align cell text to the bottom":"Align cell text to the bottom","Align cell text to the center":"Align cell text to the center","Align cell text to the left":"Align cell text to the left","Align cell text to the middle":"Align cell text to the middle","Align cell text to the right":"Align cell text to the right","Align cell text to the top":"Align cell text to the top","Align table to the left":"Align table to the left","Align table to the right":"Align table to the right",Alignment:"Alignment",Background:"Background",Border:"Border","Cell properties":"Cell properties","Center table":"Centre table",Color:"Colour","Color picker":"Colour picker",Column:"Column",Dashed:"Dashed","Delete column":"Delete column","Delete row":"Delete row",Dimensions:"Dimensions",Dotted:"Dotted",Double:"Double","Enter table caption":"Enter table caption",Groove:"Groove","Header column":"Header column","Header row":"Header row",Height:"Height","Horizontal text alignment toolbar":"Horizontal text alignment toolbar","Insert column left":"Insert column left","Insert column right":"Insert column right","Insert row above":"Insert row above","Insert row below":"Insert row below","Insert table":"Insert table",Inset:"Inset","Justify cell text":"Justify cell text","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Merge cell right":"Merge cell right","Merge cell up":"Merge cell up","Merge cells":"Merge cells",None:"None",Outset:"Outset",Padding:"Padding",Ridge:"Ridge",Row:"Row","Select column":"Select column","Select row":"Select row",Solid:"Solid","Split cell horizontally":"Split cell horizontally","Split cell vertically":"Split cell vertically",Style:"Style","Table alignment toolbar":"Table alignment toolbar","Table cell text alignment":"Table cell text alignment","Table properties":"Table properties","Table toolbar":"Table toolbar",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'The colour is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'The value is invalid. Try "10px" or "2em" or simply "2".',"Toggle caption off":"Toggle caption off","Toggle caption on":"Toggle caption on","Vertical text alignment toolbar":"Vertical text alignment toolbar",Width:"Width"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/table/translations/es.js b/web/core/assets/vendor/ckeditor5/table/translations/es.js
index 4cc5723a38..54e6df0875 100644
--- a/web/core/assets/vendor/ckeditor5/table/translations/es.js
+++ b/web/core/assets/vendor/ckeditor5/table/translations/es.js
@@ -1 +1 @@
-!function(e){const l=e.es=e.es||{};l.dictionary=Object.assign(l.dictionary||{},{"Align cell text to the bottom":"","Align cell text to the center":"","Align cell text to the left":"","Align cell text to the middle":"","Align cell text to the right":"","Align cell text to the top":"","Align table to the left":"","Align table to the right":"",Alignment:"",Background:"",Border:"","Cell properties":"","Center table":"",Color:"","Color picker":"",Column:"Columna",Dashed:"","Delete column":"Eliminar columna","Delete row":"Eliminar fila",Dimensions:"",Dotted:"",Double:"","Enter table caption":"",Groove:"","Header column":"Columna de encabezado","Header row":"Fila de encabezado",Height:"","Horizontal text alignment toolbar":"","Insert column left":"Insertar columna izquierda","Insert column right":"Insertar columna derecha","Insert row above":"Insertar fila encima","Insert row below":"Insertar fila debajo","Insert table":"Insertar tabla",Inset:"","Justify cell text":"","Merge cell down":"Combinar celda inferior","Merge cell left":"Combinar celda izquierda","Merge cell right":"Combinar celda derecha","Merge cell up":"Combinar celda superior","Merge cells":"Combinar celdas",None:"",Outset:"",Padding:"",Ridge:"",Row:"Fila","Select column":"","Select row":"",Solid:"","Split cell horizontally":"Dividir celdas horizontalmente","Split cell vertically":"Dividir celdas verticalmente",Style:"","Table alignment toolbar":"","Table cell text alignment":"","Table properties":"","Table toolbar":"Barra de herramientas de tabla",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':"",'The value is invalid. Try "10px" or "2em" or simply "2".':"","Toggle caption off":"","Toggle caption on":"","Vertical text alignment toolbar":"",Width:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const l=e.es=e.es||{};l.dictionary=Object.assign(l.dictionary||{},{"Align cell text to the bottom":"Alinear texto de celda hacia abajo","Align cell text to the center":"Centrar texto de celda","Align cell text to the left":"Alinear texto de celda a la izquierda","Align cell text to the middle":"Alinear texto de celda al medio","Align cell text to the right":"Alinear texto de celda a la derecha","Align cell text to the top":"Alinear texto de celda hacia arriba","Align table to the left":"Alinear tabla a la izquierda","Align table to the right":"Alinear tabla a la derecha",Alignment:"Alineación",Background:"Fondo",Border:"Borde","Cell properties":"Propiedades de celda","Center table":"Centrar tabla",Color:"Color","Color picker":"Selector de color",Column:"Columna",Dashed:"Línea discontinua","Delete column":"Eliminar columna","Delete row":"Eliminar fila",Dimensions:"Dimensiones",Dotted:"Línea de puntos",Double:"Doble línea","Enter table caption":"Ingresar título de tabla",Groove:"Bisel","Header column":"Columna de encabezado","Header row":"Fila de encabezado",Height:"Altura","Horizontal text alignment toolbar":"Alineación horizontal de texto","Insert column left":"Insertar columna izquierda","Insert column right":"Insertar columna derecha","Insert row above":"Insertar fila encima","Insert row below":"Insertar fila debajo","Insert table":"Insertar tabla",Inset:"Incrustación","Justify cell text":"Justificar texto de celda","Merge cell down":"Combinar celda inferior","Merge cell left":"Combinar celda izquierda","Merge cell right":"Combinar celda derecha","Merge cell up":"Combinar celda superior","Merge cells":"Combinar celdas",None:"Ninguno",Outset:"Relieve",Padding:"Márgenes",Ridge:"Marco",Row:"Fila","Select column":"Seleccionar columna","Select row":"Seleccionar fila",Solid:"Sólido","Split cell horizontally":"Dividir celdas horizontalmente","Split cell vertically":"Dividir celdas verticalmente",Style:"Estilo","Table alignment toolbar":"Alineación de tabla","Table cell text alignment":"Alineación texto de celda","Table properties":"Propiedades de tabla","Table toolbar":"Barra de herramientas de tabla",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'El color es inválido. Intente con "#FF0000", "rgb(255,0,0)" o "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'El valor es inválido. Intente con "10px", "2em" o simplemente "2".',"Toggle caption off":"Desactivar título","Toggle caption on":"Activar título","Vertical text alignment toolbar":"Alineación vertical de texto",Width:"Ancho"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/table/translations/hr.js b/web/core/assets/vendor/ckeditor5/table/translations/hr.js
index aa4d4f1a93..ba914a8398 100644
--- a/web/core/assets/vendor/ckeditor5/table/translations/hr.js
+++ b/web/core/assets/vendor/ckeditor5/table/translations/hr.js
@@ -1 +1 @@
-!function(e){const a=e.hr=e.hr||{};a.dictionary=Object.assign(a.dictionary||{},{"Align cell text to the bottom":"Tekst ćelije poravnaj prema dolje","Align cell text to the center":"Tekst ćelije poravnaj u sredinu","Align cell text to the left":"Tekst ćelije poravnaj lijevo","Align cell text to the middle":"Tekst ćelije poravnaj u sredinu","Align cell text to the right":"Tekst ćelije poravnaj udesno","Align cell text to the top":"Tekst ćelije poravnaj prema gore","Align table to the left":"Poravnaj tablicu ulijevo","Align table to the right":"Poravnaj tablicu udesno",Alignment:"Poravnanje",Background:"Pozadina",Border:"Granica","Cell properties":"Svojstva ćelije","Center table":"Centriraj tablicu",Color:"Boja","Color picker":"Birač boje",Column:"Kolona",Dashed:"Crtičasta","Delete column":"Obriši kolonu","Delete row":"Obriši red",Dimensions:"Dimenzije",Dotted:"Točkasta",Double:"Dvostruka","Enter table caption":"",Groove:"","Header column":"Kolona zaglavlja","Header row":"Red zaglavlja",Height:"Visina","Horizontal text alignment toolbar":"Alatna traka za horizontalno poravnanje teksta","Insert column left":"Umetni stupac lijevo","Insert column right":"Umetni stupac desno","Insert row above":"Ubaci red iznad","Insert row below":"Ubaci red ispod","Insert table":"Ubaci tablicu",Inset:"","Justify cell text":"Razvuci tekst ćelije","Merge cell down":"Spoji ćelije prema dolje","Merge cell left":"Spoji ćelije prema lijevo","Merge cell right":"Spoji ćelije prema desno","Merge cell up":"Spoji ćelije prema gore","Merge cells":"Spoji ćelije",None:"Nikakva",Outset:"",Padding:"Podstava",Ridge:"Greben",Row:"Red","Select column":"Odaberi stupac","Select row":"Odaberi redak",Solid:"Neprekidna","Split cell horizontally":"Razdvoji ćeliju vodoravno","Split cell vertically":"Razdvoji ćeliju okomito",Style:"Stil","Table alignment toolbar":"Alatna traka za poravnanje tablice","Table cell text alignment":"Poravnanje teksta ćelije tablice","Table properties":"Svojstva tablice","Table toolbar":"Traka za tablice",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'Neispravna boja. Pokušajte "#FF0000" ili "rgb(255,0,0)" ili "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'Neispravna vrijednost. Pokušajte "10px" ili "2em" ili jednostavno "2".',"Toggle caption off":"","Toggle caption on":"","Vertical text alignment toolbar":"Alatna traka za vertikalno poravnanje teksta",Width:"Širina"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const a=e.hr=e.hr||{};a.dictionary=Object.assign(a.dictionary||{},{"Align cell text to the bottom":"Tekst ćelije poravnaj prema dolje","Align cell text to the center":"Tekst ćelije poravnaj u sredinu","Align cell text to the left":"Tekst ćelije poravnaj lijevo","Align cell text to the middle":"Tekst ćelije poravnaj u sredinu","Align cell text to the right":"Tekst ćelije poravnaj udesno","Align cell text to the top":"Tekst ćelije poravnaj prema gore","Align table to the left":"Poravnaj tablicu ulijevo","Align table to the right":"Poravnaj tablicu udesno",Alignment:"Poravnanje",Background:"Pozadina",Border:"Granica","Cell properties":"Svojstva ćelije","Center table":"Centriraj tablicu",Color:"Boja","Color picker":"Birač boje",Column:"Kolona",Dashed:"Crtičasta","Delete column":"Obriši kolonu","Delete row":"Obriši red",Dimensions:"Dimenzije",Dotted:"Točkasta",Double:"Dvostruka","Enter table caption":"Unesite natpis",Groove:"","Header column":"Kolona zaglavlja","Header row":"Red zaglavlja",Height:"Visina","Horizontal text alignment toolbar":"Alatna traka za horizontalno poravnanje teksta","Insert column left":"Umetni stupac lijevo","Insert column right":"Umetni stupac desno","Insert row above":"Ubaci red iznad","Insert row below":"Ubaci red ispod","Insert table":"Ubaci tablicu",Inset:"","Justify cell text":"Razvuci tekst ćelije","Merge cell down":"Spoji ćelije prema dolje","Merge cell left":"Spoji ćelije prema lijevo","Merge cell right":"Spoji ćelije prema desno","Merge cell up":"Spoji ćelije prema gore","Merge cells":"Spoji ćelije",None:"Nikakva",Outset:"",Padding:"Podstava",Ridge:"Greben",Row:"Red","Select column":"Odaberi stupac","Select row":"Odaberi redak",Solid:"Neprekidna","Split cell horizontally":"Razdvoji ćeliju vodoravno","Split cell vertically":"Razdvoji ćeliju okomito",Style:"Stil","Table alignment toolbar":"Alatna traka za poravnanje tablice","Table cell text alignment":"Poravnanje teksta ćelije tablice","Table properties":"Svojstva tablice","Table toolbar":"Traka za tablice",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'Neispravna boja. Pokušajte "#FF0000" ili "rgb(255,0,0)" ili "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'Neispravna vrijednost. Pokušajte "10px" ili "2em" ili jednostavno "2".',"Toggle caption off":"Isključite natpis","Toggle caption on":"Uključite natpis","Vertical text alignment toolbar":"Alatna traka za vertikalno poravnanje teksta",Width:"Širina"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/table/translations/id.js b/web/core/assets/vendor/ckeditor5/table/translations/id.js
index f7a7b14917..f2b27c7720 100644
--- a/web/core/assets/vendor/ckeditor5/table/translations/id.js
+++ b/web/core/assets/vendor/ckeditor5/table/translations/id.js
@@ -1 +1 @@
-!function(e){const l=e.id=e.id||{};l.dictionary=Object.assign(l.dictionary||{},{"Align cell text to the bottom":"","Align cell text to the center":"","Align cell text to the left":"","Align cell text to the middle":"","Align cell text to the right":"","Align cell text to the top":"","Align table to the left":"","Align table to the right":"",Alignment:"",Background:"Latar belakang",Border:"Garis batas","Cell properties":"Properti sel","Center table":"",Color:"Warna","Color picker":"",Column:"Kolom",Dashed:"","Delete column":"Hapus kolom","Delete row":"Hapus baris",Dimensions:"Dimensi",Dotted:"",Double:"","Enter table caption":"",Groove:"","Header column":"Kolom tajuk","Header row":"Baris tajuk",Height:"Tinggi","Horizontal text alignment toolbar":"","Insert column left":"Sisipkan kolom ke kiri","Insert column right":"Sisipkan kolom ke kanan","Insert row above":"Sisipkan baris ke atas","Insert row below":"Sisipkan baris ke bawah","Insert table":"Sisipkan tabel",Inset:"","Justify cell text":"","Merge cell down":"Gabungkan sel ke bawah","Merge cell left":"Gabungkan sel ke kiri","Merge cell right":"Gabungkan sel ke kanan","Merge cell up":"Gabungkan sel ke atas","Merge cells":"Gabungkan sel",None:"",Outset:"",Padding:"",Ridge:"",Row:"Baris","Select column":"Seleksi kolom","Select row":"Seleksi baris",Solid:"","Split cell horizontally":"Bagikan sel secara horizontal","Split cell vertically":"Bagikan sel secara vertikal",Style:"Gaya","Table alignment toolbar":"","Table cell text alignment":"","Table properties":"Properti tabel","Table toolbar":"Alat tabel",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':"",'The value is invalid. Try "10px" or "2em" or simply "2".':"","Toggle caption off":"","Toggle caption on":"","Vertical text alignment toolbar":"",Width:"Lebar"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const a=e.id=e.id||{};a.dictionary=Object.assign(a.dictionary||{},{"Align cell text to the bottom":"","Align cell text to the center":"","Align cell text to the left":"","Align cell text to the middle":"","Align cell text to the right":"","Align cell text to the top":"","Align table to the left":"","Align table to the right":"",Alignment:"",Background:"Latar belakang",Border:"Garis batas","Cell properties":"Properti sel","Center table":"",Color:"Warna","Color picker":"",Column:"Kolom",Dashed:"Garis putus-putus","Delete column":"Hapus kolom","Delete row":"Hapus baris",Dimensions:"Dimensi",Dotted:"Titik titik",Double:"Ganda","Enter table caption":"Masukkan keterangan tabel",Groove:"","Header column":"Kolom tajuk","Header row":"Baris tajuk",Height:"Tinggi","Horizontal text alignment toolbar":"","Insert column left":"Sisipkan kolom ke kiri","Insert column right":"Sisipkan kolom ke kanan","Insert row above":"Sisipkan baris ke atas","Insert row below":"Sisipkan baris ke bawah","Insert table":"Sisipkan tabel",Inset:"","Justify cell text":"","Merge cell down":"Gabungkan sel ke bawah","Merge cell left":"Gabungkan sel ke kiri","Merge cell right":"Gabungkan sel ke kanan","Merge cell up":"Gabungkan sel ke atas","Merge cells":"Gabungkan sel",None:"Tidak ada",Outset:"",Padding:"",Ridge:"",Row:"Baris","Select column":"Seleksi kolom","Select row":"Seleksi baris",Solid:"Garis utuh","Split cell horizontally":"Bagikan sel secara horizontal","Split cell vertically":"Bagikan sel secara vertikal",Style:"Gaya","Table alignment toolbar":"","Table cell text alignment":"","Table properties":"Properti tabel","Table toolbar":"Alat tabel",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'Warna tidak valid. Coba "#FF0000" atau "rgb(255,0,0)" atau "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'Nilai tidak valid. Coba "10px" atau "2em" atau hanya "2".',"Toggle caption off":"Sembunyikan keterangan","Toggle caption on":"Tampilkan keterangan","Vertical text alignment toolbar":"",Width:"Lebar"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/table/translations/pt-br.js b/web/core/assets/vendor/ckeditor5/table/translations/pt-br.js
index c4357fde25..97dab0eadd 100644
--- a/web/core/assets/vendor/ckeditor5/table/translations/pt-br.js
+++ b/web/core/assets/vendor/ckeditor5/table/translations/pt-br.js
@@ -1 +1 @@
-!function(e){const a=e["pt-br"]=e["pt-br"]||{};a.dictionary=Object.assign(a.dictionary||{},{"Align cell text to the bottom":"Alinhar texto da célula para baixo","Align cell text to the center":"Alinhar texto da célula centralizado","Align cell text to the left":"Alinhar texto da célula para a esquerda","Align cell text to the middle":"Alinhar texto da célula para o meio","Align cell text to the right":"Alinhar texto da célula para a direita","Align cell text to the top":"Alinhar texto da célula para o topo","Align table to the left":"Alinhar tabela para esquerda","Align table to the right":"Alinhar tabela para direita",Alignment:"Alinhamento",Background:"Cor de fundo",Border:"Borda","Cell properties":"Propriedades da célula","Center table":"Centralizar tabela",Color:"Cor","Color picker":"Seletor de cor",Column:"Coluna",Dashed:"Tracejada","Delete column":"Excluir coluna","Delete row":"Excluir linha",Dimensions:"Dimensões",Dotted:"Pontilhada",Double:"Dupla","Enter table caption":"",Groove:"Ranhura","Header column":"Coluna de cabeçalho","Header row":"Linha de cabeçalho",Height:"Altura","Horizontal text alignment toolbar":"Ferramentas de alinhamento horizontal do texto","Insert column left":"Inserir coluna à esquerda","Insert column right":"Inserir coluna à direita","Insert row above":"Inserir linha acima","Insert row below":"Inserir linha abaixo","Insert table":"Inserir tabela",Inset:"Baixo relevo","Justify cell text":"Justificar texto da célula","Merge cell down":"Mesclar abaixo","Merge cell left":"Mesclar à esquerda","Merge cell right":"Mesclar à direita","Merge cell up":"Mesclar acima","Merge cells":"Mesclar células",None:"Sem borda",Outset:"Alto relevo",Padding:"Margem interna",Ridge:"Crista",Row:"Linha","Select column":"Selecionar coluna","Select row":"Selecionar linha",Solid:"Sólida","Split cell horizontally":"Dividir horizontalmente","Split cell vertically":"Dividir verticalmente",Style:"Estilo","Table alignment toolbar":"Ferramentas de alinhamento da tabela","Table cell text alignment":"Alinhamento do texto na célula","Table properties":"Propriedades da tabela","Table toolbar":"Ferramentas de Tabela",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'Cor inválida. Tente "#FF0000" ou "rgb(255,0,0)" ou "red"','The value is invalid. Try "10px" or "2em" or simply "2".':'Valor inválido. Tente "10px" ou "2em" ou apenas "2"',"Toggle caption off":"","Toggle caption on":"","Vertical text alignment toolbar":"Ferramentas de alinhamento vertical do texto",Width:"Largura"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const a=e["pt-br"]=e["pt-br"]||{};a.dictionary=Object.assign(a.dictionary||{},{"Align cell text to the bottom":"Alinhar texto da célula para baixo","Align cell text to the center":"Alinhar texto da célula centralizado","Align cell text to the left":"Alinhar texto da célula para a esquerda","Align cell text to the middle":"Alinhar texto da célula para o meio","Align cell text to the right":"Alinhar texto da célula para a direita","Align cell text to the top":"Alinhar texto da célula para o topo","Align table to the left":"Alinhar tabela para esquerda","Align table to the right":"Alinhar tabela para direita",Alignment:"Alinhamento",Background:"Cor de fundo",Border:"Borda","Cell properties":"Propriedades da célula","Center table":"Centralizar tabela",Color:"Cor","Color picker":"Seletor de cor",Column:"Coluna",Dashed:"Tracejada","Delete column":"Excluir coluna","Delete row":"Excluir linha",Dimensions:"Dimensões",Dotted:"Pontilhada",Double:"Dupla","Enter table caption":"Inserir legenda da tabela",Groove:"Ranhura","Header column":"Coluna de cabeçalho","Header row":"Linha de cabeçalho",Height:"Altura","Horizontal text alignment toolbar":"Ferramentas de alinhamento horizontal do texto","Insert column left":"Inserir coluna à esquerda","Insert column right":"Inserir coluna à direita","Insert row above":"Inserir linha acima","Insert row below":"Inserir linha abaixo","Insert table":"Inserir tabela",Inset:"Baixo relevo","Justify cell text":"Justificar texto da célula","Merge cell down":"Mesclar abaixo","Merge cell left":"Mesclar à esquerda","Merge cell right":"Mesclar à direita","Merge cell up":"Mesclar acima","Merge cells":"Mesclar células",None:"Sem borda",Outset:"Alto relevo",Padding:"Margem interna",Ridge:"Crista",Row:"Linha","Select column":"Selecionar coluna","Select row":"Selecionar linha",Solid:"Sólida","Split cell horizontally":"Dividir horizontalmente","Split cell vertically":"Dividir verticalmente",Style:"Estilo","Table alignment toolbar":"Ferramentas de alinhamento da tabela","Table cell text alignment":"Alinhamento do texto na célula","Table properties":"Propriedades da tabela","Table toolbar":"Ferramentas de Tabela",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'Cor inválida. Tente "#FF0000" ou "rgb(255,0,0)" ou "red"','The value is invalid. Try "10px" or "2em" or simply "2".':'Valor inválido. Tente "10px" ou "2em" ou apenas "2"',"Toggle caption off":"Desabilitar legenda","Toggle caption on":"Habilitar legenda","Vertical text alignment toolbar":"Ferramentas de alinhamento vertical do texto",Width:"Largura"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/table/translations/sk.js b/web/core/assets/vendor/ckeditor5/table/translations/sk.js
index 72ddd06ea6..3f2f2196fb 100644
--- a/web/core/assets/vendor/ckeditor5/table/translations/sk.js
+++ b/web/core/assets/vendor/ckeditor5/table/translations/sk.js
@@ -1 +1 @@
-!function(e){const t=e.sk=e.sk||{};t.dictionary=Object.assign(t.dictionary||{},{"Align cell text to the bottom":"Zarovnať text bunky nadol","Align cell text to the center":"Zarovnať text bunky na stred","Align cell text to the left":"Zarovnať text bunky doľava","Align cell text to the middle":"Zarovnať text bunky na stred","Align cell text to the right":"Zarovnať text bunky doprava","Align cell text to the top":"Zarovnať text bunky nahor","Align table to the left":"Zarovnať tabuľku doľava","Align table to the right":"Zarovnať tabuľku doprava",Alignment:"Zarovnanie",Background:"Pozadie",Border:"Orámovanie","Cell properties":"Vlastnosti bunky","Center table":"Centrovať tabuľku",Color:"Farba","Color picker":"Vybrať farbu",Column:"Stĺpec",Dashed:"Čiarkovaná","Delete column":"Odstrániť stĺpec","Delete row":"Odstrániť riadok",Dimensions:"Rozmery",Dotted:"Bodkovaná",Double:"Dvojitá","Enter table caption":"",Groove:"Drážkovaná","Header column":"Stĺpec hlavičky","Header row":"Riadok hlavičky",Height:"Výška","Horizontal text alignment toolbar":"Horizontálne zarovnanie textu v panely","Insert column left":"Vložiť stĺpec vľavo","Insert column right":"Vložiť stĺpec vpravo","Insert row above":"Vložiť riadok nad","Insert row below":"Vložiť riadok pod","Insert table":"Vložiť tabuľku",Inset:"Vložená z vnútra","Justify cell text":"Zarovnať text bunky z oboch strán","Merge cell down":"Zlúčiť bunku dole","Merge cell left":"Zlúčiť bunku vľavo","Merge cell right":"Zlúčiť bunku vpravo","Merge cell up":"Zlúčiť bunku hore","Merge cells":"Zlúčiť bunky",None:"Žiadna",Outset:"Vložená zvonku",Padding:"Vnútorný okraj",Ridge:"Rámovaná",Row:"Riadok","Select column":"Vybrať stĺpec","Select row":"Vybrať riadok",Solid:"Plná","Split cell horizontally":"Rozdeliť bunku vodorovne","Split cell vertically":"Rozdeliť bunku zvislo",Style:"Štýl","Table alignment toolbar":"Panel zarovnania tabuľky","Table cell text alignment":"Zarovnanie textu v bunke","Table properties":"Vlastnosti tabuľky","Table toolbar":"Panel nástrojov tabuľky",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'Farba má nesprávny formát. Skúste "#FF0000", "rgb(255,0,0)" alebo "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'Hodnota je nesprávna. Skúste "10px", "2em" alebo jednoducho "2".',"Toggle caption off":"","Toggle caption on":"","Vertical text alignment toolbar":"Vertikálne zarovnanie textu v panely",Width:"Šírka"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.sk=e.sk||{};t.dictionary=Object.assign(t.dictionary||{},{"Align cell text to the bottom":"Zarovnať text bunky nadol","Align cell text to the center":"Zarovnať text bunky na stred","Align cell text to the left":"Zarovnať text bunky doľava","Align cell text to the middle":"Zarovnať text bunky na stred","Align cell text to the right":"Zarovnať text bunky doprava","Align cell text to the top":"Zarovnať text bunky nahor","Align table to the left":"Zarovnať tabuľku doľava","Align table to the right":"Zarovnať tabuľku doprava",Alignment:"Zarovnanie",Background:"Pozadie",Border:"Orámovanie","Cell properties":"Vlastnosti bunky","Center table":"Centrovať tabuľku",Color:"Farba","Color picker":"Vybrať farbu",Column:"Stĺpec",Dashed:"Čiarkovaná","Delete column":"Odstrániť stĺpec","Delete row":"Odstrániť riadok",Dimensions:"Rozmery",Dotted:"Bodkovaná",Double:"Dvojitá","Enter table caption":"Zadajte popis tabuľky",Groove:"Drážkovaná","Header column":"Stĺpec hlavičky","Header row":"Riadok hlavičky",Height:"Výška","Horizontal text alignment toolbar":"Horizontálne zarovnanie textu v panely","Insert column left":"Vložiť stĺpec vľavo","Insert column right":"Vložiť stĺpec vpravo","Insert row above":"Vložiť riadok nad","Insert row below":"Vložiť riadok pod","Insert table":"Vložiť tabuľku",Inset:"Vložená z vnútra","Justify cell text":"Zarovnať text bunky z oboch strán","Merge cell down":"Zlúčiť bunku dole","Merge cell left":"Zlúčiť bunku vľavo","Merge cell right":"Zlúčiť bunku vpravo","Merge cell up":"Zlúčiť bunku hore","Merge cells":"Zlúčiť bunky",None:"Žiadna",Outset:"Vložená zvonku",Padding:"Vnútorný okraj",Ridge:"Rámovaná",Row:"Riadok","Select column":"Vybrať stĺpec","Select row":"Vybrať riadok",Solid:"Plná","Split cell horizontally":"Rozdeliť bunku vodorovne","Split cell vertically":"Rozdeliť bunku zvislo",Style:"Štýl","Table alignment toolbar":"Panel zarovnania tabuľky","Table cell text alignment":"Zarovnanie textu v bunke","Table properties":"Vlastnosti tabuľky","Table toolbar":"Panel nástrojov tabuľky",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'Farba má nesprávny formát. Skúste "#FF0000", "rgb(255,0,0)" alebo "red".','The value is invalid. Try "10px" or "2em" or simply "2".':'Hodnota je nesprávna. Skúste "10px", "2em" alebo jednoducho "2".',"Toggle caption off":"Vypnúť titulok","Toggle caption on":"Zapnúť titulok","Vertical text alignment toolbar":"Vertikálne zarovnanie textu v panely",Width:"Šírka"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/table/translations/uz.js b/web/core/assets/vendor/ckeditor5/table/translations/uz.js
new file mode 100644
index 0000000000..7785e4220c
--- /dev/null
+++ b/web/core/assets/vendor/ckeditor5/table/translations/uz.js
@@ -0,0 +1 @@
+!function(a){const i=a.uz=a.uz||{};i.dictionary=Object.assign(i.dictionary||{},{"Align cell text to the bottom":"Hujayra matnini pastga tekislash","Align cell text to the center":"Matnni markazga tekislash","Align cell text to the left":"Matnni chapga tekislash","Align cell text to the middle":"Hujayra matnini markazga tekislash","Align cell text to the right":"Matnni o'ngga tekislash","Align cell text to the top":"Hujayra matnini tepaga tekislash","Align table to the left":"Jadvalni chap tomonga tekislash","Align table to the right":"Jadvalni o'ngga tekislash",Alignment:"Tekislash",Background:"Fon",Border:"Chegara","Cell properties":"Hujayra xususiyatlari","Center table":"Jadvalni markazga tekislash",Color:"Rang","Color picker":"Rang tanlash",Column:"Ustun",Dashed:"Nuqtali","Delete column":"Ustunni o'chirish","Delete row":"Satrni o'chirish",Dimensions:"O'lchamlar",Dotted:"Nuqta",Double:"Ikkitalik","Enter table caption":"",Groove:"Yivli","Header column":"Ustun sarlavhalari","Header row":"Sarlavhalar satri",Height:"Balandligi","Horizontal text alignment toolbar":"Matnni gorizontal tekislash asboblar paneli","Insert column left":"Ustunni chapga kiritish","Insert column right":"Ustunni o'ngga kiritish","Insert row above":"Yuqoriga qatorni kiritish","Insert row below":"Pastga qatorni kiritish","Insert table":"Jadvalni kiritish",Inset:"Tushkunlikka tushgan","Justify cell text":"Matnni kenglikka tekislash","Merge cell down":"Pastdagi katak bilan birlashtirish","Merge cell left":"Chapdagi katakcha bilan birlashtirish","Merge cell right":"O'ngdagi katakcha bilan birlashtirish","Merge cell up":"Yuqoridagi katak bilan birlashtirish","Merge cells":"Hujayralarni birlashtirish",None:"Yo'q",Outset:"Qavariq",Padding:"Chekinish",Ridge:"Qirrali",Row:"Satr","Select column":"Ustunni tanlash","Select row":"Satrni tanlang",Solid:"Qattiq","Split cell horizontally":"Hujayrani gorizontal ravishda ajratish","Split cell vertically":"Hujayrani vertikal ravishda ajratish",Style:"Uslub","Table alignment toolbar":"Jadvalni tekislash asboblar paneli","Table cell text alignment":"Jadval katakchasidagi matnni tekislash","Table properties":"Jadvalning xususiyatlari","Table toolbar":"Jadval asboblar paneli",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'Noto\'g\'ri rang. \\ "# FF0000 \\" yoki \\ "rgb (255,0,0) \\" yoki \\ "red \\" ni sinab ko\'ring.','The value is invalid. Try "10px" or "2em" or simply "2".':'Noto\'g\'ri qiymat. \\ "10px \\" yoki \\ "2em \\" yoki shunchaki \\ "2 \\" ni sinab ko\'ring.',"Toggle caption off":"","Toggle caption on":"","Vertical text alignment toolbar":"Vertikal matnni tekislash asboblar paneli",Width:"Kengligi"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/ckeditor5/table/translations/zh.js b/web/core/assets/vendor/ckeditor5/table/translations/zh.js
index ec5c90996e..67d96d419a 100644
--- a/web/core/assets/vendor/ckeditor5/table/translations/zh.js
+++ b/web/core/assets/vendor/ckeditor5/table/translations/zh.js
@@ -1 +1 @@
-!function(e){const t=e.zh=e.zh||{};t.dictionary=Object.assign(t.dictionary||{},{"Align cell text to the bottom":"向下對齊","Align cell text to the center":"置中對齊","Align cell text to the left":"靠左對齊","Align cell text to the middle":"置中對齊","Align cell text to the right":"靠右對齊","Align cell text to the top":"向上對齊","Align table to the left":"靠左對齊","Align table to the right":"靠右對齊",Alignment:"對齊",Background:"背景顏色",Border:"邊框","Cell properties":"儲存格屬性","Center table":"置中對齊",Color:"文字顏色","Color picker":"顏色選擇",Column:"欄",Dashed:"虛線","Delete column":"刪除欄","Delete row":"刪除列",Dimensions:"尺寸",Dotted:"點線",Double:"雙線","Enter table caption":"",Groove:"內凹線","Header column":"標題欄","Header row":"標題列",Height:"高度","Horizontal text alignment toolbar":"水平對齊","Insert column left":"插入左方欄","Insert column right":"插入右方欄","Insert row above":"插入上方列","Insert row below":"插入下方列","Insert table":"插入表格",Inset:"內邊線","Justify cell text":"分散對齊","Merge cell down":"合併下方儲存格","Merge cell left":"合併左方儲存格","Merge cell right":"合併右方儲存格","Merge cell up":"合併上方儲存格","Merge cells":"合併儲存格",None:"無",Outset:"外框線",Padding:"儲存格留白",Ridge:"凸起線",Row:"列","Select column":"選擇欄","Select row":"選擇列",Solid:"實線","Split cell horizontally":"水平分割儲存格","Split cell vertically":"垂直分割儲存格",Style:"樣式","Table alignment toolbar":"表格對齊","Table cell text alignment":"儲存格文字對齊","Table properties":"表格屬性","Table toolbar":"表格工具",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'顏色代碼錯誤。試試看 "#FF0000" 或 "rgb(255, 0, 0)" 或 "red"。','The value is invalid. Try "10px" or "2em" or simply "2".':'尺寸代碼錯誤。試試看 "10px" 或 "2em" 或簡單寫 "2"。',"Toggle caption off":"","Toggle caption on":"","Vertical text alignment toolbar":"垂直對齊",Width:"寬度"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
+!function(e){const t=e.zh=e.zh||{};t.dictionary=Object.assign(t.dictionary||{},{"Align cell text to the bottom":"向下對齊","Align cell text to the center":"置中對齊","Align cell text to the left":"靠左對齊","Align cell text to the middle":"置中對齊","Align cell text to the right":"靠右對齊","Align cell text to the top":"向上對齊","Align table to the left":"靠左對齊","Align table to the right":"靠右對齊",Alignment:"對齊",Background:"背景顏色",Border:"邊框","Cell properties":"儲存格屬性","Center table":"置中對齊",Color:"文字顏色","Color picker":"顏色選擇",Column:"欄",Dashed:"虛線","Delete column":"刪除欄","Delete row":"刪除列",Dimensions:"尺寸",Dotted:"點線",Double:"雙線","Enter table caption":"輸入表標題",Groove:"內凹線","Header column":"標題欄","Header row":"標題列",Height:"高度","Horizontal text alignment toolbar":"水平對齊","Insert column left":"插入左方欄","Insert column right":"插入右方欄","Insert row above":"插入上方列","Insert row below":"插入下方列","Insert table":"插入表格",Inset:"內邊線","Justify cell text":"分散對齊","Merge cell down":"合併下方儲存格","Merge cell left":"合併左方儲存格","Merge cell right":"合併右方儲存格","Merge cell up":"合併上方儲存格","Merge cells":"合併儲存格",None:"無",Outset:"外框線",Padding:"儲存格留白",Ridge:"凸起線",Row:"列","Select column":"選擇欄","Select row":"選擇列",Solid:"實線","Split cell horizontally":"水平分割儲存格","Split cell vertically":"垂直分割儲存格",Style:"樣式","Table alignment toolbar":"表格對齊","Table cell text alignment":"儲存格文字對齊","Table properties":"表格屬性","Table toolbar":"表格工具",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'顏色代碼錯誤。試試看 "#FF0000" 或 "rgb(255, 0, 0)" 或 "red"。','The value is invalid. Try "10px" or "2em" or simply "2".':'尺寸代碼錯誤。試試看 "10px" 或 "2em" 或簡單寫 "2"。',"Toggle caption off":"關閉表標題","Toggle caption on":"開啟表標題","Vertical text alignment toolbar":"垂直對齊",Width:"寬度"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/AUTHORS.txt b/web/core/assets/vendor/jquery.ui/AUTHORS.txt
deleted file mode 100644
index a75056b941..0000000000
--- a/web/core/assets/vendor/jquery.ui/AUTHORS.txt
+++ /dev/null
@@ -1,333 +0,0 @@
-Authors ordered by first contribution
-A list of current team members is available at http://jqueryui.com/about
-
-Paul Bakaus <paul.bakaus@gmail.com>
-Richard Worth <rdworth@gmail.com>
-Yehuda Katz <wycats@gmail.com>
-Sean Catchpole <sean@sunsean.com>
-John Resig <jeresig@gmail.com>
-Tane Piper <piper.tane@gmail.com>
-Dmitri Gaskin <dmitrig01@gmail.com>
-Klaus Hartl <klaus.hartl@gmail.com>
-Stefan Petre <stefan.petre@gmail.com>
-Gilles van den Hoven <gilles@webunity.nl>
-Micheil Bryan Smith <micheil@brandedcode.com>
-Jörn Zaefferer <joern.zaefferer@gmail.com>
-Marc Grabanski <m@marcgrabanski.com>
-Keith Wood <kbwood@iinet.com.au>
-Brandon Aaron <brandon.aaron@gmail.com>
-Scott González <scott.gonzalez@gmail.com>
-Eduardo Lundgren <eduardolundgren@gmail.com>
-Aaron Eisenberger <aaronchi@gmail.com>
-Joan Piedra <theneojp@gmail.com>
-Bruno Basto <b.basto@gmail.com>
-Remy Sharp <remy@leftlogic.com>
-Bohdan Ganicky <bohdan.ganicky@gmail.com>
-David Bolter <david.bolter@gmail.com>
-Chi Cheng <cloudream@gmail.com>
-Ca-Phun Ung <pazu2k@gmail.com>
-Ariel Flesler <aflesler@gmail.com>
-Maggie Wachs <maggie@filamentgroup.com>
-Scott Jehl <scottjehl@gmail.com>
-Todd Parker <todd@filamentgroup.com>
-Andrew Powell <andrew@shellscape.org>
-Brant Burnett <btburnett3@gmail.com>
-Douglas Neiner <doug@dougneiner.com>
-Paul Irish <paul.irish@gmail.com>
-Ralph Whitbeck <ralph.whitbeck@gmail.com>
-Thibault Duplessis <thibault.duplessis@gmail.com>
-Dominique Vincent <dominique.vincent@toitl.com>
-Jack Hsu <jack.hsu@gmail.com>
-Adam Sontag <ajpiano@ajpiano.com>
-Carl Fürstenberg <carl@excito.com>
-Kevin Dalman <development@allpro.net>
-Alberto Fernández Capel <afcapel@gmail.com>
-Jacek Jędrzejewski (http://jacek.jedrzejewski.name)
-Ting Kuei <ting@kuei.com>
-Samuel Cormier-Iijima <sam@chide.it>
-Jon Palmer <jonspalmer@gmail.com>
-Ben Hollis <bhollis@amazon.com>
-Justin MacCarthy <Justin@Rubystars.biz>
-Eyal Kobrigo <kobrigo@hotmail.com>
-Tiago Freire <tiago.freire@gmail.com>
-Diego Tres <diegotres@gmail.com>
-Holger Rüprich <holger@rueprich.de>
-Ziling Zhao <zilingzhao@gmail.com>
-Mike Alsup <malsup@gmail.com>
-Robson Braga Araujo <robsonbraga@gmail.com>
-Pierre-Henri Ausseil <ph.ausseil@gmail.com>
-Christopher McCulloh <cmcculloh@gmail.com>
-Andrew Newcomb <ext.github@preceptsoftware.co.uk>
-Lim Chee Aun <cheeaun@gmail.com>
-Jorge Barreiro <yortx.barry@gmail.com>
-Daniel Steigerwald <daniel@steigerwald.cz>
-John Firebaugh <john_firebaugh@bigfix.com>
-John Enters <github@darkdark.net>
-Andrey Kapitcyn <ru.m157y@gmail.com>
-Dmitry Petrov <dpetroff@gmail.com>
-Eric Hynds <eric@hynds.net>
-Chairat Sunthornwiphat <pipo@sixhead.com>
-Josh Varner <josh.varner@gmail.com>
-Stéphane Raimbault <stephane.raimbault@gmail.com>
-Jay Merrifield <fracmak@gmail.com>
-J. Ryan Stinnett <jryans@gmail.com>
-Peter Heiberg <peter@heiberg.se>
-Alex Dovenmuehle <adovenmuehle@gmail.com>
-Jamie Gegerson <git@jamiegegerson.com>
-Raymond Schwartz <skeetergraphics@gmail.com>
-Phillip Barnes <philbar@gmail.com>
-Kyle Wilkinson <kai@wikyd.org>
-Khaled AlHourani <me@khaledalhourani.com>
-Marian Rudzynski <mr@impaled.org>
-Jean-Francois Remy <jeff@melix.org>
-Doug Blood <dougblood@gmail.com>
-Filippo Cavallarin <filippo.cavallarin@codseq.it>
-Heiko Henning <heiko@thehennings.ch>
-Aliaksandr Rahalevich <saksmlz@gmail.com>
-Mario Visic <mario@mariovisic.com>
-Xavi Ramirez <xavi.rmz@gmail.com>
-Max Schnur <max.schnur@gmail.com>
-Saji Nediyanchath <saji89@gmail.com>
-Corey Frang <gnarf37@gmail.com>
-Aaron Peterson <aaronp123@yahoo.com>
-Ivan Peters <ivan@ivanpeters.com>
-Mohamed Cherif Bouchelaghem <cherifbouchelaghem@yahoo.fr>
-Marcos Sousa <falecomigo@marcossousa.com>
-Michael DellaNoce <mdellanoce@mailtrust.com>
-George Marshall <echosx@gmail.com>
-Tobias Brunner <tobias@strongswan.org>
-Martin Solli <msolli@gmail.com>
-David Petersen <public@petersendidit.com>
-Dan Heberden <danheberden@gmail.com>
-William Kevin Manire <williamkmanire@gmail.com>
-Gilmore Davidson <gilmoreorless@gmail.com>
-Michael Wu <michaelmwu@gmail.com>
-Adam Parod <mystic414@gmail.com>
-Guillaume Gautreau <guillaume+github@ghusse.com>
-Marcel Toele <EleotleCram@gmail.com>
-Dan Streetman <ddstreet@ieee.org>
-Matt Hoskins <matt@nipltd.com>
-Giovanni Giacobbi <giovanni@giacobbi.net>
-Kyle Florence <kyle.florence@gmail.com>
-Pavol Hluchý <lopo@losys.sk>
-Hans Hillen <hans.hillen@gmail.com>
-Mark Johnson <virgofx@live.com>
-Trey Hunner <treyhunner@gmail.com>
-Shane Whittet <whittet@gmail.com>
-Edward A Faulkner <ef@alum.mit.edu>
-Adam Baratz <adam@adambaratz.com>
-Kato Kazuyoshi <kato.kazuyoshi@gmail.com>
-Eike Send <eike.send@gmail.com>
-Kris Borchers <kris.borchers@gmail.com>
-Eddie Monge <eddie@eddiemonge.com>
-Israel Tsadok <itsadok@gmail.com>
-Carson McDonald <carson@ioncannon.net>
-Jason Davies <jason@jasondavies.com>
-Garrison Locke <gplocke@gmail.com>
-David Murdoch <david@davidmurdoch.com>
-Benjamin Scott Boyle <benjamins.boyle@gmail.com>
-Jesse Baird <jebaird@gmail.com>
-Jonathan Vingiano <jvingiano@gmail.com>
-Dylan Just <dev@ephox.com>
-Hiroshi Tomita <tomykaira@gmail.com>
-Glenn Goodrich <glenn.goodrich@gmail.com>
-Tarafder Ashek-E-Elahi <mail.ashek@gmail.com>
-Ryan Neufeld <ryan@neufeldmail.com>
-Marc Neuwirth <marc.neuwirth@gmail.com>
-Philip Graham <philip.robert.graham@gmail.com>
-Benjamin Sterling <benjamin.sterling@kenzomedia.com>
-Wesley Walser <waw325@gmail.com>
-Kouhei Sutou <kou@clear-code.com>
-Karl Kirch <karlkrch@gmail.com>
-Chris Kelly <ckdake@ckdake.com>
-Jason Oster <jay@kodewerx.org>
-Felix Nagel <info@felixnagel.com>
-Alexander Polomoshnov <alex.polomoshnov@gmail.com>
-David Leal <dgleal@gmail.com>
-Igor Milla <igor.fsp.milla@gmail.com>
-Dave Methvin <dave.methvin@gmail.com>
-Florian Gutmann <f.gutmann@chronimo.com>
-Marwan Al Jubeh <marwan.aljubeh@gmail.com>
-Milan Broum <midlis@googlemail.com>
-Sebastian Sauer <info@dynpages.de>
-Gaëtan Muller <m.gaetan89@gmail.com>
-Michel Weimerskirch <michel@weimerskirch.net>
-William Griffiths <william@ycymro.com>
-Stojce Slavkovski <stojce@gmail.com>
-David Soms <david.soms@gmail.com>
-David De Sloovere <david.desloovere@outlook.com>
-Michael P. Jung <michael.jung@terreon.de>
-Shannon Pekary <spekary@gmail.com>
-Dan Wellman <danwellman@hotmail.com>
-Matthew Edward Hutton <meh@corefiling.co.uk>
-James Khoury <james@jameskhoury.com>
-Rob Loach <robloach@gmail.com>
-Alberto Monteiro <betimbrasil@gmail.com>
-Alex Rhea <alex.rhea@gmail.com>
-Krzysztof Rosiński <rozwell69@gmail.com>
-Ryan Olton <oltonr@gmail.com>
-Genie <386@mail.com>
-Rick Waldron <waldron.rick@gmail.com>
-Ian Simpson <spoonlikesham@gmail.com>
-Lev Kitsis <spam4lev@gmail.com>
-TJ VanToll <tj.vantoll@gmail.com>
-Justin Domnitz <jdomnitz@gmail.com>
-Douglas Cerna <douglascerna@yahoo.com>
-Bert ter Heide <bertjh@hotmail.com>
-Jasvir Nagra <jasvir@gmail.com>
-Yuriy Khabarov <13real008@gmail.com>
-Harri Kilpiö <harri.kilpio@gmail.com>
-Lado Lomidze <lado.lomidze@gmail.com>
-Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
-Simon Sattes <simon.sattes@gmail.com>
-Jo Liss <joliss42@gmail.com>
-Guntupalli Karunakar <karunakarg@yahoo.com>
-Shahyar Ghobadpour <shahyar@gmail.com>
-Lukasz Lipinski <uzza17@gmail.com>
-Timo Tijhof <krinklemail@gmail.com>
-Jason Moon <jmoon@socialcast.com>
-Martin Frost <martinf55@hotmail.com>
-Eneko Illarramendi <eneko@illarra.com>
-EungJun Yi <semtlenori@gmail.com>
-Courtland Allen <courtlandallen@gmail.com>
-Viktar Varvanovich <non4eg@gmail.com>
-Danny Trunk <dtrunk90@gmail.com>
-Pavel Stetina <pavel.stetina@nangu.tv>
-Michael Stay <metaweta@gmail.com>
-Steven Roussey <sroussey@gmail.com>
-Michael Hollis <hollis21@gmail.com>
-Lee Rowlands <lee.rowlands@previousnext.com.au>
-Timmy Willison <timmywillisn@gmail.com>
-Karl Swedberg <kswedberg@gmail.com>
-Baoju Yuan <the_guy_1987@hotmail.com>
-Maciej Mroziński <maciej.k.mrozinski@gmail.com>
-Luis Dalmolin <luis.nh@gmail.com>
-Mark Aaron Shirley <maspwr@gmail.com>
-Martin Hoch <martin@fidion.de>
-Jiayi Yang <tr870829@gmail.com>
-Philipp Benjamin Köppchen <xgxtpbk@gws.ms>
-Sindre Sorhus <sindresorhus@gmail.com>
-Bernhard Sirlinger <bernhard.sirlinger@tele2.de>
-Jared A. Scheel <jared@jaredscheel.com>
-Rafael Xavier de Souza <rxaviers@gmail.com>
-John Chen <zhang.z.chen@intel.com>
-Robert Beuligmann <robertbeuligmann@gmail.com>
-Dale Kocian <dale.kocian@gmail.com>
-Mike Sherov <mike.sherov@gmail.com>
-Andrew Couch <andy@couchand.com>
-Marc-Andre Lafortune <github@marc-andre.ca>
-Nate Eagle <nate.eagle@teamaol.com>
-David Souther <davidsouther@gmail.com>
-Mathias Stenbom <mathias@stenbom.com>
-Sergey Kartashov <ebishkek@yandex.ru>
-Avinash R <nashpapa@gmail.com>
-Ethan Romba <ethanromba@gmail.com>
-Cory Gackenheimer <cory.gack@gmail.com>
-Juan Pablo Kaniefsky <jpkaniefsky@gmail.com>
-Roman Salnikov <bardt.dz@gmail.com>
-Anika Henke <anika@selfthinker.org>
-Samuel Bovée <samycookie2000@yahoo.fr>
-Fabrício Matté <ult_combo@hotmail.com>
-Viktor Kojouharov <vkojouharov@gmail.com>
-Pawel Maruszczyk (http://hrabstwo.net)
-Pavel Selitskas <p.selitskas@gmail.com>
-Bjørn Johansen <post@bjornjohansen.no>
-Matthieu Penant <thieum22@hotmail.com>
-Dominic Barnes <dominic@dbarnes.info>
-David Sullivan <david.sullivan@gmail.com>
-Thomas Jaggi <thomas@responsive.ch>
-Vahid Sohrabloo <vahid4134@gmail.com>
-Travis Carden <travis.carden@gmail.com>
-Bruno M. Custódio <bruno@brunomcustodio.com>
-Nathanael Silverman <nathanael.silverman@gmail.com>
-Christian Wenz <christian@wenz.org>
-Steve Urmston <steve@urm.st>
-Zaven Muradyan <megalivoithos@gmail.com>
-Woody Gilk <shadowhand@deviantart.com>
-Zbigniew Motyka <zbigniew.motyka@gmail.com>
-Suhail Alkowaileet <xsoh.k7@gmail.com>
-Toshi MARUYAMA <marutosijp2@yahoo.co.jp>
-David Hansen <hansede@gmail.com>
-Brian Grinstead <briangrinstead@gmail.com>
-Christian Klammer <christian314159@gmail.com>
-Steven Luscher <jquerycla@steveluscher.com>
-Gan Eng Chin <engchin.gan@gmail.com>
-Gabriel Schulhof <gabriel.schulhof@intel.com>
-Alexander Schmitz <arschmitz@gmail.com>
-Vilhjálmur Skúlason <vis@dmm.is>
-Siebrand Mazeland <siebrand@kitano.nl>
-Mohsen Ekhtiari <mohsenekhtiari@yahoo.com>
-Pere Orga <gotrunks@gmail.com>
-Jasper de Groot <mail@ugomobi.com>
-Stephane Deschamps <stephane.deschamps@gmail.com>
-Jyoti Deka <dekajp@gmail.com>
-Andrei Picus <office.nightcrawler@gmail.com>
-Ondrej Novy <novy@ondrej.org>
-Jacob McCutcheon <jacob.mccutcheon@gmail.com>
-Monika Piotrowicz <monika.piotrowicz@gmail.com>
-Imants Horsts <imants.horsts@inbox.lv>
-Eric Dahl <eric.c.dahl@gmail.com>
-Dave Stein <dave@behance.com>
-Dylan Barrell <dylan@barrell.com>
-Daniel DeGroff <djdegroff@gmail.com>
-Michael Wiencek <mwtuea@gmail.com>
-Thomas Meyer <meyertee@gmail.com>
-Ruslan Yakhyaev <ruslan@ruslan.io>
-Brian J. Dowling <bjd-dev@simplicity.net>
-Ben Higgins <ben@extrahop.com>
-Yermo Lamers <yml@yml.com>
-Patrick Stapleton <github@gdi2290.com>
-Trisha Crowley <trisha.crowley@gmail.com>
-Usman Akeju <akeju00+github@gmail.com>
-Rodrigo Menezes <rod333@gmail.com>
-Jacques Perrault <jacques_perrault@us.ibm.com>
-Frederik Elvhage <frederik.elvhage@googlemail.com>
-Will Holley <willholley@gmail.com>
-Uri Gilad <antishok@gmail.com>
-Richard Gibson <richard.gibson@gmail.com>
-Simen Bekkhus <sbekkhus91@gmail.com>
-Chen Eshchar <eshcharc@gmail.com>
-Bruno Pérel <brunoperel@gmail.com>
-Mohammed Alshehri <m@dralshehri.com>
-Lisa Seacat DeLuca <ldeluca@us.ibm.com>
-Anne-Gaelle Colom <coloma@westminster.ac.uk>
-Adam Foster <slimfoster@gmail.com>
-Luke Page <luke.a.page@gmail.com>
-Daniel Owens <daniel@matchstickmixup.com>
-Michael Orchard <morchard@scottlogic.co.uk>
-Marcus Warren <marcus@envoke.com>
-Nils Heuermann <nils@world-of-scripts.de>
-Marco Ziech <marco@ziech.net>
-Patricia Juarez <patrixd@gmail.com>
-Ben Mosher <me@benmosher.com>
-Ablay Keldibek <atomio.ak@gmail.com>
-Thomas Applencourt <thomas.applencourt@irsamc.ups-tlse.fr>
-Jiabao Wu <jiabao.foss@gmail.com>
-Eric Lee Carraway <github@ericcarraway.com>
-Victor Homyakov <vkhomyackov@gmail.com>
-Myeongjin Lee <aranet100@gmail.com>
-Liran Sharir <lsharir@gmail.com>
-Weston Ruter <weston@xwp.co>
-Mani Mishra <manimishra902@gmail.com>
-Hannah Methvin <hannahmethvin@gmail.com>
-Leonardo Balter <leonardo.balter@gmail.com>
-Benjamin Albert <benjamin_a5@yahoo.com>
-Michał Gołębiowski <m.goleb@gmail.com>
-Alyosha Pushak <alyosha.pushak@gmail.com>
-Fahad Ahmad <fahadahmad41@hotmail.com>
-Matt Brundage <github@mattbrundage.com>
-Francesc Baeta <francesc.baeta@gmail.com>
-Piotr Baran <piotros@wp.pl>
-Mukul Hase <mukulhase@gmail.com>
-Konstantin Dinev <kdinev@mail.bw.edu>
-Rand Scullard <rand@randscullard.com>
-Dan Strohl <dan@wjcg.net>
-Maksim Ryzhikov <rv.maksim@gmail.com>
-Amine HADDAD <haddad@allegorie.tv>
-Amanpreet Singh <apsdehal@gmail.com>
-Alexey Balchunas <bleshik@gmail.com>
-Peter Kehl <peter.kehl@gmail.com>
-Peter Dave Hello <hsu@peterdavehello.org>
-Johannes Schäfer <johnschaefer@gmx.de>
-Ville Skyttä <ville.skytta@iki.fi>
-Ryan Oriecuia <ryan.oriecuia@visioncritical.com>
diff --git a/web/core/assets/vendor/jquery.ui/README.txt b/web/core/assets/vendor/jquery.ui/README.txt
deleted file mode 100644
index 9681d0b342..0000000000
--- a/web/core/assets/vendor/jquery.ui/README.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-
-Introduction
-------------
-This folder contains a partial fork of jQuery UI 1.12.1. jQuery UI has been
-marked as an emeritus project by the OpenJS foundation. Emeritus projects are
-those which the maintainers feel have reached or are nearing end-of-life.
-
-jQuery UI will potentially reach end-of-life before Drupal 9 does. In
-preparation for this, Drupal has forked jQuery UI core and jQuery UI components
-still used by Drupal core. This fork will make it easier to maintain jQuery UI's
-code when necessary.
-
-jQuery UI components used:
-  * Autocomplete
-  * Button
-  * Checkboxradio
-  * Controlgroup
-  * Draggable
-  * Dialog
-  * Menu
-  * Position
-  * Resizable
-  * Widget Factory
-
-Development
------------
-Development on this fork of jQuery UI is limited to fixes for security issues
-affecting Drupal projects.
-
-Production versions of jQuery UI code can be generated with the following
-commands:
-
-Navigate to `core/` folder:
-```
-cd core/
-```
-
-Ensure that dependencies have been installed:
-```
-yarn install
-```
-
-Build jQuery UI files for production:
-```
-yarn run build:jqueryui
-```
-
-Note: at the moment our forked code doesn't have any test coverage. Making any
-changes to the code should be avoided until
-https://www.drupal.org/project/drupal/issues/3093172 has been resolved.
-
-More information
-----------------
-
- * See the Drupal.org issue that partially forked jQuery UI:
-   https://www.drupal.org/project/drupal/issues/3087685
-
- * See the Drupal.org issue for removing the rest of the jQuery UI components:
-   https://www.drupal.org/project/drupal/issues/3067261
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/autocomplete.css b/web/core/assets/vendor/jquery.ui/themes/base/autocomplete.css
index afdc3a4e74..19a843de5b 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/autocomplete.css
+++ b/web/core/assets/vendor/jquery.ui/themes/base/autocomplete.css
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Autocomplete 1.12.1
+ * jQuery UI Autocomplete 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/button.css b/web/core/assets/vendor/jquery.ui/themes/base/button.css
index 45915b616b..bcd92515bd 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/button.css
+++ b/web/core/assets/vendor/jquery.ui/themes/base/button.css
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Button 1.12.1
+ * jQuery UI Button 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/checkboxradio.css b/web/core/assets/vendor/jquery.ui/themes/base/checkboxradio.css
index 2bfdd29abc..7b5a672ff1 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/checkboxradio.css
+++ b/web/core/assets/vendor/jquery.ui/themes/base/checkboxradio.css
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Checkboxradio 1.12.1
+ * jQuery UI Checkboxradio 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/controlgroup.css b/web/core/assets/vendor/jquery.ui/themes/base/controlgroup.css
index 86f3306d27..f55207341d 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/controlgroup.css
+++ b/web/core/assets/vendor/jquery.ui/themes/base/controlgroup.css
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Controlgroup 1.12.1
+ * jQuery UI Controlgroup 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/core.css b/web/core/assets/vendor/jquery.ui/themes/base/core.css
index a4c1b2de87..6cb2e14c40 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/core.css
+++ b/web/core/assets/vendor/jquery.ui/themes/base/core.css
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI CSS Framework 1.12.1
+ * jQuery UI CSS Framework 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -50,7 +50,7 @@
 	left: 0;
 	position: absolute;
 	opacity: 0;
-	filter:Alpha(Opacity=0); /* support: IE8 */
+	-ms-filter: "alpha(opacity=0)"; /* support: IE8 */
 }
 
 .ui-front {
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/dialog.css b/web/core/assets/vendor/jquery.ui/themes/base/dialog.css
index 993f7975ca..e5086eb342 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/dialog.css
+++ b/web/core/assets/vendor/jquery.ui/themes/base/dialog.css
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Dialog 1.12.1
+ * jQuery UI Dialog 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/draggable.css b/web/core/assets/vendor/jquery.ui/themes/base/draggable.css
index 3f71945369..dddbcb6d17 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/draggable.css
+++ b/web/core/assets/vendor/jquery.ui/themes/base/draggable.css
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Draggable 1.12.1
+ * jQuery UI Draggable 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_444444_256x240.png b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_444444_256x240.png
index 9221438927..df4e373785 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_444444_256x240.png
+++ b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_444444_256x240.png
@@ -1,11 +1,19 @@
 �PNG
 
-���
IHDR�����������IJ���PLTEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD�r	���ZtRNS��3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
-��b�J��mߜGc?o�h�#�-���IDATx���r�:�ax|���O�0A�I�%��=��b	���eY����~_�|��Q�d	��@P�(UM�ZI�Z~	&?ׁ��Q��0�A��`ꇚ�^���=�C���
���c�m
-�y
M0�v���C<w���%K0�w���,�FhY�eY��O�	�w݈��#����_����f���|#�݀P����J݀������r"�f?Ŀ0��,��}@N~��0���> OK0�^�eY�eY���K���gqƽ�����3��zHM״��i����zr88��@��u۱�Z�*�:>���c����s��l5��2[4�0'{���y��#�*��ajA��E��;瀣*^�W�X�eY�e�$/���0h@�jro��`���y��g%Y�9=@�H���(��(8� ��dզ"G���[���c��h�G(�<䈹����`}�8@W�:�������e���	y���/$���̰
-��ޗ�p���@�w���ҏo8��4�f0
-��7���i^�ѐ��rt�k8�
����FdY�eY�N�|a�3?b��*I�C���ܞ2��j�`�U�l{J-�~*S��O
b2�����@+��(:�[m!3&:���o4 �E):�;@����Z�c�� �*:x>�&z�S~7��xۥ@rz��
-C�ݟ�!]�����j�X/�C{��,˲,��t��k꛼V��O3g�L�h�����^~k���؈��� �I��<ls����T�{P��j|���.j�g���w�`0��w3�O��_�%}	|{�xP
z�@�����'����=����
-�P�/0�Z�����q����_;����хї3�X�b�81i��{%������,���>���eu�T�����?00000�zs_��>������(W`_��O�f��UA�6��W�Ȼ������i]�l�@��WIL�^�6�-M�^��;+t{��uQQTE��
-
f]1`r�-��u.p��;$	Pl�u������:�L�`P��=@�l6�/��N:ְ�Y �v�o�u�%�	��=�0o8{��N�?���t�s����$
��0
-��6 ��7d;`Z"QNٹ!J� @��
��������LEQh&����������=�`�^��h:!��b��NK(�i�R@b�5�k�셳�A�̕���@.���*��*P���-�����Pd; N�r��.<��ЖQŃU��u�B;xr�!(|���NL��L�.𧶸�+�\��H�)���1YU�Y�bG�����!���A-���=w�������A�&���/a�w�k���\��@��c�%������uN�50000pix�i�%@P�@��D�x�gLK �Ǟp��ݞ��p�YPJ]ks��K�4i�1��p^����&W���f���$��
������^n�Ԙ�X&�@��<���E[?�	��ǻx~�qJZ�Jb2� [0zA/�%!�J�긺>/扫���� ���	��SIḧ��\��v�|�W�V&�S*�o�����㍴@�r�Tꅊ�_�b�n���M�q`�iC��JdK��@)qNy��I�'�w�zKo��\ד0W�:��5 ����.[ޕ�X�{��X<�����o���Z�����H�q���t;~�<�	 �����i�(OQjԹ�";\�n{.��?|����}��);Nz��/��N�{��M�3��H!H(X��Y�I�r��>.W���I$�x哉4���ӆ�gy��Q:����u�����a$��7���4h������\��:(G����V/��v20000PB-��.ϧ2�RT��[&���"��9�	<�g�}�9'�s�����c��2�-3�[��(���ܿ+T���N�_h�Tј+����s���X�Tj�͍�;E����N�!�un�K+��`�
`��_�h���O?��kSQ���F��:���H���m,@�L 	���t�+Ve6��\�F琢R�@Z���NL�-0��=@�9��)�dB�R�6�mHZ�Z.��JX�R��(@FA�\n�\��tx��5|+��;�3��pg��(Yn���W_����\;���4>\����n���j�e!s�0�0��;t��Śןt�Yeǀ�rs� �⋲SzH�_�	�JX,d�:�<I�Igɰ���S�O� �1����%�������9��Z]V�ɻ�Q�:�	��a����Y�1�rK�z����(@|�S����#�	�d��PDb$���;��~8K�9
�§��9����0000P�����O?���3�,�v���£����	�G3fJ���u(f�̎��!`-�[�o}���QSg�셼3���������$�������f���g=����}�0���e�V�A���~��0�����X�bH�Y���B�e($� 2�͈:m���<��V��:ฃ`
V�m�?�ȯ��d0=~�{�W�����u��ј�Ú��?����{���-��aq`````�(�x=&���8$W����zL���`�t�z6���71gr1S����Z]G^�u,�"�$�`;Tö<?C�M��U0�*�
�&��`,;�ƀ�!	��d+�+���R�+���ɏ��Y�-w�Y`���%&�%��0Hp.Q����5AFU�d��A�CY��[�����?�M�I�E��Z/�-����n�R̋b��`���yvs�^P`~�9׆s�vT
,����Fӑ8b4ڼ�Mg����L��wfH�����[�)_@�i�3�Hj���,J�=;V����P����[>�W�~~�t���u�U��;�������1����w������݃�7�~}������C������?��we�����䝽�g�R�;����?M�����s~��w��t���O�������i	}�_�8H����/(3�������m����\��������,uQ?�;�&�C=��l���RKz`���
��
RxWfzf��w����K��4��w���.d����y�})��w,���(6���������� tw����$�9:`�����������[@h/D���?���H����L���\��wg0��L��zQ���1 ��G�~F���~2�_���Y���/�u����Q�50p��?�����W�����IEND�B`�
\ No newline at end of file
+���
IHDR����������������0PLTELiqFFFDDD???EEE???CCCDDDCCCCCCEEEDDDCCCCCCDDDCCC=�&t���tRNS��3N���,!sAb�����1IDATx�n�0D�9��P��!T�C&D��B��b��%[����p����u|+4�׼���� pm�)��2d�3�b�3>�[��3�8��"� ��5�~�Q!��c6w�N�"� k���lѣ�2ږ�p�r~�)`�x
+��E������&�$�w��R֥�_�A�д����*C}d�k�!�n�3Q���wA�l�Z>��*�"�ɦY��y�2aE��p��<P����S�1{����zX�;�)��<.�dn0��rP.�����%!O���_DT�����Q~��(�g�	���¸W<����^IB�'E�	�-XfW�[�p���ҹ;b�Ns�����`�^�������?�*fl���Sf|���%��`��ڽe���6p�=��q{����`�;}�hq�U�:��N����
+*�o��J�,CQX���,����দX�}�NA�%�A.�R���|n'@�;[`	·��ķ�7��_�b
+��D�8���!B�t�ӗ���9����@�����666bq�!�,��(����!�/H��
+�������9򩸗eI��(��j�Ϲ��wx^�E}`�DW�����hA��3�?��P�	���燰Rq���<L�I�]@q?��wu�Z«=�GJa�҃��l�q݆S���|P�9h�z7~�w�d����������N��,��~��g�g���d]$'z�&���KG�-�q�M8��a	'�\�12���oB�`�uaik��K��{%�������������W]]�����W]��=se
+f3��uO��S<�D`A2�QN6��}צ��31;?A@�Fz
+r�uC�MAl���+Go�)p$f�o���d� V�P���QI�o ���d;�bH'`��f�,j�i�MC�����3�R����&~/���a�|���L��2e�44i����4�"|@)�H��t�!P#J{Uoпp�}�E��ӽXd�(S�Ɠ���LNLu�s��1{��bD�n���û+�ߧn�!����C?y�\TjO677�Ȗ���-I�0\(�i`e`��n�v띯���]��۝�,z�����R��q�fs3P	���l
��d�!�@��������	
+%Vp$�1���=��cS(,�����1),�eE���B����#w
+��_���	��9Q~/e�Z�
\����
+Q��4�Ȳ��{}8䘍�jN�{e�x�
��<���<i���������x��ݛ�\�����N��.���auI4��(��@�X��$PG��
�����:�����XFr.;v, ���u
+���Mُ�<�FJ�����Q������G_��U�)��ɺ5���u)�3^]zE�)�k����"i6Li�Mu���ܑa���Q�G����<�_~��+���Z�s�&�~}7��9�~a`�`0�s�z��IY������z^��WI��Sg(,YK&Y%�'��r�f�:��=۲��Y��o8�1�4~�o�G���z�XBm ��۟���<G#�ƒQM����}�/�����f���F��1�C����a㸱����F$���k���%	}y�I�@�%�Sך��0��i����>���J��.�����rٝsˇB��c0�W��|@��z��EԴ��;���
8�����X�o`������@��?Xݶ�׃����\Ð�>1�tF�
+����Y��|�|�Q/_�6��)��@]?�p��y@
�L։��wQÐr2��N�������FiУ��2e�jn�H�0�J>��y
+vh�M!�˝�ѽêm�m��wJ�-C�,."��r�}B߰�}U���Յ�%*��d~`����G�5u9/�{�d�{3��¥[��u���U�ŋ0��r�ءX��U�wR6�@O�j�d�c6���p��]5��+�6�X�����%5T���7p �t�uR��u�B����}I`�0���;Q�qB����<}�A(5�{x���H^/-�By=P���S�>�@*�U�U��G~�[�=`��,��0�AE�@�f�a�G�����	k��*�oYy��"'�z��^�����[%N��F��%-�$�ݿj�o�QEIL��C�ā���{b@t��`��D�D^�/�F����Ā���W
+�M��)�뿔�>�\N��0|e�t�Ï��йh��/���s	@�e6�b�:9�K����\�I4_vlր��`x�飼�$䢤x�Iϒ�'QĦN���@�/t��|���LL��bP��@�T�eѥ#tU?��-8�/���2p�����9��
�r(�oS�����/J4��혵�D���?$����P�G�o
�IC	I�����'k���?���<
+�i.;�z�k�I7O�K�3�W�Rbʔ)�9�Hp�i"���:��w|��>&5�����f�����[��R޲N��.�G5��`ӝ̀w������\������B����<���l�/A`U�6y�6�<�F �]
(���(�	�Q��(S�L�G窷�_��y(�j�Z�X�����\��i~�<��ӛUe��4�sj
+���=vO�+�ۖD�u�N��
��h��V�rj�k�����׃G�@!�\N��p�r�	7���҈�N���ϩ�R��_���
̴���0O�2�R��^]eʤ�h�E�є�&��~N0LY�O�����"�*3Y�O����N`	8�
�c�k�Hht{���H����=3-�L+K��Fl��"(�&X�6���<�1if��^����C��{��c�fH�$ԏ�h4���J4Lt
+�	x�I�p�yN����.*$4����"Վ�"J�Úx��~��&�hd��3�ɧZ�ofʔ�O�)8]�+Ԝ���tǭ�&m�����J11Ąa�?��s��2eʴLg!fJɄ���fKK'XN�t>	��]f9֒2�Xbmy9	`�5p+VS>�5J3O ޞ�4�$���|�������I2K�M[���?w��T������IEND�B`�
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_555555_256x240.png b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_555555_256x240.png
index 4c37296071..bbb422fed1 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_555555_256x240.png
+++ b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_555555_256x240.png
@@ -1,11 +1,17 @@
 �PNG
 
-���
IHDR�����������IJ���PLTEUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUy�����ZtRNS��3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
-��b�J��mߜGc?o�h�#�-���IDATx���r�:�ax|���O�0A�I�%��=��b	���eY����~_�|��Q�d	��@P�(UM�ZI�Z~	&?ׁ��Q��0�A��`ꇚ�^���=�C���
���c�m
-�y
M0�v���C<w���%K0�w���,�FhY�eY��O�	�w݈��#����_����f���|#�݀P����J݀������r"�f?Ŀ0��,��}@N~��0���> OK0�^�eY�eY���K���gqƽ�����3��zHM״��i����zr88��@��u۱�Z�*�:>���c����s��l5��2[4�0'{���y��#�*��ajA��E��;瀣*^�W�X�eY�e�$/���0h@�jro��`���y��g%Y�9=@�H���(��(8� ��dզ"G���[���c��h�G(�<䈹����`}�8@W�:�������e���	y���/$���̰
-��ޗ�p���@�w���ҏo8��4�f0
-��7���i^�ѐ��rt�k8�
����FdY�eY�N�|a�3?b��*I�C���ܞ2��j�`�U�l{J-�~*S��O
b2�����@+��(:�[m!3&:���o4 �E):�;@����Z�c�� �*:x>�&z�S~7��xۥ@rz��
-C�ݟ�!]�����j�X/�C{��,˲,��t��k꛼V��O3g�L�h�����^~k���؈��� �I��<ls����T�{P��j|���.j�g���w�`0��w3�O��_�%}	|{�xP
z�@�����'����=����
-�P�/0�Z�����q����_;����хї3�X�b�81i��{%������,���>���eu�T�����?00000�zs_��>������(W`_��O�f��UA�6��W�Ȼ������i]�l�@��WIL�^�6�-M�^��;+t{��uQQTE��
-
f]1`r�-��u.p��;$	Pl�u������:�L�`P��=@�l6�/��N:ְ�Y �v�o�u�%�	��=�0o8{��N�?���t�s����$
��0
-��6 ��7d;`Z"QNٹ!J� @��
��������LEQh&����������=�`�^��h:!��b��NK(�i�R@b�5�k�셳�A�̕���@.���*��*P���-�����Pd; N�r��.<��ЖQŃU��u�B;xr�!(|���NL��L�.𧶸�+�\��H�)���1YU�Y�bG�����!���A-���=w�������A�&���/a�w�k���\��@��c�%������uN�50000pix�i�%@P�@��D�x�gLK �Ǟp��ݞ��p�YPJ]ks��K�4i�1��p^����&W���f���$��
������^n�Ԙ�X&�@��<���E[?�	��ǻx~�qJZ�Jb2� [0zA/�%!�J�긺>/扫���� ���	��SIḧ��\��v�|�W�V&�S*�o�����㍴@�r�Tꅊ�_�b�n���M�q`�iC��JdK��@)qNy��I�'�w�zKo��\ד0W�:��5 ����.[ޕ�X�{��X<�����o���Z�����H�q���t;~�<�	 �����i�(OQjԹ�";\�n{.��?|����}��);Nz��/��N�{��M�3��H!H(X��Y�I�r��>.W���I$�x哉4���ӆ�gy��Q:����u�����a$��7���4h������\��:(G����V/��v20000PB-��.ϧ2�RT��[&���"��9�	<�g�}�9'�s�����c��2�-3�[��(���ܿ+T���N�_h�Tј+����s���X�Tj�͍�;E����N�!�un�K+��`�
`��_�h���O?��kSQ���F��:���H���m,@�L 	���t�+Ve6��\�F琢R�@Z���NL�-0��=@�9��)�dB�R�6�mHZ�Z.��JX�R��(@FA�\n�\��tx��5|+��;�3��pg��(Yn���W_����\;���4>\����n���j�e!s�0�0��;t��Śןt�Yeǀ�rs� �⋲SzH�_�	�JX,d�:�<I�Igɰ���S�O� �1����%�������9��Z]V�ɻ�Q�:�	��a����Y�1�rK�z����(@|�S����#�	�d��PDb$���;��~8K�9
�§��9����0000P�����O?���3�,�v���£����	�G3fJ���u(f�̎��!`-�[�o}���QSg�셼3���������$�������f���g=����}�0���e�V�A���~��0�����X�bH�Y���B�e($� 2�͈:m���<��V��:ฃ`
V�m�?�ȯ��d0=~�{�W�����u��ј�Ú��?����{���-��aq`````�(�x=&���8$W����zL���`�t�z6���71gr1S����Z]G^�u,�"�$�`;Tö<?C�M��U0�*�
�&��`,;�ƀ�!	��d+�+���R�+���ɏ��Y�-w�Y`���%&�%��0Hp.Q����5AFU�d��A�CY��[�����?�M�I�E��Z/�-����n�R̋b��`���yvs�^P`~�9׆s�vT
,����Fӑ8b4ڼ�Mg����L��wfH�����[�)_@�i�3�Hj���,J�=;V����P����[>�W�~~�t���u�U��;�������1����w������݃�7�~}������C������?��we�����䝽�g�R�;����?M�����s~��w��t���O�������i	}�_�8H����/(3�������m����\��������,uQ?�;�&�C=��l���RKz`���
��
RxWfzf��w����K��4��w���.d����y�})��w,���(6���������� tw����$�9:`�����������[@h/D���?���H����L���\��wg0��L��zQ���1 ��G�~F���~2�_���Y���/�u����Q�50p��?�����W�����IEND�B`�
\ No newline at end of file
+���
IHDR����������������0PLTELiqRRRUUUOOOUUU^^^VVVUUUTTTUUUVVVTTTUUUTTTUUUUUU-�i���tRNS��3Nč�,!iA`��T���9IDATx�j1D5u�A'h���z.��5NbT|Lm�J-��g�~���.z��K�U��
�>~�
7�g�2K�(C�rR*�9㣽�{�r���ii�
+0)Q'�
+Q�=6��
7�7Y�w��w��Eou��Ѷ �3���3�����o��x�?	�߆%�Y�a��u)��y`�2t�+�����Pr�5�`��(�Cϧ �
+1p-7��ʰ�d��ց�u�MXQ��{�bk�rv��o��8888�ճ>>�כ����r���2�A`��(��Y���p*��[�A���ADEϿ�V� ʏ8��7�RP���5��� �BtE�<���
+�}K<���=�=V:wG��i���}�[�m���X���zt֔���i	@�X�xS{V���a����j�ۋ��'��+���E��w1됆�d^�f+��>��+5�LEa�:F�P��%�CM������h�%�A.�R���|n'@�;[`	·��ķ�7}<�b
+��D�<���!B�t�ӗ4��9����@���b��Q�!�,��(_���!�/H�Q�cz��i|�L�T�˲�@O�]e��Z��;<o��>�H��+SYECv����	��m8Et���{��V*�ߴ��	� 	�(�s���аy�'���B�<�P
+÷������}8�?��J��G�������B���߾��ٙ�mӓ����wO�tO�\�ɺ�D��M��՗���b#�o�]�p��1���`�
��aM X�7!w�1:,�C����^�W��;;�==9[�5~����_ェ���sW0�~&�9Y��y�y��XGe@X1�]�d����Y�)Ȱ#Ԅ<6���$��9�7���S�H�FO��'d� R�P���QI�o� ���x;�bH'`��f�<��Ӏʛ�jL��C/��X��m5�{	�7*?�1jZ2uJ�*��Р!z�պMc���(�-���H�g�B��n�oP>�Ǟ����^$�Z������~i�HNLU�c���yňPM��W��+�?&��
+�B��p(7��㍍��7���D�V�% �r�#�XXi�Z��|��+���
i���y���7���/�O�wB�j66��i��,r�<�w��1p)gt�B����}�@|
��#���r�:�kl�rD
+d�GnV����^�b�]��WZ��&�gX@񝄁�7p�Wl��ȵ�9g�1C���k�G��V2��+�`o k�濷��<i��`���]�	�z��Mw	��mh�n��D�v����$�@��Mo`�0�@54�O��k�n�r��bEȵ��^0�H�ub`�%�?� ��q`���û���
+�����i|Y`�����2� ��['''
z��
�����J�����T�'-Æ)�����m�w"F|�G��a�-&��#�˞8d
+a=�l�n��簺�\�q��0�F���!'���ݡ$�x���l��EYg�,���'�PX��L�JO�V�r�F�U]1w:K��y!y���c'~d��Z."N��zplY�Bm �����8CC�"I��$y�mǾ�P��qW,]+����a.
+���6���*�`��v緖�.K�������:.��,��{�)�L����ɱ��b �,ˑ,��5�| ��>NN����'a�'Z���j�@�������}��,�7��4����%���6-��A'i��8S7�$�O5���Q�¸��!4��>8t�p�f
T��('���~��j��~��׉�u�nH���$z�|BZ�tnzL�trL�R}�ծ�n�'-�t&�?uгlӎB������A�"�V�黅�G����g1~�����~VQ�G�V��-Q���}˕x߾߯��y��q��Hvn1���߾K����0��r;ؖ)�3¾������PfP3��~(/Pxg�̪�8Wnk�ĺ^_�\Rs@��db��gs�T"y��4�j�pgOx�0��;���be�Q�>d��������U��������A��
�u�0�݃�ke�<�@"��{��T�����r��OTb���D#(�6P����??���
t�LX��w�=y��*[2I���ne��
@���[���zAi�E����7����U�$�=���Ob_���{b@t���C�u"S /�a�z����Ā���_�C�ǁ	�%��R&��I7|�Ju���O��хh�L�'�S@�eld�~�DN_�G����J4�������pY����LBnJ��u���Q�M1��
+���_��+���I��G;��,�1�X%�:=:BO�cֿ
��1��B�"RO�Z#'S���@�g�x���fJ�h[1k�L�]H��&0n#<B>�_q�X���im`ܻ�����t�pz/ �q�	�첖lj6�������9����.H�R�:\eK�W$�΢�m_1��q
�;�A���s��9}�K=Z����	`��FBxlz��@�~�s��3WJ=1 e1 ���c�Cm�"�,��Jb������i&0����ڀ�n��>����@�T��Ӆ�[�7uK��"�)���i�s�'��+&�ќ��V�erz�����hNLA�Joӽ�.�9W�[�78bp��r<�Mˉɮ�o5�%���\$��s9�� �o�)ͱ��nw�1���:eK�^n���j#��/6+b�<f�H4M}��}zy�*�zO����S��Z�=� e�n4e�3�i��8�x�r4e��sP�=�%�n�q�Z"�����1�,wHȞ����Z���%g�
�l��"(Y&X�6�������K3Eg�Ȅ��B��v�$C
+�1�~tE�	6C(�0�%$�9hH$A4¡�=�jl���F��F�U��H�#$�����f���9�����Lj��V���R����pNV��
+5�l`%Yq�)�I`>'M4�
1!A��O��������^�R�Z��3%d��t�����,�\����1�iI@$���0�6p+RC��uJSO ��4�$��L��E��9���d��?��R�&ojd ��6����IEND�B`�
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_777620_256x240.png b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_777620_256x240.png
index 3b4ce6868a..ee49e9e501 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_777620_256x240.png
+++ b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_777620_256x240.png
@@ -1,11 +1,17 @@
 �PNG
 
-���
IHDR�����������IJ���PLTEwv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv wv U.G����ZtRNS��3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
-��b�J��mߜGc?o�h�#�-���IDATx���r�:�ax|���O�0A�I�%��=��b	���eY����~_�|��Q�d	��@P�(UM�ZI�Z~	&?ׁ��Q��0�A��`ꇚ�^���=�C���
���c�m
-�y
M0�v���C<w���%K0�w���,�FhY�eY��O�	�w݈��#����_����f���|#�݀P����J݀������r"�f?Ŀ0��,��}@N~��0���> OK0�^�eY�eY���K���gqƽ�����3��zHM״��i����zr88��@��u۱�Z�*�:>���c����s��l5��2[4�0'{���y��#�*��ajA��E��;瀣*^�W�X�eY�e�$/���0h@�jro��`���y��g%Y�9=@�H���(��(8� ��dզ"G���[���c��h�G(�<䈹����`}�8@W�:�������e���	y���/$���̰
-��ޗ�p���@�w���ҏo8��4�f0
-��7���i^�ѐ��rt�k8�
����FdY�eY�N�|a�3?b��*I�C���ܞ2��j�`�U�l{J-�~*S��O
b2�����@+��(:�[m!3&:���o4 �E):�;@����Z�c�� �*:x>�&z�S~7��xۥ@rz��
-C�ݟ�!]�����j�X/�C{��,˲,��t��k꛼V��O3g�L�h�����^~k���؈��� �I��<ls����T�{P��j|���.j�g���w�`0��w3�O��_�%}	|{�xP
z�@�����'����=����
-�P�/0�Z�����q����_;����хї3�X�b�81i��{%������,���>���eu�T�����?00000�zs_��>������(W`_��O�f��UA�6��W�Ȼ������i]�l�@��WIL�^�6�-M�^��;+t{��uQQTE��
-
f]1`r�-��u.p��;$	Pl�u������:�L�`P��=@�l6�/��N:ְ�Y �v�o�u�%�	��=�0o8{��N�?���t�s����$
��0
-��6 ��7d;`Z"QNٹ!J� @��
��������LEQh&����������=�`�^��h:!��b��NK(�i�R@b�5�k�셳�A�̕���@.���*��*P���-�����Pd; N�r��.<��ЖQŃU��u�B;xr�!(|���NL��L�.𧶸�+�\��H�)���1YU�Y�bG�����!���A-���=w�������A�&���/a�w�k���\��@��c�%������uN�50000pix�i�%@P�@��D�x�gLK �Ǟp��ݞ��p�YPJ]ks��K�4i�1��p^����&W���f���$��
������^n�Ԙ�X&�@��<���E[?�	��ǻx~�qJZ�Jb2� [0zA/�%!�J�긺>/扫���� ���	��SIḧ��\��v�|�W�V&�S*�o�����㍴@�r�Tꅊ�_�b�n���M�q`�iC��JdK��@)qNy��I�'�w�zKo��\ד0W�:��5 ����.[ޕ�X�{��X<�����o���Z�����H�q���t;~�<�	 �����i�(OQjԹ�";\�n{.��?|����}��);Nz��/��N�{��M�3��H!H(X��Y�I�r��>.W���I$�x哉4���ӆ�gy��Q:����u�����a$��7���4h������\��:(G����V/��v20000PB-��.ϧ2�RT��[&���"��9�	<�g�}�9'�s�����c��2�-3�[��(���ܿ+T���N�_h�Tј+����s���X�Tj�͍�;E����N�!�un�K+��`�
`��_�h���O?��kSQ���F��:���H���m,@�L 	���t�+Ve6��\�F琢R�@Z���NL�-0��=@�9��)�dB�R�6�mHZ�Z.��JX�R��(@FA�\n�\��tx��5|+��;�3��pg��(Yn���W_����\;���4>\����n���j�e!s�0�0��;t��Śןt�Yeǀ�rs� �⋲SzH�_�	�JX,d�:�<I�Igɰ���S�O� �1����%�������9��Z]V�ɻ�Q�:�	��a����Y�1�rK�z����(@|�S����#�	�d��PDb$���;��~8K�9
�§��9����0000P�����O?���3�,�v���£����	�G3fJ���u(f�̎��!`-�[�o}���QSg�셼3���������$�������f���g=����}�0���e�V�A���~��0�����X�bH�Y���B�e($� 2�͈:m���<��V��:ฃ`
V�m�?�ȯ��d0=~�{�W�����u��ј�Ú��?����{���-��aq`````�(�x=&���8$W����zL���`�t�z6���71gr1S����Z]G^�u,�"�$�`;Tö<?C�M��U0�*�
�&��`,;�ƀ�!	��d+�+���R�+���ɏ��Y�-w�Y`���%&�%��0Hp.Q����5AFU�d��A�CY��[�����?�M�I�E��Z/�-����n�R̋b��`���yvs�^P`~�9׆s�vT
,����Fӑ8b4ڼ�Mg����L��wfH�����[�)_@�i�3�Hj���,J�=;V����P����[>�W�~~�t���u�U��;�������1����w������݃�7�~}������C������?��we�����䝽�g�R�;����?M�����s~��w��t���O�������i	}�_�8H����/(3�������m����\��������,uQ?�;�&�C=��l���RKz`���
��
RxWfzf��w����K��4��w���.d����y�})��w,���(6���������� tw����$�9:`�����������[@h/D���?���H����L���\��wg0��L��zQ���1 ��G�~F���~2�_���Y���/�u����Q�50p��?�����W�����IEND�B`�
\ No newline at end of file
+���
IHDR����������������0PLTELiqyywv ppxxwuvuvu wuwv wwwuvvwuvu ��@���tRNS��3N���,!rAb�B��d��-IDATx�n�0D�9��P��!T�C&D��B��b��%[����p����u|+4�׼���� pm�)��2d�3�b�3>�[��3�8��"� ��5�~�Q!��c6w�N�"� k���lѣ�2ږ�p�r~�)`�x
+��E������&�$�w��R֥�_�A�д����*C}d�k�!�n�3Q���wA�l�Z>��*�"�ɦY��y�2aE��p��<P����S�1{����zX�;�)��<.�dn0��rP.�����%!O���_DT�����Q~��(�g�	���¸W<����^IB�'E�	�-XfW�[�p���ҹ;b�Ns�����`�^�������?�*fl���Sf|���%��`��ڽe���6p�=��q{����`�;}�hq�U�:��N����
+*�o��J�,CQX���,����দX�}�NA�%�A.�R���|n'@�;[`	·��ķ�7��_�b
+��D�8���!B�t�ӗ���9����@�����666bq�!�,��(����!�/H��
+�������9򩸗eI��(��j�Ϲ��wx^�E}`�DW�����hA��3�?��P�	���燰Rq���<L�I�]@q?��wu�Z«=�GJa�҃��l�q݆S���|P�9h�z7~�w�dg���d�f�w�s�������m5Yɉ޲	rp���v[lDs!�@C�	���`�����D蛐;�h�CX���R�}�䫾���ޞ�;[�3~����_�{5�ʺLg�p6�L�q�d9>�+�I$s�a㘹��4`&f�'��HOa�����)�Mz��s%��
0���l�cuqJb�
5H����vr	� J�,�tv+a�΢�F�P�4T
0�
+8�Q� ���j���nU�ƩH��iP�L���&�S�M����)�{�iU��11b��[����S\�9ݍEV�2խ?�_:(�S��\�Y̾=��G�}����r돩�uHd���0H��J����F��w�v�%	8��1m�,��m�n���ewܕ�
i���y���7X��/���wB�j66B�����[�9e	(9����P0:A�D���>�� �ٳ�;6�BQ'p���IQ@�%������KP�Kp�k�+�&��gXD�ݔ�k�7p�wl��(t�g�9G���p�1�՜��ʀ����y�AO𤵃�}w`wwY'���;7�%�z��
T��.]����h:�NG���eo�Hu�hԀ?ᮏ���Y(�Ɗe�!ײkG�b�W	��q���8�h�~��UR�����:H.���<���@��@_X��N֭�pؤgȬ�X���ߣL�^R��+J+,��aÔV�T����2���3��8�=&�����:䂨�R���gP�I�wι�#X#���wwǒ@���ž����u��
���k�$������u9Q��:��>ݴ��Y��o9�1�4~``�G���z���6�܎�͏v�P��1VbI�����;��/����^�tUpi}���l+l��V�U�
`Lۛ��\p	X��'�����Zr���,��{�	"�q�|����]��e%�e�^s���`8�SB��|@��z��EԴ��;���
8����/X�o`����'�@��?\ٲ���ʹ��\Ð�>1�tF]
+��CӷP������~�f
�\SN�
��~��z���3�3Y'eޝD
C����'ѻ��Z�3�c�a�2e�ʫSs��OZ��TZ��	@�R�M;n
+yU�,�Tmsw���D?��X\D�۞���	����~���g _]�[�2�L�����c|����n�%���,poIJ[8��l?g�^�<��,w��m����}'e�/���H�������@0�3pM���<_�h�ź_�^�\R�@��d��H�U'�HI>7-��.�ޓ�.���]1���I:V�@&O@I
���b<��K#B�%�7P^���B!z(ה��ÀN`�@:���~o�l�������9�%FP�5�,�",��z��$2Q���%�,+�U,���"o�[��z�5P�u+�d�j�\rѢG�?�ǡf��mU�Ĵ��0�I�(߽+D'P
+7i�Ad�|i4B��ϖ \�� �.7LE���$��r��H�a�Lϡ��~
+���E;s�K�2,;`#+�W���z$�Lϡ+�u�D�p��`
�,F��{�IBnJ�כ�4�uؔc�I��}����N���ȑ�I�S
++r��CU�=:DO�c�߁c��8z!���
\�����p-�2P���-jY����y@�؎YHdJ��C8!�ɋ���~�{���$0���O��I�np�F���>��G1M�#�e�W�t
0���bz!}
+��^HL�L�2
+.3M$�K�@������Ǥ�� ~^����>q��=�[�ɶ�m��FBxlz��@�~�s���Vzb@�b@(��'4��6�M"�%����&#��g��xij�%]�>=
+����eʔ���\���[���#:�V��Kk�S�'�����r��_5+��zUp?�c9=�O_���ڕ�-K"�:y�}��o�ێ�g�e95�5�GM{	k�Ce��c-����QC�a�-��v���c9=]�S~��˝?y3-����*�c��E�ԇ�ܧL�^^���z�j<e�I����R�펧�wz~A�*�2Y�<����9*���p�ļV-�������H����=3-�L+K��
�l��"(�&X�6���<�q��@�<���C��{��c�fD�����4����&��<G
#���f4΀�'��f�pU�VE�	�j�H��&f���9��'���Lk�V����2e����8
�*��
+5gl`9�q�%�I`>#-��1!E��O��k��G�K�L�2�,�L)��9������I�	��%���3L�c-)�%֊�$�����XM���H(�<�x{�����X0�Q`T��7H�3���,��(Ӵ�?��wk�=�i����IEND�B`�
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_777777_256x240.png b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_777777_256x240.png
index de6cf086bb..b01ff3deeb 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_777777_256x240.png
+++ b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_777777_256x240.png
@@ -1,11 +1,13 @@
 �PNG
 
-���
IHDR�����������IJ���PLTEwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww3<�>���ZtRNS��3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
-��b�J��mߜGc?o�h�#�-���IDATx���r�:�ax|���O�0A�I�%��=��b	���eY����~_�|��Q�d	��@P�(UM�ZI�Z~	&?ׁ��Q��0�A��`ꇚ�^���=�C���
���c�m
-�y
M0�v���C<w���%K0�w���,�FhY�eY��O�	�w݈��#����_����f���|#�݀P����J݀������r"�f?Ŀ0��,��}@N~��0���> OK0�^�eY�eY���K���gqƽ�����3��zHM״��i����zr88��@��u۱�Z�*�:>���c����s��l5��2[4�0'{���y��#�*��ajA��E��;瀣*^�W�X�eY�e�$/���0h@�jro��`���y��g%Y�9=@�H���(��(8� ��dզ"G���[���c��h�G(�<䈹����`}�8@W�:�������e���	y���/$���̰
-��ޗ�p���@�w���ҏo8��4�f0
-��7���i^�ѐ��rt�k8�
����FdY�eY�N�|a�3?b��*I�C���ܞ2��j�`�U�l{J-�~*S��O
b2�����@+��(:�[m!3&:���o4 �E):�;@����Z�c�� �*:x>�&z�S~7��xۥ@rz��
-C�ݟ�!]�����j�X/�C{��,˲,��t��k꛼V��O3g�L�h�����^~k���؈��� �I��<ls����T�{P��j|���.j�g���w�`0��w3�O��_�%}	|{�xP
z�@�����'����=����
-�P�/0�Z�����q����_;����хї3�X�b�81i��{%������,���>���eu�T�����?00000�zs_��>������(W`_��O�f��UA�6��W�Ȼ������i]�l�@��WIL�^�6�-M�^��;+t{��uQQTE��
-
f]1`r�-��u.p��;$	Pl�u������:�L�`P��=@�l6�/��N:ְ�Y �v�o�u�%�	��=�0o8{��N�?���t�s����$
��0
-��6 ��7d;`Z"QNٹ!J� @��
��������LEQh&����������=�`�^��h:!��b��NK(�i�R@b�5�k�셳�A�̕���@.���*��*P���-�����Pd; N�r��.<��ЖQŃU��u�B;xr�!(|���NL��L�.𧶸�+�\��H�)���1YU�Y�bG�����!���A-���=w�������A�&���/a�w�k���\��@��c�%������uN�50000pix�i�%@P�@��D�x�gLK �Ǟp��ݞ��p�YPJ]ks��K�4i�1��p^����&W���f���$��
������^n�Ԙ�X&�@��<���E[?�	��ǻx~�qJZ�Jb2� [0zA/�%!�J�긺>/扫���� ���	��SIḧ��\��v�|�W�V&�S*�o�����㍴@�r�Tꅊ�_�b�n���M�q`�iC��JdK��@)qNy��I�'�w�zKo��\ד0W�:��5 ����.[ޕ�X�{��X<�����o���Z�����H�q���t;~�<�	 �����i�(OQjԹ�";\�n{.��?|����}��);Nz��/��N�{��M�3��H!H(X��Y�I�r��>.W���I$�x哉4���ӆ�gy��Q:����u�����a$��7���4h������\��:(G����V/��v20000PB-��.ϧ2�RT��[&���"��9�	<�g�}�9'�s�����c��2�-3�[��(���ܿ+T���N�_h�Tј+����s���X�Tj�͍�;E����N�!�un�K+��`�
`��_�h���O?��kSQ���F��:���H���m,@�L 	���t�+Ve6��\�F琢R�@Z���NL�-0��=@�9��)�dB�R�6�mHZ�Z.��JX�R��(@FA�\n�\��tx��5|+��;�3��pg��(Yn���W_����\;���4>\����n���j�e!s�0�0��;t��Śןt�Yeǀ�rs� �⋲SzH�_�	�JX,d�:�<I�Igɰ���S�O� �1����%�������9��Z]V�ɻ�Q�:�	��a����Y�1�rK�z����(@|�S����#�	�d��PDb$���;��~8K�9
�§��9����0000P�����O?���3�,�v���£����	�G3fJ���u(f�̎��!`-�[�o}���QSg�셼3���������$�������f���g=����}�0���e�V�A���~��0�����X�bH�Y���B�e($� 2�͈:m���<��V��:ฃ`
V�m�?�ȯ��d0=~�{�W�����u��ј�Ú��?����{���-��aq`````�(�x=&���8$W����zL���`�t�z6���71gr1S����Z]G^�u,�"�$�`;Tö<?C�M��U0�*�
�&��`,;�ƀ�!	��d+�+���R�+���ɏ��Y�-w�Y`���%&�%��0Hp.Q����5AFU�d��A�CY��[�����?�M�I�E��Z/�-����n�R̋b��`���yvs�^P`~�9׆s�vT
,����Fӑ8b4ڼ�Mg����L��wfH�����[�)_@�i�3�Hj���,J�=;V����P����[>�W�~~�t���u�U��;�������1����w������݃�7�~}������C������?��we�����䝽�g�R�;����?M�����s~��w��t���O�������i	}�_�8H����/(3�������m����\��������,uQ?�;�&�C=��l���RKz`���
��
RxWfzf��w����K��4��w���.d����y�})��w,���(6���������� tw����$�9:`�����������[@h/D���?���H����L���\��wg0��L��zQ���1 ��G�~F���~2�_���Y���/�u����Q�50p��?�����W�����IEND�B`�
\ No newline at end of file
+���
IHDR����������������0PLTELiqyyywwwpppxxxwwwvvvvvvwwwwwwwwwwwwvvvwwwvvv��	����tRNS��3M���,!r@bͨQ/P��1IDATx�n�0D�9��P��!T�C&D��B��b��%[����p����u|+4�׼���� pm�)��2d�3�b�3>�[��3�8��"� ��5�~�Q!��c6w�N�"� k���lѣ�2ږ�p�r~�)`�x
+��E������&�$�w��R֥�_�A�д����*C}d�k�!�n�3Q���wA�l�Z>��*�"�ɦY��y�2aE��p��<P����S�1{����zX�;�)��<.�dn0��rP.�����%!O���_DT�����Q~��(�g�	���¸W<����^IB�'E�	�-XfW�[�p���ҹ;b�Ns�����`�^�������?�*fl���Sf|���%��`��ڽe���6p�=��q{����`�;}�hq�U�:��N����
+*�o��J�,CQX���,����দX�}�NA�%�A.�R���|n'@�;[`	·��ķ�7��_�b
+��D�8���!B�t�ӗ���9����@�����666bq�!�,��(����!�/H��
+�������9򩸗eI��(��j�Ϲ��wx^�E}`�DW�����hA��3�?��P�	���燰Rq���<L�I�]@q?��wu�Z«=�GJa�҃��l�q݆S���|P�9h�z7~�w�dg���d�f�wzr�������m5Yɉ޲	r��҇�%6"��	�b �!�Xc�k0AFX{@"�M�l��!,m
�p���W����wvzgz�l���ͫ����}�U�+�2����c0�G=����8'Q��s]N6��}�N3fbv~�9�����<1:�I��s�h������~�^<%�҆�ȏNJ~���g���C:���0gQLCF�h��T��(HN�=�������<0����QS�iP�L��f�&�R�}�&P��)�{�iU��1JΈ��n�����=�y����Xd5/S������LNLu�s�g1{�ΈP=����w�ZL=�C: ��~r��Tj�����Ȧ���-��0\(�i`e`��n�v�o-��|nH���C���z�~�}���W���LDT�l
X2�E��|�/b�B���	+�8��&dϢ��
+�:��l�pL
+KdYDP(����]�+�h_�4a>��<��\��k�cs��@!*���Y�Pr��
+p��n5���2`����mD�j��zp����.�^�z离W�4��j��a��~P]Mg �"1����#	�Q�a���>��N�f��+�Q�\ˎs�u_% F]���M�)���VH�2z�:� ��{�����u��=e`^8^��A��!�J#%~�k�K/�2ez�W�VP$-Æ)������
���eo�?��1���R؈q���Fn���w��3����>����ݑ$�5x���k���e�ak�D}<q�’�d�Urx��ښ����a�;�O7-�j��y�;�y����[�$w�8��PHn����?�p�gh���X�!�i�~DZ/���4��+��
+.���c6J���6>�w��0"����Z���S��OzBM��k���=”B�Q�|��(%S���J,�E{�}���`O|�q�����i�w� ��p\}�_����ޗ���O.�Е��e���i�Ź�!%|b��4���}	AӳP������^�f
��]SN�
�~��z���
3�N��!�d����]�	i�љ�1�ҠG_{e���0��_<��0|гlӎ�B^�'�ûU��]#���[�2m\D�
�r�}B?��U��q�չ�%*��d�o��<�G��5u;/�g�d�{=��¥[�J�߾�i�c����`�b=�wE�I��=m �'���a��x$/P��&O�T��D��b��׷����,PIn2���<�m�I%R����m��6�$��K�<�aG�lGI�	�S�>d���������+�C��␁�A��
�Wu��P�5���
�Xv_%!~�������7*1�ryb�Tt
�n|�R=i
l���H�{��G�*RpR}�7Щ�v��(ߺU�d�h,_rѢK�?�ǡf��mU�Ĵ��0�I�(߽+D�P
+6i�AdJ���hl��-@���G���4~8}�ג�G�˩Z"�ϡL�.n8����v*��
+<<��dXF`#+�W����$�Lϡ+�u�D��`��`
�,�����IBnJ�כ�4�El�1�
P�>���B�^�̗�v$�bb���n��P�æE��U�����A�8z!���
\�����p-�2P���6�,�
�\��D�؎YHd���C86�I����~�{���$0��������np�F���
�񣀘&���W��t�x1��>~C/$�L�2����&��%�@��hv�w�cR�@?�w�yN��e�.�-�d��{X#!�6��x x?�����	�]1 m1 ���@O������ŀo��j��J`��Հ���i���_�y�2e�dzt�z����|�#:��ߋk�S�'�����yz�]1+��zUp?��<5O_���ڕ�����:y�}��n�ێ�g�eyj�k�����W���@!�\L��p�� :jH5̲��Ng�9���Ku�/�~9��70�"����b�<fK10=}��}z��)��'�,Z���7	��{�aʲ�x�~'�!Vy����x�~'��{K��n��X�DB��;�?�"�~J��	��i�ezXYr�g0�=ik��m�g���1?�g0�/����R�c�vo`�y�)�Ā�Q��64�@�f��.�0�a��P")��2 �	t��"\�E��F�UQrB��1RD�qX3�������wr�5�T+�M���2e�d����*�w��S6����¤
0���Z	S���"��'p�5p�� S�L/��,�L)��9������q.�K���g��Y��� �X[\L�j
܊Ք~������',L=	�U��Fp~�p�5p�̂��2����u���́����IEND�B`�
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_cc0000_256x240.png b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_cc0000_256x240.png
index 6c64c85e20..8920193948 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_cc0000_256x240.png
+++ b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_cc0000_256x240.png
@@ -1,11 +1,16 @@
 �PNG
 
-���
IHDR�����������IJ���PLTE��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������r����ZtRNS��3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
-��b�J��mߜGc?o�h�#�-���IDATx���r�:�ax|���O�0A�I�%��=��b	���eY����~_�|��Q�d	��@P�(UM�ZI�Z~	&?ׁ��Q��0�A��`ꇚ�^���=�C���
���c�m
-�y
M0�v���C<w���%K0�w���,�FhY�eY��O�	�w݈��#����_����f���|#�݀P����J݀������r"�f?Ŀ0��,��}@N~��0���> OK0�^�eY�eY���K���gqƽ�����3��zHM״��i����zr88��@��u۱�Z�*�:>���c����s��l5��2[4�0'{���y��#�*��ajA��E��;瀣*^�W�X�eY�e�$/���0h@�jro��`���y��g%Y�9=@�H���(��(8� ��dզ"G���[���c��h�G(�<䈹����`}�8@W�:�������e���	y���/$���̰
-��ޗ�p���@�w���ҏo8��4�f0
-��7���i^�ѐ��rt�k8�
����FdY�eY�N�|a�3?b��*I�C���ܞ2��j�`�U�l{J-�~*S��O
b2�����@+��(:�[m!3&:���o4 �E):�;@����Z�c�� �*:x>�&z�S~7��xۥ@rz��
-C�ݟ�!]�����j�X/�C{��,˲,��t��k꛼V��O3g�L�h�����^~k���؈��� �I��<ls����T�{P��j|���.j�g���w�`0��w3�O��_�%}	|{�xP
z�@�����'����=����
-�P�/0�Z�����q����_;����хї3�X�b�81i��{%������,���>���eu�T�����?00000�zs_��>������(W`_��O�f��UA�6��W�Ȼ������i]�l�@��WIL�^�6�-M�^��;+t{��uQQTE��
-
f]1`r�-��u.p��;$	Pl�u������:�L�`P��=@�l6�/��N:ְ�Y �v�o�u�%�	��=�0o8{��N�?���t�s����$
��0
-��6 ��7d;`Z"QNٹ!J� @��
��������LEQh&����������=�`�^��h:!��b��NK(�i�R@b�5�k�셳�A�̕���@.���*��*P���-�����Pd; N�r��.<��ЖQŃU��u�B;xr�!(|���NL��L�.𧶸�+�\��H�)���1YU�Y�bG�����!���A-���=w�������A�&���/a�w�k���\��@��c�%������uN�50000pix�i�%@P�@��D�x�gLK �Ǟp��ݞ��p�YPJ]ks��K�4i�1��p^����&W���f���$��
������^n�Ԙ�X&�@��<���E[?�	��ǻx~�qJZ�Jb2� [0zA/�%!�J�긺>/扫���� ���	��SIḧ��\��v�|�W�V&�S*�o�����㍴@�r�Tꅊ�_�b�n���M�q`�iC��JdK��@)qNy��I�'�w�zKo��\ד0W�:��5 ����.[ޕ�X�{��X<�����o���Z�����H�q���t;~�<�	 �����i�(OQjԹ�";\�n{.��?|����}��);Nz��/��N�{��M�3��H!H(X��Y�I�r��>.W���I$�x哉4���ӆ�gy��Q:����u�����a$��7���4h������\��:(G����V/��v20000PB-��.ϧ2�RT��[&���"��9�	<�g�}�9'�s�����c��2�-3�[��(���ܿ+T���N�_h�Tј+����s���X�Tj�͍�;E����N�!�un�K+��`�
`��_�h���O?��kSQ���F��:���H���m,@�L 	���t�+Ve6��\�F琢R�@Z���NL�-0��=@�9��)�dB�R�6�mHZ�Z.��JX�R��(@FA�\n�\��tx��5|+��;�3��pg��(Yn���W_����\;���4>\����n���j�e!s�0�0��;t��Śןt�Yeǀ�rs� �⋲SzH�_�	�JX,d�:�<I�Igɰ���S�O� �1����%�������9��Z]V�ɻ�Q�:�	��a����Y�1�rK�z����(@|�S����#�	�d��PDb$���;��~8K�9
�§��9����0000P�����O?���3�,�v���£����	�G3fJ���u(f�̎��!`-�[�o}���QSg�셼3���������$�������f���g=����}�0���e�V�A���~��0�����X�bH�Y���B�e($� 2�͈:m���<��V��:ฃ`
V�m�?�ȯ��d0=~�{�W�����u��ј�Ú��?����{���-��aq`````�(�x=&���8$W����zL���`�t�z6���71gr1S����Z]G^�u,�"�$�`;Tö<?C�M��U0�*�
�&��`,;�ƀ�!	��d+�+���R�+���ɏ��Y�-w�Y`���%&�%��0Hp.Q����5AFU�d��A�CY��[�����?�M�I�E��Z/�-����n�R̋b��`���yvs�^P`~�9׆s�vT
,����Fӑ8b4ڼ�Mg����L��wfH�����[�)_@�i�3�Hj���,J�=;V����P����[>�W�~~�t���u�U��;�������1����w������݃�7�~}������C������?��we�����䝽�g�R�;����?M�����s~��w��t���O�������i	}�_�8H����/(3�������m����\��������,uQ?�;�&�C=��l���RKz`���
��
RxWfzf��w����K��4��w���.d����y�})��w,���(6���������� tw����$�9:`�����������[@h/D���?���H����L���\��wg0��L��zQ���1 ��G�~F���~2�_���Y���/�u����Q�50p��?�����W�����IEND�B`�
\ No newline at end of file
+���
IHDR����������������0PLTELiq����������������������������������������������w-���tRNS��3M���-!r@b�c
����-IDATx�n�0D�9��P��!T�C&D��B��b��%[����p����u|+4�׼���� pm�)��2d�3�b�3>�[��3�8��"� ��5�~�Q!��c6w�N�"� k���lѣ�2ږ�p�r~�)`�x
+��E������&�$�w��R֥�_�A�д����*C}d�k�!�n�3Q���wA�l�Z>��*�"�ɦY��y�2aE��p��<P����S�1{����zX�;�)��<.�dn0��rP.�����%!O���_DT�����Q~��(�g�	���¸W<����^IB�'E�	�-XfW�[�p���ҹ;b�Ns�����`�^�������?�*fl���Sf|���%��`��ڽe���6p�=��q{����`�;}�hq�U�:��N����
+*�o��J�,CQX���,����দX�}�NA�%�A.�R���|n'@�;[`	·��ķ�7��_�b
+��D�8���!B�t�ӗ���9����@�����666bq�!�,��(����!�/H��
+�������9򩸗eI��(��j�Ϲ��wx^�E}`�DW�����hA��3�?��P�	���燰Rq���<L�I�]@q?��wu�Z«=�GJa�҃��l�q݆S���|P�9h�z7~�w�dg���d�f�wzr�������i5Yɉ޲	rp�҇�%6"��	�b �!�Xc�0AFX{@"�M�l��!,m
�p���W�U_��NoOϝ������z��꽪~��;w2��c0����r|��8�,��^�Sč�����31�<A@�FZ
+r�5!O�&���z;���`
+����i��Ĥ5H�])����C(����{Y�p}�i MC�&��a�H-����佄�R�1jZ�i222f�&
�ݦq�������t�!P� V��������X%����˭n�q�~�P&S������]{^	"VS�C����R돩�:��R38���C��xcc��lI��;Q�ݒ
+���ñmXXj��v�������}aH����>`q#p��>qA�	%���TLDT�l�f�)�@���_$����KIX8ı�$�7!G}æPX����Ǧ�D�E�fՅB��%(G�\�F���	���Q~/�F���
��C�
+�r�hΐu	%P�*pı{՜��*��������x���ѡ��+���;��%�~����m�K{~P]��M �"	���|�#��F�(�����K���U(���e�!�rߎ�9�����C.��\$@S�cX!Ee�04u�Ar�|;�!�/����*���tn���&=�JC�<�9��KJF�+��4A�4�
S������M���;��0�=&�����N�R؈u���F��ӫ��;g��!l��=N=�����@6��"��m���u��ezx��%�$���浵59Q3r
�@7�O�nYS�̉���w���[<г�#���z�\B y��l��<CC,�H����ֻ�=9.���׽b�z���޿c͆@iG`��W`�]�R����Zϻ
+X��W ���1��u�Y3��2
��']W�Rrk���F`]��^t�����l��������|�8���;����O�@�������`�~_v޿?�b����m�|=�J ��2�$P�hu)��0Ħk����A��|�X�M9����ת�����:Ѡ��$jRN��?��#_!���i�.}��Ȉjn��Ѩ0Lgb�Oz��6(�U�Y�=�R��9~P
+l�du1����󄞰�}Uu�Q�չ�5*�����z)��G�{5�8/�9n���c�p�6�I)���2��y�`��]�P�#�T�Ϳ��B�A͔s��#"��>\�2���l%�ú]�=�J���!�ʔn�N�"E��h��v��T��*`�p_��DI�*��@=��� �����x,�^ (Z���j��
+�C���}z�T��GIH�}�������J�\��	����[�	�?���l��֐����G�*����>�~uo����۷K��3���+������8��?��:%1p2}%U(߽+�S(�-�n�y��5��� \��G���4�>0��k��ǔ˩�D232��˛N?~G�n�?\��R���Ȋ��ur��C�Uz��4��`���p�0\�;�<��כ�49~"6�Xp���/�j~�S�|�������v�AE^n�=��a˪C��vL�{pޤH��P������Wk�0�
��
+�sp~�ZV�fֿ(��0��	��?���T`�Nx�b`��=`�W ]!�>���t���oj�O7|N�4'�Y׫WR	�6O����
�LDFFƱ�*�X�_������0|�q�'�A��q��9}��;�����V�����s���'���Aǽ�O]KX�H�ٖ�b����<f�tu�l��@`Y�m�2b�y��xj}@���4G���_���edd�.](o��5�
>�� �l�^����p��{����]1+�x�����HO��髝{
L�`ۚȸF�n߼ɱ����s��jYO�f��i/Ao5x�b8�b��ċ����ICz�,[	�������q�N�e�.G���	��ߓ�0��:���G�ܧ����=��^�n9nk����e�і���/!�<�d�r�帳{�=�5�\7܋}�X#��ۻ�'Fz�)��0�ӨezX�9�5�_��A�m���a���3�f����̄��Xb��v��C
+�	�~tC�
6C+P�`�K0h�{0 0P������	tg��pEw*$6j[uJN��v��Qr`�a&ǝ�������4��j�q�������8�'���B�)XJ7�j�a���)@�ĩ@LH��+p�}��G�KOFF�"�̔„����N��x�b* o\|~0�1*�b$��bR�����1My�7H,%�z��I�^)��LU���Hε��Y��QƤ�?u�8������IEND�B`�
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_ffffff_256x240.png b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_ffffff_256x240.png
index 4ab379a1f7..1cba4313d3 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_ffffff_256x240.png
+++ b/web/core/assets/vendor/jquery.ui/themes/base/images/ui-icons_ffffff_256x240.png
@@ -1,11 +1,21 @@
 �PNG
 
-���
IHDR�����������IJ���PLTE�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������)[V���ZtRNS��3P���/"Uq@f`2�
!<BHK Z#'1S,�4���j���8E���|��������)��Q$�
-��b�J��mߜGc?o�h�#�-���IDATx���r�:�ax|���O�0A�I�%��=��b	���eY����~_�|��Q�d	��@P�(UM�ZI�Z~	&?ׁ��Q��0�A��`ꇚ�^���=�C���
���c�m
-�y
M0�v���C<w���%K0�w���,�FhY�eY��O�	�w݈��#����_����f���|#�݀P����J݀������r"�f?Ŀ0��,��}@N~��0���> OK0�^�eY�eY���K���gqƽ�����3��zHM״��i����zr88��@��u۱�Z�*�:>���c����s��l5��2[4�0'{���y��#�*��ajA��E��;瀣*^�W�X�eY�e�$/���0h@�jro��`���y��g%Y�9=@�H���(��(8� ��dզ"G���[���c��h�G(�<䈹����`}�8@W�:�������e���	y���/$���̰
-��ޗ�p���@�w���ҏo8��4�f0
-��7���i^�ѐ��rt�k8�
����FdY�eY�N�|a�3?b��*I�C���ܞ2��j�`�U�l{J-�~*S��O
b2�����@+��(:�[m!3&:���o4 �E):�;@����Z�c�� �*:x>�&z�S~7��xۥ@rz��
-C�ݟ�!]�����j�X/�C{��,˲,��t��k꛼V��O3g�L�h�����^~k���؈��� �I��<ls����T�{P��j|���.j�g���w�`0��w3�O��_�%}	|{�xP
z�@�����'����=����
-�P�/0�Z�����q����_;����хї3�X�b�81i��{%������,���>���eu�T�����?00000�zs_��>������(W`_��O�f��UA�6��W�Ȼ������i]�l�@��WIL�^�6�-M�^��;+t{��uQQTE��
-
f]1`r�-��u.p��;$	Pl�u������:�L�`P��=@�l6�/��N:ְ�Y �v�o�u�%�	��=�0o8{��N�?���t�s����$
��0
-��6 ��7d;`Z"QNٹ!J� @��
��������LEQh&����������=�`�^��h:!��b��NK(�i�R@b�5�k�셳�A�̕���@.���*��*P���-�����Pd; N�r��.<��ЖQŃU��u�B;xr�!(|���NL��L�.𧶸�+�\��H�)���1YU�Y�bG�����!���A-���=w�������A�&���/a�w�k���\��@��c�%������uN�50000pix�i�%@P�@��D�x�gLK �Ǟp��ݞ��p�YPJ]ks��K�4i�1��p^����&W���f���$��
������^n�Ԙ�X&�@��<���E[?�	��ǻx~�qJZ�Jb2� [0zA/�%!�J�긺>/扫���� ���	��SIḧ��\��v�|�W�V&�S*�o�����㍴@�r�Tꅊ�_�b�n���M�q`�iC��JdK��@)qNy��I�'�w�zKo��\ד0W�:��5 ����.[ޕ�X�{��X<�����o���Z�����H�q���t;~�<�	 �����i�(OQjԹ�";\�n{.��?|����}��);Nz��/��N�{��M�3��H!H(X��Y�I�r��>.W���I$�x哉4���ӆ�gy��Q:����u�����a$��7���4h������\��:(G����V/��v20000PB-��.ϧ2�RT��[&���"��9�	<�g�}�9'�s�����c��2�-3�[��(���ܿ+T���N�_h�Tј+����s���X�Tj�͍�;E����N�!�un�K+��`�
`��_�h���O?��kSQ���F��:���H���m,@�L 	���t�+Ve6��\�F琢R�@Z���NL�-0��=@�9��)�dB�R�6�mHZ�Z.��JX�R��(@FA�\n�\��tx��5|+��;�3��pg��(Yn���W_����\;���4>\����n���j�e!s�0�0��;t��Śןt�Yeǀ�rs� �⋲SzH�_�	�JX,d�:�<I�Igɰ���S�O� �1����%�������9��Z]V�ɻ�Q�:�	��a����Y�1�rK�z����(@|�S����#�	�d��PDb$���;��~8K�9
�§��9����0000P�����O?���3�,�v���£����	�G3fJ���u(f�̎��!`-�[�o}���QSg�셼3���������$�������f���g=����}�0���e�V�A���~��0�����X�bH�Y���B�e($� 2�͈:m���<��V��:ฃ`
V�m�?�ȯ��d0=~�{�W�����u��ј�Ú��?����{���-��aq`````�(�x=&���8$W����zL���`�t�z6���71gr1S����Z]G^�u,�"�$�`;Tö<?C�M��U0�*�
�&��`,;�ƀ�!	��d+�+���R�+���ɏ��Y�-w�Y`���%&�%��0Hp.Q����5AFU�d��A�CY��[�����?�M�I�E��Z/�-����n�R̋b��`���yvs�^P`~�9׆s�vT
,����Fӑ8b4ڼ�Mg����L��wfH�����[�)_@�i�3�Hj���,J�=;V����P����[>�W�~~�t���u�U��;�������1����w������݃�7�~}������C������?��we�����䝽�g�R�;����?M�����s~��w��t���O�������i	}�_�8H����/(3�������m����\��������,uQ?�;�&�C=��l���RKz`���
��
RxWfzf��w����K��4��w���.d����y�})��w,���(6���������� tw����$�9:`�����������[@h/D���?���H����L���\��wg0��L��zQ���1 ��G�~F���~2�_���Y���/�u����Q�50p��?�����W�����IEND�B`�
\ No newline at end of file
+���
IHDR����������������0PLTELiq����������������������������������������������É����tRNS��3N���-!sAb�1DJ���/IDATx�n�0D�9��P��!T�C&D��B��b��%[����p����u|+4�׼���� pm�)��2d�3�b�3>�[��3�8��"� ��5�~�Q!��c6w�N�"� k���lѣ�2ږ�p�r~�)`�x
+��E������&�$�w��R֥�_�A�д����*C}d�k�!�n�3Q���wA�l�Z>��*�"�ɦY��y�2aE��p��<P����S�1{����zX�;�)��<.�dn0��rP.�����%!O���_DT�����Q~��(�g�	���¸W<����^IB�'E�	�-XfW�[�p���ҹ;b�Ns�����`�^�������?�*fl���Sf|���%��`��ڽe���6p�=��q{����`�;}�hq�U�:��N����
+*�o��J�,CQX���,����দX�}�NA�%�A.�R���|n'@�;[`	·��ķ�7��_�b
+��D�8���!B�t�ӗ���9����@�����666bq�!�,��(����!�/H��
+�������9򩸗eI��(��j�Ϲ��wx^�E}`�DW�����hA��3�?��P�	���燰Rq���<L�I�]@q?��wu�Z«=�GJa�҃��l�q݆S���|P�9h�z7~�w�dg�����f�wzr�������i5Yɉ޲	r����vKlDs!�@C�	��7`�����D蛐;�h�CX���R�}�䫾�LO��o��Twu�ェ��ƞ;9�t�1�����
+��+���Qr�+���քs�����31�<A@�FZ
+
+�uC��l���\(g�)p&f�o��(�AL:P�T��ѕ��.A��*@���K ]�(�a�c0���i�1��G�9���e���Q���p~�Q�>FM�"MNN�Цqt��)ާ��Ԑn1*�J�[���W��*9�Őe^NukO"�K�*9���ϵ�����J��;�\�,u~��]�4@V���rQi<���h� �`���v�.��R�pl[V��ݮ����%��������y$��X��/��]{@�j66UUm�;�r�2Pv��'	p�dt�RVp$�	�UȞe߰)�u���˱)��ue���R�Ķ��낫_�^�6a>'�<��\|��asx�]�RT-�������_9vk�^P}��}��q#�t�oZ=<<��t^�v���kw�*������LJ�	�v�(��`�0R�&4�b�{{��t]]�����\Eҗ{v�!恪���s��mُ�y`�����4�Ig��v�c_h�e��U�y)����mzf��"y&sУ����WAi�2i�4a[]�#�wdZ���(��L��O&�W:*a+����Ϡ��^�q��0�A08u���kـW�z��fQ���I�Vl$���Û��59P;r
�@7�ϞmZS�̉���7��Z�?0�."��+����:@r9�>��W���	�#
����w��_@뿯{�ڍ��k�ƚ
�ʶ
+������
+�`0�ۛ���w�&��@ѿ�#�uɵf��_#L%d୧O������.����c�������o0�����|�85������B�����y���~�������b7���-�b3�L Z�2�$P�h��}cӷR���堣~�a�
ܦH�M���k՟��p�d�h�Ew5
� ���D�f�΍'4�a�����D
7��lT�S1< �=�`�vZ��Y�;�S��9�S	h�b�
+b�xW����e�����O
+P��5�Q�MN��K�m|�`�P���M�7b�#\��l�g�^��H���w��m�y쯊�����:@(wP3�����@e��USu����aݮߞ\�f����$�n�I�"ey�t���
+�ξT`�*`~wO�lGI�*��@����2vW�`<���#e�7Q]
���R)|$}J['HW`�}��4����z����$�K��H����,�AX�Q��c`�Ȅ��\%�4�=~\�f����{��=�zToݪp2
O5�/�ҢG�����0ö�Ĵ��4��8Pc�z�N�6i�Ed*���hl7?[�p���U�o������_J�>�BA�%�i���r����o�Bة��+��B
+ �2Y���N�c�H�B/�U`��0[�ml�W��u���������z��%�g!bS��@���:��g��Z��`�����7UlZ��=Վi~����
+p1=�J�f��\T�rη�c`f��
+e�؆YH0e����X���������6���@�B�}��|u���oj�O7|N�Ĕ�cĬ��+��Л'â�|
+��:;LDNNΑ�
+S&��I��N��o>G���	@�<o��qJ��e���d��e��Ab�lz�� �<����k	�=	 �@,�0g���M"�eH�,K��M^F�0O��Oo(���,�г�Kz���ӧ�M󗖵�Gt��_�3�)�`�w���>;fẈ9ި���=�gF��ޱ�S�߲&2����7np��F��xw:�g�]�ܶ]0X
������x1��V��%�a�������mO��q�I�e�.G��:����0O�:��ɇ�=�����=��^�o�/�5�{�Q˲�d�~���Su�p9ٲ��=����pnľV��������#�����
��i�2=,�\��y\��A�m���a�\��3��f���̄����q`�q�)�@��&l�V�B3@�.5�=�H�h����z��A����%'Fj;Vʨ8��y��~��(�O4���&��V����Crrr���L�W�=��K�;1L:��9蠓r�	)�\|.~\�,���y�Y��R��=���la����.�����W��� F�-.&���Ӗ7~��R��W ~<)���+ `U����
+pq�)�9���1��5�X�x'E�������IEND�B`�
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/menu.css b/web/core/assets/vendor/jquery.ui/themes/base/menu.css
index 60373e88c7..57c655ee1c 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/menu.css
+++ b/web/core/assets/vendor/jquery.ui/themes/base/menu.css
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Menu 1.12.1
+ * jQuery UI Menu 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/resizable.css b/web/core/assets/vendor/jquery.ui/themes/base/resizable.css
index 2ee40cf3a9..707378d542 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/resizable.css
+++ b/web/core/assets/vendor/jquery.ui/themes/base/resizable.css
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Resizable 1.12.1
+ * jQuery UI Resizable 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
diff --git a/web/core/assets/vendor/jquery.ui/themes/base/theme.css b/web/core/assets/vendor/jquery.ui/themes/base/theme.css
index 79937075d9..a2e9a8229d 100644
--- a/web/core/assets/vendor/jquery.ui/themes/base/theme.css
+++ b/web/core/assets/vendor/jquery.ui/themes/base/theme.css
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI CSS Framework 1.12.1
+ * jQuery UI CSS Framework 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -172,18 +172,18 @@ a.ui-button:active,
 .ui-widget-content .ui-priority-secondary,
 .ui-widget-header .ui-priority-secondary {
 	opacity: .7;
-	filter:Alpha(Opacity=70); /* support: IE8 */
+	-ms-filter: "alpha(opacity=70)"; /* support: IE8 */
 	font-weight: normal;
 }
 .ui-state-disabled,
 .ui-widget-content .ui-state-disabled,
 .ui-widget-header .ui-state-disabled {
 	opacity: .35;
-	filter:Alpha(Opacity=35); /* support: IE8 */
+	-ms-filter: "alpha(opacity=35)"; /* support: IE8 */
 	background-image: none;
 }
 .ui-state-disabled .ui-icon {
-	filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
+	-ms-filter: "alpha(opacity=35)"; /* support: IE8 - See #6059 */
 }
 
 /* Icons
@@ -224,7 +224,10 @@ a.ui-button:active,
 }
 
 /* positioning */
-.ui-icon-blank { background-position: 16px 16px; }
+/* Three classes needed to override `.ui-button:hover .ui-icon` */
+.ui-icon-blank.ui-icon-blank.ui-icon-blank {
+	background-image: none;
+}
 .ui-icon-caret-1-n { background-position: 0 0; }
 .ui-icon-caret-1-ne { background-position: -16px 0; }
 .ui-icon-caret-1-e { background-position: -32px 0; }
@@ -435,7 +438,7 @@ a.ui-button:active,
 .ui-widget-overlay {
 	background: #aaaaaa/*{bgColorOverlay}*/ /*{bgImgUrlOverlay}*/ /*{bgOverlayXPos}*/ /*{bgOverlayYPos}*/ /*{bgOverlayRepeat}*/;
 	opacity: .3/*{opacityOverlay}*/;
-	filter: Alpha(Opacity=30)/*{opacityFilterOverlay}*/; /* support: IE8 */
+	-ms-filter: "alpha(opacity=30)"/*{opacityFilterOverlay}*/; /* support: IE8 */
 }
 .ui-widget-shadow {
 	-webkit-box-shadow: 0/*{offsetLeftShadow}*/ 0/*{offsetTopShadow}*/ 5px/*{thicknessShadow}*/ #666666/*{bgColorShadow}*/;
diff --git a/web/core/assets/vendor/jquery.ui/ui/data-min.js b/web/core/assets/vendor/jquery.ui/ui/data-min.js
index 4cbebc62ac..75afd1077a 100644
--- a/web/core/assets/vendor/jquery.ui/ui/data-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/data-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI :data 1.12.1
+ * jQuery UI :data 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){return e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo((function(n){return function(t){return!!e.data(t,n)}})):function(n,t,r){return!!e.data(n,r[3])}})}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){"use strict";return e.extend(e.expr.pseudos,{data:e.expr.createPseudo?e.expr.createPseudo((function(n){return function(t){return!!e.data(t,n)}})):function(n,t,r){return!!e.data(n,r[3])}})}));
+//# sourceMappingURL=data-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/data-min.js.map b/web/core/assets/vendor/jquery.ui/ui/data-min.js.map
new file mode 100644
index 0000000000..c5296161b8
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/data-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["data.js"],"names":["factory","define","amd","jQuery","$","extend","expr","pseudos","data","createPseudo","dataName","elem","i","match"],"mappings":";;;;;;;;CAcA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAEA,OAAOA,EAAEC,OAAQD,EAAEE,KAAKC,QAAS,CAChCC,KAAMJ,EAAEE,KAAKG,aACZL,EAAEE,KAAKG,cAAc,SAAUC,GAC9B,OAAO,SAAUC,GAChB,QAASP,EAAEI,KAAMG,EAAMD,OAKzB,SAAUC,EAAMC,EAAGC,GAClB,QAAST,EAAEI,KAAMG,EAAME,EAAO","file":"data-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/data.js b/web/core/assets/vendor/jquery.ui/ui/data.js
index 1a14ed1cf2..c0fcedc7d5 100644
--- a/web/core/assets/vendor/jquery.ui/ui/data.js
+++ b/web/core/assets/vendor/jquery.ui/ui/data.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI :data 1.12.1
+ * jQuery UI :data 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -13,6 +13,8 @@
 //>>docs: http://api.jqueryui.com/data-selector/
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -22,8 +24,10 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
-return $.extend( $.expr[ ":" ], {
+} )( function( $ ) {
+"use strict";
+
+return $.extend( $.expr.pseudos, {
 	data: $.expr.createPseudo ?
 		$.expr.createPseudo( function( dataName ) {
 			return function( elem ) {
@@ -36,4 +40,4 @@ return $.extend( $.expr[ ":" ], {
 			return !!$.data( elem, match[ 3 ] );
 		}
 } );
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/disable-selection-min.js b/web/core/assets/vendor/jquery.ui/ui/disable-selection-min.js
index cc73c2edad..77b6cee77f 100644
--- a/web/core/assets/vendor/jquery.ui/ui/disable-selection-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/disable-selection-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Disable Selection 1.12.1
+ * jQuery UI Disable Selection 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){return e.fn.extend({disableSelection:(n="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(n+".ui-disableSelection",(function(e){e.preventDefault()}))}),enableSelection:function(){return this.off(".ui-disableSelection")}});var n}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){"use strict";return e.fn.extend({disableSelection:(n="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(n+".ui-disableSelection",(function(e){e.preventDefault()}))}),enableSelection:function(){return this.off(".ui-disableSelection")}});var n}));
+//# sourceMappingURL=disable-selection-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/disable-selection-min.js.map b/web/core/assets/vendor/jquery.ui/ui/disable-selection-min.js.map
new file mode 100644
index 0000000000..24481f91e3
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/disable-selection-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["disable-selection.js"],"names":["factory","define","amd","jQuery","$","fn","extend","disableSelection","eventType","document","createElement","this","on","event","preventDefault","enableSelection","off"],"mappings":";;;;;;;;CAeA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAEA,OAAOA,EAAEC,GAAGC,OAAQ,CACnBC,kBACKC,EAAY,kBAAmBC,SAASC,cAAe,OAC1D,cACA,YAEM,WACN,OAAOC,KAAKC,GAAIJ,EAAY,wBAAwB,SAAUK,GAC7DA,EAAMC,sBAKTC,gBAAiB,WAChB,OAAOJ,KAAKK,IAAK,2BAbA,IACbR","file":"disable-selection-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/disable-selection.js b/web/core/assets/vendor/jquery.ui/ui/disable-selection.js
index 6188b64687..9f6bf815c9 100644
--- a/web/core/assets/vendor/jquery.ui/ui/disable-selection.js
+++ b/web/core/assets/vendor/jquery.ui/ui/disable-selection.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Disable Selection 1.12.1
+ * jQuery UI Disable Selection 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -14,6 +14,8 @@
 
 // This file is deprecated
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -23,7 +25,8 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 return $.fn.extend( {
 	disableSelection: ( function() {
@@ -43,4 +46,4 @@ return $.fn.extend( {
 	}
 } );
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/escape-selector-min.js b/web/core/assets/vendor/jquery.ui/ui/escape-selector-min.js
deleted file mode 100644
index 2981d91bcf..0000000000
--- a/web/core/assets/vendor/jquery.ui/ui/escape-selector-min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){return e.ui.escapeSelector=(n=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g,function(e){return e.replace(n,"\\$1")});var n}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/escape-selector.js b/web/core/assets/vendor/jquery.ui/ui/escape-selector.js
deleted file mode 100644
index d43e4f8166..0000000000
--- a/web/core/assets/vendor/jquery.ui/ui/escape-selector.js
+++ /dev/null
@@ -1,21 +0,0 @@
-( function( factory ) {
-	if ( typeof define === "function" && define.amd ) {
-
-		// AMD. Register as an anonymous module.
-		define( [ "jquery", "./version" ], factory );
-	} else {
-
-		// Browser globals
-		factory( jQuery );
-	}
-} ( function( $ ) {
-
-// Internal use only
-return $.ui.escapeSelector = ( function() {
-	var selectorEscape = /([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;
-	return function( selector ) {
-		return selector.replace( selectorEscape, "\\$1" );
-	};
-} )();
-
-} ) );
diff --git a/web/core/assets/vendor/jquery.ui/ui/focusable-min.js b/web/core/assets/vendor/jquery.ui/ui/focusable-min.js
index b604436ad5..077b5aed14 100644
--- a/web/core/assets/vendor/jquery.ui/ui/focusable-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/focusable-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Focusable 1.12.1
+ * jQuery UI Focusable 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){return e.ui.focusable=function(i,t){var n,a,r,s,o,u=i.nodeName.toLowerCase();return"area"===u?(a=(n=i.parentNode).name,!(!i.href||!a||"map"!==n.nodeName.toLowerCase())&&((r=e("img[usemap='#"+a+"']")).length>0&&r.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(u)?(s=!i.disabled)&&(o=e(i).closest("fieldset")[0])&&(s=!o.disabled):s="a"===u&&i.href||t,s&&e(i).is(":visible")&&function(e){var i=e.css("visibility");for(;"inherit"===i;)i=(e=e.parent()).css("visibility");return"hidden"!==i}(e(i)))},e.extend(e.expr[":"],{focusable:function(i){return e.ui.focusable(i,null!=e.attr(i,"tabindex"))}}),e.ui.focusable}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){"use strict";return e.ui.focusable=function(i,t){var n,s,r,u,a,o=i.nodeName.toLowerCase();return"area"===o?(s=(n=i.parentNode).name,!(!i.href||!s||"map"!==n.nodeName.toLowerCase())&&((r=e("img[usemap='#"+s+"']")).length>0&&r.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(o)?(u=!i.disabled)&&(a=e(i).closest("fieldset")[0])&&(u=!a.disabled):u="a"===o&&i.href||t,u&&e(i).is(":visible")&&function(e){var i=e.css("visibility");for(;"inherit"===i;)i=(e=e.parent()).css("visibility");return"visible"===i}(e(i)))},e.extend(e.expr.pseudos,{focusable:function(i){return e.ui.focusable(i,null!=e.attr(i,"tabindex"))}}),e.ui.focusable}));
+//# sourceMappingURL=focusable-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/focusable-min.js.map b/web/core/assets/vendor/jquery.ui/ui/focusable-min.js.map
new file mode 100644
index 0000000000..b84a2b8b7b
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/focusable-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["focusable.js"],"names":["factory","define","amd","jQuery","$","ui","focusable","element","hasTabindex","map","mapName","img","focusableIfVisible","fieldset","nodeName","toLowerCase","parentNode","name","href","length","is","test","disabled","closest","visibility","css","parent","visible","extend","expr","pseudos","attr"],"mappings":";;;;;;;;CAcA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAyDA,OAtDAA,EAAEC,GAAGC,UAAY,SAAUC,EAASC,GACnC,IAAIC,EAAKC,EAASC,EAAKC,EAAoBC,EAC1CC,EAAWP,EAAQO,SAASC,cAE7B,MAAK,SAAWD,GAEfJ,GADAD,EAAMF,EAAQS,YACAC,QACRV,EAAQW,OAASR,GAA0C,QAA/BD,EAAIK,SAASC,kBAG/CJ,EAAMP,EAAG,gBAAkBM,EAAU,OAC1BS,OAAS,GAAKR,EAAIS,GAAI,eAG7B,0CAA0CC,KAAMP,IACpDF,GAAsBL,EAAQe,YAQ7BT,EAAWT,EAAGG,GAAUgB,QAAS,YAAc,MAE9CX,GAAsBC,EAASS,UAIjCV,EADW,MAAQE,GACEP,EAAQW,MAERV,EAGfI,GAAsBR,EAAGG,GAAUa,GAAI,aAK/C,SAAkBb,GACjB,IAAIiB,EAAajB,EAAQkB,IAAK,cAC9B,KAAuB,YAAfD,GAEPA,GADAjB,EAAUA,EAAQmB,UACGD,IAAK,cAE3B,MAAsB,YAAfD,EAXuDG,CAASvB,EAAGG,MAc3EH,EAAEwB,OAAQxB,EAAEyB,KAAKC,QAAS,CACzBxB,UAAW,SAAUC,GACpB,OAAOH,EAAEC,GAAGC,UAAWC,EAA0C,MAAjCH,EAAE2B,KAAMxB,EAAS,gBAI5CH,EAAEC,GAAGC","file":"focusable-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/focusable.js b/web/core/assets/vendor/jquery.ui/ui/focusable.js
index 44992890d3..9ed3f85c98 100644
--- a/web/core/assets/vendor/jquery.ui/ui/focusable.js
+++ b/web/core/assets/vendor/jquery.ui/ui/focusable.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Focusable 1.12.1
+ * jQuery UI Focusable 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -13,6 +13,8 @@
 //>>docs: http://api.jqueryui.com/focusable-selector/
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -22,7 +24,8 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 // Selectors
 $.ui.focusable = function( element, hasTabindex ) {
@@ -70,10 +73,10 @@ function visible( element ) {
 		element = element.parent();
 		visibility = element.css( "visibility" );
 	}
-	return visibility !== "hidden";
+	return visibility === "visible";
 }
 
-$.extend( $.expr[ ":" ], {
+$.extend( $.expr.pseudos, {
 	focusable: function( element ) {
 		return $.ui.focusable( element, $.attr( element, "tabindex" ) != null );
 	}
@@ -81,4 +84,4 @@ $.extend( $.expr[ ":" ], {
 
 return $.ui.focusable;
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/form-min.js b/web/core/assets/vendor/jquery.ui/ui/form-min.js
index 23f1a63545..3e124340ca 100644
--- a/web/core/assets/vendor/jquery.ui/ui/form-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/form-min.js
@@ -1 +1,2 @@
-!function(n){"function"==typeof define&&define.amd?define(["jquery","./version"],n):n(jQuery)}((function(n){return n.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):n(this[0].form)}}));
\ No newline at end of file
+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){"use strict";return t.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)}}));
+//# sourceMappingURL=form-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/form-min.js.map b/web/core/assets/vendor/jquery.ui/ui/form-min.js.map
new file mode 100644
index 0000000000..0c41fd34dd
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/form-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["form.js"],"names":["factory","define","amd","jQuery","$","fn","_form","this","form","closest"],"mappings":"CAAA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAKA,OAAOA,EAAEC,GAAGC,MAAQ,WACnB,MAAiC,iBAAnBC,KAAM,GAAIC,KAAoBD,KAAKE,QAAS,QAAWL,EAAGG,KAAM,GAAIC","file":"form-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/form-reset-mixin-min.js b/web/core/assets/vendor/jquery.ui/ui/form-reset-mixin-min.js
index 8a4158813b..5f5eaf1ab1 100644
--- a/web/core/assets/vendor/jquery.ui/ui/form-reset-mixin-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/form-reset-mixin-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Form Reset Mixin 1.12.1
+ * jQuery UI Form Reset Mixin 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./form","./version"],e):e(jQuery)}((function(e){return e.ui.formResetMixin={_formResetHandler:function(){var t=e(this);setTimeout((function(){var r=t.data("ui-form-reset-instances");e.each(r,(function(){this.refresh()}))}))},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var e=this.form.data("ui-form-reset-instances")||[];e.length||this.form.on("reset.ui-form-reset",this._formResetHandler),e.push(this),this.form.data("ui-form-reset-instances",e)}},_unbindFormResetHandler:function(){if(this.form.length){var t=this.form.data("ui-form-reset-instances");t.splice(e.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}}}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./form","./version"],e):e(jQuery)}((function(e){"use strict";return e.ui.formResetMixin={_formResetHandler:function(){var t=e(this);setTimeout((function(){var r=t.data("ui-form-reset-instances");e.each(r,(function(){this.refresh()}))}))},_bindFormResetHandler:function(){if(this.form=this.element._form(),this.form.length){var e=this.form.data("ui-form-reset-instances")||[];e.length||this.form.on("reset.ui-form-reset",this._formResetHandler),e.push(this),this.form.data("ui-form-reset-instances",e)}},_unbindFormResetHandler:function(){if(this.form.length){var t=this.form.data("ui-form-reset-instances");t.splice(e.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}}}));
+//# sourceMappingURL=form-reset-mixin-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/form-reset-mixin-min.js.map b/web/core/assets/vendor/jquery.ui/ui/form-reset-mixin-min.js.map
new file mode 100644
index 0000000000..c49cb09286
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/form-reset-mixin-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["form-reset-mixin.js"],"names":["factory","define","amd","jQuery","$","ui","formResetMixin","_formResetHandler","form","this","setTimeout","instances","data","each","refresh","_bindFormResetHandler","element","_form","length","on","push","_unbindFormResetHandler","splice","inArray","removeData","off"],"mappings":";;;;;;;;CAcA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CACP,SACA,SACA,aACED,GAIHA,EAASG,QAdX,EAgBK,SAAUC,GACf,aAEA,OAAOA,EAAEC,GAAGC,eAAiB,CAC5BC,kBAAmB,WAClB,IAAIC,EAAOJ,EAAGK,MAGdC,YAAY,WACX,IAAIC,EAAYH,EAAKI,KAAM,2BAC3BR,EAAES,KAAMF,GAAW,WAClBF,KAAKK,iBAKRC,sBAAuB,WAEtB,GADAN,KAAKD,KAAOC,KAAKO,QAAQC,QACnBR,KAAKD,KAAKU,OAAhB,CAIA,IAAIP,EAAYF,KAAKD,KAAKI,KAAM,4BAA+B,GACzDD,EAAUO,QAGfT,KAAKD,KAAKW,GAAI,sBAAuBV,KAAKF,mBAE3CI,EAAUS,KAAMX,MAChBA,KAAKD,KAAKI,KAAM,0BAA2BD,KAG5CU,wBAAyB,WACxB,GAAMZ,KAAKD,KAAKU,OAAhB,CAIA,IAAIP,EAAYF,KAAKD,KAAKI,KAAM,2BAChCD,EAAUW,OAAQlB,EAAEmB,QAASd,KAAME,GAAa,GAC3CA,EAAUO,OACdT,KAAKD,KAAKI,KAAM,0BAA2BD,GAE3CF,KAAKD,KACHgB,WAAY,2BACZC,IAAK","file":"form-reset-mixin-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/form-reset-mixin.js b/web/core/assets/vendor/jquery.ui/ui/form-reset-mixin.js
index 74be1d5b9a..590a6c5ee6 100644
--- a/web/core/assets/vendor/jquery.ui/ui/form-reset-mixin.js
+++ b/web/core/assets/vendor/jquery.ui/ui/form-reset-mixin.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Form Reset Mixin 1.12.1
+ * jQuery UI Form Reset Mixin 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -13,6 +13,8 @@
 //>>docs: http://api.jqueryui.com/form-reset-mixin/
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -26,7 +28,8 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 return $.ui.formResetMixin = {
 	_formResetHandler: function() {
@@ -42,7 +45,7 @@ return $.ui.formResetMixin = {
 	},
 
 	_bindFormResetHandler: function() {
-		this.form = this.element.form();
+		this.form = this.element._form();
 		if ( !this.form.length ) {
 			return;
 		}
@@ -74,4 +77,4 @@ return $.ui.formResetMixin = {
 	}
 };
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/form.js b/web/core/assets/vendor/jquery.ui/ui/form.js
index cfb4bd280d..60b052277c 100644
--- a/web/core/assets/vendor/jquery.ui/ui/form.js
+++ b/web/core/assets/vendor/jquery.ui/ui/form.js
@@ -1,4 +1,6 @@
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -8,13 +10,14 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 // Support: IE8 Only
 // IE8 does not support the form attribute and when it is supplied. It overwrites the form prop
 // with a string, so we need to find the proper form.
-return $.fn.form = function() {
+return $.fn._form = function() {
 	return typeof this[ 0 ].form === "string" ? this.closest( "form" ) : $( this[ 0 ].form );
 };
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/ie-min.js b/web/core/assets/vendor/jquery.ui/ui/ie-min.js
index 86f65f6407..192574f6b9 100644
--- a/web/core/assets/vendor/jquery.ui/ui/ie-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/ie-min.js
@@ -1 +1,2 @@
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){return e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase())}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){"use strict";return e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase())}));
+//# sourceMappingURL=ie-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/ie-min.js.map b/web/core/assets/vendor/jquery.ui/ui/ie-min.js.map
new file mode 100644
index 0000000000..0520cf2bf7
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/ie-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["ie.js"],"names":["factory","define","amd","jQuery","$","ui","ie","exec","navigator","userAgent","toLowerCase"],"mappings":"CAAA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAGA,OAAOA,EAAEC,GAAGC,KAAO,cAAcC,KAAMC,UAAUC,UAAUC","file":"ie-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/ie.js b/web/core/assets/vendor/jquery.ui/ui/ie.js
index 1ce6a8450d..1754b94a9f 100644
--- a/web/core/assets/vendor/jquery.ui/ui/ie.js
+++ b/web/core/assets/vendor/jquery.ui/ui/ie.js
@@ -1,4 +1,6 @@
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -8,8 +10,9 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 // This file is deprecated
 return $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js b/web/core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js
deleted file mode 100644
index e06998288a..0000000000
--- a/web/core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/*!
- * jQuery UI Support for jQuery core 1.7.x 1.12.1
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- */
-!function(t){"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],(function(n,i){var e="Width"===i?["Left","Right"]:["Top","Bottom"],r=i.toLowerCase(),h={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};function s(n,i,r,h){return t.each(e,(function(){i-=parseFloat(t.css(n,"padding"+this))||0,r&&(i-=parseFloat(t.css(n,"border"+this+"Width"))||0),h&&(i-=parseFloat(t.css(n,"margin"+this))||0)})),i}t.fn["inner"+i]=function(n){return void 0===n?h["inner"+i].call(this):this.each((function(){t(this).css(r,s(this,n)+"px")}))},t.fn["outer"+i]=function(n,e){return"number"!=typeof n?h["outer"+i].call(this,n):this.each((function(){t(this).css(r,s(this,n,!0,e)+"px")}))}})),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))})}));
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/jquery-1-7.js b/web/core/assets/vendor/jquery.ui/ui/jquery-1-7.js
deleted file mode 100644
index 252b427609..0000000000
--- a/web/core/assets/vendor/jquery.ui/ui/jquery-1-7.js
+++ /dev/null
@@ -1,89 +0,0 @@
-/*!
- * jQuery UI Support for jQuery core 1.7.x 1.12.1
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- */
-
-//>>label: jQuery 1.7 Support
-//>>group: Core
-//>>description: Support version 1.7.x of jQuery core
-
-( function( factory ) {
-	if ( typeof define === "function" && define.amd ) {
-
-		// AMD. Register as an anonymous module.
-		define( [ "jquery", "./version" ], factory );
-	} else {
-
-		// Browser globals
-		factory( jQuery );
-	}
-}( function( $ ) {
-
-// Support: jQuery 1.7 only
-// Not a great way to check versions, but since we only support 1.7+ and only
-// need to detect <1.8, this is a simple check that should suffice. Checking
-// for "1.7." would be a bit safer, but the version string is 1.7, not 1.7.0
-// and we'll never reach 1.70.0 (if we do, we certainly won't be supporting
-// 1.7 anymore). See #11197 for why we're not using feature detection.
-if ( $.fn.jquery.substring( 0, 3 ) === "1.7" ) {
-
-	// Setters for .innerWidth(), .innerHeight(), .outerWidth(), .outerHeight()
-	// Unlike jQuery Core 1.8+, these only support numeric values to set the
-	// dimensions in pixels
-	$.each( [ "Width", "Height" ], function( i, name ) {
-		var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
-			type = name.toLowerCase(),
-			orig = {
-				innerWidth: $.fn.innerWidth,
-				innerHeight: $.fn.innerHeight,
-				outerWidth: $.fn.outerWidth,
-				outerHeight: $.fn.outerHeight
-			};
-
-		function reduce( elem, size, border, margin ) {
-			$.each( side, function() {
-				size -= parseFloat( $.css( elem, "padding" + this ) ) || 0;
-				if ( border ) {
-					size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0;
-				}
-				if ( margin ) {
-					size -= parseFloat( $.css( elem, "margin" + this ) ) || 0;
-				}
-			} );
-			return size;
-		}
-
-		$.fn[ "inner" + name ] = function( size ) {
-			if ( size === undefined ) {
-				return orig[ "inner" + name ].call( this );
-			}
-
-			return this.each( function() {
-				$( this ).css( type, reduce( this, size ) + "px" );
-			} );
-		};
-
-		$.fn[ "outer" + name ] = function( size, margin ) {
-			if ( typeof size !== "number" ) {
-				return orig[ "outer" + name ].call( this, size );
-			}
-
-			return this.each( function() {
-				$( this ).css( type, reduce( this, size, true, margin ) + "px" );
-			} );
-		};
-	} );
-
-	$.fn.addBack = function( selector ) {
-		return this.add( selector == null ?
-			this.prevObject : this.prevObject.filter( selector )
-		);
-	};
-}
-
-} ) );
diff --git a/web/core/assets/vendor/jquery.ui/ui/jquery-patch-min.js b/web/core/assets/vendor/jquery.ui/ui/jquery-patch-min.js
new file mode 100644
index 0000000000..e263facbdd
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/jquery-patch-min.js
@@ -0,0 +1,11 @@
+/*!
+ * jQuery UI Support for jQuery core 1.8.x and newer 1.13.1
+ * http://jqueryui.com
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license.
+ * http://jquery.org/license
+ *
+ */
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){"use strict";if(e.expr.pseudos||(e.expr.pseudos=e.expr[":"]),e.uniqueSort||(e.uniqueSort=e.unique),!e.escapeSelector){var n=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,t=function(e,n){return n?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e};e.escapeSelector=function(e){return(e+"").replace(n,t)}}e.fn.even&&e.fn.odd||e.fn.extend({even:function(){return this.filter((function(e){return e%2==0}))},odd:function(){return this.filter((function(e){return e%2==1}))}})}));
+//# sourceMappingURL=jquery-patch-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/jquery-patch-min.js.map b/web/core/assets/vendor/jquery.ui/ui/jquery-patch-min.js.map
new file mode 100644
index 0000000000..f96cceee58
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/jquery-patch-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["jquery-patch.js"],"names":["factory","define","amd","jQuery","$","expr","pseudos","uniqueSort","unique","escapeSelector","rcssescape","fcssescape","ch","asCodePoint","slice","charCodeAt","length","toString","sel","replace","fn","even","odd","extend","this","filter","i"],"mappings":";;;;;;;;;CAcA,SAAYA,GACZ,aAEwB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAiBA,GAbMA,EAAEC,KAAKC,UACZF,EAAEC,KAAKC,QAAUF,EAAEC,KAAM,MAKpBD,EAAEG,aACPH,EAAEG,WAAaH,EAAEI,SAMZJ,EAAEK,eAAiB,CAIxB,IAAIC,EAAa,+CAEbC,EAAa,SAAUC,EAAIC,GAC9B,OAAKA,EAGQ,OAAPD,EACG,IAIDA,EAAGE,MAAO,GAAI,GAAM,KAAOF,EAAGG,WAAYH,EAAGI,OAAS,GAAIC,SAAU,IAAO,IAI5E,KAAOL,GAGfR,EAAEK,eAAiB,SAAUS,GAC5B,OAASA,EAAM,IAAKC,QAAST,EAAYC,IAMrCP,EAAEgB,GAAGC,MAASjB,EAAEgB,GAAGE,KACxBlB,EAAEgB,GAAGG,OAAQ,CACZF,KAAM,WACL,OAAOG,KAAKC,QAAQ,SAAUC,GAC7B,OAAOA,EAAI,GAAM,MAGnBJ,IAAK,WACJ,OAAOE,KAAKC,QAAQ,SAAUC,GAC7B,OAAOA,EAAI,GAAM","file":"jquery-patch-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/jquery-patch.js b/web/core/assets/vendor/jquery.ui/ui/jquery-patch.js
new file mode 100644
index 0000000000..8362c3bdb3
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/jquery-patch.js
@@ -0,0 +1,89 @@
+/*!
+ * jQuery UI Support for jQuery core 1.8.x and newer 1.13.1
+ * http://jqueryui.com
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license.
+ * http://jquery.org/license
+ *
+ */
+
+//>>label: jQuery 1.8+ Support
+//>>group: Core
+//>>description: Support version 1.8.x and newer of jQuery core
+
+( function( factory ) {
+"use strict";
+
+	if ( typeof define === "function" && define.amd ) {
+
+		// AMD. Register as an anonymous module.
+		define( [ "jquery", "./version" ], factory );
+	} else {
+
+		// Browser globals
+		factory( jQuery );
+	}
+} )( function( $ ) {
+"use strict";
+
+// Support: jQuery 1.9.x or older
+// $.expr[ ":" ] is deprecated.
+if ( !$.expr.pseudos ) {
+	$.expr.pseudos = $.expr[ ":" ];
+}
+
+// Support: jQuery 1.11.x or older
+// $.unique has been renamed to $.uniqueSort
+if ( !$.uniqueSort ) {
+	$.uniqueSort = $.unique;
+}
+
+// Support: jQuery 2.2.x or older.
+// This method has been defined in jQuery 3.0.0.
+// Code from https://github.com/jquery/jquery/blob/e539bac79e666bba95bba86d690b4e609dca2286/src/selector/escapeSelector.js
+if ( !$.escapeSelector ) {
+
+	// CSS string/identifier serialization
+	// https://drafts.csswg.org/cssom/#common-serializing-idioms
+	var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
+
+	var fcssescape = function( ch, asCodePoint ) {
+		if ( asCodePoint ) {
+
+			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+			if ( ch === "\0" ) {
+				return "\uFFFD";
+			}
+
+			// Control characters and (dependent upon position) numbers get escaped as code points
+			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+		}
+
+		// Other potentially-special ASCII characters get backslash-escaped
+		return "\\" + ch;
+	};
+
+	$.escapeSelector = function( sel ) {
+		return ( sel + "" ).replace( rcssescape, fcssescape );
+	};
+}
+
+// Support: jQuery 3.4.x or older
+// These methods have been defined in jQuery 3.5.0.
+if ( !$.fn.even || !$.fn.odd ) {
+	$.fn.extend( {
+		even: function() {
+			return this.filter( function( i ) {
+				return i % 2 === 0;
+			} );
+		},
+		odd: function() {
+			return this.filter( function( i ) {
+				return i % 2 === 1;
+			} );
+		}
+	} );
+}
+
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/keycode-min.js b/web/core/assets/vendor/jquery.ui/ui/keycode-min.js
index af76c2e44b..fd1a4e4853 100644
--- a/web/core/assets/vendor/jquery.ui/ui/keycode-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/keycode-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Keycode 1.12.1
+ * jQuery UI Keycode 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(E){"function"==typeof define&&define.amd?define(["jquery","./version"],E):E(jQuery)}((function(E){return E.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){"use strict";return e.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}));
+//# sourceMappingURL=keycode-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/keycode-min.js.map b/web/core/assets/vendor/jquery.ui/ui/keycode-min.js.map
new file mode 100644
index 0000000000..2a64f2c1f2
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/keycode-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["keycode.js"],"names":["factory","define","amd","jQuery","$","ui","keyCode","BACKSPACE","COMMA","DELETE","DOWN","END","ENTER","ESCAPE","HOME","LEFT","PAGE_DOWN","PAGE_UP","PERIOD","RIGHT","SPACE","TAB","UP"],"mappings":";;;;;;;;CAcA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAEA,OAAOA,EAAEC,GAAGC,QAAU,CACrBC,UAAW,EACXC,MAAO,IACPC,OAAQ,GACRC,KAAM,GACNC,IAAK,GACLC,MAAO,GACPC,OAAQ,GACRC,KAAM,GACNC,KAAM,GACNC,UAAW,GACXC,QAAS,GACTC,OAAQ,IACRC,MAAO,GACPC,MAAO,GACPC,IAAK,EACLC,GAAI","file":"keycode-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/keycode.js b/web/core/assets/vendor/jquery.ui/ui/keycode.js
index c02a6df52b..989563f339 100644
--- a/web/core/assets/vendor/jquery.ui/ui/keycode.js
+++ b/web/core/assets/vendor/jquery.ui/ui/keycode.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Keycode 1.12.1
+ * jQuery UI Keycode 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -13,6 +13,8 @@
 //>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -22,7 +24,9 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
+
 return $.ui.keyCode = {
 	BACKSPACE: 8,
 	COMMA: 188,
@@ -42,4 +46,4 @@ return $.ui.keyCode = {
 	UP: 38
 };
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/labels-min.js b/web/core/assets/vendor/jquery.ui/ui/labels-min.js
index 111899370f..9e1f18ad39 100644
--- a/web/core/assets/vendor/jquery.ui/ui/labels-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/labels-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Labels 1.12.1
+ * jQuery UI Labels 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./version","./escape-selector"],e):e(jQuery)}((function(e){return e.fn.labels=function(){var t,s,i,n,a;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),(i=this.attr("id"))&&(a=(t=this.eq(0).parents().last()).add(t.length?t.siblings():this.siblings()),s="label[for='"+e.ui.escapeSelector(i)+"']",n=n.add(a.find(s).addBack(s))),this.pushStack(n))}}));
\ No newline at end of file
+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){"use strict";return t.fn.labels=function(){var e,s,i,n,a;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),(i=this.attr("id"))&&(a=(e=this.eq(0).parents().last()).add(e.length?e.siblings():this.siblings()),s="label[for='"+t.escapeSelector(i)+"']",n=n.add(a.find(s).addBack(s))),this.pushStack(n)):this.pushStack([])}}));
+//# sourceMappingURL=labels-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/labels-min.js.map b/web/core/assets/vendor/jquery.ui/ui/labels-min.js.map
new file mode 100644
index 0000000000..8cf3ffed66
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/labels-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["labels.js"],"names":["factory","define","amd","jQuery","$","fn","labels","ancestor","selector","id","ancestors","this","length","pushStack","eq","parents","attr","last","add","siblings","escapeSelector","find","addBack"],"mappings":";;;;;;;;CAcA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAEA,OAAOA,EAAEC,GAAGC,OAAS,WACpB,IAAIC,EAAUC,EAAUC,EAAIH,EAAQI,EAEpC,OAAMC,KAAKC,OAKND,KAAM,GAAIL,QAAUK,KAAM,GAAIL,OAAOM,OAClCD,KAAKE,UAAWF,KAAM,GAAIL,SAMlCA,EAASK,KAAKG,GAAI,GAAIC,QAAS,UAG/BN,EAAKE,KAAKK,KAAM,SAQfN,GAHAH,EAAWI,KAAKG,GAAI,GAAIC,UAAUE,QAGbC,IAAKX,EAASK,OAASL,EAASY,WAAaR,KAAKQ,YAGvEX,EAAW,cAAgBJ,EAAEgB,eAAgBX,GAAO,KAEpDH,EAASA,EAAOY,IAAKR,EAAUW,KAAMb,GAAWc,QAASd,KAKnDG,KAAKE,UAAWP,IAhCfK,KAAKE,UAAW","file":"labels-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/labels.js b/web/core/assets/vendor/jquery.ui/ui/labels.js
index 57ab75267f..b2cc01543d 100644
--- a/web/core/assets/vendor/jquery.ui/ui/labels.js
+++ b/web/core/assets/vendor/jquery.ui/ui/labels.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Labels 1.12.1
+ * jQuery UI Labels 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -13,20 +13,27 @@
 //>>docs: http://api.jqueryui.com/labels/
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
-		define( [ "jquery", "./version", "./escape-selector" ], factory );
+		define( [ "jquery", "./version" ], factory );
 	} else {
 
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 return $.fn.labels = function() {
 	var ancestor, selector, id, labels, ancestors;
 
+	if ( !this.length ) {
+		return this.pushStack( [] );
+	}
+
 	// Check control.labels first
 	if ( this[ 0 ].labels && this[ 0 ].labels.length ) {
 		return this.pushStack( this[ 0 ].labels );
@@ -49,7 +56,7 @@ return $.fn.labels = function() {
 		ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() );
 
 		// Create a selector for the label based on the id
-		selector = "label[for='" + $.ui.escapeSelector( id ) + "']";
+		selector = "label[for='" + $.escapeSelector( id ) + "']";
 
 		labels = labels.add( ancestors.find( selector ).addBack( selector ) );
 
@@ -59,4 +66,4 @@ return $.fn.labels = function() {
 	return this.pushStack( labels );
 };
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/plugin-min.js b/web/core/assets/vendor/jquery.ui/ui/plugin-min.js
index 26b0a1bb67..dee1d8aacc 100644
--- a/web/core/assets/vendor/jquery.ui/ui/plugin-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/plugin-min.js
@@ -1 +1,2 @@
-!function(n){"function"==typeof define&&define.amd?define(["jquery","./version"],n):n(jQuery)}((function(n){return n.ui.plugin={add:function(e,i,o){var t,u=n.ui[e].prototype;for(t in o)u.plugins[t]=u.plugins[t]||[],u.plugins[t].push([i,o[t]])},call:function(n,e,i,o){var t,u=n.plugins[e];if(u&&(o||n.element[0].parentNode&&11!==n.element[0].parentNode.nodeType))for(t=0;t<u.length;t++)n.options[u[t][0]]&&u[t][1].apply(n.element,i)}}}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){"use strict";return e.ui.plugin={add:function(n,i,t){var u,o=e.ui[n].prototype;for(u in t)o.plugins[u]=o.plugins[u]||[],o.plugins[u].push([i,t[u]])},call:function(e,n,i,t){var u,o=e.plugins[n];if(o&&(t||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(u=0;u<o.length;u++)e.options[o[u][0]]&&o[u][1].apply(e.element,i)}}}));
+//# sourceMappingURL=plugin-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/plugin-min.js.map b/web/core/assets/vendor/jquery.ui/ui/plugin-min.js.map
new file mode 100644
index 0000000000..8b35816b46
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/plugin-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["plugin.js"],"names":["factory","define","amd","jQuery","$","ui","plugin","add","module","option","set","i","proto","prototype","plugins","push","call","instance","name","args","allowDisconnected","element","parentNode","nodeType","length","options","apply"],"mappings":"CAAA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAGA,OAAOA,EAAEC,GAAGC,OAAS,CACpBC,IAAK,SAAUC,EAAQC,EAAQC,GAC9B,IAAIC,EACHC,EAAQR,EAAEC,GAAIG,GAASK,UACxB,IAAMF,KAAKD,EACVE,EAAME,QAASH,GAAMC,EAAME,QAASH,IAAO,GAC3CC,EAAME,QAASH,GAAII,KAAM,CAAEN,EAAQC,EAAKC,MAG1CK,KAAM,SAAUC,EAAUC,EAAMC,EAAMC,GACrC,IAAIT,EACHD,EAAMO,EAASH,QAASI,GAEzB,GAAMR,IAIAU,GAAwBH,EAASI,QAAS,GAAIC,YACJ,KAA9CL,EAASI,QAAS,GAAIC,WAAWC,UAInC,IAAMZ,EAAI,EAAGA,EAAID,EAAIc,OAAQb,IACvBM,EAASQ,QAASf,EAAKC,GAAK,KAChCD,EAAKC,GAAK,GAAIe,MAAOT,EAASI,QAASF","file":"plugin-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/plugin.js b/web/core/assets/vendor/jquery.ui/ui/plugin.js
index b282de7c6d..1e46017ad4 100644
--- a/web/core/assets/vendor/jquery.ui/ui/plugin.js
+++ b/web/core/assets/vendor/jquery.ui/ui/plugin.js
@@ -1,4 +1,6 @@
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -8,7 +10,8 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 // $.ui.plugin is deprecated. Use $.widget() extensions instead.
 return $.ui.plugin = {
@@ -41,4 +44,4 @@ return $.ui.plugin = {
 	}
 };
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/position-min.js b/web/core/assets/vendor/jquery.ui/ui/position-min.js
index 9087137f25..1619c4ae8d 100644
--- a/web/core/assets/vendor/jquery.ui/ui/position-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/position-min.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Position 1.12.1
+ * jQuery UI Position 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -8,4 +8,5 @@
  *
  * http://api.jqueryui.com/position/
  */
-!function(t){"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){return function(){var i,o=Math.max,e=Math.abs,n=/left|center|right/,l=/top|center|bottom/,f=/[\+\-]\d+(\.[\d]+)?%?/,s=/^\w+/,h=/%$/,r=t.fn.position;function p(t,i,o){return[parseFloat(t[0])*(h.test(t[0])?i/100:1),parseFloat(t[1])*(h.test(t[1])?o/100:1)]}function c(i,o){return parseInt(t.css(i,o),10)||0}function a(i){var o=i[0];return 9===o.nodeType?{width:i.width(),height:i.height(),offset:{top:0,left:0}}:t.isWindow(o)?{width:i.width(),height:i.height(),offset:{top:i.scrollTop(),left:i.scrollLeft()}}:o.preventDefault?{width:0,height:0,offset:{top:o.pageY,left:o.pageX}}:{width:i.outerWidth(),height:i.outerHeight(),offset:i.offset()}}t.position={scrollbarWidth:function(){if(void 0!==i)return i;var o,e,n=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),l=n.children()[0];return t("body").append(n),o=l.offsetWidth,n.css("overflow","scroll"),o===(e=l.offsetWidth)&&(e=n[0].clientWidth),n.remove(),i=o-e},getScrollInfo:function(i){var o=i.isWindow||i.isDocument?"":i.element.css("overflow-x"),e=i.isWindow||i.isDocument?"":i.element.css("overflow-y"),n="scroll"===o||"auto"===o&&i.width<i.element[0].scrollWidth;return{width:"scroll"===e||"auto"===e&&i.height<i.element[0].scrollHeight?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(i){var o=t(i||window),e=t.isWindow(o[0]),n=!!o[0]&&9===o[0].nodeType;return{element:o,isWindow:e,isDocument:n,offset:!e&&!n?t(i).offset():{left:0,top:0},scrollLeft:o.scrollLeft(),scrollTop:o.scrollTop(),width:o.outerWidth(),height:o.outerHeight()}}},t.fn.position=function(i){if(!i||!i.of)return r.apply(this,arguments);var h,d,g,u,m,w,W="string"==typeof(i=t.extend({},i)).of?t(document).find(i.of):t(i.of),v=t.position.getWithinInfo(i.within),y=t.position.getScrollInfo(v),H=(i.collision||"flip").split(" "),b={};return w=a(W),W[0].preventDefault&&(i.at="left top"),d=w.width,g=w.height,u=w.offset,m=t.extend({},u),t.each(["my","at"],(function(){var t,o,e=(i[this]||"").split(" ");1===e.length&&(e=n.test(e[0])?e.concat(["center"]):l.test(e[0])?["center"].concat(e):["center","center"]),e[0]=n.test(e[0])?e[0]:"center",e[1]=l.test(e[1])?e[1]:"center",t=f.exec(e[0]),o=f.exec(e[1]),b[this]=[t?t[0]:0,o?o[0]:0],i[this]=[s.exec(e[0])[0],s.exec(e[1])[0]]})),1===H.length&&(H[1]=H[0]),"right"===i.at[0]?m.left+=d:"center"===i.at[0]&&(m.left+=d/2),"bottom"===i.at[1]?m.top+=g:"center"===i.at[1]&&(m.top+=g/2),h=p(b.at,d,g),m.left+=h[0],m.top+=h[1],this.each((function(){var n,l,f=t(this),s=f.outerWidth(),r=f.outerHeight(),a=c(this,"marginLeft"),w=c(this,"marginTop"),x=s+a+c(this,"marginRight")+y.width,T=r+w+c(this,"marginBottom")+y.height,L=t.extend({},m),P=p(b.my,f.outerWidth(),f.outerHeight());"right"===i.my[0]?L.left-=s:"center"===i.my[0]&&(L.left-=s/2),"bottom"===i.my[1]?L.top-=r:"center"===i.my[1]&&(L.top-=r/2),L.left+=P[0],L.top+=P[1],n={marginLeft:a,marginTop:w},t.each(["left","top"],(function(o,e){t.ui.position[H[o]]&&t.ui.position[H[o]][e](L,{targetWidth:d,targetHeight:g,elemWidth:s,elemHeight:r,collisionPosition:n,collisionWidth:x,collisionHeight:T,offset:[h[0]+P[0],h[1]+P[1]],my:i.my,at:i.at,within:v,elem:f})})),i.using&&(l=function(t){var n=u.left-L.left,l=n+d-s,h=u.top-L.top,p=h+g-r,c={target:{element:W,left:u.left,top:u.top,width:d,height:g},element:{element:f,left:L.left,top:L.top,width:s,height:r},horizontal:l<0?"left":n>0?"right":"center",vertical:p<0?"top":h>0?"bottom":"middle"};d<s&&e(n+l)<d&&(c.horizontal="center"),g<r&&e(h+p)<g&&(c.vertical="middle"),o(e(n),e(l))>o(e(h),e(p))?c.important="horizontal":c.important="vertical",i.using.call(this,t,c)}),f.offset(t.extend(L,{using:l}))}))},t.ui.position={fit:{left:function(t,i){var e,n=i.within,l=n.isWindow?n.scrollLeft:n.offset.left,f=n.width,s=t.left-i.collisionPosition.marginLeft,h=l-s,r=s+i.collisionWidth-f-l;i.collisionWidth>f?h>0&&r<=0?(e=t.left+h+i.collisionWidth-f-l,t.left+=h-e):t.left=r>0&&h<=0?l:h>r?l+f-i.collisionWidth:l:h>0?t.left+=h:r>0?t.left-=r:t.left=o(t.left-s,t.left)},top:function(t,i){var e,n=i.within,l=n.isWindow?n.scrollTop:n.offset.top,f=i.within.height,s=t.top-i.collisionPosition.marginTop,h=l-s,r=s+i.collisionHeight-f-l;i.collisionHeight>f?h>0&&r<=0?(e=t.top+h+i.collisionHeight-f-l,t.top+=h-e):t.top=r>0&&h<=0?l:h>r?l+f-i.collisionHeight:l:h>0?t.top+=h:r>0?t.top-=r:t.top=o(t.top-s,t.top)}},flip:{left:function(t,i){var o,n,l=i.within,f=l.offset.left+l.scrollLeft,s=l.width,h=l.isWindow?l.scrollLeft:l.offset.left,r=t.left-i.collisionPosition.marginLeft,p=r-h,c=r+i.collisionWidth-s-h,a="left"===i.my[0]?-i.elemWidth:"right"===i.my[0]?i.elemWidth:0,d="left"===i.at[0]?i.targetWidth:"right"===i.at[0]?-i.targetWidth:0,g=-2*i.offset[0];p<0?((o=t.left+a+d+g+i.collisionWidth-s-f)<0||o<e(p))&&(t.left+=a+d+g):c>0&&((n=t.left-i.collisionPosition.marginLeft+a+d+g-h)>0||e(n)<c)&&(t.left+=a+d+g)},top:function(t,i){var o,n,l=i.within,f=l.offset.top+l.scrollTop,s=l.height,h=l.isWindow?l.scrollTop:l.offset.top,r=t.top-i.collisionPosition.marginTop,p=r-h,c=r+i.collisionHeight-s-h,a="top"===i.my[1]?-i.elemHeight:"bottom"===i.my[1]?i.elemHeight:0,d="top"===i.at[1]?i.targetHeight:"bottom"===i.at[1]?-i.targetHeight:0,g=-2*i.offset[1];p<0?((n=t.top+a+d+g+i.collisionHeight-s-f)<0||n<e(p))&&(t.top+=a+d+g):c>0&&((o=t.top-i.collisionPosition.marginTop+a+d+g-h)>0||e(o)<c)&&(t.top+=a+d+g)}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position}));
\ No newline at end of file
+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){"use strict";return function(){var i,o=Math.max,e=Math.abs,n=/left|center|right/,l=/top|center|bottom/,f=/[\+\-]\d+(\.[\d]+)?%?/,s=/^\w+/,h=/%$/,r=t.fn.position;function c(t,i,o){return[parseFloat(t[0])*(h.test(t[0])?i/100:1),parseFloat(t[1])*(h.test(t[1])?o/100:1)]}function p(i,o){return parseInt(t.css(i,o),10)||0}function a(t){return null!=t&&t===t.window}function d(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:a(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}t.position={scrollbarWidth:function(){if(void 0!==i)return i;var o,e,n=t("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>"),l=n.children()[0];return t("body").append(n),o=l.offsetWidth,n.css("overflow","scroll"),o===(e=l.offsetWidth)&&(e=n[0].clientWidth),n.remove(),i=o-e},getScrollInfo:function(i){var o=i.isWindow||i.isDocument?"":i.element.css("overflow-x"),e=i.isWindow||i.isDocument?"":i.element.css("overflow-y"),n="scroll"===o||"auto"===o&&i.width<i.element[0].scrollWidth;return{width:"scroll"===e||"auto"===e&&i.height<i.element[0].scrollHeight?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(i){var o=t(i||window),e=a(o[0]),n=!!o[0]&&9===o[0].nodeType;return{element:o,isWindow:e,isDocument:n,offset:!e&&!n?t(i).offset():{left:0,top:0},scrollLeft:o.scrollLeft(),scrollTop:o.scrollTop(),width:o.outerWidth(),height:o.outerHeight()}}},t.fn.position=function(i){if(!i||!i.of)return r.apply(this,arguments);var h,a,g,u,m,w,W="string"==typeof(i=t.extend({},i)).of?t(document).find(i.of):t(i.of),v=t.position.getWithinInfo(i.within),y=t.position.getScrollInfo(v),H=(i.collision||"flip").split(" "),b={};return w=d(W),W[0].preventDefault&&(i.at="left top"),a=w.width,g=w.height,u=w.offset,m=t.extend({},u),t.each(["my","at"],(function(){var t,o,e=(i[this]||"").split(" ");1===e.length&&(e=n.test(e[0])?e.concat(["center"]):l.test(e[0])?["center"].concat(e):["center","center"]),e[0]=n.test(e[0])?e[0]:"center",e[1]=l.test(e[1])?e[1]:"center",t=f.exec(e[0]),o=f.exec(e[1]),b[this]=[t?t[0]:0,o?o[0]:0],i[this]=[s.exec(e[0])[0],s.exec(e[1])[0]]})),1===H.length&&(H[1]=H[0]),"right"===i.at[0]?m.left+=a:"center"===i.at[0]&&(m.left+=a/2),"bottom"===i.at[1]?m.top+=g:"center"===i.at[1]&&(m.top+=g/2),h=c(b.at,a,g),m.left+=h[0],m.top+=h[1],this.each((function(){var n,l,f=t(this),s=f.outerWidth(),r=f.outerHeight(),d=p(this,"marginLeft"),w=p(this,"marginTop"),x=s+d+p(this,"marginRight")+y.width,T=r+w+p(this,"marginBottom")+y.height,L=t.extend({},m),P=c(b.my,f.outerWidth(),f.outerHeight());"right"===i.my[0]?L.left-=s:"center"===i.my[0]&&(L.left-=s/2),"bottom"===i.my[1]?L.top-=r:"center"===i.my[1]&&(L.top-=r/2),L.left+=P[0],L.top+=P[1],n={marginLeft:d,marginTop:w},t.each(["left","top"],(function(o,e){t.ui.position[H[o]]&&t.ui.position[H[o]][e](L,{targetWidth:a,targetHeight:g,elemWidth:s,elemHeight:r,collisionPosition:n,collisionWidth:x,collisionHeight:T,offset:[h[0]+P[0],h[1]+P[1]],my:i.my,at:i.at,within:v,elem:f})})),i.using&&(l=function(t){var n=u.left-L.left,l=n+a-s,h=u.top-L.top,c=h+g-r,p={target:{element:W,left:u.left,top:u.top,width:a,height:g},element:{element:f,left:L.left,top:L.top,width:s,height:r},horizontal:l<0?"left":n>0?"right":"center",vertical:c<0?"top":h>0?"bottom":"middle"};a<s&&e(n+l)<a&&(p.horizontal="center"),g<r&&e(h+c)<g&&(p.vertical="middle"),o(e(n),e(l))>o(e(h),e(c))?p.important="horizontal":p.important="vertical",i.using.call(this,t,p)}),f.offset(t.extend(L,{using:l}))}))},t.ui.position={fit:{left:function(t,i){var e,n=i.within,l=n.isWindow?n.scrollLeft:n.offset.left,f=n.width,s=t.left-i.collisionPosition.marginLeft,h=l-s,r=s+i.collisionWidth-f-l;i.collisionWidth>f?h>0&&r<=0?(e=t.left+h+i.collisionWidth-f-l,t.left+=h-e):t.left=r>0&&h<=0?l:h>r?l+f-i.collisionWidth:l:h>0?t.left+=h:r>0?t.left-=r:t.left=o(t.left-s,t.left)},top:function(t,i){var e,n=i.within,l=n.isWindow?n.scrollTop:n.offset.top,f=i.within.height,s=t.top-i.collisionPosition.marginTop,h=l-s,r=s+i.collisionHeight-f-l;i.collisionHeight>f?h>0&&r<=0?(e=t.top+h+i.collisionHeight-f-l,t.top+=h-e):t.top=r>0&&h<=0?l:h>r?l+f-i.collisionHeight:l:h>0?t.top+=h:r>0?t.top-=r:t.top=o(t.top-s,t.top)}},flip:{left:function(t,i){var o,n,l=i.within,f=l.offset.left+l.scrollLeft,s=l.width,h=l.isWindow?l.scrollLeft:l.offset.left,r=t.left-i.collisionPosition.marginLeft,c=r-h,p=r+i.collisionWidth-s-h,a="left"===i.my[0]?-i.elemWidth:"right"===i.my[0]?i.elemWidth:0,d="left"===i.at[0]?i.targetWidth:"right"===i.at[0]?-i.targetWidth:0,g=-2*i.offset[0];c<0?((o=t.left+a+d+g+i.collisionWidth-s-f)<0||o<e(c))&&(t.left+=a+d+g):p>0&&((n=t.left-i.collisionPosition.marginLeft+a+d+g-h)>0||e(n)<p)&&(t.left+=a+d+g)},top:function(t,i){var o,n,l=i.within,f=l.offset.top+l.scrollTop,s=l.height,h=l.isWindow?l.scrollTop:l.offset.top,r=t.top-i.collisionPosition.marginTop,c=r-h,p=r+i.collisionHeight-s-h,a="top"===i.my[1]?-i.elemHeight:"bottom"===i.my[1]?i.elemHeight:0,d="top"===i.at[1]?i.targetHeight:"bottom"===i.at[1]?-i.targetHeight:0,g=-2*i.offset[1];c<0?((n=t.top+a+d+g+i.collisionHeight-s-f)<0||n<e(c))&&(t.top+=a+d+g):p>0&&((o=t.top-i.collisionPosition.marginTop+a+d+g-h)>0||e(o)<p)&&(t.top+=a+d+g)}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position}));
+//# sourceMappingURL=position-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/position-min.js.map b/web/core/assets/vendor/jquery.ui/ui/position-min.js.map
new file mode 100644
index 0000000000..ef5edb8a66
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/position-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["position.js"],"names":["factory","define","amd","jQuery","$","cachedScrollbarWidth","max","Math","abs","rhorizontal","rvertical","roffset","rposition","rpercent","_position","fn","position","getOffsets","offsets","width","height","parseFloat","test","parseCss","element","property","parseInt","css","isWindow","obj","window","getDimensions","elem","raw","nodeType","offset","top","left","scrollTop","scrollLeft","preventDefault","pageY","pageX","outerWidth","outerHeight","scrollbarWidth","undefined","w1","w2","div","innerDiv","children","append","offsetWidth","clientWidth","remove","getScrollInfo","within","overflowX","isDocument","overflowY","hasOverflowX","scrollWidth","scrollHeight","getWithinInfo","withinElement","isElemWindow","options","of","apply","this","arguments","atOffset","targetWidth","targetHeight","targetOffset","basePosition","dimensions","target","extend","document","find","scrollInfo","collision","split","at","each","horizontalOffset","verticalOffset","pos","length","concat","exec","collisionPosition","using","elemWidth","elemHeight","marginLeft","marginTop","collisionWidth","collisionHeight","myOffset","my","i","dir","ui","props","right","bottom","feedback","horizontal","vertical","important","call","fit","data","newOverRight","withinOffset","collisionPosLeft","overLeft","overRight","newOverBottom","collisionPosTop","overTop","overBottom","flip","newOverLeft","offsetLeft","newOverTop","offsetTop","flipfit"],"mappings":";;;;;;;;;;CAiBA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aA8dA,OA5dA,WACA,IAAIC,EACHC,EAAMC,KAAKD,IACXE,EAAMD,KAAKC,IACXC,EAAc,oBACdC,EAAY,oBACZC,EAAU,wBACVC,EAAY,OACZC,EAAW,KACXC,EAAYV,EAAEW,GAAGC,SAElB,SAASC,EAAYC,EAASC,EAAOC,GACpC,MAAO,CACNC,WAAYH,EAAS,KAAUL,EAASS,KAAMJ,EAAS,IAAQC,EAAQ,IAAM,GAC7EE,WAAYH,EAAS,KAAUL,EAASS,KAAMJ,EAAS,IAAQE,EAAS,IAAM,IAIhF,SAASG,EAAUC,EAASC,GAC3B,OAAOC,SAAUtB,EAAEuB,IAAKH,EAASC,GAAY,KAAQ,EAGtD,SAASG,EAAUC,GAClB,OAAc,MAAPA,GAAeA,IAAQA,EAAIC,OAGnC,SAASC,EAAeC,GACvB,IAAIC,EAAMD,EAAM,GAChB,OAAsB,IAAjBC,EAAIC,SACD,CACNf,MAAOa,EAAKb,QACZC,OAAQY,EAAKZ,SACbe,OAAQ,CAAEC,IAAK,EAAGC,KAAM,IAGrBT,EAAUK,GACP,CACNd,MAAOa,EAAKb,QACZC,OAAQY,EAAKZ,SACbe,OAAQ,CAAEC,IAAKJ,EAAKM,YAAaD,KAAML,EAAKO,eAGzCN,EAAIO,eACD,CACNrB,MAAO,EACPC,OAAQ,EACRe,OAAQ,CAAEC,IAAKH,EAAIQ,MAAOJ,KAAMJ,EAAIS,QAG/B,CACNvB,MAAOa,EAAKW,aACZvB,OAAQY,EAAKY,cACbT,OAAQH,EAAKG,UAIf/B,EAAEY,SAAW,CACZ6B,eAAgB,WACf,QAA8BC,IAAzBzC,EACJ,OAAOA,EAER,IAAI0C,EAAIC,EACPC,EAAM7C,EAAG,6IAGT8C,EAAWD,EAAIE,WAAY,GAc5B,OAZA/C,EAAG,QAASgD,OAAQH,GACpBF,EAAKG,EAASG,YACdJ,EAAItB,IAAK,WAAY,UAIhBoB,KAFLC,EAAKE,EAASG,eAGbL,EAAKC,EAAK,GAAIK,aAGfL,EAAIM,SAEKlD,EAAuB0C,EAAKC,GAEtCQ,cAAe,SAAUC,GACxB,IAAIC,EAAYD,EAAO7B,UAAY6B,EAAOE,WAAa,GACrDF,EAAOjC,QAAQG,IAAK,cACrBiC,EAAYH,EAAO7B,UAAY6B,EAAOE,WAAa,GAClDF,EAAOjC,QAAQG,IAAK,cACrBkC,EAA6B,WAAdH,GACE,SAAdA,GAAwBD,EAAOtC,MAAQsC,EAAOjC,QAAS,GAAIsC,YAG/D,MAAO,CACN3C,MAH6B,WAAdyC,GACE,SAAdA,GAAwBH,EAAOrC,OAASqC,EAAOjC,QAAS,GAAIuC,aAEzC3D,EAAEY,SAAS6B,iBAAmB,EACpDzB,OAAQyC,EAAezD,EAAEY,SAAS6B,iBAAmB,IAGvDmB,cAAe,SAAUxC,GACxB,IAAIyC,EAAgB7D,EAAGoB,GAAWM,QACjCoC,EAAetC,EAAUqC,EAAe,IACxCN,IAAeM,EAAe,IAAuC,IAAhCA,EAAe,GAAI/B,SAEzD,MAAO,CACNV,QAASyC,EACTrC,SAAUsC,EACVP,WAAYA,EACZxB,QALa+B,IAAiBP,EAKVvD,EAAGoB,GAAUW,SAAW,CAAEE,KAAM,EAAGD,IAAK,GAC5DG,WAAY0B,EAAc1B,aAC1BD,UAAW2B,EAAc3B,YACzBnB,MAAO8C,EAActB,aACrBvB,OAAQ6C,EAAcrB,iBAKzBxC,EAAEW,GAAGC,SAAW,SAAUmD,GACzB,IAAMA,IAAYA,EAAQC,GACzB,OAAOtD,EAAUuD,MAAOC,KAAMC,WAM/B,IAAIC,EAAUC,EAAaC,EAAcC,EAAcC,EAAcC,EAGpEC,EAA+B,iBALhCX,EAAU/D,EAAE2E,OAAQ,GAAIZ,IAKCC,GACvBhE,EAAG4E,UAAWC,KAAMd,EAAQC,IAC5BhE,EAAG+D,EAAQC,IAEZX,EAASrD,EAAEY,SAASgD,cAAeG,EAAQV,QAC3CyB,EAAa9E,EAAEY,SAASwC,cAAeC,GACvC0B,GAAchB,EAAQgB,WAAa,QAASC,MAAO,KACnDlE,EAAU,GAoEX,OAlEA2D,EAAa9C,EAAe+C,GACvBA,EAAQ,GAAItC,iBAGhB2B,EAAQkB,GAAK,YAEdZ,EAAcI,EAAW1D,MACzBuD,EAAeG,EAAWzD,OAC1BuD,EAAeE,EAAW1C,OAG1ByC,EAAexE,EAAE2E,OAAQ,GAAIJ,GAI7BvE,EAAEkF,KAAM,CAAE,KAAM,OAAQ,WACvB,IACCC,EACAC,EAFGC,GAAQtB,EAASG,OAAU,IAAKc,MAAO,KAIvB,IAAfK,EAAIC,SACRD,EAAMhF,EAAYa,KAAMmE,EAAK,IAC5BA,EAAIE,OAAQ,CAAE,WACdjF,EAAUY,KAAMmE,EAAK,IACpB,CAAE,UAAWE,OAAQF,GACrB,CAAE,SAAU,WAEfA,EAAK,GAAMhF,EAAYa,KAAMmE,EAAK,IAAQA,EAAK,GAAM,SACrDA,EAAK,GAAM/E,EAAUY,KAAMmE,EAAK,IAAQA,EAAK,GAAM,SAGnDF,EAAmB5E,EAAQiF,KAAMH,EAAK,IACtCD,EAAiB7E,EAAQiF,KAAMH,EAAK,IACpCvE,EAASoD,MAAS,CACjBiB,EAAmBA,EAAkB,GAAM,EAC3CC,EAAiBA,EAAgB,GAAM,GAIxCrB,EAASG,MAAS,CACjB1D,EAAUgF,KAAMH,EAAK,IAAO,GAC5B7E,EAAUgF,KAAMH,EAAK,IAAO,OAKJ,IAArBN,EAAUO,SACdP,EAAW,GAAMA,EAAW,IAGJ,UAApBhB,EAAQkB,GAAI,GAChBT,EAAavC,MAAQoC,EACU,WAApBN,EAAQkB,GAAI,KACvBT,EAAavC,MAAQoC,EAAc,GAGX,WAApBN,EAAQkB,GAAI,GAChBT,EAAaxC,KAAOsC,EACW,WAApBP,EAAQkB,GAAI,KACvBT,EAAaxC,KAAOsC,EAAe,GAGpCF,EAAWvD,EAAYC,EAAQmE,GAAIZ,EAAaC,GAChDE,EAAavC,MAAQmC,EAAU,GAC/BI,EAAaxC,KAAOoC,EAAU,GAEvBF,KAAKgB,MAAM,WACjB,IAAIO,EAAmBC,EACtB9D,EAAO5B,EAAGkE,MACVyB,EAAY/D,EAAKW,aACjBqD,EAAahE,EAAKY,cAClBqD,EAAa1E,EAAU+C,KAAM,cAC7B4B,EAAY3E,EAAU+C,KAAM,aAC5B6B,EAAiBJ,EAAYE,EAAa1E,EAAU+C,KAAM,eACzDY,EAAW/D,MACZiF,EAAkBJ,EAAaE,EAAY3E,EAAU+C,KAAM,gBAC1DY,EAAW9D,OACZJ,EAAWZ,EAAE2E,OAAQ,GAAIH,GACzByB,EAAWpF,EAAYC,EAAQoF,GAAItE,EAAKW,aAAcX,EAAKY,eAEnC,UAApBuB,EAAQmC,GAAI,GAChBtF,EAASqB,MAAQ0D,EACc,WAApB5B,EAAQmC,GAAI,KACvBtF,EAASqB,MAAQ0D,EAAY,GAGL,WAApB5B,EAAQmC,GAAI,GAChBtF,EAASoB,KAAO4D,EACe,WAApB7B,EAAQmC,GAAI,KACvBtF,EAASoB,KAAO4D,EAAa,GAG9BhF,EAASqB,MAAQgE,EAAU,GAC3BrF,EAASoB,KAAOiE,EAAU,GAE1BR,EAAoB,CACnBI,WAAYA,EACZC,UAAWA,GAGZ9F,EAAEkF,KAAM,CAAE,OAAQ,QAAS,SAAUiB,EAAGC,GAClCpG,EAAEqG,GAAGzF,SAAUmE,EAAWoB,KAC9BnG,EAAEqG,GAAGzF,SAAUmE,EAAWoB,IAAOC,GAAOxF,EAAU,CACjDyD,YAAaA,EACbC,aAAcA,EACdqB,UAAWA,EACXC,WAAYA,EACZH,kBAAmBA,EACnBM,eAAgBA,EAChBC,gBAAiBA,EACjBjE,OAAQ,CAAEqC,EAAU,GAAM6B,EAAU,GAAK7B,EAAW,GAAM6B,EAAU,IACpEC,GAAInC,EAAQmC,GACZjB,GAAIlB,EAAQkB,GACZ5B,OAAQA,EACRzB,KAAMA,OAKJmC,EAAQ2B,QAGZA,EAAQ,SAAUY,GACjB,IAAIrE,EAAOsC,EAAatC,KAAOrB,EAASqB,KACvCsE,EAAQtE,EAAOoC,EAAcsB,EAC7B3D,EAAMuC,EAAavC,IAAMpB,EAASoB,IAClCwE,EAASxE,EAAMsC,EAAesB,EAC9Ba,EAAW,CACV/B,OAAQ,CACPtD,QAASsD,EACTzC,KAAMsC,EAAatC,KACnBD,IAAKuC,EAAavC,IAClBjB,MAAOsD,EACPrD,OAAQsD,GAETlD,QAAS,CACRA,QAASQ,EACTK,KAAMrB,EAASqB,KACfD,IAAKpB,EAASoB,IACdjB,MAAO4E,EACP3E,OAAQ4E,GAETc,WAAYH,EAAQ,EAAI,OAAStE,EAAO,EAAI,QAAU,SACtD0E,SAAUH,EAAS,EAAI,MAAQxE,EAAM,EAAI,SAAW,UAEjDqC,EAAcsB,GAAavF,EAAK6B,EAAOsE,GAAUlC,IACrDoC,EAASC,WAAa,UAElBpC,EAAesB,GAAcxF,EAAK4B,EAAMwE,GAAWlC,IACvDmC,EAASE,SAAW,UAEhBzG,EAAKE,EAAK6B,GAAQ7B,EAAKmG,IAAYrG,EAAKE,EAAK4B,GAAO5B,EAAKoG,IAC7DC,EAASG,UAAY,aAErBH,EAASG,UAAY,WAEtB7C,EAAQ2B,MAAMmB,KAAM3C,KAAMoC,EAAOG,KAInC7E,EAAKG,OAAQ/B,EAAE2E,OAAQ/D,EAAU,CAAE8E,MAAOA,SAI5C1F,EAAEqG,GAAGzF,SAAW,CACfkG,IAAK,CACJ7E,KAAM,SAAUrB,EAAUmG,GACzB,IAMCC,EANG3D,EAAS0D,EAAK1D,OACjB4D,EAAe5D,EAAO7B,SAAW6B,EAAOlB,WAAakB,EAAOtB,OAAOE,KACnEM,EAAac,EAAOtC,MACpBmG,EAAmBtG,EAASqB,KAAO8E,EAAKtB,kBAAkBI,WAC1DsB,EAAWF,EAAeC,EAC1BE,EAAYF,EAAmBH,EAAKhB,eAAiBxD,EAAa0E,EAI9DF,EAAKhB,eAAiBxD,EAGrB4E,EAAW,GAAKC,GAAa,GACjCJ,EAAepG,EAASqB,KAAOkF,EAAWJ,EAAKhB,eAAiBxD,EAC/D0E,EACDrG,EAASqB,MAAQkF,EAAWH,GAI5BpG,EAASqB,KADEmF,EAAY,GAAKD,GAAY,EACxBF,EAIXE,EAAWC,EACCH,EAAe1E,EAAawE,EAAKhB,eAEjCkB,EAKPE,EAAW,EACtBvG,EAASqB,MAAQkF,EAGNC,EAAY,EACvBxG,EAASqB,MAAQmF,EAIjBxG,EAASqB,KAAO/B,EAAKU,EAASqB,KAAOiF,EAAkBtG,EAASqB,OAGlED,IAAK,SAAUpB,EAAUmG,GACxB,IAMCM,EANGhE,EAAS0D,EAAK1D,OACjB4D,EAAe5D,EAAO7B,SAAW6B,EAAOnB,UAAYmB,EAAOtB,OAAOC,IAClEQ,EAAcuE,EAAK1D,OAAOrC,OAC1BsG,EAAkB1G,EAASoB,IAAM+E,EAAKtB,kBAAkBK,UACxDyB,EAAUN,EAAeK,EACzBE,EAAaF,EAAkBP,EAAKf,gBAAkBxD,EAAcyE,EAIhEF,EAAKf,gBAAkBxD,EAGtB+E,EAAU,GAAKC,GAAc,GACjCH,EAAgBzG,EAASoB,IAAMuF,EAAUR,EAAKf,gBAAkBxD,EAC/DyE,EACDrG,EAASoB,KAAOuF,EAAUF,GAI1BzG,EAASoB,IADEwF,EAAa,GAAKD,GAAW,EACzBN,EAIVM,EAAUC,EACCP,EAAezE,EAAcuE,EAAKf,gBAElCiB,EAKNM,EAAU,EACrB3G,EAASoB,KAAOuF,EAGLC,EAAa,EACxB5G,EAASoB,KAAOwF,EAIhB5G,EAASoB,IAAM9B,EAAKU,EAASoB,IAAMsF,EAAiB1G,EAASoB,OAIhEyF,KAAM,CACLxF,KAAM,SAAUrB,EAAUmG,GACzB,IAkBCC,EACAU,EAnBGrE,EAAS0D,EAAK1D,OACjB4D,EAAe5D,EAAOtB,OAAOE,KAAOoB,EAAOlB,WAC3CI,EAAac,EAAOtC,MACpB4G,EAAatE,EAAO7B,SAAW6B,EAAOlB,WAAakB,EAAOtB,OAAOE,KACjEiF,EAAmBtG,EAASqB,KAAO8E,EAAKtB,kBAAkBI,WAC1DsB,EAAWD,EAAmBS,EAC9BP,EAAYF,EAAmBH,EAAKhB,eAAiBxD,EAAaoF,EAClE1B,EAA4B,SAAjBc,EAAKb,GAAI,IAClBa,EAAKpB,UACW,UAAjBoB,EAAKb,GAAI,GACRa,EAAKpB,UACL,EACFvB,EAA4B,SAAjB2C,EAAK9B,GAAI,GACnB8B,EAAK1C,YACY,UAAjB0C,EAAK9B,GAAI,IACP8B,EAAK1C,YACN,EACFtC,GAAU,EAAIgF,EAAKhF,OAAQ,GAIvBoF,EAAW,IACfH,EAAepG,EAASqB,KAAOgE,EAAW7B,EAAWrC,EAASgF,EAAKhB,eAClExD,EAAa0E,GACM,GAAKD,EAAe5G,EAAK+G,MAC5CvG,EAASqB,MAAQgE,EAAW7B,EAAWrC,GAE7BqF,EAAY,KACvBM,EAAc9G,EAASqB,KAAO8E,EAAKtB,kBAAkBI,WAAaI,EACjE7B,EAAWrC,EAAS4F,GACF,GAAKvH,EAAKsH,GAAgBN,KAC5CxG,EAASqB,MAAQgE,EAAW7B,EAAWrC,IAI1CC,IAAK,SAAUpB,EAAUmG,GACxB,IAmBCa,EACAP,EApBGhE,EAAS0D,EAAK1D,OACjB4D,EAAe5D,EAAOtB,OAAOC,IAAMqB,EAAOnB,UAC1CM,EAAca,EAAOrC,OACrB6G,EAAYxE,EAAO7B,SAAW6B,EAAOnB,UAAYmB,EAAOtB,OAAOC,IAC/DsF,EAAkB1G,EAASoB,IAAM+E,EAAKtB,kBAAkBK,UACxDyB,EAAUD,EAAkBO,EAC5BL,EAAaF,EAAkBP,EAAKf,gBAAkBxD,EAAcqF,EAEpE5B,EADuB,QAAjBc,EAAKb,GAAI,IAEba,EAAKnB,WACW,WAAjBmB,EAAKb,GAAI,GACRa,EAAKnB,WACL,EACFxB,EAA4B,QAAjB2C,EAAK9B,GAAI,GACnB8B,EAAKzC,aACY,WAAjByC,EAAK9B,GAAI,IACP8B,EAAKzC,aACN,EACFvC,GAAU,EAAIgF,EAAKhF,OAAQ,GAGvBwF,EAAU,IACdF,EAAgBzG,EAASoB,IAAMiE,EAAW7B,EAAWrC,EAASgF,EAAKf,gBAClExD,EAAcyE,GACM,GAAKI,EAAgBjH,EAAKmH,MAC9C3G,EAASoB,KAAOiE,EAAW7B,EAAWrC,GAE5ByF,EAAa,KACxBI,EAAahH,EAASoB,IAAM+E,EAAKtB,kBAAkBK,UAAYG,EAAW7B,EACzErC,EAAS8F,GACQ,GAAKzH,EAAKwH,GAAeJ,KAC1C5G,EAASoB,KAAOiE,EAAW7B,EAAWrC,KAK1C+F,QAAS,CACR7F,KAAM,WACLjC,EAAEqG,GAAGzF,SAAS6G,KAAKxF,KAAKgC,MAAOC,KAAMC,WACrCnE,EAAEqG,GAAGzF,SAASkG,IAAI7E,KAAKgC,MAAOC,KAAMC,YAErCnC,IAAK,WACJhC,EAAEqG,GAAGzF,SAAS6G,KAAKzF,IAAIiC,MAAOC,KAAMC,WACpCnE,EAAEqG,GAAGzF,SAASkG,IAAI9E,IAAIiC,MAAOC,KAAMC,cArdtC,GA4dOnE,EAAEqG,GAAGzF","file":"position-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/position.js b/web/core/assets/vendor/jquery.ui/ui/position.js
index 48836c26d4..2f5da8742d 100644
--- a/web/core/assets/vendor/jquery.ui/ui/position.js
+++ b/web/core/assets/vendor/jquery.ui/ui/position.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Position 1.12.1
+ * jQuery UI Position 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -16,6 +16,8 @@
 //>>demos: http://jqueryui.com/position/
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -25,7 +27,9 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
+
 ( function() {
 var cachedScrollbarWidth,
 	max = Math.max,
@@ -48,6 +52,10 @@ function parseCss( element, property ) {
 	return parseInt( $.css( element, property ), 10 ) || 0;
 }
 
+function isWindow( obj ) {
+	return obj != null && obj === obj.window;
+}
+
 function getDimensions( elem ) {
 	var raw = elem[ 0 ];
 	if ( raw.nodeType === 9 ) {
@@ -57,7 +65,7 @@ function getDimensions( elem ) {
 			offset: { top: 0, left: 0 }
 		};
 	}
-	if ( $.isWindow( raw ) ) {
+	if ( isWindow( raw ) ) {
 		return {
 			width: elem.width(),
 			height: elem.height(),
@@ -84,9 +92,9 @@ $.position = {
 			return cachedScrollbarWidth;
 		}
 		var w1, w2,
-			div = $( "<div " +
-				"style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" +
-				"<div style='height:100px;width:auto;'></div></div>" ),
+			div = $( "<div style=" +
+				"'display:block;position:absolute;width:200px;height:200px;overflow:hidden;'>" +
+				"<div style='height:300px;width:auto;'></div></div>" ),
 			innerDiv = div.children()[ 0 ];
 
 		$( "body" ).append( div );
@@ -119,12 +127,12 @@ $.position = {
 	},
 	getWithinInfo: function( element ) {
 		var withinElement = $( element || window ),
-			isWindow = $.isWindow( withinElement[ 0 ] ),
+			isElemWindow = isWindow( withinElement[ 0 ] ),
 			isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9,
-			hasOffset = !isWindow && !isDocument;
+			hasOffset = !isElemWindow && !isDocument;
 		return {
 			element: withinElement,
-			isWindow: isWindow,
+			isWindow: isElemWindow,
 			isDocument: isDocument,
 			offset: hasOffset ? $( element ).offset() : { left: 0, top: 0 },
 			scrollLeft: withinElement.scrollLeft(),
@@ -500,4 +508,4 @@ $.ui.position = {
 
 return $.ui.position;
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/safe-active-element-min.js b/web/core/assets/vendor/jquery.ui/ui/safe-active-element-min.js
index 2681bcf54e..55e2389192 100644
--- a/web/core/assets/vendor/jquery.ui/ui/safe-active-element-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/safe-active-element-min.js
@@ -1 +1,2 @@
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){return e.ui.safeActiveElement=function(e){var n;try{n=e.activeElement}catch(t){n=e.body}return n||(n=e.body),n.nodeName||(n=e.body),n}}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){"use strict";return e.ui.safeActiveElement=function(e){var n;try{n=e.activeElement}catch(t){n=e.body}return n||(n=e.body),n.nodeName||(n=e.body),n}}));
+//# sourceMappingURL=safe-active-element-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/safe-active-element-min.js.map b/web/core/assets/vendor/jquery.ui/ui/safe-active-element-min.js.map
new file mode 100644
index 0000000000..68722e2cd8
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/safe-active-element-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["safe-active-element.js"],"names":["factory","define","amd","jQuery","$","ui","safeActiveElement","document","activeElement","error","body","nodeName"],"mappings":"CAAA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAEA,OAAOA,EAAEC,GAAGC,kBAAoB,SAAUC,GACzC,IAAIC,EAIJ,IACCA,EAAgBD,EAASC,cACxB,MAAQC,GACTD,EAAgBD,EAASG,KAiB1B,OAXMF,IACLA,EAAgBD,EAASG,MAMpBF,EAAcG,WACnBH,EAAgBD,EAASG,MAGnBF","file":"safe-active-element-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/safe-active-element.js b/web/core/assets/vendor/jquery.ui/ui/safe-active-element.js
index 4d04add5ff..9d6968e08f 100644
--- a/web/core/assets/vendor/jquery.ui/ui/safe-active-element.js
+++ b/web/core/assets/vendor/jquery.ui/ui/safe-active-element.js
@@ -1,4 +1,6 @@
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -8,7 +10,9 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
+
 return $.ui.safeActiveElement = function( document ) {
 	var activeElement;
 
@@ -37,4 +41,4 @@ return $.ui.safeActiveElement = function( document ) {
 	return activeElement;
 };
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/safe-blur-min.js b/web/core/assets/vendor/jquery.ui/ui/safe-blur-min.js
index fd542b8254..ac3501d253 100644
--- a/web/core/assets/vendor/jquery.ui/ui/safe-blur-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/safe-blur-min.js
@@ -1 +1,2 @@
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){return e.ui.safeBlur=function(n){n&&"body"!==n.nodeName.toLowerCase()&&e(n).trigger("blur")}}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){"use strict";return e.ui.safeBlur=function(n){n&&"body"!==n.nodeName.toLowerCase()&&e(n).trigger("blur")}}));
+//# sourceMappingURL=safe-blur-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/safe-blur-min.js.map b/web/core/assets/vendor/jquery.ui/ui/safe-blur-min.js.map
new file mode 100644
index 0000000000..bff7cc16e0
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/safe-blur-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["safe-blur.js"],"names":["factory","define","amd","jQuery","$","ui","safeBlur","element","nodeName","toLowerCase","trigger"],"mappings":"CAAA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAEA,OAAOA,EAAEC,GAAGC,SAAW,SAAUC,GAI3BA,GAA8C,SAAnCA,EAAQC,SAASC,eAChCL,EAAGG,GAAUG,QAAS","file":"safe-blur-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/safe-blur.js b/web/core/assets/vendor/jquery.ui/ui/safe-blur.js
index 5258782680..c0b3b8a1e0 100644
--- a/web/core/assets/vendor/jquery.ui/ui/safe-blur.js
+++ b/web/core/assets/vendor/jquery.ui/ui/safe-blur.js
@@ -1,4 +1,6 @@
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -8,7 +10,9 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
+
 return $.ui.safeBlur = function( element ) {
 
 	// Support: IE9 - 10 only
@@ -18,4 +22,4 @@ return $.ui.safeBlur = function( element ) {
 	}
 };
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/scroll-parent-min.js b/web/core/assets/vendor/jquery.ui/ui/scroll-parent-min.js
index 39d3a55f74..9304c3e5c2 100644
--- a/web/core/assets/vendor/jquery.ui/ui/scroll-parent-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/scroll-parent-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Scroll Parent 1.12.1
+ * jQuery UI Scroll Parent 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./version"],e):e(jQuery)}((function(e){return e.fn.scrollParent=function(t){var n=this.css("position"),o="absolute"===n,s=t?/(auto|scroll|hidden)/:/(auto|scroll)/,i=this.parents().filter((function(){var t=e(this);return(!o||"static"!==t.css("position"))&&s.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))})).eq(0);return"fixed"!==n&&i.length?i:e(this[0].ownerDocument||document)}}));
\ No newline at end of file
+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){"use strict";return t.fn.scrollParent=function(e){var s=this.css("position"),n="absolute"===s,o=e?/(auto|scroll|hidden)/:/(auto|scroll)/,i=this.parents().filter((function(){var e=t(this);return(!n||"static"!==e.css("position"))&&o.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))})).eq(0);return"fixed"!==s&&i.length?i:t(this[0].ownerDocument||document)}}));
+//# sourceMappingURL=scroll-parent-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/scroll-parent-min.js.map b/web/core/assets/vendor/jquery.ui/ui/scroll-parent-min.js.map
new file mode 100644
index 0000000000..88d11bf85c
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/scroll-parent-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["scroll-parent.js"],"names":["factory","define","amd","jQuery","$","fn","scrollParent","includeHidden","position","this","css","excludeStaticParent","overflowRegex","parents","filter","parent","test","eq","length","ownerDocument","document"],"mappings":";;;;;;;;CAcA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAEA,OAAOA,EAAEC,GAAGC,aAAe,SAAUC,GACpC,IAAIC,EAAWC,KAAKC,IAAK,YACxBC,EAAmC,aAAbH,EACtBI,EAAgBL,EAAgB,uBAAyB,gBACzDD,EAAeG,KAAKI,UAAUC,QAAQ,WACrC,IAAIC,EAASX,EAAGK,MAChB,QAAKE,GAAoD,WAA7BI,EAAOL,IAAK,cAGjCE,EAAcI,KAAMD,EAAOL,IAAK,YAAeK,EAAOL,IAAK,cACjEK,EAAOL,IAAK,kBACVO,GAAI,GAET,MAAoB,UAAbT,GAAyBF,EAAaY,OAE5CZ,EADAF,EAAGK,KAAM,GAAIU,eAAiBC","file":"scroll-parent-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/scroll-parent.js b/web/core/assets/vendor/jquery.ui/ui/scroll-parent.js
index dfe820b625..242bbb82e7 100644
--- a/web/core/assets/vendor/jquery.ui/ui/scroll-parent.js
+++ b/web/core/assets/vendor/jquery.ui/ui/scroll-parent.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Scroll Parent 1.12.1
+ * jQuery UI Scroll Parent 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -13,6 +13,8 @@
 //>>docs: http://api.jqueryui.com/scrollParent/
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -22,7 +24,8 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 return $.fn.scrollParent = function( includeHidden ) {
 	var position = this.css( "position" ),
@@ -42,4 +45,4 @@ return $.fn.scrollParent = function( includeHidden ) {
 		scrollParent;
 };
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/tabbable-min.js b/web/core/assets/vendor/jquery.ui/ui/tabbable-min.js
index f982e8a018..c24e76b6db 100644
--- a/web/core/assets/vendor/jquery.ui/ui/tabbable-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/tabbable-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Tabbable 1.12.1
+ * jQuery UI Tabbable 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./version","./focusable"],e):e(jQuery)}((function(e){return e.extend(e.expr[":"],{tabbable:function(n){var t=e.attr(n,"tabindex"),u=null!=t;return(!u||t>=0)&&e.ui.focusable(n,u)}})}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version","./focusable"],e):e(jQuery)}((function(e){"use strict";return e.extend(e.expr.pseudos,{tabbable:function(n){var t=e.attr(n,"tabindex"),u=null!=t;return(!u||t>=0)&&e.ui.focusable(n,u)}})}));
+//# sourceMappingURL=tabbable-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/tabbable-min.js.map b/web/core/assets/vendor/jquery.ui/ui/tabbable-min.js.map
new file mode 100644
index 0000000000..df03b1e932
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/tabbable-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["tabbable.js"],"names":["factory","define","amd","jQuery","$","extend","expr","pseudos","tabbable","element","tabIndex","attr","hasTabindex","ui","focusable"],"mappings":";;;;;;;;CAcA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,YAAa,eAAiBD,GAIlDA,EAASG,QAVX,EAYK,SAAUC,GACf,aAEA,OAAOA,EAAEC,OAAQD,EAAEE,KAAKC,QAAS,CAChCC,SAAU,SAAUC,GACnB,IAAIC,EAAWN,EAAEO,KAAMF,EAAS,YAC/BG,EAA0B,MAAZF,EACf,QAAUE,GAAeF,GAAY,IAAON,EAAES,GAAGC,UAAWL,EAASG","file":"tabbable-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/tabbable.js b/web/core/assets/vendor/jquery.ui/ui/tabbable.js
index d3ceafd90c..e936f6c3eb 100644
--- a/web/core/assets/vendor/jquery.ui/ui/tabbable.js
+++ b/web/core/assets/vendor/jquery.ui/ui/tabbable.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Tabbable 1.12.1
+ * jQuery UI Tabbable 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -13,6 +13,8 @@
 //>>docs: http://api.jqueryui.com/tabbable-selector/
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -22,9 +24,10 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
-return $.extend( $.expr[ ":" ], {
+return $.extend( $.expr.pseudos, {
 	tabbable: function( element ) {
 		var tabIndex = $.attr( element, "tabindex" ),
 			hasTabindex = tabIndex != null;
@@ -32,4 +35,4 @@ return $.extend( $.expr[ ":" ], {
 	}
 } );
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/unique-id-min.js b/web/core/assets/vendor/jquery.ui/ui/unique-id-min.js
index c57ff7c1f5..de6336a906 100644
--- a/web/core/assets/vendor/jquery.ui/ui/unique-id-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/unique-id-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Unique ID 1.12.1
+ * jQuery UI Unique ID 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(i){"function"==typeof define&&define.amd?define(["jquery","./version"],i):i(jQuery)}((function(i){return i.fn.extend({uniqueId:(n=0,function(){return this.each((function(){this.id||(this.id="ui-id-"+ ++n)}))}),removeUniqueId:function(){return this.each((function(){/^ui-id-\d+$/.test(this.id)&&i(this).removeAttr("id")}))}});var n}));
\ No newline at end of file
+!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],i):i(jQuery)}((function(i){"use strict";return i.fn.extend({uniqueId:(e=0,function(){return this.each((function(){this.id||(this.id="ui-id-"+ ++e)}))}),removeUniqueId:function(){return this.each((function(){/^ui-id-\d+$/.test(this.id)&&i(this).removeAttr("id")}))}});var e}));
+//# sourceMappingURL=unique-id-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/unique-id-min.js.map b/web/core/assets/vendor/jquery.ui/ui/unique-id-min.js.map
new file mode 100644
index 0000000000..c43a93a3ae
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/unique-id-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["unique-id.js"],"names":["factory","define","amd","jQuery","$","fn","extend","uniqueId","uuid","this","each","id","removeUniqueId","test","removeAttr"],"mappings":";;;;;;;;CAcA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAEA,OAAOA,EAAEC,GAAGC,OAAQ,CACnBC,UACKC,EAAO,EAEJ,WACN,OAAOC,KAAKC,MAAM,WACXD,KAAKE,KACVF,KAAKE,GAAK,YAAeH,QAM7BI,eAAgB,WACf,OAAOH,KAAKC,MAAM,WACZ,cAAcG,KAAMJ,KAAKE,KAC7BP,EAAGK,MAAOK,WAAY,YAff,IACLN","file":"unique-id-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/unique-id.js b/web/core/assets/vendor/jquery.ui/ui/unique-id.js
index 9e45f0afa3..b3acdff702 100644
--- a/web/core/assets/vendor/jquery.ui/ui/unique-id.js
+++ b/web/core/assets/vendor/jquery.ui/ui/unique-id.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Unique ID 1.12.1
+ * jQuery UI Unique ID 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -13,6 +13,8 @@
 //>>docs: http://api.jqueryui.com/uniqueId/
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -22,7 +24,8 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 return $.fn.extend( {
 	uniqueId: ( function() {
@@ -46,4 +49,4 @@ return $.fn.extend( {
 	}
 } );
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/version-min.js b/web/core/assets/vendor/jquery.ui/ui/version-min.js
index 994a8bad28..2ca3e84cab 100644
--- a/web/core/assets/vendor/jquery.ui/ui/version-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/version-min.js
@@ -1 +1,2 @@
-!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}((function(e){return e.ui=e.ui||{},e.ui.version="1.12.1"}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}((function(e){"use strict";return e.ui=e.ui||{},e.ui.version="1.13.1"}));
+//# sourceMappingURL=version-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/version-min.js.map b/web/core/assets/vendor/jquery.ui/ui/version-min.js.map
new file mode 100644
index 0000000000..1740844e8c
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/version-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["version.js"],"names":["factory","define","amd","jQuery","$","ui","version"],"mappings":"CAAA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,UAAYD,GAItBA,EAASG,QAVX,EAYK,SAAUC,GACf,aAIA,OAFAA,EAAEC,GAAKD,EAAEC,IAAM,GAERD,EAAEC,GAAGC,QAAU","file":"version-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/version.js b/web/core/assets/vendor/jquery.ui/ui/version.js
index e7505f5a3d..fc3e1d035c 100644
--- a/web/core/assets/vendor/jquery.ui/ui/version.js
+++ b/web/core/assets/vendor/jquery.ui/ui/version.js
@@ -1,4 +1,6 @@
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -8,10 +10,11 @@
 		// Browser globals
 		factory( jQuery );
 	}
-} ( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 $.ui = $.ui || {};
 
-return $.ui.version = "1.12.1";
+return $.ui.version = "1.13.1";
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/widget-min.js b/web/core/assets/vendor/jquery.ui/ui/widget-min.js
index fe1eb42bfc..2d3ee23086 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widget-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widget-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Widget 1.12.1
+ * jQuery UI Widget 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(t){"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){var e,i=0,s=Array.prototype.slice;return t.cleanData=(e=t.cleanData,function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{(s=t._data(n,"events"))&&s.remove&&t(n).triggerHandler("remove")}catch(t){}e(i)}),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0],u=l+"-"+(e=e.split(".")[1]);return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][u.toLowerCase()]=function(e){return!!t.data(e,u)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){if(!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),(a=new i).options=t.widget.extend({},a.options),t.each(s,(function(e,s){t.isFunction(s)?r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}():r[e]=s})),o.prototype=t.widget.extend(a,{widgetEventPrefix:n&&a.widgetEventPrefix||e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:u}),n?(t.each(n._childConstructors,(function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)})),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;a<r;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(t.isPlainObject(n)?e[i]=t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):e[i]=n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each((function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r))!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0:t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; attempted to call method '"+o+"'")})):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each((function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))}))),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,(function(t,i){e._removeClass(i,t)})),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;o<s.length-1;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){var i=[],s=this;function n(n,o){var a,r;for(r=0;r<n.length;r++)a=s.classesElementLookup[n[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),s.classesElementLookup[n[r]]=a,i.push(n[r]),o&&e.classes[n[r]]&&i.push(e.classes[n[r]])}return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&n(e.keys.match(/\S+/g)||[],!0),e.extra&&n(e.extra.match(/\S+/g)||[]),i.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,(function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))}))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,(function(s,a){function r(){if(e||!0!==o.options.disabled&&!t(this).hasClass("ui-state-disabled"))return("string"==typeof a?o[a]:a).apply(o,arguments)}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),u=l[1]+o.eventNamespace,h=l[2];h?n.on(u,h,r):i.on(u,r)}))},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){var i=this;return setTimeout((function(){return("string"==typeof t?i[t]:t).apply(i,arguments)}),e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},(i=t.Event(i)).type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&!1===a.apply(this.element[0],[i].concat(s))||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},(function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){var a;"string"==typeof n&&(n={effect:n});var r=n?!0===n||"number"==typeof n?i:n.effect||i:e;"number"==typeof(n=n||{})&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue((function(i){t(this)[e](),o&&o.call(s[0]),i()}))}})),t.widget}));
\ No newline at end of file
+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./version"],t):t(jQuery)}((function(t){"use strict";var e,i=0,s=Array.prototype.hasOwnProperty,n=Array.prototype.slice;return t.cleanData=(e=t.cleanData,function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)(s=t._data(n,"events"))&&s.remove&&t(n).triggerHandler("remove");e(i)}),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0],u=l+"-"+(e=e.split(".")[1]);return s||(s=i,i=t.Widget),Array.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr.pseudos[u.toLowerCase()]=function(e){return!!t.data(e,u)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),(a=new i).options=t.widget.extend({},a.options),t.each(s,(function(t,e){r[t]="function"==typeof e?function(){function s(){return i.prototype[t].apply(this,arguments)}function n(e){return i.prototype[t].apply(this,e)}return function(){var t,i=this._super,o=this._superApply;return this._super=s,this._superApply=n,t=e.apply(this,arguments),this._super=i,this._superApply=o,t}}():e})),o.prototype=t.widget.extend(a,{widgetEventPrefix:n&&a.widgetEventPrefix||e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:u}),n?(t.each(n._childConstructors,(function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)})),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,o,a=n.call(arguments,1),r=0,l=a.length;r<l;r++)for(i in a[r])o=a[r][i],s.call(a[r],i)&&void 0!==o&&(t.isPlainObject(o)?e[i]=t.isPlainObject(e[i])?t.widget.extend({},e[i],o):t.widget.extend({},o):e[i]=o);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=n.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each((function(){var i,n=t.data(this,s);return"instance"===o?(l=n,!1):n?"function"!=typeof n[o]||"_"===o.charAt(0)?t.error("no such method '"+o+"' for "+e+" widget instance"):(i=n[o].apply(n,r))!==n&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0:t.error("cannot call methods on "+e+" prior to initialization; attempted to call method '"+o+"'")})):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each((function(){var e=t.data(this,s);e?(e.option(o||{}),e._init&&e._init()):t.data(this,s,new i(o,this))}))),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,(function(t,i){e._removeClass(i,t)})),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;o<s.length-1;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){var i=[],s=this;function n(){var i=[];e.element.each((function(e,n){t.map(s.classesElementLookup,(function(t){return t})).some((function(t){return t.is(n)}))||i.push(n)})),s._on(t(i),{remove:"_untrackClassesElement"})}function o(o,a){var r,l;for(l=0;l<o.length;l++)r=s.classesElementLookup[o[l]]||t(),e.add?(n(),r=t(t.uniqueSort(r.get().concat(e.element.get())))):r=t(r.not(e.element).get()),s.classesElementLookup[o[l]]=r,i.push(o[l]),a&&e.classes[o[l]]&&i.push(e.classes[o[l]])}return(e=t.extend({element:this.element,classes:this.options.classes||{}},e)).keys&&o(e.keys.match(/\S+/g)||[],!0),e.extra&&o(e.extra.match(/\S+/g)||[]),i.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,(function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})),this._off(t(e.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,(function(s,a){function r(){if(e||!0!==o.options.disabled&&!t(this).hasClass("ui-state-disabled"))return("string"==typeof a?o[a]:a).apply(o,arguments)}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),u=l[1]+o.eventNamespace,h=l[2];h?n.on(u,h,r):i.on(u,r)}))},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){var i=this;return setTimeout((function(){return("string"==typeof t?i[t]:t).apply(i,arguments)}),e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},(i=t.Event(i)).type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!("function"==typeof a&&!1===a.apply(this.element[0],[i].concat(s))||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},(function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){var a;"string"==typeof n&&(n={effect:n});var r=n?!0===n||"number"==typeof n?i:n.effect||i:e;"number"==typeof(n=n||{})?n={duration:n}:!0===n&&(n={}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue((function(i){t(this)[e](),o&&o.call(s[0]),i()}))}})),t.widget}));
+//# sourceMappingURL=widget-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widget-min.js.map b/web/core/assets/vendor/jquery.ui/ui/widget-min.js.map
new file mode 100644
index 0000000000..be3132f983
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/widget-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["widget.js"],"names":["factory","define","amd","jQuery","$","orig","widgetUuid","widgetHasOwnProperty","Array","prototype","hasOwnProperty","widgetSlice","slice","cleanData","elems","events","elem","i","_data","remove","triggerHandler","widget","name","base","existingConstructor","constructor","basePrototype","proxiedPrototype","namespace","split","fullName","Widget","isArray","extend","apply","concat","expr","pseudos","toLowerCase","data","options","element","this","_createWidget","arguments","length","version","_proto","_childConstructors","each","prop","value","_super","_superApply","args","returnValue","__super","__superApply","widgetEventPrefix","widgetName","widgetFullName","child","childPrototype","push","bridge","target","key","input","call","inputIndex","inputLength","undefined","isPlainObject","object","fn","isMethodCall","methodValue","instance","charAt","error","jquery","pushStack","get","option","_init","defaultElement","classes","disabled","create","uuid","eventNamespace","bindings","hoverable","focusable","classesElementLookup","_on","event","destroy","document","style","ownerDocument","window","defaultView","parentWindow","_getCreateOptions","_create","_setOptionDisabled","_trigger","_getCreateEventData","noop","that","_destroy","_removeClass","off","removeData","removeAttr","parts","curOption","shift","pop","_setOptions","_setOption","_setOptionClasses","classKey","elements","currentElements","addClass","_classes","keys","add","_toggleClass","enable","disable","full","bindRemoveEvent","nodesToBind","_","map","some","is","processClassString","checkOption","current","uniqueSort","not","match","extra","join","_untrackClassesElement","inArray","_off","_addClass","toggleClass","suppressDisabledCheck","handlers","delegateElement","handler","handlerProxy","hasClass","guid","eventName","selector","on","_delay","delay","setTimeout","_hoverable","mouseenter","currentTarget","mouseleave","_focusable","focusin","focusout","type","callback","Event","originalEvent","trigger","isDefaultPrevented","show","hide","method","defaultEffect","hasOptions","effect","effectName","duration","isEmptyObject","complete","effects","easing","queue","next"],"mappings":";;;;;;;;CAeA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CAAE,SAAU,aAAeD,GAInCA,EAASG,QAVX,EAYK,SAAUC,GACf,aAEA,IAI0BC,EAJtBC,EAAa,EACbC,EAAuBC,MAAMC,UAAUC,eACvCC,EAAcH,MAAMC,UAAUG,MAitBlC,OA/sBAR,EAAES,WAAwBR,EAarBD,EAAES,UAZC,SAAUC,GAChB,IAAIC,EAAQC,EAAMC,EAClB,IAAMA,EAAI,EAA4B,OAAvBD,EAAOF,EAAOG,IAAeA,KAG3CF,EAASX,EAAEc,MAAOF,EAAM,YACTD,EAAOI,QACrBf,EAAGY,GAAOI,eAAgB,UAG5Bf,EAAMS,KAIRV,EAAEiB,OAAS,SAAUC,EAAMC,EAAMd,GAChC,IAAIe,EAAqBC,EAAaC,EAIlCC,EAAmB,GAEnBC,EAAYN,EAAKO,MAAO,KAAO,GAE/BC,EAAWF,EAAY,KAD3BN,EAAOA,EAAKO,MAAO,KAAO,IAuH1B,OApHMpB,IACLA,EAAYc,EACZA,EAAOnB,EAAE2B,QAGLvB,MAAMwB,QAASvB,KACnBA,EAAYL,EAAE6B,OAAOC,MAAO,KAAM,CAAE,IAAKC,OAAQ1B,KAIlDL,EAAEgC,KAAKC,QAASP,EAASQ,eAAkB,SAAUtB,GACpD,QAASZ,EAAEmC,KAAMvB,EAAMc,IAGxB1B,EAAGwB,GAAcxB,EAAGwB,IAAe,GACnCJ,EAAsBpB,EAAGwB,GAAaN,GACtCG,EAAcrB,EAAGwB,GAAaN,GAAS,SAAUkB,EAASC,GAGzD,IAAMC,OAASA,KAAKC,cACnB,OAAO,IAAIlB,EAAae,EAASC,GAK7BG,UAAUC,QACdH,KAAKC,cAAeH,EAASC,IAK/BrC,EAAE6B,OAAQR,EAAaD,EAAqB,CAC3CsB,QAASrC,EAAUqC,QAInBC,OAAQ3C,EAAE6B,OAAQ,GAAIxB,GAItBuC,mBAAoB,MAGrBtB,EAAgB,IAAIH,GAKNiB,QAAUpC,EAAEiB,OAAOY,OAAQ,GAAIP,EAAcc,SAC3DpC,EAAE6C,KAAMxC,GAAW,SAAUyC,EAAMC,GAKlCxB,EAAkBuB,GAJI,mBAAVC,EAIe,WAC1B,SAASC,IACR,OAAO7B,EAAKd,UAAWyC,GAAOhB,MAAOQ,KAAME,WAG5C,SAASS,EAAaC,GACrB,OAAO/B,EAAKd,UAAWyC,GAAOhB,MAAOQ,KAAMY,GAG5C,OAAO,WACN,IAEIC,EAFAC,EAAUd,KAAKU,OACfK,EAAef,KAAKW,YAWxB,OARAX,KAAKU,OAASA,EACdV,KAAKW,YAAcA,EAEnBE,EAAcJ,EAAMjB,MAAOQ,KAAME,WAEjCF,KAAKU,OAASI,EACdd,KAAKW,YAAcI,EAEZF,GAtBkB,GAHCJ,KA6B7B1B,EAAYhB,UAAYL,EAAEiB,OAAOY,OAAQP,EAAe,CAKvDgC,kBAAmBlC,GAAwBE,EAAcgC,mBAA8BpC,GACrFK,EAAkB,CACpBF,YAAaA,EACbG,UAAWA,EACX+B,WAAYrC,EACZsC,eAAgB9B,IAOZN,GACJpB,EAAE6C,KAAMzB,EAAoBwB,oBAAoB,SAAU/B,EAAG4C,GAC5D,IAAIC,EAAiBD,EAAMpD,UAI3BL,EAAEiB,OAAQyC,EAAelC,UAAY,IAAMkC,EAAeH,WAAYlC,EACrEoC,EAAMd,kBAKDvB,EAAoBwB,oBAE3BzB,EAAKyB,mBAAmBe,KAAMtC,GAG/BrB,EAAEiB,OAAO2C,OAAQ1C,EAAMG,GAEhBA,GAGRrB,EAAEiB,OAAOY,OAAS,SAAUgC,GAO3B,IANA,IAGIC,EACAf,EAJAgB,EAAQxD,EAAYyD,KAAMxB,UAAW,GACrCyB,EAAa,EACbC,EAAcH,EAAMtB,OAIhBwB,EAAaC,EAAaD,IACjC,IAAMH,KAAOC,EAAOE,GACnBlB,EAAQgB,EAAOE,GAAcH,GACxB3D,EAAqB6D,KAAMD,EAAOE,GAAcH,SAAmBK,IAAVpB,IAGxD/C,EAAEoE,cAAerB,GACrBc,EAAQC,GAAQ9D,EAAEoE,cAAeP,EAAQC,IACxC9D,EAAEiB,OAAOY,OAAQ,GAAIgC,EAAQC,GAAOf,GAGpC/C,EAAEiB,OAAOY,OAAQ,GAAIkB,GAItBc,EAAQC,GAAQf,GAKpB,OAAOc,GAGR7D,EAAEiB,OAAO2C,OAAS,SAAU1C,EAAMmD,GACjC,IAAI3C,EAAW2C,EAAOhE,UAAUmD,gBAAkBtC,EAClDlB,EAAEsE,GAAIpD,GAAS,SAAUkB,GACxB,IAAImC,EAAkC,iBAAZnC,EACtBc,EAAO3C,EAAYyD,KAAMxB,UAAW,GACpCW,EAAcb,KA4DlB,OA1DKiC,EAIEjC,KAAKG,QAAsB,aAAZL,EAGpBE,KAAKO,MAAM,WACV,IAAI2B,EACAC,EAAWzE,EAAEmC,KAAMG,KAAMZ,GAE7B,MAAiB,aAAZU,GACJe,EAAcsB,GACP,GAGFA,EAM8B,mBAAxBA,EAAUrC,IACG,MAAxBA,EAAQsC,OAAQ,GACT1E,EAAE2E,MAAO,mBAAqBvC,EAAU,SAAWlB,EACzD,qBAGFsD,EAAcC,EAAUrC,GAAUN,MAAO2C,EAAUvB,MAE9BuB,QAA4BN,IAAhBK,GAChCrB,EAAcqB,GAAeA,EAAYI,OACxCzB,EAAY0B,UAAWL,EAAYM,OACnCN,GACM,QAJR,EAbQxE,EAAE2E,MAAO,0BAA4BzD,EAA5B,uDAEgBkB,EAAU,QAd5Ce,OAAcgB,GAoCVjB,EAAKT,SACTL,EAAUpC,EAAEiB,OAAOY,OAAOC,MAAO,KAAM,CAAEM,GAAUL,OAAQmB,KAG5DZ,KAAKO,MAAM,WACV,IAAI4B,EAAWzE,EAAEmC,KAAMG,KAAMZ,GACxB+C,GACJA,EAASM,OAAQ3C,GAAW,IACvBqC,EAASO,OACbP,EAASO,SAGVhF,EAAEmC,KAAMG,KAAMZ,EAAU,IAAI2C,EAAQjC,EAASE,WAKzCa,IAITnD,EAAE2B,OAAS,aACX3B,EAAE2B,OAAOiB,mBAAqB,GAE9B5C,EAAE2B,OAAOtB,UAAY,CACpBkD,WAAY,SACZD,kBAAmB,GACnB2B,eAAgB,QAEhB7C,QAAS,CACR8C,QAAS,GACTC,UAAU,EAGVC,OAAQ,MAGT7C,cAAe,SAAUH,EAASC,GACjCA,EAAUrC,EAAGqC,GAAWC,KAAK2C,gBAAkB3C,MAAQ,GACvDA,KAAKD,QAAUrC,EAAGqC,GAClBC,KAAK+C,KAAOnF,IACZoC,KAAKgD,eAAiB,IAAMhD,KAAKiB,WAAajB,KAAK+C,KAEnD/C,KAAKiD,SAAWvF,IAChBsC,KAAKkD,UAAYxF,IACjBsC,KAAKmD,UAAYzF,IACjBsC,KAAKoD,qBAAuB,GAEvBrD,IAAYC,OAChBtC,EAAEmC,KAAME,EAASC,KAAKkB,eAAgBlB,MACtCA,KAAKqD,KAAK,EAAMrD,KAAKD,QAAS,CAC7BtB,OAAQ,SAAU6E,GACZA,EAAM/B,SAAWxB,GACrBC,KAAKuD,aAIRvD,KAAKwD,SAAW9F,EAAGqC,EAAQ0D,MAG1B1D,EAAQ2D,cAGR3D,EAAQyD,UAAYzD,GACrBC,KAAK2D,OAASjG,EAAGsC,KAAKwD,SAAU,GAAII,aAAe5D,KAAKwD,SAAU,GAAIK,eAGvE7D,KAAKF,QAAUpC,EAAEiB,OAAOY,OAAQ,GAC/BS,KAAKF,QACLE,KAAK8D,oBACLhE,GAEDE,KAAK+D,UAEA/D,KAAKF,QAAQ+C,UACjB7C,KAAKgE,mBAAoBhE,KAAKF,QAAQ+C,UAGvC7C,KAAKiE,SAAU,SAAU,KAAMjE,KAAKkE,uBACpClE,KAAK0C,SAGNoB,kBAAmB,WAClB,MAAO,IAGRI,oBAAqBxG,EAAEyG,KAEvBJ,QAASrG,EAAEyG,KAEXzB,MAAOhF,EAAEyG,KAETZ,QAAS,WACR,IAAIa,EAAOpE,KAEXA,KAAKqE,WACL3G,EAAE6C,KAAMP,KAAKoD,sBAAsB,SAAU5B,EAAKf,GACjD2D,EAAKE,aAAc7D,EAAOe,MAK3BxB,KAAKD,QACHwE,IAAKvE,KAAKgD,gBACVwB,WAAYxE,KAAKkB,gBACnBlB,KAAKrB,SACH4F,IAAKvE,KAAKgD,gBACVyB,WAAY,iBAGdzE,KAAKiD,SAASsB,IAAKvE,KAAKgD,iBAGzBqB,SAAU3G,EAAEyG,KAEZxF,OAAQ,WACP,OAAOqB,KAAKD,SAGb0C,OAAQ,SAAUjB,EAAKf,GACtB,IACIiE,EACAC,EACApG,EAHAuB,EAAU0B,EAKd,GAA0B,IAArBtB,UAAUC,OAGd,OAAOzC,EAAEiB,OAAOY,OAAQ,GAAIS,KAAKF,SAGlC,GAAoB,iBAAR0B,EAMX,GAHA1B,EAAU,GACV4E,EAAQlD,EAAIrC,MAAO,KACnBqC,EAAMkD,EAAME,QACPF,EAAMvE,OAAS,CAEnB,IADAwE,EAAY7E,EAAS0B,GAAQ9D,EAAEiB,OAAOY,OAAQ,GAAIS,KAAKF,QAAS0B,IAC1DjD,EAAI,EAAGA,EAAImG,EAAMvE,OAAS,EAAG5B,IAClCoG,EAAWD,EAAOnG,IAAQoG,EAAWD,EAAOnG,KAAS,GACrDoG,EAAYA,EAAWD,EAAOnG,IAG/B,GADAiD,EAAMkD,EAAMG,MACc,IAArB3E,UAAUC,OACd,YAA4B0B,IAArB8C,EAAWnD,GAAsB,KAAOmD,EAAWnD,GAE3DmD,EAAWnD,GAAQf,MACb,CACN,GAA0B,IAArBP,UAAUC,OACd,YAA+B0B,IAAxB7B,KAAKF,QAAS0B,GAAsB,KAAOxB,KAAKF,QAAS0B,GAEjE1B,EAAS0B,GAAQf,EAMnB,OAFAT,KAAK8E,YAAahF,GAEXE,MAGR8E,YAAa,SAAUhF,GACtB,IAAI0B,EAEJ,IAAMA,KAAO1B,EACZE,KAAK+E,WAAYvD,EAAK1B,EAAS0B,IAGhC,OAAOxB,MAGR+E,WAAY,SAAUvD,EAAKf,GAW1B,MAVa,YAARe,GACJxB,KAAKgF,kBAAmBvE,GAGzBT,KAAKF,QAAS0B,GAAQf,EAET,aAARe,GACJxB,KAAKgE,mBAAoBvD,GAGnBT,MAGRgF,kBAAmB,SAAUvE,GAC5B,IAAIwE,EAAUC,EAAUC,EAExB,IAAMF,KAAYxE,EACjB0E,EAAkBnF,KAAKoD,qBAAsB6B,GACxCxE,EAAOwE,KAAejF,KAAKF,QAAQ8C,QAASqC,IAC9CE,GACAA,EAAgBhF,SAQnB+E,EAAWxH,EAAGyH,EAAgB3C,OAC9BxC,KAAKsE,aAAca,EAAiBF,GAMpCC,EAASE,SAAUpF,KAAKqF,SAAU,CACjCtF,QAASmF,EACTI,KAAML,EACNrC,QAASnC,EACT8E,KAAK,OAKRvB,mBAAoB,SAAUvD,GAC7BT,KAAKwF,aAAcxF,KAAKrB,SAAUqB,KAAKkB,eAAiB,YAAa,OAAQT,GAGxEA,IACJT,KAAKsE,aAActE,KAAKkD,UAAW,KAAM,kBACzClD,KAAKsE,aAActE,KAAKmD,UAAW,KAAM,oBAI3CsC,OAAQ,WACP,OAAOzF,KAAK8E,YAAa,CAAEjC,UAAU,KAGtC6C,QAAS,WACR,OAAO1F,KAAK8E,YAAa,CAAEjC,UAAU,KAGtCwC,SAAU,SAAUvF,GACnB,IAAI6F,EAAO,GACPvB,EAAOpE,KAOX,SAAS4F,IACR,IAAIC,EAAc,GAElB/F,EAAQC,QAAQQ,MAAM,SAAUuF,EAAG/F,GAClBrC,EAAEqI,IAAK3B,EAAKhB,sBAAsB,SAAU8B,GAC3D,OAAOA,KAENc,MAAM,SAAUd,GAChB,OAAOA,EAASe,GAAIlG,OAIrB8F,EAAYxE,KAAMtB,MAIpBqE,EAAKf,IAAK3F,EAAGmI,GAAe,CAC3BpH,OAAQ,2BAIV,SAASyH,EAAoBtD,EAASuD,GACrC,IAAIC,EAAS7H,EACb,IAAMA,EAAI,EAAGA,EAAIqE,EAAQzC,OAAQ5B,IAChC6H,EAAUhC,EAAKhB,qBAAsBR,EAASrE,KAASb,IAClDoC,EAAQyF,KACZK,IACAQ,EAAU1I,EAAGA,EAAE2I,WAAYD,EAAQ5D,MAAM/C,OAAQK,EAAQC,QAAQyC,UAEjE4D,EAAU1I,EAAG0I,EAAQE,IAAKxG,EAAQC,SAAUyC,OAE7C4B,EAAKhB,qBAAsBR,EAASrE,IAAQ6H,EAC5CT,EAAKtE,KAAMuB,EAASrE,IACf4H,GAAerG,EAAQ8C,QAASA,EAASrE,KAC7CoH,EAAKtE,KAAMvB,EAAQ8C,QAASA,EAASrE,KAYxC,OAnDAuB,EAAUpC,EAAE6B,OAAQ,CACnBQ,QAASC,KAAKD,QACd6C,QAAS5C,KAAKF,QAAQ8C,SAAW,IAC/B9C,IAyCUwF,MACZY,EAAoBpG,EAAQwF,KAAKiB,MAAO,SAAY,IAAI,GAEpDzG,EAAQ0G,OACZN,EAAoBpG,EAAQ0G,MAAMD,MAAO,SAAY,IAG/CZ,EAAKc,KAAM,MAGnBC,uBAAwB,SAAUpD,GACjC,IAAIc,EAAOpE,KACXtC,EAAE6C,KAAM6D,EAAKhB,sBAAsB,SAAU5B,EAAKf,IACN,IAAtC/C,EAAEiJ,QAASrD,EAAM/B,OAAQd,KAC7B2D,EAAKhB,qBAAsB5B,GAAQ9D,EAAG+C,EAAM6F,IAAKhD,EAAM/B,QAASiB,WAIlExC,KAAK4G,KAAMlJ,EAAG4F,EAAM/B,UAGrB+C,aAAc,SAAUvE,EAASuF,EAAMkB,GACtC,OAAOxG,KAAKwF,aAAczF,EAASuF,EAAMkB,GAAO,IAGjDK,UAAW,SAAU9G,EAASuF,EAAMkB,GACnC,OAAOxG,KAAKwF,aAAczF,EAASuF,EAAMkB,GAAO,IAGjDhB,aAAc,SAAUzF,EAASuF,EAAMkB,EAAOjB,GAC7CA,EAAuB,kBAARA,EAAsBA,EAAMiB,EAC3C,IAAI5B,EAA6B,iBAAZ7E,GAAoC,OAAZA,EAC5CD,EAAU,CACT0G,MAAO5B,EAAQU,EAAOkB,EACtBlB,KAAMV,EAAQ7E,EAAUuF,EACxBvF,QAAS6E,EAAQ5E,KAAKD,QAAUA,EAChCwF,IAAKA,GAGP,OADAzF,EAAQC,QAAQ+G,YAAa9G,KAAKqF,SAAUvF,GAAWyF,GAChDvF,MAGRqD,IAAK,SAAU0D,EAAuBhH,EAASiH,GAC9C,IAAIC,EACA9E,EAAWnC,KAGuB,kBAA1B+G,IACXC,EAAWjH,EACXA,EAAUgH,EACVA,GAAwB,GAInBC,GAKLjH,EAAUkH,EAAkBvJ,EAAGqC,GAC/BC,KAAKiD,SAAWjD,KAAKiD,SAASsC,IAAKxF,KALnCiH,EAAWjH,EACXA,EAAUC,KAAKD,QACfkH,EAAkBjH,KAAKrB,UAMxBjB,EAAE6C,KAAMyG,GAAU,SAAU1D,EAAO4D,GAClC,SAASC,IAKR,GAAMJ,IAC4B,IAA9B5E,EAASrC,QAAQ+C,WACnBnF,EAAGsC,MAAOoH,SAAU,qBAGtB,OAA4B,iBAAZF,EAAuB/E,EAAU+E,GAAYA,GAC3D1H,MAAO2C,EAAUjC,WAII,iBAAZgH,IACXC,EAAaE,KAAOH,EAAQG,KAC3BH,EAAQG,MAAQF,EAAaE,MAAQ3J,EAAE2J,QAGzC,IAAId,EAAQjD,EAAMiD,MAAO,sBACrBe,EAAYf,EAAO,GAAMpE,EAASa,eAClCuE,EAAWhB,EAAO,GAEjBgB,EACJN,EAAgBO,GAAIF,EAAWC,EAAUJ,GAEzCpH,EAAQyH,GAAIF,EAAWH,OAK1BP,KAAM,SAAU7G,EAASuH,GACxBA,GAAcA,GAAa,IAAKnI,MAAO,KAAMsH,KAAMzG,KAAKgD,eAAiB,KACxEhD,KAAKgD,eACNjD,EAAQwE,IAAK+C,GAGbtH,KAAKiD,SAAWvF,EAAGsC,KAAKiD,SAASqD,IAAKvG,GAAUyC,OAChDxC,KAAKmD,UAAYzF,EAAGsC,KAAKmD,UAAUmD,IAAKvG,GAAUyC,OAClDxC,KAAKkD,UAAYxF,EAAGsC,KAAKkD,UAAUoD,IAAKvG,GAAUyC,QAGnDiF,OAAQ,SAAUP,EAASQ,GAK1B,IAAIvF,EAAWnC,KACf,OAAO2H,YALP,WACC,OAA4B,iBAAZT,EAAuB/E,EAAU+E,GAAYA,GAC3D1H,MAAO2C,EAAUjC,aAGawH,GAAS,IAG3CE,WAAY,SAAU7H,GACrBC,KAAKkD,UAAYlD,KAAKkD,UAAUqC,IAAKxF,GACrCC,KAAKqD,IAAKtD,EAAS,CAClB8H,WAAY,SAAUvE,GACrBtD,KAAK6G,UAAWnJ,EAAG4F,EAAMwE,eAAiB,KAAM,mBAEjDC,WAAY,SAAUzE,GACrBtD,KAAKsE,aAAc5G,EAAG4F,EAAMwE,eAAiB,KAAM,sBAKtDE,WAAY,SAAUjI,GACrBC,KAAKmD,UAAYnD,KAAKmD,UAAUoC,IAAKxF,GACrCC,KAAKqD,IAAKtD,EAAS,CAClBkI,QAAS,SAAU3E,GAClBtD,KAAK6G,UAAWnJ,EAAG4F,EAAMwE,eAAiB,KAAM,mBAEjDI,SAAU,SAAU5E,GACnBtD,KAAKsE,aAAc5G,EAAG4F,EAAMwE,eAAiB,KAAM,sBAKtD7D,SAAU,SAAUkE,EAAM7E,EAAOzD,GAChC,IAAIW,EAAM7C,EACNyK,EAAWpI,KAAKF,QAASqI,GAc7B,GAZAtI,EAAOA,GAAQ,IACfyD,EAAQ5F,EAAE2K,MAAO/E,IACX6E,MAASA,IAASnI,KAAKgB,kBAC5BmH,EACAnI,KAAKgB,kBAAoBmH,GAAOvI,cAIjC0D,EAAM/B,OAASvB,KAAKD,QAAS,GAG7BpC,EAAO2F,EAAMgF,cAEZ,IAAM9H,KAAQ7C,EACL6C,KAAQ8C,IACfA,EAAO9C,GAAS7C,EAAM6C,IAMzB,OADAR,KAAKD,QAAQwI,QAASjF,EAAOzD,KACC,mBAAbuI,IACkD,IAAlEA,EAAS5I,MAAOQ,KAAKD,QAAS,GAAK,CAAEuD,GAAQ7D,OAAQI,KACrDyD,EAAMkF,wBAIT9K,EAAE6C,KAAM,CAAEkI,KAAM,SAAUC,KAAM,YAAa,SAAUC,EAAQC,GAC9DlL,EAAE2B,OAAOtB,UAAW,IAAM4K,GAAW,SAAU5I,EAASD,EAASsI,GAKhE,IAAIS,EAJoB,iBAAZ/I,IACXA,EAAU,CAAEgJ,OAAQhJ,IAIrB,IAAIiJ,EAAcjJ,GAEL,IAAZA,GAAuC,iBAAZA,EAC1B8I,EACA9I,EAAQgJ,QAAUF,EAHnBD,EAMuB,iBADxB7I,EAAUA,GAAW,IAEpBA,EAAU,CAAEkJ,SAAUlJ,IACC,IAAZA,IACXA,EAAU,IAGX+I,GAAcnL,EAAEuL,cAAenJ,GAC/BA,EAAQoJ,SAAWd,EAEdtI,EAAQ4H,OACZ3H,EAAQ2H,MAAO5H,EAAQ4H,OAGnBmB,GAAcnL,EAAEyL,SAAWzL,EAAEyL,QAAQL,OAAQC,GACjDhJ,EAAS4I,GAAU7I,GACRiJ,IAAeJ,GAAU5I,EAASgJ,GAC7ChJ,EAASgJ,GAAcjJ,EAAQkJ,SAAUlJ,EAAQsJ,OAAQhB,GAEzDrI,EAAQsJ,OAAO,SAAUC,GACxB5L,EAAGsC,MAAQ2I,KACNP,GACJA,EAAS1G,KAAM3B,EAAS,IAEzBuJ,WAMG5L,EAAEiB","file":"widget-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widget.js b/web/core/assets/vendor/jquery.ui/ui/widget.js
index cac9413190..59cf7130e7 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widget.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widget.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Widget 1.12.1
+ * jQuery UI Widget 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -14,6 +14,8 @@
 //>>demos: http://jqueryui.com/widget/
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -23,25 +25,23 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 var widgetUuid = 0;
+var widgetHasOwnProperty = Array.prototype.hasOwnProperty;
 var widgetSlice = Array.prototype.slice;
 
 $.cleanData = ( function( orig ) {
 	return function( elems ) {
 		var events, elem, i;
 		for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {
-			try {
-
-				// Only trigger remove when necessary to save time
-				events = $._data( elem, "events" );
-				if ( events && events.remove ) {
-					$( elem ).triggerHandler( "remove" );
-				}
 
-			// Http://bugs.jquery.com/ticket/8235
-			} catch ( e ) {}
+			// Only trigger remove when necessary to save time
+			events = $._data( elem, "events" );
+			if ( events && events.remove ) {
+				$( elem ).triggerHandler( "remove" );
+			}
 		}
 		orig( elems );
 	};
@@ -63,12 +63,12 @@ $.widget = function( name, base, prototype ) {
 		base = $.Widget;
 	}
 
-	if ( $.isArray( prototype ) ) {
+	if ( Array.isArray( prototype ) ) {
 		prototype = $.extend.apply( null, [ {} ].concat( prototype ) );
 	}
 
 	// Create selector for plugin
-	$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
+	$.expr.pseudos[ fullName.toLowerCase() ] = function( elem ) {
 		return !!$.data( elem, fullName );
 	};
 
@@ -77,7 +77,7 @@ $.widget = function( name, base, prototype ) {
 	constructor = $[ namespace ][ name ] = function( options, element ) {
 
 		// Allow instantiation without "new" keyword
-		if ( !this._createWidget ) {
+		if ( !this || !this._createWidget ) {
 			return new constructor( options, element );
 		}
 
@@ -108,7 +108,7 @@ $.widget = function( name, base, prototype ) {
 	// inheriting from
 	basePrototype.options = $.widget.extend( {}, basePrototype.options );
 	$.each( prototype, function( prop, value ) {
-		if ( !$.isFunction( value ) ) {
+		if ( typeof value !== "function" ) {
 			proxiedPrototype[ prop ] = value;
 			return;
 		}
@@ -187,7 +187,7 @@ $.widget.extend = function( target ) {
 	for ( ; inputIndex < inputLength; inputIndex++ ) {
 		for ( key in input[ inputIndex ] ) {
 			value = input[ inputIndex ][ key ];
-			if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
+			if ( widgetHasOwnProperty.call( input[ inputIndex ], key ) && value !== undefined ) {
 
 				// Clone objects
 				if ( $.isPlainObject( value ) ) {
@@ -236,7 +236,8 @@ $.widget.bridge = function( name, object ) {
 							"attempted to call method '" + options + "'" );
 					}
 
-					if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) {
+					if ( typeof instance[ options ] !== "function" ||
+						options.charAt( 0 ) === "_" ) {
 						return $.error( "no such method '" + options + "' for " + name +
 							" widget instance" );
 					}
@@ -497,12 +498,34 @@ $.Widget.prototype = {
 			classes: this.options.classes || {}
 		}, options );
 
+		function bindRemoveEvent() {
+			var nodesToBind = [];
+
+			options.element.each( function( _, element ) {
+				var isTracked = $.map( that.classesElementLookup, function( elements ) {
+					return elements;
+				} )
+					.some( function( elements ) {
+						return elements.is( element );
+					} );
+
+				if ( !isTracked ) {
+					nodesToBind.push( element );
+				}
+			} );
+
+			that._on( $( nodesToBind ), {
+				remove: "_untrackClassesElement"
+			} );
+		}
+
 		function processClassString( classes, checkOption ) {
 			var current, i;
 			for ( i = 0; i < classes.length; i++ ) {
 				current = that.classesElementLookup[ classes[ i ] ] || $();
 				if ( options.add ) {
-					current = $( $.unique( current.get().concat( options.element.get() ) ) );
+					bindRemoveEvent();
+					current = $( $.uniqueSort( current.get().concat( options.element.get() ) ) );
 				} else {
 					current = $( current.not( options.element ).get() );
 				}
@@ -514,10 +537,6 @@ $.Widget.prototype = {
 			}
 		}
 
-		this._on( options.element, {
-			"remove": "_untrackClassesElement"
-		} );
-
 		if ( options.keys ) {
 			processClassString( options.keys.match( /\S+/g ) || [], true );
 		}
@@ -535,6 +554,8 @@ $.Widget.prototype = {
 				that.classesElementLookup[ key ] = $( value.not( event.target ).get() );
 			}
 		} );
+
+		this._off( $( event.target ) );
 	},
 
 	_removeClass: function( element, keys, extra ) {
@@ -615,7 +636,7 @@ $.Widget.prototype = {
 	_off: function( element, eventName ) {
 		eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) +
 			this.eventNamespace;
-		element.off( eventName ).off( eventName );
+		element.off( eventName );
 
 		// Clear the stack to avoid memory leaks (#10056)
 		this.bindings = $( this.bindings.not( element ).get() );
@@ -681,7 +702,7 @@ $.Widget.prototype = {
 		}
 
 		this.element.trigger( event, data );
-		return !( $.isFunction( callback ) &&
+		return !( typeof callback === "function" &&
 			callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||
 			event.isDefaultPrevented() );
 	}
@@ -703,6 +724,8 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
 		options = options || {};
 		if ( typeof options === "number" ) {
 			options = { duration: options };
+		} else if ( options === true ) {
+			options = {};
 		}
 
 		hasOptions = !$.isEmptyObject( options );
@@ -730,4 +753,4 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
 
 return $.widget;
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete-min.js b/web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete-min.js
index 88a028a87e..a61c9eff92 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Autocomplete 1.12.1
+ * jQuery UI Autocomplete 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(e){"function"==typeof define&&define.amd?define(["jquery","./menu","../keycode","../position","../safe-active-element","../version","../widget"],e):e(jQuery)}((function(e){return e.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,u="input"===n;this.isMultiLine=o||!u&&this._isContentEditable(this.element),this.valueMethod=this.element[o||u?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,void(i=!0);t=!1,s=!1,i=!1;var o=e.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:t=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case o.UP:t=!0,this._keyEvent("previous",n);break;case o.DOWN:t=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||s.preventDefault());if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){if(s)return s=!1,void e.preventDefault();this._searchTimeout(e)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){this.cancelBlur?delete this.cancelBlur:(clearTimeout(this.searching),this.close(e),this._change(e))}}),this._initSource(),this.menu=e("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay((function(){delete this.cancelBlur,this.element[0]!==e.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")}))},menufocus:function(t,i){var s,n;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",(function(){e(t.target).trigger(t.originalEvent)}));n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:n})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(n.value),(s=i.item.attr("aria-label")||n.value)&&e.trim(s).length&&(this.liveRegion.children().hide(),e("<div>").text(s).appendTo(this.liveRegion))},menuselect:function(t,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==e.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay((function(){this.previous=n,this.selectedItem=s}))),!1!==this._trigger("select",t,{item:s})&&this._value(s.value),this.term=this._value(),this.close(t),this.selectedItem=s}}),this.liveRegion=e("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var i=this.menu.element[0];return t.target===this.element[0]||t.target===i||e.contains(i,t.target)},_closeOnClickOutside:function(e){this._isEventTargetInWidget(e)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front, dialog")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay((function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;t&&(!t||i||s)||(this.selectedItem=null,this.search(null,e))}),this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):!1!==this._trigger("search",t)?this._search(e):void 0},_search:function(e){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy((function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")}),this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,(function(t){return"string"==typeof t?{label:t,value:t}:e.extend({},t,{label:t.label||t.value,value:t.value||t.label})}))},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,(function(e,i){s._renderItemData(t,i)}))},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").append(e("<div>").text(i.label)).appendTo(t)},_move:function(e,t){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[e](t);this.search(null,t)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(e,t),t.preventDefault())},_isContentEditable:function(e){if(!e.length)return!1;var t=e.prop("contentEditable");return"inherit"===t?this._isContentEditable(e.parent()):"true"===t}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=new RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,(function(e){return s.test(e.label||e.value||e)}))}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.children().hide(),e("<div>").text(i).appendTo(this.liveRegion))}}),e.ui.autocomplete}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","./menu","../keycode","../position","../safe-active-element","../version","../widget"],e):e(jQuery)}((function(e){"use strict";return e.widget("ui.autocomplete",{version:"1.13.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,u="input"===n;this.isMultiLine=o||!u&&this._isContentEditable(this.element),this.valueMethod=this.element[o||u?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,void(i=!0);t=!1,s=!1,i=!1;var o=e.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:t=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case o.UP:t=!0,this._keyEvent("previous",n);break;case o.DOWN:t=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||s.preventDefault());if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){if(s)return s=!1,void e.preventDefault();this._searchTimeout(e)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){clearTimeout(this.searching),this.close(e),this._change(e)}}),this._initSource(),this.menu=e("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault()},menufocus:function(t,i){var s,n;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",(function(){e(t.target).trigger(t.originalEvent)}));n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:n})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(n.value),(s=i.item.attr("aria-label")||n.value)&&String.prototype.trim.call(s).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay((function(){this.liveRegion.html(e("<div>").text(s))}),100))},menuselect:function(t,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==e.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay((function(){this.previous=n,this.selectedItem=s}))),!1!==this._trigger("select",t,{item:s})&&this._value(s.value),this.term=this._value(),this.close(t),this.selectedItem=s}}),this.liveRegion=e("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var i=this.menu.element[0];return t.target===this.element[0]||t.target===i||e.contains(i,t.target)},_closeOnClickOutside:function(e){this._isEventTargetInWidget(e)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front, dialog")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;Array.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay((function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),s=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;t&&(!t||i||s)||(this.selectedItem=null,this.search(null,e))}),this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):!1!==this._trigger("search",t)?this._search(e):void 0},_search:function(e){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var e=++this.requestIndex;return function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")}.bind(this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,(function(t){return"string"==typeof t?{label:t,value:t}:e.extend({},t,{label:t.label||t.value,value:t.value||t.label})}))},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,(function(e,i){s._renderItemData(t,i)}))},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").append(e("<div>").text(i.label)).appendTo(t)},_move:function(e,t){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[e](t);this.search(null,t)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(e,t),t.preventDefault())},_isContentEditable:function(e){if(!e.length)return!1;var t=e.prop("contentEditable");return"inherit"===t?this._isContentEditable(e.parent()):"true"===t}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=new RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,(function(e){return s.test(e.label||e.value||e)}))}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay((function(){this.liveRegion.html(e("<div>").text(i))}),100))}}),e.ui.autocomplete}));
+//# sourceMappingURL=autocomplete-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete-min.js.map b/web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete-min.js.map
new file mode 100644
index 0000000000..4c90bda753
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["autocomplete.js"],"names":["factory","define","amd","jQuery","$","widget","version","defaultElement","options","appendTo","autoFocus","delay","minLength","position","my","at","collision","source","change","close","focus","open","response","search","select","requestIndex","pending","liveRegionTimer","_create","suppressKeyPress","suppressKeyPressRepeat","suppressInput","nodeName","this","element","toLowerCase","isTextarea","isInput","isMultiLine","_isContentEditable","valueMethod","isNewMenu","_addClass","attr","_on","keydown","event","prop","keyCode","ui","PAGE_UP","_move","PAGE_DOWN","UP","_keyEvent","DOWN","ENTER","menu","active","preventDefault","TAB","ESCAPE","is","_value","term","_searchTimeout","keypress","input","selectedItem","previous","blur","clearTimeout","searching","_change","_initSource","_appendTo","role","hide","unselectable","mousedown","menufocus","label","item","originalEvent","test","type","document","one","target","trigger","data","_trigger","value","String","prototype","trim","call","length","_delay","liveRegion","html","text","menuselect","safeActiveElement","body","window","beforeunload","removeAttr","_destroy","remove","_setOption","key","_super","xhr","abort","_isEventTargetInWidget","menuElement","contains","_closeOnClickOutside","jquery","nodeType","find","eq","closest","array","url","that","Array","isArray","request","autocomplete","filter","ajax","dataType","success","error","equalValues","menuVisible","modifierKey","altKey","ctrlKey","metaKey","shiftKey","_search","cancelSearch","_response","index","content","__response","_removeClass","bind","_normalize","disabled","_suggest","_close","_off","items","map","extend","ul","empty","_renderMenu","refresh","show","_resizeMenu","of","next","outerWidth","Math","max","width","each","_renderItemData","_renderItem","append","direction","isFirstItem","isLastItem","apply","arguments","keyEvent","editable","parent","escapeRegex","replace","matcher","RegExp","grep","messages","noResults","results","amount","message","_superApply"],"mappings":";;;;;;;;CAkBA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CACP,SACA,SACA,aACA,cACA,yBACA,aACA,aACED,GAIHA,EAASG,QAlBX,EAoBK,SAAUC,GACf,aA4nBA,OA1nBAA,EAAEC,OAAQ,kBAAmB,CAC5BC,QAAS,SACTC,eAAgB,UAChBC,QAAS,CACRC,SAAU,KACVC,WAAW,EACXC,MAAO,IACPC,UAAW,EACXC,SAAU,CACTC,GAAI,WACJC,GAAI,cACJC,UAAW,QAEZC,OAAQ,KAGRC,OAAQ,KACRC,MAAO,KACPC,MAAO,KACPC,KAAM,KACNC,SAAU,KACVC,OAAQ,KACRC,OAAQ,MAGTC,aAAc,EACdC,QAAS,EACTC,gBAAiB,KAEjBC,QAAS,WASR,IAAIC,EAAkBC,EAAwBC,EAC7CC,EAAWC,KAAKC,QAAS,GAAIF,SAASG,cACtCC,EAA0B,aAAbJ,EACbK,EAAuB,UAAbL,EAMXC,KAAKK,YAAcF,IAAeC,GAAWJ,KAAKM,mBAAoBN,KAAKC,SAE3ED,KAAKO,YAAcP,KAAKC,QAASE,GAAcC,EAAU,MAAQ,QACjEJ,KAAKQ,WAAY,EAEjBR,KAAKS,UAAW,yBAChBT,KAAKC,QAAQS,KAAM,eAAgB,OAEnCV,KAAKW,IAAKX,KAAKC,QAAS,CACvBW,QAAS,SAAUC,GAClB,GAAKb,KAAKC,QAAQa,KAAM,YAIvB,OAHAlB,GAAmB,EACnBE,GAAgB,OAChBD,GAAyB,GAI1BD,GAAmB,EACnBE,GAAgB,EAChBD,GAAyB,EACzB,IAAIkB,EAAU5C,EAAE6C,GAAGD,QACnB,OAASF,EAAME,SACf,KAAKA,EAAQE,QACZrB,GAAmB,EACnBI,KAAKkB,MAAO,eAAgBL,GAC5B,MACD,KAAKE,EAAQI,UACZvB,GAAmB,EACnBI,KAAKkB,MAAO,WAAYL,GACxB,MACD,KAAKE,EAAQK,GACZxB,GAAmB,EACnBI,KAAKqB,UAAW,WAAYR,GAC5B,MACD,KAAKE,EAAQO,KACZ1B,GAAmB,EACnBI,KAAKqB,UAAW,OAAQR,GACxB,MACD,KAAKE,EAAQQ,MAGPvB,KAAKwB,KAAKC,SAId7B,GAAmB,EACnBiB,EAAMa,iBACN1B,KAAKwB,KAAKjC,OAAQsB,IAEnB,MACD,KAAKE,EAAQY,IACP3B,KAAKwB,KAAKC,QACdzB,KAAKwB,KAAKjC,OAAQsB,GAEnB,MACD,KAAKE,EAAQa,OACP5B,KAAKwB,KAAKvB,QAAQ4B,GAAI,cACpB7B,KAAKK,aACVL,KAAK8B,OAAQ9B,KAAK+B,MAEnB/B,KAAKd,MAAO2B,GAKZA,EAAMa,kBAEP,MACD,QACC7B,GAAyB,EAGzBG,KAAKgC,eAAgBnB,KAIvBoB,SAAU,SAAUpB,GACnB,GAAKjB,EAKJ,OAJAA,GAAmB,OACbI,KAAKK,cAAeL,KAAKwB,KAAKvB,QAAQ4B,GAAI,aAC/ChB,EAAMa,kBAIR,IAAK7B,EAAL,CAKA,IAAIkB,EAAU5C,EAAE6C,GAAGD,QACnB,OAASF,EAAME,SACf,KAAKA,EAAQE,QACZjB,KAAKkB,MAAO,eAAgBL,GAC5B,MACD,KAAKE,EAAQI,UACZnB,KAAKkB,MAAO,WAAYL,GACxB,MACD,KAAKE,EAAQK,GACZpB,KAAKqB,UAAW,WAAYR,GAC5B,MACD,KAAKE,EAAQO,KACZtB,KAAKqB,UAAW,OAAQR,MAI1BqB,MAAO,SAAUrB,GAChB,GAAKf,EAGJ,OAFAA,GAAgB,OAChBe,EAAMa,iBAGP1B,KAAKgC,eAAgBnB,IAEtB1B,MAAO,WACNa,KAAKmC,aAAe,KACpBnC,KAAKoC,SAAWpC,KAAK8B,UAEtBO,KAAM,SAAUxB,GACfyB,aAActC,KAAKuC,WACnBvC,KAAKd,MAAO2B,GACZb,KAAKwC,QAAS3B,MAIhBb,KAAKyC,cACLzC,KAAKwB,KAAOrD,EAAG,QACbK,SAAUwB,KAAK0C,aACflB,KAAM,CAGNmB,KAAM,OAENC,OAQAlC,KAAM,CACNmC,aAAgB,OAEhBrB,KAAM,YAERxB,KAAKS,UAAWT,KAAKwB,KAAKvB,QAAS,kBAAmB,YACtDD,KAAKW,IAAKX,KAAKwB,KAAKvB,QAAS,CAC5B6C,UAAW,SAAUjC,GAGpBA,EAAMa,kBAEPqB,UAAW,SAAUlC,EAAOG,GAC3B,IAAIgC,EAAOC,EAIX,GAAKjD,KAAKQ,YACTR,KAAKQ,WAAY,EACZK,EAAMqC,eAAiB,SAASC,KAAMtC,EAAMqC,cAAcE,OAO9D,OANApD,KAAKwB,KAAKa,YAEVrC,KAAKqD,SAASC,IAAK,aAAa,WAC/BnF,EAAG0C,EAAM0C,QAASC,QAAS3C,EAAMqC,kBAOpCD,EAAOjC,EAAGiC,KAAKQ,KAAM,yBAChB,IAAUzD,KAAK0D,SAAU,QAAS7C,EAAO,CAAEoC,KAAMA,KAGhDpC,EAAMqC,eAAiB,OAAOC,KAAMtC,EAAMqC,cAAcE,OAC5DpD,KAAK8B,OAAQmB,EAAKU,QAKpBX,EAAQhC,EAAGiC,KAAKvC,KAAM,eAAkBuC,EAAKU,QAC/BC,OAAOC,UAAUC,KAAKC,KAAMf,GAAQgB,SACjD1B,aAActC,KAAKN,iBACnBM,KAAKN,gBAAkBM,KAAKiE,QAAQ,WACnCjE,KAAKkE,WAAWC,KAAMhG,EAAG,SAAUiG,KAAMpB,MACvC,OAGLqB,WAAY,SAAUxD,EAAOG,GAC5B,IAAIiC,EAAOjC,EAAGiC,KAAKQ,KAAM,wBACxBrB,EAAWpC,KAAKoC,SAGZpC,KAAKC,QAAS,KAAQ9B,EAAE6C,GAAGsD,kBAAmBtE,KAAKqD,SAAU,MACjErD,KAAKC,QAAQuD,QAAS,SACtBxD,KAAKoC,SAAWA,EAKhBpC,KAAKiE,QAAQ,WACZjE,KAAKoC,SAAWA,EAChBpC,KAAKmC,aAAec,OAIjB,IAAUjD,KAAK0D,SAAU,SAAU7C,EAAO,CAAEoC,KAAMA,KACtDjD,KAAK8B,OAAQmB,EAAKU,OAKnB3D,KAAK+B,KAAO/B,KAAK8B,SAEjB9B,KAAKd,MAAO2B,GACZb,KAAKmC,aAAec,KAItBjD,KAAKkE,WAAa/F,EAAG,QAAS,CAC7BwE,KAAM,SACN,YAAa,YACb,gBAAiB,cAEhBnE,SAAUwB,KAAKqD,SAAU,GAAIkB,MAE/BvE,KAAKS,UAAWT,KAAKkE,WAAY,KAAM,+BAKvClE,KAAKW,IAAKX,KAAKwE,OAAQ,CACtBC,aAAc,WACbzE,KAAKC,QAAQyE,WAAY,oBAK5BC,SAAU,WACTrC,aAActC,KAAKuC,WACnBvC,KAAKC,QAAQyE,WAAY,gBACzB1E,KAAKwB,KAAKvB,QAAQ2E,SAClB5E,KAAKkE,WAAWU,UAGjBC,WAAY,SAAUC,EAAKnB,GAC1B3D,KAAK+E,OAAQD,EAAKnB,GACL,WAARmB,GACJ9E,KAAKyC,cAEO,aAARqC,GACJ9E,KAAKwB,KAAKvB,QAAQzB,SAAUwB,KAAK0C,aAErB,aAARoC,GAAsBnB,GAAS3D,KAAKgF,KACxChF,KAAKgF,IAAIC,SAIXC,uBAAwB,SAAUrE,GACjC,IAAIsE,EAAcnF,KAAKwB,KAAKvB,QAAS,GAErC,OAAOY,EAAM0C,SAAWvD,KAAKC,QAAS,IACrCY,EAAM0C,SAAW4B,GACjBhH,EAAEiH,SAAUD,EAAatE,EAAM0C,SAGjC8B,qBAAsB,SAAUxE,GACzBb,KAAKkF,uBAAwBrE,IAClCb,KAAKd,SAIPwD,UAAW,WACV,IAAIzC,EAAUD,KAAKzB,QAAQC,SAgB3B,OAdKyB,IACJA,EAAUA,EAAQqF,QAAUrF,EAAQsF,SACnCpH,EAAG8B,GACHD,KAAKqD,SAASmC,KAAMvF,GAAUwF,GAAI,IAG9BxF,GAAYA,EAAS,KAC1BA,EAAUD,KAAKC,QAAQyF,QAAS,sBAG3BzF,EAAQ+D,SACb/D,EAAUD,KAAKqD,SAAU,GAAIkB,MAGvBtE,GAGRwC,YAAa,WACZ,IAAIkD,EAAOC,EACVC,EAAO7F,KACH8F,MAAMC,QAAS/F,KAAKzB,QAAQS,SAChC2G,EAAQ3F,KAAKzB,QAAQS,OACrBgB,KAAKhB,OAAS,SAAUgH,EAAS3G,GAChCA,EAAUlB,EAAE6C,GAAGiF,aAAaC,OAAQP,EAAOK,EAAQjE,SAEV,iBAAxB/B,KAAKzB,QAAQS,QAC/B4G,EAAM5F,KAAKzB,QAAQS,OACnBgB,KAAKhB,OAAS,SAAUgH,EAAS3G,GAC3BwG,EAAKb,KACTa,EAAKb,IAAIC,QAEVY,EAAKb,IAAM7G,EAAEgI,KAAM,CAClBP,IAAKA,EACLnC,KAAMuC,EACNI,SAAU,OACVC,QAAS,SAAU5C,GAClBpE,EAAUoE,IAEX6C,MAAO,WACNjH,EAAU,SAKbW,KAAKhB,OAASgB,KAAKzB,QAAQS,QAI7BgD,eAAgB,SAAUnB,GACzByB,aAActC,KAAKuC,WACnBvC,KAAKuC,UAAYvC,KAAKiE,QAAQ,WAG7B,IAAIsC,EAAcvG,KAAK+B,OAAS/B,KAAK8B,SACpC0E,EAAcxG,KAAKwB,KAAKvB,QAAQ4B,GAAI,YACpC4E,EAAc5F,EAAM6F,QAAU7F,EAAM8F,SAAW9F,EAAM+F,SAAW/F,EAAMgG,SAEjEN,KAAiBA,GAAgBC,GAAgBC,KACtDzG,KAAKmC,aAAe,KACpBnC,KAAKV,OAAQ,KAAMuB,MAElBb,KAAKzB,QAAQG,QAGjBY,OAAQ,SAAUqE,EAAO9C,GAMxB,OALA8C,EAAiB,MAATA,EAAgBA,EAAQ3D,KAAK8B,SAGrC9B,KAAK+B,KAAO/B,KAAK8B,SAEZ6B,EAAMK,OAAShE,KAAKzB,QAAQI,UACzBqB,KAAKd,MAAO2B,IAGsB,IAArCb,KAAK0D,SAAU,SAAU7C,GAIvBb,KAAK8G,QAASnD,QAJrB,GAODmD,QAAS,SAAUnD,GAClB3D,KAAKP,UACLO,KAAKS,UAAW,2BAChBT,KAAK+G,cAAe,EAEpB/G,KAAKhB,OAAQ,CAAE+C,KAAM4B,GAAS3D,KAAKgH,cAGpCA,UAAW,WACV,IAAIC,IAAUjH,KAAKR,aAEnB,OAAO,SAAU0H,GACXD,IAAUjH,KAAKR,cACnBQ,KAAKmH,WAAYD,GAGlBlH,KAAKP,UACCO,KAAKP,SACVO,KAAKoH,aAAc,4BAEnBC,KAAMrH,OAGTmH,WAAY,SAAUD,GAChBA,IACJA,EAAUlH,KAAKsH,WAAYJ,IAE5BlH,KAAK0D,SAAU,WAAY,KAAM,CAAEwD,QAASA,KACtClH,KAAKzB,QAAQgJ,UAAYL,GAAWA,EAAQlD,SAAWhE,KAAK+G,cACjE/G,KAAKwH,SAAUN,GACflH,KAAK0D,SAAU,SAIf1D,KAAKyH,UAIPvI,MAAO,SAAU2B,GAChBb,KAAK+G,cAAe,EACpB/G,KAAKyH,OAAQ5G,IAGd4G,OAAQ,SAAU5G,GAGjBb,KAAK0H,KAAM1H,KAAKqD,SAAU,aAErBrD,KAAKwB,KAAKvB,QAAQ4B,GAAI,cAC1B7B,KAAKwB,KAAKvB,QAAQ2C,OAClB5C,KAAKwB,KAAKa,OACVrC,KAAKQ,WAAY,EACjBR,KAAK0D,SAAU,QAAS7C,KAI1B2B,QAAS,SAAU3B,GACbb,KAAKoC,WAAapC,KAAK8B,UAC3B9B,KAAK0D,SAAU,SAAU7C,EAAO,CAAEoC,KAAMjD,KAAKmC,gBAI/CmF,WAAY,SAAUK,GAGrB,OAAKA,EAAM3D,QAAU2D,EAAO,GAAI3E,OAAS2E,EAAO,GAAIhE,MAC5CgE,EAEDxJ,EAAEyJ,IAAKD,GAAO,SAAU1E,GAC9B,MAAqB,iBAATA,EACJ,CACND,MAAOC,EACPU,MAAOV,GAGF9E,EAAE0J,OAAQ,GAAI5E,EAAM,CAC1BD,MAAOC,EAAKD,OAASC,EAAKU,MAC1BA,MAAOV,EAAKU,OAASV,EAAKD,YAK7BwE,SAAU,SAAUG,GACnB,IAAIG,EAAK9H,KAAKwB,KAAKvB,QAAQ8H,QAC3B/H,KAAKgI,YAAaF,EAAIH,GACtB3H,KAAKQ,WAAY,EACjBR,KAAKwB,KAAKyG,UAGVH,EAAGI,OACHlI,KAAKmI,cACLL,EAAGlJ,SAAUT,EAAE0J,OAAQ,CACtBO,GAAIpI,KAAKC,SACPD,KAAKzB,QAAQK,WAEXoB,KAAKzB,QAAQE,WACjBuB,KAAKwB,KAAK6G,OAIXrI,KAAKW,IAAKX,KAAKqD,SAAU,CACxBP,UAAW,0BAIbqF,YAAa,WACZ,IAAIL,EAAK9H,KAAKwB,KAAKvB,QACnB6H,EAAGQ,WAAYC,KAAKC,IAInBV,EAAGW,MAAO,IAAKH,aAAe,EAC9BtI,KAAKC,QAAQqI,gBAIfN,YAAa,SAAUF,EAAIH,GAC1B,IAAI9B,EAAO7F,KACX7B,EAAEuK,KAAMf,GAAO,SAAUV,EAAOhE,GAC/B4C,EAAK8C,gBAAiBb,EAAI7E,OAI5B0F,gBAAiB,SAAUb,EAAI7E,GAC9B,OAAOjD,KAAK4I,YAAad,EAAI7E,GAAOQ,KAAM,uBAAwBR,IAGnE2F,YAAa,SAAUd,EAAI7E,GAC1B,OAAO9E,EAAG,QACR0K,OAAQ1K,EAAG,SAAUiG,KAAMnB,EAAKD,QAChCxE,SAAUsJ,IAGb5G,MAAO,SAAU4H,EAAWjI,GAC3B,GAAMb,KAAKwB,KAAKvB,QAAQ4B,GAAI,YAI5B,OAAK7B,KAAKwB,KAAKuH,eAAiB,YAAY5F,KAAM2F,IAChD9I,KAAKwB,KAAKwH,cAAgB,QAAQ7F,KAAM2F,IAEnC9I,KAAKK,aACVL,KAAK8B,OAAQ9B,KAAK+B,WAGnB/B,KAAKwB,KAAKa,aAGXrC,KAAKwB,KAAMsH,GAAajI,GAbvBb,KAAKV,OAAQ,KAAMuB,IAgBrBzC,OAAQ,WACP,OAAO4B,KAAKwB,KAAKvB,SAGlB6B,OAAQ,WACP,OAAO9B,KAAKO,YAAY0I,MAAOjJ,KAAKC,QAASiJ,YAG9C7H,UAAW,SAAU8H,EAAUtI,GACxBb,KAAKK,cAAeL,KAAKwB,KAAKvB,QAAQ4B,GAAI,cAC/C7B,KAAKkB,MAAOiI,EAAUtI,GAGtBA,EAAMa,mBAQRpB,mBAAoB,SAAUL,GAC7B,IAAMA,EAAQ+D,OACb,OAAO,EAGR,IAAIoF,EAAWnJ,EAAQa,KAAM,mBAE7B,MAAkB,YAAbsI,EACGpJ,KAAKM,mBAAoBL,EAAQoJ,UAGrB,SAAbD,KAITjL,EAAE0J,OAAQ1J,EAAE6C,GAAGiF,aAAc,CAC5BqD,YAAa,SAAU3F,GACtB,OAAOA,EAAM4F,QAAS,8BAA+B,SAEtDrD,OAAQ,SAAUP,EAAO5D,GACxB,IAAIyH,EAAU,IAAIC,OAAQtL,EAAE6C,GAAGiF,aAAaqD,YAAavH,GAAQ,KACjE,OAAO5D,EAAEuL,KAAM/D,GAAO,SAAUhC,GAC/B,OAAO6F,EAAQrG,KAAMQ,EAAMX,OAASW,EAAMA,OAASA,SAQtDxF,EAAEC,OAAQ,kBAAmBD,EAAE6C,GAAGiF,aAAc,CAC/C1H,QAAS,CACRoL,SAAU,CACTC,UAAW,qBACXC,QAAS,SAAUC,GAClB,OAAOA,GAAWA,EAAS,EAAI,eAAiB,cAC/C,yDAKJ3C,WAAY,SAAUD,GACrB,IAAI6C,EACJ/J,KAAKgK,YAAad,WACblJ,KAAKzB,QAAQgJ,UAAYvH,KAAK+G,eAIlCgD,EADI7C,GAAWA,EAAQlD,OACbhE,KAAKzB,QAAQoL,SAASE,QAAS3C,EAAQlD,QAEvChE,KAAKzB,QAAQoL,SAASC,UAEjCtH,aAActC,KAAKN,iBACnBM,KAAKN,gBAAkBM,KAAKiE,QAAQ,WACnCjE,KAAKkE,WAAWC,KAAMhG,EAAG,SAAUiG,KAAM2F,MACvC,SAIE5L,EAAE6C,GAAGiF","file":"autocomplete-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete.js b/web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete.js
index f2bfb2d89a..dcc2df3f2a 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/autocomplete.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Autocomplete 1.12.1
+ * jQuery UI Autocomplete 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -17,6 +17,8 @@
 //>>css.theme: ../../themes/base/theme.css
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -34,10 +36,11 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 $.widget( "ui.autocomplete", {
-	version: "1.12.1",
+	version: "1.13.1",
 	defaultElement: "<input>",
 	options: {
 		appendTo: null,
@@ -63,6 +66,7 @@ $.widget( "ui.autocomplete", {
 
 	requestIndex: 0,
 	pending: 0,
+	liveRegionTimer: null,
 
 	_create: function() {
 
@@ -200,11 +204,6 @@ $.widget( "ui.autocomplete", {
 				this.previous = this._value();
 			},
 			blur: function( event ) {
-				if ( this.cancelBlur ) {
-					delete this.cancelBlur;
-					return;
-				}
-
 				clearTimeout( this.searching );
 				this.close( event );
 				this._change( event );
@@ -220,31 +219,24 @@ $.widget( "ui.autocomplete", {
 				role: null
 			} )
 			.hide()
+
+			// Support: IE 11 only, Edge <= 14
+			// For other browsers, we preventDefault() on the mousedown event
+			// to keep the dropdown from taking focus from the input. This doesn't
+			// work for IE/Edge, causing problems with selection and scrolling (#9638)
+			// Happily, IE and Edge support an "unselectable" attribute that
+			// prevents an element from receiving focus, exactly what we want here.
+			.attr( {
+				"unselectable": "on"
+			} )
 			.menu( "instance" );
 
 		this._addClass( this.menu.element, "ui-autocomplete", "ui-front" );
 		this._on( this.menu.element, {
 			mousedown: function( event ) {
 
-				// prevent moving focus out of the text field
+				// Prevent moving focus out of the text field
 				event.preventDefault();
-
-				// IE doesn't prevent moving focus even with event.preventDefault()
-				// so we set a flag to know when we should ignore the blur event
-				this.cancelBlur = true;
-				this._delay( function() {
-					delete this.cancelBlur;
-
-					// Support: IE 8 only
-					// Right clicking a menu item or selecting text from the menu items will
-					// result in focus moving out of the input. However, we've already received
-					// and ignored the blur event because of the cancelBlur flag set above. So
-					// we restore focus to ensure that the menu closes properly based on the user's
-					// next actions.
-					if ( this.element[ 0 ] !== $.ui.safeActiveElement( this.document[ 0 ] ) ) {
-						this.element.trigger( "focus" );
-					}
-				} );
 			},
 			menufocus: function( event, ui ) {
 				var label, item;
@@ -275,9 +267,11 @@ $.widget( "ui.autocomplete", {
 
 				// Announce the value in the liveRegion
 				label = ui.item.attr( "aria-label" ) || item.value;
-				if ( label && $.trim( label ).length ) {
-					this.liveRegion.children().hide();
-					$( "<div>" ).text( label ).appendTo( this.liveRegion );
+				if ( label && String.prototype.trim.call( label ).length ) {
+					clearTimeout( this.liveRegionTimer );
+					this.liveRegionTimer = this._delay( function() {
+						this.liveRegion.html( $( "<div>" ).text( label ) );
+					}, 100 );
 				}
 			},
 			menuselect: function( event, ui ) {
@@ -387,7 +381,7 @@ $.widget( "ui.autocomplete", {
 	_initSource: function() {
 		var array, url,
 			that = this;
-		if ( $.isArray( this.options.source ) ) {
+		if ( Array.isArray( this.options.source ) ) {
 			array = this.options.source;
 			this.source = function( request, response ) {
 				response( $.ui.autocomplete.filter( array, request.term ) );
@@ -459,7 +453,7 @@ $.widget( "ui.autocomplete", {
 	_response: function() {
 		var index = ++this.requestIndex;
 
-		return $.proxy( function( content ) {
+		return function( content ) {
 			if ( index === this.requestIndex ) {
 				this.__response( content );
 			}
@@ -468,7 +462,7 @@ $.widget( "ui.autocomplete", {
 			if ( !this.pending ) {
 				this._removeClass( "ui-autocomplete-loading" );
 			}
-		}, this );
+		}.bind( this );
 	},
 
 	__response: function( content ) {
@@ -628,7 +622,7 @@ $.widget( "ui.autocomplete", {
 		var editable = element.prop( "contentEditable" );
 
 		if ( editable === "inherit" ) {
-		  return this._isContentEditable( element.parent() );
+			return this._isContentEditable( element.parent() );
 		}
 
 		return editable === "true";
@@ -672,11 +666,13 @@ $.widget( "ui.autocomplete", $.ui.autocomplete, {
 		} else {
 			message = this.options.messages.noResults;
 		}
-		this.liveRegion.children().hide();
-		$( "<div>" ).text( message ).appendTo( this.liveRegion );
+		clearTimeout( this.liveRegionTimer );
+		this.liveRegionTimer = this._delay( function() {
+			this.liveRegion.html( $( "<div>" ).text( message ) );
+		}, 100 );
 	}
 } );
 
 return $.ui.autocomplete;
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/button-min.js b/web/core/assets/vendor/jquery.ui/ui/widgets/button-min.js
index 46969aeab5..70a845d813 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/button-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/button-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Button 1.12.1
+ * jQuery UI Button 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(t){"function"==typeof define&&define.amd?define(["jquery","./controlgroup","./checkboxradio","../keycode","../widget"],t):t(jQuery)}((function(t){var i;return t.widget("ui.button",{version:"1.12.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,i=this._super()||{};return this.isInput=this.element.is("input"),null!=(t=this.element[0].disabled)&&(i.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(i.label=this.originalLabel),i},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(i){i.keyCode===t.ui.keyCode.SPACE&&(i.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(i,o){var s="iconPosition"!==i,n=s?this.options.iconPosition:o,e="top"===n||"bottom"===n;this.icon?s&&this._removeClass(this.icon,null,this.options.icon):(this.icon=t("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),s&&this._addClass(this.icon,null,o),this._attachIcon(n),e?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(n))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(t){this.icon[/^(?:end|bottom)/.test(t)?"before":"after"](this.iconSpace)},_attachIcon:function(t){this.element[/^(?:end|bottom)/.test(t)?"append":"prepend"](this.icon)},_setOptions:function(t){var i=void 0===t.showLabel?this.options.showLabel:t.showLabel,o=void 0===t.icon?this.options.icon:t.icon;i||o||(t.showLabel=!0),this._super(t)},_setOption:function(t,i){"icon"===t&&(i?this._updateIcon(t,i):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove())),"iconPosition"===t&&this._updateIcon(t,i),"showLabel"===t&&(this._toggleClass("ui-button-icon-only",null,!i),this._updateTooltip()),"label"===t&&(this.isInput?this.element.val(i):(this.element.html(i),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(t,i),"disabled"===t&&(this._toggleClass(null,"ui-state-disabled",i),this.element[0].disabled=i,i&&this.element.blur())},refresh:function(){var t=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOptions({disabled:t}),this._updateTooltip()}}),!1!==t.uiBackCompat&&(t.widget("ui.button",t.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(t,i){"text"!==t?("showLabel"===t&&(this.options.text=i),"icon"===t&&(this.options.icons.primary=i),"icons"===t&&(i.primary?(this._super("icon",i.primary),this._super("iconPosition","beginning")):i.secondary&&(this._super("icon",i.secondary),this._super("iconPosition","end"))),this._superApply(arguments)):this._super("showLabel",i)}}),t.fn.button=(i=t.fn.button,function(){return!this.length||this.length&&"INPUT"!==this[0].tagName||this.length&&"INPUT"===this[0].tagName&&"checkbox"!==this.attr("type")&&"radio"!==this.attr("type")?i.apply(this,arguments):(t.ui.checkboxradio||t.error("Checkboxradio widget missing"),0===arguments.length?this.checkboxradio({icon:!1}):this.checkboxradio.apply(this,arguments))}),t.fn.buttonset=function(){return t.ui.controlgroup||t.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))}),t.ui.button}));
\ No newline at end of file
+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./controlgroup","./checkboxradio","../keycode","../widget"],t):t(jQuery)}((function(t){"use strict";var i;return t.widget("ui.button",{version:"1.13.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,i=this._super()||{};return this.isInput=this.element.is("input"),null!=(t=this.element[0].disabled)&&(i.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(i.label=this.originalLabel),i},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(i){i.keyCode===t.ui.keyCode.SPACE&&(i.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(i,o){var s="iconPosition"!==i,n=s?this.options.iconPosition:o,e="top"===n||"bottom"===n;this.icon?s&&this._removeClass(this.icon,null,this.options.icon):(this.icon=t("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),s&&this._addClass(this.icon,null,o),this._attachIcon(n),e?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(n))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(t){this.icon[/^(?:end|bottom)/.test(t)?"before":"after"](this.iconSpace)},_attachIcon:function(t){this.element[/^(?:end|bottom)/.test(t)?"append":"prepend"](this.icon)},_setOptions:function(t){var i=void 0===t.showLabel?this.options.showLabel:t.showLabel,o=void 0===t.icon?this.options.icon:t.icon;i||o||(t.showLabel=!0),this._super(t)},_setOption:function(t,i){"icon"===t&&(i?this._updateIcon(t,i):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove())),"iconPosition"===t&&this._updateIcon(t,i),"showLabel"===t&&(this._toggleClass("ui-button-icon-only",null,!i),this._updateTooltip()),"label"===t&&(this.isInput?this.element.val(i):(this.element.html(i),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(t,i),"disabled"===t&&(this._toggleClass(null,"ui-state-disabled",i),this.element[0].disabled=i,i&&this.element.trigger("blur"))},refresh:function(){var t=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOptions({disabled:t}),this._updateTooltip()}}),!1!==t.uiBackCompat&&(t.widget("ui.button",t.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(t,i){"text"!==t?("showLabel"===t&&(this.options.text=i),"icon"===t&&(this.options.icons.primary=i),"icons"===t&&(i.primary?(this._super("icon",i.primary),this._super("iconPosition","beginning")):i.secondary&&(this._super("icon",i.secondary),this._super("iconPosition","end"))),this._superApply(arguments)):this._super("showLabel",i)}}),t.fn.button=(i=t.fn.button,function(o){var s="string"==typeof o,n=Array.prototype.slice.call(arguments,1),e=this;return s?this.length||"instance"!==o?this.each((function(){var i,s=t(this).attr("type"),h="checkbox"!==s&&"radio"!==s?"button":"checkboxradio",a=t.data(this,"ui-"+h);return"instance"===o?(e=a,!1):a?"function"!=typeof a[o]||"_"===o.charAt(0)?t.error("no such method '"+o+"' for button widget instance"):(i=a[o].apply(a,n))!==a&&void 0!==i?(e=i&&i.jquery?e.pushStack(i.get()):i,!1):void 0:t.error("cannot call methods on button prior to initialization; attempted to call method '"+o+"'")})):e=void 0:(n.length&&(o=t.widget.extend.apply(null,[o].concat(n))),this.each((function(){var s=t(this).attr("type"),n="checkbox"!==s&&"radio"!==s?"button":"checkboxradio",e=t.data(this,"ui-"+n);if(e)e.option(o||{}),e._init&&e._init();else{if("button"===n)return void i.call(t(this),o);t(this).checkboxradio(t.extend({icon:!1},o))}}))),e}),t.fn.buttonset=function(){return t.ui.controlgroup||t.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))}),t.ui.button}));
+//# sourceMappingURL=button-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/button-min.js.map b/web/core/assets/vendor/jquery.ui/ui/widgets/button-min.js.map
new file mode 100644
index 0000000000..0c46237c34
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/button-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["button.js"],"names":["factory","define","amd","jQuery","$","orig","widget","version","defaultElement","options","classes","disabled","icon","iconPosition","label","showLabel","_getCreateOptions","this","_super","isInput","element","is","originalLabel","val","html","_create","option","hasTitle","attr","_addClass","_setOption","_enhance","_on","keyup","event","keyCode","ui","SPACE","preventDefault","click","trigger","_updateIcon","_updateTooltip","title","value","position","displayBlock","_removeClass","_attachIcon","iconSpace","remove","_attachIconSpace","_destroy","removeAttr","test","_setOptions","newShowLabel","undefined","newIcon","key","_toggleClass","refresh","isDisabled","hasClass","uiBackCompat","button","text","icons","primary","secondary","_superApply","arguments","fn","isMethodCall","args","Array","prototype","slice","call","returnValue","length","each","methodValue","type","name","instance","data","charAt","error","apply","jquery","pushStack","get","extend","concat","_init","checkboxradio","buttonset","controlgroup","items"],"mappings":";;;;;;;;CAkBA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CACP,SAIA,iBACA,kBAEA,aACA,aACED,GAIHA,EAASG,QApBX,EAsBK,SAAUC,GACf,aAiTe,IAAYC,EAoG3B,OAnZAD,EAAEE,OAAQ,YAAa,CACtBC,QAAS,SACTC,eAAgB,WAChBC,QAAS,CACRC,QAAS,CACR,YAAa,iBAEdC,SAAU,KACVC,KAAM,KACNC,aAAc,YACdC,MAAO,KACPC,WAAW,GAGZC,kBAAmB,WAClB,IAAIL,EAIHF,EAAUQ,KAAKC,UAAY,GAc5B,OAZAD,KAAKE,QAAUF,KAAKG,QAAQC,GAAI,SAGf,OADjBV,EAAWM,KAAKG,QAAS,GAAIT,YAE5BF,EAAQE,SAAWA,GAGpBM,KAAKK,cAAgBL,KAAKE,QAAUF,KAAKG,QAAQG,MAAQN,KAAKG,QAAQI,OACjEP,KAAKK,gBACTb,EAAQK,MAAQG,KAAKK,eAGfb,GAGRgB,QAAS,YACFR,KAAKS,OAAOX,WAAaE,KAAKR,QAAQG,OAC3CK,KAAKR,QAAQM,WAAY,GAMI,MAAzBE,KAAKR,QAAQE,WACjBM,KAAKR,QAAQE,SAAWM,KAAKG,QAAS,GAAIT,WAAY,GAGvDM,KAAKU,WAAaV,KAAKG,QAAQQ,KAAM,SAGhCX,KAAKR,QAAQK,OAASG,KAAKR,QAAQK,QAAUG,KAAKK,gBACjDL,KAAKE,QACTF,KAAKG,QAAQG,IAAKN,KAAKR,QAAQK,OAE/BG,KAAKG,QAAQI,KAAMP,KAAKR,QAAQK,QAGlCG,KAAKY,UAAW,YAAa,aAC7BZ,KAAKa,WAAY,WAAYb,KAAKR,QAAQE,UAC1CM,KAAKc,WAEAd,KAAKG,QAAQC,GAAI,MACrBJ,KAAKe,IAAK,CACTC,MAAS,SAAUC,GACbA,EAAMC,UAAY/B,EAAEgC,GAAGD,QAAQE,QACnCH,EAAMI,iBAKDrB,KAAKG,QAAS,GAAImB,MACtBtB,KAAKG,QAAS,GAAImB,QAElBtB,KAAKG,QAAQoB,QAAS,cAQ5BT,SAAU,WACHd,KAAKG,QAAQC,GAAI,WACtBJ,KAAKG,QAAQQ,KAAM,OAAQ,UAGvBX,KAAKR,QAAQG,OACjBK,KAAKwB,YAAa,OAAQxB,KAAKR,QAAQG,MACvCK,KAAKyB,mBAIPA,eAAgB,WACfzB,KAAK0B,MAAQ1B,KAAKG,QAAQQ,KAAM,SAE1BX,KAAKR,QAAQM,WAAcE,KAAK0B,OACrC1B,KAAKG,QAAQQ,KAAM,QAASX,KAAKR,QAAQK,QAI3C2B,YAAa,SAAUf,EAAQkB,GAC9B,IAAIhC,EAAkB,iBAAXc,EACVmB,EAAWjC,EAAOK,KAAKR,QAAQI,aAAe+B,EAC9CE,EAA4B,QAAbD,GAAmC,WAAbA,EAGhC5B,KAAKL,KAQCA,GAGXK,KAAK8B,aAAc9B,KAAKL,KAAM,KAAMK,KAAKR,QAAQG,OAVjDK,KAAKL,KAAOR,EAAG,UAEfa,KAAKY,UAAWZ,KAAKL,KAAM,iBAAkB,WAEvCK,KAAKR,QAAQM,WAClBE,KAAKY,UAAW,wBASbjB,GACJK,KAAKY,UAAWZ,KAAKL,KAAM,KAAMgC,GAGlC3B,KAAK+B,YAAaH,GAIbC,GACJ7B,KAAKY,UAAWZ,KAAKL,KAAM,KAAM,wBAC5BK,KAAKgC,WACThC,KAAKgC,UAAUC,WAMVjC,KAAKgC,YACVhC,KAAKgC,UAAY7C,EAAG,kBACpBa,KAAKY,UAAWZ,KAAKgC,UAAW,yBAEjChC,KAAK8B,aAAc9B,KAAKL,KAAM,KAAM,uBACpCK,KAAKkC,iBAAkBN,KAIzBO,SAAU,WACTnC,KAAKG,QAAQiC,WAAY,QAEpBpC,KAAKL,MACTK,KAAKL,KAAKsC,SAENjC,KAAKgC,WACThC,KAAKgC,UAAUC,SAEVjC,KAAKU,UACVV,KAAKG,QAAQiC,WAAY,UAI3BF,iBAAkB,SAAUtC,GAC3BI,KAAKL,KAAM,kBAAkB0C,KAAMzC,GAAiB,SAAW,SAAWI,KAAKgC,YAGhFD,YAAa,SAAUnC,GACtBI,KAAKG,QAAS,kBAAkBkC,KAAMzC,GAAiB,SAAW,WAAaI,KAAKL,OAGrF2C,YAAa,SAAU9C,GACtB,IAAI+C,OAAqCC,IAAtBhD,EAAQM,UACzBE,KAAKR,QAAQM,UACbN,EAAQM,UACT2C,OAA2BD,IAAjBhD,EAAQG,KAAqBK,KAAKR,QAAQG,KAAOH,EAAQG,KAE9D4C,GAAiBE,IACtBjD,EAAQM,WAAY,GAErBE,KAAKC,OAAQT,IAGdqB,WAAY,SAAU6B,EAAKf,GACb,SAARe,IACCf,EACJ3B,KAAKwB,YAAakB,EAAKf,GACZ3B,KAAKL,OAChBK,KAAKL,KAAKsC,SACLjC,KAAKgC,WACThC,KAAKgC,UAAUC,WAKL,iBAARS,GACJ1C,KAAKwB,YAAakB,EAAKf,GAIX,cAARe,IACH1C,KAAK2C,aAAc,sBAAuB,MAAOhB,GACjD3B,KAAKyB,kBAGM,UAARiB,IACC1C,KAAKE,QACTF,KAAKG,QAAQG,IAAKqB,IAKlB3B,KAAKG,QAAQI,KAAMoB,GACd3B,KAAKL,OACTK,KAAK+B,YAAa/B,KAAKR,QAAQI,cAC/BI,KAAKkC,iBAAkBlC,KAAKR,QAAQI,iBAKvCI,KAAKC,OAAQyC,EAAKf,GAEL,aAARe,IACJ1C,KAAK2C,aAAc,KAAM,oBAAqBhB,GAC9C3B,KAAKG,QAAS,GAAIT,SAAWiC,EACxBA,GACJ3B,KAAKG,QAAQoB,QAAS,UAKzBqB,QAAS,WAIR,IAAIC,EAAa7C,KAAKG,QAAQC,GAAI,iBACjCJ,KAAKG,QAAS,GAAIT,SAAWM,KAAKG,QAAQ2C,SAAU,sBAEhDD,IAAe7C,KAAKR,QAAQE,UAChCM,KAAKsC,YAAa,CAAE5C,SAAUmD,IAG/B7C,KAAKyB,qBAKiB,IAAnBtC,EAAE4D,eAGN5D,EAAEE,OAAQ,YAAaF,EAAEgC,GAAG6B,OAAQ,CACnCxD,QAAS,CACRyD,MAAM,EACNC,MAAO,CACNC,QAAS,KACTC,UAAW,OAIb5C,QAAS,WACHR,KAAKR,QAAQM,YAAcE,KAAKR,QAAQyD,OAC5CjD,KAAKR,QAAQM,UAAYE,KAAKR,QAAQyD,OAEjCjD,KAAKR,QAAQM,WAAaE,KAAKR,QAAQyD,OAC5CjD,KAAKR,QAAQyD,KAAOjD,KAAKR,QAAQM,WAE5BE,KAAKR,QAAQG,OAAUK,KAAKR,QAAQ0D,MAAMC,UAC9CnD,KAAKR,QAAQ0D,MAAME,UAOTpD,KAAKR,QAAQG,OACxBK,KAAKR,QAAQ0D,MAAMC,QAAUnD,KAAKR,QAAQG,MAPrCK,KAAKR,QAAQ0D,MAAMC,QACvBnD,KAAKR,QAAQG,KAAOK,KAAKR,QAAQ0D,MAAMC,SAEvCnD,KAAKR,QAAQG,KAAOK,KAAKR,QAAQ0D,MAAME,UACvCpD,KAAKR,QAAQI,aAAe,OAK9BI,KAAKC,UAGNY,WAAY,SAAU6B,EAAKf,GACb,SAARe,GAIQ,cAARA,IACJ1C,KAAKR,QAAQyD,KAAOtB,GAER,SAARe,IACJ1C,KAAKR,QAAQ0D,MAAMC,QAAUxB,GAEjB,UAARe,IACCf,EAAMwB,SACVnD,KAAKC,OAAQ,OAAQ0B,EAAMwB,SAC3BnD,KAAKC,OAAQ,eAAgB,cAClB0B,EAAMyB,YACjBpD,KAAKC,OAAQ,OAAQ0B,EAAMyB,WAC3BpD,KAAKC,OAAQ,eAAgB,SAG/BD,KAAKqD,YAAaC,YAlBjBtD,KAAKC,OAAQ,YAAa0B,MAsB7BxC,EAAEoE,GAAGP,QAAqB5D,EA8ErBD,EAAEoE,GAAGP,OA7EF,SAAUxD,GAChB,IAAIgE,EAAkC,iBAAZhE,EACtBiE,EAAOC,MAAMC,UAAUC,MAAMC,KAAMP,UAAW,GAC9CQ,EAAc9D,KAwElB,OAtEKwD,EAIExD,KAAK+D,QAAsB,aAAZvE,EAGpBQ,KAAKgE,MAAM,WACV,IAAIC,EACAC,EAAO/E,EAAGa,MAAOW,KAAM,QACvBwD,EAAgB,aAATD,GAAgC,UAATA,EACjC,SACA,gBACGE,EAAWjF,EAAEkF,KAAMrE,KAAM,MAAQmE,GAErC,MAAiB,aAAZ3E,GACJsE,EAAcM,GACP,GAGFA,EAM8B,mBAAxBA,EAAU5E,IACG,MAAxBA,EAAQ8E,OAAQ,GACTnF,EAAEoF,MAAO,mBAAqB/E,EAArB,iCAIjByE,EAAcG,EAAU5E,GAAUgF,MAAOJ,EAAUX,MAE9BW,QAA4B5B,IAAhByB,GAChCH,EAAcG,GAAeA,EAAYQ,OACxCX,EAAYY,UAAWT,EAAYU,OACnCV,GACM,QAJR,EAbQ9E,EAAEoF,MAAO,oFAEgB/E,EAAU,QAlB5CsE,OAActB,GAwCViB,EAAKM,SACTvE,EAAUL,EAAEE,OAAOuF,OAAOJ,MAAO,KAAM,CAAEhF,GAAUqF,OAAQpB,KAG5DzD,KAAKgE,MAAM,WACV,IAAIE,EAAO/E,EAAGa,MAAOW,KAAM,QACvBwD,EAAgB,aAATD,GAAgC,UAATA,EAAmB,SAAW,gBAC5DE,EAAWjF,EAAEkF,KAAMrE,KAAM,MAAQmE,GAErC,GAAKC,EACJA,EAAS3D,OAAQjB,GAAW,IACvB4E,EAASU,OACbV,EAASU,YAEJ,CACN,GAAc,WAATX,EAEJ,YADA/E,EAAKyE,KAAM1E,EAAGa,MAAQR,GAIvBL,EAAGa,MAAO+E,cAAe5F,EAAEyF,OAAQ,CAAEjF,MAAM,GAASH,SAKhDsE,IAIT3E,EAAEoE,GAAGyB,UAAY,WAIhB,OAHM7F,EAAEgC,GAAG8D,cACV9F,EAAEoF,MAAO,+BAEc,WAAnBjB,UAAW,IAAuC,UAAnBA,UAAW,IAAmBA,UAAW,GACrEtD,KAAKiF,aAAaT,MAAOxE,KAC/B,CAAEsD,UAAW,GAAK,eAAgBA,UAAW,KAEvB,WAAnBA,UAAW,IAAuC,UAAnBA,UAAW,GACvCtD,KAAKiF,aAAaT,MAAOxE,KAAM,CAAEsD,UAAW,GAAK,kBAE1B,iBAAnBA,UAAW,IAAoBA,UAAW,GAAI4B,QACzD5B,UAAW,GAAI4B,MAAQ,CACtBlC,OAAQM,UAAW,GAAI4B,QAGlBlF,KAAKiF,aAAaT,MAAOxE,KAAMsD,cAIjCnE,EAAEgC,GAAG6B","file":"button-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/button.js b/web/core/assets/vendor/jquery.ui/ui/widgets/button.js
index 62cc43fcd1..398c4ef553 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/button.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/button.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Button 1.12.1
+ * jQuery UI Button 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -17,6 +17,8 @@
 //>>css.theme: ../../themes/base/theme.css
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -36,10 +38,11 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 $.widget( "ui.button", {
-	version: "1.12.1",
+	version: "1.13.1",
 	defaultElement: "<button>",
 	options: {
 		classes: {
@@ -263,7 +266,7 @@ $.widget( "ui.button", {
 			this._toggleClass( null, "ui-state-disabled", value );
 			this.element[ 0 ].disabled = value;
 			if ( value ) {
-				this.element.blur();
+				this.element.trigger( "blur" );
 			}
 		}
 	},
@@ -342,22 +345,82 @@ if ( $.uiBackCompat !== false ) {
 	} );
 
 	$.fn.button = ( function( orig ) {
-		return function() {
-			if ( !this.length || ( this.length && this[ 0 ].tagName !== "INPUT" ) ||
-					( this.length && this[ 0 ].tagName === "INPUT" && (
-						this.attr( "type" ) !== "checkbox" && this.attr( "type" ) !== "radio"
-					) ) ) {
-				return orig.apply( this, arguments );
-			}
-			if ( !$.ui.checkboxradio ) {
-				$.error( "Checkboxradio widget missing" );
-			}
-			if ( arguments.length === 0 ) {
-				return this.checkboxradio( {
-					"icon": false
+		return function( options ) {
+			var isMethodCall = typeof options === "string";
+			var args = Array.prototype.slice.call( arguments, 1 );
+			var returnValue = this;
+
+			if ( isMethodCall ) {
+
+				// If this is an empty collection, we need to have the instance method
+				// return undefined instead of the jQuery instance
+				if ( !this.length && options === "instance" ) {
+					returnValue = undefined;
+				} else {
+					this.each( function() {
+						var methodValue;
+						var type = $( this ).attr( "type" );
+						var name = type !== "checkbox" && type !== "radio" ?
+							"button" :
+							"checkboxradio";
+						var instance = $.data( this, "ui-" + name );
+
+						if ( options === "instance" ) {
+							returnValue = instance;
+							return false;
+						}
+
+						if ( !instance ) {
+							return $.error( "cannot call methods on button" +
+								" prior to initialization; " +
+								"attempted to call method '" + options + "'" );
+						}
+
+						if ( typeof instance[ options ] !== "function" ||
+							options.charAt( 0 ) === "_" ) {
+							return $.error( "no such method '" + options + "' for button" +
+								" widget instance" );
+						}
+
+						methodValue = instance[ options ].apply( instance, args );
+
+						if ( methodValue !== instance && methodValue !== undefined ) {
+							returnValue = methodValue && methodValue.jquery ?
+								returnValue.pushStack( methodValue.get() ) :
+								methodValue;
+							return false;
+						}
+					} );
+				}
+			} else {
+
+				// Allow multiple hashes to be passed on init
+				if ( args.length ) {
+					options = $.widget.extend.apply( null, [ options ].concat( args ) );
+				}
+
+				this.each( function() {
+					var type = $( this ).attr( "type" );
+					var name = type !== "checkbox" && type !== "radio" ? "button" : "checkboxradio";
+					var instance = $.data( this, "ui-" + name );
+
+					if ( instance ) {
+						instance.option( options || {} );
+						if ( instance._init ) {
+							instance._init();
+						}
+					} else {
+						if ( name === "button" ) {
+							orig.call( $( this ), options );
+							return;
+						}
+
+						$( this ).checkboxradio( $.extend( { icon: false }, options ) );
+					}
 				} );
 			}
-			return this.checkboxradio.apply( this, arguments );
+
+			return returnValue;
 		};
 	} )( $.fn.button );
 
@@ -383,4 +446,4 @@ if ( $.uiBackCompat !== false ) {
 
 return $.ui.button;
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio-min.js b/web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio-min.js
index 799c48d11d..35660b5475 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Checkboxradio 1.12.1
+ * jQuery UI Checkboxradio 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(e){"function"==typeof define&&define.amd?define(["jquery","../escape-selector","../form-reset-mixin","../labels","../widget"],e):e(jQuery)}((function(e){return e.widget("ui.checkboxradio",[e.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var i,t,s=this,o=this._super()||{};return this._readType(),t=this.element.labels(),this.label=e(t[t.length-1]),this.label.length||e.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each((function(){s.originalLabel+=3===this.nodeType?e(this).text():this.outerHTML})),this.originalLabel&&(o.label=this.originalLabel),null!=(i=this.element[0].disabled)&&(o.disabled=i),o},_create:function(){var e=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),e&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var i=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===i&&/radio|checkbox/.test(this.type)||e.error("Can't create checkboxradio on element.nodeName="+i+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var i=this.element[0].name,t="input[name='"+e.ui.escapeSelector(i)+"']";return i?(this.form.length?e(this.form[0].elements).filter(t):e(t).filter((function(){return 0===e(this).form().length}))).not(this.element):e([])},_toggleClasses:function(){var i=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",i),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",i)._toggleClass(this.icon,null,"ui-icon-blank",!i),"radio"===this.type&&this._getRadioGroup().each((function(){var i=e(this).checkboxradio("instance");i&&i._removeClass(i.label,"ui-checkboxradio-checked","ui-state-active")}))},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(e,i){if("label"!==e||i){if(this._super(e,i),"disabled"===e)return this._toggleClass(this.label,null,"ui-state-disabled",i),void(this.element[0].disabled=i);this.refresh()}},_updateIcon:function(i){var t="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=e("<span>"),this.iconSpace=e("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(t+=i?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,i?"ui-icon-blank":"ui-icon-check")):t+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",t),i||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var e=this.label.contents().not(this.element[0]);this.icon&&(e=e.not(this.icon[0])),this.iconSpace&&(e=e.not(this.iconSpace[0])),e.remove(),this.label.append(this.options.label)},refresh:function(){var e=this.element[0].checked,i=this.element[0].disabled;this._updateIcon(e),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),null!==this.options.label&&this._updateLabel(),i!==this.options.disabled&&this._setOptions({disabled:i})}}]),e.ui.checkboxradio}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","../form-reset-mixin","../labels","../widget"],e):e(jQuery)}((function(e){"use strict";return e.widget("ui.checkboxradio",[e.ui.formResetMixin,{version:"1.13.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var i,t,s=this,o=this._super()||{};return this._readType(),t=this.element.labels(),this.label=e(t[t.length-1]),this.label.length||e.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each((function(){s.originalLabel+=3===this.nodeType?e(this).text():this.outerHTML})),this.originalLabel&&(o.label=this.originalLabel),null!=(i=this.element[0].disabled)&&(o.disabled=i),o},_create:function(){var e=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),e&&this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var i=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===i&&/radio|checkbox/.test(this.type)||e.error("Can't create checkboxradio on element.nodeName="+i+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var i=this.element[0].name,t="input[name='"+e.escapeSelector(i)+"']";return i?(this.form.length?e(this.form[0].elements).filter(t):e(t).filter((function(){return 0===e(this)._form().length}))).not(this.element):e([])},_toggleClasses:function(){var i=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",i),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",i)._toggleClass(this.icon,null,"ui-icon-blank",!i),"radio"===this.type&&this._getRadioGroup().each((function(){var i=e(this).checkboxradio("instance");i&&i._removeClass(i.label,"ui-checkboxradio-checked","ui-state-active")}))},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(e,i){if("label"!==e||i){if(this._super(e,i),"disabled"===e)return this._toggleClass(this.label,null,"ui-state-disabled",i),void(this.element[0].disabled=i);this.refresh()}},_updateIcon:function(i){var t="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=e("<span>"),this.iconSpace=e("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(t+=i?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,i?"ui-icon-blank":"ui-icon-check")):t+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",t),i||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var e=this.label.contents().not(this.element[0]);this.icon&&(e=e.not(this.icon[0])),this.iconSpace&&(e=e.not(this.iconSpace[0])),e.remove(),this.label.append(this.options.label)},refresh:function(){var e=this.element[0].checked,i=this.element[0].disabled;this._updateIcon(e),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),null!==this.options.label&&this._updateLabel(),i!==this.options.disabled&&this._setOptions({disabled:i})}}]),e.ui.checkboxradio}));
+//# sourceMappingURL=checkboxradio-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio-min.js.map b/web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio-min.js.map
new file mode 100644
index 0000000000..5d14c9d30f
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["checkboxradio.js"],"names":["factory","define","amd","jQuery","$","widget","ui","formResetMixin","version","options","disabled","label","icon","classes","_getCreateOptions","labels","that","this","_super","_readType","element","length","error","originalLabel","contents","not","each","nodeType","text","outerHTML","_create","checked","_bindFormResetHandler","_setOption","_addClass","type","_updateLabel","_enhance","_on","change","focus","blur","_removeClass","nodeName","toLowerCase","test","_updateIcon","_getRadioGroup","name","nameSelector","escapeSelector","form","elements","filter","_form","_toggleClasses","_toggleClass","instance","checkboxradio","_destroy","_unbindFormResetHandler","remove","iconSpace","key","value","refresh","toAdd","prependTo","after","undefined","append","isDisabled","_setOptions"],"mappings":";;;;;;;;CAmBA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CACP,SACA,sBACA,YACA,aACED,GAIHA,EAASG,QAfX,EAiBK,SAAUC,GACf,aAqPA,OAnPAA,EAAEC,OAAQ,mBAAoB,CAAED,EAAEE,GAAGC,eAAgB,CACpDC,QAAS,SACTC,QAAS,CACRC,SAAU,KACVC,MAAO,KACPC,MAAM,EACNC,QAAS,CACR,yBAA0B,gBAC1B,wBAAyB,kBAI3BC,kBAAmB,WAClB,IAAIJ,EAAUK,EACVC,EAAOC,KACPR,EAAUQ,KAAKC,UAAY,GAmC/B,OA9BAD,KAAKE,YAELJ,EAASE,KAAKG,QAAQL,SAGtBE,KAAKN,MAAQP,EAAGW,EAAQA,EAAOM,OAAS,IAClCJ,KAAKN,MAAMU,QAChBjB,EAAEkB,MAAO,2CAGVL,KAAKM,cAAgB,GAIrBN,KAAKN,MAAMa,WAAWC,IAAKR,KAAKG,QAAS,IAAMM,MAAM,WAIpDV,EAAKO,eAAmC,IAAlBN,KAAKU,SAAiBvB,EAAGa,MAAOW,OAASX,KAAKY,aAIhEZ,KAAKM,gBACTd,EAAQE,MAAQM,KAAKM,eAIL,OADjBb,EAAWO,KAAKG,QAAS,GAAIV,YAE5BD,EAAQC,SAAWA,GAEbD,GAGRqB,QAAS,WACR,IAAIC,EAAUd,KAAKG,QAAS,GAAIW,QAEhCd,KAAKe,wBAEyB,MAAzBf,KAAKR,QAAQC,WACjBO,KAAKR,QAAQC,SAAWO,KAAKG,QAAS,GAAIV,UAG3CO,KAAKgB,WAAY,WAAYhB,KAAKR,QAAQC,UAC1CO,KAAKiB,UAAW,mBAAoB,+BACpCjB,KAAKiB,UAAWjB,KAAKN,MAAO,yBAA0B,uBAEnC,UAAdM,KAAKkB,MACTlB,KAAKiB,UAAWjB,KAAKN,MAAO,gCAGxBM,KAAKR,QAAQE,OAASM,KAAKR,QAAQE,QAAUM,KAAKM,cACtDN,KAAKmB,eACMnB,KAAKM,gBAChBN,KAAKR,QAAQE,MAAQM,KAAKM,eAG3BN,KAAKoB,WAEAN,GACJd,KAAKiB,UAAWjB,KAAKN,MAAO,2BAA4B,mBAGzDM,KAAKqB,IAAK,CACTC,OAAQ,iBACRC,MAAO,WACNvB,KAAKiB,UAAWjB,KAAKN,MAAO,KAAM,mCAEnC8B,KAAM,WACLxB,KAAKyB,aAAczB,KAAKN,MAAO,KAAM,sCAKxCQ,UAAW,WACV,IAAIwB,EAAW1B,KAAKG,QAAS,GAAIuB,SAASC,cAC1C3B,KAAKkB,KAAOlB,KAAKG,QAAS,GAAIe,KACZ,UAAbQ,GAAyB,iBAAiBE,KAAM5B,KAAKkB,OACzD/B,EAAEkB,MAAO,kDAAoDqB,EAC5D,qBAAuB1B,KAAKkB,OAK/BE,SAAU,WACTpB,KAAK6B,YAAa7B,KAAKG,QAAS,GAAIW,UAGrC1B,OAAQ,WACP,OAAOY,KAAKN,OAGboC,eAAgB,WACf,IACIC,EAAO/B,KAAKG,QAAS,GAAI4B,KACzBC,EAAe,eAAiB7C,EAAE8C,eAAgBF,GAAS,KAE/D,OAAMA,GAID/B,KAAKkC,KAAK9B,OACNjB,EAAGa,KAAKkC,KAAM,GAAIC,UAAWC,OAAQJ,GAIrC7C,EAAG6C,GAAeI,QAAQ,WACjC,OAAoC,IAA7BjD,EAAGa,MAAOqC,QAAQjC,WAIdI,IAAKR,KAAKG,SAbfhB,EAAG,KAgBZmD,eAAgB,WACf,IAAIxB,EAAUd,KAAKG,QAAS,GAAIW,QAChCd,KAAKuC,aAAcvC,KAAKN,MAAO,2BAA4B,kBAAmBoB,GAEzEd,KAAKR,QAAQG,MAAsB,aAAdK,KAAKkB,MAC9BlB,KAAKuC,aAAcvC,KAAKL,KAAM,KAAM,iCAAkCmB,GACpEyB,aAAcvC,KAAKL,KAAM,KAAM,iBAAkBmB,GAGjC,UAAdd,KAAKkB,MACTlB,KAAK8B,iBACHrB,MAAM,WACN,IAAI+B,EAAWrD,EAAGa,MAAOyC,cAAe,YAEnCD,GACJA,EAASf,aAAce,EAAS9C,MAC/B,2BAA4B,uBAMlCgD,SAAU,WACT1C,KAAK2C,0BAEA3C,KAAKL,OACTK,KAAKL,KAAKiD,SACV5C,KAAK6C,UAAUD,WAIjB5B,WAAY,SAAU8B,EAAKC,GAG1B,GAAa,UAARD,GAAoBC,EAAzB,CAMA,GAFA/C,KAAKC,OAAQ6C,EAAKC,GAEL,aAARD,EAKJ,OAJA9C,KAAKuC,aAAcvC,KAAKN,MAAO,KAAM,oBAAqBqD,QAC1D/C,KAAKG,QAAS,GAAIV,SAAWsD,GAK9B/C,KAAKgD,YAGNnB,YAAa,SAAUf,GACtB,IAAImC,EAAQ,8BAEPjD,KAAKR,QAAQG,MACXK,KAAKL,OACVK,KAAKL,KAAOR,EAAG,UACfa,KAAK6C,UAAY1D,EAAG,kBACpBa,KAAKiB,UAAWjB,KAAK6C,UAAW,gCAGd,aAAd7C,KAAKkB,MACT+B,GAASnC,EAAU,iCAAmC,gBACtDd,KAAKyB,aAAczB,KAAKL,KAAM,KAAMmB,EAAU,gBAAkB,kBAEhEmC,GAAS,gBAEVjD,KAAKiB,UAAWjB,KAAKL,KAAM,wBAAyBsD,GAC9CnC,GACLd,KAAKyB,aAAczB,KAAKL,KAAM,KAAM,kCAErCK,KAAKL,KAAKuD,UAAWlD,KAAKN,OAAQyD,MAAOnD,KAAK6C,iBACrBO,IAAdpD,KAAKL,OAChBK,KAAKL,KAAKiD,SACV5C,KAAK6C,UAAUD,gBACR5C,KAAKL,OAIdwB,aAAc,WAGb,IAAIZ,EAAWP,KAAKN,MAAMa,WAAWC,IAAKR,KAAKG,QAAS,IACnDH,KAAKL,OACTY,EAAWA,EAASC,IAAKR,KAAKL,KAAM,KAEhCK,KAAK6C,YACTtC,EAAWA,EAASC,IAAKR,KAAK6C,UAAW,KAE1CtC,EAASqC,SAET5C,KAAKN,MAAM2D,OAAQrD,KAAKR,QAAQE,QAGjCsD,QAAS,WACR,IAAIlC,EAAUd,KAAKG,QAAS,GAAIW,QAC/BwC,EAAatD,KAAKG,QAAS,GAAIV,SAEhCO,KAAK6B,YAAaf,GAClBd,KAAKuC,aAAcvC,KAAKN,MAAO,2BAA4B,kBAAmBoB,GAClD,OAAvBd,KAAKR,QAAQE,OACjBM,KAAKmB,eAGDmC,IAAetD,KAAKR,QAAQC,UAChCO,KAAKuD,YAAa,CAAE9D,SAAY6D,QAM5BnE,EAAEE,GAAGoD","file":"checkboxradio-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio.js b/web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio.js
index ee70d848bb..6ee7fe6cd2 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/checkboxradio.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Checkboxradio 1.12.1
+ * jQuery UI Checkboxradio 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -18,12 +18,13 @@
 //>>css.theme: ../../themes/base/theme.css
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
 		define( [
 			"jquery",
-			"../escape-selector",
 			"../form-reset-mixin",
 			"../labels",
 			"../widget"
@@ -33,10 +34,11 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
-	version: "1.12.1",
+	version: "1.13.1",
 	options: {
 		disabled: null,
 		label: null,
@@ -115,9 +117,6 @@ $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
 
 		if ( checked ) {
 			this._addClass( this.label, "ui-checkboxradio-checked", "ui-state-active" );
-			if ( this.icon ) {
-				this._addClass( this.icon, null, "ui-state-hover" );
-			}
 		}
 
 		this._on( {
@@ -152,7 +151,7 @@ $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
 	_getRadioGroup: function() {
 		var group;
 		var name = this.element[ 0 ].name;
-		var nameSelector = "input[name='" + $.ui.escapeSelector( name ) + "']";
+		var nameSelector = "input[name='" + $.escapeSelector( name ) + "']";
 
 		if ( !name ) {
 			return $( [] );
@@ -164,7 +163,7 @@ $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
 
 			// Not inside a form, check all inputs that also are not inside a form
 			group = $( nameSelector ).filter( function() {
-				return $( this ).form().length === 0;
+				return $( this )._form().length === 0;
 			} );
 		}
 
@@ -283,4 +282,4 @@ $.widget( "ui.checkboxradio", [ $.ui.formResetMixin, {
 
 return $.ui.checkboxradio;
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup-min.js b/web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup-min.js
index 0f405e5550..34448b2b24 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Controlgroup 1.12.1
+ * jQuery UI Controlgroup 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(t){"function"==typeof define&&define.amd?define(["jquery","../widget"],t):t(jQuery)}((function(t){var e=/ui-corner-([a-z]){2,6}/g;return t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,(function(n,o){var s,l={};if(o)return"controlgroupLabel"===n?((s=e.element.find(o)).each((function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")})),e._addClass(s,null,"ui-widget ui-widget-content ui-state-default"),void(i=i.concat(s.get()))):void(t.fn[n]&&(l=e["_"+n+"Options"]?e["_"+n+"Options"]("middle"):{classes:{}},e.element.find(o).each((function(){var o=t(this),s=o[n]("instance"),r=t.widget.extend({},l);if("button"!==n||!o.parent(".ui-spinner").length){s||(s=o[n]()[n]("instance")),s&&(r.classes=e._resolveClassesValues(r.classes,s)),o[n](r);var u=o[n]("widget");t.data(u[0],"ui-controlgroup-data",s||o[n]("instance")),i.push(u[0])}}))))})),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each((function(){var i=t(this).data("ui-controlgroup-data");i&&i[e]&&i[e]()}))},_updateCornerClass:function(t,e){var i=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"),this._addClass(t,null,i)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,n={classes:{}};return n.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],n},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:!!e&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(i,n){var o={};return t.each(i,(function(s){var l=n.options.classes[s]||"";l=t.trim(l.replace(e,"")),o[s]=(l+" "+i[s]).replace(/\s+/g," ")})),o},_setOption:function(t,e){"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"!==t?this.refresh():this._callChildMethod(e?"disable":"enable")},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],(function(t,n){var o=e[n]().data("ui-controlgroup-data");if(o&&i["_"+o.widgetName+"Options"]){var s=i["_"+o.widgetName+"Options"](1===e.length?"only":n);s.classes=i._resolveClassesValues(s.classes,o),o.element[o.widgetName](s)}else i._updateCornerClass(e[n](),n)})),this._callChildMethod("refresh"))}})}));
\ No newline at end of file
+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","../widget"],t):t(jQuery)}((function(t){"use strict";var e=/ui-corner-([a-z]){2,6}/g;return t.widget("ui.controlgroup",{version:"1.13.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,(function(n,o){var s,l={};if(o)return"controlgroupLabel"===n?((s=e.element.find(o)).each((function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")})),e._addClass(s,null,"ui-widget ui-widget-content ui-state-default"),void(i=i.concat(s.get()))):void(t.fn[n]&&(l=e["_"+n+"Options"]?e["_"+n+"Options"]("middle"):{classes:{}},e.element.find(o).each((function(){var o=t(this),s=o[n]("instance"),r=t.widget.extend({},l);if("button"!==n||!o.parent(".ui-spinner").length){s||(s=o[n]()[n]("instance")),s&&(r.classes=e._resolveClassesValues(r.classes,s)),o[n](r);var u=o[n]("widget");t.data(u[0],"ui-controlgroup-data",s||o[n]("instance")),i.push(u[0])}}))))})),this.childWidgets=t(t.uniqueSort(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each((function(){var i=t(this).data("ui-controlgroup-data");i&&i[e]&&i[e]()}))},_updateCornerClass:function(t,e){var i=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"),this._addClass(t,null,i)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,n={classes:{}};return n.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],n},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:!!e&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(i,n){var o={};return t.each(i,(function(t){var s=n.options.classes[t]||"";s=String.prototype.trim.call(s.replace(e,"")),o[t]=(s+" "+i[t]).replace(/\s+/g," ")})),o},_setOption:function(t,e){"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"!==t?this.refresh():this._callChildMethod(e?"disable":"enable")},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],(function(t,n){var o=e[n]().data("ui-controlgroup-data");if(o&&i["_"+o.widgetName+"Options"]){var s=i["_"+o.widgetName+"Options"](1===e.length?"only":n);s.classes=i._resolveClassesValues(s.classes,o),o.element[o.widgetName](s)}else i._updateCornerClass(e[n](),n)})),this._callChildMethod("refresh"))}})}));
+//# sourceMappingURL=controlgroup-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup-min.js.map b/web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup-min.js.map
new file mode 100644
index 0000000000..9aec898707
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["controlgroup.js"],"names":["factory","define","amd","jQuery","$","controlgroupCornerRegex","widget","version","defaultElement","options","direction","disabled","onlyVisible","items","button","controlgroupLabel","checkboxradio","selectmenu","spinner","_create","this","_enhance","element","attr","refresh","_destroy","_callChildMethod","childWidgets","removeData","removeAttr","find","contents","unwrap","_initWidgets","that","each","selector","labels","children","length","wrapAll","_addClass","concat","get","fn","classes","instance","instanceOptions","extend","parent","_resolveClassesValues","widgetElement","data","push","uniqueSort","method","_updateCornerClass","position","add","_buildSimpleOptions","label","_removeClass","key","result","middle","first","last","only","_spinnerOptions","_buttonOptions","_checkboxradioOptions","_selectmenuOptions","width","current","String","prototype","trim","call","replace","_setOption","value","_super","filter","index","widgetName"],"mappings":";;;;;;;;CAkBA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CACP,SACA,aACED,GAIHA,EAASG,QAbX,EAeK,SAAUC,GACf,aAEA,IAAIC,EAA0B,0BAE9B,OAAOD,EAAEE,OAAQ,kBAAmB,CACnCC,QAAS,SACTC,eAAgB,QAChBC,QAAS,CACRC,UAAW,aACXC,SAAU,KACVC,aAAa,EACbC,MAAO,CACNC,OAAU,uEACVC,kBAAqB,yBACrBC,cAAiB,8CACjBC,WAAc,SACdC,QAAW,sBAIbC,QAAS,WACRC,KAAKC,YAINA,SAAU,WACTD,KAAKE,QAAQC,KAAM,OAAQ,WAC3BH,KAAKI,WAGNC,SAAU,WACTL,KAAKM,iBAAkB,WACvBN,KAAKO,aAAaC,WAAY,wBAC9BR,KAAKE,QAAQO,WAAY,QACpBT,KAAKX,QAAQI,MAAME,mBACvBK,KAAKE,QACHQ,KAAMV,KAAKX,QAAQI,MAAME,mBACzBe,KAAM,mCACNC,WAAWC,UAIfC,aAAc,WACb,IAAIC,EAAOd,KACVO,EAAe,GAGhBvB,EAAE+B,KAAMf,KAAKX,QAAQI,OAAO,SAAUP,EAAQ8B,GAC7C,IAAIC,EACA5B,EAAU,GAGd,GAAM2B,EAIN,MAAgB,sBAAX9B,IACJ+B,EAASH,EAAKZ,QAAQQ,KAAMM,IACrBD,MAAM,WACZ,IAAIb,EAAUlB,EAAGgB,MAEZE,EAAQgB,SAAU,mCAAoCC,QAG3DjB,EAAQS,WACNS,QAAS,2DAEZN,EAAKO,UAAWJ,EAAQ,KAAM,qDAC9BV,EAAeA,EAAae,OAAQL,EAAOM,cAKtCvC,EAAEwC,GAAItC,KAOXG,EADIyB,EAAM,IAAM5B,EAAS,WACf4B,EAAM,IAAM5B,EAAS,WAAa,UAElC,CAAEuC,QAAS,IAItBX,EAAKZ,QACHQ,KAAMM,GACND,MAAM,WACN,IAAIb,EAAUlB,EAAGgB,MACb0B,EAAWxB,EAAShB,GAAU,YAI9ByC,EAAkB3C,EAAEE,OAAO0C,OAAQ,GAAIvC,GAI3C,GAAgB,WAAXH,IAAuBgB,EAAQ2B,OAAQ,eAAgBV,OAA5D,CAKMO,IACLA,EAAWxB,EAAShB,KAAYA,GAAU,aAEtCwC,IACJC,EAAgBF,QACfX,EAAKgB,sBAAuBH,EAAgBF,QAASC,IAEvDxB,EAAShB,GAAUyC,GAInB,IAAII,EAAgB7B,EAAShB,GAAU,UACvCF,EAAEgD,KAAMD,EAAe,GAAK,uBAC3BL,GAAsBxB,EAAShB,GAAU,aAE1CqB,EAAa0B,KAAMF,EAAe,aAIrC/B,KAAKO,aAAevB,EAAGA,EAAEkD,WAAY3B,IACrCP,KAAKqB,UAAWrB,KAAKO,aAAc,yBAGpCD,iBAAkB,SAAU6B,GAC3BnC,KAAKO,aAAaQ,MAAM,WACvB,IACCiB,EADahD,EAAGgB,MACDgC,KAAM,wBACjBA,GAAQA,EAAMG,IAClBH,EAAMG,SAKTC,mBAAoB,SAAUlC,EAASmC,GACtC,IACIC,EAAMtC,KAAKuC,oBAAqBF,EAAU,SAAUZ,QAAQe,MAEhExC,KAAKyC,aAAcvC,EAAS,KAHf,+EAIbF,KAAKqB,UAAWnB,EAAS,KAAMoC,IAGhCC,oBAAqB,SAAUF,EAAUK,GACxC,IAAIpD,EAAuC,aAA3BU,KAAKX,QAAQC,UACzBqD,EAAS,CACZlB,QAAS,IASV,OAPAkB,EAAOlB,QAASiB,GAAQ,CACvBE,OAAU,GACVC,MAAS,cAAiBvD,EAAY,MAAQ,QAC9CwD,KAAQ,cAAiBxD,EAAY,SAAW,SAChDyD,KAAQ,iBACNV,GAEIM,GAGRK,gBAAiB,SAAUX,GAC1B,IAAIhD,EAAUW,KAAKuC,oBAAqBF,EAAU,cAKlD,OAHAhD,EAAQoC,QAAS,iBAAoB,GACrCpC,EAAQoC,QAAS,mBAAsB,GAEhCpC,GAGR4D,eAAgB,SAAUZ,GACzB,OAAOrC,KAAKuC,oBAAqBF,EAAU,cAG5Ca,sBAAuB,SAAUb,GAChC,OAAOrC,KAAKuC,oBAAqBF,EAAU,2BAG5Cc,mBAAoB,SAAUd,GAC7B,IAAI/C,EAAuC,aAA3BU,KAAKX,QAAQC,UAC7B,MAAO,CACN8D,QAAO9D,GAAY,OACnBmC,QAAS,CACRmB,OAAQ,CACP,4BAA6B,GAC7B,8BAA+B,IAEhCC,MAAO,CACN,4BAA6B,cAAiBvD,EAAY,MAAQ,MAClE,8BAA+B,cAAiBA,EAAY,MAAQ,SAErEwD,KAAM,CACL,4BAA6BxD,EAAY,GAAK,eAC9C,8BAA+B,cAAiBA,EAAY,SAAW,UAExEyD,KAAM,CACL,4BAA6B,gBAC7B,8BAA+B,kBAG9BV,KAILP,sBAAuB,SAAUL,EAASC,GACzC,IAAIiB,EAAS,GAMb,OALA3D,EAAE+B,KAAMU,GAAS,SAAUiB,GAC1B,IAAIW,EAAU3B,EAASrC,QAAQoC,QAASiB,IAAS,GACjDW,EAAUC,OAAOC,UAAUC,KAAKC,KAAMJ,EAAQK,QAASzE,EAAyB,KAChF0D,EAAQD,IAAUW,EAAU,IAAM5B,EAASiB,IAAQgB,QAAS,OAAQ,QAE9Df,GAGRgB,WAAY,SAAUjB,EAAKkB,GACb,cAARlB,GACJ1C,KAAKyC,aAAc,mBAAqBzC,KAAKX,QAAQC,WAGtDU,KAAK6D,OAAQnB,EAAKkB,GACL,aAARlB,EAKL1C,KAAKI,UAJJJ,KAAKM,iBAAkBsD,EAAQ,UAAY,WAO7CxD,QAAS,WACR,IAAIc,EACHJ,EAAOd,KAERA,KAAKqB,UAAW,mCAAqCrB,KAAKX,QAAQC,WAElC,eAA3BU,KAAKX,QAAQC,WACjBU,KAAKqB,UAAW,KAAM,sBAEvBrB,KAAKa,eAELK,EAAWlB,KAAKO,aAGXP,KAAKX,QAAQG,cACjB0B,EAAWA,EAAS4C,OAAQ,aAGxB5C,EAASC,SAIbnC,EAAE+B,KAAM,CAAE,QAAS,SAAU,SAAUgD,EAAOH,GAC7C,IAAIlC,EAAWR,EAAU0C,KAAU5B,KAAM,wBAEzC,GAAKN,GAAYZ,EAAM,IAAMY,EAASsC,WAAa,WAAc,CAChE,IAAI3E,EAAUyB,EAAM,IAAMY,EAASsC,WAAa,WAC3B,IAApB9C,EAASC,OAAe,OAASyC,GAElCvE,EAAQoC,QAAUX,EAAKgB,sBAAuBzC,EAAQoC,QAASC,GAC/DA,EAASxB,QAASwB,EAASsC,YAAc3E,QAEzCyB,EAAKsB,mBAAoBlB,EAAU0C,KAAWA,MAKhD5D,KAAKM,iBAAkB","file":"controlgroup-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup.js b/web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup.js
index b8234fb4a4..f52f35af66 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/controlgroup.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Controlgroup 1.12.1
+ * jQuery UI Controlgroup 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -17,6 +17,8 @@
 //>>css.theme: ../../themes/base/theme.css
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -29,11 +31,13 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
+
 var controlgroupCornerRegex = /ui-corner-([a-z]){2,6}/g;
 
 return $.widget( "ui.controlgroup", {
-	version: "1.12.1",
+	version: "1.13.1",
 	defaultElement: "<div>",
 	options: {
 		direction: "horizontal",
@@ -150,7 +154,7 @@ return $.widget( "ui.controlgroup", {
 				} );
 		} );
 
-		this.childWidgets = $( $.unique( childWidgets ) );
+		this.childWidgets = $( $.uniqueSort( childWidgets ) );
 		this._addClass( this.childWidgets, "ui-controlgroup-item" );
 	},
 
@@ -234,7 +238,7 @@ return $.widget( "ui.controlgroup", {
 		var result = {};
 		$.each( classes, function( key ) {
 			var current = instance.options.classes[ key ] || "";
-			current = $.trim( current.replace( controlgroupCornerRegex, "" ) );
+			current = String.prototype.trim.call( current.replace( controlgroupCornerRegex, "" ) );
 			result[ key ] = ( current + " " + classes[ key ] ).replace( /\s+/g, " " );
 		} );
 		return result;
@@ -295,4 +299,4 @@ return $.widget( "ui.controlgroup", {
 		}
 	}
 } );
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/dialog-min.js b/web/core/assets/vendor/jquery.ui/ui/widgets/dialog-min.js
index 583c500e0c..137d47c3c5 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/dialog-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/dialog-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Dialog 1.12.1
+ * jQuery UI Dialog 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(i){"function"==typeof define&&define.amd?define(["jquery","./button","./draggable","./mouse","./resizable","../focusable","../keycode","../position","../safe-active-element","../safe-blur","../unique-id","../version","../widget"],i):i(jQuery)}((function(i){return i.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var e=i(this).css(t).offset().top;e<0&&i(this).css("top",t.top-e)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&i.fn.draggable&&this._makeDraggable(),this.options.resizable&&i.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?i(t):this.document.find(t||"body").eq(0)},_destroy:function(){var i,t=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),(i=t.parent.children().eq(t.index)).length&&i[0]!==this.element[0]?i.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:i.noop,enable:i.noop,close:function(t){var e=this;this._isOpen&&!1!==this._trigger("beforeClose",t)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||i.ui.safeBlur(i.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,(function(){e._trigger("close",t)})))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,e){var o=!1,s=this.uiDialog.siblings(".ui-front:visible").map((function(){return+i(this).css("z-index")})).get(),n=Math.max.apply(null,s);return n>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",n+1),o=!0),o&&!e&&this._trigger("focus",t),o},open:function(){var t=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=i(i.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,(function(){t._focusTabbable(),t._trigger("focus")})),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var i=this._focusedElement;i||(i=this.element.find("[autofocus]")),i.length||(i=this.element.find(":tabbable")),i.length||(i=this.uiDialogButtonPane.find(":tabbable")),i.length||(i=this.uiDialogTitlebarClose.filter(":tabbable")),i.length||(i=this.uiDialog),i.eq(0).trigger("focus")},_keepFocus:function(t){function e(){var t=i.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===t||i.contains(this.uiDialog[0],t)||this._focusTabbable()}t.preventDefault(),e.call(this),this._delay(e)},_createWrapper:function(){this.uiDialog=i("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===i.ui.keyCode.ESCAPE)return t.preventDefault(),void this.close(t);if(t.keyCode===i.ui.keyCode.TAB&&!t.isDefaultPrevented()){var e=this.uiDialog.find(":tabbable"),o=e.filter(":first"),s=e.filter(":last");t.target!==s[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==o[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay((function(){s.trigger("focus")})),t.preventDefault()):(this._delay((function(){o.trigger("focus")})),t.preventDefault())}},mousedown:function(i){this._moveToTop(i)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=i("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(t){i(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=i("<button type='button'></button>").button({label:i("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(i){i.preventDefault(),this.close(i)}}),t=i("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(t,"ui-dialog-title"),this._title(t),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(i){this.options.title?i.text(this.options.title):i.html("&#160;")},_createButtonPane:function(){this.uiDialogButtonPane=i("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=i("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var t=this,e=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),i.isEmptyObject(e)||i.isArray(e)&&!e.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(i.each(e,(function(e,o){var s,n;o=i.isFunction(o)?{click:o,text:e}:o,o=i.extend({type:"button"},o),s=o.click,n={icon:o.icon,iconPosition:o.iconPosition,showLabel:o.showLabel,icons:o.icons,text:o.text},delete o.click,delete o.icon,delete o.iconPosition,delete o.showLabel,delete o.icons,"boolean"==typeof o.text&&delete o.text,i("<button></button>",o).button(n).appendTo(t.uiButtonSet).on("click",(function(){s.apply(t.element[0],arguments)}))})),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var t=this,e=this.options;function o(i){return{position:i.position,offset:i.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(e,s){t._addClass(i(this),"ui-dialog-dragging"),t._blockFrames(),t._trigger("dragStart",e,o(s))},drag:function(i,e){t._trigger("drag",i,o(e))},stop:function(s,n){var a=n.offset.left-t.document.scrollLeft(),l=n.offset.top-t.document.scrollTop();e.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" top"+(l>=0?"+":"")+l,of:t.window},t._removeClass(i(this),"ui-dialog-dragging"),t._unblockFrames(),t._trigger("dragStop",s,o(n))}})},_makeResizable:function(){var t=this,e=this.options,o=e.resizable,s=this.uiDialog.css("position"),n="string"==typeof o?o:"n,e,s,w,se,sw,ne,nw";function a(i){return{originalPosition:i.originalPosition,originalSize:i.originalSize,position:i.position,size:i.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:this._minHeight(),handles:n,start:function(e,o){t._addClass(i(this),"ui-dialog-resizing"),t._blockFrames(),t._trigger("resizeStart",e,a(o))},resize:function(i,e){t._trigger("resize",i,a(e))},stop:function(o,s){var n=t.uiDialog.offset(),l=n.left-t.document.scrollLeft(),h=n.top-t.document.scrollTop();e.height=t.uiDialog.height(),e.width=t.uiDialog.width(),e.position={my:"left top",at:"left"+(l>=0?"+":"")+l+" top"+(h>=0?"+":"")+h,of:t.window},t._removeClass(i(this),"ui-dialog-resizing"),t._unblockFrames(),t._trigger("resizeStop",o,a(s))}}).css("position",s)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget(),this._focusedElement=i(t.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),e=i.inArray(this,t);-1!==e&&t.splice(e,1)},_trackingInstances:function(){var i=this.document.data("ui-dialog-instances");return i||(i=[],this.document.data("ui-dialog-instances",i)),i},_minHeight:function(){var i=this.options;return"auto"===i.height?i.minHeight:Math.min(i.minHeight,i.height)},_position:function(){var i=this.uiDialog.is(":visible");i||this.uiDialog.show(),this.uiDialog.position(this.options.position),i||this.uiDialog.hide()},_setOptions:function(t){var e=this,o=!1,s={};i.each(t,(function(i,t){e._setOption(i,t),i in e.sizeRelatedOptions&&(o=!0),i in e.resizableRelatedOptions&&(s[i]=t)})),o&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",s)},_setOption:function(t,e){var o,s,n=this.uiDialog;"disabled"!==t&&(this._super(t,e),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:i("<a>").text(""+this.options.closeText).html()}),"draggable"===t&&((o=n.is(":data(ui-draggable)"))&&!e&&n.draggable("destroy"),!o&&e&&this._makeDraggable()),"position"===t&&this._position(),"resizable"===t&&((s=n.is(":data(ui-resizable)"))&&!e&&n.resizable("destroy"),s&&"string"==typeof e&&n.resizable("option","handles",e),s||!1===e||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var i,t,e,o=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),o.minWidth>o.width&&(o.width=o.minWidth),i=this.uiDialog.css({height:"auto",width:o.width}).outerHeight(),t=Math.max(0,o.minHeight-i),e="number"==typeof o.maxHeight?Math.max(0,o.maxHeight-i):"none","auto"===o.height?this.element.css({minHeight:t,maxHeight:e,height:"auto"}):this.element.height(Math.max(0,o.height-i)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map((function(){var t=i(this);return i("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]}))},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return!!i(t.target).closest(".ui-dialog").length||!!i(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=!0;this._delay((function(){t=!1})),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(i){t||this._allowInteraction(i)||(i.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=i("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var i=this.document.data("ui-dialog-overlays")-1;i?this.document.data("ui-dialog-overlays",i):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),!1!==i.uiBackCompat&&i.widget("ui.dialog",i.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(i,t){"dialogClass"===i&&this.uiDialog.removeClass(this.options.dialogClass).addClass(t),this._superApply(arguments)}}),i.ui.dialog}));
\ No newline at end of file
+!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery","./button","./draggable","./mouse","./resizable","../focusable","../keycode","../position","../safe-active-element","../safe-blur","../tabbable","../unique-id","../version","../widget"],i):i(jQuery)}((function(i){"use strict";return i.widget("ui.dialog",{version:"1.13.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var e=i(this).css(t).offset().top;e<0&&i(this).css("top",t.top-e)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&i.fn.draggable&&this._makeDraggable(),this.options.resizable&&i.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?i(t):this.document.find(t||"body").eq(0)},_destroy:function(){var i,t=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),(i=t.parent.children().eq(t.index)).length&&i[0]!==this.element[0]?i.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:i.noop,enable:i.noop,close:function(t){var e=this;this._isOpen&&!1!==this._trigger("beforeClose",t)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||i.ui.safeBlur(i.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,(function(){e._trigger("close",t)})))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,e){var o=!1,s=this.uiDialog.siblings(".ui-front:visible").map((function(){return+i(this).css("z-index")})).get(),n=Math.max.apply(null,s);return n>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",n+1),o=!0),o&&!e&&this._trigger("focus",t),o},open:function(){var t=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=i(i.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,(function(){t._focusTabbable(),t._trigger("focus")})),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var i=this._focusedElement;i||(i=this.element.find("[autofocus]")),i.length||(i=this.element.find(":tabbable")),i.length||(i=this.uiDialogButtonPane.find(":tabbable")),i.length||(i=this.uiDialogTitlebarClose.filter(":tabbable")),i.length||(i=this.uiDialog),i.eq(0).trigger("focus")},_restoreTabbableFocus:function(){var t=i.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===t||i.contains(this.uiDialog[0],t)||this._focusTabbable()},_keepFocus:function(i){i.preventDefault(),this._restoreTabbableFocus(),this._delay(this._restoreTabbableFocus)},_createWrapper:function(){this.uiDialog=i("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===i.ui.keyCode.ESCAPE)return t.preventDefault(),void this.close(t);if(t.keyCode===i.ui.keyCode.TAB&&!t.isDefaultPrevented()){var e=this.uiDialog.find(":tabbable"),o=e.first(),s=e.last();t.target!==s[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==o[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay((function(){s.trigger("focus")})),t.preventDefault()):(this._delay((function(){o.trigger("focus")})),t.preventDefault())}},mousedown:function(i){this._moveToTop(i)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=i("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(t){i(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=i("<button type='button'></button>").button({label:i("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(i){i.preventDefault(),this.close(i)}}),t=i("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(t,"ui-dialog-title"),this._title(t),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(i){this.options.title?i.text(this.options.title):i.html("&#160;")},_createButtonPane:function(){this.uiDialogButtonPane=i("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=i("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var t=this,e=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),i.isEmptyObject(e)||Array.isArray(e)&&!e.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(i.each(e,(function(e,o){var s,n;o="function"==typeof o?{click:o,text:e}:o,o=i.extend({type:"button"},o),s=o.click,n={icon:o.icon,iconPosition:o.iconPosition,showLabel:o.showLabel,icons:o.icons,text:o.text},delete o.click,delete o.icon,delete o.iconPosition,delete o.showLabel,delete o.icons,"boolean"==typeof o.text&&delete o.text,i("<button></button>",o).button(n).appendTo(t.uiButtonSet).on("click",(function(){s.apply(t.element[0],arguments)}))})),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var t=this,e=this.options;function o(i){return{position:i.position,offset:i.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(e,s){t._addClass(i(this),"ui-dialog-dragging"),t._blockFrames(),t._trigger("dragStart",e,o(s))},drag:function(i,e){t._trigger("drag",i,o(e))},stop:function(s,n){var a=n.offset.left-t.document.scrollLeft(),l=n.offset.top-t.document.scrollTop();e.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" top"+(l>=0?"+":"")+l,of:t.window},t._removeClass(i(this),"ui-dialog-dragging"),t._unblockFrames(),t._trigger("dragStop",s,o(n))}})},_makeResizable:function(){var t=this,e=this.options,o=e.resizable,s=this.uiDialog.css("position"),n="string"==typeof o?o:"n,e,s,w,se,sw,ne,nw";function a(i){return{originalPosition:i.originalPosition,originalSize:i.originalSize,position:i.position,size:i.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:this._minHeight(),handles:n,start:function(e,o){t._addClass(i(this),"ui-dialog-resizing"),t._blockFrames(),t._trigger("resizeStart",e,a(o))},resize:function(i,e){t._trigger("resize",i,a(e))},stop:function(o,s){var n=t.uiDialog.offset(),l=n.left-t.document.scrollLeft(),h=n.top-t.document.scrollTop();e.height=t.uiDialog.height(),e.width=t.uiDialog.width(),e.position={my:"left top",at:"left"+(l>=0?"+":"")+l+" top"+(h>=0?"+":"")+h,of:t.window},t._removeClass(i(this),"ui-dialog-resizing"),t._unblockFrames(),t._trigger("resizeStop",o,a(s))}}).css("position",s)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget(),this._focusedElement=i(t.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),e=i.inArray(this,t);-1!==e&&t.splice(e,1)},_trackingInstances:function(){var i=this.document.data("ui-dialog-instances");return i||(i=[],this.document.data("ui-dialog-instances",i)),i},_minHeight:function(){var i=this.options;return"auto"===i.height?i.minHeight:Math.min(i.minHeight,i.height)},_position:function(){var i=this.uiDialog.is(":visible");i||this.uiDialog.show(),this.uiDialog.position(this.options.position),i||this.uiDialog.hide()},_setOptions:function(t){var e=this,o=!1,s={};i.each(t,(function(i,t){e._setOption(i,t),i in e.sizeRelatedOptions&&(o=!0),i in e.resizableRelatedOptions&&(s[i]=t)})),o&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",s)},_setOption:function(t,e){var o,s,n=this.uiDialog;"disabled"!==t&&(this._super(t,e),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:i("<a>").text(""+this.options.closeText).html()}),"draggable"===t&&((o=n.is(":data(ui-draggable)"))&&!e&&n.draggable("destroy"),!o&&e&&this._makeDraggable()),"position"===t&&this._position(),"resizable"===t&&((s=n.is(":data(ui-resizable)"))&&!e&&n.resizable("destroy"),s&&"string"==typeof e&&n.resizable("option","handles",e),s||!1===e||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var i,t,e,o=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),o.minWidth>o.width&&(o.width=o.minWidth),i=this.uiDialog.css({height:"auto",width:o.width}).outerHeight(),t=Math.max(0,o.minHeight-i),e="number"==typeof o.maxHeight?Math.max(0,o.maxHeight-i):"none","auto"===o.height?this.element.css({minHeight:t,maxHeight:e,height:"auto"}):this.element.height(Math.max(0,o.height-i)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map((function(){var t=i(this);return i("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]}))},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return!!i(t.target).closest(".ui-dialog").length||!!i(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=i.fn.jquery.substring(0,4),e=!0;this._delay((function(){e=!1})),this.document.data("ui-dialog-overlays")||this.document.on("focusin.ui-dialog",function(i){if(!e){var o=this._trackingInstances()[0];o._allowInteraction(i)||(i.preventDefault(),o._focusTabbable(),"3.4."!==t&&"3.5."!==t||o._delay(o._restoreTabbableFocus))}}.bind(this)),this.overlay=i("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var i=this.document.data("ui-dialog-overlays")-1;i?this.document.data("ui-dialog-overlays",i):(this.document.off("focusin.ui-dialog"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),!1!==i.uiBackCompat&&i.widget("ui.dialog",i.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(i,t){"dialogClass"===i&&this.uiDialog.removeClass(this.options.dialogClass).addClass(t),this._superApply(arguments)}}),i.ui.dialog}));
+//# sourceMappingURL=dialog-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/dialog-min.js.map b/web/core/assets/vendor/jquery.ui/ui/widgets/dialog-min.js.map
new file mode 100644
index 0000000000..01e37544e1
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/dialog-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["dialog.js"],"names":["factory","define","amd","jQuery","$","widget","version","options","appendTo","autoOpen","buttons","classes","closeOnEscape","closeText","draggable","hide","height","maxHeight","maxWidth","minHeight","minWidth","modal","position","my","at","of","window","collision","using","pos","topOffset","this","css","offset","top","resizable","show","title","width","beforeClose","close","drag","dragStart","dragStop","focus","open","resize","resizeStart","resizeStop","sizeRelatedOptions","resizableRelatedOptions","_create","originalCss","display","element","style","originalPosition","parent","index","children","originalTitle","attr","disabled","_createWrapper","removeAttr","uiDialog","_addClass","_createTitlebar","_createButtonPane","fn","_makeDraggable","_makeResizable","_isOpen","_trackFocus","_init","_appendTo","jquery","nodeType","document","find","eq","_destroy","next","_untrackInstance","_destroyOverlay","removeUniqueId","detach","remove","length","before","append","disable","noop","enable","event","that","_trigger","_focusedElement","opener","filter","trigger","ui","safeBlur","safeActiveElement","_hide","isOpen","moveToTop","_moveToTop","silent","moved","zIndices","siblings","map","get","zIndexMax","Math","max","apply","_focusTabbable","_size","_position","_createOverlay","overlay","_show","_makeFocusTarget","hasFocus","uiDialogButtonPane","uiDialogTitlebarClose","_restoreTabbableFocus","activeElement","contains","_keepFocus","preventDefault","_delay","tabIndex","role","_on","keydown","isDefaultPrevented","keyCode","ESCAPE","TAB","tabbables","first","last","target","shiftKey","mousedown","uniqueId","uiDialogTitle","uiDialogTitlebar","closest","button","label","text","html","icon","showLabel","click","prependTo","_title","uiButtonSet","_createButtons","empty","isEmptyObject","Array","isArray","_removeClass","each","name","props","buttonOptions","extend","type","iconPosition","icons","on","arguments","filteredUi","cancel","handle","containment","start","_blockFrames","stop","left","scrollLeft","scrollTop","_unblockFrames","handles","resizeHandles","originalSize","size","alsoResize","_minHeight","focusin","_trackingInstances","unshift","instances","exists","inArray","splice","data","min","isVisible","is","_setOptions","resizableOptions","key","value","_setOption","isDraggable","isResizable","_super","nonContentHeight","minContentHeight","maxContentHeight","outerHeight","iframeBlocks","iframe","outerWidth","_allowInteraction","jqMinor","substring","isOpening","instance","bind","overlays","off","removeData","uiBackCompat","dialog","dialogClass","addClass","removeClass","_superApply"],"mappings":";;;;;;;;CAkBA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CACP,SACA,WACA,cACA,UACA,cACA,eACA,aACA,cACA,yBACA,eACA,cACA,eACA,aACA,aACED,GAIHA,EAASG,QAzBX,EA2BK,SAAUC,GACf,aAy4BA,OAv4BAA,EAAEC,OAAQ,YAAa,CACtBC,QAAS,SACTC,QAAS,CACRC,SAAU,OACVC,UAAU,EACVC,QAAS,GACTC,QAAS,CACR,YAAa,gBACb,qBAAsB,iBAEvBC,eAAe,EACfC,UAAW,QACXC,WAAW,EACXC,KAAM,KACNC,OAAQ,OACRC,UAAW,KACXC,SAAU,KACVC,UAAW,IACXC,SAAU,IACVC,OAAO,EACPC,SAAU,CACTC,GAAI,SACJC,GAAI,SACJC,GAAIC,OACJC,UAAW,MAGXC,MAAO,SAAUC,GAChB,IAAIC,EAAY1B,EAAG2B,MAAOC,IAAKH,GAAMI,SAASC,IACzCJ,EAAY,GAChB1B,EAAG2B,MAAOC,IAAK,MAAOH,EAAIK,IAAMJ,KAInCK,WAAW,EACXC,KAAM,KACNC,MAAO,KACPC,MAAO,IAGPC,YAAa,KACbC,MAAO,KACPC,KAAM,KACNC,UAAW,KACXC,SAAU,KACVC,MAAO,KACPC,KAAM,KACNC,OAAQ,KACRC,YAAa,KACbC,WAAY,MAGbC,mBAAoB,CACnBvC,SAAS,EACTM,QAAQ,EACRC,WAAW,EACXC,UAAU,EACVC,WAAW,EACXC,UAAU,EACVkB,OAAO,GAGRY,wBAAyB,CACxBjC,WAAW,EACXC,UAAU,EACVC,WAAW,EACXC,UAAU,GAGX+B,QAAS,WACRpB,KAAKqB,YAAc,CAClBC,QAAStB,KAAKuB,QAAS,GAAIC,MAAMF,QACjCf,MAAOP,KAAKuB,QAAS,GAAIC,MAAMjB,MAC/BnB,UAAWY,KAAKuB,QAAS,GAAIC,MAAMpC,UACnCF,UAAWc,KAAKuB,QAAS,GAAIC,MAAMtC,UACnCD,OAAQe,KAAKuB,QAAS,GAAIC,MAAMvC,QAEjCe,KAAKyB,iBAAmB,CACvBC,OAAQ1B,KAAKuB,QAAQG,SACrBC,MAAO3B,KAAKuB,QAAQG,SAASE,WAAWD,MAAO3B,KAAKuB,UAErDvB,KAAK6B,cAAgB7B,KAAKuB,QAAQO,KAAM,SACb,MAAtB9B,KAAKxB,QAAQ8B,OAAuC,MAAtBN,KAAK6B,gBACvC7B,KAAKxB,QAAQ8B,MAAQN,KAAK6B,eAItB7B,KAAKxB,QAAQuD,WACjB/B,KAAKxB,QAAQuD,UAAW,GAGzB/B,KAAKgC,iBAELhC,KAAKuB,QACHlB,OACA4B,WAAY,SACZxD,SAAUuB,KAAKkC,UAEjBlC,KAAKmC,UAAW,oBAAqB,qBAErCnC,KAAKoC,kBACLpC,KAAKqC,oBAEArC,KAAKxB,QAAQO,WAAaV,EAAEiE,GAAGvD,WACnCiB,KAAKuC,iBAEDvC,KAAKxB,QAAQ4B,WAAa/B,EAAEiE,GAAGlC,WACnCJ,KAAKwC,iBAGNxC,KAAKyC,SAAU,EAEfzC,KAAK0C,eAGNC,MAAO,WACD3C,KAAKxB,QAAQE,UACjBsB,KAAKc,QAIP8B,UAAW,WACV,IAAIrB,EAAUvB,KAAKxB,QAAQC,SAC3B,OAAK8C,IAAaA,EAAQsB,QAAUtB,EAAQuB,UACpCzE,EAAGkD,GAEJvB,KAAK+C,SAASC,KAAMzB,GAAW,QAAS0B,GAAI,IAGpDC,SAAU,WACT,IAAIC,EACH1B,EAAmBzB,KAAKyB,iBAEzBzB,KAAKoD,mBACLpD,KAAKqD,kBAELrD,KAAKuB,QACH+B,iBACArD,IAAKD,KAAKqB,aAGVkC,SAEFvD,KAAKkC,SAASsB,SAETxD,KAAK6B,eACT7B,KAAKuB,QAAQO,KAAM,QAAS9B,KAAK6B,gBAGlCsB,EAAO1B,EAAiBC,OAAOE,WAAWqB,GAAIxB,EAAiBE,QAGrD8B,QAAUN,EAAM,KAAQnD,KAAKuB,QAAS,GAC/C4B,EAAKO,OAAQ1D,KAAKuB,SAElBE,EAAiBC,OAAOiC,OAAQ3D,KAAKuB,UAIvCjD,OAAQ,WACP,OAAO0B,KAAKkC,UAGb0B,QAASvF,EAAEwF,KACXC,OAAQzF,EAAEwF,KAEVpD,MAAO,SAAUsD,GAChB,IAAIC,EAAOhE,KAELA,KAAKyC,UAAqD,IAA1CzC,KAAKiE,SAAU,cAAeF,KAIpD/D,KAAKyC,SAAU,EACfzC,KAAKkE,gBAAkB,KACvBlE,KAAKqD,kBACLrD,KAAKoD,mBAECpD,KAAKmE,OAAOC,OAAQ,cAAeC,QAAS,SAAUZ,QAK3DpF,EAAEiG,GAAGC,SAAUlG,EAAEiG,GAAGE,kBAAmBxE,KAAK+C,SAAU,KAGvD/C,KAAKyE,MAAOzE,KAAKkC,SAAUlC,KAAKxB,QAAQQ,MAAM,WAC7CgF,EAAKC,SAAU,QAASF,QAI1BW,OAAQ,WACP,OAAO1E,KAAKyC,SAGbkC,UAAW,WACV3E,KAAK4E,cAGNA,WAAY,SAAUb,EAAOc,GAC5B,IAAIC,GAAQ,EACXC,EAAW/E,KAAKkC,SAAS8C,SAAU,qBAAsBC,KAAK,WAC7D,OAAQ5G,EAAG2B,MAAOC,IAAK,cACpBiF,MACJC,EAAYC,KAAKC,IAAIC,MAAO,KAAMP,GAUnC,OARKI,IAAcnF,KAAKkC,SAASjC,IAAK,aACrCD,KAAKkC,SAASjC,IAAK,UAAWkF,EAAY,GAC1CL,GAAQ,GAGJA,IAAUD,GACd7E,KAAKiE,SAAU,QAASF,GAElBe,GAGRhE,KAAM,WACL,IAAIkD,EAAOhE,KACNA,KAAKyC,QACJzC,KAAK4E,cACT5E,KAAKuF,kBAKPvF,KAAKyC,SAAU,EACfzC,KAAKmE,OAAS9F,EAAGA,EAAEiG,GAAGE,kBAAmBxE,KAAK+C,SAAU,KAExD/C,KAAKwF,QACLxF,KAAKyF,YACLzF,KAAK0F,iBACL1F,KAAK4E,WAAY,MAAM,GAKlB5E,KAAK2F,SACT3F,KAAK2F,QAAQ1F,IAAK,UAAWD,KAAKkC,SAASjC,IAAK,WAAc,GAG/DD,KAAK4F,MAAO5F,KAAKkC,SAAUlC,KAAKxB,QAAQ6B,MAAM,WAC7C2D,EAAKuB,iBACLvB,EAAKC,SAAU,YAMhBjE,KAAK6F,mBAEL7F,KAAKiE,SAAU,UAGhBsB,eAAgB,WASf,IAAIO,EAAW9F,KAAKkE,gBACd4B,IACLA,EAAW9F,KAAKuB,QAAQyB,KAAM,gBAEzB8C,EAASrC,SACdqC,EAAW9F,KAAKuB,QAAQyB,KAAM,cAEzB8C,EAASrC,SACdqC,EAAW9F,KAAK+F,mBAAmB/C,KAAM,cAEpC8C,EAASrC,SACdqC,EAAW9F,KAAKgG,sBAAsB5B,OAAQ,cAEzC0B,EAASrC,SACdqC,EAAW9F,KAAKkC,UAEjB4D,EAAS7C,GAAI,GAAIoB,QAAS,UAG3B4B,sBAAuB,WACtB,IAAIC,EAAgB7H,EAAEiG,GAAGE,kBAAmBxE,KAAK+C,SAAU,IAC/C/C,KAAKkC,SAAU,KAAQgE,GACjC7H,EAAE8H,SAAUnG,KAAKkC,SAAU,GAAKgE,IAEjClG,KAAKuF,kBAIPa,WAAY,SAAUrC,GACrBA,EAAMsC,iBACNrG,KAAKiG,wBAKLjG,KAAKsG,OAAQtG,KAAKiG,wBAGnBjE,eAAgB,WACfhC,KAAKkC,SAAW7D,EAAG,SACjBW,OACA8C,KAAM,CAGNyE,UAAW,EACXC,KAAM,WAEN/H,SAAUuB,KAAK4C,aAEjB5C,KAAKmC,UAAWnC,KAAKkC,SAAU,YAAa,wCAC5ClC,KAAKyG,IAAKzG,KAAKkC,SAAU,CACxBwE,QAAS,SAAU3C,GAClB,GAAK/D,KAAKxB,QAAQK,gBAAkBkF,EAAM4C,sBAAwB5C,EAAM6C,SACtE7C,EAAM6C,UAAYvI,EAAEiG,GAAGsC,QAAQC,OAGhC,OAFA9C,EAAMsC,sBACNrG,KAAKS,MAAOsD,GAKb,GAAKA,EAAM6C,UAAYvI,EAAEiG,GAAGsC,QAAQE,MAAO/C,EAAM4C,qBAAjD,CAGA,IAAII,EAAY/G,KAAKkC,SAASc,KAAM,aACnCgE,EAAQD,EAAUC,QAClBC,EAAOF,EAAUE,OAEXlD,EAAMmD,SAAWD,EAAM,IAAOlD,EAAMmD,SAAWlH,KAAKkC,SAAU,IAClE6B,EAAMoD,SAKKpD,EAAMmD,SAAWF,EAAO,IACpCjD,EAAMmD,SAAWlH,KAAKkC,SAAU,KAAS6B,EAAMoD,WAChDnH,KAAKsG,QAAQ,WACZW,EAAK5C,QAAS,YAEfN,EAAMsC,mBATNrG,KAAKsG,QAAQ,WACZU,EAAM3C,QAAS,YAEhBN,EAAMsC,oBASRe,UAAW,SAAUrD,GACf/D,KAAK4E,WAAYb,IACrB/D,KAAKuF,oBAQFvF,KAAKuB,QAAQyB,KAAM,sBAAuBS,QAC/CzD,KAAKkC,SAASJ,KAAM,CACnB,mBAAoB9B,KAAKuB,QAAQ8F,WAAWvF,KAAM,SAKrDM,gBAAiB,WAChB,IAAIkF,EAEJtH,KAAKuH,iBAAmBlJ,EAAG,SAC3B2B,KAAKmC,UAAWnC,KAAKuH,iBACpB,qBAAsB,uCACvBvH,KAAKyG,IAAKzG,KAAKuH,iBAAkB,CAChCH,UAAW,SAAUrD,GAKd1F,EAAG0F,EAAMmD,QAASM,QAAS,8BAGhCxH,KAAKkC,SAASmC,QAAS,YAQ1BrE,KAAKgG,sBAAwB3H,EAAG,mCAC9BoJ,OAAQ,CACRC,MAAOrJ,EAAG,OAAQsJ,KAAM3H,KAAKxB,QAAQM,WAAY8I,OACjDC,KAAM,qBACNC,WAAW,IAEXrJ,SAAUuB,KAAKuH,kBAEjBvH,KAAKmC,UAAWnC,KAAKgG,sBAAuB,4BAC5ChG,KAAKyG,IAAKzG,KAAKgG,sBAAuB,CACrC+B,MAAO,SAAUhE,GAChBA,EAAMsC,iBACNrG,KAAKS,MAAOsD,MAIduD,EAAgBjJ,EAAG,UAAWgJ,WAAWW,UAAWhI,KAAKuH,kBACzDvH,KAAKmC,UAAWmF,EAAe,mBAC/BtH,KAAKiI,OAAQX,GAEbtH,KAAKuH,iBAAiBS,UAAWhI,KAAKkC,UAEtClC,KAAKkC,SAASJ,KAAM,CACnB,kBAAmBwF,EAAcxF,KAAM,SAIzCmG,OAAQ,SAAU3H,GACZN,KAAKxB,QAAQ8B,MACjBA,EAAMqH,KAAM3H,KAAKxB,QAAQ8B,OAEzBA,EAAMsH,KAAM,WAIdvF,kBAAmB,WAClBrC,KAAK+F,mBAAqB1H,EAAG,SAC7B2B,KAAKmC,UAAWnC,KAAK+F,mBAAoB,uBACxC,wCAED/F,KAAKkI,YAAc7J,EAAG,SACpBI,SAAUuB,KAAK+F,oBACjB/F,KAAKmC,UAAWnC,KAAKkI,YAAa,uBAElClI,KAAKmI,kBAGNA,eAAgB,WACf,IAAInE,EAAOhE,KACVrB,EAAUqB,KAAKxB,QAAQG,QAGxBqB,KAAK+F,mBAAmBvC,SACxBxD,KAAKkI,YAAYE,QAEZ/J,EAAEgK,cAAe1J,IAAe2J,MAAMC,QAAS5J,KAAcA,EAAQ8E,OACzEzD,KAAKwI,aAAcxI,KAAKkC,SAAU,sBAInC7D,EAAEoK,KAAM9J,GAAS,SAAU+J,EAAMC,GAChC,IAAIZ,EAAOa,EACXD,EAAyB,mBAAVA,EACd,CAAEZ,MAAOY,EAAOhB,KAAMe,GACtBC,EAGDA,EAAQtK,EAAEwK,OAAQ,CAAEC,KAAM,UAAYH,GAGtCZ,EAAQY,EAAMZ,MACda,EAAgB,CACff,KAAMc,EAAMd,KACZkB,aAAcJ,EAAMI,aACpBjB,UAAWa,EAAMb,UAGjBkB,MAAOL,EAAMK,MACbrB,KAAMgB,EAAMhB,aAGNgB,EAAMZ,aACNY,EAAMd,YACNc,EAAMI,oBACNJ,EAAMb,iBAGNa,EAAMK,MACc,kBAAfL,EAAMhB,aACVgB,EAAMhB,KAGdtJ,EAAG,oBAAqBsK,GACtBlB,OAAQmB,GACRnK,SAAUuF,EAAKkE,aACfe,GAAI,SAAS,WACblB,EAAMzC,MAAOtB,EAAKzC,QAAS,GAAK2H,iBAGnClJ,KAAKmC,UAAWnC,KAAKkC,SAAU,qBAC/BlC,KAAK+F,mBAAmBtH,SAAUuB,KAAKkC,YAGxCK,eAAgB,WACf,IAAIyB,EAAOhE,KACVxB,EAAUwB,KAAKxB,QAEhB,SAAS2K,EAAY7E,GACpB,MAAO,CACN/E,SAAU+E,EAAG/E,SACbW,OAAQoE,EAAGpE,QAIbF,KAAKkC,SAASnD,UAAW,CACxBqK,OAAQ,gDACRC,OAAQ,sBACRC,YAAa,WACbC,MAAO,SAAUxF,EAAOO,GACvBN,EAAK7B,UAAW9D,EAAG2B,MAAQ,sBAC3BgE,EAAKwF,eACLxF,EAAKC,SAAU,YAAaF,EAAOoF,EAAY7E,KAEhD5D,KAAM,SAAUqD,EAAOO,GACtBN,EAAKC,SAAU,OAAQF,EAAOoF,EAAY7E,KAE3CmF,KAAM,SAAU1F,EAAOO,GACtB,IAAIoF,EAAOpF,EAAGpE,OAAOwJ,KAAO1F,EAAKjB,SAAS4G,aACzCxJ,EAAMmE,EAAGpE,OAAOC,IAAM6D,EAAKjB,SAAS6G,YAErCpL,EAAQe,SAAW,CAClBC,GAAI,WACJC,GAAI,QAAWiK,GAAQ,EAAI,IAAM,IAAOA,EAApC,QACOvJ,GAAO,EAAI,IAAM,IAAOA,EACnCT,GAAIsE,EAAKrE,QAEVqE,EAAKwE,aAAcnK,EAAG2B,MAAQ,sBAC9BgE,EAAK6F,iBACL7F,EAAKC,SAAU,WAAYF,EAAOoF,EAAY7E,QAKjD9B,eAAgB,WACf,IAAIwB,EAAOhE,KACVxB,EAAUwB,KAAKxB,QACfsL,EAAUtL,EAAQ4B,UAIlBb,EAAWS,KAAKkC,SAASjC,IAAK,YAC9B8J,EAAmC,iBAAZD,EACtBA,EACA,sBAEF,SAASX,EAAY7E,GACpB,MAAO,CACN7C,iBAAkB6C,EAAG7C,iBACrBuI,aAAc1F,EAAG0F,aACjBzK,SAAU+E,EAAG/E,SACb0K,KAAM3F,EAAG2F,MAIXjK,KAAKkC,SAAS9B,UAAW,CACxBgJ,OAAQ,qBACRE,YAAa,WACbY,WAAYlK,KAAKuB,QACjBpC,SAAUX,EAAQW,SAClBD,UAAWV,EAAQU,UACnBG,SAAUb,EAAQa,SAClBD,UAAWY,KAAKmK,aAChBL,QAASC,EACTR,MAAO,SAAUxF,EAAOO,GACvBN,EAAK7B,UAAW9D,EAAG2B,MAAQ,sBAC3BgE,EAAKwF,eACLxF,EAAKC,SAAU,cAAeF,EAAOoF,EAAY7E,KAElDvD,OAAQ,SAAUgD,EAAOO,GACxBN,EAAKC,SAAU,SAAUF,EAAOoF,EAAY7E,KAE7CmF,KAAM,SAAU1F,EAAOO,GACtB,IAAIpE,EAAS8D,EAAK9B,SAAShC,SAC1BwJ,EAAOxJ,EAAOwJ,KAAO1F,EAAKjB,SAAS4G,aACnCxJ,EAAMD,EAAOC,IAAM6D,EAAKjB,SAAS6G,YAElCpL,EAAQS,OAAS+E,EAAK9B,SAASjD,SAC/BT,EAAQ+B,MAAQyD,EAAK9B,SAAS3B,QAC9B/B,EAAQe,SAAW,CAClBC,GAAI,WACJC,GAAI,QAAWiK,GAAQ,EAAI,IAAM,IAAOA,EAApC,QACOvJ,GAAO,EAAI,IAAM,IAAOA,EACnCT,GAAIsE,EAAKrE,QAEVqE,EAAKwE,aAAcnK,EAAG2B,MAAQ,sBAC9BgE,EAAK6F,iBACL7F,EAAKC,SAAU,aAAcF,EAAOoF,EAAY7E,OAGhDrE,IAAK,WAAYV,IAGpBmD,YAAa,WACZ1C,KAAKyG,IAAKzG,KAAK1B,SAAU,CACxB8L,QAAS,SAAUrG,GAClB/D,KAAK6F,mBACL7F,KAAKkE,gBAAkB7F,EAAG0F,EAAMmD,YAKnCrB,iBAAkB,WACjB7F,KAAKoD,mBACLpD,KAAKqK,qBAAqBC,QAAStK,OAGpCoD,iBAAkB,WACjB,IAAImH,EAAYvK,KAAKqK,qBACpBG,EAASnM,EAAEoM,QAASzK,KAAMuK,IACV,IAAZC,GACJD,EAAUG,OAAQF,EAAQ,IAI5BH,mBAAoB,WACnB,IAAIE,EAAYvK,KAAK+C,SAAS4H,KAAM,uBAKpC,OAJMJ,IACLA,EAAY,GACZvK,KAAK+C,SAAS4H,KAAM,sBAAuBJ,IAErCA,GAGRJ,WAAY,WACX,IAAI3L,EAAUwB,KAAKxB,QAEnB,MAA0B,SAAnBA,EAAQS,OACdT,EAAQY,UACRgG,KAAKwF,IAAKpM,EAAQY,UAAWZ,EAAQS,SAGvCwG,UAAW,WAGV,IAAIoF,EAAY7K,KAAKkC,SAAS4I,GAAI,YAC5BD,GACL7K,KAAKkC,SAAS7B,OAEfL,KAAKkC,SAAS3C,SAAUS,KAAKxB,QAAQe,UAC/BsL,GACL7K,KAAKkC,SAASlD,QAIhB+L,YAAa,SAAUvM,GACtB,IAAIwF,EAAOhE,KACVe,GAAS,EACTiK,EAAmB,GAEpB3M,EAAEoK,KAAMjK,GAAS,SAAUyM,EAAKC,GAC/BlH,EAAKmH,WAAYF,EAAKC,GAEjBD,KAAOjH,EAAK9C,qBAChBH,GAAS,GAELkK,KAAOjH,EAAK7C,0BAChB6J,EAAkBC,GAAQC,MAIvBnK,IACJf,KAAKwF,QACLxF,KAAKyF,aAEDzF,KAAKkC,SAAS4I,GAAI,wBACtB9K,KAAKkC,SAAS9B,UAAW,SAAU4K,IAIrCG,WAAY,SAAUF,EAAKC,GAC1B,IAAIE,EAAaC,EAChBnJ,EAAWlC,KAAKkC,SAEJ,aAAR+I,IAILjL,KAAKsL,OAAQL,EAAKC,GAEL,aAARD,GACJjL,KAAKkC,SAASzD,SAAUuB,KAAK4C,aAGjB,YAARqI,GACJjL,KAAKmI,iBAGO,cAAR8C,GACJjL,KAAKgG,sBAAsByB,OAAQ,CAGlCC,MAAOrJ,EAAG,OAAQsJ,KAAM,GAAK3H,KAAKxB,QAAQM,WAAY8I,SAI3C,cAARqD,KACJG,EAAclJ,EAAS4I,GAAI,0BACNI,GACpBhJ,EAASnD,UAAW,YAGfqM,GAAeF,GACpBlL,KAAKuC,kBAIM,aAAR0I,GACJjL,KAAKyF,YAGO,cAARwF,KAGJI,EAAcnJ,EAAS4I,GAAI,0BACNI,GACpBhJ,EAAS9B,UAAW,WAIhBiL,GAAgC,iBAAVH,GAC1BhJ,EAAS9B,UAAW,SAAU,UAAW8K,GAIpCG,IAAyB,IAAVH,GACpBlL,KAAKwC,kBAIM,UAARyI,GACJjL,KAAKiI,OAAQjI,KAAKuH,iBAAiBvE,KAAM,uBAI3CwC,MAAO,WAIN,IAAI+F,EAAkBC,EAAkBC,EACvCjN,EAAUwB,KAAKxB,QAGhBwB,KAAKuB,QAAQlB,OAAOJ,IAAK,CACxBM,MAAO,OACPnB,UAAW,EACXF,UAAW,OACXD,OAAQ,IAGJT,EAAQa,SAAWb,EAAQ+B,QAC/B/B,EAAQ+B,MAAQ/B,EAAQa,UAKzBkM,EAAmBvL,KAAKkC,SAASjC,IAAK,CACrChB,OAAQ,OACRsB,MAAO/B,EAAQ+B,QAEdmL,cACFF,EAAmBpG,KAAKC,IAAK,EAAG7G,EAAQY,UAAYmM,GACpDE,EAAgD,iBAAtBjN,EAAQU,UACjCkG,KAAKC,IAAK,EAAG7G,EAAQU,UAAYqM,GACjC,OAEuB,SAAnB/M,EAAQS,OACZe,KAAKuB,QAAQtB,IAAK,CACjBb,UAAWoM,EACXtM,UAAWuM,EACXxM,OAAQ,SAGTe,KAAKuB,QAAQtC,OAAQmG,KAAKC,IAAK,EAAG7G,EAAQS,OAASsM,IAG/CvL,KAAKkC,SAAS4I,GAAI,wBACtB9K,KAAKkC,SAAS9B,UAAW,SAAU,YAAaJ,KAAKmK,eAIvDX,aAAc,WACbxJ,KAAK2L,aAAe3L,KAAK+C,SAASC,KAAM,UAAWiC,KAAK,WACvD,IAAI2G,EAASvN,EAAG2B,MAEhB,OAAO3B,EAAG,SACR4B,IAAK,CACLV,SAAU,WACVgB,MAAOqL,EAAOC,aACd5M,OAAQ2M,EAAOF,gBAEfjN,SAAUmN,EAAOlK,UACjBxB,OAAQ0L,EAAO1L,UAAY,OAI/B2J,eAAgB,WACV7J,KAAK2L,eACT3L,KAAK2L,aAAanI,gBACXxD,KAAK2L,eAIdG,kBAAmB,SAAU/H,GAC5B,QAAK1F,EAAG0F,EAAMmD,QAASM,QAAS,cAAe/D,UAMtCpF,EAAG0F,EAAMmD,QAASM,QAAS,kBAAmB/D,QAGxDiC,eAAgB,WACf,GAAM1F,KAAKxB,QAAQc,MAAnB,CAIA,IAAIyM,EAAU1N,EAAEiE,GAAGO,OAAOmJ,UAAW,EAAG,GAIpCC,GAAY,EAChBjM,KAAKsG,QAAQ,WACZ2F,GAAY,KAGPjM,KAAK+C,SAAS4H,KAAM,uBAKzB3K,KAAK+C,SAASkG,GAAI,oBAAqB,SAAUlF,GAChD,IAAKkI,EAAL,CAIA,IAAIC,EAAWlM,KAAKqK,qBAAsB,GACpC6B,EAASJ,kBAAmB/H,KACjCA,EAAMsC,iBACN6F,EAAS3G,iBAOQ,SAAZwG,GAAkC,SAAZA,GAC1BG,EAAS5F,OAAQ4F,EAASjG,0BAG3BkG,KAAMnM,OAGTA,KAAK2F,QAAUtH,EAAG,SAChBI,SAAUuB,KAAK4C,aAEjB5C,KAAKmC,UAAWnC,KAAK2F,QAAS,KAAM,8BACpC3F,KAAKyG,IAAKzG,KAAK2F,QAAS,CACvByB,UAAW,eAEZpH,KAAK+C,SAAS4H,KAAM,sBACjB3K,KAAK+C,SAAS4H,KAAM,uBAA0B,GAAM,KAGxDtH,gBAAiB,WAChB,GAAMrD,KAAKxB,QAAQc,OAIdU,KAAK2F,QAAU,CACnB,IAAIyG,EAAWpM,KAAK+C,SAAS4H,KAAM,sBAAyB,EAEtDyB,EAILpM,KAAK+C,SAAS4H,KAAM,qBAAsByB,IAH1CpM,KAAK+C,SAASsJ,IAAK,qBACnBrM,KAAK+C,SAASuJ,WAAY,uBAK3BtM,KAAK2F,QAAQnC,SACbxD,KAAK2F,QAAU,UAOM,IAAnBtH,EAAEkO,cAGNlO,EAAEC,OAAQ,YAAaD,EAAEiG,GAAGkI,OAAQ,CACnChO,QAAS,CACRiO,YAAa,IAEdzK,eAAgB,WACfhC,KAAKsL,SACLtL,KAAKkC,SAASwK,SAAU1M,KAAKxB,QAAQiO,cAEtCtB,WAAY,SAAUF,EAAKC,GACb,gBAARD,GACJjL,KAAKkC,SACHyK,YAAa3M,KAAKxB,QAAQiO,aAC1BC,SAAUxB,GAEblL,KAAK4M,YAAa1D,cAKd7K,EAAEiG,GAAGkI","file":"dialog-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/dialog.js b/web/core/assets/vendor/jquery.ui/ui/widgets/dialog.js
index ab81979a8d..88a6c384ed 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/dialog.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/dialog.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Dialog 1.12.1
+ * jQuery UI Dialog 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -17,6 +17,8 @@
 //>>css.theme: ../../themes/base/theme.css
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -31,6 +33,7 @@
 			"../position",
 			"../safe-active-element",
 			"../safe-blur",
+			"../tabbable",
 			"../unique-id",
 			"../version",
 			"../widget"
@@ -40,10 +43,11 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 $.widget( "ui.dialog", {
-	version: "1.12.1",
+	version: "1.13.1",
 	options: {
 		appendTo: "body",
 		autoOpen: true,
@@ -288,7 +292,7 @@ $.widget( "ui.dialog", {
 			that._trigger( "focus" );
 		} );
 
-		// Track the dialog immediately upon openening in case a focus event
+		// Track the dialog immediately upon opening in case a focus event
 		// somehow occurs outside of the dialog before an element inside the
 		// dialog is focused (#10152)
 		this._makeFocusTarget();
@@ -324,22 +328,23 @@ $.widget( "ui.dialog", {
 		hasFocus.eq( 0 ).trigger( "focus" );
 	},
 
-	_keepFocus: function( event ) {
-		function checkFocus() {
-			var activeElement = $.ui.safeActiveElement( this.document[ 0 ] ),
-				isActive = this.uiDialog[ 0 ] === activeElement ||
-					$.contains( this.uiDialog[ 0 ], activeElement );
-			if ( !isActive ) {
-				this._focusTabbable();
-			}
+	_restoreTabbableFocus: function() {
+		var activeElement = $.ui.safeActiveElement( this.document[ 0 ] ),
+			isActive = this.uiDialog[ 0 ] === activeElement ||
+				$.contains( this.uiDialog[ 0 ], activeElement );
+		if ( !isActive ) {
+			this._focusTabbable();
 		}
+	},
+
+	_keepFocus: function( event ) {
 		event.preventDefault();
-		checkFocus.call( this );
+		this._restoreTabbableFocus();
 
 		// support: IE
 		// IE <= 8 doesn't prevent moving focus even with event.preventDefault()
 		// so we check again later
-		this._delay( checkFocus );
+		this._delay( this._restoreTabbableFocus );
 	},
 
 	_createWrapper: function() {
@@ -368,8 +373,8 @@ $.widget( "ui.dialog", {
 					return;
 				}
 				var tabbables = this.uiDialog.find( ":tabbable" ),
-					first = tabbables.filter( ":first" ),
-					last = tabbables.filter( ":last" );
+					first = tabbables.first(),
+					last = tabbables.last();
 
 				if ( ( event.target === last[ 0 ] || event.target === this.uiDialog[ 0 ] ) &&
 						!event.shiftKey ) {
@@ -480,14 +485,14 @@ $.widget( "ui.dialog", {
 		this.uiDialogButtonPane.remove();
 		this.uiButtonSet.empty();
 
-		if ( $.isEmptyObject( buttons ) || ( $.isArray( buttons ) && !buttons.length ) ) {
+		if ( $.isEmptyObject( buttons ) || ( Array.isArray( buttons ) && !buttons.length ) ) {
 			this._removeClass( this.uiDialog, "ui-dialog-buttons" );
 			return;
 		}
 
 		$.each( buttons, function( name, props ) {
 			var click, buttonOptions;
-			props = $.isFunction( props ) ?
+			props = typeof props === "function" ?
 				{ click: props, text: name } :
 				props;
 
@@ -852,6 +857,8 @@ $.widget( "ui.dialog", {
 			return;
 		}
 
+		var jqMinor = $.fn.jquery.substring( 0, 4 );
+
 		// We use a delay in case the overlay is created from an
 		// event that we're going to be cancelling (#2804)
 		var isOpening = true;
@@ -862,20 +869,28 @@ $.widget( "ui.dialog", {
 		if ( !this.document.data( "ui-dialog-overlays" ) ) {
 
 			// Prevent use of anchors and inputs
-			// Using _on() for an event handler shared across many instances is
-			// safe because the dialogs stack and must be closed in reverse order
-			this._on( this.document, {
-				focusin: function( event ) {
-					if ( isOpening ) {
-						return;
-					}
+			// This doesn't use `_on()` because it is a shared event handler
+			// across all open modal dialogs.
+			this.document.on( "focusin.ui-dialog", function( event ) {
+				if ( isOpening ) {
+					return;
+				}
 
-					if ( !this._allowInteraction( event ) ) {
-						event.preventDefault();
-						this._trackingInstances()[ 0 ]._focusTabbable();
+				var instance = this._trackingInstances()[ 0 ];
+				if ( !instance._allowInteraction( event ) ) {
+					event.preventDefault();
+					instance._focusTabbable();
+
+					// Support: jQuery >=3.4 <3.6 only
+					// Focus re-triggering in jQuery 3.4/3.5 makes the original element
+					// have its focus event propagated last, breaking the re-targeting.
+					// Trigger focus in a delay in addition if needed to avoid the issue
+					// See https://github.com/jquery/jquery/issues/4382
+					if ( jqMinor === "3.4." || jqMinor === "3.5." ) {
+						instance._delay( instance._restoreTabbableFocus );
 					}
 				}
-			} );
+			}.bind( this ) );
 		}
 
 		this.overlay = $( "<div>" )
@@ -898,7 +913,7 @@ $.widget( "ui.dialog", {
 			var overlays = this.document.data( "ui-dialog-overlays" ) - 1;
 
 			if ( !overlays ) {
-				this._off( this.document, "focusin" );
+				this.document.off( "focusin.ui-dialog" );
 				this.document.removeData( "ui-dialog-overlays" );
 			} else {
 				this.document.data( "ui-dialog-overlays", overlays );
@@ -936,4 +951,4 @@ if ( $.uiBackCompat !== false ) {
 
 return $.ui.dialog;
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/draggable-min.js b/web/core/assets/vendor/jquery.ui/ui/widgets/draggable-min.js
index 7b847e8f03..68739a559d 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/draggable-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/draggable-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Draggable 1.12.1
+ * jQuery UI Draggable 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(t){"function"==typeof define&&define.amd?define(["jquery","./mouse","../data","../plugin","../safe-active-element","../safe-blur","../scroll-parent","../version","../widget"],t):t(jQuery)}((function(t){return t.widget("ui.draggable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(e){var s=this.options;return!(this.helper||s.disabled||t(e.target).closest(".ui-resizable-handle").length>0)&&(this.handle=this._getHandle(e),!!this.handle&&(this._blurActiveElement(e),this._blockFrames(!0===s.iframeFix?"iframe":s.iframeFix),!0))},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map((function(){var e=t(this);return t("<div>").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]}))},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var s=t.ui.safeActiveElement(this.document[0]);t(e.target).closest(s).length||t.ui.safeBlur(s)},_mouseStart:function(e){var s=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter((function(){return"fixed"===t(this).css("position")})).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,s.cursorAt&&this._adjustOffsetFromHelper(s.cursorAt),this._setContainment(),!1===this._trigger("start",e)?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!s.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,s){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!s){var i=this._uiHash();if(!1===this._trigger("drag",e,i))return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=i.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var s=this,i=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(i=t.ui.ddmanager.drop(this,e)),this.dropped&&(i=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!i||"valid"===this.options.revert&&i||!0===this.options.revert||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,i)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),(function(){!1!==s._trigger("stop",e)&&s._clear()})):!1!==this._trigger("stop",e)&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return!this.options.handle||!!t(e.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var s=this.options,i=t.isFunction(s.helper),o=i?t(s.helper.apply(this.element[0],[e])):"clone"===s.helper?this.element.clone().removeAttr("id"):this.element;return o.parents("body").length||o.appendTo("parent"===s.appendTo?this.element[0].parentNode:s.appendTo),i&&o[0]===this.element[0]&&this._setPositionRelative(),o[0]===this.element[0]||/(fixed|absolute)/.test(o.css("position"))||o.css("position","absolute"),o},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),s=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==s&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,s,i,o=this.options,n=this.document[0];this.relativeContainer=null,o.containment?"window"!==o.containment?"document"!==o.containment?o.containment.constructor!==Array?("parent"===o.containment&&(o.containment=this.helper[0].parentNode),(i=(s=t(o.containment))[0])&&(e=/(scroll|auto)/.test(s.css("overflow")),this.containment=[(parseInt(s.css("borderLeftWidth"),10)||0)+(parseInt(s.css("paddingLeft"),10)||0),(parseInt(s.css("borderTopWidth"),10)||0)+(parseInt(s.css("paddingTop"),10)||0),(e?Math.max(i.scrollWidth,i.offsetWidth):i.offsetWidth)-(parseInt(s.css("borderRightWidth"),10)||0)-(parseInt(s.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(i.scrollHeight,i.offsetHeight):i.offsetHeight)-(parseInt(s.css("borderBottomWidth"),10)||0)-(parseInt(s.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=s)):this.containment=o.containment:this.containment=[0,0,t(n).width()-this.helperProportions.width-this.margins.left,(t(n).height()||n.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||n.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=null},_convertPositionTo:function(t,e){e||(e=this.position);var s="absolute"===t?1:-1,i=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.offset.scroll.top:i?0:this.offset.scroll.top)*s,left:e.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.offset.scroll.left:i?0:this.offset.scroll.left)*s}},_generatePosition:function(t,e){var s,i,o,n,r=this.options,l=this._isRootNode(this.scrollParent[0]),a=t.pageX,h=t.pageY;return l&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(i=this.relativeContainer.offset(),s=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]):s=this.containment,t.pageX-this.offset.click.left<s[0]&&(a=s[0]+this.offset.click.left),t.pageY-this.offset.click.top<s[1]&&(h=s[1]+this.offset.click.top),t.pageX-this.offset.click.left>s[2]&&(a=s[2]+this.offset.click.left),t.pageY-this.offset.click.top>s[3]&&(h=s[3]+this.offset.click.top)),r.grid&&(o=r.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/r.grid[1])*r.grid[1]:this.originalPageY,h=s?o-this.offset.click.top>=s[1]||o-this.offset.click.top>s[3]?o:o-this.offset.click.top>=s[1]?o-r.grid[1]:o+r.grid[1]:o,n=r.grid[0]?this.originalPageX+Math.round((a-this.originalPageX)/r.grid[0])*r.grid[0]:this.originalPageX,a=s?n-this.offset.click.left>=s[0]||n-this.offset.click.left>s[2]?n:n-this.offset.click.left>=s[0]?n-r.grid[0]:n+r.grid[0]:n),"y"===r.axis&&(a=this.originalPageX),"x"===r.axis&&(h=this.originalPageY)),{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:l?0:this.offset.scroll.top),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:l?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,s,i){return i=i||this._uiHash(),t.ui.plugin.call(this,e,[s,i,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),i.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,s,i)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,s,i){var o=t.extend({},s,{item:i.element});i.sortables=[],t(i.options.connectToSortable).each((function(){var s=t(this).sortable("instance");s&&!s.options.disabled&&(i.sortables.push(s),s.refreshPositions(),s._trigger("activate",e,o))}))},stop:function(e,s,i){var o=t.extend({},s,{item:i.element});i.cancelHelperRemoval=!1,t.each(i.sortables,(function(){var t=this;t.isOver?(t.isOver=0,i.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,o))}))},drag:function(e,s,i){t.each(i.sortables,(function(){var o=!1,n=this;n.positionAbs=i.positionAbs,n.helperProportions=i.helperProportions,n.offset.click=i.offset.click,n._intersectsWith(n.containerCache)&&(o=!0,t.each(i.sortables,(function(){return this.positionAbs=i.positionAbs,this.helperProportions=i.helperProportions,this.offset.click=i.offset.click,this!==n&&this._intersectsWith(this.containerCache)&&t.contains(n.element[0],this.element[0])&&(o=!1),o}))),o?(n.isOver||(n.isOver=1,i._parent=s.helper.parent(),n.currentItem=s.helper.appendTo(n.element).data("ui-sortable-item",!0),n.options._helper=n.options.helper,n.options.helper=function(){return s.helper[0]},e.target=n.currentItem[0],n._mouseCapture(e,!0),n._mouseStart(e,!0,!0),n.offset.click.top=i.offset.click.top,n.offset.click.left=i.offset.click.left,n.offset.parent.left-=i.offset.parent.left-n.offset.parent.left,n.offset.parent.top-=i.offset.parent.top-n.offset.parent.top,i._trigger("toSortable",e),i.dropped=n.element,t.each(i.sortables,(function(){this.refreshPositions()})),i.currentItem=i.element,n.fromOutside=i),n.currentItem&&(n._mouseDrag(e),s.position=n.position)):n.isOver&&(n.isOver=0,n.cancelHelperRemoval=!0,n.options._revert=n.options.revert,n.options.revert=!1,n._trigger("out",e,n._uiHash(n)),n._mouseStop(e,!0),n.options.revert=n.options._revert,n.options.helper=n.options._helper,n.placeholder&&n.placeholder.remove(),s.helper.appendTo(i._parent),i._refreshOffsets(e),s.position=i._generatePosition(e,!0),i._trigger("fromSortable",e),i.dropped=!1,t.each(i.sortables,(function(){this.refreshPositions()})))}))}}),t.ui.plugin.add("draggable","cursor",{start:function(e,s,i){var o=t("body"),n=i.options;o.css("cursor")&&(n._cursor=o.css("cursor")),o.css("cursor",n.cursor)},stop:function(e,s,i){var o=i.options;o._cursor&&t("body").css("cursor",o._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,s,i){var o=t(s.helper),n=i.options;o.css("opacity")&&(n._opacity=o.css("opacity")),o.css("opacity",n.opacity)},stop:function(e,s,i){var o=i.options;o._opacity&&t(s.helper).css("opacity",o._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,s){s.scrollParentNotHidden||(s.scrollParentNotHidden=s.helper.scrollParent(!1)),s.scrollParentNotHidden[0]!==s.document[0]&&"HTML"!==s.scrollParentNotHidden[0].tagName&&(s.overflowOffset=s.scrollParentNotHidden.offset())},drag:function(e,s,i){var o=i.options,n=!1,r=i.scrollParentNotHidden[0],l=i.document[0];r!==l&&"HTML"!==r.tagName?(o.axis&&"x"===o.axis||(i.overflowOffset.top+r.offsetHeight-e.pageY<o.scrollSensitivity?r.scrollTop=n=r.scrollTop+o.scrollSpeed:e.pageY-i.overflowOffset.top<o.scrollSensitivity&&(r.scrollTop=n=r.scrollTop-o.scrollSpeed)),o.axis&&"y"===o.axis||(i.overflowOffset.left+r.offsetWidth-e.pageX<o.scrollSensitivity?r.scrollLeft=n=r.scrollLeft+o.scrollSpeed:e.pageX-i.overflowOffset.left<o.scrollSensitivity&&(r.scrollLeft=n=r.scrollLeft-o.scrollSpeed))):(o.axis&&"x"===o.axis||(e.pageY-t(l).scrollTop()<o.scrollSensitivity?n=t(l).scrollTop(t(l).scrollTop()-o.scrollSpeed):t(window).height()-(e.pageY-t(l).scrollTop())<o.scrollSensitivity&&(n=t(l).scrollTop(t(l).scrollTop()+o.scrollSpeed))),o.axis&&"y"===o.axis||(e.pageX-t(l).scrollLeft()<o.scrollSensitivity?n=t(l).scrollLeft(t(l).scrollLeft()-o.scrollSpeed):t(window).width()-(e.pageX-t(l).scrollLeft())<o.scrollSensitivity&&(n=t(l).scrollLeft(t(l).scrollLeft()+o.scrollSpeed)))),!1!==n&&t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(i,e)}}),t.ui.plugin.add("draggable","snap",{start:function(e,s,i){var o=i.options;i.snapElements=[],t(o.snap.constructor!==String?o.snap.items||":data(ui-draggable)":o.snap).each((function(){var e=t(this),s=e.offset();this!==i.element[0]&&i.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:s.top,left:s.left})}))},drag:function(e,s,i){var o,n,r,l,a,h,p,c,f,d,g=i.options,u=g.snapTolerance,m=s.offset.left,v=m+i.helperProportions.width,_=s.offset.top,P=_+i.helperProportions.height;for(f=i.snapElements.length-1;f>=0;f--)h=(a=i.snapElements[f].left-i.margins.left)+i.snapElements[f].width,c=(p=i.snapElements[f].top-i.margins.top)+i.snapElements[f].height,v<a-u||m>h+u||P<p-u||_>c+u||!t.contains(i.snapElements[f].item.ownerDocument,i.snapElements[f].item)?(i.snapElements[f].snapping&&i.options.snap.release&&i.options.snap.release.call(i.element,e,t.extend(i._uiHash(),{snapItem:i.snapElements[f].item})),i.snapElements[f].snapping=!1):("inner"!==g.snapMode&&(o=Math.abs(p-P)<=u,n=Math.abs(c-_)<=u,r=Math.abs(a-v)<=u,l=Math.abs(h-m)<=u,o&&(s.position.top=i._convertPositionTo("relative",{top:p-i.helperProportions.height,left:0}).top),n&&(s.position.top=i._convertPositionTo("relative",{top:c,left:0}).top),r&&(s.position.left=i._convertPositionTo("relative",{top:0,left:a-i.helperProportions.width}).left),l&&(s.position.left=i._convertPositionTo("relative",{top:0,left:h}).left)),d=o||n||r||l,"outer"!==g.snapMode&&(o=Math.abs(p-_)<=u,n=Math.abs(c-P)<=u,r=Math.abs(a-m)<=u,l=Math.abs(h-v)<=u,o&&(s.position.top=i._convertPositionTo("relative",{top:p,left:0}).top),n&&(s.position.top=i._convertPositionTo("relative",{top:c-i.helperProportions.height,left:0}).top),r&&(s.position.left=i._convertPositionTo("relative",{top:0,left:a}).left),l&&(s.position.left=i._convertPositionTo("relative",{top:0,left:h-i.helperProportions.width}).left)),!i.snapElements[f].snapping&&(o||n||r||l||d)&&i.options.snap.snap&&i.options.snap.snap.call(i.element,e,t.extend(i._uiHash(),{snapItem:i.snapElements[f].item})),i.snapElements[f].snapping=o||n||r||l||d)}}),t.ui.plugin.add("draggable","stack",{start:function(e,s,i){var o,n=i.options,r=t.makeArray(t(n.stack)).sort((function(e,s){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(s).css("zIndex"),10)||0)}));r.length&&(o=parseInt(t(r[0]).css("zIndex"),10)||0,t(r).each((function(e){t(this).css("zIndex",o+e)})),this.css("zIndex",o+r.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,s,i){var o=t(s.helper),n=i.options;o.css("zIndex")&&(n._zIndex=o.css("zIndex")),o.css("zIndex",n.zIndex)},stop:function(e,s,i){var o=i.options;o._zIndex&&t(s.helper).css("zIndex",o._zIndex)}}),t.ui.draggable}));
\ No newline at end of file
+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../data","../plugin","../safe-active-element","../safe-blur","../scroll-parent","../version","../widget"],t):t(jQuery)}((function(t){"use strict";return t.widget("ui.draggable",t.ui.mouse,{version:"1.13.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(e){var s=this.options;return!(this.helper||s.disabled||t(e.target).closest(".ui-resizable-handle").length>0)&&(this.handle=this._getHandle(e),!!this.handle&&(this._blurActiveElement(e),this._blockFrames(!0===s.iframeFix?"iframe":s.iframeFix),!0))},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map((function(){var e=t(this);return t("<div>").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]}))},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var s=t.ui.safeActiveElement(this.document[0]);t(e.target).closest(s).length||t.ui.safeBlur(s)},_mouseStart:function(e){var s=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter((function(){return"fixed"===t(this).css("position")})).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,s.cursorAt&&this._adjustOffsetFromHelper(s.cursorAt),this._setContainment(),!1===this._trigger("start",e)?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!s.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,s){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!s){var i=this._uiHash();if(!1===this._trigger("drag",e,i))return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=i.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var s=this,i=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(i=t.ui.ddmanager.drop(this,e)),this.dropped&&(i=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!i||"valid"===this.options.revert&&i||!0===this.options.revert||"function"==typeof this.options.revert&&this.options.revert.call(this.element,i)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),(function(){!1!==s._trigger("stop",e)&&s._clear()})):!1!==this._trigger("stop",e)&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return!this.options.handle||!!t(e.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var s=this.options,i="function"==typeof s.helper,o=i?t(s.helper.apply(this.element[0],[e])):"clone"===s.helper?this.element.clone().removeAttr("id"):this.element;return o.parents("body").length||o.appendTo("parent"===s.appendTo?this.element[0].parentNode:s.appendTo),i&&o[0]===this.element[0]&&this._setPositionRelative(),o[0]===this.element[0]||/(fixed|absolute)/.test(o.css("position"))||o.css("position","absolute"),o},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),Array.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),s=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==s&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,s,i,o=this.options,n=this.document[0];this.relativeContainer=null,o.containment?"window"!==o.containment?"document"!==o.containment?o.containment.constructor!==Array?("parent"===o.containment&&(o.containment=this.helper[0].parentNode),(i=(s=t(o.containment))[0])&&(e=/(scroll|auto)/.test(s.css("overflow")),this.containment=[(parseInt(s.css("borderLeftWidth"),10)||0)+(parseInt(s.css("paddingLeft"),10)||0),(parseInt(s.css("borderTopWidth"),10)||0)+(parseInt(s.css("paddingTop"),10)||0),(e?Math.max(i.scrollWidth,i.offsetWidth):i.offsetWidth)-(parseInt(s.css("borderRightWidth"),10)||0)-(parseInt(s.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(i.scrollHeight,i.offsetHeight):i.offsetHeight)-(parseInt(s.css("borderBottomWidth"),10)||0)-(parseInt(s.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=s)):this.containment=o.containment:this.containment=[0,0,t(n).width()-this.helperProportions.width-this.margins.left,(t(n).height()||n.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||n.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=null},_convertPositionTo:function(t,e){e||(e=this.position);var s="absolute"===t?1:-1,i=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.offset.scroll.top:i?0:this.offset.scroll.top)*s,left:e.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.offset.scroll.left:i?0:this.offset.scroll.left)*s}},_generatePosition:function(t,e){var s,i,o,n,r=this.options,l=this._isRootNode(this.scrollParent[0]),a=t.pageX,h=t.pageY;return l&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(i=this.relativeContainer.offset(),s=[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]):s=this.containment,t.pageX-this.offset.click.left<s[0]&&(a=s[0]+this.offset.click.left),t.pageY-this.offset.click.top<s[1]&&(h=s[1]+this.offset.click.top),t.pageX-this.offset.click.left>s[2]&&(a=s[2]+this.offset.click.left),t.pageY-this.offset.click.top>s[3]&&(h=s[3]+this.offset.click.top)),r.grid&&(o=r.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/r.grid[1])*r.grid[1]:this.originalPageY,h=s?o-this.offset.click.top>=s[1]||o-this.offset.click.top>s[3]?o:o-this.offset.click.top>=s[1]?o-r.grid[1]:o+r.grid[1]:o,n=r.grid[0]?this.originalPageX+Math.round((a-this.originalPageX)/r.grid[0])*r.grid[0]:this.originalPageX,a=s?n-this.offset.click.left>=s[0]||n-this.offset.click.left>s[2]?n:n-this.offset.click.left>=s[0]?n-r.grid[0]:n+r.grid[0]:n),"y"===r.axis&&(a=this.originalPageX),"x"===r.axis&&(h=this.originalPageY)),{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:l?0:this.offset.scroll.top),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:l?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,s,i){return i=i||this._uiHash(),t.ui.plugin.call(this,e,[s,i,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),i.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,s,i)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,s,i){var o=t.extend({},s,{item:i.element});i.sortables=[],t(i.options.connectToSortable).each((function(){var s=t(this).sortable("instance");s&&!s.options.disabled&&(i.sortables.push(s),s.refreshPositions(),s._trigger("activate",e,o))}))},stop:function(e,s,i){var o=t.extend({},s,{item:i.element});i.cancelHelperRemoval=!1,t.each(i.sortables,(function(){var t=this;t.isOver?(t.isOver=0,i.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,o))}))},drag:function(e,s,i){t.each(i.sortables,(function(){var o=!1,n=this;n.positionAbs=i.positionAbs,n.helperProportions=i.helperProportions,n.offset.click=i.offset.click,n._intersectsWith(n.containerCache)&&(o=!0,t.each(i.sortables,(function(){return this.positionAbs=i.positionAbs,this.helperProportions=i.helperProportions,this.offset.click=i.offset.click,this!==n&&this._intersectsWith(this.containerCache)&&t.contains(n.element[0],this.element[0])&&(o=!1),o}))),o?(n.isOver||(n.isOver=1,i._parent=s.helper.parent(),n.currentItem=s.helper.appendTo(n.element).data("ui-sortable-item",!0),n.options._helper=n.options.helper,n.options.helper=function(){return s.helper[0]},e.target=n.currentItem[0],n._mouseCapture(e,!0),n._mouseStart(e,!0,!0),n.offset.click.top=i.offset.click.top,n.offset.click.left=i.offset.click.left,n.offset.parent.left-=i.offset.parent.left-n.offset.parent.left,n.offset.parent.top-=i.offset.parent.top-n.offset.parent.top,i._trigger("toSortable",e),i.dropped=n.element,t.each(i.sortables,(function(){this.refreshPositions()})),i.currentItem=i.element,n.fromOutside=i),n.currentItem&&(n._mouseDrag(e),s.position=n.position)):n.isOver&&(n.isOver=0,n.cancelHelperRemoval=!0,n.options._revert=n.options.revert,n.options.revert=!1,n._trigger("out",e,n._uiHash(n)),n._mouseStop(e,!0),n.options.revert=n.options._revert,n.options.helper=n.options._helper,n.placeholder&&n.placeholder.remove(),s.helper.appendTo(i._parent),i._refreshOffsets(e),s.position=i._generatePosition(e,!0),i._trigger("fromSortable",e),i.dropped=!1,t.each(i.sortables,(function(){this.refreshPositions()})))}))}}),t.ui.plugin.add("draggable","cursor",{start:function(e,s,i){var o=t("body"),n=i.options;o.css("cursor")&&(n._cursor=o.css("cursor")),o.css("cursor",n.cursor)},stop:function(e,s,i){var o=i.options;o._cursor&&t("body").css("cursor",o._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,s,i){var o=t(s.helper),n=i.options;o.css("opacity")&&(n._opacity=o.css("opacity")),o.css("opacity",n.opacity)},stop:function(e,s,i){var o=i.options;o._opacity&&t(s.helper).css("opacity",o._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,s){s.scrollParentNotHidden||(s.scrollParentNotHidden=s.helper.scrollParent(!1)),s.scrollParentNotHidden[0]!==s.document[0]&&"HTML"!==s.scrollParentNotHidden[0].tagName&&(s.overflowOffset=s.scrollParentNotHidden.offset())},drag:function(e,s,i){var o=i.options,n=!1,r=i.scrollParentNotHidden[0],l=i.document[0];r!==l&&"HTML"!==r.tagName?(o.axis&&"x"===o.axis||(i.overflowOffset.top+r.offsetHeight-e.pageY<o.scrollSensitivity?r.scrollTop=n=r.scrollTop+o.scrollSpeed:e.pageY-i.overflowOffset.top<o.scrollSensitivity&&(r.scrollTop=n=r.scrollTop-o.scrollSpeed)),o.axis&&"y"===o.axis||(i.overflowOffset.left+r.offsetWidth-e.pageX<o.scrollSensitivity?r.scrollLeft=n=r.scrollLeft+o.scrollSpeed:e.pageX-i.overflowOffset.left<o.scrollSensitivity&&(r.scrollLeft=n=r.scrollLeft-o.scrollSpeed))):(o.axis&&"x"===o.axis||(e.pageY-t(l).scrollTop()<o.scrollSensitivity?n=t(l).scrollTop(t(l).scrollTop()-o.scrollSpeed):t(window).height()-(e.pageY-t(l).scrollTop())<o.scrollSensitivity&&(n=t(l).scrollTop(t(l).scrollTop()+o.scrollSpeed))),o.axis&&"y"===o.axis||(e.pageX-t(l).scrollLeft()<o.scrollSensitivity?n=t(l).scrollLeft(t(l).scrollLeft()-o.scrollSpeed):t(window).width()-(e.pageX-t(l).scrollLeft())<o.scrollSensitivity&&(n=t(l).scrollLeft(t(l).scrollLeft()+o.scrollSpeed)))),!1!==n&&t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(i,e)}}),t.ui.plugin.add("draggable","snap",{start:function(e,s,i){var o=i.options;i.snapElements=[],t(o.snap.constructor!==String?o.snap.items||":data(ui-draggable)":o.snap).each((function(){var e=t(this),s=e.offset();this!==i.element[0]&&i.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:s.top,left:s.left})}))},drag:function(e,s,i){var o,n,r,l,a,h,p,c,f,d,g=i.options,u=g.snapTolerance,m=s.offset.left,v=m+i.helperProportions.width,_=s.offset.top,P=_+i.helperProportions.height;for(f=i.snapElements.length-1;f>=0;f--)h=(a=i.snapElements[f].left-i.margins.left)+i.snapElements[f].width,c=(p=i.snapElements[f].top-i.margins.top)+i.snapElements[f].height,v<a-u||m>h+u||P<p-u||_>c+u||!t.contains(i.snapElements[f].item.ownerDocument,i.snapElements[f].item)?(i.snapElements[f].snapping&&i.options.snap.release&&i.options.snap.release.call(i.element,e,t.extend(i._uiHash(),{snapItem:i.snapElements[f].item})),i.snapElements[f].snapping=!1):("inner"!==g.snapMode&&(o=Math.abs(p-P)<=u,n=Math.abs(c-_)<=u,r=Math.abs(a-v)<=u,l=Math.abs(h-m)<=u,o&&(s.position.top=i._convertPositionTo("relative",{top:p-i.helperProportions.height,left:0}).top),n&&(s.position.top=i._convertPositionTo("relative",{top:c,left:0}).top),r&&(s.position.left=i._convertPositionTo("relative",{top:0,left:a-i.helperProportions.width}).left),l&&(s.position.left=i._convertPositionTo("relative",{top:0,left:h}).left)),d=o||n||r||l,"outer"!==g.snapMode&&(o=Math.abs(p-_)<=u,n=Math.abs(c-P)<=u,r=Math.abs(a-m)<=u,l=Math.abs(h-v)<=u,o&&(s.position.top=i._convertPositionTo("relative",{top:p,left:0}).top),n&&(s.position.top=i._convertPositionTo("relative",{top:c-i.helperProportions.height,left:0}).top),r&&(s.position.left=i._convertPositionTo("relative",{top:0,left:a}).left),l&&(s.position.left=i._convertPositionTo("relative",{top:0,left:h-i.helperProportions.width}).left)),!i.snapElements[f].snapping&&(o||n||r||l||d)&&i.options.snap.snap&&i.options.snap.snap.call(i.element,e,t.extend(i._uiHash(),{snapItem:i.snapElements[f].item})),i.snapElements[f].snapping=o||n||r||l||d)}}),t.ui.plugin.add("draggable","stack",{start:function(e,s,i){var o,n=i.options,r=t.makeArray(t(n.stack)).sort((function(e,s){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(s).css("zIndex"),10)||0)}));r.length&&(o=parseInt(t(r[0]).css("zIndex"),10)||0,t(r).each((function(e){t(this).css("zIndex",o+e)})),this.css("zIndex",o+r.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,s,i){var o=t(s.helper),n=i.options;o.css("zIndex")&&(n._zIndex=o.css("zIndex")),o.css("zIndex",n.zIndex)},stop:function(e,s,i){var o=i.options;o._zIndex&&t(s.helper).css("zIndex",o._zIndex)}}),t.ui.draggable}));
+//# sourceMappingURL=draggable-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/draggable-min.js.map b/web/core/assets/vendor/jquery.ui/ui/widgets/draggable-min.js.map
new file mode 100644
index 0000000000..d002b702b7
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/draggable-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["draggable.js"],"names":["factory","define","amd","jQuery","$","widget","ui","mouse","version","widgetEventPrefix","options","addClasses","appendTo","axis","connectToSortable","containment","cursor","cursorAt","grid","handle","helper","iframeFix","opacity","refreshPositions","revert","revertDuration","scope","scroll","scrollSensitivity","scrollSpeed","snap","snapMode","snapTolerance","stack","zIndex","drag","start","stop","_create","this","_setPositionRelative","_addClass","_setHandleClassName","_mouseInit","_setOption","key","value","_super","_removeHandleClassName","_destroy","element","is","destroyOnClear","_mouseDestroy","_mouseCapture","event","o","disabled","target","closest","length","_getHandle","_blurActiveElement","_blockFrames","selector","iframeBlocks","document","find","map","iframe","css","parent","outerWidth","outerHeight","offset","_unblockFrames","remove","activeElement","safeActiveElement","safeBlur","_mouseStart","_createHelper","_cacheHelperProportions","ddmanager","current","_cacheMargins","cssPosition","scrollParent","offsetParent","hasFixedAncestor","parents","filter","positionAbs","_refreshOffsets","originalPosition","position","_generatePosition","originalPageX","pageX","originalPageY","pageY","_adjustOffsetFromHelper","_setContainment","_trigger","_clear","dropBehaviour","prepareOffsets","_mouseDrag","dragStart","top","margins","left","_getParentOffset","relative","_getRelativeOffset","click","noPropagation","_convertPositionTo","_uiHash","_mouseUp","Event","style","_mouseStop","that","dropped","drop","call","animate","parseInt","dragStop","handleElement","trigger","prototype","cancel","_removeClass","helperIsFunction","apply","clone","removeAttr","parentNode","test","obj","split","Array","isArray","helperProportions","width","right","height","bottom","_isRootNode","tagName","po","contains","scrollLeft","scrollTop","p","scrollIsRootNode","isUserScrollable","c","ce","relativeContainer","constructor","Math","max","scrollWidth","offsetWidth","scrollHeight","offsetHeight","body","window","d","pos","mod","constrainPosition","co","round","cancelHelperRemoval","destroy","type","plugin","Widget","plugins","add","draggable","uiSortable","extend","item","sortables","each","sortable","push","isOver","_storedCSS","placeholder","_helper","innermostIntersecting","_intersectsWith","containerCache","_parent","currentItem","data","fromOutside","_revert","instance","t","_cursor","_opacity","i","scrollParentNotHidden","overflowOffset","scrolled","snapElements","String","items","$t","$o","inst","ts","bs","ls","rs","l","r","b","first","x1","x2","y1","y2","ownerDocument","snapping","release","snapItem","abs","min","group","makeArray","sort","a","_zIndex"],"mappings":";;;;;;;;CAgBA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CACP,SACA,UACA,UACA,YACA,yBACA,eACA,mBACA,aACA,aACED,GAIHA,EAASG,QApBX,EAsBK,SAAUC,GACf,aAisCA,OA/rCAA,EAAEC,OAAQ,eAAgBD,EAAEE,GAAGC,MAAO,CACrCC,QAAS,SACTC,kBAAmB,OACnBC,QAAS,CACRC,YAAY,EACZC,SAAU,SACVC,MAAM,EACNC,mBAAmB,EACnBC,aAAa,EACbC,OAAQ,OACRC,UAAU,EACVC,MAAM,EACNC,QAAQ,EACRC,OAAQ,WACRC,WAAW,EACXC,SAAS,EACTC,kBAAkB,EAClBC,QAAQ,EACRC,eAAgB,IAChBC,MAAO,UACPC,QAAQ,EACRC,kBAAmB,GACnBC,YAAa,GACbC,MAAM,EACNC,SAAU,OACVC,cAAe,GACfC,OAAO,EACPC,QAAQ,EAGRC,KAAM,KACNC,MAAO,KACPC,KAAM,MAEPC,QAAS,WAEqB,aAAxBC,KAAK7B,QAAQU,QACjBmB,KAAKC,uBAEDD,KAAK7B,QAAQC,YACjB4B,KAAKE,UAAW,gBAEjBF,KAAKG,sBAELH,KAAKI,cAGNC,WAAY,SAAUC,EAAKC,GAC1BP,KAAKQ,OAAQF,EAAKC,GACL,WAARD,IACJN,KAAKS,yBACLT,KAAKG,wBAIPO,SAAU,YACFV,KAAKnB,QAAUmB,KAAKW,SAAUC,GAAI,0BACxCZ,KAAKa,gBAAiB,GAGvBb,KAAKS,yBACLT,KAAKc,kBAGNC,cAAe,SAAUC,GACxB,IAAIC,EAAIjB,KAAK7B,QAGb,QAAK6B,KAAKnB,QAAUoC,EAAEC,UACpBrD,EAAGmD,EAAMG,QAASC,QAAS,wBAAyBC,OAAS,KAK/DrB,KAAKpB,OAASoB,KAAKsB,WAAYN,KACzBhB,KAAKpB,SAIXoB,KAAKuB,mBAAoBP,GAEzBhB,KAAKwB,cAA8B,IAAhBP,EAAEnC,UAAqB,SAAWmC,EAAEnC,YAEhD,KAIR0C,aAAc,SAAUC,GACvBzB,KAAK0B,aAAe1B,KAAK2B,SAASC,KAAMH,GAAWI,KAAK,WACvD,IAAIC,EAASjE,EAAGmC,MAEhB,OAAOnC,EAAG,SACRkE,IAAK,WAAY,YACjB1D,SAAUyD,EAAOE,UACjBC,WAAYH,EAAOG,cACnBC,YAAaJ,EAAOI,eACpBC,OAAQL,EAAOK,UAAY,OAI/BC,eAAgB,WACVpC,KAAK0B,eACT1B,KAAK0B,aAAaW,gBACXrC,KAAK0B,eAIdH,mBAAoB,SAAUP,GAC7B,IAAIsB,EAAgBzE,EAAEE,GAAGwE,kBAAmBvC,KAAK2B,SAAU,IACjD9D,EAAGmD,EAAMG,QAKPC,QAASkB,GAAgBjB,QAKrCxD,EAAEE,GAAGyE,SAAUF,IAGhBG,YAAa,SAAUzB,GAEtB,IAAIC,EAAIjB,KAAK7B,QAiDb,OA9CA6B,KAAKnB,OAASmB,KAAK0C,cAAe1B,GAElChB,KAAKE,UAAWF,KAAKnB,OAAQ,yBAG7BmB,KAAK2C,0BAGA9E,EAAEE,GAAG6E,YACT/E,EAAEE,GAAG6E,UAAUC,QAAU7C,MAS1BA,KAAK8C,gBAGL9C,KAAK+C,YAAc/C,KAAKnB,OAAOkD,IAAK,YACpC/B,KAAKgD,aAAehD,KAAKnB,OAAOmE,cAAc,GAC9ChD,KAAKiD,aAAejD,KAAKnB,OAAOoE,eAChCjD,KAAKkD,iBAAmBlD,KAAKnB,OAAOsE,UAAUC,QAAQ,WACpD,MAAuC,UAAhCvF,EAAGmC,MAAO+B,IAAK,eACnBV,OAAS,EAGdrB,KAAKqD,YAAcrD,KAAKW,QAAQwB,SAChCnC,KAAKsD,gBAAiBtC,GAGtBhB,KAAKuD,iBAAmBvD,KAAKwD,SAAWxD,KAAKyD,kBAAmBzC,GAAO,GACvEhB,KAAK0D,cAAgB1C,EAAM2C,MAC3B3D,KAAK4D,cAAgB5C,EAAM6C,MAGtB5C,EAAEvC,UACNsB,KAAK8D,wBAAyB7C,EAAEvC,UAIjCsB,KAAK+D,mBAGoC,IAApC/D,KAAKgE,SAAU,QAAShD,IAC5BhB,KAAKiE,UACE,IAIRjE,KAAK2C,0BAGA9E,EAAEE,GAAG6E,YAAc3B,EAAEiD,eACzBrG,EAAEE,GAAG6E,UAAUuB,eAAgBnE,KAAMgB,GAKtChB,KAAKoE,WAAYpD,GAAO,GAInBnD,EAAEE,GAAG6E,WACT/E,EAAEE,GAAG6E,UAAUyB,UAAWrE,KAAMgB,IAG1B,IAGRsC,gBAAiB,SAAUtC,GAC1BhB,KAAKmC,OAAS,CACbmC,IAAKtE,KAAKqD,YAAYiB,IAAMtE,KAAKuE,QAAQD,IACzCE,KAAMxE,KAAKqD,YAAYmB,KAAOxE,KAAKuE,QAAQC,KAC3CpF,QAAQ,EACR4C,OAAQhC,KAAKyE,mBACbC,SAAU1E,KAAK2E,sBAGhB3E,KAAKmC,OAAOyC,MAAQ,CACnBJ,KAAMxD,EAAM2C,MAAQ3D,KAAKmC,OAAOqC,KAChCF,IAAKtD,EAAM6C,MAAQ7D,KAAKmC,OAAOmC,MAIjCF,WAAY,SAAUpD,EAAO6D,GAY5B,GATK7E,KAAKkD,mBACTlD,KAAKmC,OAAOH,OAAShC,KAAKyE,oBAI3BzE,KAAKwD,SAAWxD,KAAKyD,kBAAmBzC,GAAO,GAC/ChB,KAAKqD,YAAcrD,KAAK8E,mBAAoB,aAGtCD,EAAgB,CACrB,IAAI9G,EAAKiC,KAAK+E,UACd,IAA4C,IAAvC/E,KAAKgE,SAAU,OAAQhD,EAAOjD,GAElC,OADAiC,KAAKgF,SAAU,IAAInH,EAAEoH,MAAO,UAAWjE,KAChC,EAERhB,KAAKwD,SAAWzF,EAAGyF,SAUpB,OAPAxD,KAAKnB,OAAQ,GAAIqG,MAAMV,KAAOxE,KAAKwD,SAASgB,KAAO,KACnDxE,KAAKnB,OAAQ,GAAIqG,MAAMZ,IAAMtE,KAAKwD,SAASc,IAAM,KAE5CzG,EAAEE,GAAG6E,WACT/E,EAAEE,GAAG6E,UAAUhD,KAAMI,KAAMgB,IAGrB,GAGRmE,WAAY,SAAUnE,GAGrB,IAAIoE,EAAOpF,KACVqF,GAAU,EA+BX,OA9BKxH,EAAEE,GAAG6E,YAAc5C,KAAK7B,QAAQ+F,gBACpCmB,EAAUxH,EAAEE,GAAG6E,UAAU0C,KAAMtF,KAAMgB,IAIjChB,KAAKqF,UACTA,EAAUrF,KAAKqF,QACfrF,KAAKqF,SAAU,GAGe,YAAxBrF,KAAK7B,QAAQc,SAAyBoG,GACjB,UAAxBrF,KAAK7B,QAAQc,QAAsBoG,IACb,IAAxBrF,KAAK7B,QAAQc,QAAoD,mBAAxBe,KAAK7B,QAAQc,QACtDe,KAAK7B,QAAQc,OAAOsG,KAAMvF,KAAKW,QAAS0E,GAEzCxH,EAAGmC,KAAKnB,QAAS2G,QAChBxF,KAAKuD,iBACLkC,SAAUzF,KAAK7B,QAAQe,eAAgB,KACvC,YACyC,IAAnCkG,EAAKpB,SAAU,OAAQhD,IAC3BoE,EAAKnB,aAKgC,IAAnCjE,KAAKgE,SAAU,OAAQhD,IAC3BhB,KAAKiE,UAIA,GAGRe,SAAU,SAAUhE,GAiBnB,OAhBAhB,KAAKoC,iBAIAvE,EAAEE,GAAG6E,WACT/E,EAAEE,GAAG6E,UAAU8C,SAAU1F,KAAMgB,GAI3BhB,KAAK2F,cAAc/E,GAAII,EAAMG,SAIjCnB,KAAKW,QAAQiF,QAAS,SAGhB/H,EAAEE,GAAGC,MAAM6H,UAAUb,SAASO,KAAMvF,KAAMgB,IAGlD8E,OAAQ,WAQP,OANK9F,KAAKnB,OAAO+B,GAAI,0BACpBZ,KAAKgF,SAAU,IAAInH,EAAEoH,MAAO,UAAW,CAAE9D,OAAQnB,KAAKW,QAAS,MAE/DX,KAAKiE,SAGCjE,MAIRsB,WAAY,SAAUN,GACrB,OAAOhB,KAAK7B,QAAQS,UACjBf,EAAGmD,EAAMG,QAASC,QAASpB,KAAKW,QAAQiB,KAAM5B,KAAK7B,QAAQS,SAAWyC,QAI1ElB,oBAAqB,WACpBH,KAAK2F,cAAgB3F,KAAK7B,QAAQS,OACjCoB,KAAKW,QAAQiB,KAAM5B,KAAK7B,QAAQS,QAAWoB,KAAKW,QACjDX,KAAKE,UAAWF,KAAK2F,cAAe,wBAGrClF,uBAAwB,WACvBT,KAAK+F,aAAc/F,KAAK2F,cAAe,wBAGxCjD,cAAe,SAAU1B,GAExB,IAAIC,EAAIjB,KAAK7B,QACZ6H,EAAuC,mBAAb/E,EAAEpC,OAC5BA,EAASmH,EACRnI,EAAGoD,EAAEpC,OAAOoH,MAAOjG,KAAKW,QAAS,GAAK,CAAEK,KACzB,UAAbC,EAAEpC,OACHmB,KAAKW,QAAQuF,QAAQC,WAAY,MACjCnG,KAAKW,QAoBR,OAlBM9B,EAAOsE,QAAS,QAAS9B,QAC9BxC,EAAOR,SAA2B,WAAf4C,EAAE5C,SACpB2B,KAAKW,QAAS,GAAIyF,WAClBnF,EAAE5C,UAMC2H,GAAoBnH,EAAQ,KAAQmB,KAAKW,QAAS,IACtDX,KAAKC,uBAGDpB,EAAQ,KAAQmB,KAAKW,QAAS,IAChC,mBAAuB0F,KAAMxH,EAAOkD,IAAK,cAC3ClD,EAAOkD,IAAK,WAAY,YAGlBlD,GAIRoB,qBAAsB,WACf,aAAiBoG,KAAMrG,KAAKW,QAAQoB,IAAK,eAC9C/B,KAAKW,QAAS,GAAIuE,MAAM1B,SAAW,aAIrCM,wBAAyB,SAAUwC,GACd,iBAARA,IACXA,EAAMA,EAAIC,MAAO,MAEbC,MAAMC,QAASH,KACnBA,EAAM,CAAE9B,MAAO8B,EAAK,GAAKhC,KAAMgC,EAAK,IAAO,IAEvC,SAAUA,IACdtG,KAAKmC,OAAOyC,MAAMJ,KAAO8B,EAAI9B,KAAOxE,KAAKuE,QAAQC,MAE7C,UAAW8B,IACftG,KAAKmC,OAAOyC,MAAMJ,KAAOxE,KAAK0G,kBAAkBC,MAAQL,EAAIM,MAAQ5G,KAAKuE,QAAQC,MAE7E,QAAS8B,IACbtG,KAAKmC,OAAOyC,MAAMN,IAAMgC,EAAIhC,IAAMtE,KAAKuE,QAAQD,KAE3C,WAAYgC,IAChBtG,KAAKmC,OAAOyC,MAAMN,IAAMtE,KAAK0G,kBAAkBG,OAASP,EAAIQ,OAAS9G,KAAKuE,QAAQD,MAIpFyC,YAAa,SAAUpG,GACtB,MAAO,eAAmB0F,KAAM1F,EAAQqG,UAAarG,IAAYX,KAAK2B,SAAU,IAGjF8C,iBAAkB,WAGjB,IAAIwC,EAAKjH,KAAKiD,aAAad,SAC1BR,EAAW3B,KAAK2B,SAAU,GAmB3B,MAV0B,aAArB3B,KAAK+C,aAA8B/C,KAAKgD,aAAc,KAAQrB,GACjE9D,EAAEqJ,SAAUlH,KAAKgD,aAAc,GAAKhD,KAAKiD,aAAc,MACxDgE,EAAGzC,MAAQxE,KAAKgD,aAAamE,aAC7BF,EAAG3C,KAAOtE,KAAKgD,aAAaoE,aAGxBpH,KAAK+G,YAAa/G,KAAKiD,aAAc,MACzCgE,EAAK,CAAE3C,IAAK,EAAGE,KAAM,IAGf,CACNF,IAAK2C,EAAG3C,KAAQmB,SAAUzF,KAAKiD,aAAalB,IAAK,kBAAoB,KAAQ,GAC7EyC,KAAMyC,EAAGzC,MAASiB,SAAUzF,KAAKiD,aAAalB,IAAK,mBAAqB,KAAQ,KAKlF4C,mBAAoB,WACnB,GAA0B,aAArB3E,KAAK+C,YACT,MAAO,CAAEuB,IAAK,EAAGE,KAAM,GAGxB,IAAI6C,EAAIrH,KAAKW,QAAQ6C,WACpB8D,EAAmBtH,KAAK+G,YAAa/G,KAAKgD,aAAc,IAEzD,MAAO,CACNsB,IAAK+C,EAAE/C,KAAQmB,SAAUzF,KAAKnB,OAAOkD,IAAK,OAAS,KAAQ,IACvDuF,EAAmD,EAAhCtH,KAAKgD,aAAaoE,aACzC5C,KAAM6C,EAAE7C,MAASiB,SAAUzF,KAAKnB,OAAOkD,IAAK,QAAU,KAAQ,IAC1DuF,EAAoD,EAAjCtH,KAAKgD,aAAamE,gBAK3CrE,cAAe,WACd9C,KAAKuE,QAAU,CACdC,KAAQiB,SAAUzF,KAAKW,QAAQoB,IAAK,cAAgB,KAAQ,EAC5DuC,IAAOmB,SAAUzF,KAAKW,QAAQoB,IAAK,aAAe,KAAQ,EAC1D6E,MAASnB,SAAUzF,KAAKW,QAAQoB,IAAK,eAAiB,KAAQ,EAC9D+E,OAAUrB,SAAUzF,KAAKW,QAAQoB,IAAK,gBAAkB,KAAQ,IAIlEY,wBAAyB,WACxB3C,KAAK0G,kBAAoB,CACxBC,MAAO3G,KAAKnB,OAAOoD,aACnB4E,OAAQ7G,KAAKnB,OAAOqD,gBAItB6B,gBAAiB,WAEhB,IAAIwD,EAAkBC,EAAGC,EACxBxG,EAAIjB,KAAK7B,QACTwD,EAAW3B,KAAK2B,SAAU,GAE3B3B,KAAK0H,kBAAoB,KAEnBzG,EAAEzC,YAKe,WAAlByC,EAAEzC,YAagB,aAAlByC,EAAEzC,YAWFyC,EAAEzC,YAAYmJ,cAAgBnB,OAKZ,WAAlBvF,EAAEzC,cACNyC,EAAEzC,YAAcwB,KAAKnB,OAAQ,GAAIuH,aAIlCqB,GADAD,EAAI3J,EAAGoD,EAAEzC,cACD,MAMR+I,EAAmB,gBAAgBlB,KAAMmB,EAAEzF,IAAK,aAEhD/B,KAAKxB,YAAc,EAChBiH,SAAU+B,EAAEzF,IAAK,mBAAqB,KAAQ,IAC7C0D,SAAU+B,EAAEzF,IAAK,eAAiB,KAAQ,IAC3C0D,SAAU+B,EAAEzF,IAAK,kBAAoB,KAAQ,IAC5C0D,SAAU+B,EAAEzF,IAAK,cAAgB,KAAQ,IAC1CwF,EAAmBK,KAAKC,IAAKJ,EAAGK,YAAaL,EAAGM,aAAgBN,EAAGM,cAClEtC,SAAU+B,EAAEzF,IAAK,oBAAsB,KAAQ,IAC/C0D,SAAU+B,EAAEzF,IAAK,gBAAkB,KAAQ,GAC7C/B,KAAK0G,kBAAkBC,MACvB3G,KAAKuE,QAAQC,KACbxE,KAAKuE,QAAQqC,OACZW,EAAmBK,KAAKC,IAAKJ,EAAGO,aAAcP,EAAGQ,cAAiBR,EAAGQ,eACpExC,SAAU+B,EAAEzF,IAAK,qBAAuB,KAAQ,IAChD0D,SAAU+B,EAAEzF,IAAK,iBAAmB,KAAQ,GAC9C/B,KAAK0G,kBAAkBG,OACvB7G,KAAKuE,QAAQD,IACbtE,KAAKuE,QAAQuC,QAEf9G,KAAK0H,kBAAoBF,IAnCxBxH,KAAKxB,YAAcyC,EAAEzC,YAXrBwB,KAAKxB,YAAc,CAClB,EACA,EACAX,EAAG8D,GAAWgF,QAAU3G,KAAK0G,kBAAkBC,MAAQ3G,KAAKuE,QAAQC,MAClE3G,EAAG8D,GAAWkF,UAAYlF,EAASuG,KAAK9B,WAAW4B,cACpDhI,KAAK0G,kBAAkBG,OAAS7G,KAAKuE,QAAQD,KAlB/CtE,KAAKxB,YAAc,CAClBX,EAAGsK,QAAShB,aAAenH,KAAKmC,OAAOuC,SAASF,KAAOxE,KAAKmC,OAAOH,OAAOwC,KAC1E3G,EAAGsK,QAASf,YAAcpH,KAAKmC,OAAOuC,SAASJ,IAAMtE,KAAKmC,OAAOH,OAAOsC,IACxEzG,EAAGsK,QAAShB,aAAetJ,EAAGsK,QAASxB,QACtC3G,KAAK0G,kBAAkBC,MAAQ3G,KAAKuE,QAAQC,KAC7C3G,EAAGsK,QAASf,aACTvJ,EAAGsK,QAAStB,UAAYlF,EAASuG,KAAK9B,WAAW4B,cACnDhI,KAAK0G,kBAAkBG,OAAS7G,KAAKuE,QAAQD,KAZ/CtE,KAAKxB,YAAc,MAmErBsG,mBAAoB,SAAUsD,EAAGC,GAE1BA,IACLA,EAAMrI,KAAKwD,UAGZ,IAAI8E,EAAY,aAANF,EAAmB,GAAK,EACjCd,EAAmBtH,KAAK+G,YAAa/G,KAAKgD,aAAc,IAEzD,MAAO,CACNsB,IAGC+D,EAAI/D,IAGJtE,KAAKmC,OAAOuC,SAASJ,IAAMgE,EAG3BtI,KAAKmC,OAAOH,OAAOsC,IAAMgE,GACA,UAArBtI,KAAK+C,aACP/C,KAAKmC,OAAO/C,OAAOkF,IAClBgD,EAAmB,EAAItH,KAAKmC,OAAO/C,OAAOkF,KAAUgE,EAExD9D,KAGC6D,EAAI7D,KAGJxE,KAAKmC,OAAOuC,SAASF,KAAO8D,EAG5BtI,KAAKmC,OAAOH,OAAOwC,KAAO8D,GACD,UAArBtI,KAAK+C,aACP/C,KAAKmC,OAAO/C,OAAOoF,KAClB8C,EAAmB,EAAItH,KAAKmC,OAAO/C,OAAOoF,MAAW8D,IAM3D7E,kBAAmB,SAAUzC,EAAOuH,GAEnC,IAAI/J,EAAagK,EAAIlE,EAAKE,EACzBvD,EAAIjB,KAAK7B,QACTmJ,EAAmBtH,KAAK+G,YAAa/G,KAAKgD,aAAc,IACxDW,EAAQ3C,EAAM2C,MACdE,EAAQ7C,EAAM6C,MA2Ef,OAxEMyD,GAAqBtH,KAAKmC,OAAO/C,SACtCY,KAAKmC,OAAO/C,OAAS,CACpBkF,IAAKtE,KAAKgD,aAAaoE,YACvB5C,KAAMxE,KAAKgD,aAAamE,eAUrBoB,IACCvI,KAAKxB,cACJwB,KAAK0H,mBACTc,EAAKxI,KAAK0H,kBAAkBvF,SAC5B3D,EAAc,CACbwB,KAAKxB,YAAa,GAAMgK,EAAGhE,KAC3BxE,KAAKxB,YAAa,GAAMgK,EAAGlE,IAC3BtE,KAAKxB,YAAa,GAAMgK,EAAGhE,KAC3BxE,KAAKxB,YAAa,GAAMgK,EAAGlE,MAG5B9F,EAAcwB,KAAKxB,YAGfwC,EAAM2C,MAAQ3D,KAAKmC,OAAOyC,MAAMJ,KAAOhG,EAAa,KACxDmF,EAAQnF,EAAa,GAAMwB,KAAKmC,OAAOyC,MAAMJ,MAEzCxD,EAAM6C,MAAQ7D,KAAKmC,OAAOyC,MAAMN,IAAM9F,EAAa,KACvDqF,EAAQrF,EAAa,GAAMwB,KAAKmC,OAAOyC,MAAMN,KAEzCtD,EAAM2C,MAAQ3D,KAAKmC,OAAOyC,MAAMJ,KAAOhG,EAAa,KACxDmF,EAAQnF,EAAa,GAAMwB,KAAKmC,OAAOyC,MAAMJ,MAEzCxD,EAAM6C,MAAQ7D,KAAKmC,OAAOyC,MAAMN,IAAM9F,EAAa,KACvDqF,EAAQrF,EAAa,GAAMwB,KAAKmC,OAAOyC,MAAMN,MAI1CrD,EAAEtC,OAIN2F,EAAMrD,EAAEtC,KAAM,GAAMqB,KAAK4D,cAAgBgE,KAAKa,OAAS5E,EACtD7D,KAAK4D,eAAkB3C,EAAEtC,KAAM,IAAQsC,EAAEtC,KAAM,GAAMqB,KAAK4D,cAC3DC,EAAQrF,EAAkB8F,EAAMtE,KAAKmC,OAAOyC,MAAMN,KAAO9F,EAAa,IACrE8F,EAAMtE,KAAKmC,OAAOyC,MAAMN,IAAM9F,EAAa,GAC1C8F,EACIA,EAAMtE,KAAKmC,OAAOyC,MAAMN,KAAO9F,EAAa,GAC/C8F,EAAMrD,EAAEtC,KAAM,GAAM2F,EAAMrD,EAAEtC,KAAM,GAAU2F,EAE/CE,EAAOvD,EAAEtC,KAAM,GAAMqB,KAAK0D,cACzBkE,KAAKa,OAAS9E,EAAQ3D,KAAK0D,eAAkBzC,EAAEtC,KAAM,IAAQsC,EAAEtC,KAAM,GACrEqB,KAAK0D,cACNC,EAAQnF,EAAkBgG,EAAOxE,KAAKmC,OAAOyC,MAAMJ,MAAQhG,EAAa,IACvEgG,EAAOxE,KAAKmC,OAAOyC,MAAMJ,KAAOhG,EAAa,GAC5CgG,EACIA,EAAOxE,KAAKmC,OAAOyC,MAAMJ,MAAQhG,EAAa,GACjDgG,EAAOvD,EAAEtC,KAAM,GAAM6F,EAAOvD,EAAEtC,KAAM,GAAU6F,GAGlC,MAAXvD,EAAE3C,OACNqF,EAAQ3D,KAAK0D,eAGE,MAAXzC,EAAE3C,OACNuF,EAAQ7D,KAAK4D,gBAIR,CACNU,IAGCT,EAGA7D,KAAKmC,OAAOyC,MAAMN,IAGlBtE,KAAKmC,OAAOuC,SAASJ,IAGrBtE,KAAKmC,OAAOH,OAAOsC,KACI,UAArBtE,KAAK+C,aACL/C,KAAKmC,OAAO/C,OAAOkF,IAClBgD,EAAmB,EAAItH,KAAKmC,OAAO/C,OAAOkF,KAE9CE,KAGCb,EAGA3D,KAAKmC,OAAOyC,MAAMJ,KAGlBxE,KAAKmC,OAAOuC,SAASF,KAGrBxE,KAAKmC,OAAOH,OAAOwC,MACI,UAArBxE,KAAK+C,aACL/C,KAAKmC,OAAO/C,OAAOoF,KAClB8C,EAAmB,EAAItH,KAAKmC,OAAO/C,OAAOoF,QAMhDP,OAAQ,WACPjE,KAAK+F,aAAc/F,KAAKnB,OAAQ,yBAC3BmB,KAAKnB,OAAQ,KAAQmB,KAAKW,QAAS,IAAQX,KAAK0I,qBACpD1I,KAAKnB,OAAOwD,SAEbrC,KAAKnB,OAAS,KACdmB,KAAK0I,qBAAsB,EACtB1I,KAAKa,gBACTb,KAAK2I,WAMP3E,SAAU,SAAU4E,EAAM5H,EAAOjD,GAShC,OARAA,EAAKA,GAAMiC,KAAK+E,UAChBlH,EAAEE,GAAG8K,OAAOtD,KAAMvF,KAAM4I,EAAM,CAAE5H,EAAOjD,EAAIiC,OAAQ,GAG9C,qBAAqBqG,KAAMuC,KAC/B5I,KAAKqD,YAAcrD,KAAK8E,mBAAoB,YAC5C/G,EAAGoE,OAASnC,KAAKqD,aAEXxF,EAAEiL,OAAOjD,UAAU7B,SAASuB,KAAMvF,KAAM4I,EAAM5H,EAAOjD,IAG7DgL,QAAS,GAEThE,QAAS,WACR,MAAO,CACNlG,OAAQmB,KAAKnB,OACb2E,SAAUxD,KAAKwD,SACfD,iBAAkBvD,KAAKuD,iBACvBpB,OAAQnC,KAAKqD,gBAMhBxF,EAAEE,GAAG8K,OAAOG,IAAK,YAAa,oBAAqB,CAClDnJ,MAAO,SAAUmB,EAAOjD,EAAIkL,GAC3B,IAAIC,EAAarL,EAAEsL,OAAQ,GAAIpL,EAAI,CAClCqL,KAAMH,EAAUtI,UAGjBsI,EAAUI,UAAY,GACtBxL,EAAGoL,EAAU9K,QAAQI,mBAAoB+K,MAAM,WAC9C,IAAIC,EAAW1L,EAAGmC,MAAOuJ,SAAU,YAE9BA,IAAaA,EAASpL,QAAQ+C,WAClC+H,EAAUI,UAAUG,KAAMD,GAK1BA,EAASvK,mBACTuK,EAASvF,SAAU,WAAYhD,EAAOkI,QAIzCpJ,KAAM,SAAUkB,EAAOjD,EAAIkL,GAC1B,IAAIC,EAAarL,EAAEsL,OAAQ,GAAIpL,EAAI,CAClCqL,KAAMH,EAAUtI,UAGjBsI,EAAUP,qBAAsB,EAEhC7K,EAAEyL,KAAML,EAAUI,WAAW,WAC5B,IAAIE,EAAWvJ,KAEVuJ,EAASE,QACbF,EAASE,OAAS,EAGlBR,EAAUP,qBAAsB,EAChCa,EAASb,qBAAsB,EAK/Ba,EAASG,WAAa,CACrBlG,SAAU+F,EAASI,YAAY5H,IAAK,YACpCuC,IAAKiF,EAASI,YAAY5H,IAAK,OAC/ByC,KAAM+E,EAASI,YAAY5H,IAAK,SAGjCwH,EAASpE,WAAYnE,GAIrBuI,EAASpL,QAAQU,OAAS0K,EAASpL,QAAQyL,UAM3CL,EAASb,qBAAsB,EAE/Ba,EAASvF,SAAU,aAAchD,EAAOkI,QAI3CtJ,KAAM,SAAUoB,EAAOjD,EAAIkL,GAC1BpL,EAAEyL,KAAML,EAAUI,WAAW,WAC5B,IAAIQ,GAAwB,EAC3BN,EAAWvJ,KAGZuJ,EAASlG,YAAc4F,EAAU5F,YACjCkG,EAAS7C,kBAAoBuC,EAAUvC,kBACvC6C,EAASpH,OAAOyC,MAAQqE,EAAU9G,OAAOyC,MAEpC2E,EAASO,gBAAiBP,EAASQ,kBACvCF,GAAwB,EAExBhM,EAAEyL,KAAML,EAAUI,WAAW,WAa5B,OAVArJ,KAAKqD,YAAc4F,EAAU5F,YAC7BrD,KAAK0G,kBAAoBuC,EAAUvC,kBACnC1G,KAAKmC,OAAOyC,MAAQqE,EAAU9G,OAAOyC,MAEhC5E,OAASuJ,GACZvJ,KAAK8J,gBAAiB9J,KAAK+J,iBAC3BlM,EAAEqJ,SAAUqC,EAAS5I,QAAS,GAAKX,KAAKW,QAAS,MAClDkJ,GAAwB,GAGlBA,MAIJA,GAIEN,EAASE,SACdF,EAASE,OAAS,EAGlBR,EAAUe,QAAUjM,EAAGc,OAAOmD,SAE9BuH,EAASU,YAAclM,EAAGc,OACxBR,SAAUkL,EAAS5I,SACnBuJ,KAAM,oBAAoB,GAG5BX,EAASpL,QAAQyL,QAAUL,EAASpL,QAAQU,OAE5C0K,EAASpL,QAAQU,OAAS,WACzB,OAAOd,EAAGc,OAAQ,IAKnBmC,EAAMG,OAASoI,EAASU,YAAa,GACrCV,EAASxI,cAAeC,GAAO,GAC/BuI,EAAS9G,YAAazB,GAAO,GAAM,GAInCuI,EAASpH,OAAOyC,MAAMN,IAAM2E,EAAU9G,OAAOyC,MAAMN,IACnDiF,EAASpH,OAAOyC,MAAMJ,KAAOyE,EAAU9G,OAAOyC,MAAMJ,KACpD+E,EAASpH,OAAOH,OAAOwC,MAAQyE,EAAU9G,OAAOH,OAAOwC,KACtD+E,EAASpH,OAAOH,OAAOwC,KACxB+E,EAASpH,OAAOH,OAAOsC,KAAO2E,EAAU9G,OAAOH,OAAOsC,IACrDiF,EAASpH,OAAOH,OAAOsC,IAExB2E,EAAUjF,SAAU,aAAchD,GAIlCiI,EAAU5D,QAAUkE,EAAS5I,QAI7B9C,EAAEyL,KAAML,EAAUI,WAAW,WAC5BrJ,KAAKhB,sBAINiK,EAAUgB,YAAchB,EAAUtI,QAClC4I,EAASY,YAAclB,GAGnBM,EAASU,cACbV,EAASnF,WAAYpD,GAKrBjD,EAAGyF,SAAW+F,EAAS/F,WAOnB+F,EAASE,SAEbF,EAASE,OAAS,EAClBF,EAASb,qBAAsB,EAI/Ba,EAASpL,QAAQiM,QAAUb,EAASpL,QAAQc,OAC5CsK,EAASpL,QAAQc,QAAS,EAE1BsK,EAASvF,SAAU,MAAOhD,EAAOuI,EAASxE,QAASwE,IACnDA,EAASpE,WAAYnE,GAAO,GAI5BuI,EAASpL,QAAQc,OAASsK,EAASpL,QAAQiM,QAC3Cb,EAASpL,QAAQU,OAAS0K,EAASpL,QAAQyL,QAEtCL,EAASI,aACbJ,EAASI,YAAYtH,SAKtBtE,EAAGc,OAAOR,SAAU4K,EAAUe,SAC9Bf,EAAU3F,gBAAiBtC,GAC3BjD,EAAGyF,SAAWyF,EAAUxF,kBAAmBzC,GAAO,GAElDiI,EAAUjF,SAAU,eAAgBhD,GAGpCiI,EAAU5D,SAAU,EAIpBxH,EAAEyL,KAAML,EAAUI,WAAW,WAC5BrJ,KAAKhB,6BAQXnB,EAAEE,GAAG8K,OAAOG,IAAK,YAAa,SAAU,CACvCnJ,MAAO,SAAUmB,EAAOjD,EAAIsM,GAC3B,IAAIC,EAAIzM,EAAG,QACVoD,EAAIoJ,EAASlM,QAETmM,EAAEvI,IAAK,YACXd,EAAEsJ,QAAUD,EAAEvI,IAAK,WAEpBuI,EAAEvI,IAAK,SAAUd,EAAExC,SAEpBqB,KAAM,SAAUkB,EAAOjD,EAAIsM,GAC1B,IAAIpJ,EAAIoJ,EAASlM,QACZ8C,EAAEsJ,SACN1M,EAAG,QAASkE,IAAK,SAAUd,EAAEsJ,YAKhC1M,EAAEE,GAAG8K,OAAOG,IAAK,YAAa,UAAW,CACxCnJ,MAAO,SAAUmB,EAAOjD,EAAIsM,GAC3B,IAAIC,EAAIzM,EAAGE,EAAGc,QACboC,EAAIoJ,EAASlM,QACTmM,EAAEvI,IAAK,aACXd,EAAEuJ,SAAWF,EAAEvI,IAAK,YAErBuI,EAAEvI,IAAK,UAAWd,EAAElC,UAErBe,KAAM,SAAUkB,EAAOjD,EAAIsM,GAC1B,IAAIpJ,EAAIoJ,EAASlM,QACZ8C,EAAEuJ,UACN3M,EAAGE,EAAGc,QAASkD,IAAK,UAAWd,EAAEuJ,aAKpC3M,EAAEE,GAAG8K,OAAOG,IAAK,YAAa,SAAU,CACvCnJ,MAAO,SAAUmB,EAAOjD,EAAI0M,GACrBA,EAAEC,wBACPD,EAAEC,sBAAwBD,EAAE5L,OAAOmE,cAAc,IAG7CyH,EAAEC,sBAAuB,KAAQD,EAAE9I,SAAU,IACP,SAAzC8I,EAAEC,sBAAuB,GAAI1D,UAC9ByD,EAAEE,eAAiBF,EAAEC,sBAAsBvI,WAG7CvC,KAAM,SAAUoB,EAAOjD,EAAI0M,GAE1B,IAAIxJ,EAAIwJ,EAAEtM,QACTyM,GAAW,EACX5H,EAAeyH,EAAEC,sBAAuB,GACxC/I,EAAW8I,EAAE9I,SAAU,GAEnBqB,IAAiBrB,GAAqC,SAAzBqB,EAAagE,SACxC/F,EAAE3C,MAAmB,MAAX2C,EAAE3C,OACVmM,EAAEE,eAAerG,IAAMtB,EAAaiF,aAAiBjH,EAAM6C,MAChE5C,EAAE5B,kBACH2D,EAAaoE,UAAYwD,EAAW5H,EAAaoE,UAAYnG,EAAE3B,YACpD0B,EAAM6C,MAAQ4G,EAAEE,eAAerG,IAAMrD,EAAE5B,oBAClD2D,EAAaoE,UAAYwD,EAAW5H,EAAaoE,UAAYnG,EAAE3B,cAI3D2B,EAAE3C,MAAmB,MAAX2C,EAAE3C,OACVmM,EAAEE,eAAenG,KAAOxB,EAAa+E,YAAgB/G,EAAM2C,MAChE1C,EAAE5B,kBACH2D,EAAamE,WAAayD,EAAW5H,EAAamE,WAAalG,EAAE3B,YACtD0B,EAAM2C,MAAQ8G,EAAEE,eAAenG,KAAOvD,EAAE5B,oBACnD2D,EAAamE,WAAayD,EAAW5H,EAAamE,WAAalG,EAAE3B,gBAM7D2B,EAAE3C,MAAmB,MAAX2C,EAAE3C,OACZ0C,EAAM6C,MAAQhG,EAAG8D,GAAWyF,YAAcnG,EAAE5B,kBAChDuL,EAAW/M,EAAG8D,GAAWyF,UAAWvJ,EAAG8D,GAAWyF,YAAcnG,EAAE3B,aACvDzB,EAAGsK,QAAStB,UAAa7F,EAAM6C,MAAQhG,EAAG8D,GAAWyF,aAC/DnG,EAAE5B,oBACHuL,EAAW/M,EAAG8D,GAAWyF,UAAWvJ,EAAG8D,GAAWyF,YAAcnG,EAAE3B,eAI9D2B,EAAE3C,MAAmB,MAAX2C,EAAE3C,OACZ0C,EAAM2C,MAAQ9F,EAAG8D,GAAWwF,aAAelG,EAAE5B,kBACjDuL,EAAW/M,EAAG8D,GAAWwF,WACxBtJ,EAAG8D,GAAWwF,aAAelG,EAAE3B,aAErBzB,EAAGsK,QAASxB,SAAY3F,EAAM2C,MAAQ9F,EAAG8D,GAAWwF,cAC9DlG,EAAE5B,oBACHuL,EAAW/M,EAAG8D,GAAWwF,WACxBtJ,EAAG8D,GAAWwF,aAAelG,EAAE3B,iBAOjB,IAAbsL,GAAsB/M,EAAEE,GAAG6E,YAAc3B,EAAEiD,eAC/CrG,EAAEE,GAAG6E,UAAUuB,eAAgBsG,EAAGzJ,MAMrCnD,EAAEE,GAAG8K,OAAOG,IAAK,YAAa,OAAQ,CACrCnJ,MAAO,SAAUmB,EAAOjD,EAAI0M,GAE3B,IAAIxJ,EAAIwJ,EAAEtM,QAEVsM,EAAEI,aAAe,GAEjBhN,EAAGoD,EAAE1B,KAAKoI,cAAgBmD,OAAW7J,EAAE1B,KAAKwL,OAAS,sBAA0B9J,EAAE1B,MAC/E+J,MAAM,WACN,IAAI0B,EAAKnN,EAAGmC,MACXiL,EAAKD,EAAG7I,SACJnC,OAASyK,EAAE9J,QAAS,IACxB8J,EAAEI,aAAarB,KAAM,CACpBJ,KAAMpJ,KACN2G,MAAOqE,EAAG/I,aAAc4E,OAAQmE,EAAG9I,cACnCoC,IAAK2G,EAAG3G,IAAKE,KAAMyG,EAAGzG,WAM3B5E,KAAM,SAAUoB,EAAOjD,EAAImN,GAE1B,IAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAGC,EAAGlB,EAAGmB,EAAGhB,EAAGiB,EAClCzK,EAAIiK,EAAK/M,QACTiK,EAAInH,EAAExB,cACNkM,EAAK5N,EAAGoE,OAAOqC,KAAMoH,EAAKD,EAAKT,EAAKxE,kBAAkBC,MACtDkF,EAAK9N,EAAGoE,OAAOmC,IAAKwH,EAAKD,EAAKX,EAAKxE,kBAAkBG,OAEtD,IAAM4D,EAAIS,EAAKL,aAAaxJ,OAAS,EAAGoJ,GAAK,EAAGA,IAG/Ce,GADAD,EAAIL,EAAKL,aAAcJ,GAAIjG,KAAO0G,EAAK3G,QAAQC,MACvC0G,EAAKL,aAAcJ,GAAI9D,MAE/B8E,GADAnB,EAAIY,EAAKL,aAAcJ,GAAInG,IAAM4G,EAAK3G,QAAQD,KACtC4G,EAAKL,aAAcJ,GAAI5D,OAE1B+E,EAAKL,EAAInD,GAAKuD,EAAKH,EAAIpD,GAAK0D,EAAKxB,EAAIlC,GAAKyD,EAAKJ,EAAIrD,IACrDvK,EAAEqJ,SAAUgE,EAAKL,aAAcJ,GAAIrB,KAAK2C,cACzCb,EAAKL,aAAcJ,GAAIrB,OACnB8B,EAAKL,aAAcJ,GAAIuB,UACtBd,EAAK/M,QAAQoB,KAAK0M,SACtBf,EAAK/M,QAAQoB,KAAK0M,QAAQ1G,KACzB2F,EAAKvK,QACLK,EACAnD,EAAEsL,OAAQ+B,EAAKnG,UAAW,CAAEmH,SAAUhB,EAAKL,aAAcJ,GAAIrB,QAIhE8B,EAAKL,aAAcJ,GAAIuB,UAAW,IAIf,UAAf/K,EAAEzB,WACN2L,EAAKvD,KAAKuE,IAAK7B,EAAIwB,IAAQ1D,EAC3BgD,EAAKxD,KAAKuE,IAAKV,EAAII,IAAQzD,EAC3BiD,EAAKzD,KAAKuE,IAAKZ,EAAIK,IAAQxD,EAC3BkD,EAAK1D,KAAKuE,IAAKX,EAAIG,IAAQvD,EACtB+C,IACJpN,EAAGyF,SAASc,IAAM4G,EAAKpG,mBAAoB,WAAY,CACtDR,IAAKgG,EAAIY,EAAKxE,kBAAkBG,OAChCrC,KAAM,IACHF,KAEA8G,IACJrN,EAAGyF,SAASc,IAAM4G,EAAKpG,mBAAoB,WAAY,CACtDR,IAAKmH,EACLjH,KAAM,IACHF,KAEA+G,IACJtN,EAAGyF,SAASgB,KAAO0G,EAAKpG,mBAAoB,WAAY,CACvDR,IAAK,EACLE,KAAM+G,EAAIL,EAAKxE,kBAAkBC,QAC9BnC,MAEA8G,IACJvN,EAAGyF,SAASgB,KAAO0G,EAAKpG,mBAAoB,WAAY,CACvDR,IAAK,EACLE,KAAMgH,IACHhH,OAINkH,EAAUP,GAAMC,GAAMC,GAAMC,EAER,UAAfrK,EAAEzB,WACN2L,EAAKvD,KAAKuE,IAAK7B,EAAIuB,IAAQzD,EAC3BgD,EAAKxD,KAAKuE,IAAKV,EAAIK,IAAQ1D,EAC3BiD,EAAKzD,KAAKuE,IAAKZ,EAAII,IAAQvD,EAC3BkD,EAAK1D,KAAKuE,IAAKX,EAAII,IAAQxD,EACtB+C,IACJpN,EAAGyF,SAASc,IAAM4G,EAAKpG,mBAAoB,WAAY,CACtDR,IAAKgG,EACL9F,KAAM,IACHF,KAEA8G,IACJrN,EAAGyF,SAASc,IAAM4G,EAAKpG,mBAAoB,WAAY,CACtDR,IAAKmH,EAAIP,EAAKxE,kBAAkBG,OAChCrC,KAAM,IACHF,KAEA+G,IACJtN,EAAGyF,SAASgB,KAAO0G,EAAKpG,mBAAoB,WAAY,CACvDR,IAAK,EACLE,KAAM+G,IACH/G,MAEA8G,IACJvN,EAAGyF,SAASgB,KAAO0G,EAAKpG,mBAAoB,WAAY,CACvDR,IAAK,EACLE,KAAMgH,EAAIN,EAAKxE,kBAAkBC,QAC9BnC,QAIA0G,EAAKL,aAAcJ,GAAIuB,WAAcb,GAAMC,GAAMC,GAAMC,GAAMI,IAC7DR,EAAK/M,QAAQoB,KAAKA,MACtB2L,EAAK/M,QAAQoB,KAAKA,KAAKgG,KACtB2F,EAAKvK,QACLK,EACAnD,EAAEsL,OAAQ+B,EAAKnG,UAAW,CACzBmH,SAAUhB,EAAKL,aAAcJ,GAAIrB,QAIrC8B,EAAKL,aAAcJ,GAAIuB,SAAab,GAAMC,GAAMC,GAAMC,GAAMI,MAO/D7N,EAAEE,GAAG8K,OAAOG,IAAK,YAAa,QAAS,CACtCnJ,MAAO,SAAUmB,EAAOjD,EAAIsM,GAC3B,IAAI+B,EACHnL,EAAIoJ,EAASlM,QACbkO,EAAQxO,EAAEyO,UAAWzO,EAAGoD,EAAEvB,QAAU6M,MAAM,SAAUC,EAAGf,GACtD,OAAShG,SAAU5H,EAAG2O,GAAIzK,IAAK,UAAY,KAAQ,IAChD0D,SAAU5H,EAAG4N,GAAI1J,IAAK,UAAY,KAAQ,MAGzCsK,EAAMhL,SAIZ+K,EAAM3G,SAAU5H,EAAGwO,EAAO,IAAMtK,IAAK,UAAY,KAAQ,EACzDlE,EAAGwO,GAAQ/C,MAAM,SAAUmB,GAC1B5M,EAAGmC,MAAO+B,IAAK,SAAUqK,EAAM3B,MAEhCzK,KAAK+B,IAAK,SAAYqK,EAAMC,EAAMhL,YAIpCxD,EAAEE,GAAG8K,OAAOG,IAAK,YAAa,SAAU,CACvCnJ,MAAO,SAAUmB,EAAOjD,EAAIsM,GAC3B,IAAIC,EAAIzM,EAAGE,EAAGc,QACboC,EAAIoJ,EAASlM,QAETmM,EAAEvI,IAAK,YACXd,EAAEwL,QAAUnC,EAAEvI,IAAK,WAEpBuI,EAAEvI,IAAK,SAAUd,EAAEtB,SAEpBG,KAAM,SAAUkB,EAAOjD,EAAIsM,GAC1B,IAAIpJ,EAAIoJ,EAASlM,QAEZ8C,EAAEwL,SACN5O,EAAGE,EAAGc,QAASkD,IAAK,SAAUd,EAAEwL,YAK5B5O,EAAEE,GAAGkL","file":"draggable-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/draggable.js b/web/core/assets/vendor/jquery.ui/ui/widgets/draggable.js
index 8c9775138f..c3469e1772 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/draggable.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/draggable.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Draggable 1.12.1
+ * jQuery UI Draggable 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -15,6 +15,8 @@
 //>>css.structure: ../../themes/base/draggable.css
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -34,10 +36,11 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 $.widget( "ui.draggable", $.ui.mouse, {
-	version: "1.12.1",
+	version: "1.13.1",
 	widgetEventPrefix: "drag",
 	options: {
 		addClasses: true,
@@ -201,7 +204,9 @@ $.widget( "ui.draggable", $.ui.mouse, {
 		this.originalPageY = event.pageY;
 
 		//Adjust the mouse offset relative to the helper if "cursorAt" is supplied
-		( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) );
+		if ( o.cursorAt ) {
+			this._adjustOffsetFromHelper( o.cursorAt );
+		}
 
 		//Set a containment if given in the options
 		this._setContainment();
@@ -296,7 +301,7 @@ $.widget( "ui.draggable", $.ui.mouse, {
 
 		if ( ( this.options.revert === "invalid" && !dropped ) ||
 				( this.options.revert === "valid" && dropped ) ||
-				this.options.revert === true || ( $.isFunction( this.options.revert ) &&
+				this.options.revert === true || ( typeof this.options.revert === "function" &&
 				this.options.revert.call( this.element, dropped ) )
 		) {
 			$( this.helper ).animate(
@@ -368,7 +373,7 @@ $.widget( "ui.draggable", $.ui.mouse, {
 	_createHelper: function( event ) {
 
 		var o = this.options,
-			helperIsFunction = $.isFunction( o.helper ),
+			helperIsFunction = typeof o.helper === "function",
 			helper = helperIsFunction ?
 				$( o.helper.apply( this.element[ 0 ], [ event ] ) ) :
 				( o.helper === "clone" ?
@@ -407,7 +412,7 @@ $.widget( "ui.draggable", $.ui.mouse, {
 		if ( typeof obj === "string" ) {
 			obj = obj.split( " " );
 		}
-		if ( $.isArray( obj ) ) {
+		if ( Array.isArray( obj ) ) {
 			obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 };
 		}
 		if ( "left" in obj ) {
@@ -1116,12 +1121,13 @@ $.ui.plugin.add( "draggable", "snap", {
 					!$.contains( inst.snapElements[ i ].item.ownerDocument,
 					inst.snapElements[ i ].item ) ) {
 				if ( inst.snapElements[ i ].snapping ) {
-					( inst.options.snap.release &&
+					if ( inst.options.snap.release ) {
 						inst.options.snap.release.call(
 							inst.element,
 							event,
 							$.extend( inst._uiHash(), { snapItem: inst.snapElements[ i ].item } )
-						) );
+						);
+					}
 				}
 				inst.snapElements[ i ].snapping = false;
 				continue;
@@ -1192,13 +1198,14 @@ $.ui.plugin.add( "draggable", "snap", {
 			}
 
 			if ( !inst.snapElements[ i ].snapping && ( ts || bs || ls || rs || first ) ) {
-				( inst.options.snap.snap &&
+				if ( inst.options.snap.snap ) {
 					inst.options.snap.snap.call(
 						inst.element,
 						event,
 						$.extend( inst._uiHash(), {
 							snapItem: inst.snapElements[ i ].item
-						} ) ) );
+						} ) );
+				}
 			}
 			inst.snapElements[ i ].snapping = ( ts || bs || ls || rs || first );
 
@@ -1216,7 +1223,9 @@ $.ui.plugin.add( "draggable", "stack", {
 					( parseInt( $( b ).css( "zIndex" ), 10 ) || 0 );
 			} );
 
-		if ( !group.length ) { return; }
+		if ( !group.length ) {
+			return;
+		}
 
 		min = parseInt( $( group[ 0 ] ).css( "zIndex" ), 10 ) || 0;
 		$( group ).each( function( i ) {
@@ -1247,4 +1256,4 @@ $.ui.plugin.add( "draggable", "zIndex", {
 
 return $.ui.draggable;
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/menu-min.js b/web/core/assets/vendor/jquery.ui/ui/widgets/menu-min.js
index 021b3dfd44..e9669c48f9 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/menu-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/menu-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Menu 1.12.1
+ * jQuery UI Menu 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(e){"function"==typeof define&&define.amd?define(["jquery","../keycode","../position","../safe-active-element","../unique-id","../version","../widget"],e):e(jQuery)}((function(e){return e.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault()},"click .ui-menu-item":function(t){var i=e(t.target),s=e(e.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(t){if(!this.previousFilter){var i=e(t.target).closest(".ui-menu-item"),s=e(t.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this.element.find(this.options.items).eq(0);t||this.focus(e,i)},blur:function(t){this._delay((function(){!e.contains(this.element[0],e.ui.safeActiveElement(this.document[0]))&&this.collapseAll(t)}))},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each((function(){var t=e(this);t.data("ui-menu-submenu-caret")&&t.remove()}))},_keydown:function(t){var i,s,n,a,u=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:u=!1,s=this.previousFilter||"",a=!1,n=t.keyCode>=96&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),n===s?a=!0:n=s+n,i=this._filterMenuItems(n),(i=a&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(n=String.fromCharCode(t.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(t,i),this.previousFilter=n,this.filterTimer=this._delay((function(){delete this.previousFilter}),1e3)):delete this.previousFilter}u&&t.preventDefault()},_activate:function(e){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(e):this.select(e))},refresh:function(){var t,i,s,n,a=this,u=this.options.icons.submenu,o=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),i=o.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each((function(){var t=e(this),i=t.prev(),s=e("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+u),i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))})),this._addClass(i,"ui-menu","ui-widget ui-widget-content ui-front"),(t=o.add(this.element).find(this.options.items)).not(".ui-menu-item").each((function(){var t=e(this);a._isDivider(t)&&a._addClass(t,"ui-menu-divider","ui-widget-content")})),n=(s=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(s,"ui-menu-item")._addClass(n,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){if("icons"===e){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,t.submenu)}this._super(e,t)},_setOptionDisabled:function(e){this._super(e),this.element.attr("aria-disabled",String(e)),this._toggleClass(null,"ui-state-disabled",!!e)},focus:function(e,t){var i,s,n;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay((function(){this._close()}),this.delay),(i=t.children(".ui-menu")).length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,u,o;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),u=this.activeMenu.height(),o=t.outerHeight(),n<0?this.activeMenu.scrollTop(a+n):n+o>u&&this.activeMenu.scrollTop(a+n-u+o))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",e,{item:this.active}),this.active=null)},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay((function(){this._close(),this._open(e)}),this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay((function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s}),this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();t&&t.length&&(this._open(t.parent()),this._delay((function(){this.focus(e,t)})))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[e+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;this.active?this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each((function(){return(i=e(this)).offset().top-s-n<0})),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())):this.next(t)},previousPage:function(t){var i,s,n;this.active?this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each((function(){return(i=e(this)).offset().top-s+n>0})),this.focus(t,i)):this.focus(t,this.activeMenu.find(this.options.items).first())):this.next(t)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)},_filterMenuItems:function(t){var i=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=new RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter((function(){return s.test(e.trim(e(this).children(".ui-menu-item-wrapper").text()))}))}})}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","../keycode","../position","../safe-active-element","../unique-id","../version","../widget"],e):e(jQuery)}((function(e){"use strict";return e.widget("ui.menu",{version:"1.13.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault(),this._activateItem(e)},"click .ui-menu-item":function(t){var i=e(t.target),s=e(e.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var i=this.active||this._menuItems().first();t||this.focus(e,i)},blur:function(t){this._delay((function(){!e.contains(this.element[0],e.ui.safeActiveElement(this.document[0]))&&this.collapseAll(t)}))},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e,!0),this.mouseHandled=!1}})},_activateItem:function(t){if(!this.previousFilter&&(t.clientX!==this.lastMousePosition.x||t.clientY!==this.lastMousePosition.y)){this.lastMousePosition={x:t.clientX,y:t.clientY};var i=e(t.target).closest(".ui-menu-item"),s=e(t.currentTarget);i[0]===s[0]&&(s.is(".ui-state-active")||(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,s)))}},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each((function(){var t=e(this);t.data("ui-menu-submenu-caret")&&t.remove()}))},_keydown:function(t){var i,s,n,a,u=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:u=!1,s=this.previousFilter||"",a=!1,n=t.keyCode>=96&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),n===s?a=!0:n=s+n,i=this._filterMenuItems(n),(i=a&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(n=String.fromCharCode(t.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(t,i),this.previousFilter=n,this.filterTimer=this._delay((function(){delete this.previousFilter}),1e3)):delete this.previousFilter}u&&t.preventDefault()},_activate:function(e){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(e):this.select(e))},refresh:function(){var t,i,s,n,a=this,u=this.options.icons.submenu,o=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),i=o.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each((function(){var t=e(this),i=t.prev(),s=e("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+u),i.attr("aria-haspopup","true").prepend(s),t.attr("aria-labelledby",i.attr("id"))})),this._addClass(i,"ui-menu","ui-widget ui-widget-content ui-front"),(t=o.add(this.element).find(this.options.items)).not(".ui-menu-item").each((function(){var t=e(this);a._isDivider(t)&&a._addClass(t,"ui-menu-divider","ui-widget-content")})),n=(s=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(s,"ui-menu-item")._addClass(n,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){if("icons"===e){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,t.submenu)}this._super(e,t)},_setOptionDisabled:function(e){this._super(e),this.element.attr("aria-disabled",String(e)),this._toggleClass(null,"ui-state-disabled",!!e)},focus:function(e,t){var i,s,n;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay((function(){this._close()}),this.delay),(i=t.children(".ui-menu")).length&&e&&/^mouse/.test(e.type)&&this._startOpening(i),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var i,s,n,a,u,o;this._hasScroll()&&(i=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,n=t.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),u=this.activeMenu.height(),o=t.outerHeight(),n<0?this.activeMenu.scrollTop(a+n):n+o>u&&this.activeMenu.scrollTop(a+n-u+o))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",e,{item:this.active}),this.active=null)},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay((function(){this._close(),this._open(e)}),this.delay))},_open:function(t){var i=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer),this.timer=this._delay((function(){var s=i?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(t),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s}),i?0:this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this._menuItems(this.active.children(".ui-menu")).first();t&&t.length&&(this._open(t.parent()),this._delay((function(){this.focus(e,t)})))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_menuItems:function(e){return(e||this.element).find(this.options.items).filter(".ui-menu-item")},_move:function(e,t,i){var s;this.active&&(s="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").last():this.active[e+"All"](".ui-menu-item").first()),s&&s.length&&this.active||(s=this._menuItems(this.activeMenu)[t]()),this.focus(i,s)},nextPage:function(t){var i,s,n;this.active?this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.innerHeight(),0===e.fn.jquery.indexOf("3.2.")&&(n+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.nextAll(".ui-menu-item").each((function(){return(i=e(this)).offset().top-s-n<0})),this.focus(t,i)):this.focus(t,this._menuItems(this.activeMenu)[this.active?"last":"first"]())):this.next(t)},previousPage:function(t){var i,s,n;this.active?this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.innerHeight(),0===e.fn.jquery.indexOf("3.2.")&&(n+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.prevAll(".ui-menu-item").each((function(){return(i=e(this)).offset().top-s+n>0})),this.focus(t,i)):this.focus(t,this._menuItems(this.activeMenu).first())):this.next(t)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||e(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,i)},_filterMenuItems:function(t){var i=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=new RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter((function(){return s.test(String.prototype.trim.call(e(this).children(".ui-menu-item-wrapper").text()))}))}})}));
+//# sourceMappingURL=menu-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/menu-min.js.map b/web/core/assets/vendor/jquery.ui/ui/widgets/menu-min.js.map
new file mode 100644
index 0000000000..28f5b887ec
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/menu-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["menu.js"],"names":["factory","define","amd","jQuery","$","widget","version","defaultElement","delay","options","icons","submenu","items","menus","position","my","at","role","blur","focus","select","_create","this","activeMenu","element","mouseHandled","lastMousePosition","x","y","uniqueId","attr","tabIndex","_addClass","_on","event","preventDefault","_activateItem","target","active","ui","safeActiveElement","document","not","length","isPropagationStopped","has","expand","is","closest","trigger","parents","clearTimeout","timer","mouseleave","keepActiveItem","item","_menuItems","first","_delay","contains","collapseAll","keydown","refresh","click","_closeOnDocumentClick","previousFilter","clientX","clientY","actualTarget","currentTarget","_removeClass","siblings","children","_destroy","submenus","find","removeAttr","removeUniqueId","addBack","show","each","elem","data","remove","_keydown","match","prev","character","skip","keyCode","PAGE_UP","previousPage","PAGE_DOWN","nextPage","HOME","_move","END","UP","previous","DOWN","next","LEFT","collapse","RIGHT","ENTER","SPACE","_activate","ESCAPE","toString","String","fromCharCode","filterTimer","_filterMenuItems","index","nextAll","newSubmenus","newItems","newWrappers","that","icon","_toggleClass","filter","hide","menu","submenuCaret","prepend","add","_isDivider","_itemRole","listbox","_setOption","key","value","_super","_setOptionDisabled","nested","focused","activeParent","type","_scrollIntoView","parent","_close","test","_startOpening","_trigger","borderTop","paddingTop","offset","scroll","elementHeight","itemHeight","_hasScroll","parseFloat","css","top","scrollTop","height","outerHeight","fromFocus","_open","extend","of","all","currentMenu","startMenu","text","newItem","isFirstItem","prevAll","isLastItem","direction","last","base","innerHeight","fn","jquery","indexOf","offsetHeight","prop","escapedCharacter","replace","regex","RegExp","prototype","trim","call"],"mappings":";;;;;;;;CAkBA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CACP,SACA,aACA,cACA,yBACA,eACA,aACA,aACED,GAIHA,EAASG,QAlBX,EAoBK,SAAUC,GACf,aAEA,OAAOA,EAAEC,OAAQ,UAAW,CAC3BC,QAAS,SACTC,eAAgB,OAChBC,MAAO,IACPC,QAAS,CACRC,MAAO,CACNC,QAAS,qBAEVC,MAAO,MACPC,MAAO,KACPC,SAAU,CACTC,GAAI,WACJC,GAAI,aAELC,KAAM,OAGNC,KAAM,KACNC,MAAO,KACPC,OAAQ,MAGTC,QAAS,WACRC,KAAKC,WAAaD,KAAKE,QAIvBF,KAAKG,cAAe,EACpBH,KAAKI,kBAAoB,CAAEC,EAAG,KAAMC,EAAG,MACvCN,KAAKE,QACHK,WACAC,KAAM,CACNb,KAAMK,KAAKb,QAAQQ,KACnBc,SAAU,IAGZT,KAAKU,UAAW,UAAW,+BAC3BV,KAAKW,IAAK,CAIT,0BAA2B,SAAUC,GACpCA,EAAMC,iBAENb,KAAKc,cAAeF,IAErB,sBAAuB,SAAUA,GAChC,IAAIG,EAASjC,EAAG8B,EAAMG,QAClBC,EAASlC,EAAGA,EAAEmC,GAAGC,kBAAmBlB,KAAKmB,SAAU,MACjDnB,KAAKG,cAAgBY,EAAOK,IAAK,sBAAuBC,SAC7DrB,KAAKF,OAAQc,GAGPA,EAAMU,yBACXtB,KAAKG,cAAe,GAIhBY,EAAOQ,IAAK,YAAaF,OAC7BrB,KAAKwB,OAAQZ,IACDZ,KAAKE,QAAQuB,GAAI,WAC5BT,EAAOU,QAAS,YAAaL,SAG9BrB,KAAKE,QAAQyB,QAAS,QAAS,EAAE,IAI5B3B,KAAKgB,QAAuD,IAA7ChB,KAAKgB,OAAOY,QAAS,YAAaP,QACrDQ,aAAc7B,KAAK8B,UAKvB,2BAA4B,gBAC5B,0BAA2B,gBAC3BC,WAAY,cACZ,sBAAuB,cACvBlC,MAAO,SAAUe,EAAOoB,GAIvB,IAAIC,EAAOjC,KAAKgB,QAAUhB,KAAKkC,aAAaC,QAEtCH,GACLhC,KAAKH,MAAOe,EAAOqB,IAGrBrC,KAAM,SAAUgB,GACfZ,KAAKoC,QAAQ,YACQtD,EAAEuD,SACrBrC,KAAKE,QAAS,GACdpB,EAAEmC,GAAGC,kBAAmBlB,KAAKmB,SAAU,MAGvCnB,KAAKsC,YAAa1B,OAIrB2B,QAAS,aAGVvC,KAAKwC,UAGLxC,KAAKW,IAAKX,KAAKmB,SAAU,CACxBsB,MAAO,SAAU7B,GACXZ,KAAK0C,sBAAuB9B,IAChCZ,KAAKsC,YAAa1B,GAAO,GAI1BZ,KAAKG,cAAe,MAKvBW,cAAe,SAAUF,GAKxB,IAAKZ,KAAK2C,iBAKL/B,EAAMgC,UAAY5C,KAAKI,kBAAkBC,GAC5CO,EAAMiC,UAAY7C,KAAKI,kBAAkBE,GAD3C,CAKAN,KAAKI,kBAAoB,CACxBC,EAAGO,EAAMgC,QACTtC,EAAGM,EAAMiC,SAGV,IAAIC,EAAehE,EAAG8B,EAAMG,QAASW,QAAS,iBAC7CX,EAASjC,EAAG8B,EAAMmC,eAGdD,EAAc,KAAQ/B,EAAQ,KAK9BA,EAAOU,GAAI,sBAMhBzB,KAAKgD,aAAcjC,EAAOkC,WAAWC,SAAU,oBAC9C,KAAM,mBACPlD,KAAKH,MAAOe,EAAOG,OAGpBoC,SAAU,WACT,IAECC,EAFWpD,KAAKE,QAAQmD,KAAM,iBAC5BC,WAAY,sBACGJ,SAAU,yBACzBK,iBACAD,WAAY,+BAGftD,KAAKE,QACHoD,WAAY,yBACZD,KAAM,YAAaG,UAClBF,WAAY,yEAEZC,iBACAE,OAEHL,EAASF,WAAWQ,MAAM,WACzB,IAAIC,EAAO7E,EAAGkB,MACT2D,EAAKC,KAAM,0BACfD,EAAKE,aAKRC,SAAU,SAAUlD,GACnB,IAAImD,EAAOC,EAAMC,EAAWC,EAC3BrD,GAAiB,EAElB,OAASD,EAAMuD,SACf,KAAKrF,EAAEmC,GAAGkD,QAAQC,QACjBpE,KAAKqE,aAAczD,GACnB,MACD,KAAK9B,EAAEmC,GAAGkD,QAAQG,UACjBtE,KAAKuE,SAAU3D,GACf,MACD,KAAK9B,EAAEmC,GAAGkD,QAAQK,KACjBxE,KAAKyE,MAAO,QAAS,QAAS7D,GAC9B,MACD,KAAK9B,EAAEmC,GAAGkD,QAAQO,IACjB1E,KAAKyE,MAAO,OAAQ,OAAQ7D,GAC5B,MACD,KAAK9B,EAAEmC,GAAGkD,QAAQQ,GACjB3E,KAAK4E,SAAUhE,GACf,MACD,KAAK9B,EAAEmC,GAAGkD,QAAQU,KACjB7E,KAAK8E,KAAMlE,GACX,MACD,KAAK9B,EAAEmC,GAAGkD,QAAQY,KACjB/E,KAAKgF,SAAUpE,GACf,MACD,KAAK9B,EAAEmC,GAAGkD,QAAQc,MACZjF,KAAKgB,SAAWhB,KAAKgB,OAAOS,GAAI,uBACpCzB,KAAKwB,OAAQZ,GAEd,MACD,KAAK9B,EAAEmC,GAAGkD,QAAQe,MAClB,KAAKpG,EAAEmC,GAAGkD,QAAQgB,MACjBnF,KAAKoF,UAAWxE,GAChB,MACD,KAAK9B,EAAEmC,GAAGkD,QAAQkB,OACjBrF,KAAKgF,SAAUpE,GACf,MACD,QACCC,GAAiB,EACjBmD,EAAOhE,KAAK2C,gBAAkB,GAC9BuB,GAAO,EAGPD,EAAYrD,EAAMuD,SAAW,IAAMvD,EAAMuD,SAAW,KACjDvD,EAAMuD,QAAU,IAAKmB,WAAaC,OAAOC,aAAc5E,EAAMuD,SAEhEtC,aAAc7B,KAAKyF,aAEdxB,IAAcD,EAClBE,GAAO,EAEPD,EAAYD,EAAOC,EAGpBF,EAAQ/D,KAAK0F,iBAAkBzB,IAC/BF,EAAQG,IAA+C,IAAvCH,EAAM4B,MAAO3F,KAAKgB,OAAO8D,QACxC9E,KAAKgB,OAAO4E,QAAS,iBACrB7B,GAIW1C,SACX4C,EAAYsB,OAAOC,aAAc5E,EAAMuD,SACvCJ,EAAQ/D,KAAK0F,iBAAkBzB,IAG3BF,EAAM1C,QACVrB,KAAKH,MAAOe,EAAOmD,GACnB/D,KAAK2C,eAAiBsB,EACtBjE,KAAKyF,YAAczF,KAAKoC,QAAQ,kBACxBpC,KAAK2C,iBACV,aAEI3C,KAAK2C,eAIT9B,GACJD,EAAMC,kBAIRuE,UAAW,SAAUxE,GACfZ,KAAKgB,SAAWhB,KAAKgB,OAAOS,GAAI,wBAC/BzB,KAAKgB,OAAOkC,SAAU,0BAA2B7B,OACrDrB,KAAKwB,OAAQZ,GAEbZ,KAAKF,OAAQc,KAKhB4B,QAAS,WACR,IAAWlD,EAAOuG,EAAaC,EAAUC,EACxCC,EAAOhG,KACPiG,EAAOjG,KAAKb,QAAQC,MAAMC,QAC1B+D,EAAWpD,KAAKE,QAAQmD,KAAMrD,KAAKb,QAAQI,OAE5CS,KAAKkG,aAAc,gBAAiB,OAAQlG,KAAKE,QAAQmD,KAAM,YAAahC,QAG5EwE,EAAczC,EAAS+C,OAAQ,kBAC7BC,OACA5F,KAAM,CACNb,KAAMK,KAAKb,QAAQQ,KACnB,cAAe,OACf,gBAAiB,UAEjB+D,MAAM,WACN,IAAI2C,EAAOvH,EAAGkB,MACbiC,EAAOoE,EAAKrC,OACZsC,EAAexH,EAAG,UAAW8E,KAAM,yBAAyB,GAE7DoC,EAAKtF,UAAW4F,EAAc,eAAgB,WAAaL,GAC3DhE,EACEzB,KAAM,gBAAiB,QACvB+F,QAASD,GACXD,EAAK7F,KAAM,kBAAmByB,EAAKzB,KAAM,UAG3CR,KAAKU,UAAWmF,EAAa,UAAW,yCAGxCvG,EADQ8D,EAASoD,IAAKxG,KAAKE,SACbmD,KAAMrD,KAAKb,QAAQG,QAG3B8B,IAAK,iBAAkBsC,MAAM,WAClC,IAAIzB,EAAOnD,EAAGkB,MACTgG,EAAKS,WAAYxE,IACrB+D,EAAKtF,UAAWuB,EAAM,kBAAmB,wBAM3C8D,GADAD,EAAWxG,EAAM8B,IAAK,oCACC8B,WACrB9B,IAAK,YACJb,WACAC,KAAM,CACNC,UAAW,EACXd,KAAMK,KAAK0G,cAEd1G,KAAKU,UAAWoF,EAAU,gBACxBpF,UAAWqF,EAAa,wBAG1BzG,EAAM6G,OAAQ,sBAAuB3F,KAAM,gBAAiB,QAGvDR,KAAKgB,SAAWlC,EAAEuD,SAAUrC,KAAKE,QAAS,GAAKF,KAAKgB,OAAQ,KAChEhB,KAAKJ,QAIP8G,UAAW,WACV,MAAO,CACNL,KAAM,WACNM,QAAS,UACP3G,KAAKb,QAAQQ,OAGjBiH,WAAY,SAAUC,EAAKC,GAC1B,GAAa,UAARD,EAAkB,CACtB,IAAIzH,EAAQY,KAAKE,QAAQmD,KAAM,iBAC/BrD,KAAKgD,aAAc5D,EAAO,KAAMY,KAAKb,QAAQC,MAAMC,SACjDqB,UAAWtB,EAAO,KAAM0H,EAAMzH,SAEjCW,KAAK+G,OAAQF,EAAKC,IAGnBE,mBAAoB,SAAUF,GAC7B9G,KAAK+G,OAAQD,GAEb9G,KAAKE,QAAQM,KAAM,gBAAiB+E,OAAQuB,IAC5C9G,KAAKkG,aAAc,KAAM,sBAAuBY,IAGjDjH,MAAO,SAAUe,EAAOqB,GACvB,IAAIgF,EAAQC,EAASC,EACrBnH,KAAKJ,KAAMgB,EAAOA,GAAwB,UAAfA,EAAMwG,MAEjCpH,KAAKqH,gBAAiBpF,GAEtBjC,KAAKgB,OAASiB,EAAKE,QAEnB+E,EAAUlH,KAAKgB,OAAOkC,SAAU,yBAChClD,KAAKU,UAAWwG,EAAS,KAAM,mBAI1BlH,KAAKb,QAAQQ,MACjBK,KAAKE,QAAQM,KAAM,wBAAyB0G,EAAQ1G,KAAM,OAI3D2G,EAAenH,KAAKgB,OAClBsG,SACC5F,QAAS,iBACRwB,SAAU,yBACdlD,KAAKU,UAAWyG,EAAc,KAAM,mBAE/BvG,GAAwB,YAAfA,EAAMwG,KACnBpH,KAAKuH,SAELvH,KAAK8B,MAAQ9B,KAAKoC,QAAQ,WACzBpC,KAAKuH,WACHvH,KAAKd,QAGT+H,EAAShF,EAAKiB,SAAU,aACZ7B,QAAUT,GAAW,SAAS4G,KAAM5G,EAAMwG,OACrDpH,KAAKyH,cAAeR,GAErBjH,KAAKC,WAAagC,EAAKqF,SAEvBtH,KAAK0H,SAAU,QAAS9G,EAAO,CAAEqB,KAAMA,KAGxCoF,gBAAiB,SAAUpF,GAC1B,IAAI0F,EAAWC,EAAYC,EAAQC,EAAQC,EAAeC,EACrDhI,KAAKiI,eACTN,EAAYO,WAAYpJ,EAAEqJ,IAAKnI,KAAKC,WAAY,GAAK,oBAAwB,EAC7E2H,EAAaM,WAAYpJ,EAAEqJ,IAAKnI,KAAKC,WAAY,GAAK,gBAAoB,EAC1E4H,EAAS5F,EAAK4F,SAASO,IAAMpI,KAAKC,WAAW4H,SAASO,IAAMT,EAAYC,EACxEE,EAAS9H,KAAKC,WAAWoI,YACzBN,EAAgB/H,KAAKC,WAAWqI,SAChCN,EAAa/F,EAAKsG,cAEbV,EAAS,EACb7H,KAAKC,WAAWoI,UAAWP,EAASD,GACzBA,EAASG,EAAaD,GACjC/H,KAAKC,WAAWoI,UAAWP,EAASD,EAASE,EAAgBC,KAKhEpI,KAAM,SAAUgB,EAAO4H,GAChBA,GACL3G,aAAc7B,KAAK8B,OAGd9B,KAAKgB,SAIXhB,KAAKgD,aAAchD,KAAKgB,OAAOkC,SAAU,yBACxC,KAAM,mBAEPlD,KAAK0H,SAAU,OAAQ9G,EAAO,CAAEqB,KAAMjC,KAAKgB,SAC3ChB,KAAKgB,OAAS,OAGfyG,cAAe,SAAUpI,GACxBwC,aAAc7B,KAAK8B,OAIoB,SAAlCzC,EAAQmB,KAAM,iBAInBR,KAAK8B,MAAQ9B,KAAKoC,QAAQ,WACzBpC,KAAKuH,SACLvH,KAAKyI,MAAOpJ,KACVW,KAAKd,SAGTuJ,MAAO,SAAUpJ,GAChB,IAAIG,EAAWV,EAAE4J,OAAQ,CACxBC,GAAI3I,KAAKgB,QACPhB,KAAKb,QAAQK,UAEhBqC,aAAc7B,KAAK8B,OACnB9B,KAAKE,QAAQmD,KAAM,YAAajC,IAAK/B,EAAQuC,QAAS,aACpDwE,OACA5F,KAAM,cAAe,QAEvBnB,EACEoE,OACAH,WAAY,eACZ9C,KAAM,gBAAiB,QACvBhB,SAAUA,IAGb8C,YAAa,SAAU1B,EAAOgI,GAC7B/G,aAAc7B,KAAK8B,OACnB9B,KAAK8B,MAAQ9B,KAAKoC,QAAQ,WAGzB,IAAIyG,EAAcD,EAAM5I,KAAKE,QAC5BpB,EAAG8B,GAASA,EAAMG,QAASW,QAAS1B,KAAKE,QAAQmD,KAAM,aAIlDwF,EAAYxH,SACjBwH,EAAc7I,KAAKE,SAGpBF,KAAKuH,OAAQsB,GAEb7I,KAAKJ,KAAMgB,GAGXZ,KAAKgD,aAAc6F,EAAYxF,KAAM,oBAAsB,KAAM,mBAEjErD,KAAKC,WAAa4I,IAChBD,EAAM,EAAI5I,KAAKd,QAKnBqI,OAAQ,SAAUuB,GACXA,IACLA,EAAY9I,KAAKgB,OAAShB,KAAKgB,OAAOsG,SAAWtH,KAAKE,SAGvD4I,EAAUzF,KAAM,YACd+C,OACA5F,KAAM,cAAe,QACrBA,KAAM,gBAAiB,UAG1BkC,sBAAuB,SAAU9B,GAChC,OAAQ9B,EAAG8B,EAAMG,QAASW,QAAS,YAAaL,QAGjDoF,WAAY,SAAUxE,GAGrB,OAAQ,sBAAsBuF,KAAMvF,EAAK8G,SAG1C/D,SAAU,SAAUpE,GACnB,IAAIoI,EAAUhJ,KAAKgB,QAClBhB,KAAKgB,OAAOsG,SAAS5F,QAAS,gBAAiB1B,KAAKE,SAChD8I,GAAWA,EAAQ3H,SACvBrB,KAAKuH,SACLvH,KAAKH,MAAOe,EAAOoI,KAIrBxH,OAAQ,SAAUZ,GACjB,IAAIoI,EAAUhJ,KAAKgB,QAAUhB,KAAKkC,WAAYlC,KAAKgB,OAAOkC,SAAU,aAAef,QAE9E6G,GAAWA,EAAQ3H,SACvBrB,KAAKyI,MAAOO,EAAQ1B,UAGpBtH,KAAKoC,QAAQ,WACZpC,KAAKH,MAAOe,EAAOoI,QAKtBlE,KAAM,SAAUlE,GACfZ,KAAKyE,MAAO,OAAQ,QAAS7D,IAG9BgE,SAAU,SAAUhE,GACnBZ,KAAKyE,MAAO,OAAQ,OAAQ7D,IAG7BqI,YAAa,WACZ,OAAOjJ,KAAKgB,SAAWhB,KAAKgB,OAAOkI,QAAS,iBAAkB7H,QAG/D8H,WAAY,WACX,OAAOnJ,KAAKgB,SAAWhB,KAAKgB,OAAO4E,QAAS,iBAAkBvE,QAG/Da,WAAY,SAAUmE,GACrB,OAASA,GAAQrG,KAAKE,SACpBmD,KAAMrD,KAAKb,QAAQG,OACnB6G,OAAQ,kBAGX1B,MAAO,SAAU2E,EAAWjD,EAAQvF,GACnC,IAAIkE,EACC9E,KAAKgB,SAER8D,EADkB,UAAdsE,GAAuC,SAAdA,EACtBpJ,KAAKgB,OACK,UAAdoI,EAAwB,UAAY,WAAa,iBAClDC,OAEKrJ,KAAKgB,OACToI,EAAY,OAAS,iBACtBjH,SAGE2C,GAASA,EAAKzD,QAAWrB,KAAKgB,SACnC8D,EAAO9E,KAAKkC,WAAYlC,KAAKC,YAAckG,MAG5CnG,KAAKH,MAAOe,EAAOkE,IAGpBP,SAAU,SAAU3D,GACnB,IAAIqB,EAAMqH,EAAMhB,EAEVtI,KAAKgB,OAINhB,KAAKmJ,eAGLnJ,KAAKiI,cACTqB,EAAOtJ,KAAKgB,OAAO6G,SAASO,IAC5BE,EAAStI,KAAKE,QAAQqJ,cAGiB,IAAlCzK,EAAE0K,GAAGC,OAAOC,QAAS,UACzBpB,GAAUtI,KAAKE,QAAS,GAAIyJ,aAAe3J,KAAKE,QAAQqI,eAGzDvI,KAAKgB,OAAO4E,QAAS,iBAAkBlC,MAAM,WAE5C,OADAzB,EAAOnD,EAAGkB,OACE6H,SAASO,IAAMkB,EAAOhB,EAAS,KAG5CtI,KAAKH,MAAOe,EAAOqB,IAEnBjC,KAAKH,MAAOe,EAAOZ,KAAKkC,WAAYlC,KAAKC,YACrCD,KAAKgB,OAAmB,OAAV,aAvBlBhB,KAAK8E,KAAMlE,IA2BbyD,aAAc,SAAUzD,GACvB,IAAIqB,EAAMqH,EAAMhB,EACVtI,KAAKgB,OAINhB,KAAKiJ,gBAGLjJ,KAAKiI,cACTqB,EAAOtJ,KAAKgB,OAAO6G,SAASO,IAC5BE,EAAStI,KAAKE,QAAQqJ,cAGiB,IAAlCzK,EAAE0K,GAAGC,OAAOC,QAAS,UACzBpB,GAAUtI,KAAKE,QAAS,GAAIyJ,aAAe3J,KAAKE,QAAQqI,eAGzDvI,KAAKgB,OAAOkI,QAAS,iBAAkBxF,MAAM,WAE5C,OADAzB,EAAOnD,EAAGkB,OACE6H,SAASO,IAAMkB,EAAOhB,EAAS,KAG5CtI,KAAKH,MAAOe,EAAOqB,IAEnBjC,KAAKH,MAAOe,EAAOZ,KAAKkC,WAAYlC,KAAKC,YAAakC,UAtBtDnC,KAAK8E,KAAMlE,IA0BbqH,WAAY,WACX,OAAOjI,KAAKE,QAAQqI,cAAgBvI,KAAKE,QAAQ0J,KAAM,iBAGxD9J,OAAQ,SAAUc,GAIjBZ,KAAKgB,OAAShB,KAAKgB,QAAUlC,EAAG8B,EAAMG,QAASW,QAAS,iBACxD,IAAIT,EAAK,CAAEgB,KAAMjC,KAAKgB,QAChBhB,KAAKgB,OAAOO,IAAK,YAAaF,QACnCrB,KAAKsC,YAAa1B,GAAO,GAE1BZ,KAAK0H,SAAU,SAAU9G,EAAOK,IAGjCyE,iBAAkB,SAAUzB,GAC3B,IAAI4F,EAAmB5F,EAAU6F,QAAS,8BAA+B,QACxEC,EAAQ,IAAIC,OAAQ,IAAMH,EAAkB,KAE7C,OAAO7J,KAAKC,WACVoD,KAAMrD,KAAKb,QAAQG,OAGlB6G,OAAQ,iBACPA,QAAQ,WACR,OAAO4D,EAAMvC,KACZjC,OAAO0E,UAAUC,KAAKC,KACrBrL,EAAGkB,MAAOkD,SAAU,yBAA0B6F","file":"menu-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/menu.js b/web/core/assets/vendor/jquery.ui/ui/widgets/menu.js
index fd86527f77..ea72e03edc 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/menu.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/menu.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Menu 1.12.1
+ * jQuery UI Menu 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -17,6 +17,8 @@
 //>>css.theme: ../../themes/base/theme.css
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -34,10 +36,11 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 return $.widget( "ui.menu", {
-	version: "1.12.1",
+	version: "1.13.1",
 	defaultElement: "<ul>",
 	delay: 300,
 	options: {
@@ -64,6 +67,7 @@ return $.widget( "ui.menu", {
 		// Flag used to prevent firing of the click handler
 		// as the event bubbles up through nested menus
 		this.mouseHandled = false;
+		this.lastMousePosition = { x: null, y: null };
 		this.element
 			.uniqueId()
 			.attr( {
@@ -78,6 +82,8 @@ return $.widget( "ui.menu", {
 			// them (focus should always stay on UL during navigation).
 			"mousedown .ui-menu-item": function( event ) {
 				event.preventDefault();
+
+				this._activateItem( event );
 			},
 			"click .ui-menu-item": function( event ) {
 				var target = $( event.target );
@@ -107,36 +113,15 @@ return $.widget( "ui.menu", {
 					}
 				}
 			},
-			"mouseenter .ui-menu-item": function( event ) {
-
-				// Ignore mouse events while typeahead is active, see #10458.
-				// Prevents focusing the wrong item when typeahead causes a scroll while the mouse
-				// is over an item in the menu
-				if ( this.previousFilter ) {
-					return;
-				}
-
-				var actualTarget = $( event.target ).closest( ".ui-menu-item" ),
-					target = $( event.currentTarget );
-
-				// Ignore bubbled events on parent items, see #11641
-				if ( actualTarget[ 0 ] !== target[ 0 ] ) {
-					return;
-				}
-
-				// Remove ui-state-active class from siblings of the newly focused menu item
-				// to avoid a jump caused by adjacent elements both having a class with a border
-				this._removeClass( target.siblings().children( ".ui-state-active" ),
-					null, "ui-state-active" );
-				this.focus( event, target );
-			},
+			"mouseenter .ui-menu-item": "_activateItem",
+			"mousemove .ui-menu-item": "_activateItem",
 			mouseleave: "collapseAll",
 			"mouseleave .ui-menu": "collapseAll",
 			focus: function( event, keepActiveItem ) {
 
 				// If there's already an active item, keep it active
 				// If not, activate the first item
-				var item = this.active || this.element.find( this.options.items ).eq( 0 );
+				var item = this.active || this._menuItems().first();
 
 				if ( !keepActiveItem ) {
 					this.focus( event, item );
@@ -162,7 +147,7 @@ return $.widget( "ui.menu", {
 		this._on( this.document, {
 			click: function( event ) {
 				if ( this._closeOnDocumentClick( event ) ) {
-					this.collapseAll( event );
+					this.collapseAll( event, true );
 				}
 
 				// Reset the mouseHandled flag
@@ -171,6 +156,46 @@ return $.widget( "ui.menu", {
 		} );
 	},
 
+	_activateItem: function( event ) {
+
+		// Ignore mouse events while typeahead is active, see #10458.
+		// Prevents focusing the wrong item when typeahead causes a scroll while the mouse
+		// is over an item in the menu
+		if ( this.previousFilter ) {
+			return;
+		}
+
+		// If the mouse didn't actually move, but the page was scrolled, ignore the event (#9356)
+		if ( event.clientX === this.lastMousePosition.x &&
+				event.clientY === this.lastMousePosition.y ) {
+			return;
+		}
+
+		this.lastMousePosition = {
+			x: event.clientX,
+			y: event.clientY
+		};
+
+		var actualTarget = $( event.target ).closest( ".ui-menu-item" ),
+			target = $( event.currentTarget );
+
+		// Ignore bubbled events on parent items, see #11641
+		if ( actualTarget[ 0 ] !== target[ 0 ] ) {
+			return;
+		}
+
+		// If the item is already active, there's nothing to do
+		if ( target.is( ".ui-state-active" ) ) {
+			return;
+		}
+
+		// Remove ui-state-active class from siblings of the newly focused menu item
+		// to avoid a jump caused by adjacent elements both having a class with a border
+		this._removeClass( target.siblings().children( ".ui-state-active" ),
+			null, "ui-state-active" );
+		this.focus( event, target );
+	},
+
 	_destroy: function() {
 		var items = this.element.find( ".ui-menu-item" )
 				.removeAttr( "role aria-disabled" ),
@@ -502,7 +527,7 @@ return $.widget( "ui.menu", {
 			this._removeClass( currentMenu.find( ".ui-state-active" ), null, "ui-state-active" );
 
 			this.activeMenu = currentMenu;
-		}, this.delay );
+		}, all ? 0 : this.delay );
 	},
 
 	// With no arguments, closes the currently active menu - if nothing is active
@@ -538,11 +563,7 @@ return $.widget( "ui.menu", {
 	},
 
 	expand: function( event ) {
-		var newItem = this.active &&
-			this.active
-				.children( ".ui-menu " )
-					.find( this.options.items )
-						.first();
+		var newItem = this.active && this._menuItems( this.active.children( ".ui-menu" ) ).first();
 
 		if ( newItem && newItem.length ) {
 			this._open( newItem.parent() );
@@ -570,21 +591,27 @@ return $.widget( "ui.menu", {
 		return this.active && !this.active.nextAll( ".ui-menu-item" ).length;
 	},
 
+	_menuItems: function( menu ) {
+		return ( menu || this.element )
+			.find( this.options.items )
+			.filter( ".ui-menu-item" );
+	},
+
 	_move: function( direction, filter, event ) {
 		var next;
 		if ( this.active ) {
 			if ( direction === "first" || direction === "last" ) {
 				next = this.active
 					[ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" )
-					.eq( -1 );
+					.last();
 			} else {
 				next = this.active
 					[ direction + "All" ]( ".ui-menu-item" )
-					.eq( 0 );
+					.first();
 			}
 		}
 		if ( !next || !next.length || !this.active ) {
-			next = this.activeMenu.find( this.options.items )[ filter ]();
+			next = this._menuItems( this.activeMenu )[ filter ]();
 		}
 
 		this.focus( event, next );
@@ -602,7 +629,13 @@ return $.widget( "ui.menu", {
 		}
 		if ( this._hasScroll() ) {
 			base = this.active.offset().top;
-			height = this.element.height();
+			height = this.element.innerHeight();
+
+			// jQuery 3.2 doesn't include scrollbars in innerHeight, add it back.
+			if ( $.fn.jquery.indexOf( "3.2." ) === 0 ) {
+				height += this.element[ 0 ].offsetHeight - this.element.outerHeight();
+			}
+
 			this.active.nextAll( ".ui-menu-item" ).each( function() {
 				item = $( this );
 				return item.offset().top - base - height < 0;
@@ -610,7 +643,7 @@ return $.widget( "ui.menu", {
 
 			this.focus( event, item );
 		} else {
-			this.focus( event, this.activeMenu.find( this.options.items )
+			this.focus( event, this._menuItems( this.activeMenu )
 				[ !this.active ? "first" : "last" ]() );
 		}
 	},
@@ -626,7 +659,13 @@ return $.widget( "ui.menu", {
 		}
 		if ( this._hasScroll() ) {
 			base = this.active.offset().top;
-			height = this.element.height();
+			height = this.element.innerHeight();
+
+			// jQuery 3.2 doesn't include scrollbars in innerHeight, add it back.
+			if ( $.fn.jquery.indexOf( "3.2." ) === 0 ) {
+				height += this.element[ 0 ].offsetHeight - this.element.outerHeight();
+			}
+
 			this.active.prevAll( ".ui-menu-item" ).each( function() {
 				item = $( this );
 				return item.offset().top - base + height > 0;
@@ -634,7 +673,7 @@ return $.widget( "ui.menu", {
 
 			this.focus( event, item );
 		} else {
-			this.focus( event, this.activeMenu.find( this.options.items ).first() );
+			this.focus( event, this._menuItems( this.activeMenu ).first() );
 		}
 	},
 
@@ -665,9 +704,10 @@ return $.widget( "ui.menu", {
 				.filter( ".ui-menu-item" )
 					.filter( function() {
 						return regex.test(
-							$.trim( $( this ).children( ".ui-menu-item-wrapper" ).text() ) );
+							String.prototype.trim.call(
+								$( this ).children( ".ui-menu-item-wrapper" ).text() ) );
 					} );
 	}
 } );
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/mouse-min.js b/web/core/assets/vendor/jquery.ui/ui/widgets/mouse-min.js
index cacb48ace4..b4a341ee57 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/mouse-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/mouse-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Mouse 1.12.1
+ * jQuery UI Mouse 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(e){"function"==typeof define&&define.amd?define(["jquery","../ie","../version","../widget"],e):e(jQuery)}((function(e){var t=!1;return e(document).on("mouseup",(function(){t=!1})),e.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.on("mousedown."+this.widgetName,(function(e){return t._mouseDown(e)})).on("click."+this.widgetName,(function(i){if(!0===e.data(i.target,t.widgetName+".preventClickEvent"))return e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1})),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,o=1===i.which,n=!("string"!=typeof this.options.cancel||!i.target.nodeName)&&e(i.target).closest(this.options.cancel).length;return!(o&&!n&&this._mouseCapture(i))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout((function(){s.mouseDelayMet=!0}),this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=!1!==this._mouseStart(i),!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0))}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||document.documentMode<9)&&!t.button)return this._mouseUp(t);if(!t.which)if(t.originalEvent.altKey||t.originalEvent.ctrlKey||t.originalEvent.metaKey||t.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,t),this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(i){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,i.target===this._mouseDownEvent.target&&e.data(i.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(i)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,t=!1,i.preventDefault()},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}));
\ No newline at end of file
+!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery","../ie","../version","../widget"],e):e(jQuery)}((function(e){"use strict";var t=!1;return e(document).on("mouseup",(function(){t=!1})),e.widget("ui.mouse",{version:"1.13.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.on("mousedown."+this.widgetName,(function(e){return t._mouseDown(e)})).on("click."+this.widgetName,(function(i){if(!0===e.data(i.target,t.widgetName+".preventClickEvent"))return e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1})),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,o=1===i.which,n=!("string"!=typeof this.options.cancel||!i.target.nodeName)&&e(i.target).closest(this.options.cancel).length;return!(o&&!n&&this._mouseCapture(i))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout((function(){s.mouseDelayMet=!0}),this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=!1!==this._mouseStart(i),!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0))}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||document.documentMode<9)&&!t.button)return this._mouseUp(t);if(!t.which)if(t.originalEvent.altKey||t.originalEvent.ctrlKey||t.originalEvent.metaKey||t.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,t),this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(i){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,i.target===this._mouseDownEvent.target&&e.data(i.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(i)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,t=!1,i.preventDefault()},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}));
+//# sourceMappingURL=mouse-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/mouse-min.js.map b/web/core/assets/vendor/jquery.ui/ui/widgets/mouse-min.js.map
new file mode 100644
index 0000000000..ce37840967
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/mouse-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["mouse.js"],"names":["factory","define","amd","jQuery","$","mouseHandled","document","on","widget","version","options","cancel","distance","delay","_mouseInit","that","this","element","widgetName","event","_mouseDown","data","target","removeData","stopImmediatePropagation","started","_mouseDestroy","off","_mouseMoveDelegate","_mouseUpDelegate","_mouseMoved","_mouseStarted","_mouseUp","_mouseDownEvent","btnIsLeft","which","elIsCancel","nodeName","closest","length","_mouseCapture","mouseDelayMet","_mouseDelayTimer","setTimeout","_mouseDistanceMet","_mouseDelayMet","_mouseStart","preventDefault","_mouseMove","ui","ie","documentMode","button","originalEvent","altKey","ctrlKey","metaKey","shiftKey","ignoreMissingWhich","_mouseDrag","_mouseStop","clearTimeout","Math","max","abs","pageX","pageY"],"mappings":";;;;;;;;CAcA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CACP,SACA,QACA,aACA,aACED,GAIHA,EAASG,QAfX,EAiBK,SAAUC,GACf,aAEA,IAAIC,GAAe,EAKnB,OAJAD,EAAGE,UAAWC,GAAI,WAAW,WAC5BF,GAAe,KAGTD,EAAEI,OAAQ,WAAY,CAC5BC,QAAS,SACTC,QAAS,CACRC,OAAQ,0CACRC,SAAU,EACVC,MAAO,GAERC,WAAY,WACX,IAAIC,EAAOC,KAEXA,KAAKC,QACHV,GAAI,aAAeS,KAAKE,YAAY,SAAUC,GAC9C,OAAOJ,EAAKK,WAAYD,MAExBZ,GAAI,SAAWS,KAAKE,YAAY,SAAUC,GAC1C,IAAK,IAASf,EAAEiB,KAAMF,EAAMG,OAAQP,EAAKG,WAAa,sBAGrD,OAFAd,EAAEmB,WAAYJ,EAAMG,OAAQP,EAAKG,WAAa,sBAC9CC,EAAMK,4BACC,KAIVR,KAAKS,SAAU,GAKhBC,cAAe,WACdV,KAAKC,QAAQU,IAAK,IAAMX,KAAKE,YACxBF,KAAKY,oBACTZ,KAAKV,SACHqB,IAAK,aAAeX,KAAKE,WAAYF,KAAKY,oBAC1CD,IAAK,WAAaX,KAAKE,WAAYF,KAAKa,mBAI5CT,WAAY,SAAUD,GAGrB,IAAKd,EAAL,CAIAW,KAAKc,aAAc,EAGdd,KAAKe,eACTf,KAAKgB,SAAUb,GAGhBH,KAAKiB,gBAAkBd,EAEvB,IAAIJ,EAAOC,KACVkB,EAA8B,IAAhBf,EAAMgB,MAIpBC,IAA8C,iBAAxBpB,KAAKN,QAAQC,SAAuBQ,EAAMG,OAAOe,WACtEjC,EAAGe,EAAMG,QAASgB,QAAStB,KAAKN,QAAQC,QAAS4B,OACnD,QAAML,IAAaE,GAAepB,KAAKwB,cAAerB,MAItDH,KAAKyB,eAAiBzB,KAAKN,QAAQG,MAC7BG,KAAKyB,gBACVzB,KAAK0B,iBAAmBC,YAAY,WACnC5B,EAAK0B,eAAgB,IACnBzB,KAAKN,QAAQG,QAGZG,KAAK4B,kBAAmBzB,IAAWH,KAAK6B,eAAgB1B,KAC5DH,KAAKe,eAAgD,IAA9Bf,KAAK8B,YAAa3B,IACnCH,KAAKe,gBACVZ,EAAM4B,kBACC,KAKJ,IAAS3C,EAAEiB,KAAMF,EAAMG,OAAQN,KAAKE,WAAa,uBACrDd,EAAEmB,WAAYJ,EAAMG,OAAQN,KAAKE,WAAa,sBAI/CF,KAAKY,mBAAqB,SAAUT,GACnC,OAAOJ,EAAKiC,WAAY7B,IAEzBH,KAAKa,iBAAmB,SAAUV,GACjC,OAAOJ,EAAKiB,SAAUb,IAGvBH,KAAKV,SACHC,GAAI,aAAeS,KAAKE,WAAYF,KAAKY,oBACzCrB,GAAI,WAAaS,KAAKE,WAAYF,KAAKa,kBAEzCV,EAAM4B,iBAEN1C,GAAe,GACR,MAGR2C,WAAY,SAAU7B,GAMrB,GAAKH,KAAKc,YAAc,CAGvB,GAAK1B,EAAE6C,GAAGC,MAAS5C,SAAS6C,cAAgB7C,SAAS6C,aAAe,KACjEhC,EAAMiC,OACR,OAAOpC,KAAKgB,SAAUb,GAGhB,IAAMA,EAAMgB,MAKlB,GAAKhB,EAAMkC,cAAcC,QAAUnC,EAAMkC,cAAcE,SACrDpC,EAAMkC,cAAcG,SAAWrC,EAAMkC,cAAcI,SACpDzC,KAAK0C,oBAAqB,OACpB,IAAM1C,KAAK0C,mBACjB,OAAO1C,KAAKgB,SAAUb,GASzB,OAJKA,EAAMgB,OAAShB,EAAMiC,UACzBpC,KAAKc,aAAc,GAGfd,KAAKe,eACTf,KAAK2C,WAAYxC,GACVA,EAAM4B,mBAGT/B,KAAK4B,kBAAmBzB,IAAWH,KAAK6B,eAAgB1B,KAC5DH,KAAKe,eACkD,IAApDf,KAAK8B,YAAa9B,KAAKiB,gBAAiBd,GACtCH,KAAKe,cACTf,KAAK2C,WAAYxC,GAEjBH,KAAKgB,SAAUb,KAITH,KAAKe,gBAGdC,SAAU,SAAUb,GACnBH,KAAKV,SACHqB,IAAK,aAAeX,KAAKE,WAAYF,KAAKY,oBAC1CD,IAAK,WAAaX,KAAKE,WAAYF,KAAKa,kBAErCb,KAAKe,gBACTf,KAAKe,eAAgB,EAEhBZ,EAAMG,SAAWN,KAAKiB,gBAAgBX,QAC1ClB,EAAEiB,KAAMF,EAAMG,OAAQN,KAAKE,WAAa,sBAAsB,GAG/DF,KAAK4C,WAAYzC,IAGbH,KAAK0B,mBACTmB,aAAc7C,KAAK0B,yBACZ1B,KAAK0B,kBAGb1B,KAAK0C,oBAAqB,EAC1BrD,GAAe,EACfc,EAAM4B,kBAGPH,kBAAmB,SAAUzB,GAC5B,OAAS2C,KAAKC,IACZD,KAAKE,IAAKhD,KAAKiB,gBAAgBgC,MAAQ9C,EAAM8C,OAC7CH,KAAKE,IAAKhD,KAAKiB,gBAAgBiC,MAAQ/C,EAAM+C,SACzClD,KAAKN,QAAQE,UAIpBiC,eAAgB,WACf,OAAO7B,KAAKyB,eAIbK,YAAa,aACba,WAAY,aACZC,WAAY,aACZpB,cAAe,WACd,OAAO","file":"mouse-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/mouse.js b/web/core/assets/vendor/jquery.ui/ui/widgets/mouse.js
index 11a201aa28..8a9b7b75ba 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/mouse.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/mouse.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Mouse 1.12.1
+ * jQuery UI Mouse 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -13,6 +13,8 @@
 //>>docs: http://api.jqueryui.com/mouse/
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -27,7 +29,8 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 var mouseHandled = false;
 $( document ).on( "mouseup", function() {
@@ -35,7 +38,7 @@ $( document ).on( "mouseup", function() {
 } );
 
 return $.widget( "ui.mouse", {
-	version: "1.12.1",
+	version: "1.13.1",
 	options: {
 		cancel: "input, textarea, button, select, option",
 		distance: 1,
@@ -80,7 +83,9 @@ return $.widget( "ui.mouse", {
 		this._mouseMoved = false;
 
 		// We may have missed mouseup (out of window)
-		( this._mouseStarted && this._mouseUp( event ) );
+		if ( this._mouseStarted ) {
+			this._mouseUp( event );
+		}
 
 		this._mouseDownEvent = event;
 
@@ -173,7 +178,11 @@ return $.widget( "ui.mouse", {
 		if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) {
 			this._mouseStarted =
 				( this._mouseStart( this._mouseDownEvent, event ) !== false );
-			( this._mouseStarted ? this._mouseDrag( event ) : this._mouseUp( event ) );
+			if ( this._mouseStarted ) {
+				this._mouseDrag( event );
+			} else {
+				this._mouseUp( event );
+			}
 		}
 
 		return !this._mouseStarted;
@@ -220,7 +229,9 @@ return $.widget( "ui.mouse", {
 	_mouseStart: function( /* event */ ) {},
 	_mouseDrag: function( /* event */ ) {},
 	_mouseStop: function( /* event */ ) {},
-	_mouseCapture: function( /* event */ ) { return true; }
+	_mouseCapture: function( /* event */ ) {
+		return true;
+	}
 } );
 
-} ) );
+} );
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/resizable-min.js b/web/core/assets/vendor/jquery.ui/ui/widgets/resizable-min.js
index 6188d2c84d..1184230d4b 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/resizable-min.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/resizable-min.js
@@ -1,9 +1,10 @@
 /*!
- * jQuery UI Resizable 1.12.1
+ * jQuery UI Resizable 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
-!function(t){"function"==typeof define&&define.amd?define(["jquery","./mouse","../disable-selection","../plugin","../version","../widget"],t):t(jQuery)}((function(t){return t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(i,e){if("hidden"===t(i).css("overflow"))return!1;var s,h=e&&"left"===e?"scrollLeft":"scrollTop";return i[h]>0||(i[h]=1,s=i[h]>0,i[h]=0,s)},_create:function(){var i,e=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!e.aspectRatio,aspectRatio:e.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:e.helper||e.ghost||e.animate?e.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,i={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(i),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(i),this._proportionallyResize()),this._setupHandles(),e.autoHide&&t(this.element).on("mouseenter",(function(){e.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())})).on("mouseleave",(function(){e.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var i,e=function(i){t(i).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(e(this.element),i=this.element,this.originalElement.css({position:i.css("position"),width:i.outerWidth(),height:i.outerHeight(),top:i.css("top"),left:i.css("left")}).insertAfter(i),i.remove()),this.originalElement.css("resize",this.originalResizeStyle),e(this.originalElement),this},_setOption:function(t,i){if(this._super(t,i),"handles"===t)this._removeHandles(),this._setupHandles()},_setupHandles:function(){var i,e,s,h,n,o=this.options,a=this;if(this.handles=o.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},e=0;e<s.length;e++)h="ui-resizable-"+(i=t.trim(s[e])),n=t("<div>"),this._addClass(n,"ui-resizable-handle "+h),n.css({zIndex:o.zIndex}),this.handles[i]=".ui-resizable-"+i,this.element.append(n);this._renderAxis=function(i){var e,s,h,n;for(e in i=i||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=t(this.handles[e]),this._on(this.handles[e],{mousedown:a._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[e],this.element),n=/sw|ne|nw|se|n|s/.test(e)?s.outerHeight():s.outerWidth(),h=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),i.css(h,n),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",(function(){a.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),a.axis=n&&n[1]?n[1]:"se")})),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(i){var e,s,h=!1;for(e in this.handles)((s=t(this.handles[e])[0])===i.target||t.contains(s,i.target))&&(h=!0);return!this.options.disabled&&h},_mouseStart:function(i){var e,s,h,n=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),n.containment&&(e+=t(n.containment).scrollLeft()||0,s+=t(n.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:e,top:s},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof n.aspectRatio?n.aspectRatio:this.originalSize.width/this.originalSize.height||1,h=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===h?this.axis+"-resize":h),this._addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(i){var e,s,h=this.originalMousePosition,n=this.axis,o=i.pageX-h.left||0,a=i.pageY-h.top||0,l=this._change[n];return this._updatePrevProperties(),!!l&&(e=l.apply(this,[i,o,a]),this._updateVirtualBoundaries(i.shiftKey),(this._aspectRatio||i.shiftKey)&&(e=this._updateRatio(e,i)),e=this._respectSize(e,i),this._updateCache(e),this._propagate("resize",i),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",i,this.ui()),this._applyChanges()),!1)},_mouseStop:function(i){this.resizing=!1;var e,s,h,n,o,a,l,r=this.options,p=this;return this._helper&&(h=(s=(e=this._proportionallyResizeElements).length&&/textarea/i.test(e[0].nodeName))&&this._hasScroll(e[0],"left")?0:p.sizeDiff.height,n=s?0:p.sizeDiff.width,o={width:p.helper.width()-n,height:p.helper.height()-h},a=parseFloat(p.element.css("left"))+(p.position.left-p.originalPosition.left)||null,l=parseFloat(p.element.css("top"))+(p.position.top-p.originalPosition.top)||null,r.animate||this.element.css(t.extend(o,{top:l,left:a})),p.helper.height(p.size.height),p.helper.width(p.size.width),this._helper&&!r.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",i),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var i,e,s,h,n,o=this.options;n={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:1/0,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||t)&&(i=n.minHeight*this.aspectRatio,s=n.minWidth/this.aspectRatio,e=n.maxHeight*this.aspectRatio,h=n.maxWidth/this.aspectRatio,i>n.minWidth&&(n.minWidth=i),s>n.minHeight&&(n.minHeight=s),e<n.maxWidth&&(n.maxWidth=e),h<n.maxHeight&&(n.maxHeight=h)),this._vBoundaries=n},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var i=this.position,e=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=i.left+(e.width-t.width),t.top=null),"nw"===s&&(t.top=i.top+(e.height-t.height),t.left=i.left+(e.width-t.width)),t},_respectSize:function(t){var i=this._vBoundaries,e=this.axis,s=this._isNumber(t.width)&&i.maxWidth&&i.maxWidth<t.width,h=this._isNumber(t.height)&&i.maxHeight&&i.maxHeight<t.height,n=this._isNumber(t.width)&&i.minWidth&&i.minWidth>t.width,o=this._isNumber(t.height)&&i.minHeight&&i.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,l=this.originalPosition.top+this.originalSize.height,r=/sw|nw|w/.test(e),p=/nw|ne|n/.test(e);return n&&(t.width=i.minWidth),o&&(t.height=i.minHeight),s&&(t.width=i.maxWidth),h&&(t.height=i.maxHeight),n&&r&&(t.left=a-i.minWidth),s&&r&&(t.left=a-i.maxWidth),o&&p&&(t.top=l-i.minHeight),h&&p&&(t.top=l-i.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var i=0,e=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],h=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];i<4;i++)e[i]=parseFloat(s[i])||0,e[i]+=parseFloat(h[i])||0;return{height:e[0]+e[2],width:e[1]+e[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,i=0,e=this.helper||this.element;i<this._proportionallyResizeElements.length;i++)t=this._proportionallyResizeElements[i],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:e.height()-this.outerDimensions.height||0,width:e.width()-this.outerDimensions.width||0})},_renderProxy:function(){var i=this.element,e=this.options;this.elementOffset=i.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,i){return{width:this.originalSize.width+i}},w:function(t,i){var e=this.originalSize;return{left:this.originalPosition.left+i,width:e.width-i}},n:function(t,i,e){var s=this.originalSize;return{top:this.originalPosition.top+e,height:s.height-e}},s:function(t,i,e){return{height:this.originalSize.height+e}},se:function(i,e,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[i,e,s]))},sw:function(i,e,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[i,e,s]))},ne:function(i,e,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[i,e,s]))},nw:function(i,e,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[i,e,s]))}},_propagate:function(i,e){t.ui.plugin.call(this,i,[e,this.ui()]),"resize"!==i&&this._trigger(i,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(i){var e=t(this).resizable("instance"),s=e.options,h=e._proportionallyResizeElements,n=h.length&&/textarea/i.test(h[0].nodeName),o=n&&e._hasScroll(h[0],"left")?0:e.sizeDiff.height,a=n?0:e.sizeDiff.width,l={width:e.size.width-a,height:e.size.height-o},r=parseFloat(e.element.css("left"))+(e.position.left-e.originalPosition.left)||null,p=parseFloat(e.element.css("top"))+(e.position.top-e.originalPosition.top)||null;e.element.animate(t.extend(l,p&&r?{top:p,left:r}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(e.element.css("width")),height:parseFloat(e.element.css("height")),top:parseFloat(e.element.css("top")),left:parseFloat(e.element.css("left"))};h&&h.length&&t(h[0]).css({width:s.width,height:s.height}),e._updateCache(s),e._propagate("resize",i)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var i,e,s,h,n,o,a,l=t(this).resizable("instance"),r=l.options,p=l.element,d=r.containment,g=d instanceof t?d.get(0):/parent/.test(d)?p.parent().get(0):d;g&&(l.containerElement=t(g),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(i=t(g),e=[],t(["Top","Right","Left","Bottom"]).each((function(t,s){e[t]=l._num(i.css("padding"+s))})),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-e[3],width:i.innerWidth()-e[1]},s=l.containerOffset,h=l.containerSize.height,n=l.containerSize.width,o=l._hasScroll(g,"left")?g.scrollWidth:n,a=l._hasScroll(g)?g.scrollHeight:h,l.parentData={element:g,left:s.left,top:s.top,width:o,height:a}))},resize:function(i){var e,s,h,n,o=t(this).resizable("instance"),a=o.options,l=o.containerOffset,r=o.position,p=o._aspectRatio||i.shiftKey,d={top:0,left:0},g=o.containerElement,u=!0;g[0]!==document&&/static/.test(g.css("position"))&&(d=l),r.left<(o._helper?l.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-l.left:o.position.left-d.left),p&&(o.size.height=o.size.width/o.aspectRatio,u=!1),o.position.left=a.helper?l.left:0),r.top<(o._helper?l.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-l.top:o.position.top),p&&(o.size.width=o.size.height*o.aspectRatio,u=!1),o.position.top=o._helper?l.top:0),h=o.containerElement.get(0)===o.element.parent().get(0),n=/relative|absolute/.test(o.containerElement.css("position")),h&&n?(o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top):(o.offset.left=o.element.offset().left,o.offset.top=o.element.offset().top),e=Math.abs(o.sizeDiff.width+(o._helper?o.offset.left-d.left:o.offset.left-l.left)),s=Math.abs(o.sizeDiff.height+(o._helper?o.offset.top-d.top:o.offset.top-l.top)),e+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-e,p&&(o.size.height=o.size.width/o.aspectRatio,u=!1)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,p&&(o.size.width=o.size.height*o.aspectRatio,u=!1)),u||(o.position.left=o.prevPosition.left,o.position.top=o.prevPosition.top,o.size.width=o.prevSize.width,o.size.height=o.prevSize.height)},stop:function(){var i=t(this).resizable("instance"),e=i.options,s=i.containerOffset,h=i.containerPosition,n=i.containerElement,o=t(i.helper),a=o.offset(),l=o.outerWidth()-i.sizeDiff.width,r=o.outerHeight()-i.sizeDiff.height;i._helper&&!e.animate&&/relative/.test(n.css("position"))&&t(this).css({left:a.left-h.left-s.left,width:l,height:r}),i._helper&&!e.animate&&/static/.test(n.css("position"))&&t(this).css({left:a.left-h.left-s.left,width:l,height:r})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var i=t(this).resizable("instance").options;t(i.alsoResize).each((function(){var i=t(this);i.data("ui-resizable-alsoresize",{width:parseFloat(i.width()),height:parseFloat(i.height()),left:parseFloat(i.css("left")),top:parseFloat(i.css("top"))})}))},resize:function(i,e){var s=t(this).resizable("instance"),h=s.options,n=s.originalSize,o=s.originalPosition,a={height:s.size.height-n.height||0,width:s.size.width-n.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0};t(h.alsoResize).each((function(){var i=t(this),s=t(this).data("ui-resizable-alsoresize"),h={},n=i.parents(e.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(n,(function(t,i){var e=(s[i]||0)+(a[i]||0);e&&e>=0&&(h[i]=e||null)})),i.css(h)}))},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var i=t(this).resizable("instance"),e=i.size;i.ghost=i.originalElement.clone(),i.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),i._addClass(i.ghost,"ui-resizable-ghost"),!1!==t.uiBackCompat&&"string"==typeof i.options.ghost&&i.ghost.addClass(this.options.ghost),i.ghost.appendTo(i.helper)},resize:function(){var i=t(this).resizable("instance");i.ghost&&i.ghost.css({position:"relative",height:i.size.height,width:i.size.width})},stop:function(){var i=t(this).resizable("instance");i.ghost&&i.helper&&i.helper.get(0).removeChild(i.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var i,e=t(this).resizable("instance"),s=e.options,h=e.size,n=e.originalSize,o=e.originalPosition,a=e.axis,l="number"==typeof s.grid?[s.grid,s.grid]:s.grid,r=l[0]||1,p=l[1]||1,d=Math.round((h.width-n.width)/r)*r,g=Math.round((h.height-n.height)/p)*p,u=n.width+d,f=n.height+g,m=s.maxWidth&&s.maxWidth<u,c=s.maxHeight&&s.maxHeight<f,z=s.minWidth&&s.minWidth>u,w=s.minHeight&&s.minHeight>f;s.grid=l,z&&(u+=r),w&&(f+=p),m&&(u-=r),c&&(f-=p),/^(se|s|e)$/.test(a)?(e.size.width=u,e.size.height=f):/^(ne)$/.test(a)?(e.size.width=u,e.size.height=f,e.position.top=o.top-g):/^(sw)$/.test(a)?(e.size.width=u,e.size.height=f,e.position.left=o.left-d):((f-p<=0||u-r<=0)&&(i=e._getPaddingPlusBorderDimensions(this)),f-p>0?(e.size.height=f,e.position.top=o.top-g):(f=p-i.height,e.size.height=f,e.position.top=o.top+n.height-f),u-r>0?(e.size.width=u,e.position.left=o.left-d):(u=r-i.width,e.size.width=u,e.position.left=o.left+n.width-u))}}),t.ui.resizable}));
\ No newline at end of file
+!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery","./mouse","../disable-selection","../plugin","../version","../widget"],t):t(jQuery)}((function(t){"use strict";return t.widget("ui.resizable",t.ui.mouse,{version:"1.13.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(i,e){if("hidden"===t(i).css("overflow"))return!1;var s=e&&"left"===e?"scrollLeft":"scrollTop",h=!1;if(i[s]>0)return!0;try{i[s]=1,h=i[s]>0,i[s]=0}catch(t){}return h},_create:function(){var i,e=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!e.aspectRatio,aspectRatio:e.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:e.helper||e.ghost||e.animate?e.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper'></div>").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,i={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(i),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(i),this._proportionallyResize()),this._setupHandles(),e.autoHide&&t(this.element).on("mouseenter",(function(){e.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())})).on("mouseleave",(function(){e.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();var i,e=function(i){t(i).removeData("resizable").removeData("ui-resizable").off(".resizable")};return this.elementIsWrapper&&(e(this.element),i=this.element,this.originalElement.css({position:i.css("position"),width:i.outerWidth(),height:i.outerHeight(),top:i.css("top"),left:i.css("left")}).insertAfter(i),i.remove()),this.originalElement.css("resize",this.originalResizeStyle),e(this.originalElement),this},_setOption:function(t,i){switch(this._super(t,i),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!i}},_setupHandles:function(){var i,e,s,h,n,o=this.options,a=this;if(this.handles=o.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this._addedHandles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},e=0;e<s.length;e++)h="ui-resizable-"+(i=String.prototype.trim.call(s[e])),n=t("<div>"),this._addClass(n,"ui-resizable-handle "+h),n.css({zIndex:o.zIndex}),this.handles[i]=".ui-resizable-"+i,this.element.children(this.handles[i]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(i){var e,s,h,n;for(e in i=i||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=t(this.handles[e]),this._on(this.handles[e],{mousedown:a._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[e],this.element),n=/sw|ne|nw|se|n|s/.test(e)?s.outerHeight():s.outerWidth(),h=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),i.css(h,n),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",(function(){a.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),a.axis=n&&n[1]?n[1]:"se")})),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(i){var e,s,h=!1;for(e in this.handles)((s=t(this.handles[e])[0])===i.target||t.contains(s,i.target))&&(h=!0);return!this.options.disabled&&h},_mouseStart:function(i){var e,s,h,n=this.options,o=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),n.containment&&(e+=t(n.containment).scrollLeft()||0,s+=t(n.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:o.width(),height:o.height()},this.originalSize=this._helper?{width:o.outerWidth(),height:o.outerHeight()}:{width:o.width(),height:o.height()},this.sizeDiff={width:o.outerWidth()-o.width(),height:o.outerHeight()-o.height()},this.originalPosition={left:e,top:s},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof n.aspectRatio?n.aspectRatio:this.originalSize.width/this.originalSize.height||1,h=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===h?this.axis+"-resize":h),this._addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(i){var e,s,h=this.originalMousePosition,n=this.axis,o=i.pageX-h.left||0,a=i.pageY-h.top||0,l=this._change[n];return this._updatePrevProperties(),!!l&&(e=l.apply(this,[i,o,a]),this._updateVirtualBoundaries(i.shiftKey),(this._aspectRatio||i.shiftKey)&&(e=this._updateRatio(e,i)),e=this._respectSize(e,i),this._updateCache(e),this._propagate("resize",i),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",i,this.ui()),this._applyChanges()),!1)},_mouseStop:function(i){this.resizing=!1;var e,s,h,n,o,a,l,r=this.options,p=this;return this._helper&&(h=(s=(e=this._proportionallyResizeElements).length&&/textarea/i.test(e[0].nodeName))&&this._hasScroll(e[0],"left")?0:p.sizeDiff.height,n=s?0:p.sizeDiff.width,o={width:p.helper.width()-n,height:p.helper.height()-h},a=parseFloat(p.element.css("left"))+(p.position.left-p.originalPosition.left)||null,l=parseFloat(p.element.css("top"))+(p.position.top-p.originalPosition.top)||null,r.animate||this.element.css(t.extend(o,{top:l,left:a})),p.helper.height(p.size.height),p.helper.width(p.size.width),this._helper&&!r.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",i),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var i,e,s,h,n,o=this.options;n={minWidth:this._isNumber(o.minWidth)?o.minWidth:0,maxWidth:this._isNumber(o.maxWidth)?o.maxWidth:1/0,minHeight:this._isNumber(o.minHeight)?o.minHeight:0,maxHeight:this._isNumber(o.maxHeight)?o.maxHeight:1/0},(this._aspectRatio||t)&&(i=n.minHeight*this.aspectRatio,s=n.minWidth/this.aspectRatio,e=n.maxHeight*this.aspectRatio,h=n.maxWidth/this.aspectRatio,i>n.minWidth&&(n.minWidth=i),s>n.minHeight&&(n.minHeight=s),e<n.maxWidth&&(n.maxWidth=e),h<n.maxHeight&&(n.maxHeight=h)),this._vBoundaries=n},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var i=this.position,e=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=i.left+(e.width-t.width),t.top=null),"nw"===s&&(t.top=i.top+(e.height-t.height),t.left=i.left+(e.width-t.width)),t},_respectSize:function(t){var i=this._vBoundaries,e=this.axis,s=this._isNumber(t.width)&&i.maxWidth&&i.maxWidth<t.width,h=this._isNumber(t.height)&&i.maxHeight&&i.maxHeight<t.height,n=this._isNumber(t.width)&&i.minWidth&&i.minWidth>t.width,o=this._isNumber(t.height)&&i.minHeight&&i.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,l=this.originalPosition.top+this.originalSize.height,r=/sw|nw|w/.test(e),p=/nw|ne|n/.test(e);return n&&(t.width=i.minWidth),o&&(t.height=i.minHeight),s&&(t.width=i.maxWidth),h&&(t.height=i.maxHeight),n&&r&&(t.left=a-i.minWidth),s&&r&&(t.left=a-i.maxWidth),o&&p&&(t.top=l-i.minHeight),h&&p&&(t.top=l-i.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var i=0,e=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],h=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];i<4;i++)e[i]=parseFloat(s[i])||0,e[i]+=parseFloat(h[i])||0;return{height:e[0]+e[2],width:e[1]+e[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,i=0,e=this.helper||this.element;i<this._proportionallyResizeElements.length;i++)t=this._proportionallyResizeElements[i],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:e.height()-this.outerDimensions.height||0,width:e.width()-this.outerDimensions.width||0})},_renderProxy:function(){var i=this.element,e=this.options;this.elementOffset=i.offset(),this._helper?(this.helper=this.helper||t("<div></div>").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,i){return{width:this.originalSize.width+i}},w:function(t,i){var e=this.originalSize;return{left:this.originalPosition.left+i,width:e.width-i}},n:function(t,i,e){var s=this.originalSize;return{top:this.originalPosition.top+e,height:s.height-e}},s:function(t,i,e){return{height:this.originalSize.height+e}},se:function(i,e,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[i,e,s]))},sw:function(i,e,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[i,e,s]))},ne:function(i,e,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[i,e,s]))},nw:function(i,e,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[i,e,s]))}},_propagate:function(i,e){t.ui.plugin.call(this,i,[e,this.ui()]),"resize"!==i&&this._trigger(i,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(i){var e=t(this).resizable("instance"),s=e.options,h=e._proportionallyResizeElements,n=h.length&&/textarea/i.test(h[0].nodeName),o=n&&e._hasScroll(h[0],"left")?0:e.sizeDiff.height,a=n?0:e.sizeDiff.width,l={width:e.size.width-a,height:e.size.height-o},r=parseFloat(e.element.css("left"))+(e.position.left-e.originalPosition.left)||null,p=parseFloat(e.element.css("top"))+(e.position.top-e.originalPosition.top)||null;e.element.animate(t.extend(l,p&&r?{top:p,left:r}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(e.element.css("width")),height:parseFloat(e.element.css("height")),top:parseFloat(e.element.css("top")),left:parseFloat(e.element.css("left"))};h&&h.length&&t(h[0]).css({width:s.width,height:s.height}),e._updateCache(s),e._propagate("resize",i)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var i,e,s,h,n,o,a,l=t(this).resizable("instance"),r=l.options,p=l.element,d=r.containment,g=d instanceof t?d.get(0):/parent/.test(d)?p.parent().get(0):d;g&&(l.containerElement=t(g),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(i=t(g),e=[],t(["Top","Right","Left","Bottom"]).each((function(t,s){e[t]=l._num(i.css("padding"+s))})),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-e[3],width:i.innerWidth()-e[1]},s=l.containerOffset,h=l.containerSize.height,n=l.containerSize.width,o=l._hasScroll(g,"left")?g.scrollWidth:n,a=l._hasScroll(g)?g.scrollHeight:h,l.parentData={element:g,left:s.left,top:s.top,width:o,height:a}))},resize:function(i){var e,s,h,n,o=t(this).resizable("instance"),a=o.options,l=o.containerOffset,r=o.position,p=o._aspectRatio||i.shiftKey,d={top:0,left:0},g=o.containerElement,u=!0;g[0]!==document&&/static/.test(g.css("position"))&&(d=l),r.left<(o._helper?l.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-l.left:o.position.left-d.left),p&&(o.size.height=o.size.width/o.aspectRatio,u=!1),o.position.left=a.helper?l.left:0),r.top<(o._helper?l.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-l.top:o.position.top),p&&(o.size.width=o.size.height*o.aspectRatio,u=!1),o.position.top=o._helper?l.top:0),h=o.containerElement.get(0)===o.element.parent().get(0),n=/relative|absolute/.test(o.containerElement.css("position")),h&&n?(o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top):(o.offset.left=o.element.offset().left,o.offset.top=o.element.offset().top),e=Math.abs(o.sizeDiff.width+(o._helper?o.offset.left-d.left:o.offset.left-l.left)),s=Math.abs(o.sizeDiff.height+(o._helper?o.offset.top-d.top:o.offset.top-l.top)),e+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-e,p&&(o.size.height=o.size.width/o.aspectRatio,u=!1)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,p&&(o.size.width=o.size.height*o.aspectRatio,u=!1)),u||(o.position.left=o.prevPosition.left,o.position.top=o.prevPosition.top,o.size.width=o.prevSize.width,o.size.height=o.prevSize.height)},stop:function(){var i=t(this).resizable("instance"),e=i.options,s=i.containerOffset,h=i.containerPosition,n=i.containerElement,o=t(i.helper),a=o.offset(),l=o.outerWidth()-i.sizeDiff.width,r=o.outerHeight()-i.sizeDiff.height;i._helper&&!e.animate&&/relative/.test(n.css("position"))&&t(this).css({left:a.left-h.left-s.left,width:l,height:r}),i._helper&&!e.animate&&/static/.test(n.css("position"))&&t(this).css({left:a.left-h.left-s.left,width:l,height:r})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var i=t(this).resizable("instance").options;t(i.alsoResize).each((function(){var i=t(this);i.data("ui-resizable-alsoresize",{width:parseFloat(i.width()),height:parseFloat(i.height()),left:parseFloat(i.css("left")),top:parseFloat(i.css("top"))})}))},resize:function(i,e){var s=t(this).resizable("instance"),h=s.options,n=s.originalSize,o=s.originalPosition,a={height:s.size.height-n.height||0,width:s.size.width-n.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0};t(h.alsoResize).each((function(){var i=t(this),s=t(this).data("ui-resizable-alsoresize"),h={},n=i.parents(e.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(n,(function(t,i){var e=(s[i]||0)+(a[i]||0);e&&e>=0&&(h[i]=e||null)})),i.css(h)}))},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var i=t(this).resizable("instance"),e=i.size;i.ghost=i.originalElement.clone(),i.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),i._addClass(i.ghost,"ui-resizable-ghost"),!1!==t.uiBackCompat&&"string"==typeof i.options.ghost&&i.ghost.addClass(this.options.ghost),i.ghost.appendTo(i.helper)},resize:function(){var i=t(this).resizable("instance");i.ghost&&i.ghost.css({position:"relative",height:i.size.height,width:i.size.width})},stop:function(){var i=t(this).resizable("instance");i.ghost&&i.helper&&i.helper.get(0).removeChild(i.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var i,e=t(this).resizable("instance"),s=e.options,h=e.size,n=e.originalSize,o=e.originalPosition,a=e.axis,l="number"==typeof s.grid?[s.grid,s.grid]:s.grid,r=l[0]||1,p=l[1]||1,d=Math.round((h.width-n.width)/r)*r,g=Math.round((h.height-n.height)/p)*p,u=n.width+d,c=n.height+g,f=s.maxWidth&&s.maxWidth<u,m=s.maxHeight&&s.maxHeight<c,z=s.minWidth&&s.minWidth>u,w=s.minHeight&&s.minHeight>c;s.grid=l,z&&(u+=r),w&&(c+=p),f&&(u-=r),m&&(c-=p),/^(se|s|e)$/.test(a)?(e.size.width=u,e.size.height=c):/^(ne)$/.test(a)?(e.size.width=u,e.size.height=c,e.position.top=o.top-g):/^(sw)$/.test(a)?(e.size.width=u,e.size.height=c,e.position.left=o.left-d):((c-p<=0||u-r<=0)&&(i=e._getPaddingPlusBorderDimensions(this)),c-p>0?(e.size.height=c,e.position.top=o.top-g):(c=p-i.height,e.size.height=c,e.position.top=o.top+n.height-c),u-r>0?(e.size.width=u,e.position.left=o.left-d):(u=r-i.width,e.size.width=u,e.position.left=o.left+n.width-u))}}),t.ui.resizable}));
+//# sourceMappingURL=resizable-min.js.map
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/resizable-min.js.map b/web/core/assets/vendor/jquery.ui/ui/widgets/resizable-min.js.map
new file mode 100644
index 0000000000..f01a5942fc
--- /dev/null
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/resizable-min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["resizable.js"],"names":["factory","define","amd","jQuery","$","widget","ui","mouse","version","widgetEventPrefix","options","alsoResize","animate","animateDuration","animateEasing","aspectRatio","autoHide","classes","containment","ghost","grid","handles","helper","maxHeight","maxWidth","minHeight","minWidth","zIndex","resize","start","stop","_num","value","parseFloat","_isNumber","isNaN","_hasScroll","el","a","css","scroll","has","e","_create","margins","o","this","that","_addClass","extend","_aspectRatio","originalElement","element","_proportionallyResizeElements","_helper","nodeName","match","wrap","overflow","position","width","outerWidth","height","outerHeight","top","left","parent","data","resizable","elementIsWrapper","marginTop","marginRight","marginBottom","marginLeft","originalResizeStyle","push","zoom","display","_proportionallyResize","_setupHandles","on","disabled","_removeClass","_handles","show","resizing","hide","_mouseInit","_destroy","_mouseDestroy","_addedHandles","remove","wrapper","exp","removeData","off","insertAfter","_setOption","key","_super","_removeHandles","handle","i","n","hname","axis","length","s","w","se","sw","ne","nw","constructor","String","split","prototype","trim","call","children","append","add","_renderAxis","target","padPos","padWrapper","first","jquery","nodeType","_on","mousedown","_mouseDown","test","join","find","disableSelection","className","_mouseCapture","event","capture","contains","_mouseStart","curleft","curtop","cursor","_renderProxy","scrollLeft","scrollTop","offset","size","originalSize","sizeDiff","originalPosition","originalMousePosition","pageX","pageY","_propagate","_mouseDrag","props","smp","dx","dy","trigger","_change","_updatePrevProperties","apply","_updateVirtualBoundaries","shiftKey","_updateRatio","_respectSize","_updateCache","_applyChanges","isEmptyObject","_trigger","_mouseStop","pr","ista","soffseth","soffsetw","prevPosition","prevSize","forceAspectRatio","pMinWidth","pMaxWidth","pMinHeight","pMaxHeight","b","Infinity","_vBoundaries","cpos","csize","ismaxw","ismaxh","isminw","isminh","dw","dh","cw","ch","_getPaddingPlusBorderDimensions","widths","borders","paddings","prel","outerDimensions","elementOffset","appendTo","cs","arguments","plugin","plugins","style","duration","easing","step","p","co","oc","ce","get","containerElement","document","containerOffset","containerPosition","parentData","body","parentNode","scrollHeight","each","name","containerSize","innerHeight","innerWidth","scrollWidth","woset","hoset","isParent","isOffsetRelative","cp","pRatio","cop","continueResize","Math","abs","ho","h","os","op","delta","parents","prop","sum","clone","opacity","margin","uiBackCompat","addClass","removeChild","gridX","gridY","ox","round","oy","newWidth","newHeight","isMaxWidth","isMaxHeight","isMinWidth","isMinHeight"],"mappings":";;;;;;;;CAkBA,SAAYA,GACX,aAEuB,mBAAXC,QAAyBA,OAAOC,IAG3CD,OAAQ,CACP,SACA,UACA,uBACA,YACA,aACA,aACED,GAIHA,EAASG,QAjBX,EAmBK,SAAUC,GACf,aA0pCA,OAxpCAA,EAAEC,OAAQ,eAAgBD,EAAEE,GAAGC,MAAO,CACrCC,QAAS,SACTC,kBAAmB,SACnBC,QAAS,CACRC,YAAY,EACZC,SAAS,EACTC,gBAAiB,OACjBC,cAAe,QACfC,aAAa,EACbC,UAAU,EACVC,QAAS,CACR,kBAAmB,yCAEpBC,aAAa,EACbC,OAAO,EACPC,MAAM,EACNC,QAAS,SACTC,QAAQ,EACRC,UAAW,KACXC,SAAU,KACVC,UAAW,GACXC,SAAU,GAGVC,OAAQ,GAGRC,OAAQ,KACRC,MAAO,KACPC,KAAM,MAGPC,KAAM,SAAUC,GACf,OAAOC,WAAYD,IAAW,GAG/BE,UAAW,SAAUF,GACpB,OAAQG,MAAOF,WAAYD,KAG5BI,WAAY,SAAUC,EAAIC,GAEzB,GAAmC,WAA9BlC,EAAGiC,GAAKE,IAAK,YACjB,OAAO,EAGR,IAAIC,EAAWF,GAAW,SAANA,EAAiB,aAAe,YACnDG,GAAM,EAEP,GAAKJ,EAAIG,GAAW,EACnB,OAAO,EAMR,IACCH,EAAIG,GAAW,EACfC,EAAQJ,EAAIG,GAAW,EACvBH,EAAIG,GAAW,EACd,MAAQE,IAKV,OAAOD,GAGRE,QAAS,WAER,IAAIC,EACHC,EAAIC,KAAKpC,QACTqC,EAAOD,KACRA,KAAKE,UAAW,gBAEhB5C,EAAE6C,OAAQH,KAAM,CACfI,eAAkBL,EAAc,YAChC9B,YAAa8B,EAAE9B,YACfoC,gBAAiBL,KAAKM,QACtBC,8BAA+B,GAC/BC,QAAST,EAAEvB,QAAUuB,EAAE1B,OAAS0B,EAAEjC,QAAUiC,EAAEvB,QAAU,sBAAwB,OAI5EwB,KAAKM,QAAS,GAAIG,SAASC,MAAO,kDAEtCV,KAAKM,QAAQK,KACZrD,EAAG,kCAAmCmC,IAAK,CAC1CmB,SAAU,SACVC,SAAUb,KAAKM,QAAQb,IAAK,YAC5BqB,MAAOd,KAAKM,QAAQS,aACpBC,OAAQhB,KAAKM,QAAQW,cACrBC,IAAKlB,KAAKM,QAAQb,IAAK,OACvB0B,KAAMnB,KAAKM,QAAQb,IAAK,WAI1BO,KAAKM,QAAUN,KAAKM,QAAQc,SAASC,KACpC,eAAgBrB,KAAKM,QAAQgB,UAAW,aAGzCtB,KAAKuB,kBAAmB,EAExBzB,EAAU,CACT0B,UAAWxB,KAAKK,gBAAgBZ,IAAK,aACrCgC,YAAazB,KAAKK,gBAAgBZ,IAAK,eACvCiC,aAAc1B,KAAKK,gBAAgBZ,IAAK,gBACxCkC,WAAY3B,KAAKK,gBAAgBZ,IAAK,eAGvCO,KAAKM,QAAQb,IAAKK,GAClBE,KAAKK,gBAAgBZ,IAAK,SAAU,GAIpCO,KAAK4B,oBAAsB5B,KAAKK,gBAAgBZ,IAAK,UACrDO,KAAKK,gBAAgBZ,IAAK,SAAU,QAEpCO,KAAKO,8BAA8BsB,KAAM7B,KAAKK,gBAAgBZ,IAAK,CAClEoB,SAAU,SACViB,KAAM,EACNC,QAAS,WAKV/B,KAAKK,gBAAgBZ,IAAKK,GAE1BE,KAAKgC,yBAGNhC,KAAKiC,gBAEAlC,EAAE7B,UACNZ,EAAG0C,KAAKM,SACN4B,GAAI,cAAc,WACbnC,EAAEoC,WAGPlC,EAAKmC,aAAc,yBACnBnC,EAAKoC,SAASC,WAEdJ,GAAI,cAAc,WACbnC,EAAEoC,UAGDlC,EAAKsC,WACVtC,EAAKC,UAAW,yBAChBD,EAAKoC,SAASG,WAKlBxC,KAAKyC,cAGNC,SAAU,WAET1C,KAAK2C,gBACL3C,KAAK4C,cAAcC,SAEnB,IAAIC,EACHJ,EAAW,SAAUK,GACpBzF,EAAGyF,GACDC,WAAY,aACZA,WAAY,gBACZC,IAAK,eAoBT,OAhBKjD,KAAKuB,mBACTmB,EAAU1C,KAAKM,SACfwC,EAAU9C,KAAKM,QACfN,KAAKK,gBAAgBZ,IAAK,CACzBoB,SAAUiC,EAAQrD,IAAK,YACvBqB,MAAOgC,EAAQ/B,aACfC,OAAQ8B,EAAQ7B,cAChBC,IAAK4B,EAAQrD,IAAK,OAClB0B,KAAM2B,EAAQrD,IAAK,UAChByD,YAAaJ,GACjBA,EAAQD,UAGT7C,KAAKK,gBAAgBZ,IAAK,SAAUO,KAAK4B,qBACzCc,EAAU1C,KAAKK,iBAERL,MAGRmD,WAAY,SAAUC,EAAKlE,GAG1B,OAFAc,KAAKqD,OAAQD,EAAKlE,GAETkE,GACT,IAAK,UACJpD,KAAKsD,iBACLtD,KAAKiC,gBACL,MACD,IAAK,cACJjC,KAAKI,eAAiBlB,IAOxB+C,cAAe,WACd,IAAsBsB,EAAQC,EAAGC,EAAGC,EAAOC,EAAvC5D,EAAIC,KAAKpC,QAAoCqC,EAAOD,KAgBxD,GAfAA,KAAKzB,QAAUwB,EAAExB,UACbjB,EAAG,uBAAwB0C,KAAKM,SAAUsD,OACjC,CACVH,EAAG,kBACH7D,EAAG,kBACHiE,EAAG,kBACHC,EAAG,kBACHC,GAAI,mBACJC,GAAI,mBACJC,GAAI,mBACJC,GAAI,oBARL,UAWFlE,KAAKqC,SAAW/E,IAChB0C,KAAK4C,cAAgBtF,IAChB0C,KAAKzB,QAAQ4F,cAAgBC,OASjC,IAPsB,QAAjBpE,KAAKzB,UACTyB,KAAKzB,QAAU,uBAGhBkF,EAAIzD,KAAKzB,QAAQ8F,MAAO,KACxBrE,KAAKzB,QAAU,GAETiF,EAAI,EAAGA,EAAIC,EAAEG,OAAQJ,IAG1BE,EAAQ,iBADRH,EAASa,OAAOE,UAAUC,KAAKC,KAAMf,EAAGD,KAExCG,EAAOrG,EAAG,SACV0C,KAAKE,UAAWyD,EAAM,uBAAyBD,GAE/CC,EAAKlE,IAAK,CAAEZ,OAAQkB,EAAElB,SAEtBmB,KAAKzB,QAASgF,GAAW,iBAAmBA,EACtCvD,KAAKM,QAAQmE,SAAUzE,KAAKzB,QAASgF,IAAWK,SACrD5D,KAAKM,QAAQoE,OAAQf,GACrB3D,KAAK4C,cAAgB5C,KAAK4C,cAAc+B,IAAKhB,IAMhD3D,KAAK4E,YAAc,SAAUC,GAE5B,IAAIrB,EAAGG,EAAMmB,EAAQC,EAIrB,IAAMvB,KAFNqB,EAASA,GAAU7E,KAAKM,QAEbN,KAAKzB,QAEVyB,KAAKzB,QAASiF,GAAIW,cAAgBC,OACtCpE,KAAKzB,QAASiF,GAAMxD,KAAKM,QAAQmE,SAAUzE,KAAKzB,QAASiF,IAAMwB,QAAQ1C,QAC5DtC,KAAKzB,QAASiF,GAAIyB,QAAUjF,KAAKzB,QAASiF,GAAI0B,YACzDlF,KAAKzB,QAASiF,GAAMlG,EAAG0C,KAAKzB,QAASiF,IACrCxD,KAAKmF,IAAKnF,KAAKzB,QAASiF,GAAK,CAAE4B,UAAanF,EAAKoF,cAG7CrF,KAAKuB,kBACRvB,KAAKK,gBAAiB,GACpBI,SACAC,MAAO,uCACViD,EAAOrG,EAAG0C,KAAKzB,QAASiF,GAAKxD,KAAKM,SAElCyE,EAAa,kBAAkBO,KAAM9B,GACpCG,EAAK1C,cACL0C,EAAK5C,aAEN+D,EAAS,CAAE,UACV,UAAUQ,KAAM9B,GAAM,MACtB,UAAU8B,KAAM9B,GAAM,SACtB,MAAM8B,KAAM9B,GAAM,QAAU,QAAS+B,KAAM,IAE5CV,EAAOpF,IAAKqF,EAAQC,GAEpB/E,KAAKgC,yBAGNhC,KAAKqC,SAAWrC,KAAKqC,SAASsC,IAAK3E,KAAKzB,QAASiF,KAKnDxD,KAAK4E,YAAa5E,KAAKM,SAEvBN,KAAKqC,SAAWrC,KAAKqC,SAASsC,IAAK3E,KAAKM,QAAQkF,KAAM,yBACtDxF,KAAKqC,SAASoD,mBAEdzF,KAAKqC,SAASH,GAAI,aAAa,WACxBjC,EAAKsC,WACLvC,KAAK0F,YACT/B,EAAO3D,KAAK0F,UAAUhF,MAAO,wCAE9BT,EAAK0D,KAAOA,GAAQA,EAAM,GAAMA,EAAM,GAAM,SAIzC5D,EAAE7B,WACN8B,KAAKqC,SAASG,OACdxC,KAAKE,UAAW,2BAIlBoD,eAAgB,WACftD,KAAK4C,cAAcC,UAGpB8C,cAAe,SAAUC,GACxB,IAAIpC,EAAGD,EACNsC,GAAU,EAEX,IAAMrC,KAAKxD,KAAKzB,UACfgF,EAASjG,EAAG0C,KAAKzB,QAASiF,IAAO,MACjBoC,EAAMf,QAAUvH,EAAEwI,SAAUvC,EAAQqC,EAAMf,WACzDgB,GAAU,GAIZ,OAAQ7F,KAAKpC,QAAQuE,UAAY0D,GAGlCE,YAAa,SAAUH,GAEtB,IAAII,EAASC,EAAQC,EACpBnG,EAAIC,KAAKpC,QACT2B,EAAKS,KAAKM,QAkDX,OAhDAN,KAAKuC,UAAW,EAEhBvC,KAAKmG,eAELH,EAAUhG,KAAKf,KAAMe,KAAKxB,OAAOiB,IAAK,SACtCwG,EAASjG,KAAKf,KAAMe,KAAKxB,OAAOiB,IAAK,QAEhCM,EAAE3B,cACN4H,GAAW1I,EAAGyC,EAAE3B,aAAcgI,cAAgB,EAC9CH,GAAU3I,EAAGyC,EAAE3B,aAAciI,aAAe,GAG7CrG,KAAKsG,OAAStG,KAAKxB,OAAO8H,SAC1BtG,KAAKa,SAAW,CAAEM,KAAM6E,EAAS9E,IAAK+E,GAEtCjG,KAAKuG,KAAOvG,KAAKQ,QAAU,CACzBM,MAAOd,KAAKxB,OAAOsC,QACnBE,OAAQhB,KAAKxB,OAAOwC,UACjB,CACHF,MAAOvB,EAAGuB,QACVE,OAAQzB,EAAGyB,UAGbhB,KAAKwG,aAAexG,KAAKQ,QAAU,CACjCM,MAAOvB,EAAGwB,aACVC,OAAQzB,EAAG0B,eACR,CACHH,MAAOvB,EAAGuB,QACVE,OAAQzB,EAAGyB,UAGbhB,KAAKyG,SAAW,CACf3F,MAAOvB,EAAGwB,aAAexB,EAAGuB,QAC5BE,OAAQzB,EAAG0B,cAAgB1B,EAAGyB,UAG/BhB,KAAK0G,iBAAmB,CAAEvF,KAAM6E,EAAS9E,IAAK+E,GAC9CjG,KAAK2G,sBAAwB,CAAExF,KAAMyE,EAAMgB,MAAO1F,IAAK0E,EAAMiB,OAE7D7G,KAAK/B,YAAyC,iBAAlB8B,EAAE9B,YAC7B8B,EAAE9B,YACE+B,KAAKwG,aAAa1F,MAAQd,KAAKwG,aAAaxF,QAAY,EAE7DkF,EAAS5I,EAAG,iBAAmB0C,KAAK2D,MAAOlE,IAAK,UAChDnC,EAAG,QAASmC,IAAK,SAAqB,SAAXyG,EAAoBlG,KAAK2D,KAAO,UAAYuC,GAEvElG,KAAKE,UAAW,yBAChBF,KAAK8G,WAAY,QAASlB,IACnB,GAGRmB,WAAY,SAAUnB,GAErB,IAAIvE,EAAM2F,EACTC,EAAMjH,KAAK2G,sBACXnH,EAAIQ,KAAK2D,KACTuD,EAAOtB,EAAMgB,MAAQK,EAAI9F,MAAU,EACnCgG,EAAOvB,EAAMiB,MAAQI,EAAI/F,KAAS,EAClCkG,EAAUpH,KAAKqH,QAAS7H,GAIzB,OAFAQ,KAAKsH,0BAECF,IAIN/F,EAAO+F,EAAQG,MAAOvH,KAAM,CAAE4F,EAAOsB,EAAIC,IAEzCnH,KAAKwH,yBAA0B5B,EAAM6B,WAChCzH,KAAKI,cAAgBwF,EAAM6B,YAC/BpG,EAAOrB,KAAK0H,aAAcrG,EAAMuE,IAGjCvE,EAAOrB,KAAK2H,aAActG,EAAMuE,GAEhC5F,KAAK4H,aAAcvG,GAEnBrB,KAAK8G,WAAY,SAAUlB,GAE3BoB,EAAQhH,KAAK6H,iBAEP7H,KAAKQ,SAAWR,KAAKO,8BAA8BqD,QACxD5D,KAAKgC,wBAGA1E,EAAEwK,cAAed,KACtBhH,KAAKsH,wBACLtH,KAAK+H,SAAU,SAAUnC,EAAO5F,KAAKxC,MACrCwC,KAAK6H,kBAGC,IAGRG,WAAY,SAAUpC,GAErB5F,KAAKuC,UAAW,EAChB,IAAI0F,EAAIC,EAAMC,EAAUC,EAAUvE,EAAG1C,EAAMD,EAC1CnB,EAAIC,KAAKpC,QAASqC,EAAOD,KAwC1B,OAtCKA,KAAKQ,UAIT2H,GADAD,GADAD,EAAKjI,KAAKO,+BACAqD,QAAU,YAAgB0B,KAAM2C,EAAI,GAAIxH,YAC/BT,KAAKV,WAAY2I,EAAI,GAAK,QAAW,EAAIhI,EAAKwG,SAASzF,OAC1EoH,EAAWF,EAAO,EAAIjI,EAAKwG,SAAS3F,MAEpC+C,EAAI,CACH/C,MAASb,EAAKzB,OAAOsC,QAAWsH,EAChCpH,OAAUf,EAAKzB,OAAOwC,SAAWmH,GAElChH,EAAShC,WAAYc,EAAKK,QAAQb,IAAK,UACpCQ,EAAKY,SAASM,KAAOlB,EAAKyG,iBAAiBvF,OAAY,KAC1DD,EAAQ/B,WAAYc,EAAKK,QAAQb,IAAK,SACnCQ,EAAKY,SAASK,IAAMjB,EAAKyG,iBAAiBxF,MAAW,KAElDnB,EAAEjC,SACPkC,KAAKM,QAAQb,IAAKnC,EAAE6C,OAAQ0D,EAAG,CAAE3C,IAAKA,EAAKC,KAAMA,KAGlDlB,EAAKzB,OAAOwC,OAAQf,EAAKsG,KAAKvF,QAC9Bf,EAAKzB,OAAOsC,MAAOb,EAAKsG,KAAKzF,OAExBd,KAAKQ,UAAYT,EAAEjC,SACvBkC,KAAKgC,yBAIP1E,EAAG,QAASmC,IAAK,SAAU,QAE3BO,KAAKoC,aAAc,yBAEnBpC,KAAK8G,WAAY,OAAQlB,GAEpB5F,KAAKQ,SACTR,KAAKxB,OAAOqE,UAGN,GAIRyE,sBAAuB,WACtBtH,KAAKqI,aAAe,CACnBnH,IAAKlB,KAAKa,SAASK,IACnBC,KAAMnB,KAAKa,SAASM,MAErBnB,KAAKsI,SAAW,CACfxH,MAAOd,KAAKuG,KAAKzF,MACjBE,OAAQhB,KAAKuG,KAAKvF,SAIpB6G,cAAe,WACd,IAAIb,EAAQ,GAiBZ,OAfKhH,KAAKa,SAASK,MAAQlB,KAAKqI,aAAanH,MAC5C8F,EAAM9F,IAAMlB,KAAKa,SAASK,IAAM,MAE5BlB,KAAKa,SAASM,OAASnB,KAAKqI,aAAalH,OAC7C6F,EAAM7F,KAAOnB,KAAKa,SAASM,KAAO,MAE9BnB,KAAKuG,KAAKzF,QAAUd,KAAKsI,SAASxH,QACtCkG,EAAMlG,MAAQd,KAAKuG,KAAKzF,MAAQ,MAE5Bd,KAAKuG,KAAKvF,SAAWhB,KAAKsI,SAAStH,SACvCgG,EAAMhG,OAAShB,KAAKuG,KAAKvF,OAAS,MAGnChB,KAAKxB,OAAOiB,IAAKuH,GAEVA,GAGRQ,yBAA0B,SAAUe,GACnC,IAAIC,EAAWC,EAAWC,EAAYC,EAAYC,EACjD7I,EAAIC,KAAKpC,QAEVgL,EAAI,CACHhK,SAAUoB,KAAKZ,UAAWW,EAAEnB,UAAamB,EAAEnB,SAAW,EACtDF,SAAUsB,KAAKZ,UAAWW,EAAErB,UAAaqB,EAAErB,SAAWmK,EAAAA,EACtDlK,UAAWqB,KAAKZ,UAAWW,EAAEpB,WAAcoB,EAAEpB,UAAY,EACzDF,UAAWuB,KAAKZ,UAAWW,EAAEtB,WAAcsB,EAAEtB,UAAYoK,EAAAA,IAGrD7I,KAAKI,cAAgBmI,KACzBC,EAAYI,EAAEjK,UAAYqB,KAAK/B,YAC/ByK,EAAaE,EAAEhK,SAAWoB,KAAK/B,YAC/BwK,EAAYG,EAAEnK,UAAYuB,KAAK/B,YAC/B0K,EAAaC,EAAElK,SAAWsB,KAAK/B,YAE1BuK,EAAYI,EAAEhK,WAClBgK,EAAEhK,SAAW4J,GAETE,EAAaE,EAAEjK,YACnBiK,EAAEjK,UAAY+J,GAEVD,EAAYG,EAAElK,WAClBkK,EAAElK,SAAW+J,GAETE,EAAaC,EAAEnK,YACnBmK,EAAEnK,UAAYkK,IAGhB3I,KAAK8I,aAAeF,GAGrBhB,aAAc,SAAUvG,GACvBrB,KAAKsG,OAAStG,KAAKxB,OAAO8H,SACrBtG,KAAKZ,UAAWiC,EAAKF,QACzBnB,KAAKa,SAASM,KAAOE,EAAKF,MAEtBnB,KAAKZ,UAAWiC,EAAKH,OACzBlB,KAAKa,SAASK,IAAMG,EAAKH,KAErBlB,KAAKZ,UAAWiC,EAAKL,UACzBhB,KAAKuG,KAAKvF,OAASK,EAAKL,QAEpBhB,KAAKZ,UAAWiC,EAAKP,SACzBd,KAAKuG,KAAKzF,MAAQO,EAAKP,QAIzB4G,aAAc,SAAUrG,GAEvB,IAAI0H,EAAO/I,KAAKa,SACfmI,EAAQhJ,KAAKuG,KACb/G,EAAIQ,KAAK2D,KAiBV,OAfK3D,KAAKZ,UAAWiC,EAAKL,QACzBK,EAAKP,MAAUO,EAAKL,OAAShB,KAAK/B,YACvB+B,KAAKZ,UAAWiC,EAAKP,SAChCO,EAAKL,OAAWK,EAAKP,MAAQd,KAAK/B,aAGxB,OAANuB,IACJ6B,EAAKF,KAAO4H,EAAK5H,MAAS6H,EAAMlI,MAAQO,EAAKP,OAC7CO,EAAKH,IAAM,MAED,OAAN1B,IACJ6B,EAAKH,IAAM6H,EAAK7H,KAAQ8H,EAAMhI,OAASK,EAAKL,QAC5CK,EAAKF,KAAO4H,EAAK5H,MAAS6H,EAAMlI,MAAQO,EAAKP,QAGvCO,GAGRsG,aAAc,SAAUtG,GAEvB,IAAItB,EAAIC,KAAK8I,aACZtJ,EAAIQ,KAAK2D,KACTsF,EAASjJ,KAAKZ,UAAWiC,EAAKP,QAAWf,EAAErB,UAAcqB,EAAErB,SAAW2C,EAAKP,MAC3EoI,EAASlJ,KAAKZ,UAAWiC,EAAKL,SAAYjB,EAAEtB,WAAesB,EAAEtB,UAAY4C,EAAKL,OAC9EmI,EAASnJ,KAAKZ,UAAWiC,EAAKP,QAAWf,EAAEnB,UAAcmB,EAAEnB,SAAWyC,EAAKP,MAC3EsI,EAASpJ,KAAKZ,UAAWiC,EAAKL,SAAYjB,EAAEpB,WAAeoB,EAAEpB,UAAY0C,EAAKL,OAC9EqI,EAAKrJ,KAAK0G,iBAAiBvF,KAAOnB,KAAKwG,aAAa1F,MACpDwI,EAAKtJ,KAAK0G,iBAAiBxF,IAAMlB,KAAKwG,aAAaxF,OACnDuI,EAAK,UAAUjE,KAAM9F,GAAKgK,EAAK,UAAUlE,KAAM9F,GAkChD,OAjCK2J,IACJ9H,EAAKP,MAAQf,EAAEnB,UAEXwK,IACJ/H,EAAKL,OAASjB,EAAEpB,WAEZsK,IACJ5H,EAAKP,MAAQf,EAAErB,UAEXwK,IACJ7H,EAAKL,OAASjB,EAAEtB,WAGZ0K,GAAUI,IACdlI,EAAKF,KAAOkI,EAAKtJ,EAAEnB,UAEfqK,GAAUM,IACdlI,EAAKF,KAAOkI,EAAKtJ,EAAErB,UAEf0K,GAAUI,IACdnI,EAAKH,IAAMoI,EAAKvJ,EAAEpB,WAEduK,GAAUM,IACdnI,EAAKH,IAAMoI,EAAKvJ,EAAEtB,WAIb4C,EAAKP,OAAUO,EAAKL,QAAWK,EAAKF,OAAQE,EAAKH,IAE1CG,EAAKP,OAAUO,EAAKL,QAAWK,EAAKH,MAAOG,EAAKF,OAC5DE,EAAKF,KAAO,MAFZE,EAAKH,IAAM,KAKLG,GAGRoI,gCAAiC,SAAUnJ,GAgB1C,IAfA,IAAIkD,EAAI,EACPkG,EAAS,GACTC,EAAU,CACTrJ,EAAQb,IAAK,kBACba,EAAQb,IAAK,oBACba,EAAQb,IAAK,qBACba,EAAQb,IAAK,oBAEdmK,EAAW,CACVtJ,EAAQb,IAAK,cACba,EAAQb,IAAK,gBACba,EAAQb,IAAK,iBACba,EAAQb,IAAK,gBAGP+D,EAAI,EAAGA,IACdkG,EAAQlG,GAAQrE,WAAYwK,EAASnG,KAAS,EAC9CkG,EAAQlG,IAASrE,WAAYyK,EAAUpG,KAAS,EAGjD,MAAO,CACNxC,OAAQ0I,EAAQ,GAAMA,EAAQ,GAC9B5I,MAAO4I,EAAQ,GAAMA,EAAQ,KAI/B1H,sBAAuB,WAEtB,GAAMhC,KAAKO,8BAA8BqD,OAQzC,IAJA,IAAIiG,EACHrG,EAAI,EACJlD,EAAUN,KAAKxB,QAAUwB,KAAKM,QAEvBkD,EAAIxD,KAAKO,8BAA8BqD,OAAQJ,IAEtDqG,EAAO7J,KAAKO,8BAA+BiD,GAIrCxD,KAAK8J,kBACV9J,KAAK8J,gBAAkB9J,KAAKyJ,gCAAiCI,IAG9DA,EAAKpK,IAAK,CACTuB,OAAUV,EAAQU,SAAWhB,KAAK8J,gBAAgB9I,QAAY,EAC9DF,MAASR,EAAQQ,QAAUd,KAAK8J,gBAAgBhJ,OAAW,KAO9DqF,aAAc,WAEb,IAAI5G,EAAKS,KAAKM,QAASP,EAAIC,KAAKpC,QAChCoC,KAAK+J,cAAgBxK,EAAG+G,SAEnBtG,KAAKQ,SAETR,KAAKxB,OAASwB,KAAKxB,QAAUlB,EAAG,eAAgBmC,IAAK,CAAEmB,SAAU,WAEjEZ,KAAKE,UAAWF,KAAKxB,OAAQwB,KAAKQ,SAClCR,KAAKxB,OAAOiB,IAAK,CAChBqB,MAAOd,KAAKM,QAAQS,aACpBC,OAAQhB,KAAKM,QAAQW,cACrBJ,SAAU,WACVM,KAAMnB,KAAK+J,cAAc5I,KAAO,KAChCD,IAAKlB,KAAK+J,cAAc7I,IAAM,KAC9BrC,SAAUkB,EAAElB,SAGbmB,KAAKxB,OACHwL,SAAU,QACVvE,oBAGFzF,KAAKxB,OAASwB,KAAKM,SAKrB+G,QAAS,CACRzH,EAAG,SAAUgG,EAAOsB,GACnB,MAAO,CAAEpG,MAAOd,KAAKwG,aAAa1F,MAAQoG,IAE3CpD,EAAG,SAAU8B,EAAOsB,GACnB,IAAI+C,EAAKjK,KAAKwG,aACd,MAAO,CAAErF,KADwBnB,KAAK0G,iBACpBvF,KAAO+F,EAAIpG,MAAOmJ,EAAGnJ,MAAQoG,IAEhDzD,EAAG,SAAUmC,EAAOsB,EAAIC,GACvB,IAAI8C,EAAKjK,KAAKwG,aACd,MAAO,CAAEtF,IADwBlB,KAAK0G,iBACrBxF,IAAMiG,EAAInG,OAAQiJ,EAAGjJ,OAASmG,IAEhDtD,EAAG,SAAU+B,EAAOsB,EAAIC,GACvB,MAAO,CAAEnG,OAAQhB,KAAKwG,aAAaxF,OAASmG,IAE7CpD,GAAI,SAAU6B,EAAOsB,EAAIC,GACxB,OAAO7J,EAAE6C,OAAQH,KAAKqH,QAAQxD,EAAE0D,MAAOvH,KAAMkK,WAC5ClK,KAAKqH,QAAQzH,EAAE2H,MAAOvH,KAAM,CAAE4F,EAAOsB,EAAIC,MAE3CnD,GAAI,SAAU4B,EAAOsB,EAAIC,GACxB,OAAO7J,EAAE6C,OAAQH,KAAKqH,QAAQxD,EAAE0D,MAAOvH,KAAMkK,WAC5ClK,KAAKqH,QAAQvD,EAAEyD,MAAOvH,KAAM,CAAE4F,EAAOsB,EAAIC,MAE3ClD,GAAI,SAAU2B,EAAOsB,EAAIC,GACxB,OAAO7J,EAAE6C,OAAQH,KAAKqH,QAAQ5D,EAAE8D,MAAOvH,KAAMkK,WAC5ClK,KAAKqH,QAAQzH,EAAE2H,MAAOvH,KAAM,CAAE4F,EAAOsB,EAAIC,MAE3CjD,GAAI,SAAU0B,EAAOsB,EAAIC,GACxB,OAAO7J,EAAE6C,OAAQH,KAAKqH,QAAQ5D,EAAE8D,MAAOvH,KAAMkK,WAC5ClK,KAAKqH,QAAQvD,EAAEyD,MAAOvH,KAAM,CAAE4F,EAAOsB,EAAIC,OAI5CL,WAAY,SAAUrD,EAAGmC,GACxBtI,EAAEE,GAAG2M,OAAO3F,KAAMxE,KAAMyD,EAAG,CAAEmC,EAAO5F,KAAKxC,OAC9B,WAANiG,GACJzD,KAAK+H,SAAUtE,EAAGmC,EAAO5F,KAAKxC,OAIhC4M,QAAS,GAET5M,GAAI,WACH,MAAO,CACN6C,gBAAiBL,KAAKK,gBACtBC,QAASN,KAAKM,QACd9B,OAAQwB,KAAKxB,OACbqC,SAAUb,KAAKa,SACf0F,KAAMvG,KAAKuG,KACXC,aAAcxG,KAAKwG,aACnBE,iBAAkB1G,KAAK0G,qBAU1BpJ,EAAEE,GAAG2M,OAAOxF,IAAK,YAAa,UAAW,CAExC3F,KAAM,SAAU4G,GACf,IAAI3F,EAAO3C,EAAG0C,MAAOsB,UAAW,YAC/BvB,EAAIE,EAAKrC,QACTqK,EAAKhI,EAAKM,8BACV2H,EAAOD,EAAGrE,QAAU,YAAgB0B,KAAM2C,EAAI,GAAIxH,UAClD0H,EAAWD,GAAQjI,EAAKX,WAAY2I,EAAI,GAAK,QAAW,EAAIhI,EAAKwG,SAASzF,OAC1EoH,EAAWF,EAAO,EAAIjI,EAAKwG,SAAS3F,MACpCuJ,EAAQ,CACPvJ,MAASb,EAAKsG,KAAKzF,MAAQsH,EAC3BpH,OAAUf,EAAKsG,KAAKvF,OAASmH,GAE9BhH,EAAShC,WAAYc,EAAKK,QAAQb,IAAK,UACpCQ,EAAKY,SAASM,KAAOlB,EAAKyG,iBAAiBvF,OAAY,KAC1DD,EAAQ/B,WAAYc,EAAKK,QAAQb,IAAK,SACnCQ,EAAKY,SAASK,IAAMjB,EAAKyG,iBAAiBxF,MAAW,KAEzDjB,EAAKK,QAAQxC,QACZR,EAAE6C,OAAQkK,EAAOnJ,GAAOC,EAAO,CAAED,IAAKA,EAAKC,KAAMA,GAAS,IAAM,CAC/DmJ,SAAUvK,EAAEhC,gBACZwM,OAAQxK,EAAE/B,cACVwM,KAAM,WAEL,IAAInJ,EAAO,CACVP,MAAO3B,WAAYc,EAAKK,QAAQb,IAAK,UACrCuB,OAAQ7B,WAAYc,EAAKK,QAAQb,IAAK,WACtCyB,IAAK/B,WAAYc,EAAKK,QAAQb,IAAK,QACnC0B,KAAMhC,WAAYc,EAAKK,QAAQb,IAAK,UAGhCwI,GAAMA,EAAGrE,QACbtG,EAAG2K,EAAI,IAAMxI,IAAK,CAAEqB,MAAOO,EAAKP,MAAOE,OAAQK,EAAKL,SAIrDf,EAAK2H,aAAcvG,GACnBpB,EAAK6G,WAAY,SAAUlB,SAShCtI,EAAEE,GAAG2M,OAAOxF,IAAK,YAAa,cAAe,CAE5C5F,MAAO,WACN,IAAIuB,EAASmK,EAAGC,EAAIlB,EAAID,EAAIzI,EAAOE,EAClCf,EAAO3C,EAAG0C,MAAOsB,UAAW,YAC5BvB,EAAIE,EAAKrC,QACT2B,EAAKU,EAAKK,QACVqK,EAAK5K,EAAE3B,YACPwM,EAAOD,aAAcrN,EACpBqN,EAAGE,IAAK,GACN,SAASvF,KAAMqF,GAASpL,EAAG6B,SAASyJ,IAAK,GAAMF,EAE7CC,IAIN3K,EAAK6K,iBAAmBxN,EAAGsN,GAEtB,WAAWtF,KAAMqF,IAAQA,IAAOI,UACpC9K,EAAK+K,gBAAkB,CACtB7J,KAAM,EACND,IAAK,GAENjB,EAAKgL,kBAAoB,CACxB9J,KAAM,EACND,IAAK,GAGNjB,EAAKiL,WAAa,CACjB5K,QAAShD,EAAGyN,UACZ5J,KAAM,EACND,IAAK,EACLJ,MAAOxD,EAAGyN,UAAWjK,QACrBE,OAAQ1D,EAAGyN,UAAW/J,UAAY+J,SAASI,KAAKC,WAAWC,gBAG5D/K,EAAUhD,EAAGsN,GACbH,EAAI,GACJnN,EAAG,CAAE,MAAO,QAAS,OAAQ,WAAagO,MAAM,SAAU9H,EAAG+H,GAC5Dd,EAAGjH,GAAMvD,EAAKhB,KAAMqB,EAAQb,IAAK,UAAY8L,OAG9CtL,EAAK+K,gBAAkB1K,EAAQgG,SAC/BrG,EAAKgL,kBAAoB3K,EAAQO,WACjCZ,EAAKuL,cAAgB,CACpBxK,OAAUV,EAAQmL,cAAgBhB,EAAG,GACrC3J,MAASR,EAAQoL,aAAejB,EAAG,IAGpCC,EAAKzK,EAAK+K,gBACVxB,EAAKvJ,EAAKuL,cAAcxK,OACxBuI,EAAKtJ,EAAKuL,cAAc1K,MACxBA,EAAUb,EAAKX,WAAYsL,EAAI,QAAWA,EAAGe,YAAcpC,EAC3DvI,EAAWf,EAAKX,WAAYsL,GAAOA,EAAGS,aAAe7B,EAErDvJ,EAAKiL,WAAa,CACjB5K,QAASsK,EACTzJ,KAAMuJ,EAAGvJ,KACTD,IAAKwJ,EAAGxJ,IACRJ,MAAOA,EACPE,OAAQA,MAKXlC,OAAQ,SAAU8G,GACjB,IAAIgG,EAAOC,EAAOC,EAAUC,EAC3B9L,EAAO3C,EAAG0C,MAAOsB,UAAW,YAC5BvB,EAAIE,EAAKrC,QACT8M,EAAKzK,EAAK+K,gBACVgB,EAAK/L,EAAKY,SACVoL,EAAShM,EAAKG,cAAgBwF,EAAM6B,SACpCyE,EAAM,CACLhL,IAAK,EACLC,KAAM,GAEPyJ,EAAK3K,EAAK6K,iBACVqB,GAAiB,EAEbvB,EAAI,KAAQG,UAAY,SAAazF,KAAMsF,EAAGnL,IAAK,eACvDyM,EAAMxB,GAGFsB,EAAG7K,MAASlB,EAAKO,QAAUkK,EAAGvJ,KAAO,KACzClB,EAAKsG,KAAKzF,MAAQb,EAAKsG,KAAKzF,OACzBb,EAAKO,QACJP,EAAKY,SAASM,KAAOuJ,EAAGvJ,KACxBlB,EAAKY,SAASM,KAAO+K,EAAI/K,MAExB8K,IACJhM,EAAKsG,KAAKvF,OAASf,EAAKsG,KAAKzF,MAAQb,EAAKhC,YAC1CkO,GAAiB,GAElBlM,EAAKY,SAASM,KAAOpB,EAAEvB,OAASkM,EAAGvJ,KAAO,GAGtC6K,EAAG9K,KAAQjB,EAAKO,QAAUkK,EAAGxJ,IAAM,KACvCjB,EAAKsG,KAAKvF,OAASf,EAAKsG,KAAKvF,QAC1Bf,EAAKO,QACJP,EAAKY,SAASK,IAAMwJ,EAAGxJ,IACzBjB,EAAKY,SAASK,KAEX+K,IACJhM,EAAKsG,KAAKzF,MAAQb,EAAKsG,KAAKvF,OAASf,EAAKhC,YAC1CkO,GAAiB,GAElBlM,EAAKY,SAASK,IAAMjB,EAAKO,QAAUkK,EAAGxJ,IAAM,GAG7C4K,EAAW7L,EAAK6K,iBAAiBD,IAAK,KAAQ5K,EAAKK,QAAQc,SAASyJ,IAAK,GACzEkB,EAAmB,oBAAoBzG,KAAMrF,EAAK6K,iBAAiBrL,IAAK,aAEnEqM,GAAYC,GAChB9L,EAAKqG,OAAOnF,KAAOlB,EAAKiL,WAAW/J,KAAOlB,EAAKY,SAASM,KACxDlB,EAAKqG,OAAOpF,IAAMjB,EAAKiL,WAAWhK,IAAMjB,EAAKY,SAASK,MAEtDjB,EAAKqG,OAAOnF,KAAOlB,EAAKK,QAAQgG,SAASnF,KACzClB,EAAKqG,OAAOpF,IAAMjB,EAAKK,QAAQgG,SAASpF,KAGzC0K,EAAQQ,KAAKC,IAAKpM,EAAKwG,SAAS3F,OAC7Bb,EAAKO,QACNP,EAAKqG,OAAOnF,KAAO+K,EAAI/K,KACrBlB,EAAKqG,OAAOnF,KAAOuJ,EAAGvJ,OAE1B0K,EAAQO,KAAKC,IAAKpM,EAAKwG,SAASzF,QAC7Bf,EAAKO,QACNP,EAAKqG,OAAOpF,IAAMgL,EAAIhL,IACpBjB,EAAKqG,OAAOpF,IAAMwJ,EAAGxJ,MAEpB0K,EAAQ3L,EAAKsG,KAAKzF,OAASb,EAAKiL,WAAWpK,QAC/Cb,EAAKsG,KAAKzF,MAAQb,EAAKiL,WAAWpK,MAAQ8K,EACrCK,IACJhM,EAAKsG,KAAKvF,OAASf,EAAKsG,KAAKzF,MAAQb,EAAKhC,YAC1CkO,GAAiB,IAIdN,EAAQ5L,EAAKsG,KAAKvF,QAAUf,EAAKiL,WAAWlK,SAChDf,EAAKsG,KAAKvF,OAASf,EAAKiL,WAAWlK,OAAS6K,EACvCI,IACJhM,EAAKsG,KAAKzF,MAAQb,EAAKsG,KAAKvF,OAASf,EAAKhC,YAC1CkO,GAAiB,IAIbA,IACLlM,EAAKY,SAASM,KAAOlB,EAAKoI,aAAalH,KACvClB,EAAKY,SAASK,IAAMjB,EAAKoI,aAAanH,IACtCjB,EAAKsG,KAAKzF,MAAQb,EAAKqI,SAASxH,MAChCb,EAAKsG,KAAKvF,OAASf,EAAKqI,SAAStH,SAInChC,KAAM,WACL,IAAIiB,EAAO3C,EAAG0C,MAAOsB,UAAW,YAC/BvB,EAAIE,EAAKrC,QACT8M,EAAKzK,EAAK+K,gBACVkB,EAAMjM,EAAKgL,kBACXL,EAAK3K,EAAK6K,iBACVtM,EAASlB,EAAG2C,EAAKzB,QACjB8N,EAAK9N,EAAO8H,SACZxC,EAAItF,EAAOuC,aAAed,EAAKwG,SAAS3F,MACxCyL,EAAI/N,EAAOyC,cAAgBhB,EAAKwG,SAASzF,OAErCf,EAAKO,UAAYT,EAAEjC,SAAW,WAAewH,KAAMsF,EAAGnL,IAAK,cAC/DnC,EAAG0C,MAAOP,IAAK,CACd0B,KAAMmL,EAAGnL,KAAO+K,EAAI/K,KAAOuJ,EAAGvJ,KAC9BL,MAAOgD,EACP9C,OAAQuL,IAILtM,EAAKO,UAAYT,EAAEjC,SAAW,SAAawH,KAAMsF,EAAGnL,IAAK,cAC7DnC,EAAG0C,MAAOP,IAAK,CACd0B,KAAMmL,EAAGnL,KAAO+K,EAAI/K,KAAOuJ,EAAGvJ,KAC9BL,MAAOgD,EACP9C,OAAQuL,OAMZjP,EAAEE,GAAG2M,OAAOxF,IAAK,YAAa,aAAc,CAE3C5F,MAAO,WACN,IACCgB,EADUzC,EAAG0C,MAAOsB,UAAW,YACtB1D,QAEVN,EAAGyC,EAAElC,YAAayN,MAAM,WACvB,IAAI/L,EAAKjC,EAAG0C,MACZT,EAAG8B,KAAM,0BAA2B,CACnCP,MAAO3B,WAAYI,EAAGuB,SAAWE,OAAQ7B,WAAYI,EAAGyB,UACxDG,KAAMhC,WAAYI,EAAGE,IAAK,SAAYyB,IAAK/B,WAAYI,EAAGE,IAAK,cAKlEX,OAAQ,SAAU8G,EAAOpI,GACxB,IAAIyC,EAAO3C,EAAG0C,MAAOsB,UAAW,YAC/BvB,EAAIE,EAAKrC,QACT4O,EAAKvM,EAAKuG,aACViG,EAAKxM,EAAKyG,iBACVgG,EAAQ,CACP1L,OAAUf,EAAKsG,KAAKvF,OAASwL,EAAGxL,QAAY,EAC5CF,MAASb,EAAKsG,KAAKzF,MAAQ0L,EAAG1L,OAAW,EACzCI,IAAOjB,EAAKY,SAASK,IAAMuL,EAAGvL,KAAS,EACvCC,KAAQlB,EAAKY,SAASM,KAAOsL,EAAGtL,MAAU,GAG3C7D,EAAGyC,EAAElC,YAAayN,MAAM,WACvB,IAAI/L,EAAKjC,EAAG0C,MAAQjB,EAAQzB,EAAG0C,MAAOqB,KAAM,2BAA6BgJ,EAAQ,GAChF5K,EAAMF,EAAGoN,QAASnP,EAAG6C,gBAAiB,IAAMuD,OAC1C,CAAE,QAAS,UACX,CAAE,QAAS,SAAU,MAAO,QAE/BtG,EAAEgO,KAAM7L,GAAK,SAAU+D,EAAGoJ,GACzB,IAAIC,GAAQ9N,EAAO6N,IAAU,IAAQF,EAAOE,IAAU,GACjDC,GAAOA,GAAO,IAClBxC,EAAOuC,GAASC,GAAO,SAIzBtN,EAAGE,IAAK4K,OAIXrL,KAAM,WACL1B,EAAG0C,MAAOgD,WAAY,8BAIxB1F,EAAEE,GAAG2M,OAAOxF,IAAK,YAAa,QAAS,CAEtC5F,MAAO,WAEN,IAAIkB,EAAO3C,EAAG0C,MAAOsB,UAAW,YAAc2I,EAAKhK,EAAKsG,KAExDtG,EAAK5B,MAAQ4B,EAAKI,gBAAgByM,QAClC7M,EAAK5B,MAAMoB,IAAK,CACfsN,QAAS,IACThL,QAAS,QACTlB,SAAU,WACVG,OAAQiJ,EAAGjJ,OACXF,MAAOmJ,EAAGnJ,MACVkM,OAAQ,EACR7L,KAAM,EACND,IAAK,IAGNjB,EAAKC,UAAWD,EAAK5B,MAAO,uBAIJ,IAAnBf,EAAE2P,cAAwD,iBAAvBhN,EAAKrC,QAAQS,OAGpD4B,EAAK5B,MAAM6O,SAAUlN,KAAKpC,QAAQS,OAGnC4B,EAAK5B,MAAM2L,SAAU/J,EAAKzB,SAI3BM,OAAQ,WACP,IAAImB,EAAO3C,EAAG0C,MAAOsB,UAAW,YAC3BrB,EAAK5B,OACT4B,EAAK5B,MAAMoB,IAAK,CACfoB,SAAU,WACVG,OAAQf,EAAKsG,KAAKvF,OAClBF,MAAOb,EAAKsG,KAAKzF,SAKpB9B,KAAM,WACL,IAAIiB,EAAO3C,EAAG0C,MAAOsB,UAAW,YAC3BrB,EAAK5B,OAAS4B,EAAKzB,QACvByB,EAAKzB,OAAOqM,IAAK,GAAIsC,YAAalN,EAAK5B,MAAMwM,IAAK,OAMrDvN,EAAEE,GAAG2M,OAAOxF,IAAK,YAAa,OAAQ,CAErC7F,OAAQ,WACP,IAAIgL,EACH7J,EAAO3C,EAAG0C,MAAOsB,UAAW,YAC5BvB,EAAIE,EAAKrC,QACTqM,EAAKhK,EAAKsG,KACViG,EAAKvM,EAAKuG,aACViG,EAAKxM,EAAKyG,iBACVlH,EAAIS,EAAK0D,KACTrF,EAAyB,iBAAXyB,EAAEzB,KAAoB,CAAEyB,EAAEzB,KAAMyB,EAAEzB,MAASyB,EAAEzB,KAC3D8O,EAAU9O,EAAM,IAAO,EACvB+O,EAAU/O,EAAM,IAAO,EACvBgP,EAAKlB,KAAKmB,OAAStD,EAAGnJ,MAAQ0L,EAAG1L,OAAUsM,GAAUA,EACrDI,EAAKpB,KAAKmB,OAAStD,EAAGjJ,OAASwL,EAAGxL,QAAWqM,GAAUA,EACvDI,EAAWjB,EAAG1L,MAAQwM,EACtBI,EAAYlB,EAAGxL,OAASwM,EACxBG,EAAa5N,EAAErB,UAAcqB,EAAErB,SAAW+O,EAC1CG,EAAc7N,EAAEtB,WAAesB,EAAEtB,UAAYiP,EAC7CG,EAAa9N,EAAEnB,UAAcmB,EAAEnB,SAAW6O,EAC1CK,EAAc/N,EAAEpB,WAAeoB,EAAEpB,UAAY+O,EAE9C3N,EAAEzB,KAAOA,EAEJuP,IACJJ,GAAYL,GAERU,IACJJ,GAAaL,GAETM,IACJF,GAAYL,GAERQ,IACJF,GAAaL,GAGT,aAAa/H,KAAM9F,IACvBS,EAAKsG,KAAKzF,MAAQ2M,EAClBxN,EAAKsG,KAAKvF,OAAS0M,GACR,SAASpI,KAAM9F,IAC1BS,EAAKsG,KAAKzF,MAAQ2M,EAClBxN,EAAKsG,KAAKvF,OAAS0M,EACnBzN,EAAKY,SAASK,IAAMuL,EAAGvL,IAAMsM,GAClB,SAASlI,KAAM9F,IAC1BS,EAAKsG,KAAKzF,MAAQ2M,EAClBxN,EAAKsG,KAAKvF,OAAS0M,EACnBzN,EAAKY,SAASM,KAAOsL,EAAGtL,KAAOmM,KAE1BI,EAAYL,GAAS,GAAKI,EAAWL,GAAS,KAClDtD,EAAkB7J,EAAKwJ,gCAAiCzJ,OAGpD0N,EAAYL,EAAQ,GACxBpN,EAAKsG,KAAKvF,OAAS0M,EACnBzN,EAAKY,SAASK,IAAMuL,EAAGvL,IAAMsM,IAE7BE,EAAYL,EAAQvD,EAAgB9I,OACpCf,EAAKsG,KAAKvF,OAAS0M,EACnBzN,EAAKY,SAASK,IAAMuL,EAAGvL,IAAMsL,EAAGxL,OAAS0M,GAErCD,EAAWL,EAAQ,GACvBnN,EAAKsG,KAAKzF,MAAQ2M,EAClBxN,EAAKY,SAASM,KAAOsL,EAAGtL,KAAOmM,IAE/BG,EAAWL,EAAQtD,EAAgBhJ,MACnCb,EAAKsG,KAAKzF,MAAQ2M,EAClBxN,EAAKY,SAASM,KAAOsL,EAAGtL,KAAOqL,EAAG1L,MAAQ2M,OAOvCnQ,EAAEE,GAAG8D","file":"resizable-min.js"}
\ No newline at end of file
diff --git a/web/core/assets/vendor/jquery.ui/ui/widgets/resizable.js b/web/core/assets/vendor/jquery.ui/ui/widgets/resizable.js
index 741664281d..3763065666 100644
--- a/web/core/assets/vendor/jquery.ui/ui/widgets/resizable.js
+++ b/web/core/assets/vendor/jquery.ui/ui/widgets/resizable.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery UI Resizable 1.12.1
+ * jQuery UI Resizable 1.13.1
  * http://jqueryui.com
  *
  * Copyright jQuery Foundation and other contributors
@@ -17,6 +17,8 @@
 //>>css.theme: ../../themes/base/theme.css
 
 ( function( factory ) {
+	"use strict";
+
 	if ( typeof define === "function" && define.amd ) {
 
 		// AMD. Register as an anonymous module.
@@ -33,10 +35,11 @@
 		// Browser globals
 		factory( jQuery );
 	}
-}( function( $ ) {
+} )( function( $ ) {
+"use strict";
 
 $.widget( "ui.resizable", $.ui.mouse, {
-	version: "1.12.1",
+	version: "1.13.1",
 	widgetEventPrefix: "resize",
 	options: {
 		alsoResize: false,
@@ -91,9 +94,15 @@ $.widget( "ui.resizable", $.ui.mouse, {
 		// TODO: determine which cases actually cause this to happen
 		// if the element doesn't have the scroll set, see if it's possible to
 		// set the scroll
-		el[ scroll ] = 1;
-		has = ( el[ scroll ] > 0 );
-		el[ scroll ] = 0;
+		try {
+			el[ scroll ] = 1;
+			has = ( el[ scroll ] > 0 );
+			el[ scroll ] = 0;
+		} catch ( e ) {
+
+			// `el` might be a string, then setting `scroll` will throw
+			// an error in strict mode; ignore it.
+		}
 		return has;
 	},
 
@@ -116,7 +125,8 @@ $.widget( "ui.resizable", $.ui.mouse, {
 		if ( this.element[ 0 ].nodeName.match( /^(canvas|textarea|input|select|button|img)$/i ) ) {
 
 			this.element.wrap(
-				$( "<div class='ui-wrapper' style='overflow: hidden;'></div>" ).css( {
+				$( "<div class='ui-wrapper'></div>" ).css( {
+					overflow: "hidden",
 					position: this.element.css( "position" ),
 					width: this.element.outerWidth(),
 					height: this.element.outerHeight(),
@@ -187,15 +197,14 @@ $.widget( "ui.resizable", $.ui.mouse, {
 	_destroy: function() {
 
 		this._mouseDestroy();
+		this._addedHandles.remove();
 
 		var wrapper,
 			_destroy = function( exp ) {
 				$( exp )
 					.removeData( "resizable" )
 					.removeData( "ui-resizable" )
-					.off( ".resizable" )
-					.find( ".ui-resizable-handle" )
-						.remove();
+					.off( ".resizable" );
 			};
 
 		// TODO: Unwrap at same DOM position
@@ -226,6 +235,9 @@ $.widget( "ui.resizable", $.ui.mouse, {
 			this._removeHandles();
 			this._setupHandles();
 			break;
+		case "aspectRatio":
+			this._aspectRatio = !!value;
+			break;
 		default:
 			break;
 		}
@@ -247,6 +259,7 @@ $.widget( "ui.resizable", $.ui.mouse, {
 				} );
 
 		this._handles = $();
+		this._addedHandles = $();
 		if ( this.handles.constructor === String ) {
 
 			if ( this.handles === "all" ) {
@@ -258,7 +271,7 @@ $.widget( "ui.resizable", $.ui.mouse, {
 
 			for ( i = 0; i < n.length; i++ ) {
 
-				handle = $.trim( n[ i ] );
+				handle = String.prototype.trim.call( n[ i ] );
 				hname = "ui-resizable-" + handle;
 				axis = $( "<div>" );
 				this._addClass( axis, "ui-resizable-handle " + hname );
@@ -266,7 +279,10 @@ $.widget( "ui.resizable", $.ui.mouse, {
 				axis.css( { zIndex: o.zIndex } );
 
 				this.handles[ handle ] = ".ui-resizable-" + handle;
-				this.element.append( axis );
+				if ( !this.element.children( this.handles[ handle ] ).length ) {
+					this.element.append( axis );
+					this._addedHandles = this._addedHandles.add( axis );
+				}
 			}
 
 		}
@@ -332,7 +348,7 @@ $.widget( "ui.resizable", $.ui.mouse, {
 	},
 
 	_removeHandles: function() {
-		this._handles.remove();
+		this._addedHandles.remove();
 	},
 
 	_mouseCapture: function( event ) {
@@ -712,7 +728,7 @@ $.widget( "ui.resizable", $.ui.mouse, {
 
 		if ( this._helper ) {
 
-			this.helper = this.helper || $( "<div style='overflow:hidden;'></div>" );
+			this.helper = this.helper || $( "<div></div>" ).css( { overflow: "hidden" } );
 
 			this._addClass( this.helper, this._helper );
 			this.helper.css( {
@@ -769,7 +785,9 @@ $.widget( "ui.resizable", $.ui.mouse, {
 
 	_propagate: function( n, event ) {
 		$.ui.plugin.call( this, n, [ event, this.ui() ] );
-		( n !== "resize" && this._trigger( n, event, this.ui() ) );
+		if ( n !== "resize" ) {
+			this._trigger( n, event, this.ui() );
+		}
 	},
 
 	plugins: {},
@@ -890,8 +908,8 @@ $.ui.plugin.add( "resizable", "containment", {
 			co = that.containerOffset;
 			ch = that.containerSize.height;
 			cw = that.containerSize.width;
-			width = ( that._hasScroll ( ce, "left" ) ? ce.scrollWidth : cw );
-			height = ( that._hasScroll ( ce ) ? ce.scrollHeight : ch ) ;
+			width = ( that._hasScroll( ce, "left" ) ? ce.scrollWidth : cw );
+			height = ( that._hasScroll( ce ) ? ce.scrollHeight : ch );
 
 			that.parentData = {
 				element: ce,
@@ -1198,4 +1216,4 @@ $.ui.plugin.add( "resizable", "grid", {
 
 return $.ui.resizable;
 
-} ) );
+} );
diff --git a/web/core/core.libraries.yml b/web/core/core.libraries.yml
index 28945d6867..4612cfeb28 100644
--- a/web/core/core.libraries.yml
+++ b/web/core/core.libraries.yml
@@ -24,10 +24,10 @@ ckeditor:
 
 ckeditor5:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     # This file is not aggregated to force the creation of a new aggregate file
@@ -41,10 +41,10 @@ ckeditor5:
 
 ckeditor5.editorClassic:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/editor-classic/editor-classic.js: { minified: true }
@@ -53,10 +53,10 @@ ckeditor5.editorClassic:
 
 ckeditor5.editorDecoupled:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js: { minified: true }
@@ -66,10 +66,10 @@ ckeditor5.editorDecoupled:
 
 ckeditor5.internal:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/essentials/essentials.js: { minified: true }
@@ -79,10 +79,10 @@ ckeditor5.internal:
 
 ckeditor5.heading:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/heading/heading.js: { minified: true }
@@ -92,10 +92,10 @@ ckeditor5.heading:
 
 ckeditor5.basic:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/basic-styles/basic-styles.js: { minified: true }
@@ -105,10 +105,10 @@ ckeditor5.basic:
 
 ckeditor5.specialCharacters:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/special-characters/special-characters.js: { minified: true }
@@ -118,10 +118,10 @@ ckeditor5.specialCharacters:
 
 ckeditor5.blockquote:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/block-quote/block-quote.js: { minified: true }
@@ -131,10 +131,10 @@ ckeditor5.blockquote:
 
 ckeditor5.image:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/image/image.js: { minified: true }
@@ -144,10 +144,10 @@ ckeditor5.image:
 
 ckeditor5.link:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/link/link.js: { minified: true }
@@ -157,10 +157,10 @@ ckeditor5.link:
 
 ckeditor5.list:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/list/list.js: { minified: true }
@@ -170,10 +170,10 @@ ckeditor5.list:
 
 ckeditor5.horizontalLine:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/horizontal-line/horizontal-line.js: { minified: true }
@@ -183,10 +183,10 @@ ckeditor5.horizontalLine:
 
 ckeditor5.htmlSupport:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/html-support/html-support.js: { minified: true }
@@ -196,10 +196,10 @@ ckeditor5.htmlSupport:
 
 ckeditor5.alignment:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/alignment/alignment.js: { minified: true }
@@ -209,10 +209,10 @@ ckeditor5.alignment:
 
 ckeditor5.removeFormat:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/remove-format/remove-format.js: { minified: true }
@@ -222,10 +222,10 @@ ckeditor5.removeFormat:
 
 ckeditor5.pasteFromOffice:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/paste-from-office/paste-from-office.js: { minified: true }
@@ -234,10 +234,10 @@ ckeditor5.pasteFromOffice:
 
 ckeditor5.indent:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/indent/indent.js: { minified: true }
@@ -247,10 +247,10 @@ ckeditor5.indent:
 
 ckeditor5.sourceEditing:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/source-editing/source-editing.js: { minified: true }
@@ -260,10 +260,10 @@ ckeditor5.sourceEditing:
 
 ckeditor5.table:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/table/table.js: { minified: true }
@@ -273,10 +273,10 @@ ckeditor5.table:
 
 ckeditor5.language:
   remote: https://github.com/ckeditor/ckeditor5
-  version: "31.0.0"
+  version: "34.0.0"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://github.com/ckeditor/ckeditor5/blob/v31.0.0/LICENSE.md
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/ckeditor5/language/language.js: { minified: true }
@@ -284,6 +284,19 @@ ckeditor5.language:
     - core/ckeditor5
     - core/ckeditor5.translations
 
+ckeditor5.codeBlock:
+  remote: https://github.com/ckeditor/ckeditor5
+  version: "34.0.0"
+  license:
+    name: GNU-GPL-2.0-or-later
+    url: https://github.com/ckeditor/ckeditor5/blob/v34.0.0/LICENSE.md
+    gpl-compatible: true
+  js:
+    assets/vendor/ckeditor5/code-block/code-block.js: { minified: true }
+  dependencies:
+    - core/ckeditor5
+    - core/ckeditor5.translations
+
 ckeditor5.translations:
   # No sensible version can be specified, since the translations may change at
   # any time.
@@ -390,11 +403,10 @@ drupal.autocomplete:
     assets/vendor/jquery.ui/ui/widgets/menu-min.js: { weight: -11.7, minified: true }
     assets/vendor/jquery.ui/ui/data-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/disable-selection-min.js: { weight: -11.8, minified: true }
-    assets/vendor/jquery.ui/ui/escape-selector-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/focusable-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/form-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/ie-min.js: { weight: -11.8, minified: true }
-    assets/vendor/jquery.ui/ui/jquery-1-7-min.js: { weight: -11.8, minified: true }
+    assets/vendor/jquery.ui/ui/jquery-patch-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/keycode-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/plugin-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/safe-active-element-min.js: { weight: -11.8, minified: true }
@@ -504,10 +516,9 @@ drupal.dialog:
     assets/vendor/jquery.ui/ui/data-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/disable-selection-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/form-min.js: { weight: -11.8, minified: true }
-    assets/vendor/jquery.ui/ui/jquery-1-7-min.js: { weight: -11.8, minified: true }
+    assets/vendor/jquery.ui/ui/jquery-patch-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/scroll-parent-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/unique-id-min.js: { weight: -11.8, minified: true }
-    assets/vendor/jquery.ui/ui/escape-selector-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/focusable-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/ie-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/keycode-min.js: { weight: -11.8, minified: true }
@@ -849,20 +860,19 @@ jquery.once.bc:
     - core/drupal.object.assign
 
 jquery.ui:
-  version: &jquery_ui_version 1.12.1
+  version: &jquery_ui_version "1.13.1"
   license: &jquery_ui_license
     name: Public Domain
-    url: https://raw.githubusercontent.com/jquery/jquery-ui/1.12.1/LICENSE.txt
+    url: https://raw.githubusercontent.com/jquery/jquery-ui/1.13.1/LICENSE.txt
     gpl-compatible: true
   js:
     assets/vendor/jquery.ui/ui/labels-min.js: { weight: -11.7, minified: true }
     assets/vendor/jquery.ui/ui/data-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/disable-selection-min.js: { weight: -11.8, minified: true }
-    assets/vendor/jquery.ui/ui/escape-selector-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/focusable-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/form-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/ie-min.js: { weight: -11.8, minified: true }
-    assets/vendor/jquery.ui/ui/jquery-1-7-min.js: { weight: -11.8, minified: true }
+    assets/vendor/jquery.ui/ui/jquery-patch-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/keycode-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/plugin-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/safe-active-element-min.js: { weight: -11.8, minified: true }
@@ -928,11 +938,10 @@ jquery.ui.dialog:
     assets/vendor/jquery.ui/ui/widgets/mouse-min.js: { weight: -11.7, minified: true }
     assets/vendor/jquery.ui/ui/data-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/disable-selection-min.js: { weight: -11.8, minified: true }
-    assets/vendor/jquery.ui/ui/escape-selector-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/focusable-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/form-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/ie-min.js: { weight: -11.8, minified: true }
-    assets/vendor/jquery.ui/ui/jquery-1-7-min.js: { weight: -11.8, minified: true }
+    assets/vendor/jquery.ui/ui/jquery-patch-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/keycode-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/plugin-min.js: { weight: -11.8, minified: true }
     assets/vendor/jquery.ui/ui/safe-active-element-min.js: { weight: -11.8, minified: true }
diff --git a/web/core/lib/Drupal.php b/web/core/lib/Drupal.php
index 200fb50247..2c3ab0d7ec 100644
--- a/web/core/lib/Drupal.php
+++ b/web/core/lib/Drupal.php
@@ -75,7 +75,7 @@ class Drupal {
   /**
    * The current system version.
    */
-  const VERSION = '9.3.9';
+  const VERSION = '9.3.12';
 
   /**
    * Core API compatibility.
diff --git a/web/core/lib/Drupal/Component/Render/FormattableMarkup.php b/web/core/lib/Drupal/Component/Render/FormattableMarkup.php
index 404cf7e6bd..d9cb205fe6 100644
--- a/web/core/lib/Drupal/Component/Render/FormattableMarkup.php
+++ b/web/core/lib/Drupal/Component/Render/FormattableMarkup.php
@@ -20,7 +20,7 @@
  * non-English-only sites) in addition to formatting it. Variables concatenated
  * without the insertion of language-specific words or punctuation are some
  * examples where translation is not applicable and using this class directly
- * directly is appropriate.
+ * is appropriate.
  *
  * This class is designed for formatting messages that are mostly text, not as
  * an HTML template language. As such:
diff --git a/web/core/lib/Drupal/Core/Cache/Context/CookiesCacheContext.php b/web/core/lib/Drupal/Core/Cache/Context/CookiesCacheContext.php
index fe7f4f5017..9ee43fa8d8 100644
--- a/web/core/lib/Drupal/Core/Cache/Context/CookiesCacheContext.php
+++ b/web/core/lib/Drupal/Core/Cache/Context/CookiesCacheContext.php
@@ -25,7 +25,12 @@ public static function getLabel() {
    */
   public function getContext($cookie = NULL) {
     if ($cookie === NULL) {
-      return $this->requestStack->getCurrentRequest()->cookies->all();
+      $cookies = $this->requestStack->getCurrentRequest()->cookies->all();
+      // Sort the cookies by names, to always set the same context if the cookies
+      // are the same but in a different order.
+      ksort($cookies);
+      // Use http_build_query() to get a short string from the cookies array.
+      return http_build_query($cookies);
     }
     else {
       return $this->requestStack->getCurrentRequest()->cookies->get($cookie);
diff --git a/web/core/lib/Drupal/Core/Composer/Composer.php b/web/core/lib/Drupal/Core/Composer/Composer.php
index 0048296d84..fc7ce25cd4 100644
--- a/web/core/lib/Drupal/Core/Composer/Composer.php
+++ b/web/core/lib/Drupal/Core/Composer/Composer.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Core\Composer;
 
+use Composer\DependencyResolver\Operation\UpdateOperation;
 use Composer\Installer\PackageEvent;
 use Composer\Script\Event;
 use Composer\Semver\Constraint\Constraint;
@@ -186,7 +187,7 @@ public static function vendorTestCodeCleanup(PackageEvent $event) {
     $vendor_dir = $event->getComposer()->getConfig()->get('vendor-dir');
     $io = $event->getIO();
     $op = $event->getOperation();
-    if ($op->getJobType() == 'update') {
+    if ($op instanceof UpdateOperation) {
       $package = $op->getTargetPackage();
     }
     else {
diff --git a/web/core/lib/Drupal/Core/Database/Driver/mysql/Schema.php b/web/core/lib/Drupal/Core/Database/Driver/mysql/Schema.php
index 0b3e5f4c79..0dadebf2c1 100644
--- a/web/core/lib/Drupal/Core/Database/Driver/mysql/Schema.php
+++ b/web/core/lib/Drupal/Core/Database/Driver/mysql/Schema.php
@@ -673,46 +673,6 @@ public function getComment($table, $column = NULL) {
     return preg_replace('/; InnoDB free:.*$/', '', $comment);
   }
 
-  /**
-   * {@inheritdoc}
-   */
-  public function tableExists($table) {
-    // The information_schema table is very slow to query under MySQL 5.0.
-    // Instead, we try to select from the table in question.  If it fails,
-    // the most likely reason is that it does not exist. That is dramatically
-    // faster than using information_schema.
-    // @link http://bugs.mysql.com/bug.php?id=19588
-    // @todo This override should be removed once we require a version of MySQL
-    //   that has that bug fixed.
-    try {
-      $this->connection->queryRange("SELECT 1 FROM {" . $table . "}", 0, 1);
-      return TRUE;
-    }
-    catch (\Exception $e) {
-      return FALSE;
-    }
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function fieldExists($table, $column) {
-    // The information_schema table is very slow to query under MySQL 5.0.
-    // Instead, we try to select from the table and field in question. If it
-    // fails, the most likely reason is that it does not exist. That is
-    // dramatically faster than using information_schema.
-    // @link http://bugs.mysql.com/bug.php?id=19588
-    // @todo This override should be removed once we require a version of MySQL
-    //   that has that bug fixed.
-    try {
-      $this->connection->queryRange("SELECT $column FROM {" . $table . "}", 0, 1);
-      return TRUE;
-    }
-    catch (\Exception $e) {
-      return FALSE;
-    }
-  }
-
 }
 
 /**
diff --git a/web/core/lib/Drupal/Core/Form/FormBuilder.php b/web/core/lib/Drupal/Core/Form/FormBuilder.php
index 04cde336b1..4ed0faed77 100644
--- a/web/core/lib/Drupal/Core/Form/FormBuilder.php
+++ b/web/core/lib/Drupal/Core/Form/FormBuilder.php
@@ -1217,7 +1217,7 @@ protected function handleInputElement($form_id, &$element, FormStateInterface &$
     // #access=FALSE on an element usually allow access for some users, so forms
     // submitted with self::submitForm() may bypass access restriction and be
     // treated as high-privilege users instead.
-    $process_input = empty($element['#disabled']) && ($element['#type'] !== 'value') && (($form_state->isProgrammed() && $form_state->isBypassingProgrammedAccessChecks()) || ($form_state->isProcessingInput() && (!isset($element['#access']) || $element['#access'])));
+    $process_input = empty($element['#disabled']) && !in_array($element['#type'], ['item', 'value'], TRUE) && (($form_state->isProgrammed() && $form_state->isBypassingProgrammedAccessChecks()) || ($form_state->isProcessingInput() && (!isset($element['#access']) || $element['#access'])));
 
     // Set the element's #value property.
     if (!isset($element['#value']) && !array_key_exists('#value', $element)) {
diff --git a/web/core/lib/Drupal/Core/Logger/LoggerChannel.php b/web/core/lib/Drupal/Core/Logger/LoggerChannel.php
index 13dff9ce38..21563f2d47 100644
--- a/web/core/lib/Drupal/Core/Logger/LoggerChannel.php
+++ b/web/core/lib/Drupal/Core/Logger/LoggerChannel.php
@@ -111,7 +111,7 @@ public function log($level, $message, array $context = []) {
     if ($this->requestStack && $request = $this->requestStack->getCurrentRequest()) {
       $context['request_uri'] = $request->getUri();
       $context['referer'] = $request->headers->get('Referer', '');
-      $context['ip'] = $request->getClientIP();
+      $context['ip'] = $request->getClientIP() ?: '';
 
       if ($this->currentUser) {
         $context['uid'] = $this->currentUser->id();
diff --git a/web/core/lib/Drupal/Core/Render/Element/Checkboxes.php b/web/core/lib/Drupal/Core/Render/Element/Checkboxes.php
index cdf0554873..726a53591e 100644
--- a/web/core/lib/Drupal/Core/Render/Element/Checkboxes.php
+++ b/web/core/lib/Drupal/Core/Render/Element/Checkboxes.php
@@ -15,14 +15,20 @@
  *
  * Usage example:
  * @code
- * $form['high_school']['tests_taken'] = array(
+ * $form['favorites']['colors'] = array(
  *   '#type' => 'checkboxes',
- *   '#options' => array('SAT' => $this->t('SAT'), 'ACT' => $this->t('ACT')),
- *   '#title' => $this->t('What standardized tests did you take?'),
+ *   '#options' => array('blue' => $this->t('Blue'), 'red' => $this->t('Red')),
+ *   '#title' => $this->t('Which colors do you like?'),
  *   ...
  * );
  * @endcode
  *
+ * Element properties may be set on single option items as follows.
+ *
+ * @code
+ * $form['favorites']['colors']['blue']['#description'] = $this->t('The color of the sky.');
+ * @endcode
+ *
  * @see \Drupal\Core\Render\Element\Radios
  * @see \Drupal\Core\Render\Element\Checkbox
  *
@@ -73,12 +79,19 @@ public static function processCheckboxes(&$element, FormStateInterface $form_sta
         // sub-elements.
         $weight += 0.001;
 
+        // Only enabled checkboxes receive their values from the form
+        // submission, the disabled checkboxes use their default value.
+        $default_value = NULL;
+        if (isset($value[$key]) || (!empty($element[$key]['#disabled']) && in_array($key, $element['#default_value'], TRUE))) {
+          $default_value = $key;
+        }
+
         $element += [$key => []];
         $element[$key] += [
           '#type' => 'checkbox',
           '#title' => $choice,
           '#return_value' => $key,
-          '#default_value' => isset($value[$key]) ? $key : NULL,
+          '#default_value' => $default_value,
           '#attributes' => $element['#attributes'],
           '#ajax' => $element['#ajax'] ?? NULL,
           // Errors should only be shown on the parent checkboxes element.
@@ -115,6 +128,17 @@ public static function valueCallback(&$element, $input, FormStateInterface $form
           unset($input[$key]);
         }
       }
+
+      // Because the disabled checkboxes don't receive their input from the
+      // form submission, we use their default value.
+      if (!empty($element['#default_value'])) {
+        foreach ($element['#default_value'] as $key) {
+          if (!empty($element[$key]['#disabled'])) {
+            $input[$key] = $key;
+          }
+        }
+      }
+
       return array_combine($input, $input);
     }
     else {
diff --git a/web/core/lib/Drupal/Core/Render/Element/Radios.php b/web/core/lib/Drupal/Core/Render/Element/Radios.php
index 38a043e5f9..ab33869cd9 100644
--- a/web/core/lib/Drupal/Core/Render/Element/Radios.php
+++ b/web/core/lib/Drupal/Core/Render/Element/Radios.php
@@ -22,6 +22,12 @@
  * );
  * @endcode
  *
+ * Element properties may be set on single option items as follows.
+ *
+ * @code
+ * $form['settings']['active'][0]['#description'] = $this->t('Description for the Closed option.');
+ * @endcode
+ *
  * @see \Drupal\Core\Render\Element\Checkboxes
  * @see \Drupal\Core\Render\Element\Radio
  * @see \Drupal\Core\Render\Element\Select
diff --git a/web/core/lib/Drupal/Core/TypedData/TranslatableInterface.php b/web/core/lib/Drupal/Core/TypedData/TranslatableInterface.php
index 00d9f65793..7aa0cb1973 100644
--- a/web/core/lib/Drupal/Core/TypedData/TranslatableInterface.php
+++ b/web/core/lib/Drupal/Core/TypedData/TranslatableInterface.php
@@ -69,7 +69,7 @@ public function getTranslationLanguages($include_default = TRUE);
    *   LanguageInterface::LANGCODE_DEFAULT
    *   to get the data in default language.
    *
-   * @return $this
+   * @return \Drupal\Core\Entity\ContentEntityInterface
    *   A typed data object for the translated data.
    *
    * @throws \InvalidArgumentException
@@ -80,7 +80,8 @@ public function getTranslation($langcode);
   /**
    * Returns the translatable object in the language it was created.
    *
-   * @return $this
+   * @return \Drupal\Core\Entity\ContentEntityInterface
+   *   The translation object referring to the original language.
    */
   public function getUntranslated();
 
@@ -109,7 +110,8 @@ public function hasTranslation($langcode);
    *   (optional) An array of initial values to be assigned to the translatable
    *   fields. Defaults to none.
    *
-   * @return $this
+   * @return \Drupal\Core\Entity\ContentEntityInterface
+   *   A new entity translation object.
    *
    * @throws \InvalidArgumentException
    *   If an invalid or existing translation language is specified.
diff --git a/web/core/misc/cspell/dictionary.txt b/web/core/misc/cspell/dictionary.txt
index cd900fff8b..f1b3a56914 100644
--- a/web/core/misc/cspell/dictionary.txt
+++ b/web/core/misc/cspell/dictionary.txt
@@ -1563,6 +1563,7 @@ unconfigured
 undecorate
 undelayed
 undelegate
+undoable
 undraggable
 unextracted
 unfieldable
diff --git a/web/core/modules/block/src/BlockForm.php b/web/core/modules/block/src/BlockForm.php
index 297149dda8..172186a84e 100644
--- a/web/core/modules/block/src/BlockForm.php
+++ b/web/core/modules/block/src/BlockForm.php
@@ -186,7 +186,7 @@ public function form(array $form, FormStateInterface $form_state) {
       '#description' => $this->t('Select the region where this block should be displayed.'),
       '#default_value' => $region,
       '#required' => TRUE,
-      '#options' => system_region_list($theme, REGIONS_VISIBLE),
+      '#options' => system_region_list($form_state->getValue('theme', $theme), REGIONS_VISIBLE),
       '#prefix' => '<div id="edit-block-region-wrapper">',
       '#suffix' => '</div>',
     ];
@@ -198,7 +198,6 @@ public function form(array $form, FormStateInterface $form_state) {
    * Handles switching the available regions based on the selected theme.
    */
   public function themeSwitch($form, FormStateInterface $form_state) {
-    $form['region']['#options'] = system_region_list($form_state->getValue('theme'), REGIONS_VISIBLE);
     return $form['region'];
   }
 
diff --git a/web/core/modules/block/tests/src/FunctionalJavascript/BlockAddTest.php b/web/core/modules/block/tests/src/FunctionalJavascript/BlockAddTest.php
new file mode 100644
index 0000000000..aad92f2445
--- /dev/null
+++ b/web/core/modules/block/tests/src/FunctionalJavascript/BlockAddTest.php
@@ -0,0 +1,51 @@
+<?php
+
+namespace Drupal\Tests\block\FunctionalJavascript;
+
+use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
+
+/**
+ * Tests the JS functionality in the block add form.
+ *
+ * @group block
+ */
+class BlockAddTest extends WebDriverTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'block',
+    'user',
+  ];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $defaultTheme = 'stark';
+
+  /**
+   * Tests the AJAX for the theme selector.
+   */
+  public function testBlockAddThemeSelector() {
+    \Drupal::service('theme_installer')->install(['seven']);
+
+    $this->drupalLogin($this->drupalCreateUser([
+      'administer blocks',
+    ]));
+
+    $this->drupalGet('admin/structure/block/add/system_powered_by_block');
+    $assert_session = $this->assertSession();
+    // Pick a theme with a region that does not exist in another theme.
+    $assert_session->selectExists('Theme')->selectOption('seven');
+    $assert_session->assertWaitOnAjaxRequest();
+    $assert_session->selectExists('Region')->selectOption('pre_content');
+    $assert_session->assertWaitOnAjaxRequest();
+    // Switch to a theme that doesn't contain the region selected above.
+    $assert_session->selectExists('Theme')->selectOption('stark');
+    $assert_session->assertWaitOnAjaxRequest();
+    $assert_session->pageTextNotContains('An illegal choice has been detected. Please contact the site administrator.');
+    $assert_session->optionExists('Region', '- Select -');
+  }
+
+}
diff --git a/web/core/modules/block_content/tests/modules/block_content_test/config/install/block.block.foobargorilla.yml b/web/core/modules/block_content/tests/modules/block_content_test/config/install/block.block.foobargorilla.yml
index 0b3b1b3f61..6a10e9f19a 100644
--- a/web/core/modules/block_content/tests/modules/block_content_test/config/install/block.block.foobargorilla.yml
+++ b/web/core/modules/block_content/tests/modules/block_content_test/config/install/block.block.foobargorilla.yml
@@ -4,9 +4,9 @@ dependencies:
   module:
     - block_content
   theme:
-    - classy
+    - stark
 id: foobargorilla
-theme: classy
+theme: stark
 region: content
 weight: null
 provider: null
diff --git a/web/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php b/web/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php
index f9f0284efb..8db7e25a1b 100644
--- a/web/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php
+++ b/web/core/modules/block_content/tests/src/Functional/BlockContentCreationTest.php
@@ -25,7 +25,7 @@ class BlockContentCreationTest extends BlockContentTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * Permissions to grant admin user.
diff --git a/web/core/modules/block_content/tests/src/Functional/BlockContentListTest.php b/web/core/modules/block_content/tests/src/Functional/BlockContentListTest.php
index 69ea45ca7f..578e67079a 100644
--- a/web/core/modules/block_content/tests/src/Functional/BlockContentListTest.php
+++ b/web/core/modules/block_content/tests/src/Functional/BlockContentListTest.php
@@ -25,7 +25,7 @@ class BlockContentListTest extends BlockContentTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * Tests the custom block listing page.
@@ -65,11 +65,10 @@ public function testListing() {
     $this->assertSession()->elementTextContains('xpath', '//td', $label);
 
     // Check the number of table row cells.
-    $this->assertSession()->elementsCount('xpath', '//div[@class="layout-content"]//table/tbody/tr[@class="odd"]/td', 2);
-    // Check the contents of each row cell. The first cell contains the label,
-    // the second contains the machine name, and the third contains the
-    // operations list.
-    $this->assertSession()->elementTextEquals('xpath', '//div[@class="layout-content"]//table/tbody/tr[@class="odd"]/td[1]', $label);
+    $this->assertSession()->elementsCount('xpath', '//div[@class="layout-content"]//table/tbody/tr[1]/td', 2);
+    // Check the contents of the row. The first cell contains the label,
+    // and the second contains the operations list.
+    $this->assertSession()->elementTextEquals('xpath', '//div[@class="layout-content"]//table/tbody/tr[1]/td[1]', $label);
 
     // Edit the entity using the operations link.
     $blocks = $this->container
diff --git a/web/core/modules/block_content/tests/src/Functional/BlockContentPageViewTest.php b/web/core/modules/block_content/tests/src/Functional/BlockContentPageViewTest.php
index 743903caef..1d253dcba1 100644
--- a/web/core/modules/block_content/tests/src/Functional/BlockContentPageViewTest.php
+++ b/web/core/modules/block_content/tests/src/Functional/BlockContentPageViewTest.php
@@ -19,7 +19,7 @@ class BlockContentPageViewTest extends BlockContentTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * Checks block edit and fallback functionality.
diff --git a/web/core/modules/block_content/tests/src/Functional/BlockContentSaveTest.php b/web/core/modules/block_content/tests/src/Functional/BlockContentSaveTest.php
index 75e9a554cf..07df5a7217 100644
--- a/web/core/modules/block_content/tests/src/Functional/BlockContentSaveTest.php
+++ b/web/core/modules/block_content/tests/src/Functional/BlockContentSaveTest.php
@@ -21,7 +21,7 @@ class BlockContentSaveTest extends BlockContentTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * Sets the test up.
diff --git a/web/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php b/web/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php
index 4d46481bb1..0e817559d1 100644
--- a/web/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php
+++ b/web/core/modules/block_content/tests/src/Functional/BlockContentTypeTest.php
@@ -25,7 +25,7 @@ class BlockContentTypeTest extends BlockContentTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * Permissions to grant admin user.
diff --git a/web/core/modules/block_content/tests/src/Functional/UnpublishedBlockTest.php b/web/core/modules/block_content/tests/src/Functional/UnpublishedBlockTest.php
index 59fbd9317a..2438d0f144 100644
--- a/web/core/modules/block_content/tests/src/Functional/UnpublishedBlockTest.php
+++ b/web/core/modules/block_content/tests/src/Functional/UnpublishedBlockTest.php
@@ -23,7 +23,7 @@ class UnpublishedBlockTest extends BrowserTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * Tests unpublishing of block_content entities.
@@ -35,18 +35,18 @@ public function testViewShowsCorrectStates() {
     ]);
     $block_content->save();
 
-    $this->placeBlock('block_content:' . $block_content->uuid());
+    $block = $this->placeBlock('block_content:' . $block_content->uuid());
 
     $this->drupalGet('<front>');
     $page = $this->getSession()->getPage();
-    $this->assertTrue($page->has('css', '.block-block-content' . $block_content->uuid()));
+    $this->assertTrue($page->has('css', '#block-' . $block->id()));
 
     $block_content->setUnpublished();
     $block_content->save();
 
     $this->drupalGet('<front>');
     $page = $this->getSession()->getPage();
-    $this->assertFalse($page->has('css', '.block-block-content' . $block_content->uuid()));
+    $this->assertFalse($page->has('css', '#block-' . $block->id()));
   }
 
 }
diff --git a/web/core/modules/ckeditor5/ckeditor5.api.php b/web/core/modules/ckeditor5/ckeditor5.api.php
index 2e9d801c73..523ee574e3 100644
--- a/web/core/modules/ckeditor5/ckeditor5.api.php
+++ b/web/core/modules/ckeditor5/ckeditor5.api.php
@@ -119,11 +119,12 @@
  *   make it discoverable.
  * - drupal.elements: A list of elements and attributes the plugin allows use of
  *   within CKEditor 5. This uses the same syntax as the 'filter_html' plugin
- *   with an additional special keyword: '<$block>' . Using
- *   '<$block [attribute(s)]>`  will permit the provided attributes in all block
- *   level tags that are explicitly enabled in any plugin. i.e. if only '<p>',
- *   '<h3>' and '<h2>' tags are allowed, then '<$block data-something>'  will
- *   allow the 'data-something' attribute for '<p>', '<h3>' and '<h2>' tags.
+ *   with an additional special keyword: '<$text-container>' . Using
+ *   '<$text-container [attribute(s)]>` will permit the provided
+ *   attributes in all CKEditor 5's `$block` text container tags that are
+ *   explicitly enabled in any plugin. i.e. if only '<p>', '<h3>' and '<h2>'
+ *   tags are allowed, then '<$text-container data-something>' will allow the
+ *   'data-something' attribute for '<p>', '<h3>' and '<h2>' tags.
  * - drupal.toolbar_items: List of toolbar items the plugin provides. Keyed by a
  *   machine name and the value being a pair defining the label:
  *   @code
diff --git a/web/core/modules/ckeditor5/ckeditor5.ckeditor5.yml b/web/core/modules/ckeditor5/ckeditor5.ckeditor5.yml
index f9a4b34fb9..ffcb033470 100644
--- a/web/core/modules/ckeditor5/ckeditor5.ckeditor5.yml
+++ b/web/core/modules/ckeditor5/ckeditor5.ckeditor5.yml
@@ -62,7 +62,7 @@ ckeditor5_heading:
       - <h5>
       - <h6>
 
-ckeditor5_htmlSupport:
+ckeditor5_arbitraryHtmlSupport:
   ckeditor5:
     plugins: [htmlSupport.GeneralHtmlSupport]
     config:
@@ -82,6 +82,17 @@ ckeditor5_htmlSupport:
     # @see \Drupal\ckeditor5\Plugin\CKEditor5PluginManagerInterface::getEnabledDefinitions()
     conditions: []
 
+ckeditor5_wildcardHtmlSupport:
+  ckeditor5:
+    plugins: [htmlSupport.GeneralHtmlSupport]
+  drupal:
+    label: Wildcard HTML support
+    # @see \Drupal\ckeditor5\Plugin\CKEditor5PluginManager::getCKEditor5PluginConfig()
+    elements: false
+    library: core/ckeditor5.htmlSupport
+    # @see \Drupal\ckeditor5\Plugin\CKEditor5PluginManagerInterface::getEnabledDefinitions()
+    conditions: []
+
 ckeditor5_specialCharacters:
   ckeditor5:
     plugins:
@@ -167,6 +178,29 @@ ckeditor5_code:
     elements:
       - <code>
 
+ckeditor5_codeBlock:
+  ckeditor5:
+    plugins:
+      - codeBlock.CodeBlock
+      - htmlSupport.GeneralHtmlSupport
+    config:
+      # The CodeBlock plugin supports only `<pre><code>…</code></pre>`.
+      # Configure GHS to support `<pre>…</pre>` markup as well.
+      htmlSupport:
+        allow:
+          -
+            name: pre
+  drupal:
+    label: Code Block
+    library: ckeditor5/drupal.ckeditor5.codeBlock
+    admin_library: ckeditor5/admin.codeBlock
+    toolbar_items:
+      codeBlock:
+        label: Code Block
+    elements:
+      - <pre>
+      - <code class="language-*">
+
 ckeditor5_strikethrough:
   ckeditor5:
     plugins: [basicStyles.Strikethrough]
@@ -321,7 +355,7 @@ ckeditor5_alignment:
       alignment:
         label: Text alignment
     elements:
-      - <$block class="text-align-left text-align-center text-align-right text-align-justify">
+      - <$text-container class="text-align-left text-align-center text-align-right text-align-justify">
 
 ckeditor5_alignment.left:
   ckeditor5: *alignment_ckeditor5_section
@@ -331,7 +365,7 @@ ckeditor5_alignment.left:
       "alignment:left":
         label: Align left
     elements:
-      - <$block class="text-align-left">
+      - <$text-container class="text-align-left">
     <<: *alignment_drupal_section
 
 ckeditor5_alignment.center:
@@ -342,7 +376,7 @@ ckeditor5_alignment.center:
       "alignment:center":
         label: Align center
     elements:
-      - <$block class="text-align-center">
+      - <$text-container class="text-align-center">
     <<: *alignment_drupal_section
 
 ckeditor5_alignment.right:
@@ -353,7 +387,7 @@ ckeditor5_alignment.right:
       "alignment:right":
         label: Align right
     elements:
-      - <$block class="text-align-right">
+      - <$text-container class="text-align-right">
     <<: *alignment_drupal_section
 
 ckeditor5_alignment.justify:
@@ -364,7 +398,7 @@ ckeditor5_alignment.justify:
       "alignment:justify":
         label: Justify
     elements:
-      - <$block class="text-align-justify">
+      - <$text-container class="text-align-justify">
     <<: *alignment_drupal_section
 
 ckeditor5_removeFormat:
@@ -406,8 +440,8 @@ ckeditor5_table:
     elements:
       - <table>
       - <tr>
-      - <td>
-      - <th>
+      - <td rowspan colspan>
+      - <th rowspan colspan>
       - <thead>
       - <tbody>
       - <tfoot>
@@ -420,7 +454,7 @@ ckeditor5_image:
       - drupalImage.DrupalImage
     config:
       image:
-        toolbar: [imageTextAlternative]
+        toolbar: [drupalImageAlternativeText]
   drupal:
     label: Image
     library: ckeditor5/drupal.ckeditor5.image
@@ -474,12 +508,25 @@ ckeditor5_imageAlign:
     config:
       image:
         toolbar:
-          - name: 'imageStyle:icons'
-            items:
-              - 'imageStyle:alignLeft'
-              - 'imageStyle:alignCenter'
-              - 'imageStyle:alignRight'
-            defaultItem: 'imageStyle:alignCenter'
+          - '|'
+          - 'imageStyle:block'
+          - 'imageStyle:alignLeft'
+          - 'imageStyle:alignCenter'
+          - 'imageStyle:alignRight'
+          - 'imageStyle:inline'
+          - '|'
+        styles:
+          options:
+            - inline
+            - name: 'block'
+              icon: 'left'
+              title: 'Break text'
+            - name: 'alignLeft'
+              title: 'Align left and wrap text'
+            - name: 'alignCenter'
+              title: 'Align center and break text'
+            - name: 'alignRight'
+              title: 'Align right and wrap text'
   drupal:
     label: Image align
     elements:
@@ -564,31 +611,36 @@ media_mediaAlign:
       drupalElementStyles:
         options:
           - name: 'alignRight'
-            title: 'Right aligned media'
+            title: 'Align right and wrap text'
             icon: 'objectRight'
             attributeName: 'data-align'
             attributeValue: 'right'
             modelElements: [ 'drupalMedia' ]
           - name: 'alignLeft'
-            title: 'Left aligned media'
+            title: 'Align left and wrap text'
             icon: 'objectLeft'
             attributeName: 'data-align'
             attributeValue: 'left'
             modelElements: [ 'drupalMedia' ]
           - name: 'alignCenter'
-            title: 'Centered media'
+            title: 'Align center and break text'
             icon: 'objectCenter'
             attributeName: 'data-align'
             attributeValue: 'center'
             modelElements: ['drupalMedia']
+          - name: 'breakText'
+            title: 'Break text'
+            icon: 'objectBlockLeft'
+            isDefault: true
+            modelElements: [ 'drupalMedia' ]
       drupalMedia:
         toolbar:
-          - name: 'drupalMedia:align'
-            items:
-              - 'drupalElementStyle:alignLeft'
-              - 'drupalElementStyle:alignCenter'
-              - 'drupalElementStyle:alignRight'
-            defaultItem: 'drupalElementStyle:alignCenter'
+          - '|'
+          - 'drupalElementStyle:breakText'
+          - 'drupalElementStyle:alignLeft'
+          - 'drupalElementStyle:alignCenter'
+          - 'drupalElementStyle:alignRight'
+          - '|'
   drupal:
     label: Media align
     library: ckeditor5/drupal.ckeditor5.mediaAlign
diff --git a/web/core/modules/ckeditor5/ckeditor5.libraries.yml b/web/core/modules/ckeditor5/ckeditor5.libraries.yml
index 587a328f24..87ffcf4687 100644
--- a/web/core/modules/ckeditor5/ckeditor5.libraries.yml
+++ b/web/core/modules/ckeditor5/ckeditor5.libraries.yml
@@ -29,7 +29,17 @@ drupal.ckeditor5:
     - core/ckeditor5.editorDecoupled
     - core/ckeditor5
     - editor/drupal.editor
-    - ckeditor5/drupal.ckeditor5.quickedit-temporary-work-around
+    - ckeditor5/ie11.user.warnings
+    - ckeditor5/drupal.ckeditor5.stylesheets
+    - core/drupalSettings
+    - core/drupal.message
+
+# Library used for dynamically loading CKEditor 5 stylesheets from the default
+# front end theme.
+# @see ckeditor5_library_info_alter()
+drupal.ckeditor5.stylesheets:
+  version: VERSION
+  css: []
 
 drupal.ckeditor5.quickedit-temporary-work-around:
   deprecated: "Temporary work-around until https://www.drupal.org/project/drupal/issues/3196689 lands."
@@ -37,10 +47,19 @@ drupal.ckeditor5.quickedit-temporary-work-around:
     theme:
       css/quickedit-override.css: {}
 
+drupal.ckeditor5.codeBlock:
+  dependencies:
+    - core/ckeditor5.codeBlock
+    - core/ckeditor5.htmlSupport
+
 drupal.ckeditor5.image:
   js:
     js/build/drupalImage.js: { minified: true }
+  css:
+    theme:
+      css/image.css: { }
   dependencies:
+    - core/drupal
     - core/ckeditor5
     - core/ckeditor5.image
 
@@ -80,7 +99,6 @@ ie11.user.warnings:
     - core/drupal
     - core/drupal.message
     - editor/drupal.editor
-    - core/modernizr
 
 ie11.filter.warnings:
   js:
@@ -89,7 +107,6 @@ ie11.filter.warnings:
     - core/drupal
     - core/drupal.message
     - core/once
-    - core/modernizr
 
 drupal.ckeditor5.filter.admin:
   js:
@@ -102,6 +119,8 @@ drupal.ckeditor5.filter.admin:
     - core/drupal.message
     - core/once
     - core/drupal.ajax
+    - core/drupalSettings
+    - core/drupal.message
 
 admin:
   js:
@@ -196,3 +215,8 @@ admin.table:
   css:
     theme:
       css/table.admin.css: { }
+
+admin.codeBlock:
+  css:
+    theme:
+      css/code-block.admin.css: { }
diff --git a/web/core/modules/ckeditor5/ckeditor5.module b/web/core/modules/ckeditor5/ckeditor5.module
index cf05c70fcd..63383b0493 100644
--- a/web/core/modules/ckeditor5/ckeditor5.module
+++ b/web/core/modules/ckeditor5/ckeditor5.module
@@ -7,7 +7,9 @@
 
 declare(strict_types = 1);
 
+use Drupal\ckeditor5\HTMLRestrictions;
 use Drupal\ckeditor5\Plugin\Editor\CKEditor5;
+use Drupal\Component\Utility\UrlHelper;
 use Drupal\Core\Ajax\AjaxResponse;
 use Drupal\Core\Ajax\InvokeCommand;
 use Drupal\Core\Ajax\MessageCommand;
@@ -211,7 +213,7 @@ function _add_ajax_listeners_to_plugin_inputs(array &$plugins_config_form): void
       }
 
       foreach ($plugins_config_form as $key => &$value) {
-        if (is_array($value) && strpos($key, '#') === FALSE) {
+        if (is_array($value) && strpos((string) $key, '#') === FALSE) {
           _add_ajax_listeners_to_plugin_inputs($value);
         }
       }
@@ -228,13 +230,44 @@ function _add_ajax_listeners_to_plugin_inputs(array &$plugins_config_form): void
   $form['filter_settings']['#wrapper_attributes']['id'] = 'filter-settings-wrapper';
 
   // Add an ID to the editor settings vertical tabs wrapper so it can be easily
-  // targeted by JavaScript.
+  // targeted by JavaScript. If there are no configurable plugins, render an
+  // empty container with the same ID instead.
   // @todo consider moving this to editor.module when this module is moved to
   //   Drupal core https://www.drupal.org/project/ckeditor5/issues/3231322.
-  $form['editor']['settings']['subform']['plugin_settings']['#wrapper_attributes']['id'] = 'plugin-settings-wrapper';
+  if (!empty($form['editor']['settings']['subform']['plugins'])) {
+    $form['editor']['settings']['subform']['plugin_settings']['#wrapper_attributes']['id'] = 'plugin-settings-wrapper';
+  }
+  else {
+    $form['editor']['settings']['subform']['plugin_settings'] = [
+      '#type' => 'container',
+      '#attributes' => ['id' => 'plugin-settings-wrapper'],
+    ];
+  }
 
   $form['#after_build'][] = [CKEditor5::class, 'assessActiveTextEditorAfterBuild'];
   $form['#validate'][] = [CKEditor5::class, 'validateSwitchingToCKEditor5'];
+  array_unshift($form['actions']['submit']['#submit'], 'ckeditor5_filter_format_edit_form_submit');
+}
+
+/**
+ * Form submission handler for filter format forms.
+ */
+function ckeditor5_filter_format_edit_form_submit(array $form, FormStateInterface $form_state) {
+  $limit_allowed_html_tags = isset($form['filters']['settings']['filter_html']['allowed_html']);
+  $manually_editable_tags = $form_state->getValue(['editor', 'settings', 'plugins', 'ckeditor5_sourceEditing', 'allowed_tags']);
+  if ($limit_allowed_html_tags && is_array($manually_editable_tags)) {
+    // When "Manually editable tags" and "limit allowed HTML tags" are both
+    // configured, the former informs the value of the latter. This dependent
+    // value is typically updated via AJAX, but it's possible for "Manually
+    // editable tags" to update without triggering the AJAX rebuild. That value
+    // is recalculated here on save to ensure it happens even if the AJAX
+    // rebuild doesn't happen.
+    $manually_editable_tags_restrictions = HTMLRestrictions::fromString(implode($manually_editable_tags));
+    $format = $form_state->get('ckeditor5_validated_pair')->getFilterFormat();
+    $allowed_html = HTMLRestrictions::fromTextFormat($format);
+    $combined_tags_string = $manually_editable_tags_restrictions->merge($allowed_html)->toFilterHtmlAllowedTagsString();
+    $form_state->setValue(['filters', 'filter_html', 'settings', 'allowed_html'], $combined_tags_string);
+  }
 }
 
 /**
@@ -391,18 +424,23 @@ function ckeditor5_library_info_alter(&$libraries, $extension) {
     $libraries['drupal.filter.admin']['dependencies'][] = 'ckeditor5/drupal.ckeditor5.filter.admin';
   }
 
-  // If the 'ckeditor5/ie11.user.warnings' library is added as a dependency of
-  // other Ckeditor 5 libraries, it won't reliably work as the CKEditor 5 assets
-  // are loaded via AJAX, and the IE11-incompatible syntax in CKEditor 5 can
-  // prevent the AJAX call from successfully loading the functionality in
-  // 'ckeditor5/ie11.user.warnings'. Adding this as a dependency of
-  // 'system/base', as excessive as it may seem, is the most reliable way to
-  // assure it is loaded as part of the page request.
-  if ($extension === 'system') {
-    $libraries['base']['dependencies'][] = 'ckeditor5/ie11.user.warnings';
+  $moduleHandler = \Drupal::moduleHandler();
+
+  if ($extension === 'ckeditor5') {
+    // Add paths to stylesheets specified by a theme's ckeditor5-stylesheets
+    // config property.
+    $css = _ckeditor5_theme_css();
+    $libraries['drupal.ckeditor5.stylesheets'] = [
+      'css' => [
+        'theme' => array_fill_keys(array_values($css), []),
+      ],
+    ];
+
+    if ($moduleHandler->moduleExists('quickedit')) {
+      $libraries['drupal.ckeditor5']['dependencies'][] = 'ckeditor5/drupal.ckeditor5.quickedit-temporary-work-around';
+    }
   }
 
-  $moduleHandler = \Drupal::moduleHandler();
   // Only add translation processing if the locale module is enabled.
   if (!$moduleHandler->moduleExists('locale')) {
     return;
@@ -569,3 +607,44 @@ function ckeditor5_config_schema_info_alter(&$definitions) {
   // @see @see editor.editor.*.image_upload
   $definitions['ckeditor5_valid_pair__format_and_editor']['mapping']['image_upload'] = $definitions['editor.editor.*']['mapping']['image_upload'];
 }
+
+/**
+ * Retrieves the default theme's CKEditor 5 stylesheets.
+ *
+ * Themes may specify CSS files for use within CKEditor 5 by including a
+ * "ckeditor5-stylesheets" key in their .info.yml file.
+ *
+ * @code
+ * ckeditor5-stylesheets:
+ *   - css/ckeditor.css
+ * @endcode
+ *
+ * @return string[]
+ *   A list of paths to CSS files.
+ */
+function _ckeditor5_theme_css($theme = NULL): array {
+  $css = [];
+  if (!isset($theme)) {
+    $theme = \Drupal::config('system.theme')->get('default');
+  }
+  if (isset($theme) && $theme_path = \Drupal::service('extension.list.theme')->getPath($theme)) {
+    $info = \Drupal::service('extension.list.theme')->getExtensionInfo($theme);
+    if (isset($info['ckeditor5-stylesheets'])) {
+      $css = $info['ckeditor5-stylesheets'];
+      foreach ($css as $key => $url) {
+        // CSS url is external or relative to Drupal root.
+        if (UrlHelper::isExternal($url) || $url[0] === '/') {
+          $css[$key] = $url;
+        }
+        // CSS url is relative to theme.
+        else {
+          $css[$key] = '/' . $theme_path . '/' . $url;
+        }
+      }
+    }
+    if (isset($info['base theme'])) {
+      $css = array_merge(_ckeditor5_theme_css($info['base theme']), $css);
+    }
+  }
+  return $css;
+}
diff --git a/web/core/modules/ckeditor5/ckeditor5.services.yml b/web/core/modules/ckeditor5/ckeditor5.services.yml
index 033840825a..5121430efd 100644
--- a/web/core/modules/ckeditor5/ckeditor5.services.yml
+++ b/web/core/modules/ckeditor5/ckeditor5.services.yml
@@ -13,3 +13,13 @@ services:
       - '@plugin.manager.ckeditor5.plugin'
       - '@plugin.manager.ckeditor4to5upgrade.plugin'
       - '@?plugin.manager.ckeditor.plugin'
+  ckeditor5.stylesheets.message:
+    class: Drupal\ckeditor5\CKEditor5StylesheetsMessage
+    arguments:
+      - '@theme_handler'
+      - '@config.factory'
+  ckeditor5.ckeditor5_cache_tag:
+    class: Drupal\ckeditor5\EventSubscriber\CKEditor5CacheTag
+    arguments: ['@cache_tags.invalidator']
+    tags:
+      - { name: event_subscriber }
diff --git a/web/core/modules/ckeditor5/css/code-block.admin.css b/web/core/modules/ckeditor5/css/code-block.admin.css
new file mode 100644
index 0000000000..c6c5bc6c76
--- /dev/null
+++ b/web/core/modules/ckeditor5/css/code-block.admin.css
@@ -0,0 +1,3 @@
+.ckeditor5-toolbar-button-codeBlock {
+  background-image: url(../icons/code-block.svg);
+}
diff --git a/web/core/modules/ckeditor5/css/image.css b/web/core/modules/ckeditor5/css/image.css
new file mode 100644
index 0000000000..159ebded46
--- /dev/null
+++ b/web/core/modules/ckeditor5/css/image.css
@@ -0,0 +1,82 @@
+/* cspell:ignore switchbutton */
+
+/* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries */
+.ck .image,
+.ck .image-inline {
+  --base-size: 100%;
+  --breakpoint-wide: 400px;
+  --breakpoint-medium: 100px;
+  --is-wide: clamp(0px, var(--base-size) - var(--breakpoint-wide), 1px);
+  --is-medium: calc(clamp(0px, var(--base-size) - var(--breakpoint-medium), 1px) - var(--is-wide));
+  --is-small: calc(1px - (var(--is-medium) + var(--is-wide)));
+}
+
+.ck.ck-responsive-form.ck-text-alternative-form--with-decorative-toggle {
+  width: auto;
+}
+.ck.ck-responsive-form .ck.ck-text-alternative-form__decorative-toggle,
+.ck.ck-responsive-form .ck.ck-text-alternative-form__decorative-toggle .ck-switchbutton {
+  width: 100%;
+}
+
+.ck .image,
+.ck .image-inline {
+  position: relative;
+}
+.ck .image-alternative-text-missing-wrapper {
+  position: absolute;
+  right: 10px;
+  bottom: 10px;
+  overflow: hidden;
+  max-width:
+    calc(
+      (var(--is-small) * 0)
+      + (var(--is-medium) * 33)
+      + (var(--is-wide) * 999999)
+    );
+  border-left: calc((var(--is-small) * 0) + (var(--is-medium) * 3) + (var(--is-wide) * 3)) solid #ffd23f;
+  border-radius: 2px;
+  background: #232429;
+  font-size: 14px;
+}
+
+.ck figcaption ~ .image-alternative-text-missing-wrapper {
+  top: 10px;
+  bottom: auto;
+}
+
+.ck .image-alternative-text-missing-wrapper .ck.ck-button {
+  padding: 12px 12px 12px 8px;
+  cursor: pointer;
+  color: #fff;
+  background: none !important; /* Override background for all states. */
+}
+.ck .image-alternative-text-missing-wrapper .ck.ck-button:before {
+  width: 16px;
+  height: 16px;
+  padding-right: 8px;
+  content: "";
+  background: url("../icons/warning.svg") left center no-repeat;
+}
+.ck .image-alternative-text-missing-wrapper .ck.ck-button:after {
+  display: inline-block;
+  width: 12px;
+  height: 12px;
+  padding-left: 2rem;
+  content: "";
+  background: url("../icons/caret.svg") right center no-repeat;
+  font-size: 18px;
+  font-weight: bold;
+}
+.ck .image-alternative-text-missing-wrapper .ck-tooltip {
+  display: block;
+  overflow: visible;
+}
+.ck .image-alternative-text-missing-wrapper:hover .ck-tooltip {
+  visibility: visible;
+  opacity: 1;
+}
+.ck .image-alternative-text-missing-wrapper:hover .ck-tooltip__text {
+  display: block;
+  width: 240px;
+}
diff --git a/web/core/modules/ckeditor5/icons/caret.svg b/web/core/modules/ckeditor5/icons/caret.svg
new file mode 100644
index 0000000000..1d98158ceb
--- /dev/null
+++ b/web/core/modules/ckeditor5/icons/caret.svg
@@ -0,0 +1 @@
+<svg width="12" height="12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.75 10.5 8.25 6l-4.5-4.5" stroke="#FFD23F" stroke-width="2"/></svg>
diff --git a/web/core/modules/ckeditor5/icons/code-block.svg b/web/core/modules/ckeditor5/icons/code-block.svg
new file mode 100644
index 0000000000..96d55a0b24
--- /dev/null
+++ b/web/core/modules/ckeditor5/icons/code-block.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M12.87 12.61a.75.75 0 0 1-.089.976l-.085.07-3.154 2.254 3.412 2.414a.75.75 0 0 1 .237.95l-.057.095a.75.75 0 0 1-.95.237l-.096-.058-4.272-3.022-.003-1.223 4.01-2.867a.75.75 0 0 1 1.047.174zm2.795-.231.095.057 4.011 2.867-.003 1.223-4.272 3.022-.095.058a.75.75 0 0 1-.88-.151l-.07-.086-.058-.095a.75.75 0 0 1 .15-.88l.087-.07 3.412-2.414-3.154-2.253-.085-.071a.75.75 0 0 1 .862-1.207zM16 0a2 2 0 0 1 2 2v9.354l-.663-.492-.837-.001V2a.5.5 0 0 0-.5-.5H2a.5.5 0 0 0-.5.5v15a.5.5 0 0 0 .5.5h3.118L7.156 19H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h14zM5.009 15l.003 1H3v-1h2.009zm2.188-2-1.471 1H5v-1h2.197zM10 11v.095L8.668 12H7v-1h3zm4-2v1H7V9h7zm0-2v1H7V7h7zm-4-2v1H5V5h5zM6 3v1H3V3h3z"/></svg>
diff --git a/web/core/modules/ckeditor5/icons/warning.svg b/web/core/modules/ckeditor5/icons/warning.svg
new file mode 100644
index 0000000000..fa1e419076
--- /dev/null
+++ b/web/core/modules/ckeditor5/icons/warning.svg
@@ -0,0 +1 @@
+<svg fill="none" height="16" width="16" xmlns="http://www.w3.org/2000/svg"><g fill="#ffd23f"><path d="M6.5 1h3v9h-3z"/><circle cx="8" cy="13.5" r="1.5"/></g></svg>
diff --git a/web/core/modules/ckeditor5/js/build/ckeditor5.types.jsdoc b/web/core/modules/ckeditor5/js/build/ckeditor5.types.jsdoc
new file mode 100644
index 0000000000..e89362333d
--- /dev/null
+++ b/web/core/modules/ckeditor5/js/build/ckeditor5.types.jsdoc
@@ -0,0 +1,3149 @@
+/**
+ * Declared in file @ckeditor/ckeditor5-alignment/src/alignment.js
+ *
+ * @typedef {module:alignment/alignment} module:alignment/alignment~Alignment
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-alignment/src/alignmentcommand.js
+ *
+ * @typedef {module:alignment/alignmentcommand} module:alignment/alignmentcommand~AlignmentCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-alignment/src/alignmentediting.js
+ *
+ * @typedef {module:alignment/alignmentediting} module:alignment/alignmentediting~AlignmentEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-alignment/src/alignmentui.js
+ *
+ * @typedef {module:alignment/alignmentui} module:alignment/alignmentui~AlignmentUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/attributecommand.js
+ *
+ * @typedef {module:basic-styles/attributecommand} module:basic-styles/attributecommand~AttributeCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/bold.js
+ *
+ * @typedef {module:basic-styles/bold} module:basic-styles/bold~Bold
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/bold/boldediting.js
+ *
+ * @typedef {module:basic-styles/bold/boldediting} module:basic-styles/bold/boldediting~BoldEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/bold/boldui.js
+ *
+ * @typedef {module:basic-styles/bold/boldui} module:basic-styles/bold/boldui~BoldUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/code.js
+ *
+ * @typedef {module:basic-styles/code} module:basic-styles/code~Code
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/code/codeediting.js
+ *
+ * @typedef {module:basic-styles/code/codeediting} module:basic-styles/code/codeediting~CodeEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/code/codeui.js
+ *
+ * @typedef {module:basic-styles/code/codeui} module:basic-styles/code/codeui~CodeUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/italic.js
+ *
+ * @typedef {module:basic-styles/italic} module:basic-styles/italic~Italic
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/italic/italicediting.js
+ *
+ * @typedef {module:basic-styles/italic/italicediting} module:basic-styles/italic/italicediting~ItalicEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/italic/italicui.js
+ *
+ * @typedef {module:basic-styles/italic/italicui} module:basic-styles/italic/italicui~ItalicUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/strikethrough.js
+ *
+ * @typedef {module:basic-styles/strikethrough} module:basic-styles/strikethrough~Strikethrough
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/strikethrough/strikethroughediting.js
+ *
+ * @typedef {module:basic-styles/strikethrough/strikethroughediting} module:basic-styles/strikethrough/strikethroughediting~StrikethroughEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/strikethrough/strikethroughui.js
+ *
+ * @typedef {module:basic-styles/strikethrough/strikethroughui} module:basic-styles/strikethrough/strikethroughui~StrikethroughUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/subscript.js
+ *
+ * @typedef {module:basic-styles/subscript} module:basic-styles/subscript~Subscript
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/subscript/subscriptediting.js
+ *
+ * @typedef {module:basic-styles/subscript/subscriptediting} module:basic-styles/subscript/subscriptediting~SubscriptEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/subscript/subscriptui.js
+ *
+ * @typedef {module:basic-styles/subscript/subscriptui} module:basic-styles/subscript/subscriptui~SubscriptUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/superscript.js
+ *
+ * @typedef {module:basic-styles/superscript} module:basic-styles/superscript~Superscript
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/superscript/superscriptediting.js
+ *
+ * @typedef {module:basic-styles/superscript/superscriptediting} module:basic-styles/superscript/superscriptediting~SuperscriptEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/superscript/superscriptui.js
+ *
+ * @typedef {module:basic-styles/superscript/superscriptui} module:basic-styles/superscript/superscriptui~SuperscriptUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/underline.js
+ *
+ * @typedef {module:basic-styles/underline} module:basic-styles/underline~Underline
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/underline/underlineediting.js
+ *
+ * @typedef {module:basic-styles/underline/underlineediting} module:basic-styles/underline/underlineediting~UnderlineEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-basic-styles/src/underline/underlineui.js
+ *
+ * @typedef {module:basic-styles/underline/underlineui} module:basic-styles/underline/underlineui~UnderlineUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-block-quote/src/blockquote.js
+ *
+ * @typedef {module:block-quote/blockquote} module:block-quote/blockquote~BlockQuote
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-block-quote/src/blockquotecommand.js
+ *
+ * @typedef {module:block-quote/blockquotecommand} module:block-quote/blockquotecommand~BlockQuoteCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-block-quote/src/blockquoteediting.js
+ *
+ * @typedef {module:block-quote/blockquoteediting} module:block-quote/blockquoteediting~BlockQuoteEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-block-quote/src/blockquoteui.js
+ *
+ * @typedef {module:block-quote/blockquoteui} module:block-quote/blockquoteui~BlockQuoteUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-clipboard/src/clipboard.js
+ *
+ * @typedef {module:clipboard/clipboard} module:clipboard/clipboard~Clipboard
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-clipboard/src/clipboardobserver.js
+ *
+ * @typedef {module:clipboard/clipboardobserver} module:clipboard/clipboardobserver~ClipboardObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-clipboard/src/clipboardpipeline.js
+ *
+ * @typedef {module:clipboard/clipboardpipeline} module:clipboard/clipboardpipeline~ClipboardPipeline
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-clipboard/src/datatransfer.js
+ *
+ * @typedef {module:clipboard/datatransfer} module:clipboard/datatransfer~DataTransfer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-clipboard/src/dragdrop.js
+ *
+ * @typedef {module:clipboard/dragdrop} module:clipboard/dragdrop~DragDrop
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-clipboard/src/pasteplaintext.js
+ *
+ * @typedef {module:clipboard/pasteplaintext} module:clipboard/pasteplaintext~PastePlainText
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-clipboard/src/utils/normalizeclipboarddata.js
+ *
+ * @typedef {module:clipboard/utils/normalizeclipboarddata} module:clipboard/utils/normalizeclipboarddata~normalizeClipboardData
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-clipboard/src/utils/plaintexttohtml.js
+ *
+ * @typedef {module:clipboard/utils/plaintexttohtml} module:clipboard/utils/plaintexttohtml~plainTextToHtml
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-clipboard/src/utils/viewtoplaintext.js
+ *
+ * @typedef {module:clipboard/utils/viewtoplaintext} module:clipboard/utils/viewtoplaintext~viewToPlainText
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-code-block/src/codeblock.js
+ *
+ * @typedef {module:code-block/codeblock} module:code-block/codeblock~CodeBlock
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-code-block/src/codeblockcommand.js
+ *
+ * @typedef {module:code-block/codeblockcommand} module:code-block/codeblockcommand~CodeBlockCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-code-block/src/codeblockediting.js
+ *
+ * @typedef {module:code-block/codeblockediting} module:code-block/codeblockediting~CodeBlockEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-code-block/src/codeblockui.js
+ *
+ * @typedef {module:code-block/codeblockui} module:code-block/codeblockui~CodeBlockUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-code-block/src/indentcodeblockcommand.js
+ *
+ * @typedef {module:code-block/indentcodeblockcommand} module:code-block/indentcodeblockcommand~IndentCodeBlockCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-code-block/src/outdentcodeblockcommand.js
+ *
+ * @typedef {module:code-block/outdentcodeblockcommand} module:code-block/outdentcodeblockcommand~OutdentCodeBlockCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/command.js
+ *
+ * @typedef {module:core/command} module:core/command~Command
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/commandcollection.js
+ *
+ * @typedef {module:core/commandcollection} module:core/commandcollection~CommandCollection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/context.js
+ *
+ * @typedef {module:core/context} module:core/context~Context
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/contextplugin.js
+ *
+ * @typedef {module:core/contextplugin} module:core/contextplugin~ContextPlugin
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/editingkeystrokehandler.js
+ *
+ * @typedef {module:core/editingkeystrokehandler} module:core/editingkeystrokehandler~EditingKeystrokeHandler
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/editor/editor.js
+ *
+ * @typedef {module:core/editor/editor} module:core/editor/editor~Editor
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/editor/editorconfig.jsdoc
+ *
+ * @typedef {module:core/editor/editorconfig} module:core/editor/editorconfig~EditorConfig
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/editor/editorui.js
+ *
+ * @typedef {module:core/editor/editorui} module:core/editor/editorui~EditorUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/editor/editorwithui.jsdoc
+ *
+ * @typedef {module:core/editor/editorwithui} module:core/editor/editorwithui~EditorWithUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/editor/utils/attachtoform.js
+ *
+ * @typedef {module:core/editor/utils/attachtoform} module:core/editor/utils/attachtoform~attachToForm
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/editor/utils/dataapimixin.js
+ *
+ * @typedef {module:core/editor/utils/dataapimixin} module:core/editor/utils/dataapimixin~DataApiMixin
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/editor/utils/elementapimixin.js
+ *
+ * @typedef {module:core/editor/utils/elementapimixin} module:core/editor/utils/elementapimixin~ElementApiMixin
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/editor/utils/securesourceelement.js
+ *
+ * @typedef {module:core/editor/utils/securesourceelement} module:core/editor/utils/securesourceelement~secureSourceElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/multicommand.js
+ *
+ * @typedef {module:core/multicommand} module:core/multicommand~MultiCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/pendingactions.js
+ *
+ * @typedef {module:core/pendingactions} module:core/pendingactions~PendingActions
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/plugin.js
+ *
+ * @typedef {module:core/plugin} module:core/plugin~Plugin
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-core/src/plugincollection.js
+ *
+ * @typedef {module:core/plugincollection} module:core/plugincollection~PluginCollection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-editor-classic/src/classiceditor.js
+ *
+ * @typedef {module:editor-classic/classiceditor} module:editor-classic/classiceditor~ClassicEditor
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-editor-classic/src/classiceditorui.js
+ *
+ * @typedef {module:editor-classic/classiceditorui} module:editor-classic/classiceditorui~ClassicEditorUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-editor-classic/src/classiceditoruiview.js
+ *
+ * @typedef {module:editor-classic/classiceditoruiview} module:editor-classic/classiceditoruiview~ClassicEditorUIView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-editor-decoupled/src/decouplededitor.js
+ *
+ * @typedef {module:editor-decoupled/decouplededitor} module:editor-decoupled/decouplededitor~DecoupledEditor
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-editor-decoupled/src/decouplededitorui.js
+ *
+ * @typedef {module:editor-decoupled/decouplededitorui} module:editor-decoupled/decouplededitorui~DecoupledEditorUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-editor-decoupled/src/decouplededitoruiview.js
+ *
+ * @typedef {module:editor-decoupled/decouplededitoruiview} module:editor-decoupled/decouplededitoruiview~DecoupledEditorUIView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/controller/datacontroller.js
+ *
+ * @typedef {module:engine/controller/datacontroller} module:engine/controller/datacontroller~DataController
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/controller/editingcontroller.js
+ *
+ * @typedef {module:engine/controller/editingcontroller} module:engine/controller/editingcontroller~EditingController
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/conversion/conversion.js
+ *
+ * @typedef {module:engine/conversion/conversion} module:engine/conversion/conversion~Conversion
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/conversion/conversionhelpers.js
+ *
+ * @typedef {module:engine/conversion/conversionhelpers} module:engine/conversion/conversionhelpers~ConversionHelpers
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/conversion/downcastdispatcher.js
+ *
+ * @typedef {module:engine/conversion/downcastdispatcher} module:engine/conversion/downcastdispatcher~DowncastDispatcher
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/conversion/downcasthelpers.js
+ *
+ * @typedef {module:engine/conversion/downcasthelpers} module:engine/conversion/downcasthelpers~DowncastHelpers
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/conversion/mapper.js
+ *
+ * @typedef {module:engine/conversion/mapper} module:engine/conversion/mapper~Mapper
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/conversion/modelconsumable.js
+ *
+ * @typedef {module:engine/conversion/modelconsumable} module:engine/conversion/modelconsumable~ModelConsumable
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/conversion/upcastdispatcher.js
+ *
+ * @typedef {module:engine/conversion/upcastdispatcher} module:engine/conversion/upcastdispatcher~UpcastDispatcher
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/conversion/upcasthelpers.js
+ *
+ * @typedef {module:engine/conversion/upcasthelpers} module:engine/conversion/upcasthelpers~UpcastHelpers
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/conversion/viewconsumable.js
+ *
+ * @typedef {module:engine/conversion/viewconsumable} module:engine/conversion/viewconsumable~ViewConsumable
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/dataprocessor/basichtmlwriter.js
+ *
+ * @typedef {module:engine/dataprocessor/basichtmlwriter} module:engine/dataprocessor/basichtmlwriter~BasicHtmlWriter
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/dataprocessor/dataprocessor.jsdoc
+ *
+ * @typedef {module:engine/dataprocessor/dataprocessor} module:engine/dataprocessor/dataprocessor~DataProcessor
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/dataprocessor/htmldataprocessor.js
+ *
+ * @typedef {module:engine/dataprocessor/htmldataprocessor} module:engine/dataprocessor/htmldataprocessor~HtmlDataProcessor
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/dataprocessor/htmlwriter.js
+ *
+ * @typedef {module:engine/dataprocessor/htmlwriter} module:engine/dataprocessor/htmlwriter~HtmlWriter
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/dataprocessor/xmldataprocessor.js
+ *
+ * @typedef {module:engine/dataprocessor/xmldataprocessor} module:engine/dataprocessor/xmldataprocessor~XmlDataProcessor
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/dev-utils/operationreplayer.js
+ *
+ * @typedef {module:engine/dev-utils/operationreplayer} module:engine/dev-utils/operationreplayer~OperationReplayer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/batch.js
+ *
+ * @typedef {module:engine/model/batch} module:engine/model/batch~Batch
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/differ.js
+ *
+ * @typedef {module:engine/model/differ} module:engine/model/differ~Differ
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/document.js
+ *
+ * @typedef {module:engine/model/document} module:engine/model/document~Document
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/documentfragment.js
+ *
+ * @typedef {module:engine/model/documentfragment} module:engine/model/documentfragment~DocumentFragment
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/documentselection.js
+ *
+ * @typedef {module:engine/model/documentselection} module:engine/model/documentselection~DocumentSelection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/element.js
+ *
+ * @typedef {module:engine/model/element} module:engine/model/element~Element
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/history.js
+ *
+ * @typedef {module:engine/model/history} module:engine/model/history~History
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/item.jsdoc
+ *
+ * @typedef {module:engine/model/item} module:engine/model/item~Item
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/liveposition.js
+ *
+ * @typedef {module:engine/model/liveposition} module:engine/model/liveposition~LivePosition
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/liverange.js
+ *
+ * @typedef {module:engine/model/liverange} module:engine/model/liverange~LiveRange
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/markercollection.js
+ *
+ * @typedef {module:engine/model/markercollection} module:engine/model/markercollection~MarkerCollection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/model.js
+ *
+ * @typedef {module:engine/model/model} module:engine/model/model~Model
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/node.js
+ *
+ * @typedef {module:engine/model/node} module:engine/model/node~Node
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/nodelist.js
+ *
+ * @typedef {module:engine/model/nodelist} module:engine/model/nodelist~NodeList
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/attributeoperation.js
+ *
+ * @typedef {module:engine/model/operation/attributeoperation} module:engine/model/operation/attributeoperation~AttributeOperation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/detachoperation.js
+ *
+ * @typedef {module:engine/model/operation/detachoperation} module:engine/model/operation/detachoperation~DetachOperation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/insertoperation.js
+ *
+ * @typedef {module:engine/model/operation/insertoperation} module:engine/model/operation/insertoperation~InsertOperation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/markeroperation.js
+ *
+ * @typedef {module:engine/model/operation/markeroperation} module:engine/model/operation/markeroperation~MarkerOperation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/mergeoperation.js
+ *
+ * @typedef {module:engine/model/operation/mergeoperation} module:engine/model/operation/mergeoperation~MergeOperation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/moveoperation.js
+ *
+ * @typedef {module:engine/model/operation/moveoperation} module:engine/model/operation/moveoperation~MoveOperation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/nooperation.js
+ *
+ * @typedef {module:engine/model/operation/nooperation} module:engine/model/operation/nooperation~NoOperation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/operation.js
+ *
+ * @typedef {module:engine/model/operation/operation} module:engine/model/operation/operation~Operation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/operationfactory.js
+ *
+ * @typedef {module:engine/model/operation/operationfactory} module:engine/model/operation/operationfactory~OperationFactory
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/renameoperation.js
+ *
+ * @typedef {module:engine/model/operation/renameoperation} module:engine/model/operation/renameoperation~RenameOperation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/rootattributeoperation.js
+ *
+ * @typedef {module:engine/model/operation/rootattributeoperation} module:engine/model/operation/rootattributeoperation~RootAttributeOperation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/splitoperation.js
+ *
+ * @typedef {module:engine/model/operation/splitoperation} module:engine/model/operation/splitoperation~SplitOperation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/transform.js
+ *
+ * @typedef {module:engine/model/operation/transform} module:engine/model/operation/transform~TransformationContext
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/operation/utils.js
+ *
+ * @typedef {module:engine/model/operation/utils} module:engine/model/operation/utils~TextProxy
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/position.js
+ *
+ * @typedef {module:engine/model/position} module:engine/model/position~Position
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/range.js
+ *
+ * @typedef {module:engine/model/range} module:engine/model/range~Range
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/rootelement.js
+ *
+ * @typedef {module:engine/model/rootelement} module:engine/model/rootelement~RootElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/schema.js
+ *
+ * @typedef {module:engine/model/schema} module:engine/model/schema~Schema
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/selection.js
+ *
+ * @typedef {module:engine/model/selection} module:engine/model/selection~Selection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/text.js
+ *
+ * @typedef {module:engine/model/text} module:engine/model/text~Text
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/textproxy.js
+ *
+ * @typedef {module:engine/model/textproxy} module:engine/model/textproxy~TextProxy
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/treewalker.js
+ *
+ * @typedef {module:engine/model/treewalker} module:engine/model/treewalker~TreeWalker
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/utils/deletecontent.js
+ *
+ * @typedef {module:engine/model/utils/deletecontent} module:engine/model/utils/deletecontent~deleteContent
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/utils/getselectedcontent.js
+ *
+ * @typedef {module:engine/model/utils/getselectedcontent} module:engine/model/utils/getselectedcontent~getSelectedContent
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/utils/insertcontent.js
+ *
+ * @typedef {module:engine/model/utils/insertcontent} module:engine/model/utils/insertcontent~insertContent
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/utils/insertobject.js
+ *
+ * @typedef {module:engine/model/utils/insertobject} module:engine/model/utils/insertobject~insertObject
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/utils/modifyselection.js
+ *
+ * @typedef {module:engine/model/utils/modifyselection} module:engine/model/utils/modifyselection~modifySelection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/model/writer.js
+ *
+ * @typedef {module:engine/model/writer} module:engine/model/writer~Writer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/attributeelement.js
+ *
+ * @typedef {module:engine/view/attributeelement} module:engine/view/attributeelement~AttributeElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/containerelement.js
+ *
+ * @typedef {module:engine/view/containerelement} module:engine/view/containerelement~ContainerElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/document.js
+ *
+ * @typedef {module:engine/view/document} module:engine/view/document~Document
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/documentfragment.js
+ *
+ * @typedef {module:engine/view/documentfragment} module:engine/view/documentfragment~DocumentFragment
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/documentselection.js
+ *
+ * @typedef {module:engine/view/documentselection} module:engine/view/documentselection~DocumentSelection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/domconverter.js
+ *
+ * @typedef {module:engine/view/domconverter} module:engine/view/domconverter~DomConverter
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/downcastwriter.js
+ *
+ * @typedef {module:engine/view/downcastwriter} module:engine/view/downcastwriter~DowncastWriter
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/editableelement.js
+ *
+ * @typedef {module:engine/view/editableelement} module:engine/view/editableelement~EditableElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/element.js
+ *
+ * @typedef {module:engine/view/element} module:engine/view/element~Element
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/elementdefinition.jsdoc
+ *
+ * @typedef {module:engine/view/elementdefinition} module:engine/view/elementdefinition~ElementDefinition
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/emptyelement.js
+ *
+ * @typedef {module:engine/view/emptyelement} module:engine/view/emptyelement~EmptyElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/item.jsdoc
+ *
+ * @typedef {module:engine/view/item} module:engine/view/item~Item
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/matcher.js
+ *
+ * @typedef {module:engine/view/matcher} module:engine/view/matcher~Matcher
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/node.js
+ *
+ * @typedef {module:engine/view/node} module:engine/view/node~Node
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/arrowkeysobserver.js
+ *
+ * @typedef {module:engine/view/observer/arrowkeysobserver} module:engine/view/observer/arrowkeysobserver~ArrowKeysObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/bubblingemittermixin.js
+ *
+ * @typedef {module:engine/view/observer/bubblingemittermixin} module:engine/view/observer/bubblingemittermixin~BubblingEmitterMixin
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/bubblingeventinfo.js
+ *
+ * @typedef {module:engine/view/observer/bubblingeventinfo} module:engine/view/observer/bubblingeventinfo~BubblingEventInfo
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/clickobserver.js
+ *
+ * @typedef {module:engine/view/observer/clickobserver} module:engine/view/observer/clickobserver~ClickObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/compositionobserver.js
+ *
+ * @typedef {module:engine/view/observer/compositionobserver} module:engine/view/observer/compositionobserver~CompositionObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/domeventdata.js
+ *
+ * @typedef {module:engine/view/observer/domeventdata} module:engine/view/observer/domeventdata~DomEventData
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/domeventobserver.js
+ *
+ * @typedef {module:engine/view/observer/domeventobserver} module:engine/view/observer/domeventobserver~DomEventObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/fakeselectionobserver.js
+ *
+ * @typedef {module:engine/view/observer/fakeselectionobserver} module:engine/view/observer/fakeselectionobserver~FakeSelectionObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/focusobserver.js
+ *
+ * @typedef {module:engine/view/observer/focusobserver} module:engine/view/observer/focusobserver~FocusObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/inputobserver.js
+ *
+ * @typedef {module:engine/view/observer/inputobserver} module:engine/view/observer/inputobserver~InputObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/keyobserver.js
+ *
+ * @typedef {module:engine/view/observer/keyobserver} module:engine/view/observer/keyobserver~KeyObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/mouseobserver.js
+ *
+ * @typedef {module:engine/view/observer/mouseobserver} module:engine/view/observer/mouseobserver~MouseObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/mutationobserver.js
+ *
+ * @typedef {module:engine/view/observer/mutationobserver} module:engine/view/observer/mutationobserver~MutationObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/observer.js
+ *
+ * @typedef {module:engine/view/observer/observer} module:engine/view/observer/observer~Observer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/selectionobserver.js
+ *
+ * @typedef {module:engine/view/observer/selectionobserver} module:engine/view/observer/selectionobserver~SelectionObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/observer/tabobserver.js
+ *
+ * @typedef {module:engine/view/observer/tabobserver} module:engine/view/observer/tabobserver~TabObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/position.js
+ *
+ * @typedef {module:engine/view/position} module:engine/view/position~Position
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/range.js
+ *
+ * @typedef {module:engine/view/range} module:engine/view/range~Range
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/rawelement.js
+ *
+ * @typedef {module:engine/view/rawelement} module:engine/view/rawelement~RawElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/renderer.js
+ *
+ * @typedef {module:engine/view/renderer} module:engine/view/renderer~Renderer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/rooteditableelement.js
+ *
+ * @typedef {module:engine/view/rooteditableelement} module:engine/view/rooteditableelement~RootEditableElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/selection.js
+ *
+ * @typedef {module:engine/view/selection} module:engine/view/selection~Selection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/stylesmap.js
+ *
+ * @typedef {module:engine/view/stylesmap} module:engine/view/stylesmap~StylesMap
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/text.js
+ *
+ * @typedef {module:engine/view/text} module:engine/view/text~Text
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/textproxy.js
+ *
+ * @typedef {module:engine/view/textproxy} module:engine/view/textproxy~TextProxy
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/treewalker.js
+ *
+ * @typedef {module:engine/view/treewalker} module:engine/view/treewalker~TreeWalker
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/uielement.js
+ *
+ * @typedef {module:engine/view/uielement} module:engine/view/uielement~UIElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/upcastwriter.js
+ *
+ * @typedef {module:engine/view/upcastwriter} module:engine/view/upcastwriter~UpcastWriter
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-engine/src/view/view.js
+ *
+ * @typedef {module:engine/view/view} module:engine/view/view~View
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-enter/src/enter.js
+ *
+ * @typedef {module:enter/enter} module:enter/enter~Enter
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-enter/src/entercommand.js
+ *
+ * @typedef {module:enter/entercommand} module:enter/entercommand~EnterCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-enter/src/enterobserver.js
+ *
+ * @typedef {module:enter/enterobserver} module:enter/enterobserver~EnterObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-enter/src/shiftenter.js
+ *
+ * @typedef {module:enter/shiftenter} module:enter/shiftenter~ShiftEnter
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-enter/src/shiftentercommand.js
+ *
+ * @typedef {module:enter/shiftentercommand} module:enter/shiftentercommand~ShiftEnterCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-essentials/src/essentials.js
+ *
+ * @typedef {module:essentials/essentials} module:essentials/essentials~Essentials
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-heading/src/heading.js
+ *
+ * @typedef {module:heading/heading} module:heading/heading~Heading
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-heading/src/headingbuttonsui.js
+ *
+ * @typedef {module:heading/headingbuttonsui} module:heading/headingbuttonsui~HeadingButtonsUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-heading/src/headingcommand.js
+ *
+ * @typedef {module:heading/headingcommand} module:heading/headingcommand~HeadingCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-heading/src/headingediting.js
+ *
+ * @typedef {module:heading/headingediting} module:heading/headingediting~HeadingEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-heading/src/headingui.js
+ *
+ * @typedef {module:heading/headingui} module:heading/headingui~HeadingUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-heading/src/title.js
+ *
+ * @typedef {module:heading/title} module:heading/title~Title
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-horizontal-line/src/horizontalline.js
+ *
+ * @typedef {module:horizontal-line/horizontalline} module:horizontal-line/horizontalline~HorizontalLine
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-horizontal-line/src/horizontallinecommand.js
+ *
+ * @typedef {module:horizontal-line/horizontallinecommand} module:horizontal-line/horizontallinecommand~HorizontalLineCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-horizontal-line/src/horizontallineediting.js
+ *
+ * @typedef {module:horizontal-line/horizontallineediting} module:horizontal-line/horizontallineediting~HorizontalLineEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-horizontal-line/src/horizontallineui.js
+ *
+ * @typedef {module:horizontal-line/horizontallineui} module:horizontal-line/horizontallineui~HorizontalLineUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/datafilter.js
+ *
+ * @typedef {module:html-support/datafilter} module:html-support/datafilter~DataFilter
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/dataschema.js
+ *
+ * @typedef {module:html-support/dataschema} module:html-support/dataschema~DataSchema
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/generalhtmlsupport.js
+ *
+ * @typedef {module:html-support/generalhtmlsupport} module:html-support/generalhtmlsupport~GeneralHtmlSupport
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/htmlcomment.js
+ *
+ * @typedef {module:html-support/htmlcomment} module:html-support/htmlcomment~HtmlComment
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/integrations/codeblock.js
+ *
+ * @typedef {module:html-support/integrations/codeblock} module:html-support/integrations/codeblock~CodeBlockElementSupport
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/integrations/documentlist.js
+ *
+ * @typedef {module:html-support/integrations/documentlist} module:html-support/integrations/documentlist~DocumentListElementSupport
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/integrations/dualcontent.js
+ *
+ * @typedef {module:html-support/integrations/dualcontent} module:html-support/integrations/dualcontent~DualContentModelElementSupport
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/integrations/heading.js
+ *
+ * @typedef {module:html-support/integrations/heading} module:html-support/integrations/heading~HeadingElementSupport
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/integrations/image.js
+ *
+ * @typedef {module:html-support/integrations/image} module:html-support/integrations/image~ImageElementSupport
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/integrations/mediaembed.js
+ *
+ * @typedef {module:html-support/integrations/mediaembed} module:html-support/integrations/mediaembed~MediaEmbedElementSupport
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/integrations/script.js
+ *
+ * @typedef {module:html-support/integrations/script} module:html-support/integrations/script~ScriptElementSupport
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/integrations/style.js
+ *
+ * @typedef {module:html-support/integrations/style} module:html-support/integrations/style~StyleElementSupport
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-html-support/src/integrations/table.js
+ *
+ * @typedef {module:html-support/integrations/table} module:html-support/integrations/table~TableElementSupport
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/autoimage.js
+ *
+ * @typedef {module:image/autoimage} module:image/autoimage~AutoImage
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/image.js
+ *
+ * @typedef {module:image/image} module:image/image~Image
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/image/imageblockediting.js
+ *
+ * @typedef {module:image/image/imageblockediting} module:image/image/imageblockediting~ImageBlockEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/image/imageediting.js
+ *
+ * @typedef {module:image/image/imageediting} module:image/image/imageediting~ImageEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/image/imageinlineediting.js
+ *
+ * @typedef {module:image/image/imageinlineediting} module:image/image/imageinlineediting~ImageInlineEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/image/imageloadobserver.js
+ *
+ * @typedef {module:image/image/imageloadobserver} module:image/image/imageloadobserver~ImageLoadObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/image/imagetypecommand.js
+ *
+ * @typedef {module:image/image/imagetypecommand} module:image/image/imagetypecommand~ImageTypeCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/image/insertimagecommand.js
+ *
+ * @typedef {module:image/image/insertimagecommand} module:image/image/insertimagecommand~InsertImageCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageblock.js
+ *
+ * @typedef {module:image/imageblock} module:image/imageblock~ImageBlock
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagecaption.js
+ *
+ * @typedef {module:image/imagecaption} module:image/imagecaption~ImageCaption
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagecaption/imagecaptionediting.js
+ *
+ * @typedef {module:image/imagecaption/imagecaptionediting} module:image/imagecaption/imagecaptionediting~ImageCaptionEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagecaption/imagecaptionui.js
+ *
+ * @typedef {module:image/imagecaption/imagecaptionui} module:image/imagecaption/imagecaptionui~ImageCaptionUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagecaption/imagecaptionutils.js
+ *
+ * @typedef {module:image/imagecaptionutils/utils} module:image/imagecaptionutils/utils~ImageCaptionUtils
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagecaption/toggleimagecaptioncommand.js
+ *
+ * @typedef {module:image/imagecaption/toggleimagecaptioncommand} module:image/imagecaption/toggleimagecaptioncommand~ToggleImageCaptionCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageinline.js
+ *
+ * @typedef {module:image/imageinline} module:image/imageinline~ImageInline
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageinsert.js
+ *
+ * @typedef {module:image/imageinsert} module:image/imageinsert~ImageInsert
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageinsert/imageinsertui.js
+ *
+ * @typedef {module:image/imageinsert/imageinsertui} module:image/imageinsert/imageinsertui~ImageInsertUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageinsert/ui/imageinsertformrowview.js
+ *
+ * @typedef {module:image/imageinsert/ui/imageinsertformrowview} module:image/imageinsert/ui/imageinsertformrowview~ImageUploadFormRowView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageinsert/ui/imageinsertpanelview.js
+ *
+ * @typedef {module:image/imageinsert/ui/imageinsertpanelview} module:image/imageinsert/ui/imageinsertpanelview~ImageInsertPanelView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageresize.js
+ *
+ * @typedef {module:image/imageresize} module:image/imageresize~ImageResize
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageresize/imageresizebuttons.js
+ *
+ * @typedef {module:image/imageresize/imageresizebuttons} module:image/imageresize/imageresizebuttons~ImageResizeButtons
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageresize/imageresizeediting.js
+ *
+ * @typedef {module:image/imageresize/imageresizeediting} module:image/imageresize/imageresizeediting~ImageResizeEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageresize/imageresizehandles.js
+ *
+ * @typedef {module:image/imageresize/imageresizehandles} module:image/imageresize/imageresizehandles~ImageResizeHandles
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageresize/resizeimagecommand.js
+ *
+ * @typedef {module:image/imageresize/resizeimagecommand} module:image/imageresize/resizeimagecommand~ResizeImageCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagestyle.js
+ *
+ * @typedef {module:image/imagestyle} module:image/imagestyle~ImageStyle
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagestyle/imagestylecommand.js
+ *
+ * @typedef {module:image/imagestyle/imagestylecommand} module:image/imagestyle/imagestylecommand~ImageStyleCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagestyle/imagestyleediting.js
+ *
+ * @typedef {module:image/imagestyle/imagestyleediting} module:image/imagestyle/imagestyleediting~ImageStyleEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagestyle/imagestyleui.js
+ *
+ * @typedef {module:image/imagestyle/imagestyleui} module:image/imagestyle/imagestyleui~ImageStyleUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagetextalternative.js
+ *
+ * @typedef {module:image/imagetextalternative} module:image/imagetextalternative~ImageTextAlternative
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagetextalternative/imagetextalternativecommand.js
+ *
+ * @typedef {module:image/imagetextalternative/imagetextalternativecommand} module:image/imagetextalternative/imagetextalternativecommand~ImageTextAlternativeCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagetextalternative/imagetextalternativeediting.js
+ *
+ * @typedef {module:image/imagetextalternative/imagetextalternativeediting} module:image/imagetextalternative/imagetextalternativeediting~ImageTextAlternativeEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagetextalternative/imagetextalternativeui.js
+ *
+ * @typedef {module:image/imagetextalternative/imagetextalternativeui} module:image/imagetextalternative/imagetextalternativeui~ImageTextAlternativeUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagetextalternative/ui/textalternativeformview.js
+ *
+ * @typedef {module:image/imagetextalternative/ui/textalternativeformview} module:image/imagetextalternative/ui/textalternativeformview~TextAlternativeFormView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imagetoolbar.js
+ *
+ * @typedef {module:image/imagetoolbar} module:image/imagetoolbar~ImageToolbar
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageupload.js
+ *
+ * @typedef {module:image/imageupload} module:image/imageupload~ImageUpload
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageupload/imageuploadediting.js
+ *
+ * @typedef {module:image/imageupload/imageuploadediting} module:image/imageupload/imageuploadediting~ImageUploadEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageupload/imageuploadprogress.js
+ *
+ * @typedef {module:image/imageupload/imageuploadprogress} module:image/imageupload/imageuploadprogress~ImageUploadProgress
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageupload/imageuploadui.js
+ *
+ * @typedef {module:image/imageupload/imageuploadui} module:image/imageupload/imageuploadui~ImageUploadUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageupload/uploadimagecommand.js
+ *
+ * @typedef {module:image/imageupload/uploadimagecommand} module:image/imageupload/uploadimagecommand~UploadImageCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/imageutils.js
+ *
+ * @typedef {module:image/imageutils} module:image/imageutils~ImageUtils
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-image/src/pictureediting.js
+ *
+ * @typedef {module:image/pictureediting} module:image/pictureediting~PictureEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-indent/src/indent.js
+ *
+ * @typedef {module:indent/indent} module:indent/indent~Indent
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-indent/src/indentblock.js
+ *
+ * @typedef {module:indent/indentblock} module:indent/indentblock~IndentBlock
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-indent/src/indentblockcommand.js
+ *
+ * @typedef {module:indent/indentblockcommand} module:indent/indentblockcommand~IndentBlockCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-indent/src/indentcommandbehavior/indentusingclasses.js
+ *
+ * @typedef {module:indent/indentcommandbehavior/indentusingclasses} module:indent/indentcommandbehavior/indentusingclasses~IndentUsingClasses
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-indent/src/indentcommandbehavior/indentusingoffset.js
+ *
+ * @typedef {module:indent/indentcommandbehavior/indentusingoffset} module:indent/indentcommandbehavior/indentusingoffset~IndentUsingOffset
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-indent/src/indentediting.js
+ *
+ * @typedef {module:indent/indentediting} module:indent/indentediting~IndentEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-indent/src/indentui.js
+ *
+ * @typedef {module:indent/indentui} module:indent/indentui~IndentUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-language/src/textpartlanguage.js
+ *
+ * @typedef {module:language/textpartlanguage} module:language/textpartlanguage~TextPartLanguage
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-language/src/textpartlanguagecommand.js
+ *
+ * @typedef {module:language/textpartlanguagecommand} module:language/textpartlanguagecommand~TextPartLanguageCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-language/src/textpartlanguageediting.js
+ *
+ * @typedef {module:language/textpartlanguageediting} module:language/textpartlanguageediting~TextPartLanguageEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-language/src/textpartlanguageui.js
+ *
+ * @typedef {module:language/textpartlanguageui} module:language/textpartlanguageui~TextPartLanguageUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/autolink.js
+ *
+ * @typedef {module:link/autolink} module:link/autolink~AutoLink
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/link.js
+ *
+ * @typedef {module:link/link} module:link/link~Link
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/linkcommand.js
+ *
+ * @typedef {module:link/linkcommand} module:link/linkcommand~LinkCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/linkediting.js
+ *
+ * @typedef {module:link/linkediting} module:link/linkediting~LinkEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/linkimage.js
+ *
+ * @typedef {module:link/linkimage} module:link/linkimage~LinkImage
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/linkimageediting.js
+ *
+ * @typedef {module:link/linkimageediting} module:link/linkimageediting~LinkImageEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/linkimageui.js
+ *
+ * @typedef {module:link/linkimageui} module:link/linkimageui~LinkImageUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/linkui.js
+ *
+ * @typedef {module:link/linkui} module:link/linkui~LinkUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/ui/linkactionsview.js
+ *
+ * @typedef {module:link/ui/linkactionsview} module:link/ui/linkactionsview~LinkActionsView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/ui/linkformview.js
+ *
+ * @typedef {module:link/ui/linkformview} module:link/ui/linkformview~LinkFormView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/unlinkcommand.js
+ *
+ * @typedef {module:link/unlinkcommand} module:link/unlinkcommand~UnlinkCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/utils/automaticdecorators.js
+ *
+ * @typedef {module:link/utils} module:link/utils~AutomaticDecorators
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-link/src/utils/manualdecorator.js
+ *
+ * @typedef {module:link/utils} module:link/utils~ManualDecorator
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlist.js
+ *
+ * @typedef {module:list/documentlist} module:list/documentlist~DocumentList
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlist/documentlistcommand.js
+ *
+ * @typedef {module:list/documentlist/documentlistcommand} module:list/documentlist/documentlistcommand~DocumentListCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlist/documentlistediting.js
+ *
+ * @typedef {module:list/documentlist/documentlistediting} module:list/documentlist/documentlistediting~DocumentListEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlist/documentlistindentcommand.js
+ *
+ * @typedef {module:list/documentlist/documentlistindentcommand} module:list/documentlist/documentlistindentcommand~DocumentListIndentCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlist/documentlistmergecommand.js
+ *
+ * @typedef {module:list/documentlist/documentlistmergecommand} module:list/documentlist/documentlistmergecommand~DocumentListMergeCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlist/documentlistsplitcommand.js
+ *
+ * @typedef {module:list/documentlist/documentlistsplitcommand} module:list/documentlist/documentlistsplitcommand~DocumentListSplitCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlist/utils/listwalker.js
+ *
+ * @typedef {module:list/documentlist/utils/listwalker} module:list/documentlist/utils/listwalker~ListWalker
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlistproperties.js
+ *
+ * @typedef {module:list/documentlistproperties} module:list/documentlistproperties~DocumentListProperties
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlistproperties/documentlistpropertiesediting.js
+ *
+ * @typedef {module:list/documentlistproperties/documentlistpropertiesediting} module:list/documentlistproperties/documentlistpropertiesediting~DocumentListPropertiesEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlistproperties/documentlistreversedcommand.js
+ *
+ * @typedef {module:list/documentlistproperties/documentlistreversedcommand} module:list/documentlistproperties/documentlistreversedcommand~DocumentListReversedCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlistproperties/documentliststartcommand.js
+ *
+ * @typedef {module:list/documentlistproperties/documentliststartcommand} module:list/documentlistproperties/documentliststartcommand~DocumentListStartCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/documentlistproperties/documentliststylecommand.js
+ *
+ * @typedef {module:list/documentlistproperties/documentliststylecommand} module:list/documentlistproperties/documentliststylecommand~DocumentListStyleCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/list.js
+ *
+ * @typedef {module:list/list} module:list/list~List
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/list/indentcommand.js
+ *
+ * @typedef {module:list/list/indentcommand} module:list/list/indentcommand~IndentCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/list/listcommand.js
+ *
+ * @typedef {module:list/list/listcommand} module:list/list/listcommand~ListCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/list/listediting.js
+ *
+ * @typedef {module:list/list/listediting} module:list/list/listediting~ListEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/list/listui.js
+ *
+ * @typedef {module:list/list/listui} module:list/list/listui~ListUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/listproperties.js
+ *
+ * @typedef {module:list/listproperties} module:list/listproperties~ListProperties
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/listproperties/listpropertiesediting.js
+ *
+ * @typedef {module:list/listproperties/listpropertiesediting} module:list/listproperties/listpropertiesediting~ListPropertiesEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/listproperties/listpropertiesui.js
+ *
+ * @typedef {module:list/listproperties/listpropertiesui} module:list/listproperties/listpropertiesui~ListPropertiesUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/listproperties/listreversedcommand.js
+ *
+ * @typedef {module:list/listproperties/listreversedcommand} module:list/listproperties/listreversedcommand~ListReversedCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/listproperties/liststartcommand.js
+ *
+ * @typedef {module:list/listproperties/liststartcommand} module:list/listproperties/liststartcommand~ListStartCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/listproperties/liststylecommand.js
+ *
+ * @typedef {module:list/listproperties/liststylecommand} module:list/listproperties/liststylecommand~ListStyleCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/listproperties/ui/collapsibleview.js
+ *
+ * @typedef {module:list/ui/collapsibleview} module:list/ui/collapsibleview~CollapsibleView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/listproperties/ui/listpropertiesview.js
+ *
+ * @typedef {module:list/ui/listpropertiesview} module:list/ui/listpropertiesview~ListPropertiesView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/liststyle.js
+ *
+ * @typedef {module:list/liststyle} module:list/liststyle~ListStyle
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/todolist.js
+ *
+ * @typedef {module:list/todolist} module:list/todolist~TodoList
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/todolist/checktodolistcommand.js
+ *
+ * @typedef {module:list/todolist/checktodolistcommand} module:list/todolist/checktodolistcommand~CheckTodoListCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/todolist/todolistediting.js
+ *
+ * @typedef {module:list/todolist/todolistediting} module:list/todolist/todolistediting~TodoListEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-list/src/todolist/todolistui.js
+ *
+ * @typedef {module:list/todolist/todolistui} module:list/todolist/todolistui~TodoListUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-paragraph/src/insertparagraphcommand.js
+ *
+ * @typedef {module:paragraph/insertparagraphcommand} module:paragraph/insertparagraphcommand~InsertParagraphCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-paragraph/src/paragraph.js
+ *
+ * @typedef {module:paragraph/paragraph} module:paragraph/paragraph~Paragraph
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-paragraph/src/paragraphbuttonui.js
+ *
+ * @typedef {module:paragraph/paragraphbuttonui} module:paragraph/paragraphbuttonui~ParagraphButtonUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-paragraph/src/paragraphcommand.js
+ *
+ * @typedef {module:paragraph/paragraphcommand} module:paragraph/paragraphcommand~ParagraphCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-paste-from-office/src/filters/removeboldwrapper.js
+ *
+ * @typedef {module:paste-from-office/filters/removeboldwrapper} module:paste-from-office/filters/removeboldwrapper~removeBoldWrapper
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-paste-from-office/src/normalizer.jsdoc
+ *
+ * @typedef {module:paste-from-office/normalizer} module:paste-from-office/normalizer~Normalizer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-paste-from-office/src/normalizers/googledocsnormalizer.js
+ *
+ * @typedef {module:paste-from-office/normalizers/googledocsnormalizer} module:paste-from-office/normalizers/googledocsnormalizer~GoogleDocsNormalizer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-paste-from-office/src/normalizers/mswordnormalizer.js
+ *
+ * @typedef {module:paste-from-office/normalizers/mswordnormalizer} module:paste-from-office/normalizers/mswordnormalizer~MSWordNormalizer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-paste-from-office/src/pastefromoffice.js
+ *
+ * @typedef {module:paste-from-office/pastefromoffice} module:paste-from-office/pastefromoffice~PasteFromOffice
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-remove-format/src/removeformat.js
+ *
+ * @typedef {module:remove-format/removeformat} module:remove-format/removeformat~RemoveFormat
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-remove-format/src/removeformatcommand.js
+ *
+ * @typedef {module:remove-format/removeformatcommand} module:remove-format/removeformatcommand~RemoveFormatCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-remove-format/src/removeformatediting.js
+ *
+ * @typedef {module:remove-format/removeformatediting} module:remove-format/removeformatediting~RemoveFormatEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-remove-format/src/removeformatui.js
+ *
+ * @typedef {module:remove-format/removeformatui} module:remove-format/removeformatui~RemoveFormatUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-select-all/src/selectall.js
+ *
+ * @typedef {module:select-all/selectall} module:select-all/selectall~SelectAll
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-select-all/src/selectallcommand.js
+ *
+ * @typedef {module:select-all/selectallcommand} module:select-all/selectallcommand~SelectAllCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-select-all/src/selectallediting.js
+ *
+ * @typedef {module:select-all/selectallediting} module:select-all/selectallediting~SelectAllEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-select-all/src/selectallui.js
+ *
+ * @typedef {module:select-all/selectallui} module:select-all/selectallui~SelectAllUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-source-editing/src/sourceediting.js
+ *
+ * @typedef {module:source-editing/sourceediting} module:source-editing/sourceediting~SourceEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-special-characters/src/specialcharacters.js
+ *
+ * @typedef {module:special-characters/specialcharacters} module:special-characters/specialcharacters~SpecialCharacters
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-special-characters/src/specialcharactersarrows.js
+ *
+ * @typedef {module:special-characters/specialcharactersarrows} module:special-characters/specialcharactersarrows~SpecialCharactersArrows
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-special-characters/src/specialcharacterscurrency.js
+ *
+ * @typedef {module:special-characters/specialcharacterscurrency} module:special-characters/specialcharacterscurrency~SpecialCharactersCurrency
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-special-characters/src/specialcharactersessentials.js
+ *
+ * @typedef {module:special-characters/specialcharactersessentials} module:special-characters/specialcharactersessentials~SpecialCharactersEssentials
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-special-characters/src/specialcharacterslatin.js
+ *
+ * @typedef {module:special-characters/specialcharacterslatin} module:special-characters/specialcharacterslatin~SpecialCharactersLatin
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-special-characters/src/specialcharactersmathematical.js
+ *
+ * @typedef {module:special-characters/specialcharactersmathematical} module:special-characters/specialcharactersmathematical~SpecialCharactersMathematical
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-special-characters/src/specialcharacterstext.js
+ *
+ * @typedef {module:special-characters/specialcharacterstext} module:special-characters/specialcharacterstext~SpecialCharactersText
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-special-characters/src/ui/charactergridview.js
+ *
+ * @typedef {module:special-characters/ui/charactergridview} module:special-characters/ui/charactergridview~CharacterGridView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-special-characters/src/ui/characterinfoview.js
+ *
+ * @typedef {module:special-characters/ui/characterinfoview} module:special-characters/ui/characterinfoview~CharacterInfoView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-special-characters/src/ui/specialcharactersnavigationview.js
+ *
+ * @typedef {module:special-characters/ui/specialcharactersnavigationview} module:special-characters/ui/specialcharactersnavigationview~SpecialCharactersNavigationView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/insertcolumncommand.js
+ *
+ * @typedef {module:table/commands/insertcolumncommand} module:table/commands/insertcolumncommand~InsertColumnCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/insertrowcommand.js
+ *
+ * @typedef {module:table/commands/insertrowcommand} module:table/commands/insertrowcommand~InsertRowCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/inserttablecommand.js
+ *
+ * @typedef {module:table/commands/inserttablecommand} module:table/commands/inserttablecommand~InsertTableCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/mergecellcommand.js
+ *
+ * @typedef {module:table/commands/mergecellcommand} module:table/commands/mergecellcommand~MergeCellCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/mergecellscommand.js
+ *
+ * @typedef {module:table/commands/mergecellscommand} module:table/commands/mergecellscommand~MergeCellsCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/removecolumncommand.js
+ *
+ * @typedef {module:table/commands/removecolumncommand} module:table/commands/removecolumncommand~RemoveColumnCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/removerowcommand.js
+ *
+ * @typedef {module:table/commands/removerowcommand} module:table/commands/removerowcommand~RemoveRowCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/selectcolumncommand.js
+ *
+ * @typedef {module:table/commands/selectcolumncommand} module:table/commands/selectcolumncommand~SelectColumnCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/selectrowcommand.js
+ *
+ * @typedef {module:table/commands/selectrowcommand} module:table/commands/selectrowcommand~SelectRowCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/setheadercolumncommand.js
+ *
+ * @typedef {module:table/commands/setheadercolumncommand} module:table/commands/setheadercolumncommand~SetHeaderColumnCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/setheaderrowcommand.js
+ *
+ * @typedef {module:table/commands/setheaderrowcommand} module:table/commands/setheaderrowcommand~SetHeaderRowCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/commands/splitcellcommand.js
+ *
+ * @typedef {module:table/commands/splitcellcommand} module:table/commands/splitcellcommand~SplitCellCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/converters/table-caption-post-fixer.js
+ *
+ * @typedef {module:table/converters/table-caption-post-fixer} module:table/converters/table-caption-post-fixer~injectTableCaptionPostFixer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/converters/table-cell-paragraph-post-fixer.js
+ *
+ * @typedef {module:table/converters/table-cell-paragraph-post-fixer} module:table/converters/table-cell-paragraph-post-fixer~injectTableCellParagraphPostFixer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/converters/table-cell-refresh-handler.js
+ *
+ * @typedef {module:table/converters/table-cell-refresh-post-fixer} module:table/converters/table-cell-refresh-post-fixer~tableCellRefreshHandler
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/converters/table-headings-refresh-handler.js
+ *
+ * @typedef {module:table/converters/table-heading-rows-refresh-post-fixer} module:table/converters/table-heading-rows-refresh-post-fixer~tableHeadingsRefreshHandler
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/converters/table-layout-post-fixer.js
+ *
+ * @typedef {module:table/converters/table-layout-post-fixer} module:table/converters/table-layout-post-fixer~injectTableLayoutPostFixer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/converters/upcasttable.js
+ *
+ * @typedef {module:table/converters/upcasttable} module:table/converters/upcasttable~upcastTable
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/plaintableoutput.js
+ *
+ * @typedef {module:table/plaintableoutput} module:table/plaintableoutput~PlainTableOutput
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/table.js
+ *
+ * @typedef {module:table/table} module:table/table~Table
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecaption.js
+ *
+ * @typedef {module:table/tablecaption} module:table/tablecaption~TableCaption
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecaption/tablecaptionediting.js
+ *
+ * @typedef {module:table/tablecaption/tablecaptionediting} module:table/tablecaption/tablecaptionediting~TableCaptionEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecaption/tablecaptionui.js
+ *
+ * @typedef {module:table/tablecaption/tablecaptionui} module:table/tablecaption/tablecaptionui~TableCaptionUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecaption/toggletablecaptioncommand.js
+ *
+ * @typedef {module:table/tablecaption/toggletablecaptioncommand} module:table/tablecaption/toggletablecaptioncommand~ToggleTableCaptionCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties.js
+ *
+ * @typedef {module:table/tablecellproperties} module:table/tablecellproperties~TableCellProperties
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellbackgroundcolorcommand.js
+ *
+ * @typedef {module:table/tablecellproperties/commands/tablecellbackgroundcolorcommand} module:table/tablecellproperties/commands/tablecellbackgroundcolorcommand~TableCellBackgroundColorCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellbordercolorcommand.js
+ *
+ * @typedef {module:table/tablecellproperties/commands/tablecellbordercolorcommand} module:table/tablecellproperties/commands/tablecellbordercolorcommand~TableCellBorderColorCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellborderstylecommand.js
+ *
+ * @typedef {module:table/tablecellproperties/commands/tablecellborderstylecommand} module:table/tablecellproperties/commands/tablecellborderstylecommand~TableCellBorderStyleCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellborderwidthcommand.js
+ *
+ * @typedef {module:table/tablecellproperties/commands/tablecellborderwidthcommand} module:table/tablecellproperties/commands/tablecellborderwidthcommand~TableCellBorderWidthCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellheightcommand.js
+ *
+ * @typedef {module:table/tablecellproperties/commands/tablecellheightcommand} module:table/tablecellproperties/commands/tablecellheightcommand~TableCellHeightCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellhorizontalalignmentcommand.js
+ *
+ * @typedef {module:table/tablecellproperties/commands/tablecellhorizontalalignmentcommand} module:table/tablecellproperties/commands/tablecellhorizontalalignmentcommand~TableCellHorizontalAlignmentCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellpaddingcommand.js
+ *
+ * @typedef {module:table/tablecellproperties/commands/tablecellpaddingcommand} module:table/tablecellproperties/commands/tablecellpaddingcommand~TableCellPaddingCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellpropertycommand.js
+ *
+ * @typedef {module:table/tablecellproperties/commands/tablecellpropertycommand} module:table/tablecellproperties/commands/tablecellpropertycommand~TableCellPropertyCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellverticalalignmentcommand.js
+ *
+ * @typedef {module:table/tablecellproperties/commands/tablecellverticalalignmentcommand} module:table/tablecellproperties/commands/tablecellverticalalignmentcommand~TableCellVerticalAlignmentCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/commands/tablecellwidthcommand.js
+ *
+ * @typedef {module:table/tablecellproperties/commands/tablecellwidthcommand} module:table/tablecellproperties/commands/tablecellwidthcommand~TableCellWidthCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/tablecellpropertiesediting.js
+ *
+ * @typedef {module:table/tablecellproperties/tablecellpropertiesediting} module:table/tablecellproperties/tablecellpropertiesediting~TableCellPropertiesEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/tablecellpropertiesui.js
+ *
+ * @typedef {module:table/tablecellproperties/tablecellpropertiesui} module:table/tablecellproperties/tablecellpropertiesui~TableCellPropertiesUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablecellproperties/ui/tablecellpropertiesview.js
+ *
+ * @typedef {module:table/tablecellproperties/ui/tablecellpropertiesview} module:table/tablecellproperties/ui/tablecellpropertiesview~TableCellPropertiesView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableclipboard.js
+ *
+ * @typedef {module:table/tableclipboard} module:table/tableclipboard~TableClipboard
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableediting.js
+ *
+ * @typedef {module:table/tableediting} module:table/tableediting~TableEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablekeyboard.js
+ *
+ * @typedef {module:table/tablekeyboard} module:table/tablekeyboard~TableKeyboard
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablemouse.js
+ *
+ * @typedef {module:table/tablemouse} module:table/tablemouse~TableMouse
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablemouse/mouseeventsobserver.js
+ *
+ * @typedef {module:table/tableselection/mouseeventsobserver} module:table/tableselection/mouseeventsobserver~MouseEventsObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties.js
+ *
+ * @typedef {module:table/tableproperties} module:table/tableproperties~TableProperties
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties/commands/tablealignmentcommand.js
+ *
+ * @typedef {module:table/tableproperties/commands/tablealignmentcommand} module:table/tableproperties/commands/tablealignmentcommand~TableAlignmentCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties/commands/tablebackgroundcolorcommand.js
+ *
+ * @typedef {module:table/tableproperties/commands/tablebackgroundcolorcommand} module:table/tableproperties/commands/tablebackgroundcolorcommand~TableBackgroundColorCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties/commands/tablebordercolorcommand.js
+ *
+ * @typedef {module:table/tableproperties/commands/tablebordercolorcommand} module:table/tableproperties/commands/tablebordercolorcommand~TableBorderColorCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties/commands/tableborderstylecommand.js
+ *
+ * @typedef {module:table/tableproperties/commands/tableborderstylecommand} module:table/tableproperties/commands/tableborderstylecommand~TableBorderStyleCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties/commands/tableborderwidthcommand.js
+ *
+ * @typedef {module:table/tableproperties/commands/tableborderwidthcommand} module:table/tableproperties/commands/tableborderwidthcommand~TableBorderWidthCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties/commands/tableheightcommand.js
+ *
+ * @typedef {module:table/tableproperties/commands/tableheightcommand} module:table/tableproperties/commands/tableheightcommand~TableHeightCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties/commands/tablepropertycommand.js
+ *
+ * @typedef {module:table/tableproperties/commands/tablepropertycommand} module:table/tableproperties/commands/tablepropertycommand~TablePropertyCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties/commands/tablewidthcommand.js
+ *
+ * @typedef {module:table/tableproperties/commands/tablewidthcommand} module:table/tableproperties/commands/tablewidthcommand~TableWidthCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties/tablepropertiesediting.js
+ *
+ * @typedef {module:table/tableproperties/tablepropertiesediting} module:table/tableproperties/tablepropertiesediting~TablePropertiesEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties/tablepropertiesui.js
+ *
+ * @typedef {module:table/tableproperties/tablepropertiesui} module:table/tableproperties/tablepropertiesui~TablePropertiesUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableproperties/ui/tablepropertiesview.js
+ *
+ * @typedef {module:table/tableproperties/ui/tablepropertiesview} module:table/tableproperties/ui/tablepropertiesview~TablePropertiesView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableselection.js
+ *
+ * @typedef {module:table/tableselection} module:table/tableselection~TableSelection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tabletoolbar.js
+ *
+ * @typedef {module:table/tabletoolbar} module:table/tabletoolbar~TableToolbar
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableui.js
+ *
+ * @typedef {module:table/tableui} module:table/tableui~TableUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tableutils.js
+ *
+ * @typedef {module:table/tableutils} module:table/tableutils~TableUtils
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/tablewalker.js
+ *
+ * @typedef {module:table/tablewalker} module:table/tablewalker~TableWalker
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/ui/colorinputview.js
+ *
+ * @typedef {module:table/ui/colorinputview} module:table/ui/colorinputview~ColorInputView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/ui/formrowview.js
+ *
+ * @typedef {module:table/ui/formrowview} module:table/ui/formrowview~FormRowView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-table/src/ui/inserttableview.js
+ *
+ * @typedef {module:table/ui/inserttableview} module:table/ui/inserttableview~InsertTableView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/delete.js
+ *
+ * @typedef {module:typing/delete} module:typing/delete~Delete
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/deletecommand.js
+ *
+ * @typedef {module:typing/deletecommand} module:typing/deletecommand~DeleteCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/deleteobserver.js
+ *
+ * @typedef {module:typing/deleteobserver} module:typing/deleteobserver~DeleteObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/input.js
+ *
+ * @typedef {module:typing/input} module:typing/input~Input
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/inputcommand.js
+ *
+ * @typedef {module:typing/inputcommand} module:typing/inputcommand~InputCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/texttransformation.js
+ *
+ * @typedef {module:typing/texttransformation} module:typing/texttransformation~TextTransformation
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/textwatcher.js
+ *
+ * @typedef {module:typing/textwatcher} module:typing/textwatcher~TextWatcher
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/twostepcaretmovement.js
+ *
+ * @typedef {module:typing/twostepcaretmovement} module:typing/twostepcaretmovement~TwoStepCaretMovement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/typing.js
+ *
+ * @typedef {module:typing/typing} module:typing/typing~Typing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/utils/changebuffer.js
+ *
+ * @typedef {module:typing/utils/changebuffer} module:typing/utils/changebuffer~ChangeBuffer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/utils/findattributerange.js
+ *
+ * @typedef {module:typing/utils/findattributerange} module:typing/utils/findattributerange~findAttributeRange
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/utils/getlasttextline.js
+ *
+ * @typedef {module:typing/utils/getlasttextline} module:typing/utils/getlasttextline~getLastTextLine
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/utils/injecttypingmutationshandling.js
+ *
+ * @typedef {module:typing/utils/injecttypingmutationshandling} module:typing/utils/injecttypingmutationshandling~injectTypingMutationsHandling
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js
+ *
+ * @typedef {module:typing/utils/injectunsafekeystrokeshandling} module:typing/utils/injectunsafekeystrokeshandling~injectUnsafeKeystrokesHandling
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-typing/src/utils/inlinehighlight.js
+ *
+ * @typedef {module:typing/utils/inlinehighlight} module:typing/utils/inlinehighlight~inlineHighlight
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/bindings/clickoutsidehandler.js
+ *
+ * @typedef {module:ui/bindings/clickoutsidehandler} module:ui/bindings/clickoutsidehandler~clickOutsideHandler
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/bindings/injectcsstransitiondisabler.js
+ *
+ * @typedef {module:ui/bindings/injectcsstransitiondisabler} module:ui/bindings/injectcsstransitiondisabler~injectCssTransitionDisabler
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/bindings/preventdefault.js
+ *
+ * @typedef {module:ui/bindings/preventdefault} module:ui/bindings/preventdefault~preventDefault
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/bindings/submithandler.js
+ *
+ * @typedef {module:ui/bindings/submithandler} module:ui/bindings/submithandler~submitHandler
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/button/button.jsdoc
+ *
+ * @typedef {module:ui/button/button} module:ui/button/button~Button
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/button/buttonview.js
+ *
+ * @typedef {module:ui/button/buttonview} module:ui/button/buttonview~ButtonView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/button/switchbuttonview.js
+ *
+ * @typedef {module:ui/button/switchbuttonview} module:ui/button/switchbuttonview~SwitchButtonView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/colorgrid/colorgridview.js
+ *
+ * @typedef {module:ui/colorgrid/colorgrid} module:ui/colorgrid/colorgrid~ColorGridView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/colorgrid/colortileview.js
+ *
+ * @typedef {module:ui/colorgrid/colortile} module:ui/colorgrid/colortile~ColorTileView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/componentfactory.js
+ *
+ * @typedef {module:ui/componentfactory} module:ui/componentfactory~ComponentFactory
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/dropdown/button/dropdownbutton.jsdoc
+ *
+ * @typedef {module:ui/dropdown/button/dropdownbutton} module:ui/dropdown/button/dropdownbutton~DropdownButton
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js
+ *
+ * @typedef {module:ui/dropdown/button/dropdownbuttonview} module:ui/dropdown/button/dropdownbuttonview~DropdownButtonView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/dropdown/button/splitbuttonview.js
+ *
+ * @typedef {module:ui/dropdown/button/splitbuttonview} module:ui/dropdown/button/splitbuttonview~SplitButtonView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/dropdown/dropdownpanelfocusable.jsdoc
+ *
+ * @typedef {module:ui/dropdown/dropdownpanelfocusable} module:ui/dropdown/dropdownpanelfocusable~DropdownPanelFocusable
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/dropdown/dropdownpanelview.js
+ *
+ * @typedef {module:ui/dropdown/dropdownpanelview} module:ui/dropdown/dropdownpanelview~DropdownPanelView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/dropdown/dropdownview.js
+ *
+ * @typedef {module:ui/dropdown/dropdownview} module:ui/dropdown/dropdownview~DropdownView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/dropdown/utils.js
+ *
+ * @typedef {module:ui/dropdown/utils} module:ui/dropdown/utils~ListDropdownItemDefinition
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/editableui/editableuiview.js
+ *
+ * @typedef {module:ui/editableui/editableuiview} module:ui/editableui/editableuiview~EditableUIView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/editableui/inline/inlineeditableuiview.js
+ *
+ * @typedef {module:ui/editableui/inline/inlineeditableuiview} module:ui/editableui/inline/inlineeditableuiview~InlineEditableUIView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/editorui/bodycollection.js
+ *
+ * @typedef {module:ui/editorui/bodycollection} module:ui/editorui/bodycollection~BodyCollection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/editorui/boxed/boxededitoruiview.js
+ *
+ * @typedef {module:ui/editorui/boxed/boxededitoruiview} module:ui/editorui/boxed/boxededitoruiview~BoxedEditorUIView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/editorui/editoruiview.js
+ *
+ * @typedef {module:ui/editorui/editoruiview} module:ui/editorui/editoruiview~EditorUIView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/focuscycler.js
+ *
+ * @typedef {module:ui/focuscycler} module:ui/focuscycler~FocusCycler
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/formheader/formheaderview.js
+ *
+ * @typedef {module:ui/formheader/formheaderview} module:ui/formheader/formheaderview~FormHeaderView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/icon/iconview.js
+ *
+ * @typedef {module:ui/icon/iconview} module:ui/icon/iconview~IconView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/iframe/iframeview.js
+ *
+ * @typedef {module:ui/iframe/iframeview} module:ui/iframe/iframeview~IframeView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/input/inputview.js
+ *
+ * @typedef {module:ui/input/inputview} module:ui/input/inputview~InputView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/inputnumber/inputnumberview.js
+ *
+ * @typedef {module:ui/inputnumber/inputnumberview} module:ui/inputnumber/inputnumberview~InputNumberView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/inputtext/inputtextview.js
+ *
+ * @typedef {module:ui/inputtext/inputtextview} module:ui/inputtext/inputtextview~InputTextView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/label/labelview.js
+ *
+ * @typedef {module:ui/label/labelview} module:ui/label/labelview~LabelView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/labeledfield/labeledfieldview.js
+ *
+ * @typedef {module:ui/labeledfield/labeledfieldview} module:ui/labeledfield/labeledfieldview~LabeledFieldView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/labeledinput/labeledinputview.js
+ *
+ * @typedef {module:ui/labeledinput/labeledinputview} module:ui/labeledinput/labeledinputview~LabeledInputView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/list/listitemview.js
+ *
+ * @typedef {module:ui/list/listitemview} module:ui/list/listitemview~ListItemView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/list/listseparatorview.js
+ *
+ * @typedef {module:ui/list/listseparatorview} module:ui/list/listseparatorview~ListSeparatorView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/list/listview.js
+ *
+ * @typedef {module:ui/list/listview} module:ui/list/listview~ListView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/model.js
+ *
+ * @typedef {module:ui/model} module:ui/model~Model
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/notification/notification.js
+ *
+ * @typedef {module:ui/notification/notification} module:ui/notification/notification~Notification
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/panel/balloon/balloonpanelview.js
+ *
+ * @typedef {module:ui/panel/balloon/balloonpanelview} module:ui/panel/balloon/balloonpanelview~BalloonPanelView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/panel/balloon/contextualballoon.js
+ *
+ * @typedef {module:ui/panel/balloon/contextualballoon} module:ui/panel/balloon/contextualballoon~ContextualBalloon
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/panel/sticky/stickypanelview.js
+ *
+ * @typedef {module:ui/panel/sticky/stickypanelview} module:ui/panel/sticky/stickypanelview~StickyPanelView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/template.js
+ *
+ * @typedef {module:ui/template} module:ui/template~Template
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/toolbar/balloon/balloontoolbar.js
+ *
+ * @typedef {module:ui/toolbar/balloon/balloontoolbar} module:ui/toolbar/balloon/balloontoolbar~BalloonToolbar
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/toolbar/block/blockbuttonview.js
+ *
+ * @typedef {module:ui/toolbar/block/blockbuttonview} module:ui/toolbar/block/blockbuttonview~BlockButtonView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/toolbar/block/blocktoolbar.js
+ *
+ * @typedef {module:ui/toolbar/block/blocktoolbar} module:ui/toolbar/block/blocktoolbar~BlockToolbar
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/toolbar/enabletoolbarkeyboardfocus.js
+ *
+ * @typedef {module:ui/toolbar/enabletoolbarkeyboardfocus} module:ui/toolbar/enabletoolbarkeyboardfocus~enableToolbarKeyboardFocus
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js
+ *
+ * @typedef {module:ui/toolbar/normalizetoolbarconfig} module:ui/toolbar/normalizetoolbarconfig~normalizeToolbarConfig
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/toolbar/toolbarlinebreakview.js
+ *
+ * @typedef {module:ui/toolbar/toolbarlinebreakview} module:ui/toolbar/toolbarlinebreakview~ToolbarLineBreakView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/toolbar/toolbarseparatorview.js
+ *
+ * @typedef {module:ui/toolbar/toolbarseparatorview} module:ui/toolbar/toolbarseparatorview~ToolbarSeparatorView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/toolbar/toolbarview.js
+ *
+ * @typedef {module:ui/toolbar/toolbarview} module:ui/toolbar/toolbarview~ToolbarView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/tooltip/tooltipview.js
+ *
+ * @typedef {module:ui/tooltip/tooltipview} module:ui/tooltip/tooltipview~TooltipView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/view.js
+ *
+ * @typedef {module:ui/view} module:ui/view~View
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-ui/src/viewcollection.js
+ *
+ * @typedef {module:ui/viewcollection} module:ui/viewcollection~ViewCollection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-undo/src/basecommand.js
+ *
+ * @typedef {module:undo/basecommand} module:undo/basecommand~BaseCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-undo/src/redocommand.js
+ *
+ * @typedef {module:undo/redocommand} module:undo/redocommand~RedoCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-undo/src/undo.js
+ *
+ * @typedef {module:undo/undo} module:undo/undo~Undo
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-undo/src/undocommand.js
+ *
+ * @typedef {module:undo/undocommand} module:undo/undocommand~UndoCommand
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-undo/src/undoediting.js
+ *
+ * @typedef {module:undo/undoediting} module:undo/undoediting~UndoEditing
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-undo/src/undoui.js
+ *
+ * @typedef {module:undo/undoui} module:undo/undoui~UndoUI
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-upload/src/adapters/base64uploadadapter.js
+ *
+ * @typedef {module:upload/adapters/base64uploadadapter} module:upload/adapters/base64uploadadapter~Base64UploadAdapter
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-upload/src/adapters/simpleuploadadapter.js
+ *
+ * @typedef {module:upload/adapters/simpleuploadadapter} module:upload/adapters/simpleuploadadapter~SimpleUploadAdapter
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-upload/src/filereader.js
+ *
+ * @typedef {module:upload/filereader} module:upload/filereader~FileReader
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-upload/src/filerepository.js
+ *
+ * @typedef {module:upload/filerepository} module:upload/filerepository~FileRepository
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-upload/src/ui/filedialogbuttonview.js
+ *
+ * @typedef {module:upload/ui/filedialogbuttonview} module:upload/ui/filedialogbuttonview~FileDialogButtonView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/areconnectedthroughproperties.js
+ *
+ * @typedef {module:utils/arestructuresconnected} module:utils/arestructuresconnected~areConnectedThroughProperties
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/ckeditorerror.js
+ *
+ * @typedef {module:utils/ckeditorerror} module:utils/ckeditorerror~CKEditorError
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/collection.js
+ *
+ * @typedef {module:utils/collection} module:utils/collection~Collection
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/comparearrays.js
+ *
+ * @typedef {module:utils/comparearrays} module:utils/comparearrays~compareArrays
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/config.js
+ *
+ * @typedef {module:utils/config} module:utils/config~Config
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/count.js
+ *
+ * @typedef {module:utils/count} module:utils/count~count
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/diff.js
+ *
+ * @typedef {module:utils/diff} module:utils/diff~diff
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/difftochanges.js
+ *
+ * @typedef {module:utils/difftochanges} module:utils/difftochanges~diffToChanges
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/createelement.js
+ *
+ * @typedef {module:utils/dom/createelement} module:utils/dom/createelement~createElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/emittermixin.js
+ *
+ * @typedef {module:utils/dom/emittermixin} module:utils/dom/emittermixin~DomEmitterMixin
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/getancestors.js
+ *
+ * @typedef {module:utils/dom/getancestors} module:utils/dom/getancestors~getAncestors
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/getborderwidths.js
+ *
+ * @typedef {module:utils/dom/getborderwidths} module:utils/dom/getborderwidths~getBorderWidths
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/getcommonancestor.js
+ *
+ * @typedef {module:utils/dom/getcommonancestor} module:utils/dom/getcommonancestor~getCommonAncestor
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/getdatafromelement.js
+ *
+ * @typedef {module:utils/dom/getdatafromelement} module:utils/dom/getdatafromelement~getDataFromElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/getpositionedancestor.js
+ *
+ * @typedef {module:utils/dom/getpositionedancestor} module:utils/dom/getpositionedancestor~getPositionedAncestor
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/indexof.js
+ *
+ * @typedef {module:utils/dom/indexof} module:utils/dom/indexof~indexOf
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/insertat.js
+ *
+ * @typedef {module:utils/dom/insertat} module:utils/dom/insertat~insertAt
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/iscomment.js
+ *
+ * @typedef {module:utils/dom/iscomment} module:utils/dom/iscomment~isComment
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/isnode.js
+ *
+ * @typedef {module:utils/dom/isnode} module:utils/dom/isnode~isNode
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/isrange.js
+ *
+ * @typedef {module:utils/dom/isrange} module:utils/dom/isrange~isRange
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/istext.js
+ *
+ * @typedef {module:utils/dom/istext} module:utils/dom/istext~isText
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/isvisible.js
+ *
+ * @typedef {module:utils/dom/isvisible} module:utils/dom/isvisible~isVisible
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/iswindow.js
+ *
+ * @typedef {module:utils/dom/iswindow} module:utils/dom/iswindow~isWindow
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/position.js
+ *
+ * @typedef {module:utils/dom/position} module:utils/dom/position~Options
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/rect.js
+ *
+ * @typedef {module:utils/dom/rect} module:utils/dom/rect~Rect
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/remove.js
+ *
+ * @typedef {module:utils/dom/remove} module:utils/dom/remove~remove
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/resizeobserver.js
+ *
+ * @typedef {module:utils/dom/resizeobserver} module:utils/dom/resizeobserver~ResizeObserver
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/setdatainelement.js
+ *
+ * @typedef {module:utils/dom/setdatainelement} module:utils/dom/setdatainelement~setDataInElement
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/dom/tounit.js
+ *
+ * @typedef {module:utils/dom/tounit} module:utils/dom/tounit~toUnit
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/elementreplacer.js
+ *
+ * @typedef {module:utils/elementreplacer} module:utils/elementreplacer~ElementReplacer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/emittermixin.js
+ *
+ * @typedef {module:utils/emittermixin} module:utils/emittermixin~EmitterMixin
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/env.js
+ *
+ * @typedef {module:utils/env} module:utils/env~env
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/eventinfo.js
+ *
+ * @typedef {module:utils/eventinfo} module:utils/eventinfo~EventInfo
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/fastdiff.js
+ *
+ * @typedef {module:utils/fastdiff} module:utils/fastdiff~fastDiff
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/first.js
+ *
+ * @typedef {module:utils/first} module:utils/first~first
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/focustracker.js
+ *
+ * @typedef {module:utils/focustracker} module:utils/focustracker~FocusTracker
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/inserttopriorityarray.js
+ *
+ * @typedef {module:utils/inserttopriorityarray} module:utils/inserttopriorityarray~insertToPriorityArray
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/isiterable.js
+ *
+ * @typedef {module:utils/isiterable} module:utils/isiterable~isIterable
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/keyboard.js
+ *
+ * @typedef {module:utils/keyboard} module:utils/keyboard~KeystrokeInfo
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/keystrokehandler.js
+ *
+ * @typedef {module:utils/keystrokehandler} module:utils/keystrokehandler~KeystrokeHandler
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/locale.js
+ *
+ * @typedef {module:utils/locale} module:utils/locale~Locale
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/mapsequal.js
+ *
+ * @typedef {module:utils/mapsequal} module:utils/mapsequal~mapsEqual
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/mix.js
+ *
+ * @typedef {module:utils/mix} module:utils/mix~mix
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/nth.js
+ *
+ * @typedef {module:utils/nth} module:utils/nth~nth
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/objecttomap.js
+ *
+ * @typedef {module:utils/objecttomap} module:utils/objecttomap~objectToMap
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/observablemixin.js
+ *
+ * @typedef {module:utils/observablemixin} module:utils/observablemixin~ObservableMixin
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/priorities.js
+ *
+ * @typedef {module:utils/priorities} module:utils/priorities~priorities
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/spy.js
+ *
+ * @typedef {module:utils/spy} module:utils/spy~spy
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/toarray.js
+ *
+ * @typedef {module:utils/toarray} module:utils/toarray~toArray
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/tomap.js
+ *
+ * @typedef {module:utils/tomap} module:utils/tomap~toMap
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/translation-service.js
+ *
+ * @typedef {module:utils/translation-service} module:utils/translation-service~Message
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/uid.js
+ *
+ * @typedef {module:utils/uid} module:utils/uid~uid
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-utils/src/version.js
+ *
+ * @typedef {module:utils/version} module:utils/version~version
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-widget/src/highlightstack.js
+ *
+ * @typedef {module:widget/highlightstack} module:widget/highlightstack~HighlightStack
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-widget/src/verticalnavigation.js
+ *
+ * @typedef {module:widget/verticalnavigationhandler} module:widget/verticalnavigationhandler~verticalNavigationHandler
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-widget/src/widget.js
+ *
+ * @typedef {module:widget/widget} module:widget/widget~Widget
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-widget/src/widgetresize.js
+ *
+ * @typedef {module:widget/widgetresize} module:widget/widgetresize~WidgetResize
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-widget/src/widgetresize/resizer.js
+ *
+ * @typedef {module:widget/widgetresize/resizer} module:widget/widgetresize/resizer~Resizer
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-widget/src/widgetresize/resizerstate.js
+ *
+ * @typedef {module:widget/widgetresize/resizerstate} module:widget/widgetresize/resizerstate~ResizeState
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-widget/src/widgetresize/sizeview.js
+ *
+ * @typedef {module:widget/widgetresize/sizeview} module:widget/widgetresize/sizeview~SizeView
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-widget/src/widgettoolbarrepository.js
+ *
+ * @typedef {module:widget/widgettoolbarrepository} module:widget/widgettoolbarrepository~WidgetToolbarRepository
+ */
+
+/**
+ * Declared in file @ckeditor/ckeditor5-widget/src/widgettypearound/widgettypearound.js
+ *
+ * @typedef {module:widget/widgettypearound} module:widget/widgettypearound~WidgetTypeAround
+ */
diff --git a/web/core/modules/ckeditor5/js/build/drupalImage.js b/web/core/modules/ckeditor5/js/build/drupalImage.js
index 3181eb5bb0..704e622e95 100644
--- a/web/core/modules/ckeditor5/js/build/drupalImage.js
+++ b/web/core/modules/ckeditor5/js/build/drupalImage.js
@@ -1 +1 @@
-!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.CKEditor5=e():(t.CKEditor5=t.CKEditor5||{},t.CKEditor5.drupalImage=e())}(self,(function(){return function(){var t={"ckeditor5/src/core.js":function(t,e,i){t.exports=i("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/upload.js":function(t,e,i){t.exports=i("dll-reference CKEditor5.dll")("./src/upload.js")},"ckeditor5/src/utils.js":function(t,e,i){t.exports=i("dll-reference CKEditor5.dll")("./src/utils.js")},"dll-reference CKEditor5.dll":function(t){"use strict";t.exports=CKEditor5.dll}},e={};function i(r){var n=e[r];if(void 0!==n)return n.exports;var a=e[r]={exports:{}};return t[r](a,a.exports,i),a.exports}i.d=function(t,e){for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};var r={};return function(){"use strict";i.d(r,{default:function(){return h}});var t=i("ckeditor5/src/core.js");function e(t){return t.createEmptyElement("img")}function n(t){const e=parseFloat(t);return!Number.isNaN(e)&&t===String(e)}function a(){function t(t,e,i){if(!i.consumable.consume(e.item,t.name))return;const r=i.mapper.toViewElement(e.item),n=i.writer,a=n.createContainerElement("a",{href:e.attributeNewValue});n.insert(n.createPositionBefore(r),a),n.move(n.createRangeOn(r),n.createPositionAt(a,0)),i.consumable.consume(e.item,"attribute:htmlLinkAttributes:imageBlock")&&function(t,e,i){if(e.attributes)for(const[r,n]of Object.entries(e.attributes))t.setAttribute(r,n,i);e.styles&&t.setStyle(e.styles,i),e.classes&&t.addClass(e.classes,i)}(i.writer,e.item.getAttribute("htmlLinkAttributes"),a)}return e=>{e.on("attribute:linkHref:imageBlock",t,{priority:"high"})}}class o extends t.Plugin{static get requires(){return["ImageUtils"]}static get pluginName(){return"DrupalImageEditing"}init(){const{editor:t}=this,{conversion:i}=t,{schema:r}=t.model;r.isRegistered("imageInline")&&r.extend("imageInline",{allowAttributes:["dataEntityUuid","dataEntityType","width","height"]}),r.isRegistered("imageBlock")&&r.extend("imageBlock",{allowAttributes:["dataEntityUuid","dataEntityType","width","height"]}),i.for("upcast").add(function(t){function e(e,i,r){const{viewItem:n}=i,{writer:a,consumable:o,safeInsert:s,updateConversionResult:u,schema:l}=r,d=[];let c;if(o.test(n,{name:!0,attributes:"src"})){if(c=l.checkChild(i.modelCursor,"imageInline")?a.createElement("imageInline",{src:n.getAttribute("src")}):a.createElement("imageBlock",{src:n.getAttribute("src")}),t.plugins.has("ImageStyleEditing")&&o.test(n,{name:!0,attributes:"data-align"})){const t={left:"alignBlockLeft",center:"alignCenter",right:"alignBlockRight"},e={left:"alignLeft",right:"alignRight"},i=n.getAttribute("data-align"),r=c.is("element","imageBlock")?t[i]:e[i];a.setAttribute("imageStyle",r,c),d.push("data-align")}if(c.is("element","imageBlock")&&o.test(n,{name:!0,attributes:"data-caption"})){const e=a.createElement("caption"),i=t.data.processor.toView(n.getAttribute("data-caption")),o=a.createDocumentFragment();r.consumable.constructor.createFrom(i,r.consumable),r.convertChildren(i,o);for(const t of Array.from(o.getChildren()))a.append(t,e);a.append(e,c),d.push("data-caption")}o.test(n,{name:!0,attributes:"data-entity-uuid"})&&(a.setAttribute("dataEntityUuid",n.getAttribute("data-entity-uuid"),c),d.push("data-entity-uuid")),o.test(n,{name:!0,attributes:"data-entity-type"})&&(a.setAttribute("dataEntityType",n.getAttribute("data-entity-type"),c),d.push("data-entity-type")),s(c,i.modelCursor)&&(o.consume(n,{name:!0,attributes:d}),u(c,i))}}return t=>{t.on("element:img",e,{priority:"high"})}}(t)).attributeToAttribute({view:{name:"img",key:"width"},model:{key:"width",value:t=>n(t.getAttribute("width"))?`${t.getAttribute("width")}px`:`${t.getAttribute("width")}`}}).attributeToAttribute({view:{name:"img",key:"height"},model:{key:"height",value:t=>n(t.getAttribute("height"))?`${t.getAttribute("height")}px`:`${t.getAttribute("height")}`}}),i.for("downcast").add(function(){function t(t,e,i){const{item:r}=e,{consumable:n,writer:a}=i;if(!n.consume(r,t.name))return;const o=i.mapper.toViewElement(r),s=Array.from(o.getChildren()).find((t=>"img"===t.name));a.setAttribute("data-entity-uuid",e.attributeNewValue,s||o)}return e=>{e.on("attribute:dataEntityUuid",t)}}()).add(function(){function t(t,e,i){const{item:r}=e,{consumable:n,writer:a}=i;if(!n.consume(r,t.name))return;const o=i.mapper.toViewElement(r),s=Array.from(o.getChildren()).find((t=>"img"===t.name));a.setAttribute("data-entity-type",e.attributeNewValue,s||o)}return e=>{e.on("attribute:dataEntityType",t)}}()),i.for("dataDowncast").add(function(t){return e=>{e.on("insert:caption",((e,i,r)=>{const{consumable:n,writer:a,mapper:o}=r;if(!t.plugins.get("ImageUtils").isImage(i.item.parent)||!n.consume(i.item,"insert"))return;const s=t.model.createRangeIn(i.item),u=a.createDocumentFragment();o.bindElements(i.item,u);for(const{item:e}of Array.from(s)){const i={item:e,range:t.model.createRangeOn(e)},n=`insert:${e.name||"$text"}`;t.data.downcastDispatcher.fire(n,i,r);for(const n of e.getAttributeKeys())Object.assign(i,{attributeKey:n,attributeOldValue:null,attributeNewValue:i.item.getAttribute(n)}),t.data.downcastDispatcher.fire(`attribute:${n}`,i,r)}for(const t of a.createRangeIn(u).getItems())o.unbindViewElement(t);o.unbindViewElement(u);const l=t.data.processor.toData(u);if(l){const t=o.toViewElement(i.item.parent);a.setAttribute("data-caption",l,t)}}),{priority:"high"})}}(t)).elementToElement({model:"imageBlock",view:(t,{writer:i})=>e(i),converterPriority:"high"}).elementToElement({model:"imageInline",view:(t,{writer:i})=>e(i),converterPriority:"high"}).add(function(){function t(t,e,i){const{item:r}=e,{consumable:n,writer:a}=i,o={alignLeft:"left",alignRight:"right",alignCenter:"center",alignBlockRight:"right",alignBlockLeft:"left"};if(!o[e.attributeNewValue]||!n.consume(r,t.name))return;const s=i.mapper.toViewElement(r),u=Array.from(s.getChildren()).find((t=>"img"===t.name));a.setAttribute("data-align",o[e.attributeNewValue],u||s)}return e=>{e.on("attribute:imageStyle",t,{priority:"high"})}}()).add(function(){function t(t,e,i){const{item:r}=e,{consumable:n,writer:a}=i;if(!n.consume(r,t.name))return;const o=i.mapper.toViewElement(r),s=Array.from(o.getChildren()).find((t=>"img"===t.name));a.setAttribute("width",e.attributeNewValue.replace("px",""),s||o)}return e=>{e.on("attribute:width:imageInline",t,{priority:"high"}),e.on("attribute:width:imageBlock",t,{priority:"high"})}}()).add(function(){function t(t,e,i){const{item:r}=e,{consumable:n,writer:a}=i;if(!n.consume(r,t.name))return;const o=i.mapper.toViewElement(r),s=Array.from(o.getChildren()).find((t=>"img"===t.name));a.setAttribute("height",e.attributeNewValue.replace("px",""),s||o)}return e=>{e.on("attribute:height:imageInline",t,{priority:"high"}),e.on("attribute:height:imageBlock",t,{priority:"high"})}}()).add(a())}}class s extends t.Plugin{static get requires(){return[o]}static get pluginName(){return"DrupalImage"}}var u=s;class l extends t.Plugin{init(){const{editor:t}=this;t.plugins.get("ImageUploadEditing").on("uploadComplete",((e,{data:i,imageElement:r})=>{t.model.change((t=>{t.setAttribute("dataEntityUuid",i.dataEntityUuid,r),t.setAttribute("dataEntityType",i.dataEntityType,r)}))}))}static get pluginName(){return"DrupalImageUploadEditing"}}var d=i("ckeditor5/src/upload.js"),c=i("ckeditor5/src/utils.js");class m{constructor(t,e){this.loader=t,this.options=e}upload(){return this.loader.file.then((t=>new Promise(((e,i)=>{this._initRequest(),this._initListeners(e,i,t),this._sendRequest(t)}))))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){this.xhr=new XMLHttpRequest,this.xhr.open("POST",this.options.uploadUrl,!0),this.xhr.responseType="json"}_initListeners(t,e,i){const r=this.xhr,n=this.loader,a=`Couldn't upload file: ${i.name}.`;r.addEventListener("error",(()=>e(a))),r.addEventListener("abort",(()=>e())),r.addEventListener("load",(()=>{const i=r.response;if(!i||i.error)return e(i&&i.error&&i.error.message?i.error.message:a);t({urls:{default:i.url},dataEntityUuid:i.uuid?i.uuid:"",dataEntityType:i.entity_type?i.entity_type:""})})),r.upload&&r.upload.addEventListener("progress",(t=>{t.lengthComputable&&(n.uploadTotal=t.total,n.uploaded=t.loaded)}))}_sendRequest(t){const e=this.options.headers||{},i=this.options.withCredentials||!1;Object.keys(e).forEach((t=>{this.xhr.setRequestHeader(t,e[t])})),this.xhr.withCredentials=i;const r=new FormData;r.append("upload",t),this.xhr.send(r)}}class g extends t.Plugin{static get requires(){return[d.FileRepository]}static get pluginName(){return"DrupalFileRepository"}init(){const t=this.editor.config.get("drupalImageUpload");t&&(t.uploadUrl?this.editor.plugins.get(d.FileRepository).createUploadAdapter=e=>new m(e,t):(0,c.logWarning)("simple-upload-adapter-missing-uploadurl"))}}class p extends t.Plugin{static get requires(){return[g,l]}static get pluginName(){return"DrupalImageUpload"}}var h={DrupalImage:u,DrupalImageUpload:p}}(),r=r.default}()}));
\ No newline at end of file
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.CKEditor5=e():(t.CKEditor5=t.CKEditor5||{},t.CKEditor5.drupalImage=e())}(self,(function(){return function(){var t={"ckeditor5/src/core.js":function(t,e,i){t.exports=i("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/ui.js":function(t,e,i){t.exports=i("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/upload.js":function(t,e,i){t.exports=i("dll-reference CKEditor5.dll")("./src/upload.js")},"ckeditor5/src/utils.js":function(t,e,i){t.exports=i("dll-reference CKEditor5.dll")("./src/utils.js")},"dll-reference CKEditor5.dll":function(t){"use strict";t.exports=CKEditor5.dll}},e={};function i(n){var r=e[n];if(void 0!==r)return r.exports;var s=e[n]={exports:{}};return t[n](s,s.exports,i),s.exports}i.d=function(t,e){for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};var n={};return function(){"use strict";i.d(n,{default:function(){return V}});var t=i("ckeditor5/src/core.js");function e(t,e,i){if(e.attributes)for(const[n,r]of Object.entries(e.attributes))t.setAttribute(n,r,i);e.styles&&t.setStyle(e.styles,i),e.classes&&t.addClass(e.classes,i)}function r(t){return t.createEmptyElement("img")}function s(t){const e=parseFloat(t);return!Number.isNaN(e)&&t===String(e)}const o=[{modelValue:"alignCenter",dataValue:"center"},{modelValue:"alignRight",dataValue:"right"},{modelValue:"alignLeft",dataValue:"left"}];class a extends t.Plugin{static get requires(){return["ImageUtils"]}static get pluginName(){return"DrupalImageEditing"}init(){const{editor:t}=this,{conversion:i}=t,{schema:n}=t.model;n.isRegistered("imageInline")&&n.extend("imageInline",{allowAttributes:["dataEntityUuid","dataEntityType","isDecorative","width","height"]}),n.isRegistered("imageBlock")&&n.extend("imageBlock",{allowAttributes:["dataEntityUuid","dataEntityType","isDecorative","width","height"]}),i.for("upcast").add(function(t){function e(e,i,n){const{viewItem:r}=i,{writer:s,consumable:a,safeInsert:l,updateConversionResult:u,schema:c}=n,d=[];let m;if(!a.test(r,{name:!0,attributes:"src"}))return;const g=a.test(r,{name:!0,attributes:"data-caption"});if(m=c.checkChild(i.modelCursor,"imageInline")&&!g?s.createElement("imageInline",{src:r.getAttribute("src")}):s.createElement("imageBlock",{src:r.getAttribute("src")}),t.plugins.has("ImageStyleEditing")&&a.test(r,{name:!0,attributes:"data-align"})){const t=r.getAttribute("data-align"),e=o.find((e=>e.dataValue===t));e&&(s.setAttribute("imageStyle",e.modelValue,m),d.push("data-align"))}if(g){const e=s.createElement("caption"),i=t.data.processor.toView(r.getAttribute("data-caption")),o=s.createDocumentFragment();n.consumable.constructor.createFrom(i,n.consumable),n.convertChildren(i,o);for(const t of Array.from(o.getChildren()))s.append(t,e);s.append(e,m),d.push("data-caption")}a.test(r,{name:!0,attributes:"data-entity-uuid"})&&(s.setAttribute("dataEntityUuid",r.getAttribute("data-entity-uuid"),m),d.push("data-entity-uuid")),a.test(r,{name:!0,attributes:"data-entity-type"})&&(s.setAttribute("dataEntityType",r.getAttribute("data-entity-type"),m),d.push("data-entity-type")),l(m,i.modelCursor)&&(a.consume(r,{name:!0,attributes:d}),u(m,i))}return t=>{t.on("element:img",e,{priority:"high"})}}(t)).attributeToAttribute({view:{name:"img",key:"width"},model:{key:"width",value:t=>s(t.getAttribute("width"))?`${t.getAttribute("width")}px`:`${t.getAttribute("width")}`}}).attributeToAttribute({view:{name:"img",key:"height"},model:{key:"height",value:t=>s(t.getAttribute("height"))?`${t.getAttribute("height")}px`:`${t.getAttribute("height")}`}}),i.for("downcast").add(function(){function t(t,e,i){const{item:n}=e,{consumable:r,writer:s}=i;if(!r.consume(n,t.name))return;const o=i.mapper.toViewElement(n),a=Array.from(o.getChildren()).find((t=>"img"===t.name));s.setAttribute("data-entity-uuid",e.attributeNewValue,a||o)}return e=>{e.on("attribute:dataEntityUuid",t)}}()).add(function(){function t(t,e,i){const{item:n}=e,{consumable:r,writer:s}=i;if(!r.consume(n,t.name))return;const o=i.mapper.toViewElement(n),a=Array.from(o.getChildren()).find((t=>"img"===t.name));s.setAttribute("data-entity-type",e.attributeNewValue,a||o)}return e=>{e.on("attribute:dataEntityType",t)}}()),i.for("dataDowncast").add(function(t){return e=>{e.on("insert:caption",((e,i,n)=>{const{consumable:r,writer:s,mapper:o}=n;if(!t.plugins.get("ImageUtils").isImage(i.item.parent)||!r.consume(i.item,"insert"))return;const a=t.model.createRangeIn(i.item),l=s.createDocumentFragment();o.bindElements(i.item,l);for(const{item:e}of Array.from(a)){const i={item:e,range:t.model.createRangeOn(e)},r=`insert:${e.name||"$text"}`;t.data.downcastDispatcher.fire(r,i,n);for(const r of e.getAttributeKeys())Object.assign(i,{attributeKey:r,attributeOldValue:null,attributeNewValue:i.item.getAttribute(r)}),t.data.downcastDispatcher.fire(`attribute:${r}`,i,n)}for(const t of s.createRangeIn(l).getItems())o.unbindViewElement(t);o.unbindViewElement(l);const u=t.data.processor.toData(l);if(u){const t=o.toViewElement(i.item.parent);s.setAttribute("data-caption",u,t)}}),{priority:"high"})}}(t)).elementToElement({model:"imageBlock",view:(t,{writer:e})=>r(e),converterPriority:"high"}).elementToElement({model:"imageInline",view:(t,{writer:e})=>r(e),converterPriority:"high"}).add(function(){function t(t,e,i){const{item:n}=e,{consumable:r,writer:s}=i,a=o.find((t=>t.modelValue===e.attributeNewValue));if(!a||!r.consume(n,t.name))return;const l=i.mapper.toViewElement(n),u=Array.from(l.getChildren()).find((t=>"img"===t.name));s.setAttribute("data-align",a.dataValue,u||l)}return e=>{e.on("attribute:imageStyle",t,{priority:"high"})}}()).add(function(){function t(t,e,i){const{item:n}=e,{consumable:r,writer:s}=i;if(!r.consume(n,t.name))return;const o=i.mapper.toViewElement(n),a=Array.from(o.getChildren()).find((t=>"img"===t.name));s.setAttribute("width",e.attributeNewValue.replace("px",""),a||o)}return e=>{e.on("attribute:width:imageInline",t,{priority:"high"}),e.on("attribute:width:imageBlock",t,{priority:"high"})}}()).add(function(){function t(t,e,i){const{item:n}=e,{consumable:r,writer:s}=i;if(!r.consume(n,t.name))return;const o=i.mapper.toViewElement(n),a=Array.from(o.getChildren()).find((t=>"img"===t.name));s.setAttribute("height",e.attributeNewValue.replace("px",""),a||o)}return e=>{e.on("attribute:height:imageInline",t,{priority:"high"}),e.on("attribute:height:imageBlock",t,{priority:"high"})}}()).add(function(){function t(t,i,n){if(!n.consumable.consume(i.item,t.name))return;const r=n.mapper.toViewElement(i.item),s=n.writer,o=s.createContainerElement("a",{href:i.attributeNewValue});s.insert(s.createPositionBefore(r),o),s.move(s.createRangeOn(r),s.createPositionAt(o,0)),n.consumable.consume(i.item,"attribute:htmlLinkAttributes:imageBlock")&&e(n.writer,i.item.getAttribute("htmlLinkAttributes"),o)}return e=>{e.on("attribute:linkHref:imageBlock",t,{priority:"high"})}}())}}class l extends t.Command{refresh(){const t=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.isEnabled&&t.hasAttribute("alt")?this.value=t.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,i=e.plugins.get("ImageUtils"),n=e.model,r=i.getClosestSelectedImageElement(n.document.selection);n.change((e=>{e.setAttribute("alt",t.newValue,r)}))}}class u extends t.Plugin{static get requires(){return["ImageUtils"]}static get pluginName(){return"DrupalImageAlternativeTextEditing"}constructor(t){super(t),this._missingAltTextViewReferences=new Set}init(){const t=this.editor;t.conversion.for("editingDowncast").add(this._imageEditingDowncastConverter("attribute:alt",t)).add(this._imageEditingDowncastConverter("attribute:src",t)),t.commands.add("imageTextAlternative",new l(this.editor)),t.editing.view.on("render",(()=>{for(const t of this._missingAltTextViewReferences)t.button.element.isConnected||(t.destroy(),this._missingAltTextViewReferences.delete(t))}))}_imageEditingDowncastConverter(t){const e=(t,e,i)=>{const n=this.editor;if(!n.plugins.get("ImageUtils").isImage(e.item))return;const r=i.mapper.toViewElement(e.item),s=Array.from(r.getChildren()).find((t=>t.getCustomProperty("drupalImageMissingAltWarning")));if(e.item.hasAttribute("alt"))return void(s&&i.writer.remove(s));if(s)return;const o=n.ui.componentFactory.create("drupalImageAlternativeTextMissing");o.listenTo(n.ui,"update",(()=>{const t=n.model.document.selection.getFirstRange(),i=n.model.createRangeOn(e.item);o.set({isSelected:t.containsRange(i)||t.isIntersecting(i)})})),o.render(),this._missingAltTextViewReferences.add(o);const a=i.writer.createUIElement("span",{class:"image-alternative-text-missing-wrapper"},(function(t){const e=this.toDomElement(t);return e.appendChild(o.element),e}));i.writer.setCustomProperty("drupalImageMissingAltWarning",!0,a),i.writer.insert(i.writer.createPositionAt(r,"end"),a)};return i=>{i.on(t,e,{priority:"low"})}}}var c=i("ckeditor5/src/ui.js");function d(t){const e=t.plugins.get("ContextualBalloon");if(t.plugins.get("ImageUtils").getClosestSelectedImageWidget(t.editing.view.document.selection)){const i=m(t);e.updatePosition(i)}}function m(t){const e=t.editing.view,i=c.BalloonPanelView.defaultPositions,n=t.plugins.get("ImageUtils");return{target:e.domConverter.viewToDom(n.getClosestSelectedImageWidget(e.document.selection)),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}var g=i("ckeditor5/src/utils.js");class h extends c.View{constructor(e){super(e),this.focusTracker=new g.FocusTracker,this.keystrokes=new g.KeystrokeHandler,this.decorativeToggle=this._decorativeToggleView(),this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(Drupal.t("Save"),t.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this.decorativeToggle,"isOn",this.labeledInput,"isEmpty",((t,e)=>t||!e)),this.cancelButtonView=this._createButton(Drupal.t("Cancel"),t.icons.cancel,"ck-button-cancel","cancel"),this._focusables=new c.ViewCollection,this._focusCycler=new c.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-text-alternative-form","ck-text-alternative-form--with-decorative-toggle","ck-responsive-form"],tabindex:"-1"},children:[{tag:"div",attributes:{class:["ck","ck-text-alternative-form__decorative-toggle"]},children:[this.decorativeToggle]},this.labeledInput,this.saveButtonView,this.cancelButtonView]}),(0,c.injectCssTransitionDisabler)(this)}render(){super.render(),this.keystrokes.listenTo(this.element),(0,c.submitHandler)({view:this}),[this.decorativeToggle,this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,i,n){const r=new c.ButtonView(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:i}}),n&&r.delegate("execute").to(this,n),r}_createLabeledInputView(){const t=new c.LabeledFieldView(this.locale,c.createLabeledInputText);return t.bind("class").to(this.decorativeToggle,"isOn",(t=>t?"ck-hidden":"")),t.label=Drupal.t("Text alternative"),t}_decorativeToggleView(){const t=new c.SwitchButtonView(this.locale);return t.set({withText:!0,label:Drupal.t("Decorative image")}),t.on("execute",(()=>{t.set("isOn",!t.isOn)})),t}}class p extends c.View{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible"),this.set("isSelected");const i=Drupal.t("Add missing alternative text");this.button=new c.ButtonView(t),this.button.set({label:i,tooltip:!1,withText:!0}),this.setTemplate({tag:"span",attributes:{class:["image-alternative-text-missing",e.to("isVisible",(t=>t?"":"ck-hidden"))],title:i},children:[this.button]})}}class f extends t.Plugin{static get requires(){return[c.ContextualBalloon]}static get pluginName(){return"DrupalImageTextAlternativeUI"}init(){if(this._createButton(),this._createForm(),this._createMissingAltTextComponent(),this.editor.plugins.has("ImageUploadEditing")){const t=this.editor.plugins.get("ImageUploadEditing"),e=this.editor.plugins.get("ImageUtils");t.on("uploadComplete",(()=>{e.getClosestSelectedImageWidget(this.editor.editing.view.document.selection)&&this._showForm()}))}}_createMissingAltTextComponent(){this.editor.ui.componentFactory.add("drupalImageAlternativeTextMissing",(t=>{const e=new p(t);return e.listenTo(e.button,"execute",(()=>{this._isInBalloon&&this._balloon.remove(this._form),this._showForm()})),e.listenTo(this.editor.ui,"update",(()=>{e.set({isVisible:!this._isVisible||!e.isSelected})})),e}))}destroy(){super.destroy(),this._form.destroy()}_createButton(){const e=this.editor;e.ui.componentFactory.add("drupalImageAlternativeText",(i=>{const n=e.commands.get("imageTextAlternative"),r=new c.ButtonView(i);return r.set({label:Drupal.t("Change image alternative text"),icon:t.icons.lowVision,tooltip:!0}),r.bind("isEnabled").to(n,"isEnabled"),this.listenTo(r,"execute",(()=>{this._showForm()})),r}))}_createForm(){const t=this.editor,e=t.editing.view.document,i=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new h(t.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{t.execute("imageTextAlternative",{newValue:this._form.decorativeToggle.isOn?"":this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this.listenTo(this._form.decorativeToggle,"execute",(()=>{d(t)})),this._form.keystrokes.set("Esc",((t,e)=>{this._hideForm(!0),e()})),this.listenTo(t.ui,"update",(()=>{i.getClosestSelectedImageWidget(e.selection)?this._isVisible&&d(t):this._hideForm(!0)})),(0,c.clickOutsideHandler)({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const t=this.editor,e=t.commands.get("imageTextAlternative"),i=this._form.decorativeToggle,n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:m(t)}),i.isOn=""===e.value,n.fieldView.element.value=e.value||"",n.fieldView.value=n.fieldView.element.value,i.isOn?i.focus():n.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class b extends t.Plugin{static get requires(){return[u,f]}static get pluginName(){return"DrupalImageAlternativeText"}}class w extends t.Plugin{static get requires(){return[a,b]}static get pluginName(){return"DrupalImage"}}var y=w;class v extends t.Plugin{init(){const{editor:t}=this;t.plugins.get("ImageUploadEditing").on("uploadComplete",((e,{data:i,imageElement:n})=>{t.model.change((t=>{t.setAttribute("dataEntityUuid",i.dataEntityUuid,n),t.setAttribute("dataEntityType",i.dataEntityType,n)}))}))}static get pluginName(){return"DrupalImageUploadEditing"}}var x=i("ckeditor5/src/upload.js");class _{constructor(t,e){this.loader=t,this.options=e}upload(){return this.loader.file.then((t=>new Promise(((e,i)=>{this._initRequest(),this._initListeners(e,i,t),this._sendRequest(t)}))))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){this.xhr=new XMLHttpRequest,this.xhr.open("POST",this.options.uploadUrl,!0),this.xhr.responseType="json"}_initListeners(t,e,i){const n=this.xhr,r=this.loader,s=`Couldn't upload file: ${i.name}.`;n.addEventListener("error",(()=>e(s))),n.addEventListener("abort",(()=>e())),n.addEventListener("load",(()=>{const i=n.response;if(!i||i.error)return e(i&&i.error&&i.error.message?i.error.message:s);t({urls:{default:i.url},dataEntityUuid:i.uuid?i.uuid:"",dataEntityType:i.entity_type?i.entity_type:""})})),n.upload&&n.upload.addEventListener("progress",(t=>{t.lengthComputable&&(r.uploadTotal=t.total,r.uploaded=t.loaded)}))}_sendRequest(t){const e=this.options.headers||{},i=this.options.withCredentials||!1;Object.keys(e).forEach((t=>{this.xhr.setRequestHeader(t,e[t])})),this.xhr.withCredentials=i;const n=new FormData;n.append("upload",t),this.xhr.send(n)}}class E extends t.Plugin{static get requires(){return[x.FileRepository]}static get pluginName(){return"DrupalFileRepository"}init(){const t=this.editor.config.get("drupalImageUpload");t&&(t.uploadUrl?this.editor.plugins.get(x.FileRepository).createUploadAdapter=e=>new _(e,t):(0,g.logWarning)("simple-upload-adapter-missing-uploadurl"))}}class A extends t.Plugin{static get requires(){return[E,v]}static get pluginName(){return"DrupalImageUpload"}}var V={DrupalImage:y,DrupalImageUpload:A}}(),n=n.default}()}));
\ No newline at end of file
diff --git a/web/core/modules/ckeditor5/js/build/drupalMedia.js b/web/core/modules/ckeditor5/js/build/drupalMedia.js
index 20e639a81f..9a9dd05a30 100644
--- a/web/core/modules/ckeditor5/js/build/drupalMedia.js
+++ b/web/core/modules/ckeditor5/js/build/drupalMedia.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CKEditor5=t():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.drupalMedia=t())}(self,(function(){return function(){var e={"ckeditor5/src/core.js":function(e,t,i){e.exports=i("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/engine.js":function(e,t,i){e.exports=i("dll-reference CKEditor5.dll")("./src/engine.js")},"ckeditor5/src/ui.js":function(e,t,i){e.exports=i("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/utils.js":function(e,t,i){e.exports=i("dll-reference CKEditor5.dll")("./src/utils.js")},"ckeditor5/src/widget.js":function(e,t,i){e.exports=i("dll-reference CKEditor5.dll")("./src/widget.js")},"dll-reference CKEditor5.dll":function(e){"use strict";e.exports=CKEditor5.dll}},t={};function i(a){var n=t[a];if(void 0!==n)return n.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,i),r.exports}i.d=function(e,t){for(var a in t)i.o(t,a)&&!i.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var a={};return function(){"use strict";i.d(a,{default:function(){return ae}});var e=i("ckeditor5/src/core.js"),t=i("ckeditor5/src/widget.js");class n extends e.Command{execute(e){const t=this.editor.plugins.get("DrupalMediaEditing"),i=Object.entries(t.attrs).reduce(((e,[t,i])=>(e[i]=t,e)),{}),a=Object.keys(e).reduce(((t,a)=>(i[a]&&(t[i[a]]=e[a]),t)),{});if(this.editor.plugins.has("DrupalElementStyleEditing")){const t=this.editor.plugins.get("DrupalElementStyleEditing");for(const i of t.normalizedStyles)if(e[i.attributeName]&&i.attributeValue===e[i.attributeName]){a.drupalElementStyle=i.name;break}}this.editor.model.change((e=>{this.editor.model.insertContent(function(e,t){return e.createElement("drupalMedia",t)}(e,a))}))}refresh(){const e=this.editor.model,t=e.document.selection,i=e.schema.findAllowedParent(t.getFirstPosition(),"drupalMedia");this.isEnabled=null!==i}}function r(e){return!!e&&e.is("element","drupalMedia")}function o(e){const i=e.getSelectedElement();return i&&function(e){return(0,t.isWidget)(e)&&!!e.getCustomProperty("drupalMedia")}(i)?i:null}function l(e){const t=typeof e;return null!=e&&("object"===t||"function"===t)}function s(e){for(const t of e){if(t.hasAttribute("data-drupal-media-preview"))return t;if(t.childCount){const e=s(t.getChildren());if(e)return e}}return null}class d extends e.Plugin{static get requires(){return[t.Widget]}init(){this.attrs={drupalMediaAlt:"alt",drupalMediaEntityType:"data-entity-type",drupalMediaEntityUuid:"data-entity-uuid",drupalMediaViewMode:"data-view-mode"};const e=this.editor.config.get("drupalMedia");if(!e)return;const{previewURL:t,themeError:i}=e;this.previewUrl=t,this.labelError=Drupal.t("Preview failed"),this.themeError=i||`\n      <p>${Drupal.t("An error occurred while trying to preview the media. Please save your work and reload this page.")}<p>\n    `,this._defineSchema(),this._defineConverters(),this.editor.commands.add("insertDrupalMedia",new n(this.editor))}async _fetchPreview(e){const t={text:this._renderElement(e),uuid:e.getAttribute("drupalMediaEntityUuid")},i=await fetch(`${this.previewUrl}?${new URLSearchParams(t)}`,{headers:{"X-Drupal-MediaPreview-CSRF-Token":this.editor.config.get("drupalMedia").previewCsrfToken}});if(i.ok){return{label:i.headers.get("drupal-media-label"),preview:await i.text()}}return{label:this.labelError,preview:this.themeError}}_defineSchema(){this.editor.model.schema.register("drupalMedia",{allowWhere:"$block",isObject:!0,isContent:!0,allowAttributes:Object.keys(this.attrs)})}_defineConverters(){const e=this.editor.conversion;e.for("upcast").elementToElement({view:{name:"drupal-media"},model:"drupalMedia"}),e.for("dataDowncast").elementToElement({model:"drupalMedia",view:{name:"drupal-media"}}),e.for("editingDowncast").elementToElement({model:"drupalMedia",view:(e,{writer:i})=>{const a=i.createContainerElement("figure",{class:"drupal-media"});if(!this.previewUrl){const e=i.createRawElement("div",{"data-drupal-media-preview":"unavailable"});i.insert(i.createPositionAt(a,0),e)}return i.setCustomProperty("drupalMedia",!0,a),(0,t.toWidget)(a,i,{label:Drupal.t("Media widget")})}}).add((e=>{const t=(e,t,i)=>{const a=i.writer,n=t.item,r=i.mapper.toViewElement(t.item);let o=s(r.getChildren());if(o){if("ready"!==o.getAttribute("data-drupal-media-preview"))return;a.setAttribute("data-drupal-media-preview","loading",o)}else o=a.createRawElement("div",{"data-drupal-media-preview":"loading"}),a.insert(a.createPositionAt(r,0),o);this._fetchPreview(n).then((({label:e,preview:t})=>{o&&this.editor.editing.view.change((i=>{const a=i.createRawElement("div",{"data-drupal-media-preview":"ready","aria-label":e},(e=>{e.innerHTML=t}));i.insert(i.createPositionBefore(o),a),i.remove(o)}))}))};return e.on("attribute:drupalMediaEntityUuid:drupalMedia",t),e.on("attribute:drupalMediaViewMode:drupalMedia",t),e.on("attribute:drupalMediaEntityType:drupalMedia",t),e.on("attribute:drupalMediaAlt:drupalMedia",t),e})),e.for("editingDowncast").add((e=>{e.on("attribute:drupalElementStyle:drupalMedia",((e,t,i)=>{const a={alignLeft:"drupal-media-style-align-left",alignRight:"drupal-media-style-align-right",alignCenter:"drupal-media-style-align-center"},n=i.mapper.toViewElement(t.item),r=i.writer;a[t.attributeOldValue]&&r.removeClass(a[t.attributeOldValue],n),a[t.attributeNewValue]&&i.consumable.consume(t.item,e.name)&&r.addClass(a[t.attributeNewValue],n)}))})),Object.keys(this.attrs).forEach((t=>{const i={model:{key:t,name:"drupalMedia"},view:{name:"drupal-media",key:this.attrs[t]}};e.for("dataDowncast").attributeToAttribute(i),e.for("upcast").attributeToAttribute(i)}))}_renderElement(e){const t=e.getAttributes();let i="<drupal-media";return Array.from(t).forEach((e=>{this.attrs[e[0]]&&"drupalMediaCaption"!==e[0]&&(i+=` ${this.attrs[e[0]]}="${e[1]}"`)})),i+="></drupal-media>",i}static get pluginName(){return"DrupalMediaEditing"}}var u=i("ckeditor5/src/ui.js");class c extends e.Plugin{init(){const e=this.editor,t=this.editor.config.get("drupalMedia");if(!t)return;const{libraryURL:i,openDialog:a,dialogSettings:n={}}=t;i&&"function"==typeof a&&e.ui.componentFactory.add("drupalMedia",(t=>{const r=e.commands.get("insertDrupalMedia"),o=new u.ButtonView(t);return o.set({label:Drupal.t("Insert Drupal Media"),icon:'<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.1873 4.86414L10.2509 6.86414V7.02335H10.2499V15.5091C9.70972 15.1961 9.01793 15.1048 8.34069 15.3136C7.12086 15.6896 6.41013 16.8967 6.75322 18.0096C7.09631 19.1226 8.3633 19.72 9.58313 19.344C10.6666 19.01 11.3484 18.0203 11.2469 17.0234H11.2499V9.80173L18.1803 8.25067V14.3868C17.6401 14.0739 16.9483 13.9825 16.2711 14.1913C15.0513 14.5674 14.3406 15.7744 14.6836 16.8875C15.0267 18.0004 16.2937 18.5978 17.5136 18.2218C18.597 17.8877 19.2788 16.8982 19.1773 15.9011H19.1803V8.02687L19.1873 8.0253V4.86414Z" fill="black"/><path fill-rule="evenodd" clip-rule="evenodd" d="M13.5039 0.743652H0.386932V12.1603H13.5039V0.743652ZM12.3379 1.75842H1.55289V11.1454H1.65715L4.00622 8.86353L6.06254 10.861L9.24985 5.91309L11.3812 9.22179L11.7761 8.6676L12.3379 9.45621V1.75842ZM6.22048 4.50869C6.22048 5.58193 5.35045 6.45196 4.27722 6.45196C3.20398 6.45196 2.33395 5.58193 2.33395 4.50869C2.33395 3.43546 3.20398 2.56543 4.27722 2.56543C5.35045 2.56543 6.22048 3.43546 6.22048 4.50869Z" fill="black"/></svg>\n',tooltip:!0}),o.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(o,"execute",(()=>{a(i,(({attributes:t})=>{e.execute("insertDrupalMedia",t)}),n)})),o}))}}class m extends e.Plugin{static get requires(){return[t.WidgetToolbarRepository]}static get pluginName(){return"DrupalMediaToolbar"}afterInit(){const{editor:e}=this;var i;e.plugins.get(t.WidgetToolbarRepository).register("drupalMedia",{ariaLabel:Drupal.t("Drupal Media toolbar"),items:(i=e.config.get("drupalMedia.toolbar"),i.map((e=>l(e)?e.name:e))||[]),getRelatedElement:e=>o(e)})}}const p="METADATA_ERROR";class g extends e.Command{refresh(){const e=this.editor.model.document.selection.getSelectedElement();this.isEnabled=r(e)&&e.getAttribute("drupalMediaIsImage")&&e.getAttribute("drupalMediaIsImage")!==p,r(e)&&e.hasAttribute("drupalMediaAlt")?this.value=e.getAttribute("drupalMediaAlt"):this.value=!1}execute(e){const{model:t}=this.editor,i=t.document.selection.getSelectedElement();e.newValue=e.newValue.trim(),t.change((t=>{e.newValue.length>0?t.setAttribute("drupalMediaAlt",e.newValue,i):t.removeAttribute("drupalMediaAlt",i)}))}}class h extends e.Plugin{init(){this._data=new WeakMap}getMetadata(e){if(this._data.get(e))return new Promise((t=>{t(this._data.get(e))}));const t=this.editor.config.get("drupalMedia");if(!t)return new Promise(((e,t)=>{t(new Error("drupalMedia configuration is required for parsing metadata."))}));if(!e.hasAttribute("drupalMediaEntityUuid"))return new Promise(((e,t)=>{t(new Error("drupalMedia element must have drupalMediaEntityUuid attribute to retrieve metadata."))}));const{metadataUrl:i}=t;return(async e=>{const t=await fetch(e);if(t.ok)return JSON.parse(await t.text());throw new Error("Fetching media embed metadata from the server failed.")})(`${i}&${new URLSearchParams({uuid:e.getAttribute("drupalMediaEntityUuid")})}`).then((t=>(this._data.set(e,t),t)))}static get pluginName(){return"DrupalMediaMetadataRepository"}}class f extends e.Plugin{static get requires(){return[h]}static get pluginName(){return"MediaImageTextAlternativeEditing"}_upcastDrupalMediaIsImage(e){const{model:t,plugins:i}=this.editor;i.get("DrupalMediaMetadataRepository").getMetadata(e).then((i=>{e&&t.enqueueChange("transparent",(t=>{t.setAttribute("drupalMediaIsImage",!!i.imageSourceMetadata,e)}))})).catch((i=>{e&&(console.warn(i.toString()),t.enqueueChange("transparent",(t=>{t.setAttribute("drupalMediaIsImage",p,e)})))}))}init(){const{editor:e,editor:{model:t,conversion:i}}=this;t.schema.extend("drupalMedia",{allowAttributes:["drupalMediaIsImage"]}),this.listenTo(t,"insertContent",((e,[t])=>{r(t)&&this._upcastDrupalMediaIsImage(t)})),i.for("upcast").add((e=>{e.on("element:drupal-media",((e,t)=>{const[i]=t.modelRange.getItems();r(i)&&this._upcastDrupalMediaIsImage(i)}),{priority:"lowest"})})),i.for("editingDowncast").add((e=>{e.on("attribute:drupalMediaIsImage",((e,t,i)=>{const{writer:a,mapper:n}=i,r=n.toViewElement(t.item);if(t.attributeNewValue!==p){const e=Array.from(r.getChildren()).find((e=>e.getCustomProperty("drupalMediaMetadataError")));return void(e&&(a.setCustomProperty("widgetLabel",e.getCustomProperty("drupalMediaOriginalWidgetLabel"),e),a.removeElement(e)))}const o=Drupal.t("Not all functionality may be available because some information could not be retrieved."),l=new u.TooltipView;l.text=o,l.position="sw";const s=new u.Template({tag:"span",children:[{tag:"span",attributes:{class:"drupal-media__metadata-error-icon"}},l]}).render(),d=a.createRawElement("div",{class:"drupal-media__metadata-error"},((e,t)=>{t.setContentOf(e,s.outerHTML)}));a.setCustomProperty("drupalMediaMetadataError",!0,d);const c=r.getCustomProperty("widgetLabel");a.setCustomProperty("drupalMediaOriginalWidgetLabel",c,d),a.setCustomProperty("widgetLabel",`${c} (${o})`,r),a.insert(a.createPositionAt(r,0),d)}),{priority:"low"})})),e.commands.add("mediaImageTextAlternative",new g(this.editor))}}function b(e){const t=e.editing.view,i=u.BalloonPanelView.defaultPositions;return{target:t.domConverter.viewToDom(t.document.selection.getSelectedElement()),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast]}}var w=i("ckeditor5/src/utils.js");class v extends u.View{constructor(t){super(t),this.focusTracker=new w.FocusTracker,this.keystrokes=new w.KeystrokeHandler,this.labeledInput=this._createLabeledInputView(),this.set("defaultAltText",void 0),this.defaultAltTextView=this._createDefaultAltTextView(),this.saveButtonView=this._createButton(Drupal.t("Save"),e.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(Drupal.t("Cancel"),e.icons.cancel,"ck-button-cancel","cancel"),this._focusables=new u.ViewCollection,this._focusCycler=new u.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-alternative-text-form","ck-vertical-form"],tabindex:"-1"},children:[this.defaultAltTextView,this.labeledInput,this.saveButtonView,this.cancelButtonView]}),(0,u.injectCssTransitionDisabler)(this)}render(){super.render(),this.keystrokes.listenTo(this.element),(0,u.submitHandler)({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)}))}_createButton(e,t,i,a){const n=new u.ButtonView(this.locale);return n.set({label:e,icon:t,tooltip:!0}),n.extendTemplate({attributes:{class:i}}),a&&n.delegate("execute").to(this,a),n}_createLabeledInputView(){const e=new u.LabeledFieldView(this.locale,u.createLabeledInputText);return e.label=Drupal.t("Alternative text override"),e}_createDefaultAltTextView(){const e=u.Template.bind(this,this);return new u.Template({tag:"div",attributes:{class:["ck-media-alternative-text-form__default-alt-text",e.if("defaultAltText","ck-hidden",(e=>!e))]},children:[{tag:"strong",attributes:{class:"ck-media-alternative-text-form__default-alt-text-label"},children:[Drupal.t("Default alternative text:")]}," ",{tag:"span",attributes:{class:"ck-media-alternative-text-form__default-alt-text-value"},children:[{text:[e.to("defaultAltText")]}]}]})}}class E extends e.Plugin{static get requires(){return[u.ContextualBalloon]}static get pluginName(){return"MediaImageTextAlternativeUi"}init(){this._createButton(),this._createForm()}destroy(){super.destroy(),this._form.destroy()}_createButton(){const t=this.editor;t.ui.componentFactory.add("mediaImageTextAlternative",(i=>{const a=t.commands.get("mediaImageTextAlternative"),n=new u.ButtonView(i);return n.set({label:Drupal.t("Override media image alternative text"),icon:e.icons.lowVision,tooltip:!0}),n.bind("isVisible").to(a,"isEnabled"),this.listenTo(n,"execute",(()=>{this._showForm()})),n}))}_createForm(){const e=this.editor,t=e.editing.view.document;this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new v(e.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{e.execute("mediaImageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((e,t)=>{this._hideForm(!0),t()})),this.listenTo(e.ui,"update",(()=>{o(t.selection)?this._isVisible&&function(e){const t=e.plugins.get("ContextualBalloon");if(o(e.editing.view.document.selection)){const i=b(e);t.updatePosition(i)}}(e):this._hideForm(!0)})),(0,u.clickOutsideHandler)({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const e=this.editor,t=e.commands.get("mediaImageTextAlternative"),i=e.plugins.get("DrupalMediaMetadataRepository"),a=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:b(e)}),a.fieldView.element.value=t.value||"",a.fieldView.value=a.fieldView.element.value,this._form.defaultAltText="";const n=e.model.document.selection.getSelectedElement();r(n)&&i.getMetadata(n).then((e=>{this._form.defaultAltText=e.imageSourceMetadata?e.imageSourceMetadata.alt:""})).catch((e=>{console.warn(e.toString())})),this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class y extends e.Plugin{static get requires(){return[f,E]}static get pluginName(){return"MediaImageTextAlternative"}}function M(e,t,i){if(t.attributes)for(const[a,n]of Object.entries(t.attributes))e.setAttribute(a,n,i);t.styles&&e.setStyle(t.styles,i),t.classes&&e.addClass(t.classes,i)}function k(e,t,i){if(!i.consumable.consume(t.item,e.name))return;const a=i.mapper.toViewElement(t.item);M(i.writer,t.attributeNewValue,a)}class C extends e.Plugin{constructor(e){if(super(e),!e.plugins.has("GeneralHtmlSupport"))return;e.plugins.has("DataFilter")&&e.plugins.has("DataSchema")||console.error("DataFilter and DataSchema plugins are required for Drupal Media to integrate with General HTML Support plugin.");const{schema:t}=e.model,{conversion:i}=e,a=this.editor.plugins.get("DataFilter");this.editor.plugins.get("DataSchema").registerBlockElement({model:"drupalMedia",view:"drupal-media"}),a.on("register:drupal-media",((e,n)=>{"drupalMedia"===n.model&&(t.extend("drupalMedia",{allowAttributes:["htmlLinkAttributes","htmlAttributes"]}),i.for("upcast").add(function(e){return t=>{t.on("element:drupal-media",((t,i,a)=>{function n(t,n){const r=e._consumeAllowedAttributes(t,a);r&&a.writer.setAttribute(n,r,i.modelRange)}const r=i.viewItem,o=r.parent;n(r,"htmlAttributes"),o.is("element","a")&&n(o,"htmlLinkAttributes")}),{priority:"low"})}}(a)),i.for("editingDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{if(!i.consumable.consume(t.item,"attribute:htmlLinkAttributes:drupalMedia"))return;const a=i.mapper.toViewElement(t.item),n=function(e,t,i){const a=e.createRangeOn(t);for(const{item:e}of a.getWalker())if(e.is("element",i))return e}(i.writer,a,"a");M(i.writer,t.item.getAttribute("htmlLinkAttributes"),n)}),{priority:"low"}),e.on("attribute:htmlAttributes:drupalMedia",k,{priority:"low"})})),i.for("dataDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{if(!i.consumable.consume(t.item,"attribute:htmlLinkAttributes:drupalMedia"))return;const a=i.mapper.toViewElement(t.item).parent;M(i.writer,t.item.getAttribute("htmlLinkAttributes"),a)}),{priority:"low"}),e.on("attribute:htmlAttributes:drupalMedia",k,{priority:"low"})})),e.stop())}))}static get pluginName(){return"DrupalMediaGeneralHtmlSupport"}}class A extends e.Plugin{static get requires(){return[d,C,c,m,y]}static get pluginName(){return"DrupalMedia"}}function _(){return e=>{e.on("element:a",((e,t,i)=>{const a=t.viewItem,n=(r=a,Array.from(r.getChildren()).find((e=>"drupal-media"===e.name)));var r;if(!n)return;if(!i.consumable.consume(a,{attributes:["href"]}))return;const o=a.getAttribute("href");if(!o)return;const l=i.convertItem(n,t.modelCursor);t.modelRange=l.modelRange,t.modelCursor=l.modelCursor;const s=t.modelCursor.nodeBefore;s&&s.is("element","drupalMedia")&&i.writer.setAttribute("linkHref",o,s)}),{priority:"high"})}}class x extends e.Plugin{static get requires(){return["LinkEditing","DrupalMediaEditing"]}static get pluginName(){return"DrupalLinkMediaEditing"}init(){const{editor:e}=this;e.model.schema.extend("drupalMedia",{allowAttributes:["linkHref"]}),e.conversion.for("upcast").add(_()),e.conversion.for("editingDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{const{writer:a}=i;if(!i.consumable.consume(t.item,e.name))return;const n=i.mapper.toViewElement(t.item),r=Array.from(n.getChildren()).find((e=>"a"===e.name));if(r)t.attributeNewValue?a.setAttribute("href",t.attributeNewValue,r):(a.move(a.createRangeIn(r),a.createPositionAt(n,0)),a.remove(r));else{const e=Array.from(n.getChildren()).find((e=>e.getAttribute("data-drupal-media-preview"))),i=a.createContainerElement("a",{href:t.attributeNewValue});a.insert(a.createPositionAt(n,0),i),a.move(a.createRangeOn(e),a.createPositionAt(i,0))}}),{priority:"high"})})),e.conversion.for("dataDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{const{writer:a}=i;if(!i.consumable.consume(t.item,e.name))return;const n=i.mapper.toViewElement(t.item),r=a.createContainerElement("a",{href:t.attributeNewValue});a.insert(a.createPositionBefore(n),r),a.move(a.createRangeOn(n),a.createPositionAt(r,0))}),{priority:"high"})}))}}class D extends e.Plugin{static get requires(){return["LinkEditing","LinkUI","DrupalMediaEditing"]}static get pluginName(){return"DrupalLinkMediaUi"}init(){const{editor:e}=this,t=e.editing.view.document;this.listenTo(t,"click",((t,i)=>{this._isSelectedLinkedMedia(e.model.document.selection)&&(i.preventDefault(),t.stop())}),{priority:"high"}),this._createToolbarLinkMediaButton()}_createToolbarLinkMediaButton(){const{editor:e}=this;e.ui.componentFactory.add("drupalLinkMedia",(t=>{const i=new u.ButtonView(t),a=e.plugins.get("LinkUI"),n=e.commands.get("link");return i.set({isEnabled:!0,label:Drupal.t("Link media"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.077 15 .991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184z"/></svg>\n',keystroke:"Ctrl+K",tooltip:!0,isToggleable:!0}),i.bind("isEnabled").to(n,"isEnabled"),i.bind("isOn").to(n,"value",(e=>!!e)),this.listenTo(i,"execute",(()=>{this._isSelectedLinkedMedia(e.model.document.selection)?a._addActionsView():a._showUI(!0)})),i}))}_isSelectedLinkedMedia(e){const t=e.getSelectedElement();return!!t&&t.is("element","drupalMedia")&&t.hasAttribute("linkHref")}}class S extends e.Plugin{static get requires(){return[x,D]}static get pluginName(){return"DrupalLinkMedia"}}const{objectFullWidth:V,objectInline:I,objectLeft:T,objectRight:L,objectCenter:P,objectBlockLeft:B,objectBlockRight:N}=e.icons,O={inline:{name:"inline",title:"In line",icon:I,modelElements:["imageInline"],isDefault:!0},alignLeft:{name:"alignLeft",title:"Left aligned image",icon:T,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"},alignBlockLeft:{name:"alignBlockLeft",title:"Left aligned image",icon:B,modelElements:["imageBlock"],className:"image-style-block-align-left"},alignCenter:{name:"alignCenter",title:"Centered image",icon:P,modelElements:["imageBlock"],className:"image-style-align-center"},alignRight:{name:"alignRight",title:"Right aligned image",icon:L,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"},alignBlockRight:{name:"alignBlockRight",title:"Right aligned image",icon:N,modelElements:["imageBlock"],className:"image-style-block-align-right"},block:{name:"block",title:"Centered image",icon:P,modelElements:["imageBlock"],isDefault:!0},side:{name:"side",title:"Side image",icon:L,modelElements:["imageBlock"],className:"image-style-side"}},R={full:V,left:B,right:N,center:P,inlineLeft:T,inlineRight:L,inline:I},j=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function F(e){(0,w.logWarning)("image-style-configuration-definition-invalid",e)}var U={normalizeStyles:function(e){return(e.configuredStyles.options||[]).map((e=>function(e){e="string"==typeof e?O[e]?{...O[e]}:{name:e}:function(e,t){const i={...t};for(const a in e)Object.prototype.hasOwnProperty.call(t,a)||(i[a]=e[a]);return i}(O[e.name],e);"string"==typeof e.icon&&(e.icon=R[e.icon]||e.icon);return e}(e))).filter((t=>function(e,{isBlockPluginLoaded:t,isInlinePluginLoaded:i}){const{modelElements:a,name:n}=e;if(!(a&&a.length&&n))return F({style:e}),!1;{const n=[t?"imageBlock":null,i?"imageInline":null];if(!a.some((e=>n.includes(e))))return(0,w.logWarning)("image-style-missing-dependency",{style:e,missingPlugins:a.map((e=>"imageBlock"===e?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(t,e)))},getDefaultStylesConfiguration:function(e,t){return e&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:e?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(e){return e.has("ImageBlockEditing")&&e.has("ImageInlineEditing")?[...j]:[]},warnInvalidStyle:F,DEFAULT_OPTIONS:O,DEFAULT_ICONS:R,DEFAULT_DROPDOWN_DEFINITIONS:j};function H(e,t){const i=e.getSelectedElement();return i&&t.checkAttribute(i,"drupalElementStyle")?i:e.getFirstPosition().findAncestor((e=>t.checkAttribute(e,"drupalElementStyle")))}class W extends e.Command{constructor(e,t){super(e),this._styles=new Map(t.map((e=>[e.name,e])))}refresh(){const e=this.editor,t=H(e.model.document.selection,e.model.schema);this.isEnabled=!!t,this.isEnabled&&t.hasAttribute("drupalElementStyle")?this.value=t.getAttribute("drupalElementStyle"):this.value=!1}execute(e={}){const t=this.editor.model;t.change((i=>{const a=e.value,n=H(t.document.selection,t.schema);!a||this._styles.get(a).isDefault?i.removeAttribute("drupalElementStyle",n):i.setAttribute("drupalElementStyle",a,n)}))}}function q(e,t){for(const i of t)if(i.name===e)return i}class $ extends e.Plugin{init(){const t=this.editor;t.config.define("drupalElementStyles",{options:[]});const i=t.config.get("drupalElementStyles").options;this.normalizedStyles=i.map((t=>("string"==typeof t.icon&&e.icons[t.icon]&&(t.icon=e.icons[t.icon]),t))).filter((e=>e.attributeName&&e.attributeValue?e.modelElements&&Array.isArray(e.modelElements)?!!e.name||(console.warn("drupalElementStyles options must include a name."),!1):(console.warn("drupalElementStyles options must include an array of supported modelElements."),!1):(console.warn("drupalElementStyles options must include attributeName and attributeValue."),!1))),this._setupConversion(),t.commands.add("drupalElementStyle",new W(t,this.normalizedStyles))}_setupConversion(){const e=this.editor,t=e.model.schema,i=(a=this.normalizedStyles,(e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=q(t.attributeNewValue,a),r=q(t.attributeOldValue,a),o=i.mapper.toViewElement(t.item),l=i.writer;r&&("class"===r.attributeName?l.removeClass(r.attributeValue,o):l.removeAttribute(r.attributeName,o)),n&&("class"===n.attributeName?l.addClass(n.attributeValue,o):l.setAttribute(n.attributeName,n.attributeValue,o))});var a;const n=function(e){const t=e.filter((e=>!e.isDefault));return(e,i,a)=>{if(!i.modelRange)return;const n=i.viewItem,r=(0,w.first)(i.modelRange.getItems());if(r&&a.schema.checkAttribute(r,"drupalElementStyle"))for(const e of t)if("class"===e.attributeName)a.consumable.consume(n,{classes:e.attributeValue})&&a.writer.setAttribute("drupalElementStyle",e.name,r);else if(a.consumable.consume(n,{attributes:[e.attributeName]}))for(const e of t)e.attributeValue===n.getAttribute(e.attributeName)&&a.writer.setAttribute("drupalElementStyle",e.name,r)}}(this.normalizedStyles);e.editing.downcastDispatcher.on("attribute:drupalElementStyle",i),e.data.downcastDispatcher.on("attribute:drupalElementStyle",i);[...new Set(this.normalizedStyles.map((e=>e.modelElements)).flat())].forEach((e=>{t.extend(e,{allowAttributes:"drupalElementStyle"})})),e.data.upcastDispatcher.on("element",n,{priority:"low"})}static get pluginName(){return"DrupalElementStyleEditing"}}const K=e=>e,z=(e,t)=>(e?`${e}: `:"")+t;function Z(e){return`drupalElementStyle:${e}`}class G extends e.Plugin{static get requires(){return[$]}init(){const e=this.editor.plugins,t=this.editor.config.get("drupalMedia.toolbar")||[],i=Object.values(e.get("DrupalElementStyleEditing").normalizedStyles);i.forEach((e=>{this._createButton(e)}));t.filter(l).forEach((e=>{this._createDropdown(e,i)}))}_createDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,(a=>{let n;const{defaultItem:r,items:o,title:l}=e,s=o.filter((e=>t.find((({name:t})=>Z(t)===e)))).map((e=>{const t=i.create(e);return e===r&&(n=t),t}));o.length!==s.length&&U.warnInvalidStyle({dropdown:e});const d=(0,u.createDropdown)(a,u.SplitButtonView),c=d.buttonView;return(0,u.addToolbarToDropdown)(d,s),c.set({label:z(l,n.label),class:null,tooltip:!0}),c.bind("icon").toMany(s,"isOn",((...e)=>{const t=e.findIndex(K);return t<0?n.icon:s[t].icon})),c.bind("label").toMany(s,"isOn",((...e)=>{const t=e.findIndex(K);return z(l,t<0?n.label:s[t].label)})),c.bind("isOn").toMany(s,"isOn",((...e)=>e.some(K))),c.bind("class").toMany(s,"isOn",((...e)=>e.some(K)?"ck-splitbutton_flatten":null)),c.on("execute",(()=>{s.some((({isOn:e})=>e))?d.isOpen=!d.isOpen:n.fire("execute")})),d.bind("isEnabled").toMany(s,"isEnabled",((...e)=>e.some(K))),d}))}_createButton(e){const t=e.name;this.editor.ui.componentFactory.add(Z(t),(i=>{const a=this.editor.commands.get("drupalElementStyle"),n=new u.ButtonView(i);return n.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),n.bind("isEnabled").to(a,"isEnabled"),n.bind("isOn").to(a,"value",(e=>e===t)),n.on("execute",this._executeCommand.bind(this,t)),n}))}_executeCommand(e){this.editor.execute("drupalElementStyle",{value:e}),this.editor.editing.view.focus()}static get pluginName(){return"DrupalElementStyleUi"}}class J extends e.Plugin{static get requires(){return[$,G]}static get pluginName(){return"DrupalElementStyle"}}var X=i("ckeditor5/src/engine.js");function Q(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}class Y extends e.Command{refresh(){const e=this.editor.model.document.selection.getSelectedElement();this.isEnabled=r(e),this.isEnabled?this.value=!!Q(e):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change((e=>{this.value?this._hideDrupalMediaCaption(e):this._showDrupalMediaCaption(e,t)}))}_showDrupalMediaCaption(e,t){const i=this.editor.model.document.selection,a=this.editor.plugins.get("DrupalMediaCaptionEditing"),n=i.getSelectedElement(),r=a._getSavedCaption(n)||e.createElement("caption");e.append(r,n),t&&e.setSelection(r,"in")}_hideDrupalMediaCaption(e){const t=this.editor,i=t.model.document.selection,a=t.plugins.get("DrupalMediaCaptionEditing"),n=i.getSelectedElement();if(n){const t=Q(n);a._saveCaption(n,t),e.setSelection(n,"on"),e.remove(t)}}}class ee extends e.Plugin{static get requires(){return[]}static get pluginName(){return"DrupalMediaCaptionEditing"}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"drupalMedia"}):t.register("caption",{allowIn:"drupalMedia",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleMediaCaption",new Y(e)),this._setupConversion()}_setupConversion(){const e=this.editor,i=e.editing.view;var a;e.conversion.for("upcast").add(function(e){const t=(t,i,a)=>{const{viewItem:n}=i,{writer:r,consumable:o}=a;if(!i.modelRange||!o.consume(n,{attributes:["data-caption"]}))return;const l=r.createElement("caption"),s=i.modelRange.start.nodeAfter,d=e.data.processor.toView(n.getAttribute("data-caption")),u=r.createDocumentFragment();a.consumable.constructor.createFrom(d,a.consumable),a.convertChildren(d,u);for(const e of Array.from(u.getChildren()))r.append(e,l);r.append(l,s)};return e=>{e.on("element:drupal-media",t,{priority:"low"})}}(e)),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:a})=>{if(!r(e.parent))return null;const n=a.createEditableElement("figcaption");return(0,X.enablePlaceholder)({view:i,element:n,text:Drupal.t("Enter media caption"),keepOnFocus:!0}),(0,t.toWidgetEditable)(n,a)}}),e.editing.mapper.on("modelToViewPosition",(a=i,(e,t)=>{const i=t.modelPosition,n=i.parent;if(!r(n))return;const o=t.mapper.toViewElement(n);t.viewPosition=a.createPositionAt(o,i.offset+1)})),e.conversion.for("dataDowncast").add(function(e){return t=>{t.on("insert:caption",((t,i,a)=>{const{consumable:n,writer:o,mapper:l}=a;if(!r(i.item.parent)||!n.consume(i.item,"insert"))return;const s=e.model.createRangeIn(i.item),d=o.createDocumentFragment();l.bindElements(i.item,d);for(const{item:t}of Array.from(s)){const i={item:t,range:e.model.createRangeOn(t)},n=`insert:${t.name||"$text"}`;e.data.downcastDispatcher.fire(n,i,a);for(const n of t.getAttributeKeys())Object.assign(i,{attributeKey:n,attributeOldValue:null,attributeNewValue:i.item.getAttribute(n)}),e.data.downcastDispatcher.fire(`attribute:${n}`,i,a)}for(const e of o.createRangeIn(d).getItems())l.unbindViewElement(e);l.unbindViewElement(d);const u=e.data.processor.toData(d);if(u){const e=l.toViewElement(i.item.parent);o.setAttribute("data-caption",u,e)}}))}}(e))}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?X.Element.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}}class te extends e.Plugin{static get requires(){return[]}static get pluginName(){return"DrupalMediaCaptionUI"}init(){const{editor:t}=this,i=t.editing.view;t.ui.componentFactory.add("toggleDrupalMediaCaption",(a=>{const n=new u.ButtonView(a),r=t.commands.get("toggleMediaCaption");return n.set({label:Drupal.t("Caption media"),icon:e.icons.caption,tooltip:!0,isToggleable:!0}),n.bind("isOn","isEnabled").to(r,"value","isEnabled"),n.bind("label").to(r,"value",(e=>e?Drupal.t("Toggle caption off"):Drupal.t("Toggle caption on"))),this.listenTo(n,"execute",(()=>{t.execute("toggleMediaCaption",{focusCaptionOnShow:!0});const e=t.model.document.selection.getFirstPosition().findAncestor("caption");if(e){const a=t.editing.mapper.toViewElement(e);i.scrollToTheSelection(),i.change((e=>{e.addClass("drupal-media__caption_highlighted",a)}))}})),n}))}}class ie extends e.Plugin{static get requires(){return[ee,te]}static get pluginName(){return"DrupalMediaCaption"}}var ae={DrupalMedia:A,MediaImageTextAlternative:y,MediaImageTextAlternativeEditing:f,MediaImageTextAlternativeUi:E,DrupalLinkMedia:S,DrupalMediaCaption:ie,DrupalElementStyle:J}}(),a=a.default}()}));
\ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CKEditor5=t():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.drupalMedia=t())}(self,(function(){return function(){var e={"ckeditor5/src/core.js":function(e,t,i){e.exports=i("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/engine.js":function(e,t,i){e.exports=i("dll-reference CKEditor5.dll")("./src/engine.js")},"ckeditor5/src/ui.js":function(e,t,i){e.exports=i("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/utils.js":function(e,t,i){e.exports=i("dll-reference CKEditor5.dll")("./src/utils.js")},"ckeditor5/src/widget.js":function(e,t,i){e.exports=i("dll-reference CKEditor5.dll")("./src/widget.js")},"dll-reference CKEditor5.dll":function(e){"use strict";e.exports=CKEditor5.dll}},t={};function i(n){var a=t[n];if(void 0!==a)return a.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,i),r.exports}i.d=function(e,t){for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var n={};return function(){"use strict";i.d(n,{default:function(){return se}});var e=i("ckeditor5/src/core.js"),t=i("ckeditor5/src/widget.js");class a extends e.Command{execute(e){const t=this.editor.plugins.get("DrupalMediaEditing"),i=Object.entries(t.attrs).reduce(((e,[t,i])=>(e[i]=t,e)),{}),n=Object.keys(e).reduce(((t,n)=>(i[n]&&(t[i[n]]=e[n]),t)),{});if(this.editor.plugins.has("DrupalElementStyleEditing")){const t=this.editor.plugins.get("DrupalElementStyleEditing");for(const i of t.normalizedStyles)if(e[i.attributeName]&&i.attributeValue===e[i.attributeName]){n.drupalElementStyle=i.name;break}}this.editor.model.change((e=>{this.editor.model.insertContent(function(e,t){return e.createElement("drupalMedia",t)}(e,n))}))}refresh(){const e=this.editor.model,t=e.document.selection,i=e.schema.findAllowedParent(t.getFirstPosition(),"drupalMedia");this.isEnabled=null!==i}}function r(e){return!!e&&e.is("element","drupalMedia")}function o(e){return(0,t.isWidget)(e)&&!!e.getCustomProperty("drupalMedia")}function l(e){const t=e.getSelectedElement();return r(t)?t:e.getFirstPosition().findAncestor("drupalMedia")}function s(e){const t=e.getSelectedElement();if(t&&o(t))return t;let i=e.getFirstPosition().parent;for(;i;){if(i.is("element")&&o(i))return i;i=i.parent}return null}function d(e){const t=typeof e;return null!=e&&("object"===t||"function"===t)}function u(e){for(const t of e){if(t.hasAttribute("data-drupal-media-preview"))return t;if(t.childCount){const e=u(t.getChildren());if(e)return e}}return null}class c extends e.Plugin{static get requires(){return[t.Widget]}init(){this.attrs={drupalMediaAlt:"alt",drupalMediaEntityType:"data-entity-type",drupalMediaEntityUuid:"data-entity-uuid",drupalMediaViewMode:"data-view-mode"};const e=this.editor.config.get("drupalMedia");if(!e)return;const{previewURL:t,themeError:i}=e;this.previewUrl=t,this.labelError=Drupal.t("Preview failed"),this.themeError=i||`\n      <p>${Drupal.t("An error occurred while trying to preview the media. Please save your work and reload this page.")}<p>\n    `,this._defineSchema(),this._defineConverters(),this.editor.commands.add("insertDrupalMedia",new a(this.editor))}async _fetchPreview(e){const t={text:this._renderElement(e),uuid:e.getAttribute("drupalMediaEntityUuid")},i=await fetch(`${this.previewUrl}?${new URLSearchParams(t)}`,{headers:{"X-Drupal-MediaPreview-CSRF-Token":this.editor.config.get("drupalMedia").previewCsrfToken}});if(i.ok){return{label:i.headers.get("drupal-media-label"),preview:await i.text()}}return{label:this.labelError,preview:this.themeError}}_defineSchema(){this.editor.model.schema.register("drupalMedia",{allowWhere:"$block",isObject:!0,isContent:!0,isBlock:!0,allowAttributes:Object.keys(this.attrs)}),this.editor.editing.view.domConverter.blockElements.push("drupal-media")}_defineConverters(){const e=this.editor.conversion;e.for("upcast").elementToElement({view:{name:"drupal-media"},model:"drupalMedia"}),e.for("dataDowncast").elementToElement({model:"drupalMedia",view:{name:"drupal-media"}}),e.for("editingDowncast").elementToElement({model:"drupalMedia",view:(e,{writer:i})=>{const n=i.createContainerElement("figure",{class:"drupal-media"});if(!this.previewUrl){const e=i.createRawElement("div",{"data-drupal-media-preview":"unavailable"});i.insert(i.createPositionAt(n,0),e)}return i.setCustomProperty("drupalMedia",!0,n),(0,t.toWidget)(n,i,{label:Drupal.t("Media widget")})}}).add((e=>{const t=(e,t,i)=>{const n=i.writer,a=t.item,r=i.mapper.toViewElement(t.item);let o=u(r.getChildren());if(o){if("ready"!==o.getAttribute("data-drupal-media-preview"))return;n.setAttribute("data-drupal-media-preview","loading",o)}else o=n.createRawElement("div",{"data-drupal-media-preview":"loading"}),n.insert(n.createPositionAt(r,0),o);this._fetchPreview(a).then((({label:e,preview:t})=>{o&&this.editor.editing.view.change((i=>{const n=i.createRawElement("div",{"data-drupal-media-preview":"ready","aria-label":e},(e=>{e.innerHTML=t}));i.insert(i.createPositionBefore(o),n),i.remove(o)}))}))};return e.on("attribute:drupalMediaEntityUuid:drupalMedia",t),e.on("attribute:drupalMediaViewMode:drupalMedia",t),e.on("attribute:drupalMediaEntityType:drupalMedia",t),e.on("attribute:drupalMediaAlt:drupalMedia",t),e})),e.for("editingDowncast").add((e=>{e.on("attribute:drupalElementStyle:drupalMedia",((e,t,i)=>{const n={alignLeft:"drupal-media-style-align-left",alignRight:"drupal-media-style-align-right",alignCenter:"drupal-media-style-align-center"},a=i.mapper.toViewElement(t.item),r=i.writer;n[t.attributeOldValue]&&r.removeClass(n[t.attributeOldValue],a),n[t.attributeNewValue]&&i.consumable.consume(t.item,e.name)&&r.addClass(n[t.attributeNewValue],a)}))})),Object.keys(this.attrs).forEach((t=>{const i={model:{key:t,name:"drupalMedia"},view:{name:"drupal-media",key:this.attrs[t]}};e.for("dataDowncast").attributeToAttribute(i),e.for("upcast").attributeToAttribute(i)}))}_renderElement(e){const t=this.editor.model.change((t=>{const i=t.createDocumentFragment(),n=t.cloneElement(e,!1);return["linkHref"].forEach((e=>{t.removeAttribute(e,n)})),t.append(n,i),i}));return this.editor.data.stringify(t)}static get pluginName(){return"DrupalMediaEditing"}}var m=i("ckeditor5/src/ui.js");class p extends e.Plugin{init(){const e=this.editor,t=this.editor.config.get("drupalMedia");if(!t)return;const{libraryURL:i,openDialog:n,dialogSettings:a={}}=t;i&&"function"==typeof n&&e.ui.componentFactory.add("drupalMedia",(t=>{const r=e.commands.get("insertDrupalMedia"),o=new m.ButtonView(t);return o.set({label:Drupal.t("Insert Drupal Media"),icon:'<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.1873 4.86414L10.2509 6.86414V7.02335H10.2499V15.5091C9.70972 15.1961 9.01793 15.1048 8.34069 15.3136C7.12086 15.6896 6.41013 16.8967 6.75322 18.0096C7.09631 19.1226 8.3633 19.72 9.58313 19.344C10.6666 19.01 11.3484 18.0203 11.2469 17.0234H11.2499V9.80173L18.1803 8.25067V14.3868C17.6401 14.0739 16.9483 13.9825 16.2711 14.1913C15.0513 14.5674 14.3406 15.7744 14.6836 16.8875C15.0267 18.0004 16.2937 18.5978 17.5136 18.2218C18.597 17.8877 19.2788 16.8982 19.1773 15.9011H19.1803V8.02687L19.1873 8.0253V4.86414Z" fill="black"/><path fill-rule="evenodd" clip-rule="evenodd" d="M13.5039 0.743652H0.386932V12.1603H13.5039V0.743652ZM12.3379 1.75842H1.55289V11.1454H1.65715L4.00622 8.86353L6.06254 10.861L9.24985 5.91309L11.3812 9.22179L11.7761 8.6676L12.3379 9.45621V1.75842ZM6.22048 4.50869C6.22048 5.58193 5.35045 6.45196 4.27722 6.45196C3.20398 6.45196 2.33395 5.58193 2.33395 4.50869C2.33395 3.43546 3.20398 2.56543 4.27722 2.56543C5.35045 2.56543 6.22048 3.43546 6.22048 4.50869Z" fill="black"/></svg>\n',tooltip:!0}),o.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(o,"execute",(()=>{n(i,(({attributes:t})=>{e.execute("insertDrupalMedia",t)}),a)})),o}))}}class g extends e.Plugin{static get requires(){return[t.WidgetToolbarRepository]}static get pluginName(){return"DrupalMediaToolbar"}afterInit(){const{editor:e}=this;var i;e.plugins.get(t.WidgetToolbarRepository).register("drupalMedia",{ariaLabel:Drupal.t("Drupal Media toolbar"),items:(i=e.config.get("drupalMedia.toolbar"),i.map((e=>d(e)?e.name:e))||[]),getRelatedElement:e=>s(e)})}}const h="METADATA_ERROR";class f extends e.Command{refresh(){const e=l(this.editor.model.document.selection);this.isEnabled=!!e&&e.getAttribute("drupalMediaIsImage")&&e.getAttribute("drupalMediaIsImage")!==h,this.isEnabled?this.value=e.getAttribute("drupalMediaAlt"):this.value=!1}execute(e){const{model:t}=this.editor,i=l(t.document.selection);e.newValue=e.newValue.trim(),t.change((t=>{e.newValue.length>0?t.setAttribute("drupalMediaAlt",e.newValue,i):t.removeAttribute("drupalMediaAlt",i)}))}}class b extends e.Plugin{init(){this._data=new WeakMap}getMetadata(e){if(this._data.get(e))return new Promise((t=>{t(this._data.get(e))}));const t=this.editor.config.get("drupalMedia");if(!t)return new Promise(((e,t)=>{t(new Error("drupalMedia configuration is required for parsing metadata."))}));if(!e.hasAttribute("drupalMediaEntityUuid"))return new Promise(((e,t)=>{t(new Error("drupalMedia element must have drupalMediaEntityUuid attribute to retrieve metadata."))}));const{metadataUrl:i}=t;return(async e=>{const t=await fetch(e);if(t.ok)return JSON.parse(await t.text());throw new Error("Fetching media embed metadata from the server failed.")})(`${i}&${new URLSearchParams({uuid:e.getAttribute("drupalMediaEntityUuid")})}`).then((t=>(this._data.set(e,t),t)))}static get pluginName(){return"DrupalMediaMetadataRepository"}}class w extends e.Plugin{static get requires(){return[b]}static get pluginName(){return"MediaImageTextAlternativeEditing"}_upcastDrupalMediaIsImage(e){const{model:t,plugins:i}=this.editor;i.get("DrupalMediaMetadataRepository").getMetadata(e).then((i=>{e&&t.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("drupalMediaIsImage",!!i.imageSourceMetadata,e)}))})).catch((i=>{e&&(console.warn(i.toString()),t.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("drupalMediaIsImage",h,e)})))}))}init(){const{editor:e,editor:{model:t,conversion:i}}=this;t.schema.extend("drupalMedia",{allowAttributes:["drupalMediaIsImage"]}),this.listenTo(t,"insertContent",((e,[t])=>{r(t)&&this._upcastDrupalMediaIsImage(t)})),i.for("upcast").add((e=>{e.on("element:drupal-media",((e,t)=>{const[i]=t.modelRange.getItems();r(i)&&this._upcastDrupalMediaIsImage(i)}),{priority:"lowest"})})),i.for("editingDowncast").add((e=>{e.on("attribute:drupalMediaIsImage",((e,t,i)=>{const{writer:n,mapper:a}=i,r=a.toViewElement(t.item);if(t.attributeNewValue!==h){const e=Array.from(r.getChildren()).find((e=>e.getCustomProperty("drupalMediaMetadataError")));return void(e&&(n.setCustomProperty("widgetLabel",e.getCustomProperty("drupalMediaOriginalWidgetLabel"),e),n.removeElement(e)))}const o=Drupal.t("Not all functionality may be available because some information could not be retrieved."),l=new m.TooltipView;l.text=o,l.position="sw";const s=new m.Template({tag:"span",children:[{tag:"span",attributes:{class:"drupal-media__metadata-error-icon"}},l]}).render(),d=n.createRawElement("div",{class:"drupal-media__metadata-error"},((e,t)=>{t.setContentOf(e,s.outerHTML)}));n.setCustomProperty("drupalMediaMetadataError",!0,d);const u=r.getCustomProperty("widgetLabel");n.setCustomProperty("drupalMediaOriginalWidgetLabel",u,d),n.setCustomProperty("widgetLabel",`${u} (${o})`,r),n.insert(n.createPositionAt(r,0),d)}),{priority:"low"})})),e.commands.add("mediaImageTextAlternative",new f(this.editor))}}function v(e){const t=e.editing.view,i=m.BalloonPanelView.defaultPositions;return{target:t.domConverter.viewToDom(t.document.selection.getSelectedElement()),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast]}}var y=i("ckeditor5/src/utils.js");class E extends m.View{constructor(t){super(t),this.focusTracker=new y.FocusTracker,this.keystrokes=new y.KeystrokeHandler,this.labeledInput=this._createLabeledInputView(),this.set("defaultAltText",void 0),this.defaultAltTextView=this._createDefaultAltTextView(),this.saveButtonView=this._createButton(Drupal.t("Save"),e.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(Drupal.t("Cancel"),e.icons.cancel,"ck-button-cancel","cancel"),this._focusables=new m.ViewCollection,this._focusCycler=new m.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-alternative-text-form","ck-vertical-form"],tabindex:"-1"},children:[this.defaultAltTextView,this.labeledInput,this.saveButtonView,this.cancelButtonView]}),(0,m.injectCssTransitionDisabler)(this)}render(){super.render(),this.keystrokes.listenTo(this.element),(0,m.submitHandler)({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)}))}_createButton(e,t,i,n){const a=new m.ButtonView(this.locale);return a.set({label:e,icon:t,tooltip:!0}),a.extendTemplate({attributes:{class:i}}),n&&a.delegate("execute").to(this,n),a}_createLabeledInputView(){const e=new m.LabeledFieldView(this.locale,m.createLabeledInputText);return e.label=Drupal.t("Alternative text override"),e}_createDefaultAltTextView(){const e=m.Template.bind(this,this);return new m.Template({tag:"div",attributes:{class:["ck-media-alternative-text-form__default-alt-text",e.if("defaultAltText","ck-hidden",(e=>!e))]},children:[{tag:"strong",attributes:{class:"ck-media-alternative-text-form__default-alt-text-label"},children:[Drupal.t("Default alternative text:")]}," ",{tag:"span",attributes:{class:"ck-media-alternative-text-form__default-alt-text-value"},children:[{text:[e.to("defaultAltText")]}]}]})}}class M extends e.Plugin{static get requires(){return[m.ContextualBalloon]}static get pluginName(){return"MediaImageTextAlternativeUi"}init(){this._createButton(),this._createForm()}destroy(){super.destroy(),this._form.destroy()}_createButton(){const t=this.editor;t.ui.componentFactory.add("mediaImageTextAlternative",(i=>{const n=t.commands.get("mediaImageTextAlternative"),a=new m.ButtonView(i);return a.set({label:Drupal.t("Override media image alternative text"),icon:e.icons.lowVision,tooltip:!0}),a.bind("isVisible").to(n,"isEnabled"),this.listenTo(a,"execute",(()=>{this._showForm()})),a}))}_createForm(){const e=this.editor,t=e.editing.view.document;this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new E(e.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{e.execute("mediaImageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((e,t)=>{this._hideForm(!0),t()})),this.listenTo(e.ui,"update",(()=>{s(t.selection)?this._isVisible&&function(e){const t=e.plugins.get("ContextualBalloon");if(s(e.editing.view.document.selection)){const i=v(e);t.updatePosition(i)}}(e):this._hideForm(!0)})),(0,m.clickOutsideHandler)({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const e=this.editor,t=e.commands.get("mediaImageTextAlternative"),i=e.plugins.get("DrupalMediaMetadataRepository"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:v(e)}),n.fieldView.element.value=t.value||"",n.fieldView.value=n.fieldView.element.value,this._form.defaultAltText="";const a=e.model.document.selection.getSelectedElement();r(a)&&i.getMetadata(a).then((e=>{this._form.defaultAltText=e.imageSourceMetadata?e.imageSourceMetadata.alt:""})).catch((e=>{console.warn(e.toString())})),this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class k extends e.Plugin{static get requires(){return[w,M]}static get pluginName(){return"MediaImageTextAlternative"}}function C(e,t,i){if(t.attributes)for(const[n,a]of Object.entries(t.attributes))e.setAttribute(n,a,i);t.styles&&e.setStyle(t.styles,i),t.classes&&e.addClass(t.classes,i)}function _(e,t,i){if(!i.consumable.consume(t.item,e.name))return;const n=i.mapper.toViewElement(t.item);C(i.writer,t.attributeNewValue,n)}class A extends e.Plugin{constructor(e){if(super(e),!e.plugins.has("GeneralHtmlSupport"))return;e.plugins.has("DataFilter")&&e.plugins.has("DataSchema")||console.error("DataFilter and DataSchema plugins are required for Drupal Media to integrate with General HTML Support plugin.");const{schema:t}=e.model,{conversion:i}=e,n=this.editor.plugins.get("DataFilter");this.editor.plugins.get("DataSchema").registerBlockElement({model:"drupalMedia",view:"drupal-media"}),n.on("register:drupal-media",((e,a)=>{"drupalMedia"===a.model&&(t.extend("drupalMedia",{allowAttributes:["htmlLinkAttributes","htmlAttributes"]}),i.for("upcast").add(function(e){return t=>{t.on("element:drupal-media",((t,i,n)=>{function a(t,a){const r=e._consumeAllowedAttributes(t,n);r&&n.writer.setAttribute(a,r,i.modelRange)}const r=i.viewItem,o=r.parent;a(r,"htmlAttributes"),o.is("element","a")&&a(o,"htmlLinkAttributes")}),{priority:"low"})}}(n)),i.for("editingDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{if(!i.consumable.consume(t.item,"attribute:htmlLinkAttributes:drupalMedia"))return;const n=i.mapper.toViewElement(t.item),a=function(e,t,i){const n=e.createRangeOn(t);for(const{item:e}of n.getWalker())if(e.is("element",i))return e}(i.writer,n,"a");C(i.writer,t.item.getAttribute("htmlLinkAttributes"),a)}),{priority:"low"})})),i.for("dataDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{if(!i.consumable.consume(t.item,"attribute:htmlLinkAttributes:drupalMedia"))return;const n=i.mapper.toViewElement(t.item).parent;C(i.writer,t.item.getAttribute("htmlLinkAttributes"),n)}),{priority:"low"}),e.on("attribute:htmlAttributes:drupalMedia",_,{priority:"low"})})),e.stop())}))}static get pluginName(){return"DrupalMediaGeneralHtmlSupport"}}class x extends e.Plugin{static get requires(){return[c,A,p,g,k]}static get pluginName(){return"DrupalMedia"}}var D=i("ckeditor5/src/engine.js");function S(e){return Array.from(e.getChildren()).find((e=>"drupal-media"===e.name))}function V(e){return t=>{t.on(`attribute:${e.id}:drupalMedia`,((t,i,n)=>{const a=n.mapper.toViewElement(i.item);let r=Array.from(a.getChildren()).find((e=>"a"===e.name));if(r=!r&&a.is("element","a")?a:Array.from(a.getAncestors()).find((e=>"a"===e.name)),r){for(const[t,i]of(0,y.toMap)(e.attributes))n.writer.setAttribute(t,i,r);e.classes&&n.writer.addClass(e.classes,r);for(const t in e.styles)Object.prototype.hasOwnProperty.call(e.styles,t)&&n.writer.setStyle(t,e.styles[t],r)}}))}}function I(e,t){return e=>{e.on("element:a",((e,i,n)=>{const a=i.viewItem;if(!S(a))return;const r=new D.Matcher(t._createPattern()).match(a);if(!r)return;if(!n.consumable.consume(a,r.match))return;const o=i.modelCursor.nodeBefore;n.writer.setAttribute(t.id,!0,o)}),{priority:"high"})}}class T extends e.Plugin{static get requires(){return["LinkEditing","DrupalMediaEditing"]}static get pluginName(){return"DrupalLinkMediaEditing"}init(){const{editor:e}=this;e.model.schema.extend("drupalMedia",{allowAttributes:["linkHref"]}),e.conversion.for("upcast").add((e=>{e.on("element:a",((e,t,i)=>{const n=t.viewItem,a=S(n);if(!a)return;if(!i.consumable.consume(n,{attributes:["href"],name:!0}))return;const r=n.getAttribute("href");if(!r)return;const o=i.convertItem(a,t.modelCursor);t.modelRange=o.modelRange,t.modelCursor=o.modelCursor;const l=t.modelCursor.nodeBefore;l&&l.is("element","drupalMedia")&&i.writer.setAttribute("linkHref",r,l)}),{priority:"high"})})),e.conversion.for("editingDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{const{writer:n}=i;if(!i.consumable.consume(t.item,e.name))return;const a=i.mapper.toViewElement(t.item),r=Array.from(a.getChildren()).find((e=>"a"===e.name));if(r)t.attributeNewValue?n.setAttribute("href",t.attributeNewValue,r):(n.move(n.createRangeIn(r),n.createPositionAt(a,0)),n.remove(r));else{const e=Array.from(a.getChildren()).find((e=>e.getAttribute("data-drupal-media-preview"))),i=n.createContainerElement("a",{href:t.attributeNewValue});n.insert(n.createPositionAt(a,0),i),n.move(n.createRangeOn(e),n.createPositionAt(i,0))}}),{priority:"high"})})),e.conversion.for("dataDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{const{writer:n}=i;if(!i.consumable.consume(t.item,e.name))return;const a=i.mapper.toViewElement(t.item),r=n.createContainerElement("a",{href:t.attributeNewValue});n.insert(n.createPositionBefore(a),r),n.move(n.createRangeOn(a),n.createPositionAt(r,0))}),{priority:"high"})})),this._enableManualDecorators()}_enableManualDecorators(){const e=this.editor,t=e.commands.get("link");for(const i of t.manualDecorators)e.model.schema.extend("drupalMedia",{allowAttributes:i.id}),e.conversion.for("downcast").add(V(i)),e.conversion.for("upcast").add(I(0,i))}}class P extends e.Plugin{static get requires(){return["LinkEditing","LinkUI","DrupalMediaEditing"]}static get pluginName(){return"DrupalLinkMediaUi"}init(){const{editor:e}=this,t=e.editing.view.document;this.listenTo(t,"click",((t,i)=>{this._isSelectedLinkedMedia(e.model.document.selection)&&(i.preventDefault(),t.stop())}),{priority:"high"}),this._createToolbarLinkMediaButton()}_createToolbarLinkMediaButton(){const{editor:e}=this;e.ui.componentFactory.add("drupalLinkMedia",(t=>{const i=new m.ButtonView(t),n=e.plugins.get("LinkUI"),a=e.commands.get("link");return i.set({isEnabled:!0,label:Drupal.t("Link media"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.077 15 .991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184z"/></svg>\n',keystroke:"Ctrl+K",tooltip:!0,isToggleable:!0}),i.bind("isEnabled").to(a,"isEnabled"),i.bind("isOn").to(a,"value",(e=>!!e)),this.listenTo(i,"execute",(()=>{this._isSelectedLinkedMedia(e.model.document.selection)?n._addActionsView():n._showUI(!0)})),i}))}_isSelectedLinkedMedia(e){const t=e.getSelectedElement();return!!t&&t.is("element","drupalMedia")&&t.hasAttribute("linkHref")}}class L extends e.Plugin{static get requires(){return[T,P]}static get pluginName(){return"DrupalLinkMedia"}}const{objectFullWidth:B,objectInline:N,objectLeft:O,objectRight:R,objectCenter:F,objectBlockLeft:j,objectBlockRight:U}=e.icons,H={get inline(){return{name:"inline",title:"In line",icon:N,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:O,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:j,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:F,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:R,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:U,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:F,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:R,modelElements:["imageBlock"],className:"image-style-side"}}},W={full:B,left:j,right:U,center:F,inlineLeft:O,inlineRight:R,inline:N},q=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function K(e){(0,y.logWarning)("image-style-configuration-definition-invalid",e)}var $={normalizeStyles:function(e){return(e.configuredStyles.options||[]).map((e=>function(e){e="string"==typeof e?H[e]?{...H[e]}:{name:e}:function(e,t){const i={...t};for(const n in e)Object.prototype.hasOwnProperty.call(t,n)||(i[n]=e[n]);return i}(H[e.name],e);"string"==typeof e.icon&&(e.icon=W[e.icon]||e.icon);return e}(e))).filter((t=>function(e,{isBlockPluginLoaded:t,isInlinePluginLoaded:i}){const{modelElements:n,name:a}=e;if(!(n&&n.length&&a))return K({style:e}),!1;{const a=[t?"imageBlock":null,i?"imageInline":null];if(!n.some((e=>a.includes(e))))return(0,y.logWarning)("image-style-missing-dependency",{style:e,missingPlugins:n.map((e=>"imageBlock"===e?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(t,e)))},getDefaultStylesConfiguration:function(e,t){return e&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:e?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(e){return e.has("ImageBlockEditing")&&e.has("ImageInlineEditing")?[...q]:[]},warnInvalidStyle:K,DEFAULT_OPTIONS:H,DEFAULT_ICONS:W,DEFAULT_DROPDOWN_DEFINITIONS:q};function z(e,t){const i=e.getSelectedElement();if(i&&t.checkAttribute(i,"drupalElementStyle"))return i;let n=e.getFirstPosition().parent;for(;n;){if(n.is("element")&&t.checkAttribute(n,"drupalElementStyle"))return n;n=n.parent}return null}class Z extends e.Command{constructor(e,t){super(e),this._styles=new Map(t.map((e=>[e.name,e])))}refresh(){const e=this.editor,t=z(e.model.document.selection,e.model.schema);if(this.isEnabled=!!t,this.isEnabled){if(this.value=t.getAttribute("drupalElementStyle"),!this.value)for(const[e,i]of this._styles.entries())if(i.isDefault){if(i.modelElements.find((e=>t.is("element",e)))){this.value=e;break}}}else this.value=!1}execute(e={}){const t=this.editor.model;t.change((i=>{const n=e.value,a=z(t.document.selection,t.schema);!n||this._styles.get(n).isDefault?i.removeAttribute("drupalElementStyle",a):i.setAttribute("drupalElementStyle",n,a)}))}}function G(e,t){for(const i of t)if(i.name===e)return i}class J extends e.Plugin{init(){const t=this.editor;t.config.define("drupalElementStyles",{options:[]});const i=t.config.get("drupalElementStyles").options;this.normalizedStyles=i.map((t=>("string"==typeof t.icon&&e.icons[t.icon]&&(t.icon=e.icons[t.icon]),t))).filter((e=>e.isDefault||e.attributeName&&e.attributeValue?e.modelElements&&Array.isArray(e.modelElements)?!!e.name||(console.warn("drupalElementStyles options must include a name."),!1):(console.warn("drupalElementStyles options must include an array of supported modelElements."),!1):(console.warn("drupalElementStyles options must include attributeName and attributeValue."),!1))),this._setupConversion(),t.commands.add("drupalElementStyle",new Z(t,this.normalizedStyles))}_setupConversion(){const e=this.editor,t=e.model.schema,i=(n=this.normalizedStyles,(e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const a=G(t.attributeNewValue,n),r=G(t.attributeOldValue,n),o=i.mapper.toViewElement(t.item),l=i.writer;r&&("class"===r.attributeName?l.removeClass(r.attributeValue,o):l.removeAttribute(r.attributeName,o)),a&&("class"===a.attributeName?l.addClass(a.attributeValue,o):l.setAttribute(a.attributeName,a.attributeValue,o))});var n;const a=function(e){const t=e.filter((e=>!e.isDefault));return(e,i,n)=>{if(!i.modelRange)return;const a=i.viewItem,r=(0,y.first)(i.modelRange.getItems());if(r&&n.schema.checkAttribute(r,"drupalElementStyle"))for(const e of t)if("class"===e.attributeName)n.consumable.consume(a,{classes:e.attributeValue})&&n.writer.setAttribute("drupalElementStyle",e.name,r);else if(n.consumable.consume(a,{attributes:[e.attributeName]}))for(const e of t)e.attributeValue===a.getAttribute(e.attributeName)&&n.writer.setAttribute("drupalElementStyle",e.name,r)}}(this.normalizedStyles);e.editing.downcastDispatcher.on("attribute:drupalElementStyle",i),e.data.downcastDispatcher.on("attribute:drupalElementStyle",i);[...new Set(this.normalizedStyles.map((e=>e.modelElements)).flat())].forEach((e=>{t.extend(e,{allowAttributes:"drupalElementStyle"})})),e.data.upcastDispatcher.on("element",a,{priority:"low"})}static get pluginName(){return"DrupalElementStyleEditing"}}const X=e=>e,Q=(e,t)=>(e?`${e}: `:"")+t;function Y(e){return`drupalElementStyle:${e}`}class ee extends e.Plugin{static get requires(){return[J]}init(){const e=this.editor.plugins,t=this.editor.config.get("drupalMedia.toolbar")||[],i=Object.values(e.get("DrupalElementStyleEditing").normalizedStyles);i.forEach((e=>{this._createButton(e)}));t.filter(d).forEach((e=>{this._createDropdown(e,i)}))}_createDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,(n=>{let a;const{defaultItem:r,items:o,title:l}=e,s=o.filter((e=>t.find((({name:t})=>Y(t)===e)))).map((e=>{const t=i.create(e);return e===r&&(a=t),t}));o.length!==s.length&&$.warnInvalidStyle({dropdown:e});const d=(0,m.createDropdown)(n,m.SplitButtonView),u=d.buttonView;return(0,m.addToolbarToDropdown)(d,s),u.set({label:Q(l,a.label),class:null,tooltip:!0}),u.bind("icon").toMany(s,"isOn",((...e)=>{const t=e.findIndex(X);return t<0?a.icon:s[t].icon})),u.bind("label").toMany(s,"isOn",((...e)=>{const t=e.findIndex(X);return Q(l,t<0?a.label:s[t].label)})),u.bind("isOn").toMany(s,"isOn",((...e)=>e.some(X))),u.bind("class").toMany(s,"isOn",((...e)=>e.some(X)?"ck-splitbutton_flatten":null)),u.on("execute",(()=>{s.some((({isOn:e})=>e))?d.isOpen=!d.isOpen:a.fire("execute")})),d.bind("isEnabled").toMany(s,"isEnabled",((...e)=>e.some(X))),d}))}_createButton(e){const t=e.name;this.editor.ui.componentFactory.add(Y(t),(i=>{const n=this.editor.commands.get("drupalElementStyle"),a=new m.ButtonView(i);return a.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),a.bind("isEnabled").to(n,"isEnabled"),a.bind("isOn").to(n,"value",(e=>e===t)),a.on("execute",this._executeCommand.bind(this,t)),a}))}_executeCommand(e){this.editor.execute("drupalElementStyle",{value:e}),this.editor.editing.view.focus()}static get pluginName(){return"DrupalElementStyleUi"}}class te extends e.Plugin{static get requires(){return[J,ee]}static get pluginName(){return"DrupalElementStyle"}}function ie(e){const t=e.getFirstPosition().findAncestor("caption");return t&&r(t.parent)?t:null}function ne(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}class ae extends e.Command{refresh(){const e=this.editor.model.document.selection,t=e.getSelectedElement();if(!t)return this.isEnabled=!!l(e),void(this.value=!!ie(e));this.isEnabled=r(t),this.isEnabled?this.value=!!ne(t):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change((e=>{this.value?this._hideDrupalMediaCaption(e):this._showDrupalMediaCaption(e,t)}))}_showDrupalMediaCaption(e,t){const i=this.editor.model.document.selection,n=this.editor.plugins.get("DrupalMediaCaptionEditing"),a=l(i),r=n._getSavedCaption(a)||e.createElement("caption");e.append(r,a),t&&e.setSelection(r,"in")}_hideDrupalMediaCaption(e){const t=this.editor,i=t.model.document.selection,n=t.plugins.get("DrupalMediaCaptionEditing");let a,r=i.getSelectedElement();r?a=ne(r):(a=ie(i),r=l(i)),n._saveCaption(r,a),e.setSelection(r,"on"),e.remove(a)}}class re extends e.Plugin{static get requires(){return[]}static get pluginName(){return"DrupalMediaCaptionEditing"}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"drupalMedia"}):t.register("caption",{allowIn:"drupalMedia",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleMediaCaption",new ae(e)),this._setupConversion()}_setupConversion(){const e=this.editor,i=e.editing.view;var n;e.conversion.for("upcast").add(function(e){const t=(t,i,n)=>{const{viewItem:a}=i,{writer:r,consumable:o}=n;if(!i.modelRange||!o.consume(a,{attributes:["data-caption"]}))return;const l=r.createElement("caption"),s=i.modelRange.start.nodeAfter,d=e.data.processor.toView(a.getAttribute("data-caption")),u=r.createDocumentFragment();n.consumable.constructor.createFrom(d,n.consumable),n.convertChildren(d,u);for(const e of Array.from(u.getChildren()))r.append(e,l);r.append(l,s)};return e=>{e.on("element:drupal-media",t,{priority:"low"})}}(e)),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:n})=>{if(!r(e.parent))return null;const a=n.createEditableElement("figcaption");return(0,D.enablePlaceholder)({view:i,element:a,text:Drupal.t("Enter media caption"),keepOnFocus:!0}),(0,t.toWidgetEditable)(a,n)}}),e.editing.mapper.on("modelToViewPosition",(n=i,(e,t)=>{const i=t.modelPosition,a=i.parent;if(!r(a))return;const o=t.mapper.toViewElement(a);t.viewPosition=n.createPositionAt(o,i.offset+1)})),e.conversion.for("dataDowncast").add(function(e){return t=>{t.on("insert:caption",((t,i,n)=>{const{consumable:a,writer:o,mapper:l}=n;if(!r(i.item.parent)||!a.consume(i.item,"insert"))return;const s=e.model.createRangeIn(i.item),d=o.createDocumentFragment();l.bindElements(i.item,d);for(const{item:t}of Array.from(s)){const i={item:t,range:e.model.createRangeOn(t)},a=`insert:${t.name||"$text"}`;e.data.downcastDispatcher.fire(a,i,n);for(const a of t.getAttributeKeys())Object.assign(i,{attributeKey:a,attributeOldValue:null,attributeNewValue:i.item.getAttribute(a)}),e.data.downcastDispatcher.fire(`attribute:${a}`,i,n)}for(const e of o.createRangeIn(d).getItems())l.unbindViewElement(e);l.unbindViewElement(d);const u=e.data.processor.toData(d);if(u){const e=l.toViewElement(i.item.parent);o.setAttribute("data-caption",u,e)}}))}}(e))}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?D.Element.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}}class oe extends e.Plugin{static get requires(){return[]}static get pluginName(){return"DrupalMediaCaptionUI"}init(){const{editor:t}=this,i=t.editing.view;t.ui.componentFactory.add("toggleDrupalMediaCaption",(n=>{const a=new m.ButtonView(n),r=t.commands.get("toggleMediaCaption");return a.set({label:Drupal.t("Caption media"),icon:e.icons.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(r,"value","isEnabled"),a.bind("label").to(r,"value",(e=>e?Drupal.t("Toggle caption off"):Drupal.t("Toggle caption on"))),this.listenTo(a,"execute",(()=>{t.execute("toggleMediaCaption",{focusCaptionOnShow:!0});const e=ie(t.model.document.selection);if(e){const n=t.editing.mapper.toViewElement(e);i.scrollToTheSelection(),i.change((e=>{e.addClass("drupal-media__caption_highlighted",n)}))}})),a}))}}class le extends e.Plugin{static get requires(){return[re,oe]}static get pluginName(){return"DrupalMediaCaption"}}var se={DrupalMedia:x,MediaImageTextAlternative:k,MediaImageTextAlternativeEditing:w,MediaImageTextAlternativeUi:M,DrupalLinkMedia:L,DrupalMediaCaption:le,DrupalElementStyle:te}}(),n=n.default}()}));
\ No newline at end of file
diff --git a/web/core/modules/ckeditor5/js/ckeditor5.admin.es6.js b/web/core/modules/ckeditor5/js/ckeditor5.admin.es6.js
index e913b4d8ec..9e3db776bf 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5.admin.es6.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5.admin.es6.js
@@ -251,6 +251,23 @@
           helpItem.condition,
       )
       .map((helpItem) => helpItem.message);
+
+    // Get the existing toolbar help message.
+    const existingToolbarHelpText = document.querySelector(
+      '[data-drupal-selector="ckeditor5-admin-help-message"]',
+    );
+
+    // If the existing toolbar help message does not match the message that is
+    // about to be rendered, it is new information that should be conveyed to
+    // assistive tech via announce().
+    if (
+      existingToolbarHelpText &&
+      toolbarHelpText.join('').trim() !==
+        existingToolbarHelpText.textContent.trim()
+    ) {
+      Drupal.announce(toolbarHelpText.join(' '));
+    }
+
     root.innerHTML = Drupal.theme.ckeditor5Admin({
       availableButtons: Drupal.theme.ckeditor5AvailableButtons({
         buttons: availableButtons.filter(
@@ -926,6 +943,15 @@
    * @internal
    */
   Drupal.theme.ckeditor5Button = ({ button: { label, id }, listType }) => {
+    const buttonInstructions = {
+      divider: Drupal.t(
+        'Press the down arrow key to use this divider in the active button list',
+      ),
+      available: Drupal.t('Press the down arrow key to activate'),
+      active: Drupal.t(
+        'Press the up arrow key to deactivate. Use the right and left arrow keys to move position',
+      ),
+    };
     const visuallyHiddenLabel = Drupal.t(`@listType button @label`, {
       '@listType': listType !== 'divider' ? listType : 'available',
       '@label': label,
@@ -935,9 +961,11 @@
       listType === 'divider'
     }">
         <span class="ckeditor5-toolbar-button ckeditor5-toolbar-button-${id}">
-          <span class="visually-hidden">${visuallyHiddenLabel}</span>
+          <span class="visually-hidden">${visuallyHiddenLabel}. ${
+      buttonInstructions[listType]
+    }</span>
         </span>
-        <span class="ckeditor5-toolbar-tooltip" aria-hidden="true">${label}</span>
+        <span class="ckeditor5-toolbar-tooltip" aria-hidden="true">${label} </span>
       </li>
     `;
   };
@@ -967,7 +995,7 @@
     helpMessage,
   }) => {
     return `
-    <div aria-live="polite" data-drupal-selector="ckeditor5-admin-help-message">
+    <div data-drupal-selector="ckeditor5-admin-help-message">
       <p>${helpMessage.join('</p><p>')}</p>
     </div>
     <div class="ckeditor5-toolbar-disabled">
diff --git a/web/core/modules/ckeditor5/js/ckeditor5.admin.js b/web/core/modules/ckeditor5/js/ckeditor5.admin.js
index 573b5a3f91..bff2bc1c02 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5.admin.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5.admin.js
@@ -172,6 +172,12 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
     }).map(function (helpItem) {
       return helpItem.message;
     });
+    var existingToolbarHelpText = document.querySelector('[data-drupal-selector="ckeditor5-admin-help-message"]');
+
+    if (existingToolbarHelpText && toolbarHelpText.join('').trim() !== existingToolbarHelpText.textContent.trim()) {
+      Drupal.announce(toolbarHelpText.join(' '));
+    }
+
     root.innerHTML = Drupal.theme.ckeditor5Admin({
       availableButtons: Drupal.theme.ckeditor5AvailableButtons({
         buttons: availableButtons.filter(function (button) {
@@ -561,11 +567,16 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
         label = _ref7$button.label,
         id = _ref7$button.id,
         listType = _ref7.listType;
+    var buttonInstructions = {
+      divider: Drupal.t('Press the down arrow key to use this divider in the active button list'),
+      available: Drupal.t('Press the down arrow key to activate'),
+      active: Drupal.t('Press the up arrow key to deactivate. Use the right and left arrow keys to move position')
+    };
     var visuallyHiddenLabel = Drupal.t("@listType button @label", {
       '@listType': listType !== 'divider' ? listType : 'available',
       '@label': label
     });
-    return "\n      <li class=\"ckeditor5-toolbar-item ckeditor5-toolbar-item-".concat(id, "\" role=\"option\" tabindex=\"0\" data-drupal-selector=\"ckeditor5-toolbar-button\" data-id=\"").concat(id, "\" data-label=\"").concat(label, "\" data-divider=\"").concat(listType === 'divider', "\">\n        <span class=\"ckeditor5-toolbar-button ckeditor5-toolbar-button-").concat(id, "\">\n          <span class=\"visually-hidden\">").concat(visuallyHiddenLabel, "</span>\n        </span>\n        <span class=\"ckeditor5-toolbar-tooltip\" aria-hidden=\"true\">").concat(label, "</span>\n      </li>\n    ");
+    return "\n      <li class=\"ckeditor5-toolbar-item ckeditor5-toolbar-item-".concat(id, "\" role=\"option\" tabindex=\"0\" data-drupal-selector=\"ckeditor5-toolbar-button\" data-id=\"").concat(id, "\" data-label=\"").concat(label, "\" data-divider=\"").concat(listType === 'divider', "\">\n        <span class=\"ckeditor5-toolbar-button ckeditor5-toolbar-button-").concat(id, "\">\n          <span class=\"visually-hidden\">").concat(visuallyHiddenLabel, ". ").concat(buttonInstructions[listType], "</span>\n        </span>\n        <span class=\"ckeditor5-toolbar-tooltip\" aria-hidden=\"true\">").concat(label, " </span>\n      </li>\n    ");
   };
 
   Drupal.theme.ckeditor5Admin = function (_ref8) {
@@ -573,7 +584,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
         dividerButtons = _ref8.dividerButtons,
         activeToolbar = _ref8.activeToolbar,
         helpMessage = _ref8.helpMessage;
-    return "\n    <div aria-live=\"polite\" data-drupal-selector=\"ckeditor5-admin-help-message\">\n      <p>".concat(helpMessage.join('</p><p>'), "</p>\n    </div>\n    <div class=\"ckeditor5-toolbar-disabled\">\n      <div class=\"ckeditor5-toolbar-available\">\n        <label id=\"ckeditor5-toolbar-available-buttons-label\">").concat(Drupal.t('Available buttons'), "</label>\n        ").concat(availableButtons, "\n      </div>\n      <div class=\"ckeditor5-toolbar-divider\">\n        <label id=\"ckeditor5-toolbar-divider-buttons-label\">").concat(Drupal.t('Button divider'), "</label>\n        ").concat(dividerButtons, "\n      </div>\n    </div>\n    <div class=\"ckeditor5-toolbar-active\">\n      <label id=\"ckeditor5-toolbar-active-buttons-label\">").concat(Drupal.t('Active toolbar'), "</label>\n      ").concat(activeToolbar, "\n    </div>\n    ");
+    return "\n    <div data-drupal-selector=\"ckeditor5-admin-help-message\">\n      <p>".concat(helpMessage.join('</p><p>'), "</p>\n    </div>\n    <div class=\"ckeditor5-toolbar-disabled\">\n      <div class=\"ckeditor5-toolbar-available\">\n        <label id=\"ckeditor5-toolbar-available-buttons-label\">").concat(Drupal.t('Available buttons'), "</label>\n        ").concat(availableButtons, "\n      </div>\n      <div class=\"ckeditor5-toolbar-divider\">\n        <label id=\"ckeditor5-toolbar-divider-buttons-label\">").concat(Drupal.t('Button divider'), "</label>\n        ").concat(dividerButtons, "\n      </div>\n    </div>\n    <div class=\"ckeditor5-toolbar-active\">\n      <label id=\"ckeditor5-toolbar-active-buttons-label\">").concat(Drupal.t('Active toolbar'), "</label>\n      ").concat(activeToolbar, "\n    </div>\n    ");
   };
 
   var originalFilterStatusAttach = Drupal.behaviors.filterStatus.attach;
diff --git a/web/core/modules/ckeditor5/js/ckeditor5.es6.js b/web/core/modules/ckeditor5/js/ckeditor5.es6.js
index 5bf9718f01..92f3ec634d 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5.es6.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5.es6.js
@@ -2,9 +2,9 @@
  * @file
  * CKEditor 5 implementation of {@link Drupal.editors} API.
  */
-/* global CKEditor5 */
+
 ((Drupal, debounce, CKEditor5, $, once) => {
-  // CKEditor 5 is incompatible with IE11. When IE11 is detected, the CKEditor5
+  // CKEditor 5 is incompatible with IE11. When IE11 is detected, the CKEditor 5
   // variable is null. In those instances, exit early since CKEditor 5 is not
   // loaded.
   if (!CKEditor5) {
@@ -12,7 +12,7 @@
   }
 
   /**
-   * The CKEDITOR instances.
+   * The CKEditor 5 instances.
    *
    * @type {Map}
    */
@@ -32,6 +32,17 @@
    */
   const required = new Set();
 
+  /**
+   * Get the value of the (deep) property on name from scope.
+   *
+   * @param {object} scope
+   *  Object used to search for the function.
+   * @param {string} name
+   *  The path to access in the scope object.
+   *
+   * @return {null|function}
+   *  The corresponding function from the scope object.
+   */
   function findFunc(scope, name) {
     if (!scope) {
       return null;
@@ -44,6 +55,16 @@
     return typeof scope[parts[0]] === 'function' ? scope[parts[0]] : null;
   }
 
+  /**
+   * Transform a config key in a callback function or execute the function
+   * to dynamically build the configuration entry.
+   *
+   * @param {object} config
+   *  The plugin configuration object.
+   *
+   * @return {null|function|*}
+   *  Resulting configuration value.
+   */
   function buildFunc(config) {
     const { func } = config;
     // Assuming a global object.
@@ -153,9 +174,9 @@
   const getElementId = (element) => element.getAttribute('data-ckeditor5-id');
 
   /**
-   * Select CKEditor5 plugin classes to include.
+   * Select CKEditor 5 plugin classes to include.
    *
-   * Found in the CKEditor5 global js object as {package.Class}.
+   * Found in the CKEditor 5 global JavaScript object as {package.Class}.
    *
    * @param {Array} plugins
    *  List of package and Class name of plugins
@@ -365,7 +386,11 @@
   }
 
   /**
+   * Integration of CKEditor 5 with the Drupal editor API.
+   *
    * @namespace
+   *
+   * @see Drupal.editorAttach
    */
   Drupal.editors.ckeditor5 = {
     /**
@@ -398,7 +423,7 @@
           // Save a reference to the initialized instance.
           Drupal.CKEditor5Instances.set(id, editor);
 
-          // CKEditor4 had a feature to remove the required attribute
+          // CKEditor 4 had a feature to remove the required attribute
           // see: https://www.drupal.org/project/drupal/issues/1954968
           if (element.hasAttribute('required')) {
             required.add(id);
@@ -520,7 +545,7 @@
     },
 
     /**
-     * Registers a callback which CKEditor5 will call on change:data event.
+     * Registers a callback which CKEditor 5 will call on change:data event.
      *
      * @param {HTMLElement} element
      *   The element where the change occurred.
@@ -582,6 +607,11 @@
     },
   };
 
+  /**
+   * Public API for Drupal CKEditor 5 integration.
+   *
+   * @namespace
+   */
   Drupal.ckeditor5 = {
     /**
      * Variable storing the current dialog's save callback.
@@ -590,6 +620,19 @@
      */
     saveCallback: null,
 
+    /**
+     * Open a dialog for a Drupal-based plugin.
+     *
+     * This dynamically loads jQuery UI (if necessary) using the Drupal AJAX
+     * framework, then opens a dialog at the specified Drupal path.
+     *
+     * @param {string} url
+     *   The URL that contains the contents of the dialog.
+     * @param {function} saveCallback
+     *   A function to be called upon saving the dialog.
+     * @param {object} dialogSettings
+     *   An object containing settings to be passed to the jQuery UI.
+     */
     openDialog(url, saveCallback, dialogSettings) {
       // Add a consistent dialog class.
       const classes = dialogSettings.dialogClass
@@ -601,30 +644,18 @@
         window.matchMedia('(min-width: 600px)').matches;
       dialogSettings.width = 'auto';
 
-      const $content = $(
-        `<div class="ckeditor5-dialog-loading"><span style="top: -40px;" class="ckeditor5-dialog-loading-link">${Drupal.t(
-          'Loading...',
-        )}</span></div>`,
-      );
-      $content.appendTo($('body'));
-
       const ckeditorAjaxDialog = Drupal.ajax({
         dialog: dialogSettings,
         dialogType: 'modal',
         selector: '.ckeditor5-dialog-loading-link',
         url,
-        progress: { type: 'throbber' },
+        progress: { type: 'fullscreen' },
         submit: {
           editor_object: {},
         },
       });
       ckeditorAjaxDialog.execute();
 
-      // After a short delay, show "Loading…" message.
-      window.setTimeout(() => {
-        $content.find('span').animate({ top: '0px' });
-      }, 1000);
-
       // Store the save callback to be executed when this dialog is closed.
       Drupal.ckeditor5.saveCallback = saveCallback;
     },
diff --git a/web/core/modules/ckeditor5/js/ckeditor5.filter.admin.es6.js b/web/core/modules/ckeditor5/js/ckeditor5.filter.admin.es6.js
index 69b8643905..64cf95a6f4 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5.filter.admin.es6.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5.filter.admin.es6.js
@@ -6,6 +6,26 @@
 ((Drupal, once) => {
   Drupal.behaviors.allowedTagsListener = {
     attach: function attach(context) {
+      once(
+        'ajax-conflict-prevention',
+        '[data-drupal-selector="filter-format-edit-form"], [data-drupal-selector="filter-format-add-form"]',
+        context,
+      ).forEach((form) => {
+        // When the form is submitted, remove the disabled attribute from all
+        // AJAX enabled form elements. The disabled state is added as part of
+        // AJAX processing, but will prevent the value from being added to
+        // $form_state.
+        form.addEventListener('submit', () => {
+          once
+            .filter(
+              'drupal-ajax',
+              '[data-drupal-selector="filter-format-edit-form"] [disabled], [data-drupal-selector="filter-format-add-form"] [disabled]',
+            )
+            .forEach((disabledElement) => {
+              disabledElement.removeAttribute('disabled');
+            });
+        });
+      });
       once(
         'allowed-tags-listener',
         context.querySelector(
diff --git a/web/core/modules/ckeditor5/js/ckeditor5.filter.admin.js b/web/core/modules/ckeditor5/js/ckeditor5.filter.admin.js
index 1c8d44fd91..5cb2e422f2 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5.filter.admin.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5.filter.admin.js
@@ -8,6 +8,13 @@
 (function (Drupal, once) {
   Drupal.behaviors.allowedTagsListener = {
     attach: function attach(context) {
+      once('ajax-conflict-prevention', '[data-drupal-selector="filter-format-edit-form"], [data-drupal-selector="filter-format-add-form"]', context).forEach(function (form) {
+        form.addEventListener('submit', function () {
+          once.filter('drupal-ajax', '[data-drupal-selector="filter-format-edit-form"] [disabled], [data-drupal-selector="filter-format-add-form"] [disabled]').forEach(function (disabledElement) {
+            disabledElement.removeAttribute('disabled');
+          });
+        });
+      });
       once('allowed-tags-listener', context.querySelector('[data-drupal-selector="edit-filters-filter-html-settings-allowed-html"]')).forEach(function (textarea) {
         var editorSelect = document.querySelector('[data-drupal-selector="edit-editor-editor"]');
         var filterCheckbox = document.querySelector('[data-drupal-selector="edit-filters-filter-html-status"]');
diff --git a/web/core/modules/ckeditor5/js/ckeditor5.js b/web/core/modules/ckeditor5/js/ckeditor5.js
index c5a2d3cd2f..29e8f0adb4 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5.js
@@ -337,26 +337,19 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
       dialogSettings.dialogClass = classes.join(' ');
       dialogSettings.autoResize = window.matchMedia('(min-width: 600px)').matches;
       dialogSettings.width = 'auto';
-      var $content = $("<div class=\"ckeditor5-dialog-loading\"><span style=\"top: -40px;\" class=\"ckeditor5-dialog-loading-link\">".concat(Drupal.t('Loading...'), "</span></div>"));
-      $content.appendTo($('body'));
       var ckeditorAjaxDialog = Drupal.ajax({
         dialog: dialogSettings,
         dialogType: 'modal',
         selector: '.ckeditor5-dialog-loading-link',
         url: url,
         progress: {
-          type: 'throbber'
+          type: 'fullscreen'
         },
         submit: {
           editor_object: {}
         }
       });
       ckeditorAjaxDialog.execute();
-      window.setTimeout(function () {
-        $content.find('span').animate({
-          top: '0px'
-        });
-      }, 1000);
       Drupal.ckeditor5.saveCallback = saveCallback;
     }
   };
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimage.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimage.js
index 88de3fc0f4..5aa48e33e3 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimage.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimage.js
@@ -1,8 +1,9 @@
 /* eslint-disable import/no-extraneous-dependencies */
-/* cspell:words drupalimageediting */
+/* cspell:words drupalimageediting drupalimagealternativetext */
 
 import { Plugin } from 'ckeditor5/src/core';
 import DrupalImageEditing from './drupalimageediting';
+import DrupalImageAlternativeText from './drupalimagealternativetext';
 
 /**
  * @internal
@@ -12,7 +13,7 @@ class DrupalImage extends Plugin {
    * @inheritdoc
    */
   static get requires() {
-    return [DrupalImageEditing];
+    return [DrupalImageEditing, DrupalImageAlternativeText];
   }
 
   /**
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimagealternativetext.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimagealternativetext.js
new file mode 100644
index 0000000000..32267ab2fb
--- /dev/null
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimagealternativetext.js
@@ -0,0 +1,40 @@
+/* eslint-disable import/no-extraneous-dependencies */
+/* cspell:words imagealternativetext imagetextalternativeediting drupalimagealternativetextediting drupalimagealternativetextui */
+
+/**
+ * @module drupalImage/imagealternativetext
+ */
+
+import { Plugin } from 'ckeditor5/src/core';
+import DrupalImageAlternativeTextEditing from './imagealternativetext/drupalimagealternativetextediting';
+import DrupalImageAlternativeTextUi from './imagealternativetext/drupalimagealternativetextui';
+
+/**
+ * The Drupal-specific image text alternative plugin.
+ *
+ * This has been implemented based on the CKEditor 5 built in image alternative
+ * text plugin. This plugin enhances the original upstream form with a toggle
+ * button that allows users to explicitly mark images as decorative, which is
+ * downcast to an empty `alt` attribute. This plugin also provides a warning for
+ * images that are missing the `alt` attribute, to ensure content authors don't
+ * leave the alternative text blank by accident.
+ *
+ * @see module:image/imagetextalternative~ImageTextAlternative
+ *
+ * @extends module:core/plugin~Plugin
+ */
+export default class DrupalImageAlternativeText extends Plugin {
+  /**
+   * @inheritDoc
+   */
+  static get requires() {
+    return [DrupalImageAlternativeTextEditing, DrupalImageAlternativeTextUi];
+  }
+
+  /**
+   * @inheritDoc
+   */
+  static get pluginName() {
+    return 'DrupalImageAlternativeText';
+  }
+}
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimageediting.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimageediting.js
index 731e47f78b..72cab1aee7 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimageediting.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/drupalimageediting.js
@@ -40,6 +40,21 @@ function modelEntityUuidToDataAttribute() {
   };
 }
 
+const alignmentMapping = [
+  {
+    modelValue: 'alignCenter',
+    dataValue: 'center',
+  },
+  {
+    modelValue: 'alignRight',
+    dataValue: 'right',
+  },
+  {
+    modelValue: 'alignLeft',
+    dataValue: 'left',
+  },
+];
+
 // Downcast `caption` model to `data-caption` attribute with its content
 // downcasted to plain HTML. This is needed because CKEditor 5 uses <caption>
 // element internally in various places, which differs from Drupal which uses
@@ -158,19 +173,12 @@ function modelImageStyleToDataAttribute() {
     const { item } = data;
     const { consumable, writer } = conversionApi;
 
-    const mapping = {
-      alignLeft: 'left',
-      alignRight: 'right',
-      alignCenter: 'center',
-      alignBlockRight: 'right',
-      alignBlockLeft: 'left',
-    };
+    const mappedAlignment = alignmentMapping.find(
+      (value) => value.modelValue === data.attributeNewValue,
+    );
 
     // Consume only for the values that can be converted into data-align.
-    if (
-      !mapping[data.attributeNewValue] ||
-      !consumable.consume(item, evt.name)
-    ) {
+    if (!mappedAlignment || !consumable.consume(item, evt.name)) {
       return;
     }
 
@@ -181,7 +189,7 @@ function modelImageStyleToDataAttribute() {
 
     writer.setAttribute(
       'data-align',
-      mapping[data.attributeNewValue],
+      mappedAlignment.dataValue,
       imageInFigure || viewElement,
     );
   }
@@ -268,8 +276,17 @@ function viewImageToModelImage(editor) {
       return;
     }
 
-    // Create image that's allowed in the given context.
-    if (schema.checkChild(data.modelCursor, 'imageInline')) {
+    const hasDataCaption = consumable.test(viewItem, {
+      name: true,
+      attributes: 'data-caption',
+    });
+
+    // Create image that's allowed in the given context. If the image has a
+    // caption, the image must be created as a block image to ensure the caption
+    // is not lost on conversion. This is based on the assumption that
+    // preserving the image caption is more important to the content creator
+    // than preserving the wrapping element that doesn't allow block images.
+    if (schema.checkChild(data.modelCursor, 'imageInline') && !hasDataCaption) {
       image = writer.createElement('imageInline', {
         src: viewItem.getAttribute('src'),
       });
@@ -279,39 +296,30 @@ function viewImageToModelImage(editor) {
       });
     }
 
+    // The way that image styles are handled here is naive - it assumes that the
+    // image styles are configured exactly as expected by this plugin.
+    // @todo Add support for custom image style configurations
+    //   https://www.drupal.org/i/3270693.
     if (
       editor.plugins.has('ImageStyleEditing') &&
       consumable.test(viewItem, { name: true, attributes: 'data-align' })
     ) {
-      // https://ckeditor.com/docs/ckeditor5/latest/api/module_image_imagestyle_utils.html#constant-defaultStyles
-      const dataToPresentationMapBlock = {
-        left: 'alignBlockLeft',
-        center: 'alignCenter',
-        right: 'alignBlockRight',
-      };
-      const dataToPresentationMapInline = {
-        left: 'alignLeft',
-        right: 'alignRight',
-      };
-
       const dataAlign = viewItem.getAttribute('data-align');
-      const alignment = image.is('element', 'imageBlock')
-        ? dataToPresentationMapBlock[dataAlign]
-        : dataToPresentationMapInline[dataAlign];
+      const mappedAlignment = alignmentMapping.find(
+        (value) => value.dataValue === dataAlign,
+      );
 
-      writer.setAttribute('imageStyle', alignment, image);
+      if (mappedAlignment) {
+        writer.setAttribute('imageStyle', mappedAlignment.modelValue, image);
 
-      // Make sure the attribute can be consumed after successful `safeInsert`
-      // operation.
-      attributesToConsume.push('data-align');
+        // Make sure the attribute can be consumed after successful `safeInsert`
+        // operation.
+        attributesToConsume.push('data-align');
+      }
     }
 
     // Check if the view element has still unconsumed `data-caption` attribute.
-    // Also, we can add caption only to block image.
-    if (
-      image.is('element', 'imageBlock') &&
-      consumable.test(viewItem, { name: true, attributes: 'data-caption' })
-    ) {
+    if (hasDataCaption) {
       // Create `caption` model element. Thanks to that element the rest of the
       // `ckeditor5-plugin` converters can recognize this image as a block image
       // with a caption.
@@ -463,6 +471,7 @@ export default class DrupalImageEditing extends Plugin {
         allowAttributes: [
           'dataEntityUuid',
           'dataEntityType',
+          'isDecorative',
           'width',
           'height',
         ],
@@ -474,6 +483,7 @@ export default class DrupalImageEditing extends Plugin {
         allowAttributes: [
           'dataEntityUuid',
           'dataEntityType',
+          'isDecorative',
           'width',
           'height',
         ],
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/drupalimagealternativetextediting.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/drupalimagealternativetextediting.js
new file mode 100644
index 0000000000..6936e837bf
--- /dev/null
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/drupalimagealternativetextediting.js
@@ -0,0 +1,168 @@
+/* eslint-disable import/no-extraneous-dependencies */
+/* cspell:words imagealternativetext drupalimagealternativetextediting drupalimagetextalternativecommand textalternativemissingview imagetextalternativecommand */
+
+/**
+ * @module drupalImage/imagealternativetext/drupalimagealternativetextediting
+ */
+
+import { Plugin } from 'ckeditor5/src/core';
+import ImageTextAlternativeCommand from '@ckeditor/ckeditor5-image/src/imagetextalternative/imagetextalternativecommand';
+
+/**
+ * The Drupal image alternative text editing plugin.
+ *
+ * Registers the `imageTextAlternative` command.
+ *
+ * @extends module:core/plugin~Plugin
+ *
+ * @internal
+ */
+export default class DrupalImageTextAlternativeEditing extends Plugin {
+  /**
+   * @inheritDoc
+   */
+  static get requires() {
+    return ['ImageUtils'];
+  }
+
+  /**
+   * @inheritDoc
+   */
+  static get pluginName() {
+    return 'DrupalImageAlternativeTextEditing';
+  }
+
+  constructor(editor) {
+    super(editor);
+
+    /**
+     * Keeps references to instances of `TextAlternativeMissingView`.
+     *
+     * @member {Set<module:drupalImage/imagetextalternative/ui/textalternativemissingview~TextAlternativeMissingView>} #_missingAltTextViewReferences
+     * @private
+     */
+    this._missingAltTextViewReferences = new Set();
+  }
+
+  /**
+   * @inheritDoc
+   */
+  init() {
+    const editor = this.editor;
+
+    editor.conversion
+      .for('editingDowncast')
+      .add(this._imageEditingDowncastConverter('attribute:alt', editor))
+      // Including changes to src ensures the converter will execute for images
+      // that do not yet have alt attributes, as we specifically want to add the
+      // missing alt text warning to images without alt attributes.
+      .add(this._imageEditingDowncastConverter('attribute:src', editor));
+
+    editor.commands.add(
+      'imageTextAlternative',
+      new ImageTextAlternativeCommand(this.editor),
+    );
+
+    editor.editing.view.on('render', () => {
+      // eslint-disable-next-line no-restricted-syntax
+      for (const view of this._missingAltTextViewReferences) {
+        // Destroy view instances that are not connected to the DOM to ensure
+        // there are no memory leaks.
+        // https://developer.mozilla.org/en-US/docs/Web/API/Node/isConnected
+        if (!view.button.element.isConnected) {
+          view.destroy();
+          this._missingAltTextViewReferences.delete(view);
+        }
+      }
+    });
+  }
+
+  /**
+   * Helper that generates model to editing view converters to display missing
+   * alt text warning.
+   *
+   * @param {string} eventName
+   *   The name of the event the converter should be attached to.
+   *
+   * @return {function}
+   *   A function that attaches downcast converter to the conversion dispatcher.
+   *
+   * @private
+   */
+  _imageEditingDowncastConverter(eventName) {
+    const converter = (evt, data, conversionApi) => {
+      const editor = this.editor;
+      const imageUtils = editor.plugins.get('ImageUtils');
+      if (!imageUtils.isImage(data.item)) {
+        return;
+      }
+
+      const viewElement = conversionApi.mapper.toViewElement(data.item);
+      const existingWarning = Array.from(viewElement.getChildren()).find(
+        (child) => child.getCustomProperty('drupalImageMissingAltWarning'),
+      );
+      const hasAlt = data.item.hasAttribute('alt');
+
+      if (hasAlt) {
+        // Remove existing warning if alt text is set and there's an existing
+        // warning.
+        if (existingWarning) {
+          conversionApi.writer.remove(existingWarning);
+        }
+        return;
+      }
+
+      // Nothing to do if alt text doesn't exist and there's already an existing
+      // warning.
+      if (existingWarning) {
+        return;
+      }
+
+      const view = editor.ui.componentFactory.create(
+        'drupalImageAlternativeTextMissing',
+      );
+      view.listenTo(editor.ui, 'update', () => {
+        const selectionRange = editor.model.document.selection.getFirstRange();
+        const imageRange = editor.model.createRangeOn(data.item);
+        // Set the view `isSelected` property depending on whether the model
+        // element associated to the view element is in the selection.
+        view.set({
+          isSelected:
+            selectionRange.containsRange(imageRange) ||
+            selectionRange.isIntersecting(imageRange),
+        });
+      });
+      view.render();
+
+      // Add reference to the created view element so that it can be destroyed
+      // when the view is no longer connected.
+      this._missingAltTextViewReferences.add(view);
+
+      const html = conversionApi.writer.createUIElement(
+        'span',
+        {
+          class: 'image-alternative-text-missing-wrapper',
+        },
+        function (domDocument) {
+          const wrapperDomElement = this.toDomElement(domDocument);
+          wrapperDomElement.appendChild(view.element);
+
+          return wrapperDomElement;
+        },
+      );
+
+      conversionApi.writer.setCustomProperty(
+        'drupalImageMissingAltWarning',
+        true,
+        html,
+      );
+      conversionApi.writer.insert(
+        conversionApi.writer.createPositionAt(viewElement, 'end'),
+        html,
+      );
+    };
+    return (dispatcher) => {
+      dispatcher.on(eventName, converter, { priority: 'low' });
+    };
+  }
+}
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/drupalimagealternativetextui.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/drupalimagealternativetextui.js
new file mode 100644
index 0000000000..ac7d83e01f
--- /dev/null
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/drupalimagealternativetextui.js
@@ -0,0 +1,321 @@
+/* eslint-disable import/no-extraneous-dependencies */
+/* cspell:words drupalimagealternativetextui contextualballoon componentfactory imagealternativetextformview missingalternativetextview imagetextalternativeui imagealternativetext */
+
+/**
+ * @module drupalImage/imagealternativetext/drupalimagealternativetextui
+ */
+
+import { Plugin, icons } from 'ckeditor5/src/core';
+import {
+  ButtonView,
+  ContextualBalloon,
+  clickOutsideHandler,
+} from 'ckeditor5/src/ui';
+import {
+  repositionContextualBalloon,
+  getBalloonPositionData,
+} from '@ckeditor/ckeditor5-image/src/image/ui/utils';
+import ImageAlternativeTextFormView from './ui/imagealternativetextformview';
+import MissingAlternativeTextView from './ui/missingalternativetextview';
+
+/**
+ * The Drupal-specific image alternative text UI plugin.
+ *
+ * This plugin is based on a version of the upstream alternative text UI plugin.
+ * This override enhances the UI with a new form element which allows marking
+ * images explicitly as decorative. This plugin also provides a UI component
+ * that can be displayed on images that are missing alternative text.
+ *
+ * The logic related to visibility, positioning, and keystrokes are unchanged
+ * from the upstream implementation.
+ *
+ * The plugin uses the contextual balloon.
+ *
+ * @see module:image/imagetextalternative/imagetextalternativeui~ImageTextAlternativeUI
+ * @see module:ui/panel/balloon/contextualballoon~ContextualBalloon
+ *
+ * @extends module:core/plugin~Plugin
+ *
+ * @internal
+ */
+export default class DrupalImageAlternativeTextUi extends Plugin {
+  /**
+   * @inheritDoc
+   */
+  static get requires() {
+    return [ContextualBalloon];
+  }
+
+  /**
+   * @inheritDoc
+   */
+  static get pluginName() {
+    return 'DrupalImageTextAlternativeUI';
+  }
+
+  /**
+   * @inheritDoc
+   */
+  init() {
+    this._createButton();
+    this._createForm();
+    this._createMissingAltTextComponent();
+
+    if (this.editor.plugins.has('ImageUploadEditing')) {
+      const imageUploadEditing = this.editor.plugins.get('ImageUploadEditing');
+      const imageUtils = this.editor.plugins.get('ImageUtils');
+      imageUploadEditing.on('uploadComplete', () => {
+        // Show form after upload if there's image widget in the current
+        // selection.
+        if (
+          imageUtils.getClosestSelectedImageWidget(
+            this.editor.editing.view.document.selection,
+          )
+        ) {
+          this._showForm();
+        }
+      });
+    }
+  }
+
+  /**
+   * Creates a missing alt text view which can be displayed within image widgets
+   * where the image is missing alt text.
+   *
+   * The component is registered in the editor component factory.
+   *
+   * @see module:ui/componentfactory~ComponentFactory
+   *
+   * @private
+   */
+  _createMissingAltTextComponent() {
+    this.editor.ui.componentFactory.add(
+      'drupalImageAlternativeTextMissing',
+      (locale) => {
+        const view = new MissingAlternativeTextView(locale);
+        view.listenTo(view.button, 'execute', () => {
+          // If the form is already in the balloon, it needs to be removed to
+          // avoid having multiple instances of the form in the balloon. This
+          // happens only in the edge case where this event is executed while
+          // the form is still in the balloon.
+          if (this._isInBalloon) {
+            this._balloon.remove(this._form);
+          }
+          this._showForm();
+        });
+        view.listenTo(this.editor.ui, 'update', () => {
+          view.set({ isVisible: !this._isVisible || !view.isSelected });
+        });
+        return view;
+      },
+    );
+  }
+
+  /**
+   * @inheritDoc
+   */
+  destroy() {
+    super.destroy();
+
+    // Destroy created UI components as they are not automatically destroyed
+    // @see https://github.com/ckeditor/ckeditor5/issues/1341
+    this._form.destroy();
+  }
+
+  /**
+   * Creates a button showing the balloon panel for changing the image text
+   * alternative and registers it in the editor component factory.
+   *
+   * @see module:ui/componentfactory~ComponentFactory
+   *
+   * @private
+   */
+  _createButton() {
+    const editor = this.editor;
+    editor.ui.componentFactory.add('drupalImageAlternativeText', (locale) => {
+      const command = editor.commands.get('imageTextAlternative');
+      const view = new ButtonView(locale);
+
+      view.set({
+        label: Drupal.t('Change image alternative text'),
+        icon: icons.lowVision,
+        tooltip: true,
+      });
+
+      view.bind('isEnabled').to(command, 'isEnabled');
+
+      this.listenTo(view, 'execute', () => {
+        this._showForm();
+      });
+
+      return view;
+    });
+  }
+
+  /**
+   * Creates the text alternative form view.
+   *
+   * @private
+   */
+  _createForm() {
+    const editor = this.editor;
+    const view = editor.editing.view;
+    const viewDocument = view.document;
+    const imageUtils = editor.plugins.get('ImageUtils');
+
+    /**
+     * The contextual balloon plugin instance.
+     *
+     * @private
+     * @member {module:ui/panel/balloon/contextualballoon~ContextualBalloon}
+     */
+    this._balloon = this.editor.plugins.get('ContextualBalloon');
+
+    /**
+     * A form used for changing the `alt` text value.
+     *
+     * @member {module:drupalImage/imagetextalternative/ui/imagealternativetextformview~ImageAlternativeTextFormView}
+     */
+    this._form = new ImageAlternativeTextFormView(editor.locale);
+
+    // Render the form so its #element is available for clickOutsideHandler.
+    this._form.render();
+
+    this.listenTo(this._form, 'submit', () => {
+      editor.execute('imageTextAlternative', {
+        newValue: this._form.decorativeToggle.isOn
+          ? ''
+          : this._form.labeledInput.fieldView.element.value,
+      });
+
+      this._hideForm(true);
+    });
+
+    this.listenTo(this._form, 'cancel', () => {
+      this._hideForm(true);
+    });
+
+    // Reposition the toolbar when the decorative toggle is executed because
+    // it has an impact on the form size.
+    this.listenTo(this._form.decorativeToggle, 'execute', () => {
+      repositionContextualBalloon(editor);
+    });
+
+    // Close the form on Esc key press.
+    this._form.keystrokes.set('Esc', (data, cancel) => {
+      this._hideForm(true);
+      cancel();
+    });
+
+    // Reposition the balloon or hide the form if an image widget is no longer
+    // selected.
+    this.listenTo(editor.ui, 'update', () => {
+      if (!imageUtils.getClosestSelectedImageWidget(viewDocument.selection)) {
+        this._hideForm(true);
+      } else if (this._isVisible) {
+        repositionContextualBalloon(editor);
+      }
+    });
+
+    // Close on click outside of balloon panel element.
+    clickOutsideHandler({
+      emitter: this._form,
+      activator: () => this._isVisible,
+      contextElements: [this._balloon.view.element],
+      callback: () => this._hideForm(),
+    });
+  }
+
+  /**
+   * Shows the form in the balloon.
+   *
+   * @private
+   */
+  _showForm() {
+    if (this._isVisible) {
+      return;
+    }
+
+    const editor = this.editor;
+    const command = editor.commands.get('imageTextAlternative');
+    const decorativeToggle = this._form.decorativeToggle;
+    const labeledInput = this._form.labeledInput;
+
+    this._form.disableCssTransitions();
+
+    if (!this._isInBalloon) {
+      this._balloon.add({
+        view: this._form,
+        position: getBalloonPositionData(editor),
+      });
+    }
+
+    decorativeToggle.isOn = command.value === '';
+
+    // Make sure that each time the panel shows up, the field remains in sync
+    // with the value of the command. If the user typed in the input, then
+    // canceled the balloon (`labeledInput#value` stays unaltered) and re-opened
+    // it without changing the value of the command, they would see the old
+    // value instead of the actual value of the command.
+    // https://github.com/ckeditor/ckeditor5-image/issues/114
+    labeledInput.fieldView.element.value = command.value || '';
+    labeledInput.fieldView.value = labeledInput.fieldView.element.value;
+
+    if (!decorativeToggle.isOn) {
+      labeledInput.fieldView.select();
+    } else {
+      decorativeToggle.focus();
+    }
+
+    this._form.enableCssTransitions();
+  }
+
+  /**
+   * Removes the form from the balloon.
+   *
+   * @param {Boolean} [focusEditable=false]
+   *   Controls whether the editing view is focused afterwards.
+   *
+   * @private
+   */
+  _hideForm(focusEditable) {
+    if (!this._isInBalloon) {
+      return;
+    }
+
+    // Blur the input element before removing it from DOM to prevent issues in
+    // some browsers.
+    // See https://github.com/ckeditor/ckeditor5/issues/1501.
+    if (this._form.focusTracker.isFocused) {
+      this._form.saveButtonView.focus();
+    }
+
+    this._balloon.remove(this._form);
+
+    if (focusEditable) {
+      this.editor.editing.view.focus();
+    }
+  }
+
+  /**
+   * Returns `true` when the form is the visible view in the balloon.
+   *
+   * @type {Boolean}
+   *
+   * @private
+   */
+  get _isVisible() {
+    return this._balloon.visibleView === this._form;
+  }
+
+  /**
+   * Returns `true` when the form is in the balloon.
+   *
+   * @type {Boolean}
+   *
+   * @private
+   */
+  get _isInBalloon() {
+    return this._balloon.hasView(this._form);
+  }
+}
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/ui/imagealternativetextformview.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/ui/imagealternativetextformview.js
new file mode 100644
index 0000000000..553646606b
--- /dev/null
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/ui/imagealternativetextformview.js
@@ -0,0 +1,279 @@
+/* eslint-disable import/no-extraneous-dependencies */
+/* cspell:words focustracker keystrokehandler labeledfield labeledfieldview buttonview viewcollection focusables focuscycler switchbuttonview imagealternativetextformview imagealternativetext */
+
+/**
+ * @module drupalImage/imagealternativetext/ui/imagealternativetextformview
+ */
+
+import {
+  ButtonView,
+  FocusCycler,
+  LabeledFieldView,
+  SwitchButtonView,
+  View,
+  ViewCollection,
+  createLabeledInputText,
+  injectCssTransitionDisabler,
+  submitHandler,
+} from 'ckeditor5/src/ui';
+import { FocusTracker, KeystrokeHandler } from 'ckeditor5/src/utils';
+import { icons } from 'ckeditor5/src/core';
+
+/**
+ * A class rendering alternative text form view.
+ *
+ * @extends module:ui/view~View
+ *
+ * @internal
+ */
+export default class ImageAlternativeTextFormView extends View {
+  /**
+   * @inheritDoc
+   */
+  constructor(locale) {
+    super(locale);
+
+    /**
+     * Tracks information about the DOM focus in the form.
+     *
+     * @readonly
+     * @member {module:utils/focustracker~FocusTracker}
+     */
+    this.focusTracker = new FocusTracker();
+
+    /**
+     * An instance of the {@link module:utils/keystrokehandler~KeystrokeHandler}.
+     *
+     * @readonly
+     * @member {module:utils/keystrokehandler~KeystrokeHandler}
+     */
+    this.keystrokes = new KeystrokeHandler();
+
+    /**
+     * A toggle for marking the image as decorative.
+     *
+     * @member {module:ui/button/switchbuttonview~SwitchButtonView} #decorativeToggle
+     */
+    this.decorativeToggle = this._decorativeToggleView();
+
+    /**
+     * An input with a label.
+     *
+     * @member {module:ui/labeledfield/labeledfieldview~LabeledFieldView} #labeledInput
+     */
+    this.labeledInput = this._createLabeledInputView();
+
+    /**
+     * A button used to submit the form.
+     *
+     * @member {module:ui/button/buttonview~ButtonView} #saveButtonView
+     */
+    this.saveButtonView = this._createButton(
+      Drupal.t('Save'),
+      icons.check,
+      'ck-button-save',
+    );
+    this.saveButtonView.type = 'submit';
+    // Save button is disabled when image is not decorative and alt text is
+    // empty.
+    this.saveButtonView
+      .bind('isEnabled')
+      .to(
+        this.decorativeToggle,
+        'isOn',
+        this.labeledInput,
+        'isEmpty',
+        (isDecorativeToggleOn, isLabeledInputEmpty) =>
+          isDecorativeToggleOn || !isLabeledInputEmpty,
+      );
+
+    /**
+     * A button used to cancel the form.
+     *
+     * @member {module:ui/button/buttonview~ButtonView} #cancelButtonView
+     */
+    this.cancelButtonView = this._createButton(
+      Drupal.t('Cancel'),
+      icons.cancel,
+      'ck-button-cancel',
+      'cancel',
+    );
+
+    /**
+     * A collection of views which can be focused in the form.
+     *
+     * @member {module:ui/viewcollection~ViewCollection}
+     *
+     * @readonly
+     * @protected
+     */
+    this._focusables = new ViewCollection();
+
+    /**
+     * Helps cycling over focusables in the form.
+     *
+     * @member {module:ui/focuscycler~FocusCycler}
+     *
+     * @readonly
+     * @protected
+     */
+    this._focusCycler = new FocusCycler({
+      focusables: this._focusables,
+      focusTracker: this.focusTracker,
+      keystrokeHandler: this.keystrokes,
+      actions: {
+        // Navigate form fields backwards using the Shift + Tab keystroke.
+        focusPrevious: 'shift + tab',
+
+        // Navigate form fields forwards using the Tab key.
+        focusNext: 'tab',
+      },
+    });
+
+    this.setTemplate({
+      tag: 'form',
+
+      attributes: {
+        class: [
+          'ck',
+          'ck-text-alternative-form',
+          'ck-text-alternative-form--with-decorative-toggle',
+          'ck-responsive-form',
+        ],
+
+        // https://github.com/ckeditor/ckeditor5-image/issues/40
+        tabindex: '-1',
+      },
+
+      children: [
+        {
+          tag: 'div',
+          attributes: {
+            class: ['ck', 'ck-text-alternative-form__decorative-toggle'],
+          },
+          children: [this.decorativeToggle],
+        },
+        this.labeledInput,
+        this.saveButtonView,
+        this.cancelButtonView,
+      ],
+    });
+
+    injectCssTransitionDisabler(this);
+  }
+
+  /**
+   * @inheritDoc
+   */
+  render() {
+    super.render();
+
+    this.keystrokes.listenTo(this.element);
+
+    submitHandler({ view: this });
+
+    [
+      this.decorativeToggle,
+      this.labeledInput,
+      this.saveButtonView,
+      this.cancelButtonView,
+    ].forEach((v) => {
+      // Register the view as focusable.
+      this._focusables.add(v);
+
+      // Register the view in the focus tracker.
+      this.focusTracker.add(v.element);
+    });
+  }
+
+  /**
+   * @inheritDoc
+   */
+  destroy() {
+    super.destroy();
+
+    this.focusTracker.destroy();
+    this.keystrokes.destroy();
+  }
+
+  /**
+   * Creates the button view.
+   *
+   * @param {String} label
+   *   The button label
+   * @param {String} icon
+   *   The button's icon.
+   * @param {String} className
+   *   The additional button CSS class name.
+   * @param {String} [eventName]
+   *   The event name that the ButtonView#execute event will be delegated to.
+   * @returns {module:ui/button/buttonview~ButtonView}
+   *   The button view instance.
+   *
+   * @private
+   */
+  _createButton(label, icon, className, eventName) {
+    const button = new ButtonView(this.locale);
+
+    button.set({
+      label,
+      icon,
+      tooltip: true,
+    });
+
+    button.extendTemplate({
+      attributes: {
+        class: className,
+      },
+    });
+
+    if (eventName) {
+      button.delegate('execute').to(this, eventName);
+    }
+
+    return button;
+  }
+
+  /**
+   * Creates an input with a label.
+   *
+   * @returns {module:ui/labeledfield/labeledfieldview~LabeledFieldView}
+   *   Labeled field view instance.
+   *
+   * @private
+   */
+  _createLabeledInputView() {
+    const labeledInput = new LabeledFieldView(
+      this.locale,
+      createLabeledInputText,
+    );
+
+    labeledInput
+      .bind('class')
+      .to(this.decorativeToggle, 'isOn', (value) => (value ? 'ck-hidden' : ''));
+    labeledInput.label = Drupal.t('Text alternative');
+
+    return labeledInput;
+  }
+
+  /**
+   * Creates a decorative image toggle view.
+   *
+   * @return {module:ui/button/switchbuttonview~SwitchButtonView}
+   *   Decorative image toggle view instance.
+   *
+   * @private
+   */
+  _decorativeToggleView() {
+    const decorativeToggle = new SwitchButtonView(this.locale);
+    decorativeToggle.set({
+      withText: true,
+      label: Drupal.t('Decorative image'),
+    });
+    decorativeToggle.on('execute', () => {
+      decorativeToggle.set('isOn', !decorativeToggle.isOn);
+    });
+
+    return decorativeToggle;
+  }
+}
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/ui/missingalternativetextview.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/ui/missingalternativetextview.js
new file mode 100644
index 0000000000..b67c233994
--- /dev/null
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalImage/src/imagealternativetext/ui/missingalternativetextview.js
@@ -0,0 +1,48 @@
+/* eslint-disable import/no-extraneous-dependencies */
+/* cspell:words imagetextalternative missingalternativetextview imagealternativetext */
+
+import { View, ButtonView } from 'ckeditor5/src/ui';
+
+/**
+ * @module drupalImage/imagealternativetext/ui/missingalternativetextview
+ */
+
+/**
+ * A class rendering missing alt text view.
+ *
+ * @extends module:ui/view~View
+ *
+ * @internal
+ */
+export default class MissingAlternativeTextView extends View {
+  /**
+   * @inheritDoc
+   */
+  constructor(locale) {
+    super(locale);
+
+    const bind = this.bindTemplate;
+    this.set('isVisible');
+    this.set('isSelected');
+
+    const label = Drupal.t('Add missing alternative text');
+    this.button = new ButtonView(locale);
+    this.button.set({
+      label,
+      tooltip: false,
+      withText: true,
+    });
+
+    this.setTemplate({
+      tag: 'span',
+      attributes: {
+        class: [
+          'image-alternative-text-missing',
+          bind.to('isVisible', (value) => (value ? '' : 'ck-hidden')),
+        ],
+        title: label,
+      },
+      children: [this.button],
+    });
+  }
+}
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/drupalelementstylecommand.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/drupalelementstylecommand.js
index bffb290f55..ecaf3bef3f 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/drupalelementstylecommand.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/drupalelementstylecommand.js
@@ -20,14 +20,27 @@ import { Command } from 'ckeditor5/src/core';
 function getClosestElementWithElementStyleAttribute(selection, schema) {
   const selectedElement = selection.getSelectedElement();
 
-  return selectedElement &&
+  if (
+    selectedElement &&
     schema.checkAttribute(selectedElement, 'drupalElementStyle')
-    ? selectedElement
-    : selection
-        .getFirstPosition()
-        .findAncestor((element) =>
-          schema.checkAttribute(element, 'drupalElementStyle'),
-        );
+  ) {
+    return selectedElement;
+  }
+
+  let parent = selection.getFirstPosition().parent;
+
+  while (parent) {
+    if (
+      parent.is('element') &&
+      schema.checkAttribute(parent, 'drupalElementStyle')
+    ) {
+      return parent;
+    }
+
+    parent = parent.parent;
+  }
+
+  return null;
 }
 
 /**
@@ -69,10 +82,25 @@ export default class DrupalElementStyleCommand extends Command {
 
     this.isEnabled = !!element;
 
-    if (!this.isEnabled) {
-      this.value = false;
-    } else if (element.hasAttribute('drupalElementStyle')) {
+    if (this.isEnabled) {
       this.value = element.getAttribute('drupalElementStyle');
+
+      // If value is falsy, check if there is a default style to apply to the
+      // element.
+      if (!this.value) {
+        // eslint-disable-next-line no-restricted-syntax
+        for (const [name, style] of this._styles.entries()) {
+          if (style.isDefault) {
+            const appliesToCurrentElement = style.modelElements.find(
+              (modelElement) => element.is('element', modelElement),
+            );
+            if (appliesToCurrentElement) {
+              this.value = name;
+              break;
+            }
+          }
+        }
+      }
     } else {
       this.value = false;
     }
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/drupalelementstyleediting.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/drupalelementstyleediting.js
index 269c0a3e65..2b28811c27 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/drupalelementstyleediting.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalelementstyle/drupalelementstyleediting.js
@@ -209,7 +209,10 @@ export default class DrupalElementStyleEditing extends Plugin {
         return style;
       })
       .filter((style) => {
-        if (!style.attributeName || !style.attributeValue) {
+        if (
+          !style.isDefault &&
+          (!style.attributeName || !style.attributeValue)
+        ) {
           console.warn(
             'drupalElementStyles options must include attributeName and attributeValue.',
           );
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmediaediting.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmediaediting.js
index 1770fdd617..c4d2ccd7b9 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmediaediting.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmediaediting.js
@@ -1,6 +1,8 @@
 /* eslint-disable import/no-extraneous-dependencies */
-/* cspell:words drupallinkmediaediting linkediting */
+/* cspell:words drupallinkmediaediting linkediting linkimageediting linkcommand */
 import { Plugin } from 'ckeditor5/src/core';
+import { Matcher } from 'ckeditor5/src/engine';
+import { toMap } from 'ckeditor5/src/utils';
 
 /**
  * Returns the first drupal-media element in a given view element.
@@ -38,7 +40,7 @@ function upcastMediaLink() {
 
         // There's an <drupal-media> inside an <a> element - we consume it so it
         // won't be picked up by the Link plugin.
-        const consumableAttributes = { attributes: ['href'] };
+        const consumableAttributes = { attributes: ['href'], name: true };
 
         // Consume the `href` attribute so the default one will not convert it to
         // $text attribute.
@@ -192,6 +194,128 @@ function editingDowncastMediaLink() {
   };
 }
 
+/**
+ * Returns a converter that enables manual decorators on linked Drupal Media.
+ *
+ * @see \Drupal\editor\EditorXssFilter\Standard
+ *
+ * @param {module:link/link~LinkDecoratorDefinition} decorator
+ *   The link decorator.
+ * @return {function}
+ *   Function attaching event listener to dispatcher.
+ *
+ * @private
+ */
+function downcastMediaLinkManualDecorator(decorator) {
+  return (dispatcher) => {
+    dispatcher.on(
+      `attribute:${decorator.id}:drupalMedia`,
+      (evt, data, conversionApi) => {
+        const mediaContainer = conversionApi.mapper.toViewElement(data.item);
+
+        // Scenario 1: `<figure>` element that contains `<a>`, generated by
+        // `dataDowncast`.
+        let mediaLink = Array.from(mediaContainer.getChildren()).find(
+          (child) => child.name === 'a',
+        );
+
+        // Scenario 2: `<drupal-media>` wrapped with `<a>`, generated by
+        // `editingDowncast`.
+        if (!mediaLink && mediaContainer.is('element', 'a')) {
+          mediaLink = mediaContainer;
+        } else {
+          mediaLink = Array.from(mediaContainer.getAncestors()).find(
+            (ancestor) => ancestor.name === 'a',
+          );
+        }
+
+        // The <a> element was removed by the time this converter is executed.
+        // It may happen when the base `linkHref` and decorator attributes are
+        // removed at the same time.
+        if (!mediaLink) {
+          return;
+        }
+
+        // eslint-disable-next-line no-restricted-syntax
+        for (const [key, val] of toMap(decorator.attributes)) {
+          conversionApi.writer.setAttribute(key, val, mediaLink);
+        }
+
+        if (decorator.classes) {
+          conversionApi.writer.addClass(decorator.classes, mediaLink);
+        }
+
+        // Add support for `style` attribute in manual decorators to remain
+        // consistent with CKEditor 5. This only works with text formats that
+        // have no HTMl filtering enabled.
+        // eslint-disable-next-line no-restricted-syntax
+        for (const key in decorator.styles) {
+          if (Object.prototype.hasOwnProperty.call(decorator.styles, key)) {
+            conversionApi.writer.setStyle(
+              key,
+              decorator.styles[key],
+              mediaLink,
+            );
+          }
+        }
+      },
+    );
+  };
+}
+
+/**
+ * Returns a converter that applies manual decorators to linked Drupal Media.
+ *
+ * @param {module:core/editor/editor~Editor} editor
+ *   The editor.
+ * @param {module:link/link~LinkDecoratorDefinition} decorator
+ *   The link decorator.
+ * @return {function}
+ *   Function attaching event listener to dispatcher.
+ *
+ * @private
+ */
+function upcastMediaLinkManualDecorator(editor, decorator) {
+  return (dispatcher) => {
+    dispatcher.on(
+      'element:a',
+      (evt, data, conversionApi) => {
+        const viewLink = data.viewItem;
+        const drupalMediaInLink = getFirstMedia(viewLink);
+
+        // We need to check whether Drupal Media is inside a link because the
+        // converter handles only manual decorators for linked Drupal Media.
+        if (!drupalMediaInLink) {
+          return;
+        }
+
+        const matcher = new Matcher(decorator._createPattern());
+        const result = matcher.match(viewLink);
+
+        // The link element does not have required attributes or/and proper
+        // values.
+        if (!result) {
+          return;
+        }
+
+        // Check whether we can consume those attributes.
+        if (!conversionApi.consumable.consume(viewLink, result.match)) {
+          return;
+        }
+
+        // At this stage we can assume that we have the `<drupalMedia>` element.
+        const modelElement = data.modelCursor.nodeBefore;
+
+        conversionApi.writer.setAttribute(decorator.id, true, modelElement);
+      },
+      { priority: 'high' },
+    );
+    // Using the same priority as the media link upcast converter guarantees
+    // that the linked `<drupalMedia>` was already converted.
+    // @see upcastMediaLink().
+  };
+}
+
 /**
  * Model to view and view to model conversions for linked media elements.
  *
@@ -226,5 +350,35 @@ export default class DrupalLinkMediaEditing extends Plugin {
     editor.conversion.for('upcast').add(upcastMediaLink());
     editor.conversion.for('editingDowncast').add(editingDowncastMediaLink());
     editor.conversion.for('dataDowncast').add(dataDowncastMediaLink());
+
+    this._enableManualDecorators();
+  }
+
+  /**
+   * Processes transformed manual link decorators and attaches proper converters
+   * that will work when linking Drupal Media.
+   *
+   * @see module:link/linkimageediting~LinkImageEditing
+   * @see module:link/linkcommand~LinkCommand
+   * @see module:link/utils~ManualDecorator
+   *
+   * @private
+   */
+  _enableManualDecorators() {
+    const editor = this.editor;
+    const command = editor.commands.get('link');
+
+    // eslint-disable-next-line no-restricted-syntax
+    for (const decorator of command.manualDecorators) {
+      editor.model.schema.extend('drupalMedia', {
+        allowAttributes: decorator.id,
+      });
+      editor.conversion
+        .for('downcast')
+        .add(downcastMediaLinkManualDecorator(decorator));
+      editor.conversion
+        .for('upcast')
+        .add(upcastMediaLinkManualDecorator(editor, decorator));
+    }
   }
 }
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/drupalmediacaptioncommand.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/drupalmediacaptioncommand.js
index a735b6ab86..fbdd45e455 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/drupalmediacaptioncommand.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/drupalmediacaptioncommand.js
@@ -1,7 +1,8 @@
 /* eslint-disable import/no-extraneous-dependencies */
 /* cspell:words imagecaption */
 import { Command } from 'ckeditor5/src/core';
-import { isDrupalMedia } from '../utils';
+import { getClosestSelectedDrupalMediaElement, isDrupalMedia } from '../utils';
+import { getMediaCaptionFromModelSelection } from './utils';
 
 /**
  * Gets the caption model element from the media model selection.
@@ -12,7 +13,7 @@ import { isDrupalMedia } from '../utils';
  *   The caption element or `null` if the selection has no child caption
  *   element.
  */
-export function getCaptionFromDrupalMediaModelElement(drupalMediaModelElement) {
+function getCaptionFromDrupalMediaModelElement(drupalMediaModelElement) {
   // eslint-disable-next-line no-restricted-syntax
   for (const node of drupalMediaModelElement.getChildren()) {
     if (!!node && node.is('element', 'caption')) {
@@ -42,14 +43,31 @@ export default class ToggleDrupalMediaCaptionCommand extends Command {
    * @inheritDoc
    */
   refresh() {
-    const element = this.editor.model.document.selection.getSelectedElement();
+    const selection = this.editor.model.document.selection;
+    const selectedElement = selection.getSelectedElement();
 
-    this.isEnabled = isDrupalMedia(element);
+    // When selectedElement is falsy, it is potentially due to multiple elements
+    // being selected, such as elements that descend from `<drupalMedia>`.
+    if (!selectedElement) {
+      // Command should be enabled if `<drupalMedia>` element is part of the
+      // selection.
+      this.isEnabled = !!getClosestSelectedDrupalMediaElement(selection);
+      // Check if the selection descends from a `<drupalMedia>` element that
+      // also includes a `<caption>`.
+      this.value = !!getMediaCaptionFromModelSelection(selection);
+
+      return;
+    }
+
+    // If single element is selected, check if it's a `<drupalMedia>` element.
+    this.isEnabled = isDrupalMedia(selectedElement);
 
     if (!this.isEnabled) {
       this.value = false;
     } else {
-      this.value = !!getCaptionFromDrupalMediaModelElement(element);
+      // Command value is set based on whether the selected `<drupalMedia>`
+      // element has a `<caption>` as a child element.
+      this.value = !!getCaptionFromDrupalMediaModelElement(selectedElement);
     }
   }
 
@@ -97,7 +115,7 @@ export default class ToggleDrupalMediaCaptionCommand extends Command {
     const mediaCaptionEditing = this.editor.plugins.get(
       'DrupalMediaCaptionEditing',
     );
-    const selectedMedia = selection.getSelectedElement();
+    const selectedMedia = getClosestSelectedDrupalMediaElement(selection);
     const savedCaption = mediaCaptionEditing._getSavedCaption(selectedMedia);
 
     // Try restoring the caption from the DrupalMediaCaptionEditing plugin storage.
@@ -123,17 +141,20 @@ export default class ToggleDrupalMediaCaptionCommand extends Command {
     const editor = this.editor;
     const selection = editor.model.document.selection;
     const mediaCaptionEditing = editor.plugins.get('DrupalMediaCaptionEditing');
-    const selectedMedia = selection.getSelectedElement();
+    let selectedElement = selection.getSelectedElement();
+    let captionElement;
 
-    if (selectedMedia) {
-      const captionElement =
-        getCaptionFromDrupalMediaModelElement(selectedMedia);
-
-      // Store the caption content so it can be restored quickly if the user
-      // changes their mind.
-      mediaCaptionEditing._saveCaption(selectedMedia, captionElement);
-      writer.setSelection(selectedMedia, 'on');
-      writer.remove(captionElement);
+    if (selectedElement) {
+      captionElement = getCaptionFromDrupalMediaModelElement(selectedElement);
+    } else {
+      captionElement = getMediaCaptionFromModelSelection(selection);
+      selectedElement = getClosestSelectedDrupalMediaElement(selection);
     }
+
+    // Store the caption content so it can be restored quickly if the user
+    // changes their mind.
+    mediaCaptionEditing._saveCaption(selectedElement, captionElement);
+    writer.setSelection(selectedElement, 'on');
+    writer.remove(captionElement);
   }
 }
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/drupalmediacaptionui.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/drupalmediacaptionui.js
index d6a7a55f72..4c9e53f244 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/drupalmediacaptionui.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/drupalmediacaptionui.js
@@ -1,6 +1,7 @@
 /* eslint-disable import/no-extraneous-dependencies */
 import { Plugin, icons } from 'ckeditor5/src/core';
 import { ButtonView } from 'ckeditor5/src/ui';
+import { getMediaCaptionFromModelSelection } from './utils';
 
 /**
  * The caption media UI plugin.
@@ -53,9 +54,9 @@ export default class DrupalMediaCaptionUI extends Plugin {
         editor.execute('toggleMediaCaption', { focusCaptionOnShow: true });
 
         // If a caption is present, highlight it and scroll to the selection.
-        const modelCaptionElement = editor.model.document.selection
-          .getFirstPosition()
-          .findAncestor('caption');
+        const modelCaptionElement = getMediaCaptionFromModelSelection(
+          editor.model.document.selection,
+        );
         if (modelCaptionElement) {
           const figcaptionElement =
             editor.editing.mapper.toViewElement(modelCaptionElement);
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/utils.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/utils.js
new file mode 100644
index 0000000000..14e632ff1f
--- /dev/null
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediacaption/utils.js
@@ -0,0 +1,25 @@
+/* eslint-disable import/prefer-default-export */
+import { isDrupalMedia } from '../utils';
+
+/**
+ * Returns the Media caption model element for a model selection.
+ *
+ * @param {module:engine/model/selection~Selection} selection
+ *   The current selection.
+ * @returns {module:engine/model/element~Element|null}
+ *   The Drupal Media caption element for a model selection. Returns null if the
+ *   selection has no Drupal Media caption element ancestor.
+ */
+export function getMediaCaptionFromModelSelection(selection) {
+  const captionElement = selection.getFirstPosition().findAncestor('caption');
+
+  if (!captionElement) {
+    return null;
+  }
+
+  if (isDrupalMedia(captionElement.parent)) {
+    return captionElement;
+  }
+
+  return null;
+}
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediaediting.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediaediting.js
index 454de1886f..9e3fe6ce11 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediaediting.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediaediting.js
@@ -90,8 +90,13 @@ export default class DrupalMediaEditing extends Plugin {
       allowWhere: '$block',
       isObject: true,
       isContent: true,
+      isBlock: true,
       allowAttributes: Object.keys(this.attrs),
     });
+    // Register `<drupal-media>` as a block element in the DOM converter. This
+    // ensures that the DOM converter knows to handle the `<drupal-media>` as a
+    // block element.
+    this.editor.editing.view.domConverter.blockElements.push('drupal-media');
   }
 
   _defineConverters() {
@@ -273,21 +278,30 @@ export default class DrupalMediaEditing extends Plugin {
    *   The drupalMedia model element to be converted.
    * @return {string}
    *   The model element converted into HTML.
-   *
-   * @todo: is there a better way to get the rendered dataDowncast string
-   *   https://www.drupal.org/project/ckeditor5/issues/3231337?
    */
   _renderElement(modelElement) {
-    const attrs = modelElement.getAttributes();
-    let element = '<drupal-media';
-    Array.from(attrs).forEach((attr) => {
-      if (this.attrs[attr[0]] && attr[0] !== 'drupalMediaCaption') {
-        element += ` ${this.attrs[attr[0]]}="${attr[1]}"`;
-      }
+    // Create model document fragment which contains the model element so that
+    // it can be stringified using the dataDowncast.
+    const modelDocumentFragment = this.editor.model.change((writer) => {
+      const modelDocumentFragment = writer.createDocumentFragment();
+      // Create shallow clone of the model element to ensure that the original
+      // model element remains untouched and that the caption is not rendered
+      // into the preview.
+      const clonedModelElement = writer.cloneElement(modelElement, false);
+      // Remove attributes from the model element to ensure they are not
+      // downcast into the preview request. For example, the `linkHref` model
+      // attribute would downcast into a wrapping `<a>` element, which the
+      // preview endpoint would not be able to handle.
+      const attributeIgnoreList = ['linkHref'];
+      attributeIgnoreList.forEach((attribute) => {
+        writer.removeAttribute(attribute, clonedModelElement);
+      });
+      writer.append(clonedModelElement, modelDocumentFragment);
+
+      return modelDocumentFragment;
     });
-    element += '></drupal-media>';
 
-    return element;
+    return this.editor.data.stringify(modelDocumentFragment);
   }
 
   /**
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediageneralhtmlsupport.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediageneralhtmlsupport.js
index b19a92267c..4c8639ba06 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediageneralhtmlsupport.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediageneralhtmlsupport.js
@@ -127,15 +127,6 @@ function modelToEditingViewAttributeConverter() {
       },
       { priority: 'low' },
     );
-
-    // Render arbitrary attributes on the CKEditor 5 widget wrapper until
-    // arbitrary attributes are included as part of the server rendered preview.
-    // @see https://www.drupal.org/project/drupal/issues/3231337
-    dispatcher.on(
-      'attribute:htmlAttributes:drupalMedia',
-      modelToDataAttributeConverter,
-      { priority: 'low' },
-    );
   };
 }
 
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediatoolbar.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediatoolbar.js
index 3a7ecb461c..4356ef3cc6 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediatoolbar.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupalmediatoolbar.js
@@ -3,7 +3,7 @@
 import { Plugin } from 'ckeditor5/src/core';
 import { WidgetToolbarRepository } from 'ckeditor5/src/widget';
 
-import { getSelectedDrupalMediaWidget, isObject } from './utils';
+import { getClosestSelectedDrupalMediaWidget, isObject } from './utils';
 
 /**
  * @module drupalMedia/drupalmediatoolbar
@@ -47,7 +47,8 @@ export default class DrupalMediaToolbar extends Plugin {
         normalizeDeclarativeConfig(editor.config.get('drupalMedia.toolbar')) ||
         [],
       // Get the selected image or an image containing the figcaption with the selection inside.
-      getRelatedElement: (selection) => getSelectedDrupalMediaWidget(selection),
+      getRelatedElement: (selection) =>
+        getClosestSelectedDrupalMediaWidget(selection),
     });
   }
 }
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativecommand.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativecommand.js
index 2caacc9fa4..896cedae24 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativecommand.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativecommand.js
@@ -1,6 +1,6 @@
 /* eslint-disable import/no-extraneous-dependencies */
 import { Command } from 'ckeditor5/src/core';
-import { isDrupalMedia } from '../utils';
+import { getClosestSelectedDrupalMediaElement } from '../utils';
 import { METADATA_ERROR } from './utils';
 
 /**
@@ -18,14 +18,16 @@ export default class MediaImageTextAlternativeCommand extends Command {
    * @inheritDoc
    */
   refresh() {
-    const element = this.editor.model.document.selection.getSelectedElement();
+    const drupalMediaElement = getClosestSelectedDrupalMediaElement(
+      this.editor.model.document.selection,
+    );
     this.isEnabled =
-      isDrupalMedia(element) &&
-      element.getAttribute('drupalMediaIsImage') &&
-      element.getAttribute('drupalMediaIsImage') !== METADATA_ERROR;
+      !!drupalMediaElement &&
+      drupalMediaElement.getAttribute('drupalMediaIsImage') &&
+      drupalMediaElement.getAttribute('drupalMediaIsImage') !== METADATA_ERROR;
 
-    if (isDrupalMedia(element) && element.hasAttribute('drupalMediaAlt')) {
-      this.value = element.getAttribute('drupalMediaAlt');
+    if (this.isEnabled) {
+      this.value = drupalMediaElement.getAttribute('drupalMediaAlt');
     } else {
       this.value = false;
     }
@@ -40,14 +42,20 @@ export default class MediaImageTextAlternativeCommand extends Command {
    */
   execute(options) {
     const { model } = this.editor;
-    const imageElement = model.document.selection.getSelectedElement();
+    const drupalMediaElement = getClosestSelectedDrupalMediaElement(
+      model.document.selection,
+    );
 
     options.newValue = options.newValue.trim();
     model.change((writer) => {
       if (options.newValue.length > 0) {
-        writer.setAttribute('drupalMediaAlt', options.newValue, imageElement);
+        writer.setAttribute(
+          'drupalMediaAlt',
+          options.newValue,
+          drupalMediaElement,
+        );
       } else {
-        writer.removeAttribute('drupalMediaAlt', imageElement);
+        writer.removeAttribute('drupalMediaAlt', drupalMediaElement);
       }
     });
   }
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativeediting.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativeediting.js
index 2321f4dc28..864432018d 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativeediting.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativeediting.js
@@ -55,9 +55,8 @@ export default class MediaImageTextAlternativeEditing extends Plugin {
           // promise was resolved.
           return;
         }
-        // Enqueue a model change in `transparent` batch to make it
-        // invisible to the undo/redo functionality.
-        model.enqueueChange('transparent', (writer) => {
+        // Enqueue a model change that is not visible to the undo/redo feature.
+        model.enqueueChange({ isUndoable: false }, (writer) => {
           writer.setAttribute(
             'drupalMediaIsImage',
             !!metadata.imageSourceMetadata,
@@ -72,7 +71,7 @@ export default class MediaImageTextAlternativeEditing extends Plugin {
           return;
         }
         console.warn(e.toString());
-        model.enqueueChange('transparent', (writer) => {
+        model.enqueueChange({ isUndoable: false }, (writer) => {
           writer.setAttribute(
             'drupalMediaIsImage',
             METADATA_ERROR,
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativeui.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativeui.js
index 239c0c43f9..34974757d2 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativeui.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativeui.js
@@ -8,7 +8,7 @@ import {
   clickOutsideHandler,
 } from 'ckeditor5/src/ui';
 
-import { getSelectedDrupalMediaWidget, isDrupalMedia } from '../utils';
+import { getClosestSelectedDrupalMediaWidget, isDrupalMedia } from '../utils';
 import {
   getBalloonPositionData,
   repositionContextualBalloon,
@@ -121,9 +121,10 @@ export default class MediaImageTextAlternativeUi extends Plugin {
       cancel();
     });
 
-    // Reposition the balloon or hide the form if an image widget is no longer selected.
+    // Reposition the balloon or hide the form if a media widget is no longer
+    // selected.
     this.listenTo(editor.ui, 'update', () => {
-      if (!getSelectedDrupalMediaWidget(viewDocument.selection)) {
+      if (!getClosestSelectedDrupalMediaWidget(viewDocument.selection)) {
         this._hideForm(true);
       } else if (this._isVisible) {
         repositionContextualBalloon(editor);
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/ui/utils.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/ui/utils.js
index 8201692ea7..3553fa539a 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/ui/utils.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/ui/utils.js
@@ -1,7 +1,7 @@
 /* eslint-disable import/no-extraneous-dependencies */
 
 import { BalloonPanelView } from 'ckeditor5/src/ui';
-import { getSelectedDrupalMediaWidget } from '../utils';
+import { getClosestSelectedDrupalMediaWidget } from '../utils';
 
 /**
  * Returns the positioning options that control the geometry of the contextual
@@ -45,7 +45,9 @@ export function getBalloonPositionData(editor) {
 export function repositionContextualBalloon(editor) {
   const balloon = editor.plugins.get('ContextualBalloon');
 
-  if (getSelectedDrupalMediaWidget(editor.editing.view.document.selection)) {
+  if (
+    getClosestSelectedDrupalMediaWidget(editor.editing.view.document.selection)
+  ) {
     const position = getBalloonPositionData(editor);
 
     balloon.updatePosition(position);
diff --git a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/utils.js b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/utils.js
index 333893f921..901f0197d6 100644
--- a/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/utils.js
+++ b/web/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/utils.js
@@ -1,4 +1,5 @@
 /* eslint-disable import/no-extraneous-dependencies */
+// cSpell:words documentselection
 import { isWidget } from 'ckeditor5/src/widget';
 
 /**
@@ -31,6 +32,26 @@ export function isDrupalMediaWidget(viewElement) {
   );
 }
 
+/**
+ * Gets `drupalMedia` element from selection.
+ *
+ * @param {module:engine/model/selection~Selection|module:engine/model/documentselection~DocumentSelection} selection
+ *   The current selection.
+ * @returns {module:engine/model/element~Element|null}
+ *   The `drupalMedia` element which could be either the current selected an
+ *   ancestor of the selection. Returns null if the selection has no Drupal
+ *   Media element.
+ *
+ * @internal
+ */
+export function getClosestSelectedDrupalMediaElement(selection) {
+  const selectedElement = selection.getSelectedElement();
+
+  return isDrupalMedia(selectedElement)
+    ? selectedElement
+    : selection.getFirstPosition().findAncestor('drupalMedia');
+}
+
 /**
  * Gets selected Drupal Media widget if only Drupal Media is currently selected.
  *
@@ -41,12 +62,22 @@ export function isDrupalMediaWidget(viewElement) {
  *
  * @internal
  */
-export function getSelectedDrupalMediaWidget(selection) {
+export function getClosestSelectedDrupalMediaWidget(selection) {
   const viewElement = selection.getSelectedElement();
   if (viewElement && isDrupalMediaWidget(viewElement)) {
     return viewElement;
   }
 
+  let parent = selection.getFirstPosition().parent;
+
+  while (parent) {
+    if (parent.is('element') && isDrupalMediaWidget(parent)) {
+      return parent;
+    }
+
+    parent = parent.parent;
+  }
+
   return null;
 }
 
diff --git a/web/core/modules/ckeditor5/js/ie11.filter.warnings.es6.js b/web/core/modules/ckeditor5/js/ie11.filter.warnings.es6.js
index 85e4ed00de..5ca4c4d9e5 100644
--- a/web/core/modules/ckeditor5/js/ie11.filter.warnings.es6.js
+++ b/web/core/modules/ckeditor5/js/ie11.filter.warnings.es6.js
@@ -3,7 +3,7 @@
  * Provides IE11 compatibility warnings when choosing a text editor.
  */
 
-((Drupal, once, Modernizr) => {
+((Drupal, once) => {
   /**
    * Presents a warning when selecting CKEditor 5 as a text format's text editor.
    *
@@ -11,9 +11,7 @@
    */
   Drupal.behaviors.ckEditor5warn = {
     attach: function attach() {
-      const isIE11 = Modernizr.mq(
-        '(-ms-high-contrast: active), (-ms-high-contrast: none)',
-      );
+      const isIE11 = !!document.documentMode;
       const editorSelect = once(
         'editor-ie11-warning',
         '[data-drupal-selector="filter-format-edit-form"] [data-drupal-selector="edit-editor-editor"], [data-drupal-selector="filter-format-add-form"] [data-drupal-selector="edit-editor-editor"]',
@@ -24,7 +22,7 @@
 
         // Add a container for messages above the text format select element.
         const selectMessageContainer = document.createElement('div');
-        select.parentNode.insertBefore(selectMessageContainer, select);
+        select.parentNode.after(selectMessageContainer, select);
         const selectMessages = new Drupal.Message(selectMessageContainer);
         const editorSettings = document.querySelector(
           '#editor-settings-wrapper',
@@ -120,4 +118,4 @@
       }
     },
   };
-})(Drupal, once, Modernizr);
+})(Drupal, once);
diff --git a/web/core/modules/ckeditor5/js/ie11.filter.warnings.js b/web/core/modules/ckeditor5/js/ie11.filter.warnings.js
index 445c9722aa..61ca106cef 100644
--- a/web/core/modules/ckeditor5/js/ie11.filter.warnings.js
+++ b/web/core/modules/ckeditor5/js/ie11.filter.warnings.js
@@ -5,16 +5,16 @@
 * @preserve
 **/
 
-(function (Drupal, once, Modernizr) {
+(function (Drupal, once) {
   Drupal.behaviors.ckEditor5warn = {
     attach: function attach() {
-      var isIE11 = Modernizr.mq('(-ms-high-contrast: active), (-ms-high-contrast: none)');
+      var isIE11 = !!document.documentMode;
       var editorSelect = once('editor-ie11-warning', '[data-drupal-selector="filter-format-edit-form"] [data-drupal-selector="edit-editor-editor"], [data-drupal-selector="filter-format-add-form"] [data-drupal-selector="edit-editor-editor"]');
 
       if (typeof editorSelect[0] !== 'undefined') {
         var select = editorSelect[0];
         var selectMessageContainer = document.createElement('div');
-        select.parentNode.insertBefore(selectMessageContainer, select);
+        select.parentNode.after(selectMessageContainer, select);
         var selectMessages = new Drupal.Message(selectMessageContainer);
         var editorSettings = document.querySelector('#editor-settings-wrapper');
 
@@ -66,4 +66,4 @@
       }
     }
   };
-})(Drupal, once, Modernizr);
\ No newline at end of file
+})(Drupal, once);
\ No newline at end of file
diff --git a/web/core/modules/ckeditor5/js/ie11.user.warnings.es6.js b/web/core/modules/ckeditor5/js/ie11.user.warnings.es6.js
index 6879f077a0..d71502f17a 100644
--- a/web/core/modules/ckeditor5/js/ie11.user.warnings.es6.js
+++ b/web/core/modules/ckeditor5/js/ie11.user.warnings.es6.js
@@ -3,10 +3,8 @@
  * Provide warnings when attempting to load CKEditor 5 on IE11.
  */
 
-((Drupal, Modernizr) => {
-  const isIE11 = Modernizr.mq(
-    '(-ms-high-contrast: active), (-ms-high-contrast: none)',
-  );
+((Drupal) => {
+  const isIE11 = !!document.documentMode;
 
   // If the browser is IE11, create an alternate version of
   // Drupal.editors.ckeditor5 that provides warnings. In IE11, the incompatible
@@ -143,4 +141,4 @@
       },
     };
   }
-})(Drupal, Modernizr);
+})(Drupal);
diff --git a/web/core/modules/ckeditor5/js/ie11.user.warnings.js b/web/core/modules/ckeditor5/js/ie11.user.warnings.js
index ad8988ffc0..0356cc95cc 100644
--- a/web/core/modules/ckeditor5/js/ie11.user.warnings.js
+++ b/web/core/modules/ckeditor5/js/ie11.user.warnings.js
@@ -5,8 +5,8 @@
 * @preserve
 **/
 
-(function (Drupal, Modernizr) {
-  var isIE11 = Modernizr.mq('(-ms-high-contrast: active), (-ms-high-contrast: none)');
+(function (Drupal) {
+  var isIE11 = !!document.documentMode;
 
   if (isIE11) {
     window.CKEditor5 = null;
@@ -64,4 +64,4 @@
       }
     };
   }
-})(Drupal, Modernizr);
\ No newline at end of file
+})(Drupal);
\ No newline at end of file
diff --git a/web/core/modules/ckeditor5/src/CKEditor5StylesheetsMessage.php b/web/core/modules/ckeditor5/src/CKEditor5StylesheetsMessage.php
new file mode 100644
index 0000000000..26aaaafd9e
--- /dev/null
+++ b/web/core/modules/ckeditor5/src/CKEditor5StylesheetsMessage.php
@@ -0,0 +1,134 @@
+<?php
+
+declare(strict_types = 1);
+
+namespace Drupal\ckeditor5;
+
+use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Extension\ThemeHandlerInterface;
+use Drupal\Core\StringTranslation\StringTranslationTrait;
+
+/**
+ * Messaging for themes using the ckeditor_stylesheets setting.
+ *
+ * Messaging is provided when themes are found that use ckeditor_stylesheets
+ * without a corresponding ckeditor5-stylesheets setting.
+ *
+ * @internal
+ *   This class may change at any time. It is not for use outside this module.
+ * @todo Remove in Drupal 11: https://www.drupal.org/project/ckeditor5/issues/3239012
+ */
+final class CKEditor5StylesheetsMessage {
+
+  use StringTranslationTrait;
+
+  /**
+   * The theme handler.
+   *
+   * @var \Drupal\Core\Extension\ThemeHandlerInterface
+   */
+  protected $themeHandler;
+
+  /**
+   * The config factory.
+   *
+   * @var \Drupal\Core\Config\ConfigFactoryInterface
+   */
+  protected $configFactory;
+
+  /**
+   * Constructs a new CKEditor5StylesheetsMessage.
+   *
+   * @param \Drupal\Core\Extension\ThemeHandlerInterface $theme_handler
+   *   The theme handler.
+   * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
+   *   The config factory to get the installed themes.
+   */
+  public function __construct(ThemeHandlerInterface $theme_handler, ConfigFactoryInterface $config_factory) {
+    $this->themeHandler = $theme_handler;
+    $this->configFactory = $config_factory;
+  }
+
+  /**
+   * Generates a warning related to ckeditor_stylesheets.
+   *
+   * Identifies themes using ckeditor_stylesheets without an equivalent
+   * ckeditor5-stylesheets setting. If such themes are found, a warning message
+   * is returned.
+   *
+   * @return \Drupal\Core\StringTranslation\PluralTranslatableMarkup|null
+   *   A warning message where appropriate, otherwise null.
+   */
+  public function getWarning() {
+    $themes = [];
+    $default_theme = $this->configFactory->get('system.theme')->get('default');
+    if (!empty($default_theme)) {
+      $themes[$default_theme] = $this->themeHandler->listInfo()[$default_theme]->info;
+    }
+
+    $admin_theme = $this->configFactory->get('system.theme')->get('admin');
+    if (!empty($admin_theme) && $admin_theme !== $default_theme) {
+      $themes[$admin_theme] = $this->themeHandler->listInfo()[$admin_theme]->info;
+    }
+
+    // Collect information on which themes/base themes have ckeditor_stylesheets
+    // configuration, but do not have corresponding ckeditor5-stylesheets
+    // configuration.
+    $ckeditor_stylesheets_use = [];
+    foreach ($themes as $theme_info) {
+      $this->checkForStylesheetsEquivalent($theme_info, $ckeditor_stylesheets_use);
+    }
+
+    if (!empty($ckeditor_stylesheets_use)) {
+      // A subtheme may unnecessarily appear multiple times.
+      $ckeditor_stylesheets_use = array_unique($ckeditor_stylesheets_use);
+      $last_item = array_pop($ckeditor_stylesheets_use);
+      $stylesheets_warning = $this->formatPlural(count($ckeditor_stylesheets_use) + 1,
+        'The %last_item theme has ckeditor_stylesheets configured without a corresponding ckeditor5-stylesheets configuration. See the <a href=":change_record">change record</a> for details.',
+        'The %first_items and %last_item themes have ckeditor_stylesheets configured, but without corresponding ckeditor5-stylesheets configurations. See the <a href=":change_record">change record</a> for details.',
+        [
+          '%last_item' => $last_item,
+          '%first_items' => implode(', ', $ckeditor_stylesheets_use),
+          ':change_record' => 'https://www.drupal.org/node/3259165',
+        ]);
+
+      return $stylesheets_warning;
+    }
+
+    return NULL;
+  }
+
+  /**
+   * Checks themes using ckeditor_stylesheets for CKEditor 5 equivalents.
+   *
+   * @param array $theme_info
+   *   The config of the theme to check.
+   * @param string[] $ckeditor_stylesheets_use
+   *   Themes using ckeditor_stylesheets without a CKEditor 5 equivalent.
+   */
+  private function checkForStylesheetsEquivalent(array $theme_info, array &$ckeditor_stylesheets_use) {
+    $theme_has_ckeditor5_stylesheets = isset($theme_info['ckeditor5-stylesheets']);
+    if (!empty($theme_info['ckeditor_stylesheets']) && !$theme_has_ckeditor5_stylesheets) {
+      $ckeditor_stylesheets_use[] = $theme_info['name'];
+    }
+
+    // If the primary theme has ckeditor5-stylesheets configured, do not check
+    // base themes. The primary theme can potentially provide the
+    // ckeditor5-stylesheets config for itself and its base themes, so we err
+    // on the side of not showing a warning if this is possibly the case.
+    if ($theme_has_ckeditor5_stylesheets) {
+      return;
+    }
+    $base_theme = $theme_info['base theme'] ?? FALSE;
+    while ($base_theme) {
+      $base_theme_info = $this->themeHandler->listInfo()[$base_theme]->info;
+      $base_theme_has_ckeditor5_stylesheets = isset($base_theme_info['ckeditor5-stylesheets']);
+
+      if (!empty($base_theme_info['ckeditor_stylesheets']) && !$base_theme_has_ckeditor5_stylesheets) {
+        $ckeditor_stylesheets_use[] = $base_theme_info['name'];
+      }
+      $base_theme = $base_theme_info['base theme'] ?? FALSE;
+    }
+  }
+
+}
diff --git a/web/core/modules/ckeditor5/src/EventSubscriber/CKEditor5CacheTag.php b/web/core/modules/ckeditor5/src/EventSubscriber/CKEditor5CacheTag.php
new file mode 100644
index 0000000000..1bef97ee3f
--- /dev/null
+++ b/web/core/modules/ckeditor5/src/EventSubscriber/CKEditor5CacheTag.php
@@ -0,0 +1,61 @@
+<?php
+
+declare(strict_types = 1);
+
+namespace Drupal\ckeditor5\EventSubscriber;
+
+use Drupal\Core\Cache\CacheTagsInvalidatorInterface;
+use Drupal\Core\Config\ConfigCrudEvent;
+use Drupal\Core\Config\ConfigEvents;
+use Symfony\Component\EventDispatcher\EventSubscriberInterface;
+
+/**
+ * A subscriber invalidating cache tags when the default theme changes.
+ *
+ * @internal
+ *   This class may change at any time. It is not for use outside this module.
+ */
+class CKEditor5CacheTag implements EventSubscriberInterface {
+
+  /**
+   * The cache tags invalidator.
+   *
+   * @var \Drupal\Core\Cache\CacheTagsInvalidatorInterface
+   */
+  protected $cacheTagsInvalidator;
+
+  /**
+   * Constructs a CKEditor5CacheTag object.
+   *
+   * @param \Drupal\Core\Cache\CacheTagsInvalidatorInterface $cache_tags_invalidator
+   *   The cache tags invalidator.
+   */
+  public function __construct(CacheTagsInvalidatorInterface $cache_tags_invalidator) {
+    $this->cacheTagsInvalidator = $cache_tags_invalidator;
+  }
+
+  /**
+   * Invalidates cache tags when particular system config objects are saved.
+   *
+   * @param \Drupal\Core\Config\ConfigCrudEvent $event
+   *   The Event to process.
+   */
+  public function onSave(ConfigCrudEvent $event) {
+    $config_name = $event->getConfig()->getName();
+
+    // Ckeditor5-stylesheets settings may change when the default theme changes.
+    if ($config_name === 'system.theme' && $event->isChanged('default')) {
+      // @see ckeditor5_library_info_alter()
+      $this->cacheTagsInvalidator->invalidateTags(['library_info']);
+    }
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getSubscribedEvents() {
+    $events[ConfigEvents::SAVE][] = ['onSave'];
+    return $events;
+  }
+
+}
diff --git a/web/core/modules/ckeditor5/src/HTMLRestrictions.php b/web/core/modules/ckeditor5/src/HTMLRestrictions.php
index d6c47cbd28..34c5a6dae7 100644
--- a/web/core/modules/ckeditor5/src/HTMLRestrictions.php
+++ b/web/core/modules/ckeditor5/src/HTMLRestrictions.php
@@ -9,7 +9,6 @@
 use Drupal\filter\FilterFormatInterface;
 use Drupal\filter\Plugin\Filter\FilterHtml;
 use Drupal\filter\Plugin\FilterInterface;
-use Masterminds\HTML5\Elements;
 
 /**
  * Represents a set of HTML restrictions.
@@ -53,13 +52,24 @@ final class HTMLRestrictions {
    */
   private $elements;
 
+  /**
+   * Whether unrestricted, in other words: arbitrary HTML allowed.
+   *
+   * Used for when FilterFormatInterface::getHTMLRestrictions() returns `FALSE`,
+   * e.g. in case of the default "Full HTML" text format.
+   *
+   * @var bool
+   * @see \Drupal\filter\Plugin\FilterInterface::getHTMLRestrictions()
+   */
+  private $unrestricted = FALSE;
+
   /**
    * Wildcard types, and the methods that return tags the wildcard represents.
    *
    * @var string[]
    */
   private const WILDCARD_ELEMENT_METHODS = [
-    '$block' => 'getBlockElementList',
+    '$text-container' => 'getTextContainerElementList',
   ];
 
   /**
@@ -164,6 +174,9 @@ private static function validateAllowedRestrictionsPhase3(array $elements): void
         if (trim($html_tag_attribute_name) !== $html_tag_attribute_name) {
           throw new \InvalidArgumentException(sprintf('The "%s" HTML tag has an attribute restriction "%s" which contains whitespace. Omit the whitespace.', $html_tag_name, $html_tag_attribute_name));
         }
+        if ($html_tag_attribute_name === '*') {
+          throw new \InvalidArgumentException(sprintf('The "%s" HTML tag has an attribute restriction "*". This implies all attributes are allowed. Remove the attribute restriction instead, or use a prefix (`*-foo`), infix (`*-foo-*`) or suffix (`foo-*`) wildcard restriction instead.', $html_tag_name));
+        }
       }
     }
   }
@@ -211,6 +224,15 @@ public static function emptySet(): HTMLRestrictions {
     return new self([]);
   }
 
+  /**
+   * Whether this set of HTML restrictions is unrestricted.
+   *
+   * @return bool
+   */
+  public function isUnrestricted(): bool {
+    return $this->unrestricted;
+  }
+
   /**
    * Whether this is the empty set of HTML restrictions.
    *
@@ -246,6 +268,18 @@ public static function fromTextFormat(FilterFormatInterface $text_format): HTMLR
     return self::fromObjectWithHtmlRestrictions($text_format);
   }
 
+  /**
+   * Constructs an unrestricted set of HTML restrictions.
+   *
+   * @return \Drupal\ckeditor5\HTMLRestrictions
+   */
+  private static function unrestricted(): self {
+    // @todo Refine in https://www.drupal.org/project/drupal/issues/3231336, including adding support for all operations.
+    $restrictions = HTMLRestrictions::emptySet();
+    $restrictions->unrestricted = TRUE;
+    return $restrictions;
+  }
+
   /**
    * Constructs a set of HTML restrictions matching the given object.
    *
@@ -269,6 +303,11 @@ private static function fromObjectWithHtmlRestrictions(object $object): HTMLRest
       throw new \InvalidArgumentException();
     }
 
+    if ($object->getHtmlRestrictions() === FALSE) {
+      // @todo Refine in https://www.drupal.org/project/drupal/issues/3231336
+      return self::unrestricted();
+    }
+
     $restrictions = $object->getHTMLRestrictions();
     if (!isset($restrictions['allowed'])) {
       // @todo Handle HTML restrictor filters that only set forbidden_tags
@@ -298,8 +337,8 @@ private static function fromObjectWithHtmlRestrictions(object $object): HTMLRest
    * @see ::toCKEditor5ElementsArray()
    */
   public static function fromString(string $elements_string): HTMLRestrictions {
-    // Preprocess wildcard tags: convert `<$block>` to
-    // `<__preprocessed-wildcard-block__>`.
+    // Preprocess wildcard tags: convert `<$text-container>` to
+    // `<__preprocessed-wildcard-text-container__>`.
     // Note: unknown wildcard tags will trigger a validation error in
     // ::validateAllowedRestrictionsPhase1().
     $replaced_wildcard_tags = [];
@@ -317,9 +356,12 @@ public static function fromString(string $elements_string): HTMLRestrictions {
     // Omit the broad wildcard addition that FilterHtml::getHTMLRestrictions()
     // always sets; it is specific to how FilterHTML works and irrelevant here.
     unset($allowed_elements['*']);
+    // @see \Drupal\filter\Plugin\Filter\FilterHtml::getHTMLRestrictions()
+    // @todo remove this in https://www.drupal.org/project/drupal/issues/3226368
+    unset($allowed_elements['__zqh6vxfbk3cg__']);
 
-    // Postprocess tag wildcards: convert `<__preprocessed-wildcard-block__>` to
-    // `<$block>`.
+    // Postprocess tag wildcards: convert
+    // `<__preprocessed-wildcard-text-container__>` to `<$text-container>`.
     foreach ($replaced_wildcard_tags as $processed => $original) {
       if (isset($allowed_elements[$processed])) {
         $allowed_elements[$original] = $allowed_elements[$processed];
@@ -413,6 +455,40 @@ function ($value, string $tag) use ($other) {
       ARRAY_FILTER_USE_BOTH
     );
 
+    // Special case: wildcard attributes, and the ability to define restrictions
+    // for all concrete attributes matching them using:
+    // - prefix wildcard, f.e. `data-*`, to match `data-foo`, `data-bar`, etc.
+    // - infix wildcard, f.e. `*-entity-*`
+    // - suffix wildcard, f.e. `foo-*`
+    foreach ($diff_elements as $tag => $tag_config) {
+      // If there are no per-attribute restrictions for this tag in either
+      // operand, then no wildcard attribute postprocessing is needed.
+      if (!(isset($other->elements[$tag]) && is_array($other->elements[$tag]))) {
+        continue;
+      }
+      $wildcard_attributes = array_filter(array_keys($other->elements[$tag]), [__CLASS__, 'isWildcardAttributeName']);
+      foreach ($wildcard_attributes as $wildcard_attribute_name) {
+        $regex = self::getRegExForWildCardAttributeName($wildcard_attribute_name);
+        foreach ($tag_config as $html_tag_attribute_name => $html_tag_attribute_restrictions) {
+          // If a wildcard attribute name (f.e. `data-*`) is allowed in $other
+          // with the same attribute value restrictions (e.g. TRUE to allow all
+          // attribute values or an array of specific allowed attribute values),
+          // then all concrete matches (f.e. `data-foo`, `data-bar`, etc.) are
+          // allowed and should be explicitly omitted from the difference.
+          if ($html_tag_attribute_restrictions === $other->elements[$tag][$wildcard_attribute_name] && preg_match($regex, $html_tag_attribute_name) === 1) {
+            unset($tag_config[$html_tag_attribute_name]);
+          }
+        }
+
+        if ($tag_config !== []) {
+          $diff_elements[$tag] = $tag_config;
+        }
+        else {
+          unset($diff_elements[$tag]);
+        }
+      }
+    }
+
     return new self($diff_elements);
   }
 
@@ -506,6 +582,52 @@ public function doIntersect(HTMLRestrictions $other): HTMLRestrictions {
       }
     }
 
+    // Special case: wildcard attributes, and the ability to define restrictions
+    // for all concrete attributes matching them using:
+    // - prefix wildcard, f.e. `data-*`, to match `data-foo`, `data-bar`, etc.
+    // - infix wildcard, f.e. `*-entity-*`
+    // - suffix wildcard, f.e. `foo-*`
+    foreach ($intersection as $tag => $tag_config) {
+      // If there are no per-attribute restrictions for this tag in either
+      // operand, then no wildcard attribute postprocessing is needed.
+      if (!(is_array($this->elements[$tag]) && is_array($other->elements[$tag]))) {
+        continue;
+      }
+      $other_wildcard_attributes = array_filter(array_keys($other->elements[$tag]), [__CLASS__, 'isWildcardAttributeName']);
+      $this_wildcard_attributes = array_filter(array_keys($this->elements[$tag]), [__CLASS__, 'isWildcardAttributeName']);
+
+      // If the same wildcard attribute restrictions are present in both or
+      // neither, no adjustment necessary: the intersection is already correct.
+      $in_both = array_intersect($other_wildcard_attributes, $this_wildcard_attributes);
+      $other_wildcard_attributes = array_diff($other_wildcard_attributes, $in_both);
+      $this_wildcard_attributes = array_diff($this_wildcard_attributes, $in_both);
+      $wildcard_attributes_to_analyze = array_merge($other_wildcard_attributes, $this_wildcard_attributes);
+      if (empty($wildcard_attributes_to_analyze)) {
+        continue;
+      }
+
+      // Otherwise, the wildcard attribute name (f.e. `data-*`) is allowed in
+      // one of the two with the same attribute value restrictions (e.g. TRUE to
+      // allow all attribute values, or an array of specific allowed attribute
+      // values), and the intersection must contain the most restrictive
+      // configuration.
+      foreach ($wildcard_attributes_to_analyze as $wildcard_attribute_name) {
+        $other_has_wildcard = isset($other->elements[$tag][$wildcard_attribute_name]);
+        $wildcard_operand = $other_has_wildcard ? $other : $this;
+        $concrete_operand = $other_has_wildcard ? $this : $other;
+        $concrete_tag_config = $concrete_operand->elements[$tag];
+        $wildcard_attribute_restriction = $wildcard_operand->elements[$tag][$wildcard_attribute_name];
+        $regex = self::getRegExForWildCardAttributeName($wildcard_attribute_name);
+        foreach ($concrete_tag_config as $html_tag_attribute_name => $html_tag_attribute_restrictions) {
+          if ($html_tag_attribute_restrictions === $wildcard_attribute_restriction && preg_match($regex, $html_tag_attribute_name) === 1) {
+            $tag_config = $tag_config === FALSE ? [] : $tag_config;
+            $tag_config[$html_tag_attribute_name] = $html_tag_attribute_restrictions;
+          }
+        }
+        $intersection[$tag] = $tag_config;
+      }
+    }
+
     return new self($intersection);
   }
 
@@ -598,6 +720,39 @@ public function merge(HTMLRestrictions $other): HTMLRestrictions {
         }
       }
     }
+
+    // Special case: wildcard attributes, and the ability to define restrictions
+    // for all concrete attributes matching them using:
+    // - prefix wildcard, f.e. `data-*`, to match `data-foo`, `data-bar`, etc.
+    // - infix wildcard, f.e. `*-entity-*`
+    // - suffix wildcard, f.e. `foo-*`
+    foreach ($union as $tag => $tag_config) {
+      // If there are no per-attribute restrictions for this tag, then no
+      // wildcard attribute postprocessing is needed.
+      if (!is_array($tag_config)) {
+        continue;
+      }
+      $wildcard_attributes = array_filter(array_keys($tag_config), [__CLASS__, 'isWildcardAttributeName']);
+      foreach ($wildcard_attributes as $wildcard_attribute_name) {
+        $regex = self::getRegExForWildCardAttributeName($wildcard_attribute_name);
+        foreach ($tag_config as $html_tag_attribute_name => $html_tag_attribute_restrictions) {
+          // The wildcard attribute restriction itself must be kept.
+          if ($html_tag_attribute_name === $wildcard_attribute_name) {
+            continue;
+          }
+          // If a concrete attribute restriction (f.e. `data-foo`, `data-bar`,
+          // etc.) exists whose attribute value restrictions are the same as the
+          // wildcard attribute value restrictions (f.e. `data-*`), we must
+          // explicitly drop the concrete attribute restriction in favor of the
+          // wildcard one.
+          if ($html_tag_attribute_restrictions === $tag_config[$wildcard_attribute_name] && preg_match($regex, $html_tag_attribute_name) === 1) {
+            unset($tag_config[$html_tag_attribute_name]);
+          }
+        }
+        $union[$tag] = $tag_config;
+      }
+    }
+
     return new self($union);
   }
 
@@ -616,9 +771,9 @@ public function merge(HTMLRestrictions $other): HTMLRestrictions {
    */
   private static function applyOperation(HTMLRestrictions $a, HTMLRestrictions $b, string $operation_method_name): HTMLRestrictions {
     // 1. Operation applied to wildcard tags that exist in both operands.
-    // For example: <$block id> in both operands.
-    $a_wildcard = self::getWildcardSubset($a);
-    $b_wildcard = self::getWildcardSubset($b);
+    // For example: <$text-container id> in both operands.
+    $a_wildcard = $a->getWildcardSubset();
+    $b_wildcard = $b->getWildcardSubset();
     $wildcard_op_result = $a_wildcard->$operation_method_name($b_wildcard);
 
     // Early return if both operands contain only wildcard tags.
@@ -628,7 +783,8 @@ private static function applyOperation(HTMLRestrictions $a, HTMLRestrictions $b,
 
     // 2. Operation applied with wildcard tags resolved into concrete tags.
     // For example: <p class="text-align-center"> in the first operand and
-    // <$block class="text-align-center"> in the second operand.
+    // <$text-container class="text-align-center"> in the second
+    // operand.
     $a_concrete = self::resolveWildcards($a);
     $b_concrete = self::resolveWildcards($b);
     $concrete_op_result = $a_concrete->$operation_method_name($b_concrete);
@@ -643,17 +799,55 @@ private static function applyOperation(HTMLRestrictions $a, HTMLRestrictions $b,
     return new self($concrete_op_result->elements + $wildcard_op_result->elements);
   }
 
+  /**
+   * Checks whether the given attribute name contains a wildcard, e.g. `data-*`.
+   *
+   * @param string $attribute_name
+   *   The attribute name to check.
+   *
+   * @return bool
+   *   Whether the given attribute name contains a wildcard.
+   */
+  private static function isWildcardAttributeName(string $attribute_name): bool {
+    // @see ::validateAllowedRestrictionsPhase3()
+    assert($attribute_name !== '*');
+    return strpos($attribute_name, '*') !== FALSE;
+  }
+
+  /**
+   * Computes a regular expression for matching a wildcard attribute name.
+   *
+   * @param string $wildcard_attribute_name
+   *   The wildcard attribute name for which to compute a regular expression.
+   *
+   * @return string
+   *   The computed regular expression.
+   */
+  private static function getRegExForWildCardAttributeName(string $wildcard_attribute_name): string {
+    assert(self::isWildcardAttributeName($wildcard_attribute_name));
+    return '/^' . str_replace('*', '.*', $wildcard_attribute_name) . '$/';
+  }
+
   /**
    * Gets the subset of allowed elements whose tags are wildcards.
    *
-   * @param \Drupal\ckeditor5\HTMLRestrictions $r
-   *   A set of HTML restrictions.
+   * @return \Drupal\ckeditor5\HTMLRestrictions
+   *   The subset of the given set of HTML restrictions.
+   */
+  public function getWildcardSubset(): HTMLRestrictions {
+    return new self(array_filter($this->elements, [__CLASS__, 'isWildcardTag'], ARRAY_FILTER_USE_KEY));
+  }
+
+  /**
+   * Gets the subset of allowed elements whose tags are concrete.
    *
    * @return \Drupal\ckeditor5\HTMLRestrictions
    *   The subset of the given set of HTML restrictions.
    */
-  private static function getWildcardSubset(HTMLRestrictions $r): HTMLRestrictions {
-    return new self(array_filter($r->elements, [__CLASS__, 'isWildcardTag'], ARRAY_FILTER_USE_KEY));
+  public function getConcreteSubset(): HTMLRestrictions {
+    return new self(array_filter($this->elements, function (string $tag_name) {
+      return !self::isWildcardTag($tag_name);
+    }, ARRAY_FILTER_USE_KEY));
   }
 
   /**
@@ -707,17 +901,18 @@ private static function resolveWildcards(HTMLRestrictions $r): HTMLRestrictions
     // let ::merge() pick the most permissive one.
     // This is necessary because resolving wildcards may result in concrete tags
     // becoming either more permissive:
-    // - if $r is `<p> <$block class="foo">`
+    // - if $r is `<p> <$text-container class="foo">`
     // - then $naive will be `<p class="foo">`
-    // - merging them yields `<p class="foo"> <$block class="foo">`
+    // - merging them yields `<p class="foo"> <$text-container class="foo">`
     // - diffing the wildcard subsets yields just `<p class="foo">`
     // Or it could result in concrete tags being unaffected by the resolved
     // wildcards:
-    // - if $r is `<p class> <$block class="foo">`
+    // - if $r is `<p class> <$text-container class="foo">`
     // - then $naive will be `<p class="foo">`
-    // - merging them yields `<p class> <$block class="foo">` again
+    // - merging them yields `<p class> <$text-container class="foo">`
+    //   again
     // - diffing the wildcard subsets yields just `<p class>`
-    return $r->merge($naive_resolution)->doDiff(self::getWildcardSubset($r));
+    return $r->merge($naive_resolution)->doDiff($r->getWildcardSubset());
   }
 
   /**
@@ -782,7 +977,10 @@ public function toCKEditor5ElementsArray(): array {
    * @see \Drupal\filter\Plugin\Filter\FilterHtml
    */
   public function toFilterHtmlAllowedTagsString(): string {
-    return implode(' ', $this->toCKEditor5ElementsArray());
+    // Resolve wildcard tags, because Drupal's filter_html filter plugin does
+    // not support those.
+    $concrete = self::resolveWildcards($this);
+    return implode(' ', $concrete->toCKEditor5ElementsArray());
   }
 
   /**
@@ -793,10 +991,15 @@ public function toFilterHtmlAllowedTagsString(): string {
    *   CKEditor 5 htmlSupport plugin constructor.
    *
    * @see https://ckeditor5.github.io/docs/nightly/ckeditor5/latest/features/general-html-support.html#configuration
+   * @see https://ckeditor5.github.io/docs/nightly/ckeditor5/latest/api/module_engine_view_matcher-MatcherPattern.html
    */
   public function toGeneralHtmlSupportConfig(): array {
     $allowed = [];
-    foreach ($this->elements as $tag => $attributes) {
+    // Resolve any remaining wildcards based on Drupal's assumptions on
+    // wildcards to ensure all HTML tags that Drupal thinks are supported are
+    // truly supported by CKEditor 5.
+    $elements = self::resolveWildcards($this)->getAllowedElements();
+    foreach ($elements as $tag => $attributes) {
       $to_allow = ['name' => $tag];
       assert($attributes === FALSE || is_array($attributes));
       if (is_array($attributes)) {
@@ -813,20 +1016,25 @@ public function toGeneralHtmlSupportConfig(): array {
             continue;
           }
           assert($value === TRUE || Inspector::assertAllStrings($value));
-          if ($name === 'class') {
-            $to_allow['classes'] = $value;
-            continue;
-          }
           // If a single attribute value is allowed, it must be TRUE (see the
           // assertion above). Otherwise, it must be an array of strings (see
           // the assertion above), which lists all allowed attribute values. To
           // be able to configure GHS to a range of values, we need to use a
           // regular expression.
-          // @todo Expand to support partial wildcards in
-          //   https://www.drupal.org/project/drupal/issues/3260853.
-          $to_allow['attributes'][$name] = is_array($value)
-            ? ['regexp' => ['pattern' => '/^(' . implode('|', $value) . ')$/']]
+          $allowed_attribute_value = is_array($value)
+            ? ['regexp' => ['pattern' => '/^(' . implode('|', str_replace('*', '.*', $value)) . ')$/']]
             : $value;
+          if ($name === 'class') {
+            $to_allow['classes'] = $allowed_attribute_value;
+            continue;
+          }
+          // Most attribute restrictions specify a concrete attribute name. When
+          // the attribute name contains a partial wildcard, more complex syntax
+          // is needed.
+          $to_allow['attributes'][] = [
+            'key' => strpos($name, '*') === FALSE ? $name : ['regexp' => ['pattern' => self::getRegExForWildCardAttributeName($name)]],
+            'value' => $allowed_attribute_value,
+          ];
         }
       }
       $allowed[] = $to_allow;
@@ -836,25 +1044,51 @@ public function toGeneralHtmlSupportConfig(): array {
   }
 
   /**
-   * Gets a list of block-level elements.
+   * Gets a list of CKEditor 5's `$block` text container elements.
+   *
+   * This is a hard coded list of known elements that CKEditor 5 uses as
+   * `$block` text container elements. The elements listed here are registered
+   * with `inheritAllFrom: "$block"` to the CKEditor 5 schema. This list
+   * corresponds to the `$text-container` wildcard in Drupal configuration.
+   *
+   *
+   * This group of elements is special because they allow text as an immediate
+   * child node. These elements are also allowed to be used for text styles that
+   * must be applied to the wrapper instead of inline to the text, such as text
+   * alignment.
+   *
+   * This list is highly opinionated. It is based on decisions made upstream in
+   * CKEditor 5. For example, `<blockquote>` is not considered as a `$block`
+   * text container, meaning that text inside `<blockquote>` needs to always be
+   * wrapped by an element that is `$block` text container such as `<p>`. This
+   * list also excludes some special case text container elements like
+   * `<caption>` that allow containing text directly inside the element, yet do
+   * not fully implement the `$block` text container interface.
+   *
+   * It is acceptable to list the elements here because the list of elements is
+   * not likely to change often. If the list changed, an upgrade path would be
+   * required anyway. In most cases, missing elements would only impact new
+   * functionality shipped in upstream.
+   *
+   * @see https://ckeditor.com/docs/ckeditor5/latest/framework/guides/deep-dive/schema.html#generic-items
    *
    * @return string[]
    *   An array of block-level element tags.
    */
-  private static function getBlockElementList(): array {
-    return array_filter(array_keys(Elements::$html5), function (string $element): bool {
-      return Elements::isA($element, Elements::BLOCK_TAG);
-    });
+  private static function getTextContainerElementList(): array {
+    return [
+      'div', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'pre', 'li',
+    ];
   }
 
   /**
    * Computes the tags that match the provided wildcard.
    *
    * A wildcard tag in element config is a way of representing multiple tags
-   * with a single item, such as `<$block>` to represent all block tags. Each
-   * wildcard should have a corresponding callback method listed in
-   * WILDCARD_ELEMENT_METHODS that returns the set of tags represented by the
-   * wildcard.
+   * with a single item, such as `<$text-container>` to represent CKEditor 5's
+   * `$block` text container tags. Each wildcard should have a corresponding
+   * callback method listed in WILDCARD_ELEMENT_METHODS that returns the set of
+   * tags represented by the wildcard.
    *
    * @param string $wildcard
    *   The wildcard that represents multiple tags.
diff --git a/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5Upgrade/Core.php b/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5Upgrade/Core.php
index 6a8fe53c73..96265eb4a2 100644
--- a/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5Upgrade/Core.php
+++ b/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5Upgrade/Core.php
@@ -4,6 +4,7 @@
 
 namespace Drupal\ckeditor5\Plugin\CKEditor4To5Upgrade;
 
+use Drupal\ckeditor5\HTMLRestrictions;
 use Drupal\ckeditor5\Plugin\CKEditor4To5UpgradePluginInterface;
 use Drupal\Core\Plugin\PluginBase;
 use Drupal\filter\FilterFormatInterface;
@@ -69,15 +70,15 @@ class Core extends PluginBase implements CKEditor4To5UpgradePluginInterface {
   /**
    * {@inheritdoc}
    */
-  public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_button): ?string {
+  public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_button, HTMLRestrictions $text_format_html_restrictions): ?array {
     switch ($cke4_button) {
       // @see \Drupal\ckeditor\Plugin\CKEditorPlugin\DrupalImage
       case 'DrupalImage':
-        return 'uploadImage';
+        return ['uploadImage'];
 
       // @see \Drupal\ckeditor\Plugin\CKEditorPlugin\DrupalLink
       case 'DrupalLink':
-        return 'link';
+        return ['link'];
 
       case 'DrupalUnlink':
         return NULL;
@@ -94,37 +95,54 @@ public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_but
       case 'Indent':
       case 'Undo':
       case 'Redo':
-        return lcfirst($cke4_button);
+        return [lcfirst($cke4_button)];
 
       case 'Blockquote':
-        return 'blockQuote';
+        return ['blockQuote'];
 
       case 'JustifyLeft':
-        return "alignment:left";
+        return ["alignment:left"];
 
       case 'JustifyCenter':
-        return "alignment:center";
+        return ["alignment:center"];
 
       case 'JustifyRight':
-        return "alignment:right";
+        return ["alignment:right"];
 
       case 'JustifyBlock':
-        return "alignment:justify";
+        return ["alignment:justify"];
 
       case 'HorizontalRule':
-        return 'horizontalLine';
+        return ['horizontalLine'];
 
       case 'Format':
-        return 'heading';
+        if ($text_format_html_restrictions->isUnrestricted()) {
+          // When no restrictions exist, all tags possibly supported by "Format"
+          // in CKEditor 4 must be supported.
+          return ['heading', 'codeBlock'];
+        }
+        $allowed_elements = $text_format_html_restrictions->getAllowedElements();
+        // Check if <h*> is supported.
+        // Merely checking the existence of the array key is sufficient; this
+        // plugin does not set or need any additional attributes.
+        // @see \Drupal\filter\Plugin\FilterInterface::getHTMLRestrictions()
+        $intersect = array_intersect(['h2', 'h3', 'h4', 'h5', 'h6'], array_keys($allowed_elements));
+
+        // Do not return the 'codeBlock' toolbar item, not even when `<pre>` is
+        // allowed in the text format. This ensures that SmartDefaultSettings:
+        // - first adds the `code` toolbar item (for inline `<code>`)
+        // - then adds `codeBlock` toolbar item (for code blocks: `<pre><code>`)
+        // @see https://www.drupal.org/project/drupal/issues/3263384#comment-14446315
+        return count($intersect) > 0 ? ['heading'] : NULL;
 
       case 'Table':
-        return 'insertTable';
+        return ['insertTable'];
 
       case 'Source':
-        return 'sourceEditing';
+        return ['sourceEditing'];
 
       case 'Strike':
-        return 'strikethrough';
+        return ['strikethrough'];
 
       case 'Cut':
       case 'Copy':
@@ -139,7 +157,7 @@ public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_but
 
       // @see \Drupal\ckeditor5\Plugin\CKEditor5Plugin\RemoveFormat
       case 'RemoveFormat':
-        return 'removeFormat';
+        return ['removeFormat'];
 
       // @see \Drupal\ckeditor\Plugin\CKEditorPlugin\StylesCombo
       case 'Styles':
@@ -148,15 +166,15 @@ public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_but
 
       // @see \Drupal\ckeditor5\Plugin\CKEditor5Plugin\specialCharacters
       case 'SpecialChar':
-        return 'specialCharacters';
+        return ['specialCharacters'];
 
       // @see \Drupal\ckeditor\Plugin\CKEditorPlugin\Language
       case 'Language':
-        return 'textPartLanguage';
+        return ['textPartLanguage'];
 
       // @see \Drupal\media_library\Plugin\CKEditorPlugin\DrupalMediaLibrary
       case 'DrupalMediaLibrary':
-        return 'drupalMedia';
+        return ['drupalMedia'];
 
       default:
         throw new \OutOfBoundsException();
@@ -198,7 +216,7 @@ public function computeCKEditor5PluginSubsetConfiguration(string $cke5_plugin_id
         }
         // Otherwise, only enable headings that allowed by the restrictions.
         $configuration = [];
-        foreach (range(2, 6) as $index) {
+        foreach (range(1, 6) as $index) {
           // Merely checking the existence of the array key is sufficient; this
           // plugin does not set or need any additional attributes.
           // @see \Drupal\filter\Plugin\FilterInterface::getHTMLRestrictions()
diff --git a/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5UpgradePluginInterface.php b/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5UpgradePluginInterface.php
index 3ba927920a..82e9b3c5da 100644
--- a/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5UpgradePluginInterface.php
+++ b/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5UpgradePluginInterface.php
@@ -4,6 +4,7 @@
 
 namespace Drupal\ckeditor5\Plugin;
 
+use Drupal\ckeditor5\HTMLRestrictions;
 use Drupal\Component\Plugin\PluginInspectionInterface;
 use Drupal\filter\FilterFormatInterface;
 
@@ -24,10 +25,13 @@ interface CKEditor4To5UpgradePluginInterface extends PluginInspectionInterface {
    *
    * @param string $cke4_button
    *   A valid CKEditor 4 button name.
+   * @param \Drupal\ckeditor5\HTMLRestrictions $text_format_html_restrictions
+   *   The restrictions of the text format, if this upgrade plugin needs to
+   *   inspect the text format's HTML restrictions to make a decision.
    *
-   * @return string|null
-   *   The equivalent CKEditor 5 toolbar item, or NULL if no equivalent exists.
-   *   In either case, the button name must be added to the annotation.
+   * @return string[]|null
+   *   The equivalent CKEditor 5 toolbar items, or NULL if no equivalent exists.
+   *   In either case, the button names must be added to the annotation.
    *
    * @throws \OutOfBoundsException
    *   Thrown when this plugin does not know whether an equivalent exists.
@@ -35,7 +39,7 @@ interface CKEditor4To5UpgradePluginInterface extends PluginInspectionInterface {
    * @see \Drupal\ckeditor\CKEditorPluginButtonsInterface
    * @see \Drupal\ckeditor5\Annotation\CKEditor4To5Upgrade
    */
-  public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_button): ?string;
+  public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_button, HTMLRestrictions $text_format_html_restrictions): ?array;
 
   /**
    * Maps CKEditor 4 settings to the CKEditor 5 equivalent, if needed.
diff --git a/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5UpgradePluginManager.php b/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5UpgradePluginManager.php
index fdb0bce005..d08b806a61 100644
--- a/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5UpgradePluginManager.php
+++ b/web/core/modules/ckeditor5/src/Plugin/CKEditor4To5UpgradePluginManager.php
@@ -5,6 +5,7 @@
 namespace Drupal\ckeditor5\Plugin;
 
 use Drupal\ckeditor5\Annotation\CKEditor4To5Upgrade;
+use Drupal\ckeditor5\HTMLRestrictions;
 use Drupal\Component\Assertion\Inspector;
 use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\Core\Extension\ModuleHandlerInterface;
@@ -116,9 +117,12 @@ protected function validateAndBuildMaps(): void {
    *
    * @param string $cke4_button
    *   A valid CKEditor 4 button name.
+   * @param \Drupal\ckeditor5\HTMLRestrictions $text_format_html_restrictions
+   *   The restrictions of the text format, to allow an upgrade plugin to
+   *   inspect the text format's HTML restrictions to make a decision.
    *
-   * @return string|null
-   *   The equivalent CKEditor 5 toolbar item, or NULL if no equivalent exists.
+   * @return string[]|null
+   *   The equivalent CKEditor 5 toolbar items, or NULL if no equivalent exists.
    *
    * @throws \OutOfBoundsException
    *   Thrown when no upgrade path exists.
@@ -127,7 +131,7 @@ protected function validateAndBuildMaps(): void {
    *
    * @see \Drupal\ckeditor\CKEditorPluginButtonsInterface
    */
-  public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_button): ?string {
+  public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_button, HTMLRestrictions $text_format_html_restrictions): ?array {
     $this->validateAndBuildMaps();
 
     if (!isset($this->cke4ButtonsMap[$cke4_button])) {
@@ -136,7 +140,7 @@ public function mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem(string $cke4_but
 
     $plugin_id = $this->cke4ButtonsMap[$cke4_button];
     try {
-      return $this->createInstance($plugin_id)->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem($cke4_button);
+      return $this->createInstance($plugin_id)->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem($cke4_button, $text_format_html_restrictions);
     }
     catch (\OutOfBoundsException $e) {
       throw new \LogicException(sprintf('The "%s" CKEditor4To5Upgrade plugin claims to provide an upgrade path for the "%s" CKEditor 4 button but does not.', $plugin_id, $cke4_button));
diff --git a/web/core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/SourceEditing.php b/web/core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/SourceEditing.php
index 49fe161fe8..1da1349708 100644
--- a/web/core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/SourceEditing.php
+++ b/web/core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/SourceEditing.php
@@ -76,9 +76,13 @@ public function getElementsSubset(): array {
    */
   public function getDynamicPluginConfig(array $static_plugin_config, EditorInterface $editor): array {
     $restrictions = HTMLRestrictions::fromString(implode(' ', $this->configuration['allowed_tags']));
+    // Only handle concrete HTML elements to allow the Wildcard HTML support
+    // plugin to handle wildcards.
+    // @see \Drupal\ckeditor5\Plugin\CKEditor5PluginManager::getCKEditor5PluginConfig()
+    $concrete_restrictions = $restrictions->getConcreteSubset();
     return [
       'htmlSupport' => [
-        'allow' => $restrictions->toGeneralHtmlSupportConfig(),
+        'allow' => $concrete_restrictions->toGeneralHtmlSupportConfig(),
       ],
     ];
   }
diff --git a/web/core/modules/ckeditor5/src/Plugin/CKEditor5PluginManager.php b/web/core/modules/ckeditor5/src/Plugin/CKEditor5PluginManager.php
index 295699ee42..8f628a9035 100644
--- a/web/core/modules/ckeditor5/src/Plugin/CKEditor5PluginManager.php
+++ b/web/core/modules/ckeditor5/src/Plugin/CKEditor5PluginManager.php
@@ -160,12 +160,12 @@ public function getEnabledDefinitions(EditorInterface $editor): array {
       }
     }
 
-    // Only enable the General HTML Support plugin on text formats with no HTML
-    // restrictions.
+    // Only enable the arbitrary HTML Support plugin on text formats with no
+    // HTML restrictions.
     // @see https://ckeditor.com/docs/ckeditor5/latest/api/html-support.html
     // @see https://github.com/ckeditor/ckeditor5/issues/9856
     if ($editor->getFilterFormat()->getHtmlRestrictions() !== FALSE) {
-      unset($definitions['ckeditor5_htmlSupport']);
+      unset($definitions['ckeditor5_arbitraryHtmlSupport']);
     }
 
     // Evaluate `plugins` condition.
@@ -175,6 +175,22 @@ public function getEnabledDefinitions(EditorInterface $editor): array {
       }
     }
 
+    if (!isset($definitions['ckeditor5_arbitraryHtmlSupport'])) {
+      $restrictions = new HTMLRestrictions($this->getProvidedElements(array_keys($definitions), $editor, FALSE));
+      if ($restrictions->getWildcardSubset()->isEmpty()) {
+        // This is only reached if arbitrary HTML is not enabled. If wildcard
+        // tags (such as $text-container) are present, they need to
+        // be resolved via the wildcardHtmlSupport plugin.
+        // @see \Drupal\ckeditor5\Plugin\CKEditor5PluginManager::getCKEditor5PluginConfig()
+        unset($definitions['ckeditor5_wildcardHtmlSupport']);
+      }
+    }
+    // When arbitrary HTML is already supported, there is no need to support
+    // wildcard tags.
+    else {
+      unset($definitions['ckeditor5_wildcardHtmlSupport']);
+    }
+
     return $definitions;
   }
 
@@ -254,6 +270,25 @@ public function getCKEditor5PluginConfig(EditorInterface $editor): array {
       $config[$plugin_id] = $plugin->getDynamicPluginConfig($definition->getCKEditor5Config(), $editor);
     }
 
+    // CKEditor 5 interprets wildcards from a "CKEditor 5 model element"
+    // perspective, Drupal interprets wildcards from a "HTML element"
+    // perspective. GHS is used to reconcile those two perspectives, to ensure
+    // all expected HTML elements truly are supported.
+    // The `ckeditor5_wildcardHtmlSupport` is automatically enabled when
+    // necessary, and only when necessary.
+    // @see \Drupal\ckeditor5\Plugin\CKEditor5PluginManager::getEnabledDefinitions()
+    if (isset($definitions['ckeditor5_wildcardHtmlSupport'])) {
+      $allowed_elements = new HTMLRestrictions($this->getProvidedElements(array_keys($definitions), $editor, FALSE));
+      // Compute the net new elements that the wildcard tags resolve into.
+      $concrete_allowed_elements = $allowed_elements->getConcreteSubset();
+      $net_new_elements = $allowed_elements->diff($concrete_allowed_elements);
+      $config['ckeditor5_wildcardHtmlSupport'] = [
+        'htmlSupport' => [
+          'allow' => $net_new_elements->toGeneralHtmlSupportConfig(),
+        ],
+      ];
+    }
+
     return [
       'plugins' => $this->mergeDefinitionValues('getCKEditor5Plugins', $definitions),
       'config' => NestedArray::mergeDeepArray($config),
@@ -263,7 +298,7 @@ public function getCKEditor5PluginConfig(EditorInterface $editor): array {
   /**
    * {@inheritdoc}
    */
-  public function getProvidedElements(array $plugin_ids = [], EditorInterface $editor = NULL): array {
+  public function getProvidedElements(array $plugin_ids = [], EditorInterface $editor = NULL, bool $resolve_wildcards = TRUE): array {
     $plugins = $this->getDefinitions();
     if (!empty($plugin_ids)) {
       $plugins = array_intersect_key($plugins, array_flip($plugin_ids));
@@ -312,7 +347,7 @@ public function getProvidedElements(array $plugin_ids = [], EditorInterface $edi
       }
     }
 
-    return $elements->getAllowedElements();
+    return $elements->getAllowedElements($resolve_wildcards);
   }
 
   /**
diff --git a/web/core/modules/ckeditor5/src/Plugin/CKEditor5PluginManagerInterface.php b/web/core/modules/ckeditor5/src/Plugin/CKEditor5PluginManagerInterface.php
index adf8967f91..4c46eac057 100644
--- a/web/core/modules/ckeditor5/src/Plugin/CKEditor5PluginManagerInterface.php
+++ b/web/core/modules/ckeditor5/src/Plugin/CKEditor5PluginManagerInterface.php
@@ -98,22 +98,29 @@ public function findPluginSupportingElement(string $tag): ?string;
   public function getCKEditor5PluginConfig(EditorInterface $editor): array;
 
   /**
-   * Create a list of elements with attributes declared for the CKEditor5 build.
+   * Gets all supported elements for the given plugins and text editor.
    *
    * @param string[] $plugin_ids
-   *   An array of plugin IDs.
-   * @param \Drupal\editor\EditorInterface $editor
-   *   A configured text editor object.
+   *   (optional) An array of CKEditor 5 plugin IDs. When not set, gets elements
+   *   for all plugins.
+   * @param \Drupal\editor\EditorInterface|null $editor
+   *   (optional) A configured text editor object using CKEditor 5. When not
+   *   set, plugins depending on the text editor cannot provide elements.
+   * @param bool $resolve_wildcards
+   *   (optional) Whether to resolve wildcards. Defaults to TRUE. When set to
+   *   FALSE, the raw allowed elements will be returned (with no processing
+   *   applied hence no resolved wildcards).
    *
    * @return array
    *   A nested array with a structure as described in
    *   \Drupal\filter\Plugin\FilterInterface::getHTMLRestrictions().
    *
    * @throws \LogicException
-   *   Thrown when an invalid CKEditor5PluginElementsSubsetInterface implementation is encountered.
+   *   Thrown when an invalid CKEditor5PluginElementsSubsetInterface
+   *   implementation is encountered.
    *
    * @see \Drupal\filter\Plugin\FilterInterface::getHTMLRestrictions()
    */
-  public function getProvidedElements(array $plugin_ids = [], EditorInterface $editor = NULL): array;
+  public function getProvidedElements(array $plugin_ids = [], EditorInterface $editor = NULL, bool $resolve_wildcards = TRUE): array;
 
 }
diff --git a/web/core/modules/ckeditor5/src/Plugin/Editor/CKEditor5.php b/web/core/modules/ckeditor5/src/Plugin/Editor/CKEditor5.php
index f761aafbf5..3e123a5bce 100644
--- a/web/core/modules/ckeditor5/src/Plugin/Editor/CKEditor5.php
+++ b/web/core/modules/ckeditor5/src/Plugin/Editor/CKEditor5.php
@@ -4,6 +4,7 @@
 
 namespace Drupal\ckeditor5\Plugin\Editor;
 
+use Drupal\ckeditor5\CKEditor5StylesheetsMessage;
 use Drupal\ckeditor5\HTMLRestrictions;
 use Drupal\ckeditor5\Plugin\CKEditor5Plugin\Heading;
 use Drupal\ckeditor5\Plugin\CKEditor5PluginDefinition;
@@ -98,6 +99,13 @@ class CKEditor5 extends EditorBase implements ContainerFactoryPluginInterface {
    */
   protected $cache;
 
+  /**
+   * The ckeditor_stylesheets message utility.
+   *
+   * @var \Drupal\ckeditor5\CKEditor5StylesheetsMessage
+   */
+  private $stylesheetsMessage;
+
   /**
    * Constructs a CKEditor5 editor plugin.
    *
@@ -117,14 +125,17 @@ class CKEditor5 extends EditorBase implements ContainerFactoryPluginInterface {
    *   The smart default settings utility.
    * @param \Drupal\Core\Cache\CacheBackendInterface $cache
    *   The cache.
+   * @param \Drupal\ckeditor5\CKEditor5StylesheetsMessage $stylesheets_message
+   *   The ckeditor_stylesheets message utility.
    */
-  public function __construct(array $configuration, $plugin_id, $plugin_definition, CKEditor5PluginManagerInterface $ckeditor5_plugin_manager, LanguageManagerInterface $language_manager, ModuleHandlerInterface $module_handler, SmartDefaultSettings $smart_default_settings, CacheBackendInterface $cache) {
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, CKEditor5PluginManagerInterface $ckeditor5_plugin_manager, LanguageManagerInterface $language_manager, ModuleHandlerInterface $module_handler, SmartDefaultSettings $smart_default_settings, CacheBackendInterface $cache, CKEditor5StylesheetsMessage $stylesheets_message) {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
     $this->ckeditor5PluginManager = $ckeditor5_plugin_manager;
     $this->languageManager = $language_manager;
     $this->moduleHandler = $module_handler;
     $this->smartDefaultSettings = $smart_default_settings;
     $this->cache = $cache;
+    $this->stylesheetsMessage = $stylesheets_message;
   }
 
   /**
@@ -139,7 +150,8 @@ public static function create(ContainerInterface $container, array $configuratio
       $container->get('language_manager'),
       $container->get('module_handler'),
       $container->get('ckeditor5.smart_default_settings'),
-      $container->get('cache.default')
+      $container->get('cache.default'),
+      $container->get('ckeditor5.stylesheets.message')
     );
   }
 
@@ -267,6 +279,23 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta
       $form_state->set('editor', $editor);
     }
 
+    if ($css_warning = $this->stylesheetsMessage->getWarning()) {
+      // Explicitly render this single warning message visually close to the
+      // text editor since this is a very long form. Otherwise, it may be
+      // interpreted as a text format problem, or ignored entirely.
+      // All other messages will be rendered in the default location.
+      // @see \Drupal\Core\Render\Element\StatusMessages
+      $form['css_warning'] = [
+        '#theme' => 'status_messages',
+        '#message_list' => [
+          'warning' => [$css_warning],
+        ],
+        '#status_headings' => [
+          'warning' => t('Warning message'),
+        ],
+      ];
+    }
+
     // AJAX validation errors should appear visually close to the text editor
     // since this is a very long form: otherwise they would not be noticed.
     $form['real_time_validation_errors_location'] = [
diff --git a/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/CKEditor5ElementConstraintValidator.php b/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/CKEditor5ElementConstraintValidator.php
index fe62d14421..ca0854c693 100644
--- a/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/CKEditor5ElementConstraintValidator.php
+++ b/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/CKEditor5ElementConstraintValidator.php
@@ -4,7 +4,7 @@
 
 namespace Drupal\ckeditor5\Plugin\Validation\Constraint;
 
-use Drupal\Component\Utility\Html;
+use Drupal\ckeditor5\HTMLRestrictions;
 use Symfony\Component\Validator\ConstraintValidator;
 use Symfony\Component\Validator\Exception\UnexpectedTypeException;
 
@@ -25,9 +25,9 @@ public function validate($element, $constraint) {
     if (!$constraint instanceof CKEditor5ElementConstraint) {
       throw new UnexpectedTypeException($constraint, __NAMESPACE__ . '\CKEditor5Element');
     }
-    $body_child_nodes = Html::load(str_replace('>', ' />', trim($element)))->getElementsByTagName('body')->item(0)->childNodes;
 
-    if ($body_child_nodes->count() !== 1 || $body_child_nodes->item(0)->nodeType !== XML_ELEMENT_NODE) {
+    $parsed = HTMLRestrictions::fromString($element);
+    if ($parsed->isEmpty() || count($parsed->getAllowedElements()) > 1 || $element !== $parsed->toCKEditor5ElementsArray()[0]) {
       $this->context->buildViolation($constraint->message)
         ->setParameter('%provided_element', $element)
         ->addViolation();
diff --git a/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/FundamentalCompatibilityConstraintValidator.php b/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/FundamentalCompatibilityConstraintValidator.php
index dd7fa611e7..4101b8621a 100644
--- a/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/FundamentalCompatibilityConstraintValidator.php
+++ b/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/FundamentalCompatibilityConstraintValidator.php
@@ -8,6 +8,8 @@
 use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\editor\EditorInterface;
 use Drupal\filter\FilterFormatInterface;
+use Drupal\filter\Plugin\Filter\FilterAutoP;
+use Drupal\filter\Plugin\Filter\FilterUrl;
 use Drupal\filter\Plugin\FilterInterface;
 use Symfony\Component\Validator\Constraint;
 use Symfony\Component\Validator\ConstraintValidator;
@@ -74,6 +76,13 @@ public function validate($toolbar_item, Constraint $constraint) {
   /**
    * Checks no TYPE_MARKUP_LANGUAGE filters are present.
    *
+   * Two TYPE_MARKUP_LANGUAGE filters are exempted:
+   * - filter_autop: pointless but harmless to have enabled
+   * - filter_url: not recommended but also harmless to have enabled
+   *
+   * These two commonly enabled filters with a long history in Drupal are
+   * considered to be acceptable to have enabled.
+   *
    * @param \Drupal\filter\FilterFormatInterface $text_format
    *   The text format to validate.
    * @param \Drupal\ckeditor5\Plugin\Validation\Constraint\FundamentalCompatibilityConstraint $constraint
@@ -85,6 +94,9 @@ private function checkNoMarkupFilters(FilterFormatInterface $text_format, Fundam
       FilterInterface::TYPE_MARKUP_LANGUAGE
     );
     foreach ($markup_filters as $markup_filter) {
+      if ($markup_filter instanceof FilterAutoP || $markup_filter instanceof FilterUrl) {
+        continue;
+      }
       $this->context->buildViolation($constraint->noMarkupFiltersMessage)
         ->setParameter('%filter_label', $markup_filter->getLabel())
         ->setParameter('%filter_plugin_id', $markup_filter->getPluginId())
diff --git a/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingRedundantTagsConstraint.php b/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingRedundantTagsConstraint.php
index 76fe468a61..790c988b07 100644
--- a/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingRedundantTagsConstraint.php
+++ b/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingRedundantTagsConstraint.php
@@ -7,11 +7,11 @@
 use Symfony\Component\Validator\Constraint;
 
 /**
- * For disallowing Source Editing tags that are already supported by a plugin.
+ * For disallowing Source Editing elements already supported by a plugin.
  *
  * @Constraint(
  *   id = "SourceEditingRedundantTags",
- *   label = @Translation("Source editing should only use otherwise unavailable tags", context = "Validation"),
+ *   label = @Translation("Source editing should only use otherwise unavailable tags and attributes", context = "Validation"),
  * )
  *
  * @internal
@@ -19,17 +19,17 @@
 class SourceEditingRedundantTagsConstraint extends Constraint {
 
   /**
-   * When a Source Editing tag is added that an enabled plugin supports.
+   * When a Source Editing element is added that an enabled plugin supports.
    *
    * @var string
    */
-  public $enabledPluginsMessage = 'The following tag(s) are already supported by enabled plugins and should not be added to the Source Editing "Manually editable HTML tags" field: %overlapping_tags.';
+  public $enabledPluginsMessage = 'The following @element_type(s) are already supported by enabled plugins and should not be added to the Source Editing "Manually editable HTML tags" field: %overlapping_tags.';
 
   /**
-   * When a Source Editing tag is added that a disabled plugin supports.
+   * When a Source Editing element is added that a disabled plugin supports.
    *
    * @var string
    */
-  public $availablePluginsMessage = 'The following tag(s) are already supported by available plugins and should not be added to the Source Editing "Manually editable HTML tags" field. Instead, enable the following plugins to support these tags: %overlapping_tags.';
+  public $availablePluginsMessage = 'The following @element_type(s) are already supported by available plugins and should not be added to the Source Editing "Manually editable HTML tags" field. Instead, enable the following plugins to support these @element_types: %overlapping_tags.';
 
 }
diff --git a/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingRedundantTagsConstraintValidator.php b/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingRedundantTagsConstraintValidator.php
index 7633fb58fb..9e401cea23 100644
--- a/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingRedundantTagsConstraintValidator.php
+++ b/web/core/modules/ckeditor5/src/Plugin/Validation/Constraint/SourceEditingRedundantTagsConstraintValidator.php
@@ -5,7 +5,9 @@
 namespace Drupal\ckeditor5\Plugin\Validation\Constraint;
 
 use Drupal\ckeditor5\HTMLRestrictions;
+use Drupal\ckeditor5\Plugin\CKEditor5PluginDefinition;
 use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
+use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Symfony\Component\Validator\Constraint;
 use Symfony\Component\Validator\ConstraintValidator;
 use Symfony\Component\Validator\Exception\UnexpectedTypeException;
@@ -18,6 +20,7 @@
 class SourceEditingRedundantTagsConstraintValidator extends ConstraintValidator implements ContainerInjectionInterface {
 
   use PluginManagerDependentValidatorTrait;
+  use StringTranslationTrait;
   use TextEditorObjectDependentValidatorTrait;
 
   /**
@@ -37,49 +40,106 @@ public function validate($value, Constraint $constraint) {
     $text_editor = $this->createTextEditorObjectFromContext();
     $enabled_plugins = $this->pluginManager->getEnabledDefinitions($text_editor);
     $disabled_plugins = array_diff_key($this->pluginManager->getDefinitions(), $enabled_plugins);
+    // Only consider plugins that can be explicitly enabled by the user: plugins
+    // that have a toolbar item and do not have conditions. Those are the only
+    // plugins that are truly available for the site builder to enable without
+    // other consequences.
+    // In the future, we may choose to expand this, but it will require complex
+    // infrastructure to generate messages that explain which of the conditions
+    // are already fulfilled and which are not.
+    $disabled_plugins = array_filter($disabled_plugins, function (CKEditor5PluginDefinition $definition) {
+      return $definition->hasToolbarItems() && !$definition->hasConditions();
+    });
     unset($enabled_plugins['ckeditor5_sourceEditing']);
 
     // An array of tags enabled by every plugin other than Source Editing.
-    $enabled_plugin_tags = new HTMLRestrictions($this->pluginManager->getProvidedElements(array_keys($enabled_plugins)));
-    $disabled_plugin_tags = new HTMLRestrictions($this->pluginManager->getProvidedElements(array_keys($disabled_plugins)));
+    $enabled_plugin_tags = new HTMLRestrictions($this->pluginManager->getProvidedElements(array_keys($enabled_plugins), $text_editor, FALSE));
+    $disabled_plugin_tags = new HTMLRestrictions($this->pluginManager->getProvidedElements(array_keys($disabled_plugins), $text_editor, FALSE));
 
     // The single tag for which source editing is enabled, which we are checking
     // now.
     $source_enabled_tags = HTMLRestrictions::fromString($value);
+    // Test for empty allowed elements with resolved wildcards since, for the
+    // purposes of this validator, HTML restrictions containing only wildcards
+    // should be considered empty.
     // @todo Remove this early return in
     //   https://www.drupal.org/project/drupal/issues/2820364. It is only
     //   necessary because CKEditor5ElementConstraintValidator does not run
     //   before this, which means that this validator cannot assume it receives
     //   valid values.
-    if ($source_enabled_tags->isEmpty() || count($source_enabled_tags->getAllowedElements()) > 1) {
-      return;
-    }
-    // This validation constraint currently only validates tags, not attributes;
-    // so if all attributes are allowed (TRUE) or some attributes are allowed
-    // (an array), return early. Only proceed when no attributes are allowed
-    // (FALSE).
-    // @todo Support attributes and attribute values in
-    //   https://www.drupal.org/project/drupal/issues/3260857
-    $tags = array_keys($source_enabled_tags->getAllowedElements());
-    if ($source_enabled_tags->getAllowedElements()[reset($tags)] !== FALSE) {
+    if (count($source_enabled_tags->getAllowedElements()) !== 1) {
       return;
     }
 
     $enabled_plugin_overlap = $enabled_plugin_tags->intersect($source_enabled_tags);
-    $disabled_plugin_overlap = $disabled_plugin_tags->intersect($source_enabled_tags);
+    $disabled_plugin_overlap = $disabled_plugin_tags
+      // Merge the enabled plugin tags, to allow wildcards to be resolved.
+      ->merge($enabled_plugin_tags)
+      // Compute the overlap.
+      ->intersect($source_enabled_tags)
+      // Exclude the enabled plugin tags from the overlap; we merged these
+      // previously to be able to resolve wildcards.
+      ->diff($enabled_plugin_overlap);
     foreach ([$enabled_plugin_overlap, $disabled_plugin_overlap] as $overlap) {
       $checking_enabled = $overlap === $enabled_plugin_overlap;
       if (!$overlap->isEmpty()) {
         $plugins_to_check_against = $checking_enabled ? $enabled_plugins : $disabled_plugins;
-        $tags_plugin_report = $this->pluginsSupplyingTagsMessage($overlap, $plugins_to_check_against);
+        $tags_plugin_report = $this->pluginsSupplyingTagsMessage($overlap, $plugins_to_check_against, $enabled_plugin_tags);
         $message = $checking_enabled ? $constraint->enabledPluginsMessage : $constraint->availablePluginsMessage;
+
+        // Determine which element type is relevant for the violation message.
+        assert(count($overlap->getAllowedElements(FALSE)) === 1);
+        $overlap_tag = array_keys($overlap->getAllowedElements(FALSE))[0];
+        $element_type = self::tagHasAttributeRestrictions($overlap, $overlap_tag) && array_key_exists($overlap_tag, $enabled_plugin_tags->getAllowedElements())
+          ? $this->t('attribute')
+          : $this->t('tag');
+
+        // If the entirety (so not just the tag but also the attributes, and not
+        // just some of the attribute values, but all of them) of the HTML
+        // elements being configured to be edited via the Source Editing plugin
+        // is supported by a CKEditor 5 plugin, complain. But if some attribute
+        // or some attribute value is still not yet supported, do not generate a
+        // violation message.
+        // If there is overlap, but some attribute/attribute value is still not
+        // supported, exit this iteration without generating a violation
+        // message. Essentially: when assessing a particular value
+        // (for example `<foo bar baz>`), only CKEditor 5 plugins providing an
+        // exact match (`<foo bar baz>`) or a superset (`<foo bar baz qux>`) can
+        // trigger a violation, not subsets (`<foo>`).
+        if (!$source_enabled_tags->diff($overlap)->isEmpty()) {
+          continue;
+        }
+
+        // If we reach this, it means the entirety (so not just the tag but also
+        // the attributes, and not just some of the attribute values, but all of
+        // them) of the HTML elements being configured to be edited via the
+        // Source Editing plugin's 'allowed_tags' configuration is supported by
+        // a CKEditor 5 plugin. This earns a violation.
         $this->context->buildViolation($message)
+          ->setParameter('@element_type', $element_type)
           ->setParameter('%overlapping_tags', $tags_plugin_report)
           ->addViolation();
       }
     }
   }
 
+  /**
+   * Inspects whether the given tag has attribute restrictions.
+   *
+   * @param \Drupal\ckeditor5\HTMLRestrictions $r
+   *   A set of HTML restrictions to inspect.
+   * @param string $tag_name
+   *   The tag to check for attribute restrictions in $r.
+   *
+   * @return bool
+   *   TRUE if the given tag has attribute restrictions, FALSE otherwise.
+   */
+  private static function tagHasAttributeRestrictions(HTMLRestrictions $r, string $tag_name): bool {
+    $all_elements = $r->getAllowedElements(FALSE);
+    assert(isset($all_elements[$tag_name]));
+    return is_array($r->getAllowedElements(FALSE)[$tag_name]);
+  }
+
   /**
    * Creates a message listing plugins and the overlapping tags they provide.
    *
@@ -87,16 +147,34 @@ public function validate($value, Constraint $constraint) {
    *   An array of overlapping tags.
    * @param \Drupal\ckeditor5\Plugin\CKEditor5PluginDefinition[] $plugin_definitions
    *   An array of plugin definitions where overlap was found.
+   * @param \Drupal\ckeditor5\HTMLRestrictions $enabled_plugin_restrictions
+   *   The set of HTML restrictions for all already enabled CKEditor 5 plugins.
    *
    * @return string
    *   A list of plugins that provide the overlapping tags.
    */
-  private function pluginsSupplyingTagsMessage(HTMLRestrictions $overlap, array $plugin_definitions): string {
+  private function pluginsSupplyingTagsMessage(HTMLRestrictions $overlap, array $plugin_definitions, HTMLRestrictions $enabled_plugin_restrictions): string {
     $message_array = [];
     $message_string = '';
     foreach ($plugin_definitions as $plugin_id => $definition) {
       if ($definition->hasElements()) {
         $plugin_capabilities = HTMLRestrictions::fromString(implode(' ', $definition->getElements()));
+
+        // If this plugin supports wildcards, resolve them.
+        if (!$plugin_capabilities->getWildcardSubset()->isEmpty()) {
+          $plugin_capabilities = $plugin_capabilities
+            // Resolve wildcards.
+            ->merge($enabled_plugin_restrictions)
+            ->diff($enabled_plugin_restrictions);
+        }
+
+        // Skip plugins that provide a subset, only mention the plugin that
+        // actually provides the overlap.
+        // For example: avoid listing the image alignment/captioning plugins
+        // when matching `<img src>`; only lists the main image plugin.
+        if (!$overlap->diff($plugin_capabilities)->isEmpty()) {
+          continue;
+        }
         foreach ($plugin_capabilities->intersect($overlap)->toCKEditor5ElementsArray() as $element) {
           $message_array[(string) $definition->label()][] = $element;
         }
diff --git a/web/core/modules/ckeditor5/src/SmartDefaultSettings.php b/web/core/modules/ckeditor5/src/SmartDefaultSettings.php
index 59986631e0..636de082d0 100644
--- a/web/core/modules/ckeditor5/src/SmartDefaultSettings.php
+++ b/web/core/modules/ckeditor5/src/SmartDefaultSettings.php
@@ -10,6 +10,7 @@
 use Drupal\ckeditor5\Plugin\CKEditor5PluginDefinition;
 use Drupal\ckeditor5\Plugin\CKEditor5PluginElementsSubsetInterface;
 use Drupal\ckeditor5\Plugin\CKEditor5PluginManagerInterface;
+use Drupal\Component\Assertion\Inspector;
 use Drupal\Component\Plugin\PluginManagerInterface;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\editor\EditorInterface;
@@ -124,42 +125,41 @@ public function computeSmartDefaultSettings(?EditorInterface $text_editor, Filte
     $old_editor = $editor->id() ? Editor::load($editor->id()) : NULL;
     if ($old_editor && $old_editor->getEditor() === 'ckeditor') {
       $enabled_cke4_plugins = $this->getEnabledCkeditor4Plugins($old_editor);
-      [$upgraded_settings, $messages] = $this->createSettingsFromCKEditor4($old_editor->getSettings(), $enabled_cke4_plugins);
+      [$upgraded_settings, $messages] = $this->createSettingsFromCKEditor4($old_editor->getSettings(), $enabled_cke4_plugins, HTMLRestrictions::fromTextFormat($old_editor->getFilterFormat()));
       $editor->setSettings($upgraded_settings);
       $editor->setImageUploadSettings($old_editor->getImageUploadSettings());
     }
 
-    // First, add toolbar items based on HTML tags.
+    // Add toolbar items based on HTML tags and attributes.
     // NOTE: Helper updates $editor->settings by reference and returns info for the message.
-    $result = $this->addToolbarItemsToMatchHtmlTagsInFormat($text_format, $editor);
+    $result = $this->addToolbarItemsToMatchHtmlElementsInFormat($text_format, $editor);
     if ($result !== NULL) {
-      [$enabling_message_content, $unsupported] = $result;
+      [$enabling_message_content, $enabled_for_attributes_message_content, $missing] = $result;
+
+      // Distinguish between unsupported elements covering only tags or not.
+      $missing_attributes = new HTMLRestrictions(array_filter($missing->getAllowedElements()));
+      $unsupported = $missing->diff($missing_attributes);
+
       if ($enabling_message_content) {
         $messages[] = $this->t('The following plugins were enabled to support tags that are allowed by this text format: %enabling_message_content.',
           ['%enabling_message_content' => $enabling_message_content],
         );
       }
       // Warn user about unsupported tags.
-      if (!empty($unsupported)) {
+      if (!$unsupported->isEmpty()) {
         $this->addTagsToSourceEditing($editor, $unsupported);
         $messages[] = $this->t("The following tags were permitted by this format's filter configuration, but no plugin was available that supports them. To ensure the tags remain supported by this text format, the following were added to the Source Editing plugin's <em>Manually editable HTML tags</em>: @unsupported_string.", [
           '@unsupported_string' => $unsupported->toFilterHtmlAllowedTagsString(),
         ]);
       }
-    }
 
-    // Next, add more toolbar items to try to also support attributes on already
-    // supported tags that have still unsupported attributes.
-    $result = $this->addToolbarItemsToMatchHtmlAttributesInFormat($text_format, $editor);
-    if ($result !== NULL) {
-      [$enabled_for_attributes_message_content, $missing_attributes] = $result;
       if ($enabled_for_attributes_message_content) {
         $messages[] = $this->t('The following plugins were enabled to support specific attributes that are allowed by this text format: %enabled_for_attributes_message_content.',
           ['%enabled_for_attributes_message_content' => $enabled_for_attributes_message_content],
         );
       }
       // Warn user about supported tags but missing attributes.
-      if ($missing_attributes) {
+      if (!$missing_attributes->isEmpty()) {
         $this->addTagsToSourceEditing($editor, $missing_attributes);
         $messages[] = $this->t("This format's HTML filters includes plugins that support the following tags, but not some of their attributes. To ensure these attributes remain supported by this text format, the following were added to the Source Editing plugin's <em>Manually editable HTML tags</em>: @missing_attributes.", [
           '@missing_attributes' => $missing_attributes->toFilterHtmlAllowedTagsString(),
@@ -200,6 +200,9 @@ private function addTagsToSourceEditing(EditorInterface $editor, HTMLRestriction
    * @param string[] $enabled_ckeditor4_plugins
    *   The list of enabled CKEditor 4 plugins: their settings will be mapped to
    *   the CKEditor 5 equivalents, if they have any.
+   * @param \Drupal\ckeditor5\HTMLRestrictions $text_format_html_restrictions
+   *   The restrictions of the text format, to allow an upgrade plugin to
+   *   inspect the text format's HTML restrictions to make a decision.
    *
    * @return array
    *   An array with two values:
@@ -210,7 +213,7 @@ private function addTagsToSourceEditing(EditorInterface $editor, HTMLRestriction
    *   Thrown when an upgrade plugin is attempting to generate plugin settings
    *   for a CKEditor 4 plugin upgrade path that have already been generated.
    */
-  private function createSettingsFromCKEditor4(array $ckeditor4_settings, array $enabled_ckeditor4_plugins): array {
+  private function createSettingsFromCKEditor4(array $ckeditor4_settings, array $enabled_ckeditor4_plugins, HTMLRestrictions $text_format_html_restrictions): array {
     $settings = [
       'toolbar' => [
         'items' => [],
@@ -226,7 +229,7 @@ private function createSettingsFromCKEditor4(array $ckeditor4_settings, array $e
         $some_added = FALSE;
         foreach ($group['items'] as $cke4_button) {
           try {
-            $equivalent = $this->upgradePluginManager->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem($cke4_button);
+            $equivalent = $this->upgradePluginManager->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem($cke4_button, $text_format_html_restrictions);
           }
           catch (\OutOfBoundsException $e) {
             $messages[] = $this->t('The CKEditor 4 button %button does not have a known upgrade path. If it allowed editing markup, then you can do so now through the Source Editing functionality.', [
@@ -235,7 +238,7 @@ private function createSettingsFromCKEditor4(array $ckeditor4_settings, array $e
             continue;
           }
           if ($equivalent) {
-            $settings['toolbar']['items'][] = $equivalent;
+            $settings['toolbar']['items'] = array_merge($settings['toolbar']['items'], $equivalent);
             $some_added = TRUE;
           }
         }
@@ -326,88 +329,285 @@ protected function getEnabledCkeditor4Plugins(EditorInterface $editor): array {
   }
 
   /**
-   * Adds CKEditor 5 toolbar items to match the format's HTML tags.
+   * Computes net new needed elements when considering adding the given plugin.
    *
-   * @param \Drupal\filter\FilterFormatInterface $format
-   *   The text format for which to compute smart default settings.
-   * @param \Drupal\editor\EditorInterface $editor
-   *   The text editor config entity to update.
+   * @param \Drupal\ckeditor5\HTMLRestrictions $baseline
+   *   The set of HTML restrictions already supported.
+   * @param \Drupal\ckeditor5\HTMLRestrictions $needed
+   *   The set of HTML restrictions that are needed, that is: in addition to
+   *   $baseline.
+   * @param \Drupal\ckeditor5\Plugin\CKEditor5PluginDefinition $added_plugin
+   *   The CKEditor 5 plugin that is being evaluated to check if it would meet
+   *   some of the needs.
    *
-   * @return array|null
-   *   NULL when nothing happened, otherwise an array with two values:
-   *   1. a description (for use in a message) of which CKEditor 5 plugins were
-   *      enabled to match the HTML tags allowed by the text format.
-   *   2. the unsupported elements, in an HTMLRestrictions value object
+   * @return array
+   *   An array containing two values:
+   *   - a set of HTML restrictions that indicates the net new additions that
+   *     are needed
+   *   - a set of HTML restrictions that indicates the surplus additions (these
+   *     are elements that were not needed, but are added by this plugin)
    */
-  private function addToolbarItemsToMatchHtmlTagsInFormat(FilterFormatInterface $format, EditorInterface $editor): ?array {
-    $html_restrictions_needed_elements = $format->getHtmlRestrictions();
-    if ($html_restrictions_needed_elements === FALSE) {
-      return NULL;
-    }
+  private static function computeNetNewElementsForPlugin(HTMLRestrictions $baseline, HTMLRestrictions $needed, CKEditor5PluginDefinition $added_plugin): array {
+    $plugin_support = HTMLRestrictions::fromString(implode(' ', $added_plugin->getElements()));
+    // Do not inspect just $plugin_support, but the union of that with the
+    // already supported elements: wildcard restrictions will only resolve
+    // if the concrete tags they support are also present.
+    $potential_future = $baseline->merge($plugin_support);
+    // This is the heart of the operation: intersect the potential future
+    // with what we need to achieve, then subtract what is already
+    // supported. This yields the net new elements.
+    $net_new = $potential_future->intersect($needed)->diff($baseline);
+    // But … we may compute too many.
+    $surplus_additions = $potential_future->diff($needed)->diff($baseline);
+    return [$net_new, $surplus_additions];
+  }
 
-    // Add all buttons until we match or exceed the current text format
-    // restrictions.
-    $enabled_plugins = array_keys($this->pluginManager->getEnabledDefinitions($editor));
-    $provided_elements = $this->pluginManager->getProvidedElements($enabled_plugins);
+  /**
+   * Computes a score for the given surplus compared to the given need.
+   *
+   * @param \Drupal\ckeditor5\HTMLRestrictions $surplus
+   *   A surplus compared to what is needed.
+   * @param \Drupal\ckeditor5\HTMLRestrictions $needed
+   *   Exactly what is needed.
+   *
+   * @return int
+   *   A surplus score. Lower is better. Scores are a positive integer.
+   *
+   * @see https://www.drupal.org/project/drupal/issues/3231328#comment-14444987
+   */
+  private static function computeSurplusScore(HTMLRestrictions $surplus, HTMLRestrictions $needed): int {
+    // Compute a score for surplus elements, while taking into account how much
+    // impact each surplus element has:
+    $surplus_score = 0;
+    foreach ($surplus->getAllowedElements() as $tag_name => $attributes_config) {
+      // 10^6 per surplus tag.
+      if (!isset($needed->getAllowedElements()[$tag_name])) {
+        $surplus_score += pow(10, 6);
+      }
 
-    // Automatically add the plugins that add support for the tags we want this
-    // CKEditor 5 instance to support.
-    $missing_tags = array_diff(array_keys($html_restrictions_needed_elements['allowed']), array_keys($provided_elements));
-    $to_add = [];
-    $unsupported = [];
-    foreach ($missing_tags as $tag) {
-      $id = $this->pluginManager->findPluginSupportingElement($tag);
-      if ($id) {
-        $to_add[$tag] = $id;
+      // 10^5 per surplus "any attributes allowed".
+      if ($attributes_config === TRUE) {
+        $surplus_score += pow(10, 5);
       }
-      // Add any tag that isn't the "star protector" tag to the array of
-      // unsupported tags.
-      // @see the $star_protector variable in
-      // \Drupal\filter\Plugin\Filter\FilterHtml::getHTMLRestrictions
-      // @todo this can be an 'else' with no conditions after
-      // https://www.drupal.org/project/drupal/issues/3226368
-      elseif ($tag !== '__zqh6vxfbk3cg__') {
-        $unsupported[$tag] = $html_restrictions_needed_elements['allowed'][$tag];
+
+      if (!is_array($attributes_config)) {
+        continue;
       }
-    }
 
-    $enabling_message_content = '';
-    $enabling_message_prep = [];
-    foreach ($to_add as $tag_name => $plugin_name) {
-      $enabling_message_prep[$plugin_name][] = $tag_name;
+      foreach ($attributes_config as $attribute_name => $attribute_config) {
+        // 10^4 per surplus wildcard attribute.
+        if (strpos($attribute_name, '*') !== FALSE) {
+          $surplus_score += pow(10, 4);
+        }
+        // 10^3 per surplus attribute.
+        else {
+          $surplus_score += pow(10, 3);
+        }
+
+        // 10^2 per surplus "any attribute values allowed".
+        if ($attribute_config === TRUE) {
+          $surplus_score += pow(10, 2);
+        }
+
+        if (!is_array($attribute_config)) {
+          continue;
+        }
+
+        foreach ($attribute_config as $allowed_attribute_value => $allowed_attribute_value_config) {
+          // 10^1 per surplus wildcard attribute value.
+          if (strpos($allowed_attribute_value, '*') !== FALSE) {
+            $surplus_score += pow(10, 1);
+          }
+          // 10^0 per surplus attribute value.
+          else {
+            $surplus_score += pow(10, 0);
+          }
+        }
+      }
     }
+    return $surplus_score;
+  }
+
+  /**
+   * Finds candidates for the still needed restrictions among disabled plugins.
+   *
+   * @param \Drupal\ckeditor5\HTMLRestrictions $provided
+   *   The already provided HTML restrictions, thanks to already enabled
+   *   CKEditor 5 plugins.
+   * @param \Drupal\ckeditor5\HTMLRestrictions $still_needed
+   *   The still needed HTML restrictions, unmet by the already enabled CKEditor
+   *   5 plugins.
+   * @param \Drupal\ckeditor5\Plugin\CKEditor5PluginDefinition[] $disabled_plugin_definitions
+   *   The list of not yet enabled CKEditor 5 plugin definitions, amongst which
+   *   candidates must be found.
+   *
+   * @return array
+   *   A nested array with a tree structure covering:
+   *   1. tag name
+   *   2. concrete attribute name, `-attribute-none-` (meaning no attributes
+   *      allowed on this tag) or `-attribute-any-` (meaning any attribute
+   *      allowed on this tag).
+   *   3. (optional) attribute value (if concrete attribute name in previous
+   *      level), `TRUE` or `FALSE`
+   *   4. (optional) attribute value restriction
+   *   5. candidate CKEditor 5 plugin ID for the HTML elements in the hierarchy
+   *   and the surplus score as the value. In other words: the leaf of this is
+   *   always a leaf, and a selected CKEditor 5 plugin ID is always the parent
+   *   of a leaf.
+   */
+  private static function getCandidates(HTMLRestrictions $provided, HTMLRestrictions $still_needed, array $disabled_plugin_definitions): array {
+    $plugin_candidates = [];
+    if (!$still_needed->isEmpty()) {
+      foreach ($disabled_plugin_definitions as $definition) {
+        // Only proceed if the plugin has configured elements and the plugin
+        // does not have conditions. In the future we could add support for
+        // automatically enabling filters, but for now we assume that the filter
+        // configuration cannot be modified.
+        if (!$definition->hasConditions() && $definition->hasElements()) {
+          [$net_new, $surplus_additions] = self::computeNetNewElementsForPlugin($provided, $still_needed, $definition);
+          if (!$net_new->isEmpty()) {
+            $plugin_id = $definition->id();
+            $surplus_score = static::computeSurplusScore($surplus_additions, $still_needed);
+            foreach ($net_new->getAllowedElements() as $tag_name => $attributes_config) {
+              // Non-specific attribute restrictions: `FALSE` or `TRUE`.
+              // TRICKY: PHP does not support boolean array keys, so map these
+              // to a string. The string must not be a valid attribute name, so
+              // use a leading and trailing dash.
+              if (!is_array($attributes_config)) {
+                $non_specific_attribute = $attributes_config ? '-attributes-any-' : '-attributes-none-';
+                $plugin_candidates[$tag_name][$non_specific_attribute][$plugin_id] = $surplus_score;
+                continue;
+              }
+
+              // With specific attribute restrictions: array.
+              foreach ($attributes_config as $attribute_name => $attribute_config) {
+                if (!is_array($attribute_config)) {
+                  $plugin_candidates[$tag_name][$attribute_name][$attribute_config][$plugin_id] = $surplus_score;
+                }
+                else {
+                  foreach ($attribute_config as $allowed_attribute_value => $allowed_attribute_value_config) {
+                    $plugin_candidates[$tag_name][$attribute_name][$allowed_attribute_value][$allowed_attribute_value_config][$plugin_id] = $surplus_score;
+                  }
+                }
+              }
 
-    $editor_settings_to_update = $editor->getSettings();
-    $new_group_created = FALSE;
-    foreach ($enabling_message_prep as $plugin_id => $tag_names) {
-      $label = $this->pluginManager->getDefinition($plugin_id)->label();
-      $tags = array_reduce($tag_names, function ($carry, $item) {
-        return $carry . "<$item>";
-      });
-      $enabling_message_content .= "$label (for tags: $tags) ";
-      $definition = $this->pluginManager->getDefinition($plugin_id);
-      if ($definition->hasToolbarItems()) {
-        if (!$new_group_created) {
-          $editor_settings_to_update['toolbar']['items'][] = '|';
-          $new_group_created = TRUE;
+              // If this plugin supports unneeded attributes, it still makes a
+              // valid candidate for supporting the HTML tag.
+              $plugin_candidates[$tag_name]['-attributes-none-'][$plugin_id] = $surplus_score;
+            }
+          }
         }
-        $editor_settings_to_update['toolbar']['items'] = array_merge($editor_settings_to_update['toolbar']['items'], array_keys($definition->getToolbarItems()));
       }
     }
 
-    unset($unsupported['*']);
-    if (!empty($enabling_message_content)) {
-      $editor->setSettings($editor_settings_to_update);
-      $enabling_message_content = substr($enabling_message_content, 0, -1);
-      return [$enabling_message_content, new HTMLRestrictions($unsupported)];
+    return $plugin_candidates;
+  }
+
+  /**
+   * Selects best candidate for each of the still needed restrictions.
+   *
+   * @param array $candidates
+   *   The output of ::getCandidates().
+   * @param \Drupal\ckeditor5\HTMLRestrictions $still_needed
+   *   The still needed HTML restrictions, unmet by the already enabled CKEditor
+   *   5 plugins.
+   * @param string[] $already_supported_tags
+   *   A list of already supported HTML tags, necessary to select the best
+   *   matching candidate for elements still needed in $still_needed.
+   *
+   * @return array
+   *   A nested array with a tree structure, with each key a selected CKEditor 5
+   *   plugin ID and its values expressing the reason it was enabled.
+   */
+  private static function selectCandidate(array $candidates, HTMLRestrictions $still_needed, array $already_supported_tags): array {
+    assert(Inspector::assertAllStrings($already_supported_tags));
+
+    // Make a selection in the candidates: minimize the surplus count, to
+    // avoid generating surplus additions whenever possible.
+    $selected_plugins = [];
+    foreach ($still_needed->getAllowedElements() as $tag_name => $attributes_config) {
+      if (!isset($candidates[$tag_name])) {
+        // Sadly no plugin found for this tag.
+        continue;
+      }
+
+      // Non-specific attribute restrictions for tag.
+      if (is_bool($attributes_config)) {
+        $key = $attributes_config ? '-attributes-any-' : '-attributes-none-';
+        if (!isset($candidates[$tag_name][$key])) {
+          // Sadly no plugin found for this tag + unspecific attribute.
+          continue;
+        }
+        asort($candidates[$tag_name][$key]);
+        $selected_plugin_id = array_keys($candidates[$tag_name][$key])[0];
+        $selected_plugins[$selected_plugin_id][$key][$tag_name] = NULL;
+        continue;
+      }
+
+      // Specific attribute restrictions for tag.
+      foreach ($attributes_config as $attribute_name => $attribute_config) {
+        if (!isset($candidates[$tag_name][$attribute_name])) {
+          // Sadly no plugin found for this tag + attribute.
+          continue;
+        }
+        if (!is_array($attribute_config)) {
+          if (!isset($candidates[$tag_name][$attribute_name][$attribute_config])) {
+            // Sadly no plugin found for this tag + attribute + config.
+            continue;
+          }
+          asort($candidates[$tag_name][$attribute_name][$attribute_config]);
+          $selected_plugin_id = array_keys($candidates[$tag_name][$attribute_name][$attribute_config])[0];
+          $selected_plugins[$selected_plugin_id][$attribute_name][$tag_name] = $attribute_config;
+          continue;
+        }
+        else {
+          foreach ($attribute_config as $allowed_attribute_value => $allowed_attribute_value_config) {
+            if (!isset($candidates[$tag_name][$attribute_name][$allowed_attribute_value][$allowed_attribute_value_config])) {
+              // Sadly no plugin found for this tag + attr + value + config.
+              continue;
+            }
+            asort($candidates[$tag_name][$attribute_name][$allowed_attribute_value][$allowed_attribute_value_config]);
+            $selected_plugin_id = array_keys($candidates[$tag_name][$attribute_name][$allowed_attribute_value][$allowed_attribute_value_config])[0];
+            $selected_plugins[$selected_plugin_id][$attribute_name][$tag_name][$allowed_attribute_value] = $allowed_attribute_value_config;
+            continue;
+          }
+        }
+      }
+
+      // If we got to this point, no exact match was found. But selecting a
+      // plugin to support the tag at all (when it is not yet supported) is
+      // crucial to meet the user's expectations.
+      // For example: when `<blockquote cite>` is needed, select at least the
+      // plugin that can support `<blockquote>`, then only the `cite` attribute
+      // needs to be made possible using the `SourceEditing` plugin.
+      if (!in_array($tag_name, $already_supported_tags, TRUE) && isset($candidates[$tag_name]['-attributes-none-'])) {
+        asort($candidates[$tag_name]['-attributes-none-']);
+        $selected_plugin_id = array_keys($candidates[$tag_name]['-attributes-none-'])[0];
+        $selected_plugins[$selected_plugin_id]['-attributes-none-'][$tag_name] = NULL;
+      }
     }
-    else {
-      return [NULL, new HTMLRestrictions($unsupported)];
+
+    // The above selects all exact matches. It's possible the same plugin is
+    // selected for multiple reasons: for supporting the tag at all, but also
+    // for supporting more attributes on the tag. Whenever that scenario
+    // occurs, keep only the "tag" reason, since that is the most relevant one
+    // for the end user. Otherwise a single plugin being selected (and enabled)
+    // could generate multiple messages, which would be confusing and
+    // overwhelming for the user.
+    // For example: when `<a href>` is needed, supporting `<a>` is more
+    // relevant to be informed about as an end user than the plugin also being
+    // enabled to support the `href` attribute.
+    foreach ($selected_plugins as $selected_plugin_id => $reason) {
+      if (count($reason) > 1 && isset($reason['-attributes-none-'])) {
+        $selected_plugins[$selected_plugin_id] = array_intersect_key($reason, ['-attributes-none-' => TRUE]);
+      }
     }
+
+    return $selected_plugins;
   }
 
   /**
-   * Adds CKEditor 5 toolbar items to match the format's HTML attributes.
+   * Adds CKEditor 5 toolbar items to match the format's HTML elements.
    *
    * @param \Drupal\filter\FilterFormatInterface $format
    *   The text format for which to compute smart default settings.
@@ -415,68 +615,58 @@ private function addToolbarItemsToMatchHtmlTagsInFormat(FilterFormatInterface $f
    *   The text editor config entity to update.
    *
    * @return array|null
-   *   NULL when nothing happened, otherwise an array with two values:
+   *   NULL when nothing happened, otherwise an array with three values:
    *   1. a description (for use in a message) of which CKEditor 5 plugins were
+   *      enabled to match the HTML tags allowed by the text format.
+   *   2. a description (for use in a message) of which CKEditor 5 plugins were
    *      enabled to match the HTML attributes allowed by the text format.
-   *   2. the unsupported elements, in an HTMLRestrictions value object
+   *   3. the unsupported elements, in an HTMLRestrictions value object
    */
-  private function addToolbarItemsToMatchHtmlAttributesInFormat(FilterFormatInterface $format, EditorInterface $editor): ?array {
+  private function addToolbarItemsToMatchHtmlElementsInFormat(FilterFormatInterface $format, EditorInterface $editor): ?array {
     $html_restrictions_needed_elements = $format->getHtmlRestrictions();
     if ($html_restrictions_needed_elements === FALSE) {
       return NULL;
     }
 
-    $enabled_plugins = array_keys($this->pluginManager->getEnabledDefinitions($editor));
+    $all_definitions = $this->pluginManager->getDefinitions();
+    $enabled_definitions = $this->pluginManager->getEnabledDefinitions($editor);
+    $disabled_definitions = array_diff_key($all_definitions, $enabled_definitions);
+    $enabled_plugins = array_keys($enabled_definitions);
     $provided_elements = $this->pluginManager->getProvidedElements($enabled_plugins);
     $provided = new HTMLRestrictions($provided_elements);
-    $missing = HTMLRestrictions::fromTextFormat($format)->diff($provided);
-    $supported_tags_with_unsupported_attributes = array_intersect_key($missing->getAllowedElements(), $provided_elements);
-    $supported_tags_with_unsupported_attributes = array_filter($supported_tags_with_unsupported_attributes, function ($tag_config) {
-      return is_array($tag_config);
-    });
-    $still_needed = new HTMLRestrictions($supported_tags_with_unsupported_attributes);
+    $still_needed = HTMLRestrictions::fromTextFormat($format)->diff($provided);
 
     if (!$still_needed->isEmpty()) {
-      $all_plugins_definitions = $this->pluginManager->getDefinitions();
-      foreach ($all_plugins_definitions as $plugin_id => $definition) {
-        // Only proceed if the plugin has configured elements and the plugin
-        // does not have conditions. In the future we could add support for
-        // automatically enabling filters, but for now we assume that the filter
-        // configuration cannot be modified.
-        if (!in_array($plugin_id, $enabled_plugins, TRUE) && !$definition->hasConditions() && $definition->hasElements()) {
-          $plugin_support = HTMLRestrictions::fromString(implode(' ', $definition->getElements()));
-          // Do not inspect just $plugin_support, but the union of that with the
-          // already supported elements: wildcard restrictions will only resolve
-          // if the concrete tags they support are also present.
-          $potential_future = $provided->merge($plugin_support);
-          // This is the heart of the operation: intersect the potential future
-          // with what we need to achieve, then subtract what is already
-          // supported. This yields the net new elements.
-          $net_new = $potential_future->intersect($still_needed)->diff($provided);
-          if (!$net_new->isEmpty()) {
-            foreach ($net_new->getAllowedElements() as $tag_name => $attributes_config) {
-              foreach ($attributes_config as $attribute_name => $attribute_config) {
-                $plugins_to_enable_to_support_attribute_config[$plugin_id][$attribute_name][$tag_name] = $attribute_config;
-              }
-            }
-            // Fewer attributes are still needed.
-            $still_needed = $still_needed->diff($net_new);
-          }
-        }
-      }
+      $plugin_candidates = self::getCandidates($provided, $still_needed, $disabled_definitions);
+      $selected_plugins = self::selectCandidate($plugin_candidates, $still_needed, array_keys($provided->getAllowedElements()));
 
       // If additional plugins need to be enable to support attribute config,
       // loop through the list to enable the plugins and build a UI message that
       // will convey this plugin-enabling to the user.
-      if (!empty($plugins_to_enable_to_support_attribute_config)) {
+      if (!empty($selected_plugins)) {
+        $enabled_for_tags_message_content = '';
         $enabled_for_attributes_message_content = '';
         $editor_settings_to_update = $editor->getSettings();
-        foreach ($plugins_to_enable_to_support_attribute_config as $plugin_id => $reason_why_enabled) {
+        // Create new group for all the added toolbar items.
+        $editor_settings_to_update['toolbar']['items'][] = '|';
+        foreach ($selected_plugins as $plugin_id => $reason_why_enabled) {
           $plugin_definition = $this->pluginManager->getDefinition($plugin_id);
           $label = $plugin_definition->label();
           if ($plugin_definition->hasToolbarItems()) {
+            [$net_new] = self::computeNetNewElementsForPlugin($provided, $still_needed, $plugin_definition);
             $editor_settings_to_update['toolbar']['items'] = array_merge($editor_settings_to_update['toolbar']['items'], array_keys($plugin_definition->getToolbarItems()));
             foreach ($reason_why_enabled as $attribute_name => $attribute_config) {
+              // Plugin was selected for tag.
+              if (in_array($attribute_name, ['-attributes-none-', '-attributes-any-'], TRUE)) {
+                $label = $plugin_definition->label();
+                $tags = array_reduce(array_keys($net_new->getAllowedElements()), function ($carry, $item) {
+                  return $carry . "<$item>";
+                });
+                $enabled_for_tags_message_content .= "$label (for tags: $tags) ";
+                // This plugin does not add attributes: continue to next plugin.
+                continue;
+              }
+              // Plugin was selected for attribute.
               $enabled_for_attributes_message_content .= "$label (";
               foreach ($attribute_config as $tag_name => $attribute_value_config) {
                 $enabled_for_attributes_message_content .= " for tag: <$tag_name> to support: $attribute_name";
@@ -489,18 +679,23 @@ private function addToolbarItemsToMatchHtmlAttributesInFormat(FilterFormatInterf
                 }
               }
             }
+
+            // Fewer attributes are still needed.
+            $still_needed = $still_needed->diff($net_new);
           }
         }
         $editor->setSettings($editor_settings_to_update);
-        // Some plugins enabled, maybe some missing attributes.
+        // Some plugins enabled, maybe some missing tags or attributes.
         return [
+          substr($enabled_for_tags_message_content, 0, -1),
           substr($enabled_for_attributes_message_content, 0, -2),
           $still_needed,
         ];
       }
       else {
-        // No plugins enabled, maybe some missing attributes.
+        // No plugins enabled, maybe some missing tags or attributes.
         return [
+          NULL,
           NULL,
           $still_needed,
         ];
diff --git a/web/core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.info.yml b/web/core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.info.yml
new file mode 100644
index 0000000000..d7789c80f6
--- /dev/null
+++ b/web/core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.info.yml
@@ -0,0 +1,7 @@
+name: CKEditor 5 Drupal Element Style Test
+type: module
+description: "Provides ability to run DrupalElementStyle CKEditor 5 plugin in multiple ways."
+package: Testing
+dependencies:
+  - drupal:ckeditor5
+  - drupal:media
diff --git a/web/core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.module b/web/core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.module
new file mode 100644
index 0000000000..aed6f573cc
--- /dev/null
+++ b/web/core/modules/ckeditor5/tests/modules/ckeditor5_drupalelementstyle_test/ckeditor5_drupalelementstyle_test.module
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * @file
+ * Implements hooks for the CKEditor 5 Drupal Element Style Test module.
+ */
+
+declare(strict_types = 1);
+
+use Drupal\ckeditor5\Plugin\CKEditor5PluginDefinition;
+
+/**
+ * Implements hook_ckeditor4to5upgrade_plugin_info_alter().
+ */
+function ckeditor5_drupalelementstyle_test_ckeditor5_plugin_info_alter(array &$plugin_definitions): void {
+  // Update `media_mediaAlign`.
+  assert($plugin_definitions['media_mediaAlign'] instanceof CKEditor5PluginDefinition);
+  $media_align_plugin_definition = $plugin_definitions['media_mediaAlign']->toArray();
+  $media_align_plugin_definition['ckeditor5']['config']['drupalMedia']['toolbar'] = [
+    0 => [
+      'name' => 'drupalMedia:align',
+      'title' => 'Test title',
+      'items' => array_values(array_filter($media_align_plugin_definition['ckeditor5']['config']['drupalMedia']['toolbar'], function (string $toolbar_item): bool {
+        return $toolbar_item !== '|';
+      })),
+      'defaultItem' => 'drupalElementStyle:breakText',
+    ],
+  ];
+  $plugin_definitions['media_mediaAlign'] = new CKEditor5PluginDefinition($media_align_plugin_definition);
+}
diff --git a/web/core/modules/ckeditor5/tests/modules/ckeditor5_manual_decorator_test/ckeditor5_manual_decorator_test.ckeditor5.yml b/web/core/modules/ckeditor5/tests/modules/ckeditor5_manual_decorator_test/ckeditor5_manual_decorator_test.ckeditor5.yml
new file mode 100644
index 0000000000..6b951f0cba
--- /dev/null
+++ b/web/core/modules/ckeditor5/tests/modules/ckeditor5_manual_decorator_test/ckeditor5_manual_decorator_test.ckeditor5.yml
@@ -0,0 +1,25 @@
+ckeditor5_manual_decorator_test_openInNewTab:
+  ckeditor5:
+    plugins: []
+    config:
+      link:
+        decorators:
+          openInNewTab:
+            mode: 'manual'
+            label: 'Open in a new tab'
+            attributes:
+              target: '_blank'
+              rel: 'noopener noreferrer'
+            classes: ['link-new-tab']
+          pinkColor:
+            mode: 'manual'
+            label: 'Pink color'
+            styles:
+              color: 'pink'
+  drupal:
+    label: Open in new tab
+    elements:
+      - <a target="_blank" rel="noopener noreferrer" class>
+    conditions:
+      plugins:
+        - ckeditor5_link
diff --git a/web/core/modules/ckeditor5/tests/modules/ckeditor5_manual_decorator_test/ckeditor5_manual_decorator_test.info.yml b/web/core/modules/ckeditor5/tests/modules/ckeditor5_manual_decorator_test/ckeditor5_manual_decorator_test.info.yml
new file mode 100644
index 0000000000..5bcf41f914
--- /dev/null
+++ b/web/core/modules/ckeditor5/tests/modules/ckeditor5_manual_decorator_test/ckeditor5_manual_decorator_test.info.yml
@@ -0,0 +1,6 @@
+name: CKEditor 5 Manual Decorator Test
+type: module
+description: "Provides configuration for CKEditor 5 link plugin manual decorator."
+package: Testing
+dependencies:
+  - ckeditor5:ckeditor5
diff --git a/web/core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_test/ckeditor5_plugin_elements_test.ckeditor5.yml b/web/core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_test/ckeditor5_plugin_elements_test.ckeditor5.yml
index 37a8c85c10..86cc935a96 100644
--- a/web/core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_test/ckeditor5_plugin_elements_test.ckeditor5.yml
+++ b/web/core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_test/ckeditor5_plugin_elements_test.ckeditor5.yml
@@ -1,12 +1,12 @@
-# cspell:ignore everyblock justblockquote
-ckeditor5_plugin_elements_test_blockquoteCombo:
+# cspell:ignore everytextcontainer justheading
+ckeditor5_plugin_elements_test_headingCombo:
   ckeditor5:
     plugins: []
   drupal:
     label: TEST — block quote combo
     elements:
-      - <blockquote data-justblockquote>
-      - <$block data-everyblock>
+      - <h1 data-justheading>
+      - <$text-container data-everytextcontainer>
 
 ckeditor5_plugin_elements_test_headingsWithOtherAttributes:
   ckeditor5:
diff --git a/web/core/modules/ckeditor5/tests/src/Functional/AddedStylesheetsTest.php b/web/core/modules/ckeditor5/tests/src/Functional/AddedStylesheetsTest.php
new file mode 100644
index 0000000000..3343462bbe
--- /dev/null
+++ b/web/core/modules/ckeditor5/tests/src/Functional/AddedStylesheetsTest.php
@@ -0,0 +1,108 @@
+<?php
+
+namespace Drupal\Tests\ckeditor5\Functional;
+
+use Drupal\ckeditor5\Plugin\Editor\CKEditor5;
+use Drupal\editor\Entity\Editor;
+use Drupal\filter\Entity\FilterFormat;
+use Drupal\Tests\BrowserTestBase;
+use Drupal\user\RoleInterface;
+use Symfony\Component\Validator\ConstraintViolation;
+
+/**
+ * Test the ckeditor5-stylesheets theme config property.
+ *
+ * @group ckeditor5
+ */
+class AddedStylesheetsTest extends BrowserTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'node',
+    'ckeditor5',
+  ];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $defaultTheme = 'stark';
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp(): void {
+    parent::setUp();
+
+    $filtered_html_format = FilterFormat::create([
+      'format' => 'llama',
+      'name' => 'Llama',
+      'filters' => [],
+      'roles' => [RoleInterface::AUTHENTICATED_ID],
+    ]);
+    $filtered_html_format->save();
+    $this->editor = Editor::create([
+      'format' => 'llama',
+      'editor' => 'ckeditor5',
+      'settings' => [
+        'toolbar' => [
+          'items' => [],
+        ],
+      ],
+    ]);
+    $this->editor->save();
+    $this->assertSame([], array_map(
+      function (ConstraintViolation $v) {
+        return (string) $v->getMessage();
+      },
+      iterator_to_array(CKEditor5::validatePair($this->editor, $filtered_html_format))
+    ));
+    // Create node type.
+    $this->drupalCreateContentType([
+      'type' => 'article',
+      'name' => 'Article',
+    ]);
+
+    $this->adminUser = $this->drupalCreateUser([
+      'create article content',
+      'use text format llama',
+      'administer themes',
+      'view the administration theme',
+    ]);
+    $this->drupalLogin($this->adminUser);
+  }
+
+  /**
+   * Test the ckeditor5-stylesheets theme config.
+   */
+  public function testCkeditorStylesheets() {
+    $assert_session = $this->assertSession();
+
+    /** @var \Drupal\Core\Extension\ThemeInstallerInterface $theme_installer */
+    $theme_installer = \Drupal::service('theme_installer');
+    $theme_installer->install(['test_ckeditor_stylesheets_relative', 'seven']);
+    $this->config('system.theme')->set('admin', 'seven')->save();
+    $this->config('node.settings')->set('use_admin_theme', TRUE)->save();
+
+    $this->drupalGet('node/add/article');
+    $assert_session->responseNotContains('test_ckeditor_stylesheets_relative/css/yokotsoko.css');
+
+    // Install a theme with ckeditor5-stylesheets configured. Do this manually
+    // to confirm `library_info` cache tags are invalidated.
+    $this->drupalGet('admin/appearance');
+    $this->clickLink('Set Test relative CKEditor stylesheets as default theme');
+
+    // Confirm the stylesheet added via `ckeditor5-stylesheets` is present.
+    $this->drupalGet('node/add/article');
+    $assert_session->responseContains('test_ckeditor_stylesheets_relative/css/yokotsoko.css');
+
+    // Change the default theme to Stark, and confirm the stylesheet added via
+    // `ckeditor5-stylesheets` is no longer present.
+    $this->drupalGet('admin/appearance');
+    $this->clickLink('Set Stark as default theme');
+    $this->drupalGet('node/add/article');
+    $assert_session->responseNotContains('test_ckeditor_stylesheets_relative/css/yokotsoko.css');
+  }
+
+}
diff --git a/web/core/modules/ckeditor5/tests/src/Functional/CKEditor5QuickEditLibraryTest.php b/web/core/modules/ckeditor5/tests/src/Functional/CKEditor5QuickEditLibraryTest.php
new file mode 100644
index 0000000000..2a55c85017
--- /dev/null
+++ b/web/core/modules/ckeditor5/tests/src/Functional/CKEditor5QuickEditLibraryTest.php
@@ -0,0 +1,87 @@
+<?php
+
+namespace Drupal\Tests\ckeditor5\Functional;
+
+use Drupal\ckeditor5\Plugin\Editor\CKEditor5;
+use Drupal\editor\Entity\Editor;
+use Drupal\filter\Entity\FilterFormat;
+use Drupal\Tests\BrowserTestBase;
+use Drupal\user\RoleInterface;
+use Symfony\Component\Validator\ConstraintViolation;
+
+/**
+ * Tests that a Quick Edit specific library loads when Quick Edit is enabled.
+ *
+ * @group ckeditor5
+ * @group legacy
+ */
+class CKEditor5QuickEditLibraryTest extends BrowserTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'node',
+    'ckeditor5',
+    'quickedit',
+  ];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected $defaultTheme = 'stark';
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp(): void {
+    parent::setUp();
+
+    $format = FilterFormat::create([
+      'format' => 'llama',
+      'name' => 'Llama',
+      'filters' => [],
+      'roles' => [RoleInterface::AUTHENTICATED_ID],
+    ]);
+    $format->save();
+    $editor = Editor::create([
+      'format' => 'llama',
+      'editor' => 'ckeditor5',
+      'settings' => [
+        'toolbar' => [
+          'items' => [],
+        ],
+      ],
+    ]);
+    $editor->save();
+    $this->assertSame([], array_map(
+      function (ConstraintViolation $v) {
+        return (string) $v->getMessage();
+      },
+      iterator_to_array(CKEditor5::validatePair($editor, $format))
+    ));
+    $this->drupalCreateContentType([
+      'type' => 'article',
+      'name' => 'Article',
+    ]);
+
+    $this->adminUser = $this->drupalCreateUser([
+      'create article content',
+      'use text format llama',
+    ]);
+    $this->drupalLogin($this->adminUser);
+  }
+
+  /**
+   * Tests that the Quick Edit workaround CSS loads when needed.
+   */
+  public function testQuickeditTemporaryWorkaround() {
+    $assert_session = $this->assertSession();
+
+    $this->expectDeprecation('Temporary work-around until https://www.drupal.org/project/drupal/issues/3196689 lands.');
+
+    $this->drupalGet('node/add/article');
+    $assert_session->responseContains('css/quickedit-override.css');
+  }
+
+}
diff --git a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/AdminUiTest.php b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/AdminUiTest.php
index 9f655886cd..2b51e6b1f7 100644
--- a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/AdminUiTest.php
+++ b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/AdminUiTest.php
@@ -2,6 +2,8 @@
 
 namespace Drupal\Tests\ckeditor5\FunctionalJavascript;
 
+// cspell:ignore sourceediting
+
 /**
  * Tests for CKEditor 5 in the admin UI.
  *
@@ -66,11 +68,11 @@ public function testSettingsOnlyFireAjaxWithCkeditor5() {
     $assert_session->waitForText('Machine name');
     $page->checkField('roles[authenticated]');
 
-    // Enable a filter that is incompatible with CKEditor 5, so validation is
-    // triggered when attempting to switch.
+    // Enable a filter that is incompatible with CKEditor 5 if not configured
+    // correctly, so validation is triggered when attempting to switch.
     $number_ajax_instances_before = $this->getSession()->evaluateScript('Drupal.ajax.instances.length');
-    $this->assertTrue($page->hasUncheckedField('filters[filter_autop][status]'));
-    $page->checkField('filters[filter_autop][status]');
+    $this->assertTrue($page->hasUncheckedField('filters[filter_html][status]'));
+    $page->checkField('filters[filter_html][status]');
     $this->assertEmpty($assert_session->waitForElement('css', '.ajax-progress-throbber'));
     $assert_session->assertWaitOnAjaxRequest();
     $number_ajax_instances_after = $this->getSession()->evaluateScript('Drupal.ajax.instances.length');
@@ -81,16 +83,16 @@ public function testSettingsOnlyFireAjaxWithCkeditor5() {
 
     // The presence of this validation error message confirms the AJAX callback
     // was invoked.
-    $assert_session->pageTextContains('CKEditor 5 only works with HTML-based text formats');
+    $assert_session->pageTextContains('CKEditor 5 needs at least the <p> and <br> tags to be allowed to be able to function. They are not allowed by the "Limit allowed HTML tags and correct faulty HTML" (filter_html) filter.');
 
     // Disable the incompatible filter. This should trigger another AJAX rebuild
     // which will include the removal of the validation error as the issue has
     // been corrected.
-    $this->assertTrue($page->hasCheckedField('filters[filter_autop][status]'));
-    $page->uncheckField('filters[filter_autop][status]');
+    $this->assertTrue($page->hasCheckedField('filters[filter_html][status]'));
+    $page->uncheckField('filters[filter_html][status]');
     $this->assertNotEmpty($assert_session->waitForElement('css', '.ajax-progress-throbber'));
     $assert_session->assertWaitOnAjaxRequest();
-    $assert_session->pageTextNotContains('CKEditor 5 only works with HTML-based text formats');
+    $assert_session->pageTextNotContains('CKEditor 5 needs at least the <p> and <br> tags to be allowed to be able to function. They are not allowed by the "Limit allowed HTML tags and correct faulty HTML" (filter_html) filter.');
   }
 
   /**
@@ -147,29 +149,74 @@ public function testMessagesDoNotAccumulate(): void {
     $this->addNewTextFormat($page, $assert_session);
     $this->drupalGet('admin/config/content/formats/manage/ckeditor5');
 
+    // Add the source editing plugin to the CKEditor 5 toolbar.
+    $this->assertNotEmpty($assert_session->waitForElement('css', '.ckeditor5-toolbar-item-sourceEditing'));
+    $this->triggerKeyUp('.ckeditor5-toolbar-item-sourceEditing', 'ArrowDown');
+    $assert_session->assertWaitOnAjaxRequest();
+
     $find_validation_error_messages = function () use ($page): array {
-      return $page->findAll('css', '[role=alert]:contains("CKEditor 5 only works with HTML-based text formats.")');
+      return $page->findAll('css', '[role=alert]:contains("The following tag(s) are already supported by enabled plugins and should not be added to the Source Editing "Manually editable HTML tags" field: Bold (<strong>).")');
     };
 
     // No validation errors when we start.
     $this->assertCount(0, $find_validation_error_messages());
 
-    // Enable a filter which is not compatible with CKEditor 5, to trigger a
+    // Configure Source Editing to allow editing `<strong>` to trigger
     // validation error.
-    $page->checkField('Convert URLs into links');
+    $assert_session->waitForText('Source editing');
+    $page->find('css', '[href^="#edit-editor-settings-plugins-ckeditor5-sourceediting"]')->click();
+    $assert_session->assertWaitOnAjaxRequest();
+    $assert_session->waitForText('Manually editable HTML tags');
+    $source_edit_tags_field = $assert_session->fieldExists('editor[settings][plugins][ckeditor5_sourceEditing][allowed_tags]');
+    $source_edit_tags_field->setValue('<strong>');
     $assert_session->assertWaitOnAjaxRequest();
     $this->assertCount(1, $find_validation_error_messages());
 
-    // Disable it: validation messages should be gone.
-    $page->uncheckField('Convert URLs into links');
+    // Revert Source Editing it: validation messages should be gone.
+    $source_edit_tags_field->setValue('');
     $assert_session->assertWaitOnAjaxRequest();
+    $this->assertCount(0, $find_validation_error_messages());
 
-    // Re-enable it: validation messages should be back.
-    $page->checkField('Convert URLs into links');
+    // Add `<strong>` again: validation messages should be back.
+    $source_edit_tags_field->setValue('<strong>');
     $assert_session->assertWaitOnAjaxRequest();
     $this->assertCount(1, $find_validation_error_messages());
   }
 
+  /**
+   * Tests the plugin settings form section.
+   */
+  public function testPluginSettingsFormSection() {
+    $page = $this->getSession()->getPage();
+    $assert_session = $this->assertSession();
+
+    $this->createNewTextFormat($page, $assert_session);
+    $assert_session->assertWaitOnAjaxRequest();
+
+    // The default toolbar only enables the configurable heading plugin and the
+    // non-configurable bold and italic plugins.
+    $assert_session->fieldValueEquals('editor[settings][toolbar][items]', '["heading","bold","italic"]');
+    // The heading plugin config form should be present.
+    $assert_session->elementExists('css', '[data-drupal-selector="edit-editor-settings-plugins-ckeditor5-heading"]');
+
+    // Remove the heading plugin from the toolbar.
+    $this->triggerKeyUp('.ckeditor5-toolbar-item-heading', 'ArrowUp');
+    $assert_session->assertWaitOnAjaxRequest();
+
+    // The heading plugin config form should no longer be present.
+    $assert_session->elementNotExists('css', '[data-drupal-selector="edit-editor-settings-plugins-ckeditor5-heading"]');
+    // The plugin settings wrapper should still be present, but empty.
+    $assert_session->elementExists('css', '#plugin-settings-wrapper');
+    $assert_session->elementNotContains('css', '#plugin-settings-wrapper', '<div');
+
+    // Enable the source plugin.
+    $this->triggerKeyUp('.ckeditor5-toolbar-item-sourceEditing', 'ArrowDown');
+    $assert_session->assertWaitOnAjaxRequest();
+
+    // The source plugin config form should be present.
+    $assert_session->elementExists('css', '[data-drupal-selector="edit-editor-settings-plugins-ckeditor5-sourceediting"]');
+  }
+
   /**
    * Tests the language config form.
    */
diff --git a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5Test.php b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5Test.php
index 7a8dcb56c4..0540e2bcfc 100644
--- a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5Test.php
+++ b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5Test.php
@@ -8,6 +8,7 @@
 use Drupal\file\Entity\File;
 use Drupal\filter\Entity\FilterFormat;
 use Drupal\node\Entity\Node;
+use Drupal\Tests\ckeditor5\Traits\CKEditor5TestTrait;
 use Drupal\Tests\TestFileCreationTrait;
 use Drupal\user\RoleInterface;
 use Symfony\Component\Validator\ConstraintViolation;
@@ -23,6 +24,7 @@
 class CKEditor5Test extends CKEditor5TestBase {
 
   use TestFileCreationTrait;
+  use CKEditor5TestTrait;
 
   /**
    * {@inheritdoc}
@@ -105,22 +107,22 @@ function (ConstraintViolation $v) {
     ));
 
     $this->drupalGet('node/add');
+    $this->waitForEditor();
     $page->fillField('title[0][value]', 'My test content');
+
+    // Ensure that CKEditor 5 is focused.
+    $this->click('.ck-content');
+
     $this->assertNotEmpty($image_upload_field = $page->find('css', '.ck-file-dialog-button input[type="file"]'));
     $image = $this->getTestFiles('image')[0];
     $image_upload_field->attachFile($this->container->get('file_system')->realpath($image->uri));
     $assert_session->waitForElementVisible('css', '.ck-widget.image');
 
-    $this->click('.ck-widget.image');
-    $balloon_panel = $page->find('css', '.ck-balloon-panel');
-    $balloon_buttons = $balloon_panel->findAll('css', '[aria-label="Image toolbar"] button');
-    $this->assertSame('Change image text alternative', $balloon_buttons[0]->find('css', '.ck-button__label')->getHtml());
-    $balloon_buttons[0]->click();
-    $assert_session->waitForElementVisible('css', '.ck-balloon-panel .ck-text-alternative-form');
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ck-balloon-panel .ck-text-alternative-form'));
     $alt_override_input = $page->find('css', '.ck-balloon-panel .ck-text-alternative-form input[type=text]');
     $this->assertSame('', $alt_override_input->getValue());
     $alt_override_input->setValue('</em> Kittens & llamas are cute');
-    $balloon_panel->pressButton('Save');
+    $this->getBalloonButton('Save')->click();
     $page->pressButton('Save');
 
     $uploaded_image = File::load(1);
@@ -378,6 +380,10 @@ public function testEditorFileReferenceIntegration() {
 
     $this->drupalGet('node/add');
     $page->fillField('title[0][value]', 'My test content');
+
+    // Ensure that CKEditor 5 is focused.
+    $this->click('.ck-content');
+
     $this->assertNotEmpty($image_upload_field = $page->find('css', '.ck-file-dialog-button input[type="file"]'));
     $image = $this->getTestFiles('image')[0];
     $image_upload_field->attachFile($this->container->get('file_system')->realpath($image->uri));
@@ -385,6 +391,13 @@ public function testEditorFileReferenceIntegration() {
     // upload has completed and the image has been downcast.
     // @see https://www.drupal.org/project/drupal/issues/3250587
     $this->assertNotEmpty($assert_session->waitForElement('css', '.ck-content img[data-entity-uuid]'));
+
+    // Add alt text to the image.
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.image.ck-widget > img'));
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ck-balloon-panel .ck-text-alternative-form'));
+    $alt_override_input = $page->find('css', '.ck-balloon-panel .ck-text-alternative-form input[type=text]');
+    $alt_override_input->setValue('There is now alt text');
+    $this->getBalloonButton('Save')->click();
     $page->pressButton('Save');
 
     $uploaded_image = File::load(1);
@@ -394,7 +407,7 @@ public function testEditorFileReferenceIntegration() {
 
     // Ensure that width, height, and length attributes are not stored in the
     // database.
-    $this->assertEquals(sprintf('<img data-entity-uuid="%s" data-entity-type="file" src="%s">', $image_uuid, $image_url), Node::load(1)->get('body')->value);
+    $this->assertEquals(sprintf('<img data-entity-uuid="%s" data-entity-type="file" src="%s" alt="There is now alt text">', $image_uuid, $image_url), Node::load(1)->get('body')->value);
 
     // Ensure that data-entity-uuid and data-entity-type attributes are upcasted
     // correctly to CKEditor model.
diff --git a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditorStylesheetsWarningTest.php b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditorStylesheetsWarningTest.php
new file mode 100644
index 0000000000..0d32076798
--- /dev/null
+++ b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditorStylesheetsWarningTest.php
@@ -0,0 +1,73 @@
+<?php
+
+namespace Drupal\Tests\ckeditor5\FunctionalJavascript;
+
+// cspell:ignore subtheming
+
+/**
+ * Tests warnings when ckeditor_stylesheets do not have CKEditor 5 equivalents.
+ *
+ * @group ckeditor5
+ * @internal
+ */
+class CKEditorStylesheetsWarningTest extends CKEditor5TestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp(): void {
+    parent::setUp();
+  }
+
+  /**
+   * Installs and enables themes for testing.
+   *
+   * @param string $theme
+   *   The theme to enable.
+   */
+  public function installThemeThatTriggersWarning($theme) {
+    $theme_installer = \Drupal::service('theme_installer');
+    $theme_installer->install([$theme]);
+    $this->config('system.theme')->set('default', $theme)->save();
+    $theme_installer->install(['stark']);
+    $this->config('system.theme')->set('admin', 'stark')->save();
+    \Drupal::service('theme_handler')->refreshInfo();
+  }
+
+  /**
+   * Test the ckeditor_stylesheets warning in the filter UI.
+   *
+   * @dataProvider providerTestWarningFilterUI
+   */
+  public function testWarningFilterUi($theme, $expected_warning) {
+    $page = $this->getSession()->getPage();
+    $assert_session = $this->assertSession();
+    $this->addNewTextFormat($page, $assert_session);
+    $this->drupalGet('admin/config/content/formats/manage/ckeditor5');
+
+    $assert_session->pageTextNotContains($expected_warning);
+    $this->installThemeThatTriggersWarning($theme);
+    $this->drupalGet('admin/config/content/formats/manage/ckeditor5');
+    $this->assertTrue($assert_session->waitForText($expected_warning));
+  }
+
+  /**
+   * Data provider for testWarningFilterUI().
+   *
+   * @return \string[][]
+   *   An array with the theme to enable and the warning message to check.
+   */
+  public function providerTestWarningFilterUi() {
+    return [
+      'single theme' => [
+        'theme' => 'test_ckeditor_stylesheets_without_5',
+        'expected_warning' => 'The No setting for CKEditor 5 stylesheets theme has ckeditor_stylesheets configured without a corresponding ckeditor5-stylesheets configuration. See the change record for details.',
+      ],
+      'with base theme' => [
+        'theme' => 'test_subtheming_ckeditor_stylesheets_without_5',
+        'expected_warning' => 'The No setting for CKEditor 5 stylesheets here or subtheme and No setting for CKEditor 5 stylesheets themes have ckeditor_stylesheets configured, but without corresponding ckeditor5-stylesheets configurations. See the change record for details.',
+      ],
+    ];
+  }
+
+}
diff --git a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageTest.php b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageTest.php
index 37d8a6b204..9cbe3cb9ff 100644
--- a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageTest.php
+++ b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/ImageTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\ckeditor5\FunctionalJavascript;
 
+use Drupal\Component\Utility\Html;
 use Drupal\editor\Entity\Editor;
 use Drupal\file\Entity\File;
 use Drupal\filter\Entity\FilterFormat;
@@ -140,6 +141,64 @@ function (ConstraintViolation $v) {
     $this->drupalLogin($this->adminUser);
   }
 
+  /**
+   * Ensures that attributes are retained on conversion.
+   */
+  public function testAttributeRetentionDuringUpcasting() {
+    // Run test cases in a single test to make the test run faster.
+    $attributes_to_retain = [
+      '-none-' => 'inline',
+      'data-caption="test caption 🦙"' => 'block',
+      'data-align="left"' => 'inline',
+    ];
+
+    foreach ($attributes_to_retain as $attribute_to_retain => $expected_upcast_behavior_when_wrapped_in_block_element) {
+      if ($attribute_to_retain === '-none-') {
+        $attribute_to_retain = '';
+      }
+      $img_tag = '<img ' . $attribute_to_retain . ' alt="drupalimage test image" data-entity-type="file" data-entity-uuid="' . $this->file->uuid() . '" src="' . $this->file->createFileUrl() . '" />';
+      $test_cases = [
+        // Plain image tag for a baseline.
+        [
+          $img_tag,
+          $img_tag,
+        ],
+        // Image tag wrapped with <p>.
+        [
+          "<p>$img_tag</p>",
+          $expected_upcast_behavior_when_wrapped_in_block_element === 'inline' ? "<p>$img_tag</p>" : $img_tag,
+        ],
+        // Image tag wrapped with an unallowed paragraph-like element. When
+        // inline is the expected upcast behavior the wrapping is expected.
+        [
+          "<div>$img_tag</div>",
+          $expected_upcast_behavior_when_wrapped_in_block_element === 'inline' ? "<p>$img_tag</p>" : $img_tag,
+        ],
+      ];
+
+      foreach ($test_cases as $test_case) {
+        [$markup, $expected] = $test_case;
+        $this->host->body->value = $markup;
+        $this->host->save();
+
+        $this->drupalGet($this->host->toUrl('edit-form'));
+        $this->waitForEditor();
+
+        // Ensure that the image is rendered in preview.
+        $this->assertNotEmpty($this->assertSession()->waitForElementVisible('css', ".ck-content .ck-widget img"));
+        $editor_dom = $this->getEditorDataAsDom();
+        $expected_dom = Html::load($expected);
+        $xpath = new \DOMXPath($this->getEditorDataAsDom());
+        $this->assertEquals($expected_dom->getElementsByTagName('body')->item(0)->C14N(), $editor_dom->getElementsByTagName('body')->item(0)->C14N());
+
+        // Ensure the test attribute is persisted on downcast.
+        if ($attribute_to_retain) {
+          $this->assertNotEmpty($xpath->query("//img[@$attribute_to_retain]"));
+        }
+      }
+    }
+  }
+
   /**
    * Tests that arbitrary attributes are allowed via GHS.
    *
@@ -348,6 +407,108 @@ public function testLinkability(string $image_type, bool $unrestricted) {
     }
   }
 
+  /**
+   * Tests that alt text is required for images.
+   *
+   * @see https://ckeditor.com/docs/ckeditor5/latest/framework/guides/architecture/editing-engine.html#conversion
+   *
+   * @dataProvider providerAltTextRequired
+   */
+  public function testAltTextRequired(bool $unrestricted) {
+    // Disable filter_html.
+    if ($unrestricted) {
+      FilterFormat::load('test_format')
+        ->setFilterConfig('filter_html', ['status' => FALSE])
+        ->save();
+    }
+
+    // Make the test content has a block image and an inline image.
+    $img_tag = '<img data-entity-type="file" data-entity-uuid="' . $this->file->uuid() . '" src="' . $this->file->createFileUrl() . '" width="500" />';
+    $this->host->body->value .= $img_tag . "<p>$img_tag</p>";
+    $this->host->save();
+
+    $page = $this->getSession()->getPage();
+
+    $this->drupalGet($this->host->toUrl('edit-form'));
+    $this->waitForEditor();
+    $assert_session = $this->assertSession();
+
+    // Confirm both of the images exist.
+    $this->assertNotEmpty($image_block = $assert_session->waitForElementVisible('css', ".ck-content .ck-widget.image"));
+    $this->assertNotEmpty($image_inline = $assert_session->waitForElementVisible('css', ".ck-content .ck-widget.image-inline"));
+
+    // Confirm both of the images have an alt text required warning.
+    $this->assertNotEmpty($image_block->find('css', '.image-alternative-text-missing-wrapper'));
+    $this->assertNotEmpty($image_inline->find('css', '.image-alternative-text-missing-wrapper'));
+
+    // Add alt text to the block image.
+    $image_block->find('css', '.image-alternative-text-missing button')->click();
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ck-balloon-panel'));
+    $this->assertVisibleBalloon('.ck-text-alternative-form');
+
+    // Ensure that the missing alt text warning is hidden when the alternative
+    // text form is open.
+    $assert_session->waitForElement('css', '.ck-content .ck-widget.image .image-alternative-text-missing.ck-hidden');
+    $assert_session->elementExists('css', '.ck-content .ck-widget.image-inline .image-alternative-text-missing');
+    $assert_session->elementNotExists('css', '.ck-content .ck-widget.image-inline .image-alternative-text-missing.ck-hidden');
+
+    // Ensure that the missing alt text error is not added to decorative images.
+    $this->assertNotEmpty($decorative_button = $this->getBalloonButton('Decorative image'));
+    $assert_session->elementExists('css', '.ck-balloon-panel .ck-text-alternative-form input[type=text]');
+    $decorative_button->click();
+    $assert_session->elementExists('css', '.ck-content .ck-widget.image .image-alternative-text-missing.ck-hidden');
+    $assert_session->elementExists('css', ".ck-content .ck-widget.image-inline .image-alternative-text-missing-wrapper");
+    $assert_session->elementNotExists('css', '.ck-content .ck-widget.image-inline .image-alternative-text-missing.ck-hidden');
+
+    // Ensure that the missing alt text error is removed after saving the
+    // changes.
+    $this->assertNotEmpty($save_button = $this->getBalloonButton('Save'));
+    $save_button->click();
+    $this->assertTrue($assert_session->waitForElementRemoved('css', ".ck-content .ck-widget.image .image-alternative-text-missing-wrapper"));
+    $assert_session->elementExists('css', '.ck-content .ck-widget.image-inline .image-alternative-text-missing-wrapper');
+
+    // Ensure that the decorative image downcasts into empty alt attribute.
+    $editor_dom = $this->getEditorDataAsDom();
+    $decorative_img = $editor_dom->getElementsByTagName('img')->item(0);
+    $this->assertTrue($decorative_img->hasAttribute('alt'));
+    $this->assertEmpty($decorative_img->getAttribute('alt'));
+
+    // Ensure that missing alt text error is not added to images with alt text.
+    $this->assertNotEmpty($alt_text_button = $this->getBalloonButton('Change image alternative text'));
+    $alt_text_button->click();
+
+    $decorative_button->click();
+    $this->assertNotEmpty($save_button = $this->getBalloonButton('Save'));
+    $this->assertTrue($save_button->hasClass('ck-disabled'));
+
+    $this->assertNotEmpty($alt_override_input = $page->find('css', '.ck-balloon-panel .ck-text-alternative-form input[type=text]'));
+    $alt_override_input->setValue('There is now alt text');
+    $this->assertTrue($assert_session->waitForElementRemoved('css', '.ck-balloon-panel .ck-text-alternative-form .ck-disabled'));
+    $this->assertFalse($save_button->hasClass('ck-disabled'));
+    $save_button->click();
+
+    // Save the node and confirm that the alt text is retained.
+    $page->pressButton('Save');
+    $this->assertNotEmpty($assert_session->waitForElement('css', 'img[alt="There is now alt text"]'));
+
+    // Ensure that alt form is opened after image upload.
+    $this->drupalGet($this->host->toUrl('edit-form'));
+    $this->waitForEditor();
+    $this->assertNotEmpty($image_upload_field = $page->find('css', '.ck-file-dialog-button input[type="file"]'));
+    $image = $this->getTestFiles('image')[0];
+    $image_upload_field->attachFile($this->container->get('file_system')->realpath($image->uri));
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ck-widget.image'));
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ck-balloon-panel'));
+    $this->assertVisibleBalloon('.ck-text-alternative-form');
+  }
+
+  public function providerAltTextRequired(): array {
+    return [
+      'Restricted' => [FALSE],
+      'Unrestricted' => [TRUE],
+    ];
+  }
+
   public function providerLinkability(): array {
     return [
       'BLOCK image, restricted' => ['block', FALSE],
@@ -358,10 +519,79 @@ public function providerLinkability(): array {
   }
 
   /**
-   * Checks that width attribute is correct after upcasting, then downcasting.
+   * Tests alignment integration.
+   *
+   * @dataProvider providerAlignment
+   */
+  public function testAlignment(string $image_type): void {
+    $assert_session = $this->assertSession();
+    $page = $this->getSession()->getPage();
+    // Make the test content have either a block image or an inline image.
+    $img_tag = '<img alt="drupalimage test image" data-entity-type="file" data-entity-uuid="' . $this->file->uuid() . '" src="' . $this->file->createFileUrl() . '" />';
+    $this->host->body->value .= $image_type === 'block'
+      ? $img_tag
+      : "<p>$img_tag</p>";
+    $this->host->save();
+
+    $image_selector = $image_type === 'block' ? '.ck-widget.image' : '.ck-widget.image-inline';
+    $default_alignment = $image_type === 'block' ? 'Break text' : 'In line';
+
+    $this->drupalGet($this->host->toUrl('edit-form'));
+    $this->waitForEditor();
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', $image_selector));
+
+    // Ensure that the default alignment option matches expectation.
+    $this->click($image_selector);
+    $this->assertVisibleBalloon('[aria-label="Image toolbar"]');
+    $this->assertTrue($this->getBalloonButton($default_alignment)->hasClass('ck-on'));
+    $editor_dom = $this->getEditorDataAsDom();
+    $drupal_media_element = $editor_dom->getElementsByTagName('img')
+      ->item(0);
+    $this->assertFalse($drupal_media_element->hasAttribute('data-align'));
+    $this->getBalloonButton('Align center and break text')->click();
+
+    // Assert the alignment class exists after editing downcast.
+    $this->assertNotEmpty($assert_session->waitForElement('css', '.ck-widget.image.image-style-align-center'));
+    $editor_dom = $this->getEditorDataAsDom();
+    $drupal_media_element = $editor_dom->getElementsByTagName('img')
+      ->item(0);
+    $this->assertEquals('center', $drupal_media_element->getAttribute('data-align'));
+
+    $page->pressButton('Save');
+    // Check that the 'content has been updated' message status appears to confirm we left the editor.
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.messages.messages--status'));
+    // Check that the class is correct in the front end.
+    $assert_session->elementExists('css', 'img.align-center');
+    // Go back to the editor to check that the alignment class still exists.
+    $edit_url = $this->getSession()->getCurrentURL() . '/edit';
+    $this->drupalGet($edit_url);
+    $this->waitForEditor();
+    $assert_session->elementExists('css', '.ck-widget.image.image-style-align-center');
+
+    // Ensure that "Centered image" alignment option is selected.
+    $this->click('.ck-widget.image');
+    $this->assertVisibleBalloon('[aria-label="Image toolbar"]');
+    $this->assertTrue($this->getBalloonButton('Align center and break text')->hasClass('ck-on'));
+    $this->getBalloonButton('Break text')->click();
+    $this->assertTrue($assert_session->waitForElementRemoved('css', '.ck-widget.image.image-style-align-center'));
+    $editor_dom = $this->getEditorDataAsDom();
+    $drupal_media_element = $editor_dom->getElementsByTagName('img')
+      ->item(0);
+    $this->assertFalse($drupal_media_element->hasAttribute('data-align'));
+  }
+
+  public function providerAlignment() {
+    return [
+      'Block image' => ['block'],
+      'Inline image' => ['inline'],
+    ];
+  }
+
+  /**
+   * Ensures that width attribute upcasts and downcasts correctly.
    *
    * @param string $width
-   *   The width input for source editing.
+   *   The width input for the image.
    *
    * @dataProvider providerWidth
    */
@@ -369,35 +599,26 @@ public function testWidth(string $width): void {
     $page = $this->getSession()->getPage();
     $assert_session = $this->assertSession();
 
-    $this->drupalGet('node/add');
-    $page->fillField('title[0][value]', 'My test content');
-    $this->assertNotEmpty($image_upload_field = $page->find('css', '.ck-file-dialog-button input[type="file"]'));
-    $image = $this->getTestFiles('image')[0];
-    $image_upload_field->attachFile($this->container->get('file_system')->realpath($image->uri));
-    $this->assertNotEmpty($assert_session->waitForElementVisible('css', 'figure.image'));
+    // Add image to the host body.
+    $this->host->body->value = sprintf('<img data-foo="bar" alt="drupalimage test image" data-entity-type="file" data-entity-uuid="%s" src="%s" width="%s" />', $this->file->uuid(), $this->file->createFileUrl(), $width);
+    $this->host->save();
 
-    // Edit the source of the image through the UI.
-    $page->pressButton('Source');
-    // Get editor data.
-    $editor_data = $this->getEditorDataAsDom();
-    // Get the image element data from the editor then set the new width.
-    $image = $editor_data->getElementsByTagName('img')->item(0);
-    $image->setAttribute('width', $width);
-    $new_html = $image->C14N();
-    $text_area = $page->find('css', '.ck-source-editing-area > textarea');
-    // Set the value of the source code to the updated HTML that has the width
-    // attribute.
-    $text_area->setValue($new_html);
-    // Toggle source editing to force upcasting.
-    $page->pressButton('Source');
-    $assert_session->waitForElementVisible('css', 'img');
-    // Toggle source editing to force downcasting.
-    $page->pressButton('Source');
-    // Get editor data.
+    $this->drupalGet($this->host->toUrl('edit-form'));
+    $this->waitForEditor();
+
+    // Ensure that the image is upcast as expected. In the editing view, the
+    // width attribute should downcast to an inline style on the container
+    // element.
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ck-widget.image[style] img'));
+
+    // Ensure that the width attribute is retained on downcast.
     $editor_data = $this->getEditorDataAsDom();
     $width_from_editor = $editor_data->getElementsByTagName('img')->item(0)->getAttribute('width');
-    // Check the contents of the source editing area.
     $this->assertSame($width, $width_from_editor);
+
+    // Save the node and ensure that the width attribute is retained.
+    $page->pressButton('Save');
+    $this->assertNotEmpty($assert_session->waitForElement('css', "img[width='$width']"));
   }
 
   /**
diff --git a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaLibraryTest.php b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaLibraryTest.php
index f71532ebb6..f94987fb18 100644
--- a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaLibraryTest.php
+++ b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaLibraryTest.php
@@ -152,7 +152,7 @@ public function testButton() {
     $this->pressEditorButton('Insert Drupal Media');
     $assert_session = $this->assertSession();
     $page = $this->getSession()->getPage();
-    $this->assertNotEmpty($assert_session->waitForId('drupal-modal'));
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-modal #media-library-content'));
 
     // Ensure that the tab order is correct.
     $tabs = $page->findAll('css', '.media-library-menu__link');
@@ -193,7 +193,8 @@ public function testButton() {
     $this->drupalGet('/node/add/blog');
     $this->waitForEditor();
     $this->pressEditorButton('Insert Drupal Media');
-    $assert_session->waitForElement('css', '.js-media-library-item')->click();
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-modal #media-library-content'));
+    $assert_session->elementExists('css', '.js-media-library-item')->click();
     $assert_session->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Insert selected');
     $this->assertNotEmpty($assert_session->waitForElementVisible('css', $media_preview_selector, 1000));
     $xpath = new \DOMXPath($this->getEditorDataAsDom());
@@ -244,7 +245,7 @@ public function testAllowedMediaTypes() {
       $this->pressEditorButton('Insert Drupal Media');
 
       $assert_session = $this->assertSession();
-      $this->assertNotEmpty($assert_session->waitForId('media-library-wrapper'));
+      $this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-modal #media-library-wrapper'));
 
       if (empty($allowed_media_types) || count($allowed_media_types) === 2) {
         $assert_session->elementExists('css', 'li.media-library-menu-image');
@@ -276,7 +277,7 @@ public function testAlt() {
     $this->drupalGet('/node/add/blog');
     $this->waitForEditor();
     $this->pressEditorButton('Insert Drupal Media');
-    $this->assertNotEmpty($assert_session->waitForId('drupal-modal'));
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-modal #media-library-content'));
     $assert_session->elementExists('css', '.js-media-library-item')->click();
     $assert_session->elementExists('css', '.ui-dialog-buttonpane')->pressButton('Insert selected');
     $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ck-widget.drupal-media img'));
diff --git a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaTest.php b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaTest.php
index ddba5d4af5..cbbfead2da 100644
--- a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaTest.php
+++ b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\ckeditor5\FunctionalJavascript;
 
+use Drupal\Core\Database\Database;
 use Drupal\editor\Entity\Editor;
 use Drupal\file\Entity\File;
 use Drupal\filter\Entity\FilterFormat;
@@ -152,7 +153,7 @@ function (ConstraintViolation $v) {
       'type' => 'blog',
       'title' => 'Animals with strange names',
       'body' => [
-        'value' => '<drupal-media data-caption="baz" data-entity-type="media" data-entity-uuid="' . $this->media->uuid() . '"></drupal-media>',
+        'value' => '<drupal-media data-entity-type="media" data-entity-uuid="' . $this->media->uuid() . '" data-caption="baz"></drupal-media>',
         'format' => 'test_format',
       ],
     ]);
@@ -161,6 +162,24 @@ function (ConstraintViolation $v) {
     $this->drupalLogin($this->adminUser);
   }
 
+  /**
+   * Tests that `<drupal-media>` is converted into a block element.
+   */
+  public function testConversion() {
+    // Wrap the `<drupal-media>` markup in a `<p>`.
+    $original_value = $this->host->body->value;
+    $this->host->body->value = '<p>foo' . $original_value . '</p>';
+    $this->host->save();
+
+    $this->drupalGet($this->host->toUrl('edit-form'));
+    $this->waitForEditor();
+    $assert_session = $this->assertSession();
+    $assert_session->waitForElementVisible('css', 'img[src*="image-test.png"]', 1000);
+    $editor_html = $this->getEditorDataAsHtmlString();
+    // Observe that `<drupal-media>` was moved into its own block element.
+    $this->assertEquals('<p>foo</p>' . $original_value, str_replace('&nbsp;', '', $editor_html));
+  }
+
   /**
    * Tests that only <drupal-media> tags are processed.
    *
@@ -197,29 +216,65 @@ public function testMediaArbitraryHtml() {
     $editor = Editor::load('test_format');
     $settings = $editor->getSettings();
 
-    // Allow the data-foo attribute in drupal-media via GHS.
-    $settings['plugins']['ckeditor5_sourceEditing']['allowed_tags'] = ['<drupal-media data-foo>'];
+    // Allow the data-foo attribute in drupal-media via GHS. Also, add support
+    // for div's with data-foo attribute to ensure that drupal-media elements
+    // can be wrapped with other block elements.
+    $settings['plugins']['ckeditor5_sourceEditing']['allowed_tags'] = ['<drupal-media data-foo>', '<div data-bar>'];
     $editor->setSettings($settings);
     $editor->save();
 
+    $filter_format = $editor->getFilterFormat();
+    $filter_format->setFilterConfig('filter_html', [
+      'status' => TRUE,
+      'settings' => [
+        'allowed_html' => '<p> <br> <strong> <em> <a href> <drupal-media data-entity-type data-entity-uuid data-align data-caption alt data-foo> <div data-bar>',
+      ],
+    ]);
+    $filter_format->save();
+    $this->assertSame([], array_map(
+      function (ConstraintViolation $v) {
+        return (string) $v->getMessage();
+      },
+      iterator_to_array(CKEditor5::validatePair(
+        Editor::load('test_format'),
+        FilterFormat::load('test_format')
+      ))
+    ));
+
     // Add data-foo use to an existing drupal-media tag.
     $original_value = $this->host->body->value;
-    $this->host->body->value = str_replace('drupal-media', 'drupal-media data-foo="bar" ', $original_value);
+    $this->host->body->value = '<div data-bar="baz">' . str_replace('drupal-media', 'drupal-media data-foo="bar" ', $original_value) . '</div>';
     $this->host->save();
     $this->drupalGet($this->host->toUrl('edit-form'));
 
-    // Confirm data-foo is present in the upcasted drupal-media.
-    $upcasted_media = $assert_session->waitForElementVisible('css', '.ck-widget.drupal-media');
-    $this->assertEquals('bar', $upcasted_media->getAttribute('data-foo'));
+    // Confirm data-foo is present in the drupal-media preview.
+    $this->assertNotEmpty($upcasted_media = $assert_session->waitForElementVisible('css', '.ck-widget.drupal-media'));
+    $this->assertFalse($upcasted_media->hasAttribute('data-foo'));
+    $this->assertNotEmpty($preview = $assert_session->waitForElementVisible('css', '.ck-widget.drupal-media > [data-drupal-media-preview="ready"] > .media', 30000));
+    $this->assertEquals('bar', $preview->getAttribute('data-foo'));
+
+    // Confirm that the media is wrapped by the div on the editing view.
+    $assert_session->elementExists('css', 'div[data-bar="baz"] > .drupal-media');
 
     // Confirm data-foo is not stripped from source.
     $this->assertSourceAttributeSame('data-foo', 'bar');
+
+    // Confirm that drupal-media is wrapped by the div.
+    $editor_dom = new \DOMXPath($this->getEditorDataAsDom());
+    $this->assertNotEmpty($editor_dom->query('//div[@data-bar="baz"]/drupal-media'));
   }
 
   /**
    * Tests that failed media embed preview requests inform the end user.
    */
   public function testErrorMessages() {
+    // This test currently frequently causes the SQLite database to lock, so
+    // skip the test on SQLite until the issue can be resolved.
+    // @todo https://www.drupal.org/project/drupal/issues/3273626
+    if (Database::getConnection()->driver() === 'sqlite') {
+      $this->markTestSkipped('Test frequently causes a locked database on SQLite');
+    }
+
     // Assert that a request to the `media.filter.preview` route that does not
     // result in a 200 response (due to server error or network error) is
     // handled in the JavaScript by displaying the expected error message.
@@ -374,9 +429,23 @@ public function testEditableCaption() {
     $this->assertNotEmpty($figcaption = $assert_session->waitForElement('css', '.drupal-media figcaption'));
     $this->assertSame('baz', $figcaption->getHtml());
 
-    // Ensure that caption can be toggled off from the toolbar.
-    $this->click('.ck-widget.drupal-media');
+    // Ensure that the media contextual toolbar is visible when figcaption is
+    // selected.
+    $this->selectTextInsideElement('.drupal-media figcaption');
     $this->assertVisibleBalloon('[aria-label="Drupal Media toolbar"]');
+    $expected_buttons = [
+      'Toggle caption off',
+      'Link media',
+      'Override media image alternative text',
+      // Check only one of the element style buttons since that is sufficient
+      // for confirming that element style buttons are visible in the toolbar.
+      'Break text',
+    ];
+    foreach ($expected_buttons as $expected_button) {
+      $this->assertNotEmpty($this->getBalloonButton($expected_button));
+    }
+
+    // Ensure that caption can be toggled off from the toolbar.
     $this->getBalloonButton('Toggle caption off')->click();
     $assert_session->assertNoElementAfterWait('css', 'figcaption');
 
@@ -384,7 +453,11 @@ public function testEditableCaption() {
     $this->click('.ck-widget.drupal-media');
     $this->assertVisibleBalloon('[aria-label="Drupal Media toolbar"]');
     $this->getBalloonButton('Toggle caption on')->click();
-    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.drupal-media figcaption'));
+    $this->assertNotEmpty($figcaption = $assert_session->waitForElementVisible('css', '.drupal-media figcaption'));
+
+    // Ensure that the media contextual toolbar is visible after toggling
+    // caption on.
+    $this->assertVisibleBalloon('[aria-label="Drupal Media toolbar"]');
 
     // Type into the widget's caption element.
     $figcaption->setValue('Llamas are the most awesome ever');
@@ -714,6 +787,9 @@ public function testLinkability(bool $unrestricted) {
     $this->assertNotEmpty($xpath->query('//drupal-media'));
     $this->assertNotEmpty($xpath->query('//a[@href="http://linking-embedded-media.com"]'));
     $this->assertNotEmpty($xpath->query('//a[@href="http://linking-embedded-media.com"]/drupal-media'));
+    // Ensure that the media caption is retained and not linked as a result of
+    // linking media.
+    $this->assertNotEmpty($xpath->query('//a[@href="http://linking-embedded-media.com"]/drupal-media[@data-caption="baz"]'));
 
     // Add `class="trusted"` to the link.
     $this->assertEmpty($xpath->query('//a[@href="http://linking-embedded-media.com" and @class="trusted"]'));
@@ -733,7 +809,6 @@ public function testLinkability(bool $unrestricted) {
     $page->pressButton('Save');
 
     // Assert the HTML the end user sees.
-
     $assert_session->elementExists('css', $unrestricted
       ? 'a[href="http://linking-embedded-media.com"].trusted img[src*="image-test.png"]'
       : 'a[href="http://linking-embedded-media.com"] img[src*="image-test.png"]');
@@ -772,6 +847,10 @@ public function testLinkability(bool $unrestricted) {
     $assert_session->elementNotExists('css', '.ck-content a');
     $assert_session->elementExists('css', '.ck-content .drupal-media.ck-widget > div[aria-label] > article > div > img[src*="image-test.png"]');
 
+    // Ensure that figcaption exists.
+    // @see https://www.drupal.org/project/drupal/issues/3268318
+    $assert_session->elementExists('css', '.ck-content .drupal-media.ck-widget > figcaption');
+
     // Assert the "dataDowncast" HTML after making changes.
     $xpath = new \DOMXPath($this->getEditorDataAsDom());
     $this->assertNotEmpty($xpath->query('//drupal-media'));
@@ -785,6 +864,76 @@ public function providerLinkability(): array {
     ];
   }
 
+  /**
+   * Ensure that manual link decorators work with linkable media.
+   *
+   * @dataProvider providerLinkability
+   */
+  public function testLinkManualDecoratorRestricted(bool $unrestricted) {
+    \Drupal::service('module_installer')->install(['ckeditor5_manual_decorator_test']);
+    $this->resetAll();
+
+    $decorator = 'Open in a new tab';
+    $decorator_attributes = '[@target="_blank"][@rel="noopener noreferrer"][@class="link-new-tab"]';
+
+    // Disable filter_html.
+    if ($unrestricted) {
+      FilterFormat::load('test_format')
+        ->setFilterConfig('filter_html', ['status' => FALSE])
+        ->save();
+      $decorator = 'Pink color';
+      $decorator_attributes = '[@style="color:pink;"]';
+    }
+
+    $this->drupalGet($this->host->toUrl('edit-form'));
+    $this->waitForEditor();
+    $assert_session = $this->assertSession();
+    $page = $this->getSession()->getPage();
+
+    $this->assertNotEmpty($drupalmedia = $assert_session->waitForElementVisible('css', '.ck-content .ck-widget.drupal-media'));
+    $drupalmedia->click();
+
+    $this->assertVisibleBalloon('.ck-toolbar[aria-label="Drupal Media toolbar"]');
+    $this->getBalloonButton('Link media')->click();
+
+    $balloon = $this->assertVisibleBalloon('.ck-link-form');
+    $url_input = $balloon->find('css', '.ck-labeled-field-view__input-wrapper .ck-input-text');
+    $url_input->setValue('http://linking-embedded-media.com');
+    $this->getBalloonButton($decorator)->click();
+    $balloon->pressButton('Save');
+
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.drupal-media a'));
+    $this->assertVisibleBalloon('.ck-link-actions');
+
+    $xpath = new \DOMXPath($this->getEditorDataAsDom());
+    $this->assertNotEmpty($xpath->query("//a[@href='http://linking-embedded-media.com']$decorator_attributes"));
+    $this->assertNotEmpty($xpath->query("//a[@href='http://linking-embedded-media.com']$decorator_attributes/drupal-media"));
+
+    // Ensure that manual decorators upcast correctly.
+    $page->pressButton('Save');
+    $this->drupalGet($this->host->toUrl('edit-form'));
+    $this->assertNotEmpty($drupalmedia = $assert_session->waitForElementVisible('css', '.ck-content .ck-widget.drupal-media'));
+    $xpath = new \DOMXPath($this->getEditorDataAsDom());
+    $this->assertNotEmpty($xpath->query("//a[@href='http://linking-embedded-media.com']$decorator_attributes"));
+    $this->assertNotEmpty($xpath->query("//a[@href='http://linking-embedded-media.com']$decorator_attributes/drupal-media"));
+
+    // @todo enable for unrestricted test case after
+    //   https://www.drupal.org/project/drupal/issues/3268318 has been resolved.
+    if (!$unrestricted) {
+      // Finally, ensure that media can be unlinked.
+      $drupalmedia->click();
+      $this->assertVisibleBalloon('.ck-toolbar[aria-label="Drupal Media toolbar"]');
+      $this->getBalloonButton('Link media')->click();
+      $this->assertVisibleBalloon('.ck-link-actions');
+      $this->getBalloonButton('Unlink')->click();
+
+      $this->assertTrue($assert_session->waitForElementRemoved('css', '.drupal-media a'));
+      $xpath = new \DOMXPath($this->getEditorDataAsDom());
+      $this->assertEmpty($xpath->query('//a'));
+      $this->assertNotEmpty($xpath->query('//drupal-media'));
+    }
+  }
+
   /**
    * Tests preview route access.
    *
@@ -870,24 +1019,27 @@ public function testAlignment() {
     $this->waitForEditor();
     // Wait for the media preview to load.
     $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ck-widget.drupal-media img'));
-    // Edit the source of the image through the UI.
-    $page->pressButton('Source');
 
+    // Ensure that by default the "Break text" alignment option is selected.
+    $this->click('.ck-widget.drupal-media');
+    $this->assertVisibleBalloon('[aria-label="Drupal Media toolbar"]');
+    $this->assertTrue(($align_button = $this->getBalloonButton('Break text'))->hasClass('ck-on'));
     $editor_dom = $this->getEditorDataAsDom();
     $drupal_media_element = $editor_dom->getElementsByTagName('drupal-media')
       ->item(0);
-    $drupal_media_element->setAttribute('data-align', 'center');
-    $textarea = $page->find('css', '.ck-source-editing-area > textarea');
-    // Set the value of the source code to the updated HTML that has the
-    // `data-align` attribute.
-    $textarea->setValue($editor_dom->C14N());
-    $page->pressButton('Source');
+    $this->assertFalse($drupal_media_element->hasAttribute('data-align'));
+    $this->getBalloonButton('Align center and break text')->click();
 
     // Assert the alignment class exists after editing downcast.
-    $assert_session->elementExists('css', '.ck-widget.drupal-media.drupal-media-style-align-center');
+    $this->assertNotEmpty($assert_session->waitForElement('css', '.ck-widget.drupal-media.drupal-media-style-align-center'));
+    $editor_dom = $this->getEditorDataAsDom();
+    $drupal_media_element = $editor_dom->getElementsByTagName('drupal-media')
+      ->item(0);
+    $this->assertEquals('center', $drupal_media_element->getAttribute('data-align'));
+
     $page->pressButton('Save');
     // Check that the 'content has been updated' message status appears to confirm we left the editor.
-    $assert_session->waitForElementVisible('css', 'messages messages--status');
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.messages.messages--status'));
     // Check that the class is correct in the front end.
     $assert_session->elementExists('css', 'figure.align-center');
     // Go back to the editor to check that the alignment class still exists.
@@ -895,6 +1047,54 @@ public function testAlignment() {
     $this->drupalGet($edit_url);
     $this->waitForEditor();
     $assert_session->elementExists('css', '.ck-widget.drupal-media.drupal-media-style-align-center');
+
+    // Ensure that "Centered media" alignment option is selected.
+    $this->click('.ck-widget.drupal-media');
+    $this->assertVisibleBalloon('[aria-label="Drupal Media toolbar"]');
+    $this->assertTrue($this->getBalloonButton('Align center and break text')->hasClass('ck-on'));
+    $this->getBalloonButton('Break text')->click();
+    $this->assertTrue($assert_session->waitForElementRemoved('css', '.ck-widget.drupal-media.drupal-media-style-align-center'));
+    $editor_dom = $this->getEditorDataAsDom();
+    $drupal_media_element = $editor_dom->getElementsByTagName('drupal-media')
+      ->item(0);
+    $this->assertFalse($drupal_media_element->hasAttribute('data-align'));
+  }
+
+  /**
+   * Ensures that Drupal Media Styles can be displayed in a dropdown.
+   */
+  public function testDrupalMediaStyleInDropdown() {
+    \Drupal::service('module_installer')->install(['ckeditor5_drupalelementstyle_test']);
+    $this->resetAll();
+
+    $assert_session = $this->assertSession();
+    $this->drupalGet($this->host->toUrl('edit-form'));
+    $this->waitForEditor();
+    // Wait for the media preview to load.
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ck-widget.drupal-media img'));
+
+    // Ensure that by default the "Break text" alignment option is selected and
+    // that the split button title is displayed.
+    $this->click('.ck-widget.drupal-media');
+    $this->assertVisibleBalloon('[aria-label="Drupal Media toolbar"]');
+    $this->assertNotEmpty(($split_button = $this->getBalloonButton('Test title: Break text'))->hasClass('ck-on'));
+
+    // Ensure that the split button can be opened.
+    $split_button->click();
+    $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ck-dropdown__panel-visible'));
+
+    // Ensure that a button inside the split button can be clicked.
+    $this->assertNotEmpty($align_button = $this->getBalloonButton('Align center and break text'));
+    $align_button->click();
+
+    // Ensure that the "Align center and break text" option is selected and the
+    // split button title is displayed.
+    $this->assertNotEmpty($assert_session->waitForElement('css', '.ck-widget.drupal-media.drupal-media-style-align-center'));
+    $editor_dom = $this->getEditorDataAsDom();
+    $drupal_media_element = $editor_dom->getElementsByTagName('drupal-media')
+      ->item(0);
+    $this->assertEquals('center', $drupal_media_element->getAttribute('data-align'));
+    $this->assertNotEmpty(($this->getBalloonButton('Test title: Align center and break text'))->hasClass('ck-on'));
   }
 
   /**
diff --git a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/SourceEditingTest.php b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/SourceEditingTest.php
index d9a057fcb6..c6f9b6716d 100644
--- a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/SourceEditingTest.php
+++ b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/SourceEditingTest.php
@@ -9,8 +9,11 @@
 use Drupal\ckeditor5\Plugin\Editor\CKEditor5;
 use Symfony\Component\Validator\ConstraintViolation;
 
+// cspell:ignore gramma sourceediting
+
 /**
  * @coversDefaultClass \Drupal\ckeditor5\Plugin\CKEditor5Plugin\SourceEditing
+ * @covers \Drupal\ckeditor5\Plugin\CKEditor5PluginManager::getCKEditor5PluginConfig()
  * @group ckeditor5
  * @internal
  */
@@ -59,7 +62,7 @@ protected function setUp(): void {
         'filter_html' => [
           'status' => TRUE,
           'settings' => [
-            'allowed_html' => '<p> <br> <a href>',
+            'allowed_html' => '<div class> <p> <br> <a href>',
           ],
         ],
         'filter_align' => ['status' => TRUE],
@@ -78,7 +81,7 @@ protected function setUp(): void {
         ],
         'plugins' => [
           'ckeditor5_sourceEditing' => [
-            'allowed_tags' => [],
+            'allowed_tags' => ['<div class>'],
           ],
         ],
       ],
@@ -105,7 +108,7 @@ function (ConstraintViolation $v) {
       'type' => 'page',
       'title' => 'Animals with strange names',
       'body' => [
-        'value' => '<p>The <a href="https://example.com/pirate" class="button" data-grammar="subject">pirate</a> is <a href="https://example.com/irate" class="use-ajax" data-grammar="adjective">irate</a>.</p>',
+        'value' => '<div class="llama" data-llama="🦙"><p data-llama="🦙">The <a href="https://example.com/pirate" class="button" data-grammar="subject">pirate</a> is <a href="https://example.com/irate" class="use-ajax" data-grammar="adjective">irate</a>.</p></div>',
         'format' => 'test_format',
       ],
     ]);
@@ -114,6 +117,52 @@ function (ConstraintViolation $v) {
     $this->drupalLogin($this->adminUser);
   }
 
+  /**
+   * @covers \Drupal\ckeditor5\Plugin\CKEditor5Plugin\SourceEditing::buildConfigurationForm
+   */
+  public function testSourceEditingSettingsForm() {
+    $this->drupalLogin($this->drupalCreateUser(['administer filters']));
+
+    $page = $this->getSession()->getPage();
+    $assert_session = $this->assertSession();
+
+    $this->createNewTextFormat($page, $assert_session);
+    $assert_session->assertWaitOnAjaxRequest();
+
+    // The Source Editing plugin settings form should not be present.
+    $assert_session->elementNotExists('css', '[data-drupal-selector="edit-editor-settings-plugins-ckeditor5-sourceediting"]');
+
+    $this->assertNotEmpty($assert_session->waitForElement('css', '.ckeditor5-toolbar-item-sourceEditing'));
+    $this->triggerKeyUp('.ckeditor5-toolbar-item-sourceEditing', 'ArrowDown');
+    $assert_session->assertWaitOnAjaxRequest();
+
+    // The Source Editing plugin settings form should now be present and should
+    // have no allowed tags configured.
+    $page->clickLink('Source editing');
+    $this->assertNotNull($assert_session->waitForElementVisible('css', '[data-drupal-selector="edit-editor-settings-plugins-ckeditor5-sourceediting-allowed-tags"]'));
+
+    $javascript = <<<JS
+      const allowedTags = document.querySelector('[data-drupal-selector="edit-editor-settings-plugins-ckeditor5-sourceediting-allowed-tags"]');
+      allowedTags.value = '<div data-foo>';
+      allowedTags.dispatchEvent(new Event('input'));
+JS;
+    $this->getSession()->executeScript($javascript);
+
+    // Immediately save the configuration. Intentionally do nothing that would
+    // trigger an AJAX rebuild.
+    $page->pressButton('Save configuration');
+
+    // Verify that the configuration was saved.
+    $this->drupalGet('admin/config/content/formats/manage/ckeditor5');
+    $page->clickLink('Source editing');
+    $this->assertNotNull($ghs_textarea = $assert_session->waitForElementVisible('css', '[data-drupal-selector="edit-editor-settings-plugins-ckeditor5-sourceediting-allowed-tags"]'));
+
+    $ghs_string = '<div data-foo>';
+    $this->assertSame($ghs_string, $ghs_textarea->getValue());
+    $allowed_html_field = $assert_session->fieldExists('filters[filter_html][settings][allowed_html]');
+    $this->assertStringContainsString($ghs_string, $allowed_html_field->getValue(), "$ghs_string not found in the allowed tags value of: {$allowed_html_field->getValue()}");
+  }
+
   /**
    * Tests allowing extra attributes on already supported tags using GHS.
    *
@@ -166,37 +215,85 @@ function (ConstraintViolation $v) {
   public function providerAllowingExtraAttributes(): array {
     return [
       'no extra attributes allowed' => [
-        '<p>The <a href="https://example.com/pirate">pirate</a> is <a href="https://example.com/irate">irate</a>.</p>',
+        '<div class="llama"><p>The <a href="https://example.com/pirate">pirate</a> is <a href="https://example.com/irate">irate</a>.</p></div>',
       ],
 
       // Common case: any attribute that is not `style` or `class`.
       '<a data-grammar="subject">' => [
-        '<p>The <a href="https://example.com/pirate" data-grammar="subject">pirate</a> is <a href="https://example.com/irate">irate</a>.</p>',
+        '<div class="llama"><p>The <a href="https://example.com/pirate" data-grammar="subject">pirate</a> is <a href="https://example.com/irate">irate</a>.</p></div>',
         '<a data-grammar="subject">',
       ],
       '<a data-grammar="adjective">' => [
-        '<p>The <a href="https://example.com/pirate">pirate</a> is <a href="https://example.com/irate" data-grammar="adjective">irate</a>.</p>',
+        '<div class="llama"><p>The <a href="https://example.com/pirate">pirate</a> is <a href="https://example.com/irate" data-grammar="adjective">irate</a>.</p></div>',
         '<a data-grammar="adjective">',
       ],
       '<a data-grammar>' => [
-        '<p>The <a href="https://example.com/pirate" data-grammar="subject">pirate</a> is <a href="https://example.com/irate" data-grammar="adjective">irate</a>.</p>',
+        '<div class="llama"><p>The <a href="https://example.com/pirate" data-grammar="subject">pirate</a> is <a href="https://example.com/irate" data-grammar="adjective">irate</a>.</p></div>',
         '<a data-grammar>',
       ],
 
       // Edge case: `class`.
       '<a class="button">' => [
-        '<p>The <a class="button" href="https://example.com/pirate">pirate</a> is <a href="https://example.com/irate">irate</a>.</p>',
+        '<div class="llama"><p>The <a class="button" href="https://example.com/pirate">pirate</a> is <a href="https://example.com/irate">irate</a>.</p></div>',
         '<a class="button">',
       ],
       '<a class="use-ajax">' => [
-        '<p>The <a href="https://example.com/pirate">pirate</a> is <a class="use-ajax" href="https://example.com/irate">irate</a>.</p>',
+        '<div class="llama"><p>The <a href="https://example.com/pirate">pirate</a> is <a class="use-ajax" href="https://example.com/irate">irate</a>.</p></div>',
         '<a class="use-ajax">',
       ],
       '<a class>' => [
-        '<p>The <a class="button" href="https://example.com/pirate">pirate</a> is <a class="use-ajax" href="https://example.com/irate">irate</a>.</p>',
+        '<div class="llama"><p>The <a class="button" href="https://example.com/pirate">pirate</a> is <a class="use-ajax" href="https://example.com/irate">irate</a>.</p></div>',
         '<a class>',
       ],
 
+      // Edge case: $text-container wildcard with additional
+      // attribute.
+      '<$text-container data-llama>' => [
+        '<div class="llama" data-llama="🦙"><p data-llama="🦙">The <a href="https://example.com/pirate">pirate</a> is <a href="https://example.com/irate">irate</a>.</p></div>',
+        '<$text-container data-llama>',
+      ],
+      // Edge case: $text-container wildcard with stricter attribute
+      // constrain.
+      '<$text-container class="not-llama">' => [
+        '<div class="llama"><p>The <a href="https://example.com/pirate">pirate</a> is <a href="https://example.com/irate">irate</a>.</p></div>',
+        '<$text-container class="not-llama">',
+      ],
+
+      // Edge case: wildcard attribute names:
+      // - prefix, f.e. `data-*`
+      // - infix, f.e. `*gramma*`
+      // - suffix, f.e. `*-grammar`
+      '<a data-*>' => [
+        '<div class="llama"><p>The <a href="https://example.com/pirate" data-grammar="subject">pirate</a> is <a href="https://example.com/irate" data-grammar="adjective">irate</a>.</p></div>',
+        '<a data-*>',
+      ],
+      '<a *gramma*>' => [
+        '<div class="llama"><p>The <a href="https://example.com/pirate" data-grammar="subject">pirate</a> is <a href="https://example.com/irate" data-grammar="adjective">irate</a>.</p></div>',
+        '<a *gramma*>',
+      ],
+      '<a *-grammar>' => [
+        '<div class="llama"><p>The <a href="https://example.com/pirate" data-grammar="subject">pirate</a> is <a href="https://example.com/irate" data-grammar="adjective">irate</a>.</p></div>',
+        '<a *-grammar>',
+      ],
+
+      // Edge case: concrete attribute with wildcard class value.
+      '<a class="use-*">' => [
+        '<div class="llama"><p>The <a href="https://example.com/pirate">pirate</a> is <a class="use-ajax" href="https://example.com/irate">irate</a>.</p></div>',
+        '<a class="use-*">',
+      ],
+
+      // Edge case: concrete attribute with wildcard attribute value.
+      '<a data-grammar="sub*">' => [
+        '<div class="llama"><p>The <a href="https://example.com/pirate" data-grammar="subject">pirate</a> is <a href="https://example.com/irate">irate</a>.</p></div>',
+        '<a data-grammar="sub*">',
+      ],
+
+      // Edge case: `data-*` with wildcard attribute value.
+      '<a data-*="sub*">' => [
+        '<div class="llama"><p>The <a href="https://example.com/pirate" data-grammar="subject">pirate</a> is <a href="https://example.com/irate">irate</a>.</p></div>',
+        '<a data-*="sub*">',
+      ],
+
       // Edge case: `style`.
       // @todo https://www.drupal.org/project/drupal/issues/3260857
     ];
diff --git a/web/core/modules/ckeditor5/tests/src/Kernel/CKEditor4to5UpgradeCompletenessTest.php b/web/core/modules/ckeditor5/tests/src/Kernel/CKEditor4to5UpgradeCompletenessTest.php
index ac1d91e165..b350eed51a 100644
--- a/web/core/modules/ckeditor5/tests/src/Kernel/CKEditor4to5UpgradeCompletenessTest.php
+++ b/web/core/modules/ckeditor5/tests/src/Kernel/CKEditor4to5UpgradeCompletenessTest.php
@@ -5,7 +5,9 @@
 namespace Drupal\Tests\ckeditor5\Kernel;
 
 use Drupal\ckeditor\CKEditorPluginConfigurableInterface;
+use Drupal\ckeditor5\HTMLRestrictions;
 use Drupal\ckeditor5\Plugin\CKEditor5PluginElementsSubsetInterface;
+use Drupal\Component\Assertion\Inspector;
 use Drupal\Component\Utility\NestedArray;
 use Drupal\filter\Entity\FilterFormat;
 use Drupal\KernelTests\KernelTestBase;
@@ -89,11 +91,13 @@ public function testButtons(): void {
     $cke4_buttons = array_keys(NestedArray::mergeDeepArray($this->cke4PluginManager->getButtons()));
 
     foreach ($cke4_buttons as $button) {
-      $equivalent = $this->upgradePluginManager->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem($button);
-      $this->assertTrue($equivalent === NULL || is_string($equivalent));
-      // The returned equivalent CKEditor 5 toolbar item must exist.
+      $equivalent = $this->upgradePluginManager->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem($button, HTMLRestrictions::emptySet());
+      $this->assertTrue($equivalent === NULL || (is_array($equivalent) && Inspector::assertAllStrings($equivalent)));
+      // The returned equivalent CKEditor 5 toolbar item(s) must exist.
       if (is_string($equivalent)) {
-        $this->assertArrayHasKey($equivalent, $this->cke5PluginManager->getToolbarItems());
+        foreach (explode(',', $equivalent) as $equivalent_cke5_toolbar_item) {
+          $this->assertArrayHasKey($equivalent_cke5_toolbar_item, $this->cke5PluginManager->getToolbarItems());
+        }
       }
     }
   }
@@ -186,7 +190,7 @@ public function testOnlyOneUpgradePluginAllowedPerCKEditor4Button(): void {
     $this->expectException(\OutOfBoundsException::class);
     $this->expectExceptionMessage('The "DrupalImage" CKEditor 4 button is already being upgraded by the "core" CKEditor4To5Upgrade plugin, the "foo" plugin is as well. This conflict needs to be resolved.');
 
-    $this->upgradePluginManager->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem('foo');
+    $this->upgradePluginManager->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem('foo', HTMLRestrictions::emptySet());
   }
 
   /**
@@ -199,7 +203,7 @@ public function testLyingUpgradePluginForCKEditor4Button(): void {
     $this->expectException(\LogicException::class);
     $this->expectExceptionMessage('The "foo" CKEditor4To5Upgrade plugin claims to provide an upgrade path for the "foo" CKEditor 4 button but does not.');
 
-    $this->upgradePluginManager->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem('foo');
+    $this->upgradePluginManager->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem('foo', HTMLRestrictions::emptySet());
   }
 
   /**
@@ -212,7 +216,7 @@ public function testOnlyOneUpgradePluginAllowedPerCKEditor4PluginSettings(): voi
     $this->expectException(\OutOfBoundsException::class);
     $this->expectExceptionMessage('The "stylescombo" CKEditor 4 plugin\'s settings are already being upgraded by the "core" CKEditor4To5Upgrade plugin, the "foo" plugin is as well. This conflict needs to be resolved.');
 
-    $this->upgradePluginManager->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem('foo');
+    $this->upgradePluginManager->mapCKEditor4ToolbarButtonToCKEditor5ToolbarItem('foo', HTMLRestrictions::emptySet());
   }
 
   /**
diff --git a/web/core/modules/ckeditor5/tests/src/Kernel/CKEditor5PluginManagerTest.php b/web/core/modules/ckeditor5/tests/src/Kernel/CKEditor5PluginManagerTest.php
index 03d642bc96..d9b24457f8 100644
--- a/web/core/modules/ckeditor5/tests/src/Kernel/CKEditor5PluginManagerTest.php
+++ b/web/core/modules/ckeditor5/tests/src/Kernel/CKEditor5PluginManagerTest.php
@@ -15,7 +15,7 @@
 use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
 use Symfony\Component\Yaml\Yaml;
 
-// cspell:ignore layercake everyblock justblockquote
+// cspell:ignore layercake everytextcontainer justheading
 
 /**
  * Tests different ways of enabling CKEditor 5 plugins.
@@ -1113,16 +1113,34 @@ public function testEnabledPlugins() {
     sort($expected_libraries);
     $this->assertSame($expected_libraries, $this->manager->getEnabledLibraries($editor));
 
-    // Case 7: GHS is only enabled for Full HTML (or any other text format that
-    // has no TYPE_HTML_RESTRICTOR filters).
+    // Case 7: GHS is enabled for other text editors if they are using a
+    // CKEditor 5 plugin that uses wildcard tags.
+    $settings['toolbar']['items'][] = 'alignment:center';
+    $editor->setSettings($settings);
+    $plugin_ids = array_keys($this->manager->getEnabledDefinitions($editor));
+    $expected_plugins = array_merge($expected_plugins, [
+      'ckeditor5_alignment.center',
+      'ckeditor5_wildcardHtmlSupport',
+    ]);
+    sort($expected_plugins);
+    $this->assertSame(array_values($expected_plugins), $plugin_ids);
+    $expected_libraries = array_merge($expected_libraries, [
+      'core/ckeditor5.alignment',
+      'core/ckeditor5.htmlSupport',
+    ]);
+    sort($expected_libraries);
+    $this->assertSame($expected_libraries, $this->manager->getEnabledLibraries($editor));
+
+    // Case 8: GHS is enabled for Full HTML (or any other text format that has
+    // no TYPE_HTML_RESTRICTOR filters).
     $editor = Editor::load('full_html');
     $definitions = array_keys($this->manager->getEnabledDefinitions($editor));
     $default_plugins = [
+      'ckeditor5_arbitraryHtmlSupport',
       'ckeditor5_bold',
       'ckeditor5_emphasis',
       'ckeditor5_essentials',
       'ckeditor5_heading',
-      'ckeditor5_htmlSupport',
       'ckeditor5_paragraph',
       'ckeditor5_pasteFromOffice',
     ];
@@ -1165,6 +1183,10 @@ public function testProvidedElements(array $plugins, array $text_editor_settings
       'settings' => $text_editor_settings,
       'image_upload' => [],
     ]);
+    FilterFormat::create([
+      'format' => 'dummy',
+      'name' => 'dummy',
+    ])->save();
     $this->assertConfigSchema(
       $this->typedConfig,
       $text_editor->getConfigDependencyName(),
@@ -1281,26 +1303,24 @@ public function providerTestProvidedElements(): array {
         ],
         'expected_readable_string' => '<p class="text-align-left text-align-center text-align-right text-align-justify"> <h2 class> <h3 class> <h4 class> <h5 class> <h6 class> <h1 class>',
       ],
-      'blockquote combo' => [
+      'heading text container combo' => [
         'plugins' => [
-          'ckeditor5_plugin_elements_test_blockquoteCombo',
+          'ckeditor5_plugin_elements_test_headingCombo',
           'ckeditor5_paragraph',
         ],
         'text_editor_settings' => [
-          'plugins' => [
-            'ckeditor5_heading' => Heading::DEFAULT_CONFIGURATION,
-          ],
+          'plugins' => [],
         ],
         'expected_elements' => [
           'p' => [
-            'data-everyblock' => TRUE,
+            'data-everytextcontainer' => TRUE,
           ],
-          'blockquote' => [
-            'data-justblockquote' => TRUE,
-            'data-everyblock' => TRUE,
+          'h1' => [
+            'data-justheading' => TRUE,
+            'data-everytextcontainer' => TRUE,
           ],
         ],
-        'expected_readable_string' => '<p data-everyblock> <blockquote data-justblockquote data-everyblock>',
+        'expected_readable_string' => '<p data-everytextcontainer> <h1 data-justheading data-everytextcontainer>',
       ],
       'headings plus headings with attributes' => [
         'plugins' => [
diff --git a/web/core/modules/ckeditor5/tests/src/Kernel/CKEditor5StylesheetsTest.php b/web/core/modules/ckeditor5/tests/src/Kernel/CKEditor5StylesheetsTest.php
new file mode 100644
index 0000000000..7883277e97
--- /dev/null
+++ b/web/core/modules/ckeditor5/tests/src/Kernel/CKEditor5StylesheetsTest.php
@@ -0,0 +1,70 @@
+<?php
+
+declare(strict_types = 1);
+
+namespace Drupal\Tests\ckeditor5\Kernel;
+
+use Drupal\KernelTests\KernelTestBase;
+
+/**
+ * Test the ckeditor5-stylesheets theme config property.
+ *
+ * @group ckeditor5
+ */
+class CKEditor5StylesheetsTest extends KernelTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'system',
+    'user',
+    'ckeditor5',
+    'editor',
+    'filter',
+  ];
+
+  /**
+   * Tests loading of theme's CKEditor 5 stylesheets defined in the .info file.
+   *
+   * @param string $theme
+   *   The machine name of the theme.
+   * @param array $expected
+   *   The expected CKEditor 5 CSS paths from the theme.
+   *
+   * @dataProvider externalStylesheetsProvider
+   */
+  public function testExternalStylesheets($theme, $expected) {
+    \Drupal::service('theme_installer')->install([$theme]);
+    $this->config('system.theme')->set('default', $theme)->save();
+    $this->assertSame($expected, _ckeditor5_theme_css($theme));
+  }
+
+  /**
+   * Provides test cases for external stylesheets.
+   *
+   * @return array
+   *   An array of test cases.
+   */
+  public function externalStylesheetsProvider() {
+    return [
+      'Install theme which has an absolute external CSS URL' => [
+        'test_ckeditor_stylesheets_external',
+        ['https://fonts.googleapis.com/css?family=Open+Sans'],
+      ],
+      'Install theme which has an external protocol-relative CSS URL' => [
+        'test_ckeditor_stylesheets_protocol_relative',
+        ['//fonts.googleapis.com/css?family=Open+Sans'],
+      ],
+      'Install theme which has a relative CSS URL' => [
+        'test_ckeditor_stylesheets_relative',
+        ['/core/modules/system/tests/themes/test_ckeditor_stylesheets_relative/css/yokotsoko.css'],
+      ],
+      'Install theme which has a Drupal root CSS URL' => [
+        'test_ckeditor_stylesheets_drupal_root',
+        ['/core/modules/system/tests/themes/test_ckeditor_stylesheets_drupal_root/css/yokotsoko.css'],
+      ],
+    ];
+  }
+
+}
diff --git a/web/core/modules/ckeditor5/tests/src/Kernel/SmartDefaultSettingsTest.php b/web/core/modules/ckeditor5/tests/src/Kernel/SmartDefaultSettingsTest.php
index 42ff505fa1..01579bb992 100644
--- a/web/core/modules/ckeditor5/tests/src/Kernel/SmartDefaultSettingsTest.php
+++ b/web/core/modules/ckeditor5/tests/src/Kernel/SmartDefaultSettingsTest.php
@@ -57,6 +57,8 @@ class SmartDefaultSettingsTest extends KernelTestBase {
     'media',
     'media_library',
     'views',
+    // @todo Remove in https://www.drupal.org/project/drupal/issues/3263384
+    'ckeditor5_plugin_conditions_test',
   ];
 
   /**
@@ -101,6 +103,40 @@ protected function setUp(): void {
       Yaml::parseFile('core/profiles/standard/config/install/editor.editor.basic_html.yml')
     )->save();
 
+    $new_value = str_replace(['<h2 id> ', '<h3 id> ', '<h4 id> ', '<h5 id> ', '<h6 id> '], '', $current_value);
+    $basic_html_format_without_headings = $basic_html_format;
+    $basic_html_format_without_headings['name'] .= ' (without H*)';
+    $basic_html_format_without_headings['format'] = 'basic_html_without_headings';
+    NestedArray::setValue($basic_html_format_without_headings, $allowed_html_parents, $new_value);
+    FilterFormat::create($basic_html_format_without_headings)->save();
+    Editor::create(
+      ['format' => 'basic_html_without_headings']
+      +
+      Yaml::parseFile('core/profiles/standard/config/install/editor.editor.basic_html.yml')
+    )->save();
+
+    $basic_html_format_with_pre = $basic_html_format;
+    $basic_html_format_with_pre['name'] .= ' (with <pre>)';
+    $basic_html_format_with_pre['format'] = 'basic_html_with_pre';
+    NestedArray::setValue($basic_html_format_with_pre, $allowed_html_parents, $current_value . ' <pre>');
+    FilterFormat::create($basic_html_format_with_pre)->save();
+    Editor::create(
+      ['format' => 'basic_html_with_pre']
+      +
+      Yaml::parseFile('core/profiles/standard/config/install/editor.editor.basic_html.yml')
+    )->save();
+
+    $basic_html_format_with_h1 = $basic_html_format;
+    $basic_html_format_with_h1['name'] .= ' (with <h1>)';
+    $basic_html_format_with_h1['format'] = 'basic_html_with_h1';
+    NestedArray::setValue($basic_html_format_with_h1, $allowed_html_parents, $current_value . ' <h1>');
+    FilterFormat::create($basic_html_format_with_h1)->save();
+    Editor::create(
+      ['format' => 'basic_html_with_h1']
+      +
+      Yaml::parseFile('core/profiles/standard/config/install/editor.editor.basic_html.yml')
+    )->save();
+
     $new_value = str_replace('<p>', '<p class="text-align-center text-align-justify">', $current_value);
     $basic_html_format_with_alignable_p = $basic_html_format;
     $basic_html_format_with_alignable_p['name'] .= ' (with alignable paragraph support)';
@@ -133,6 +169,18 @@ protected function setUp(): void {
     $basic_html_editor_with_media_embed->setSettings($settings);
     $basic_html_editor_with_media_embed->save();
 
+    $new_value = str_replace('<img src alt height width data-entity-type data-entity-uuid data-align data-caption>', '<img src alt height width data-*>', $current_value);
+    $basic_html_format_with_any_data_attr = $basic_html_format;
+    $basic_html_format_with_any_data_attr['name'] .= ' (with any data-* attribute on images)';
+    $basic_html_format_with_any_data_attr['format'] = 'basic_html_with_any_data_attr';
+    NestedArray::setValue($basic_html_format_with_any_data_attr, $allowed_html_parents, $new_value);
+    FilterFormat::create($basic_html_format_with_any_data_attr)->save();
+    Editor::create(
+      ['format' => 'basic_html_with_any_data_attr']
+      +
+      Yaml::parseFile('core/profiles/standard/config/install/editor.editor.basic_html.yml')
+    )->save();
+
     $filter_plugin_manager = $this->container->get('plugin.manager.filter');
     FilterFormat::create([
       'format' => 'filter_only__filter_html',
@@ -297,11 +345,13 @@ public function test(string $format_id, array $filters_to_drop, array $expected_
     }
 
     // The resulting Editor config entity should be valid.
-    $typed_config = $this->typedConfig->createFromNameAndData(
-      $updated_text_editor->getConfigDependencyName(),
-      $updated_text_editor->toArray(),
-    );
-    $this->assertCount(0, $typed_config->validate());
+    $violations = $this->validatePairToViolationsArray($updated_text_editor, $text_format, FALSE);
+    // At this point, the fundamental compatibility errors do not matter, they
+    // have been checked above; whatever remains is expected.
+    if (isset($violations[''])) {
+      unset($violations['']);
+    }
+    $this->assertSame([], $violations);
 
     // If the text format has HTML restrictions, ensure that a strict superset
     // is allowed after switching to CKEditor 5.
@@ -495,16 +545,99 @@ public function provider() {
       ),
     ];
 
+    yield "basic_html_with_h1 can be switched to CKEditor 5 without problems, heading configuration computed automatically" => [
+      'format_id' => 'basic_html_with_h1',
+      'filters_to_drop' => $basic_html_test_case['filters_to_drop'],
+      'expected_ckeditor5_settings' => [
+        'toolbar' => $basic_html_test_case['expected_ckeditor5_settings']['toolbar'],
+        'plugins' => [
+          'ckeditor5_sourceEditing' => [
+            'allowed_tags' => $basic_html_test_case['expected_ckeditor5_settings']['plugins']['ckeditor5_sourceEditing']['allowed_tags'],
+          ],
+          'ckeditor5_heading' => [
+            'enabled_headings' => [
+              'heading1',
+              'heading2',
+              'heading3',
+              'heading4',
+              'heading5',
+              'heading6',
+            ],
+          ],
+          'ckeditor5_imageResize' => ['allow_resize' => TRUE],
+          'ckeditor5_language' => $basic_html_test_case['expected_ckeditor5_settings']['plugins']['ckeditor5_language'],
+        ],
+      ],
+      'expected_superset' => $basic_html_test_case['expected_superset'],
+      'expected_fundamental_compatibility_violations' => $basic_html_test_case['expected_fundamental_compatibility_violations'],
+      'expected_messages' => array_merge(
+        $basic_html_test_case['expected_messages'],
+        ['This format\'s HTML filters includes plugins that support the following tags, but not some of their attributes. To ensure these attributes remain supported by this text format, the following were added to the Source Editing plugin\'s <em>Manually editable HTML tags</em>: &lt;a hreflang&gt; &lt;blockquote cite&gt; &lt;ul type&gt; &lt;ol start type&gt; &lt;h2 id&gt; &lt;h3 id&gt; &lt;h4 id&gt; &lt;h5 id&gt; &lt;h6 id&gt;.'],
+      ),
+    ];
+
+    yield "basic_html_without_headings can be switched to CKEditor 5 without problems, heading configuration computed automatically" => [
+      'format_id' => 'basic_html_without_headings',
+      'filters_to_drop' => $basic_html_test_case['filters_to_drop'],
+      'expected_ckeditor5_settings' => [
+        'toolbar' => [
+          'items' => array_merge(
+            array_slice($basic_html_test_case['expected_ckeditor5_settings']['toolbar']['items'], 0, 10),
+            array_slice($basic_html_test_case['expected_ckeditor5_settings']['toolbar']['items'], 12),
+          ),
+        ],
+        'plugins' => [
+          'ckeditor5_sourceEditing' => [
+            'allowed_tags' => array_values(array_diff(
+              $basic_html_test_case['expected_ckeditor5_settings']['plugins']['ckeditor5_sourceEditing']['allowed_tags'],
+              ['<h2 id>', '<h3 id>', '<h4 id>', '<h5 id>', '<h6 id>'],
+            )),
+          ],
+          'ckeditor5_imageResize' => ['allow_resize' => TRUE],
+          'ckeditor5_language' => $basic_html_test_case['expected_ckeditor5_settings']['plugins']['ckeditor5_language'],
+        ],
+      ],
+      'expected_superset' => $basic_html_test_case['expected_superset'],
+      'expected_fundamental_compatibility_violations' => $basic_html_test_case['expected_fundamental_compatibility_violations'],
+      'expected_messages' => array_merge(
+        $basic_html_test_case['expected_messages'],
+        ['This format\'s HTML filters includes plugins that support the following tags, but not some of their attributes. To ensure these attributes remain supported by this text format, the following were added to the Source Editing plugin\'s <em>Manually editable HTML tags</em>: &lt;a hreflang&gt; &lt;blockquote cite&gt; &lt;ul type&gt; &lt;ol start type&gt;.'],
+      ),
+    ];
+
+    yield "basic_html_with_pre can be switched to CKEditor 5 without problems, heading configuration computed automatically" => [
+      'format_id' => 'basic_html_with_pre',
+      'filters_to_drop' => $basic_html_test_case['filters_to_drop'],
+      'expected_ckeditor5_settings' => [
+        'toolbar' => [
+          'items' => array_merge(
+            $basic_html_test_case['expected_ckeditor5_settings']['toolbar']['items'],
+            ['codeBlock'],
+          ),
+        ],
+        'plugins' => $basic_html_test_case['expected_ckeditor5_settings']['plugins'],
+      ],
+      'expected_superset' => '<code class="language-*"> ' . $basic_html_test_case['expected_superset'],
+      'expected_fundamental_compatibility_violations' => $basic_html_test_case['expected_fundamental_compatibility_violations'],
+      'expected_messages' => [
+        'The following plugins were enabled to support tags that are allowed by this text format: <em class="placeholder">Code (for tags: &lt;code&gt;) Language (for tags: &lt;span&gt;) Code Block (for tags: &lt;pre&gt;)</em>.',
+        $basic_html_test_case['expected_messages'][1],
+        'This format\'s HTML filters includes plugins that support the following tags, but not some of their attributes. To ensure these attributes remain supported by this text format, the following were added to the Source Editing plugin\'s <em>Manually editable HTML tags</em>: &lt;a hreflang&gt; &lt;blockquote cite&gt; &lt;ul type&gt; &lt;ol start type&gt; &lt;h2 id&gt; &lt;h3 id&gt; &lt;h4 id&gt; &lt;h5 id&gt; &lt;h6 id&gt;.',
+      ],
+    ];
+
     yield "basic_html_with_alignable_p can be switched to CKEditor 5 without problems, align buttons added automatically" => [
       'format_id' => 'basic_html_with_alignable_p',
       'filters_to_drop' => $basic_html_test_case['filters_to_drop'],
       'expected_ckeditor5_settings' => [
         'toolbar' => [
           'items' => array_merge(
-            $basic_html_test_case['expected_ckeditor5_settings']['toolbar']['items'],
+            array_slice($basic_html_test_case['expected_ckeditor5_settings']['toolbar']['items'], 0, -1),
             [
-              'alignment',
-            ]
+              'alignment:center',
+              'alignment:justify',
+            ],
+            array_slice($basic_html_test_case['expected_ckeditor5_settings']['toolbar']['items'], -1)
           ),
         ],
         'plugins' => $basic_html_test_case['expected_ckeditor5_settings']['plugins'],
@@ -512,31 +645,23 @@ public function provider() {
       'expected_superset' => implode(' ', [
         // Note that aligning left and right is being added, on top of what the
         // original format allowed: center and justify.
-        // @todo Improve in https://www.drupal.org/project/drupal/issues/3231328
-        '<p class="text-align-left text-align-right">',
         // Note that aligning left/center/right/justify is possible on *all*
-        // allowed block-level HTML5 tags.
-        // @todo When https://www.drupal.org/project/ckeditor5/issues/3231328
-        //   lands, only the center/justify classes will be added.
+        // allowed CKEditor 5 `$block` text container tags.
         // @todo When https://www.drupal.org/project/drupal/issues/3259367
         //   lands, none of the tags below should appear.
-        '<h2 class="text-align-left text-align-center text-align-right text-align-justify">',
-        '<h3 class="text-align-left text-align-center text-align-right text-align-justify">',
-        '<h4 class="text-align-left text-align-center text-align-right text-align-justify">',
-        '<h5 class="text-align-left text-align-center text-align-right text-align-justify">',
-        '<h6 class="text-align-left text-align-center text-align-right text-align-justify">',
-        '<dl class="text-align-left text-align-center text-align-right text-align-justify">',
-        '<dd class="text-align-left text-align-center text-align-right text-align-justify">',
-        '<blockquote class="text-align-left text-align-center text-align-right text-align-justify">',
-        '<ul class="text-align-left text-align-center text-align-right text-align-justify">',
-        '<ol class="text-align-left text-align-center text-align-right text-align-justify">',
+        '<h2 class="text-align-center text-align-justify">',
+        '<h3 class="text-align-center text-align-justify">',
+        '<h4 class="text-align-center text-align-justify">',
+        '<h5 class="text-align-center text-align-justify">',
+        '<h6 class="text-align-center text-align-justify">',
+        '<li class="text-align-center text-align-justify">',
         $basic_html_test_case['expected_superset'],
       ]),
       'expected_fundamental_compatibility_violations' => $basic_html_test_case['expected_fundamental_compatibility_violations'],
       'expected_messages' => array_merge($basic_html_test_case['expected_messages'],
 
         [
-          'The following plugins were enabled to support specific attributes that are allowed by this text format: <em class="placeholder">Alignment ( for tag: &lt;p&gt; to support: class with value(s):  text-align-center, text-align-justify)</em>.',
+          'The following plugins were enabled to support specific attributes that are allowed by this text format: <em class="placeholder">Align center ( for tag: &lt;p&gt; to support: class with value(s):  text-align-center), Justify ( for tag: &lt;p&gt; to support: class with value(s):  text-align-justify)</em>.',
           'This format\'s HTML filters includes plugins that support the following tags, but not some of their attributes. To ensure these attributes remain supported by this text format, the following were added to the Source Editing plugin\'s <em>Manually editable HTML tags</em>: &lt;a hreflang&gt; &lt;blockquote cite&gt; &lt;ul type&gt; &lt;ol start type&gt; &lt;h2 id&gt; &lt;h3 id&gt; &lt;h4 id&gt; &lt;h5 id&gt; &lt;h6 id&gt;.',
         ]),
     ];
@@ -561,12 +686,31 @@ public function provider() {
       ]),
     ];
 
+    yield "basic_html_with_any_data_attr can be switched to CKEditor 5 without problems (3 upgrade messages)" => [
+      'format_id' => 'basic_html_with_any_data_attr',
+      'filters_to_drop' => $basic_html_test_case['filters_to_drop'],
+      'expected_ckeditor5_settings' => [
+        'toolbar' => $basic_html_test_case['expected_ckeditor5_settings']['toolbar'],
+        'plugins' => [
+          'ckeditor5_sourceEditing' => [
+            'allowed_tags' => array_merge(
+              $basic_html_test_case['expected_ckeditor5_settings']['plugins']['ckeditor5_sourceEditing']['allowed_tags'],
+              ['<img data-*>'],
+            ),
+          ],
+        ] + $basic_html_test_case['expected_ckeditor5_settings']['plugins'],
+      ],
+      'expected_superset' => $basic_html_test_case['expected_superset'],
+      'expected_fundamental_compatibility_violations' => $basic_html_test_case['expected_fundamental_compatibility_violations'],
+      'expected_messages' => array_merge($basic_html_test_case['expected_messages'],
+        [
+          'This format\'s HTML filters includes plugins that support the following tags, but not some of their attributes. To ensure these attributes remain supported by this text format, the following were added to the Source Editing plugin\'s <em>Manually editable HTML tags</em>: &lt;a hreflang&gt; &lt;blockquote cite&gt; &lt;ul type&gt; &lt;ol start type&gt; &lt;h2 id&gt; &lt;h3 id&gt; &lt;h4 id&gt; &lt;h5 id&gt; &lt;h6 id&gt; &lt;img data-*&gt;.',
+        ]),
+    ];
+
     yield "restricted_html can be switched to CKEditor 5 after dropping the two markup-creating filters (3 upgrade messages)" => [
       'format_id' => 'restricted_html',
-      'filters_to_drop' => [
-        'filter_autop' => TRUE,
-        'filter_url' => TRUE,
-      ],
+      'filters_to_drop' => [],
       'expected_ckeditor5_settings' => [
         'toolbar' => [
           'items' => [
@@ -621,19 +765,13 @@ public function provider() {
       ],
       'expected_superset' => '<br> <p>',
       'expected_fundamental_compatibility_violations' => [
-        '' => [
-          0 => 'CKEditor 5 only works with HTML-based text formats. The "<em class="placeholder">Convert line breaks into HTML (i.e. &lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;)</em>" (<em class="placeholder">filter_autop</em>) filter implies this text format is not HTML anymore.',
-          1 => 'CKEditor 5 only works with HTML-based text formats. The "<em class="placeholder">Convert URLs into links</em>" (<em class="placeholder">filter_url</em>) filter implies this text format is not HTML anymore.',
-        ],
+        '' => 'CKEditor 5 needs at least the &lt;p&gt; and &lt;br&gt; tags to be allowed to be able to function. They are not allowed by the "<em class="placeholder">Limit allowed HTML tags and correct faulty HTML</em>" (<em class="placeholder">filter_html</em>) filter.',
       ],
       'expected_messages' => [
         'The following plugins were enabled to support tags that are allowed by this text format: <em class="placeholder">Link (for tags: &lt;a&gt;) Block quote (for tags: &lt;blockquote&gt;) Code (for tags: &lt;code&gt;) List (for tags: &lt;ul&gt;&lt;ol&gt;&lt;li&gt;)</em>.',
         'The following tags were permitted by this format\'s filter configuration, but no plugin was available that supports them. To ensure the tags remain supported by this text format, the following were added to the Source Editing plugin\'s <em>Manually editable HTML tags</em>: &lt;cite&gt; &lt;dl&gt; &lt;dt&gt; &lt;dd&gt;.',
         'This format\'s HTML filters includes plugins that support the following tags, but not some of their attributes. To ensure these attributes remain supported by this text format, the following were added to the Source Editing plugin\'s <em>Manually editable HTML tags</em>: &lt;a hreflang&gt; &lt;blockquote cite&gt; &lt;ul type&gt; &lt;ol start type&gt; &lt;h2 id&gt; &lt;h3 id&gt; &lt;h4 id&gt; &lt;h5 id&gt; &lt;h6 id&gt;.',
       ],
-      'expected_post_filter_drop_fundamental_compatibility_violations' => [
-        '' => 'CKEditor 5 needs at least the &lt;p&gt; and &lt;br&gt; tags to be allowed to be able to function. They are not allowed by the "<em class="placeholder">Limit allowed HTML tags and correct faulty HTML</em>" (<em class="placeholder">filter_html</em>) filter.',
-      ],
     ];
 
     yield "full_html can be switched to CKEditor 5 (no upgrade messages)" => [
@@ -660,6 +798,7 @@ public function provider() {
             'horizontalLine',
             '|',
             'heading',
+            'codeBlock',
             '|',
             'sourceEditing',
           ],
diff --git a/web/core/modules/ckeditor5/tests/src/Kernel/ValidatorsTest.php b/web/core/modules/ckeditor5/tests/src/Kernel/ValidatorsTest.php
index b879e408e6..bebdcad961 100644
--- a/web/core/modules/ckeditor5/tests/src/Kernel/ValidatorsTest.php
+++ b/web/core/modules/ckeditor5/tests/src/Kernel/ValidatorsTest.php
@@ -367,7 +367,7 @@ public function testPair(array $ckeditor5_settings, array $editor_image_upload_s
   public function providerPair(): array {
     // cspell:ignore donk
     $data = [];
-    $data['INVALID: non-HTML format: filter_autop'] = [
+    $data['VALID: legacy format: filter_autop'] = [
       'settings' => [
         'toolbar' => [
           'items' => [
@@ -388,11 +388,9 @@ public function providerPair(): array {
           'settings' => [],
         ],
       ],
-      'violations' => [
-        '' => 'CKEditor 5 only works with HTML-based text formats. The "<em class="placeholder">Convert line breaks into HTML (i.e. &lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;)</em>" (<em class="placeholder">filter_autop</em>) filter implies this text format is not HTML anymore.',
-      ],
+      'violations' => [],
     ];
-    $data['INVALID: non-HTML format: filter_autop + filter_url'] = [
+    $data['VALID: legacy HTML format: filter_autop + filter_url'] = [
       'settings' => [
         'toolbar' => [
           'items' => [
@@ -422,14 +420,9 @@ public function providerPair(): array {
           ],
         ],
       ],
-      'violations' => [
-        '' => [
-          'CKEditor 5 only works with HTML-based text formats. The "<em class="placeholder">Convert URLs into links</em>" (<em class="placeholder">filter_url</em>) filter implies this text format is not HTML anymore.',
-          'CKEditor 5 only works with HTML-based text formats. The "<em class="placeholder">Convert line breaks into HTML (i.e. &lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;)</em>" (<em class="placeholder">filter_autop</em>) filter implies this text format is not HTML anymore.',
-        ],
-      ],
+      'violations' => [],
     ];
-    $data['INVALID: non-HTML format: filter_autop + filter_url (different order)'] = [
+    $data['VALID: legacy HTML format: filter_autop + filter_url (different order)'] = [
       'settings' => [
         'toolbar' => [
           'items' => [
@@ -459,12 +452,7 @@ public function providerPair(): array {
           ],
         ],
       ],
-      'violations' => [
-        '' => [
-          'CKEditor 5 only works with HTML-based text formats. The "<em class="placeholder">Convert line breaks into HTML (i.e. &lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;)</em>" (<em class="placeholder">filter_autop</em>) filter implies this text format is not HTML anymore.',
-          'CKEditor 5 only works with HTML-based text formats. The "<em class="placeholder">Convert URLs into links</em>" (<em class="placeholder">filter_url</em>) filter implies this text format is not HTML anymore.',
-        ],
-      ],
+      'violations' => [],
     ];
     $data['INVALID: forbidden tags'] = [
       'settings' => [
@@ -506,10 +494,7 @@ public function providerPair(): array {
       ],
       'filters' => $restricted_html_format_filters,
       'violations' => [
-        '' => [
-          'CKEditor 5 only works with HTML-based text formats. The "<em class="placeholder">Convert line breaks into HTML (i.e. &lt;code&gt;&amp;lt;br&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;)</em>" (<em class="placeholder">filter_autop</em>) filter implies this text format is not HTML anymore.',
-          'CKEditor 5 only works with HTML-based text formats. The "<em class="placeholder">Convert URLs into links</em>" (<em class="placeholder">filter_url</em>) filter implies this text format is not HTML anymore.',
-        ],
+        '' => 'CKEditor 5 needs at least the &lt;p&gt; and &lt;br&gt; tags to be allowed to be able to function. They are not allowed by the "<em class="placeholder">Limit allowed HTML tags and correct faulty HTML</em>" (<em class="placeholder">filter_html</em>) filter.',
       ],
     ];
     $data['INVALID: the modified restricted_html text format (with filter_autop and filter_url removed)'] = [
@@ -647,6 +632,7 @@ public function providerPair(): array {
             'heading',
             'bold',
             'italic',
+            'link',
             'sourceEditing',
             'textPartLanguage',
           ],
@@ -666,8 +652,25 @@ public function providerPair(): array {
           ],
           'ckeditor5_sourceEditing' => [
             'allowed_tags' => [
+              // Tag-only; supported by enabled plugin.
               '<strong>',
+              // Tag-only; supported by disabled plugin.
               '<table>',
+              // Tag-only; supported by no plugin.
+              '<exotic>',
+              // Tag + attributes; all supported by enabled plugin.
+              '<span lang>',
+              // Tag + attributes; all supported by an ineligible disabled
+              // plugin (has no toolbar item, has conditions).
+              '<img src>',
+              // Tag + attributes; all supported by disabled plugin.
+              '<code class="language-*">',
+              // Tag + attributes; tag already supported by enabled plugin,
+              // attributes supported by disabled plugin
+              '<h2 class="text-align-center">',
+              // Tag + attributes; tag already supported by enabled plugin,
+              // attribute not supported by no plugin.
+              '<a hreflang>',
             ],
           ],
         ],
@@ -679,6 +682,9 @@ public function providerPair(): array {
       'violations' => [
         'settings.plugins.ckeditor5_sourceEditing.allowed_tags.0' => 'The following tag(s) are already supported by enabled plugins and should not be added to the Source Editing "Manually editable HTML tags" field: <em class="placeholder">Bold (&lt;strong&gt;)</em>.',
         'settings.plugins.ckeditor5_sourceEditing.allowed_tags.1' => 'The following tag(s) are already supported by available plugins and should not be added to the Source Editing "Manually editable HTML tags" field. Instead, enable the following plugins to support these tags: <em class="placeholder">Table (&lt;table&gt;)</em>.',
+        'settings.plugins.ckeditor5_sourceEditing.allowed_tags.3' => 'The following attribute(s) are already supported by enabled plugins and should not be added to the Source Editing "Manually editable HTML tags" field: <em class="placeholder">Language (&lt;span lang&gt;)</em>.',
+        'settings.plugins.ckeditor5_sourceEditing.allowed_tags.5' => 'The following tag(s) are already supported by available plugins and should not be added to the Source Editing "Manually editable HTML tags" field. Instead, enable the following plugins to support these tags: <em class="placeholder">Code Block (&lt;code class=&quot;language-*&quot;&gt;)</em>.',
+        'settings.plugins.ckeditor5_sourceEditing.allowed_tags.6' => 'The following attribute(s) are already supported by available plugins and should not be added to the Source Editing "Manually editable HTML tags" field. Instead, enable the following plugins to support these attributes: <em class="placeholder">Alignment (&lt;h2 class=&quot;text-align-center&quot;&gt;), Align center (&lt;h2 class=&quot;text-align-center&quot;&gt;)</em>.',
       ],
     ];
     $data['INVALID some invalid Source Editable tags provided by plugin and another available in a not enabled plugin'] = [
@@ -813,6 +819,38 @@ public function providerPair(): array {
         'settings.toolbar.items.0' => 'The <em class="placeholder">Drupal media</em> toolbar item requires the <em class="placeholder">Embed media</em> filter to be enabled.',
       ],
     ];
+    $data['VALID: HTML format: very minimal toolbar + wildcard in source editing HTML'] = [
+      'settings' => [
+        'toolbar' => [
+          'items' => [
+            'bold',
+            'sourceEditing',
+          ],
+        ],
+        'plugins' => [
+          'ckeditor5_sourceEditing' => [
+            'allowed_tags' => ['<$text-container data-llama>'],
+          ],
+        ],
+      ],
+      'image_upload' => [
+        'status' => FALSE,
+      ],
+      'filters' => [
+        'filter_html' => [
+          'id' => 'filter_html',
+          'provider' => 'filter',
+          'status' => TRUE,
+          'weight' => 0,
+          'settings' => [
+            'allowed_html' => '<p data-llama> <br> <strong>',
+            'filter_html_help' => TRUE,
+            'filter_html_nofollow' => TRUE,
+          ],
+        ],
+      ],
+      'violations' => [],
+    ];
 
     return $data;
   }
diff --git a/web/core/modules/ckeditor5/tests/src/Kernel/WildcardHtmlSupportTest.php b/web/core/modules/ckeditor5/tests/src/Kernel/WildcardHtmlSupportTest.php
new file mode 100644
index 0000000000..746b42e1f9
--- /dev/null
+++ b/web/core/modules/ckeditor5/tests/src/Kernel/WildcardHtmlSupportTest.php
@@ -0,0 +1,218 @@
+<?php
+
+namespace Drupal\Tests\ckeditor5\Kernel;
+
+use Drupal\ckeditor5\Plugin\Editor\CKEditor5;
+use Drupal\editor\Entity\Editor;
+use Drupal\filter\Entity\FilterFormat;
+use Drupal\KernelTests\KernelTestBase;
+use Symfony\Component\Validator\ConstraintViolation;
+
+/**
+ * @covers \Drupal\ckeditor5\Plugin\CKEditor5PluginManager::getCKEditor5PluginConfig()
+ * @group ckeditor5
+ * @internal
+ */
+class WildcardHtmlSupportTest extends KernelTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'ckeditor5',
+    'filter',
+    'editor',
+  ];
+
+  /**
+   * The manager for "CKEditor 5 plugin" plugins.
+   *
+   * @var \Drupal\ckeditor5\Plugin\CKEditor5PluginManagerInterface
+   */
+  protected $manager;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp(): void {
+    parent::setUp();
+    $this->manager = $this->container->get('plugin.manager.ckeditor5.plugin');
+  }
+
+  /**
+   * @covers \Drupal\ckeditor5\Plugin\CKEditor5Plugin\SourceEditing::getDynamicPluginConfig()
+   * @covers \Drupal\ckeditor5\Plugin\CKEditor5PluginManager::getCKEditor5PluginConfig()
+   * @dataProvider providerGhsConfiguration
+   */
+  public function testGhsConfiguration(string $filter_html_allowed, array $source_editing_tags, array $expected_ghs_configuration, ?array $additional_toolbar_items = []): void {
+    FilterFormat::create([
+      'format' => 'test_format',
+      'name' => 'Test format',
+      'filters' => [
+        'filter_html' => [
+          'status' => TRUE,
+          'settings' => [
+            'allowed_html' => $filter_html_allowed,
+          ],
+        ],
+      ],
+    ])->save();
+    $editor = Editor::create([
+      'editor' => 'ckeditor5',
+      'format' => 'test_format',
+      'settings' => [
+        'toolbar' => [
+          'items' => array_merge(['sourceEditing'], $additional_toolbar_items),
+        ],
+        'plugins' => [
+          'ckeditor5_sourceEditing' => [
+            'allowed_tags' => $source_editing_tags,
+          ],
+        ],
+      ],
+      'image_upload' => [
+        'status' => FALSE,
+      ],
+    ]);
+    $editor->save();
+    $this->assertSame([], array_map(
+      function (ConstraintViolation $v) {
+        return (string) $v->getMessage();
+      },
+      iterator_to_array(CKEditor5::validatePair(
+        Editor::load('test_format'),
+        FilterFormat::load('test_format')
+      ))
+    ));
+    $config = $this->manager->getCKEditor5PluginConfig($editor);
+    $this->assertEquals($expected_ghs_configuration, $config['config']['htmlSupport']['allow']);
+  }
+
+  public function providerGhsConfiguration(): array {
+    return [
+      'empty source editing' => [
+        '<p> <br>',
+        [],
+        [],
+      ],
+      'without wildcard' => [
+        '<p> <br> <a href> <blockquote> <div data-llama>',
+        ['<div data-llama>'],
+        [
+          [
+            'name' => 'div',
+            'attributes' => [
+              [
+                'key' => 'data-llama',
+                'value' => TRUE,
+              ],
+            ],
+          ],
+        ],
+        ['link', 'blockQuote'],
+      ],
+      '<$text-container> minimal configuration' => [
+        '<p data-llama> <br>',
+        ['<$text-container data-llama>'],
+        [
+          [
+            'name' => 'p',
+            'attributes' => [
+              [
+                'key' => 'data-llama',
+                'value' => TRUE,
+              ],
+            ],
+          ],
+        ],
+      ],
+      '<$text-container> from multiple plugins' => [
+        '<p data-llama class="text-align-left text-align-center text-align-right text-align-justify"> <br>',
+        ['<$text-container data-llama>'],
+        [
+          [
+            'name' => 'p',
+            'attributes' => [
+              [
+                'key' => 'data-llama',
+                'value' => TRUE,
+              ],
+            ],
+            'classes' => [
+              'regexp' => [
+                'pattern' => '/^(text-align-left|text-align-center|text-align-right|text-align-justify)$/',
+              ],
+            ],
+          ],
+        ],
+        ['alignment'],
+      ],
+      '<$text-container> with attribute from multiple plugins' => [
+        '<p data-llama class"> <br>',
+        ['<$text-container data-llama>', '<p class>'],
+        [
+          [
+            'name' => 'p',
+            'classes' => TRUE,
+          ],
+          [
+            'name' => 'p',
+            'attributes' => [
+              [
+                'key' => 'data-llama',
+                'value' => TRUE,
+              ],
+            ],
+            'classes' => [
+              'regexp' => [
+                'pattern' => '/^(text-align-left|text-align-center|text-align-right|text-align-justify)$/',
+              ],
+            ],
+          ],
+        ],
+        ['alignment'],
+      ],
+      '<$text-container> realistic configuration' => [
+        '<p data-llama> <br> <a href> <blockquote> <div data-llama> <mark> <abbr title>',
+        ['<$text-container data-llama>', '<div>', '<mark>', '<abbr title>'],
+        [
+          [
+            'name' => 'div',
+          ],
+          [
+            'name' => 'mark',
+          ],
+          [
+            'name' => 'abbr',
+            'attributes' => [
+              [
+                'key' => 'title',
+                'value' => TRUE,
+              ],
+            ],
+          ],
+          [
+            'name' => 'p',
+            'attributes' => [
+              [
+                'key' => 'data-llama',
+                'value' => TRUE,
+              ],
+            ],
+          ],
+          [
+            'name' => 'div',
+            'attributes' => [
+              [
+                'key' => 'data-llama',
+                'value' => TRUE,
+              ],
+            ],
+          ],
+        ],
+        ['link', 'blockQuote'],
+      ],
+    ];
+  }
+
+}
diff --git a/web/core/modules/ckeditor5/tests/src/Traits/PrivateMethodUnitTestTrait.php b/web/core/modules/ckeditor5/tests/src/Traits/PrivateMethodUnitTestTrait.php
new file mode 100644
index 0000000000..e4e69ee25c
--- /dev/null
+++ b/web/core/modules/ckeditor5/tests/src/Traits/PrivateMethodUnitTestTrait.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Drupal\Tests\ckeditor5\Traits;
+
+/**
+ * Provides methods to test protected/private methods in unit tests.
+ *
+ * @internal
+ */
+trait PrivateMethodUnitTestTrait {
+
+  /**
+   * Gets a protected/private method to test.
+   *
+   * @param string $fqcn
+   *   A fully qualified classname.
+   * @param string $name
+   *   The method name.
+   *
+   * @return \ReflectionMethod
+   *   The accessible method.
+   */
+  protected static function getMethod(string $fqcn, string $name): \ReflectionMethod {
+    $class = new \ReflectionClass($fqcn);
+    $method = $class->getMethod($name);
+    $method->setAccessible(TRUE);
+    return $method;
+  }
+
+}
diff --git a/web/core/modules/ckeditor5/tests/src/Unit/CKEditor5Test.php b/web/core/modules/ckeditor5/tests/src/Unit/CKEditor5Test.php
index 66b339439a..b4dd7db1bd 100644
--- a/web/core/modules/ckeditor5/tests/src/Unit/CKEditor5Test.php
+++ b/web/core/modules/ckeditor5/tests/src/Unit/CKEditor5Test.php
@@ -5,6 +5,7 @@
 namespace Drupal\Tests\ckeditor5\Unit;
 
 use Drupal\ckeditor5\Plugin\Editor\CKEditor5;
+use Drupal\Tests\ckeditor5\Traits\PrivateMethodUnitTestTrait;
 use Drupal\Tests\UnitTestCase;
 
 /**
@@ -14,6 +15,8 @@
  */
 class CKEditor5Test extends UnitTestCase {
 
+  use PrivateMethodUnitTestTrait;
+
   /**
    * Simulated CKEditor5::buildConfigurationForm() form structure.
    *
@@ -36,28 +39,12 @@ class CKEditor5Test extends UnitTestCase {
     ],
   ];
 
-  /**
-   * Gets a protected/private method to test.
-   *
-   * @param string $name
-   *   The method name.
-   *
-   * @return \ReflectionMethod
-   *   The accessible method.
-   */
-  protected static function getMethod(string $name): \ReflectionMethod {
-    $class = new \ReflectionClass(CKEditor5::class);
-    $method = $class->getMethod($name);
-    $method->setAccessible(TRUE);
-    return $method;
-  }
-
   /**
    * @covers \Drupal\ckeditor5\Plugin\Editor\CKEditor5::mapViolationPropertyPathsToFormNames
    * @dataProvider providerPathsToFormNames
    */
   public function testPathsToFormNames(string $property_path, string $expected_form_item_name, bool $expect_exception = FALSE): void {
-    $mapMethod = self::getMethod('mapViolationPropertyPathsToFormNames');
+    $mapMethod = self::getMethod(CKEditor5::class, 'mapViolationPropertyPathsToFormNames');
     if ($expect_exception) {
       $this->expectExceptionMessage('assert($shifted === \'settings\')');
     }
diff --git a/web/core/modules/ckeditor5/tests/src/Unit/HTMLRestrictionsTest.php b/web/core/modules/ckeditor5/tests/src/Unit/HTMLRestrictionsTest.php
index 840cf083ad..1c90df254b 100644
--- a/web/core/modules/ckeditor5/tests/src/Unit/HTMLRestrictionsTest.php
+++ b/web/core/modules/ckeditor5/tests/src/Unit/HTMLRestrictionsTest.php
@@ -73,6 +73,10 @@ public function providerConstruct(): \Generator {
       ['foo' => ['baz' => ''], 'bar' => [' qux' => '']],
       'The "bar" HTML tag has an attribute restriction " qux" which contains whitespace. Omit the whitespace.',
     ];
+    yield 'INVALID: keys valid, values invalid attribute restrictions due to broad wildcard instead of prefix/infix/suffix wildcard attribute name' => [
+      ['foo' => ['*' => TRUE]],
+      'The "foo" HTML tag has an attribute restriction "*". This implies all attributes are allowed. Remove the attribute restriction instead, or use a prefix (`*-foo`), infix (`*-foo-*`) or suffix (`foo-*`) wildcard restriction instead.',
+    ];
 
     // Invalid HTML tag attribute value restrictions.
     yield 'INVALID: keys valid, values invalid attribute restrictions due to empty strings' => [
@@ -135,7 +139,7 @@ public function providerCounting(): \Generator {
     ];
 
     yield 'two of which one is a wildcard' => [
-      ['a' => TRUE, '$block' => FALSE],
+      ['a' => TRUE, '$text-container' => FALSE],
       FALSE,
       1,
       2,
@@ -238,10 +242,6 @@ public function providerConvenienceConstructors(): \Generator {
       '<a target class>',
       ['a' => ['target' => TRUE, 'class' => TRUE]],
     ];
-    yield 'tag with two attributes, one with a partial wildcard' => [
-      '<a target class>',
-      ['a' => ['target' => TRUE, 'class' => TRUE]],
-    ];
 
     // Multiple tag cases.
     yield 'two tags' => [
@@ -253,12 +253,12 @@ public function providerConvenienceConstructors(): \Generator {
       ['a' => FALSE, 'p' => FALSE],
     ];
 
-    // Wildcard tag.
-    yield '$block' => [
-      '<$block class="text-align-left text-align-center text-align-right text-align-justify">',
+    // Wildcard tag, attribute and attribute value.
+    yield '$text-container' => [
+      '<$text-container class="text-align-left text-align-center text-align-right text-align-justify">',
       [],
       [
-        '$block' => [
+        '$text-container' => [
           'class' => [
             'text-align-left' => TRUE,
             'text-align-center' => TRUE,
@@ -268,8 +268,8 @@ public function providerConvenienceConstructors(): \Generator {
         ],
       ],
     ];
-    yield '$block + one concrete tag to resolve into' => [
-      '<p> <$block class="text-align-left text-align-center text-align-right text-align-justify">',
+    yield '$text-container + one concrete tag to resolve into' => [
+      '<p> <$text-container class="text-align-left text-align-center text-align-right text-align-justify">',
       [
         'p' => [
           'class' => [
@@ -282,7 +282,7 @@ public function providerConvenienceConstructors(): \Generator {
       ],
       [
         'p' => FALSE,
-        '$block' => [
+        '$text-container' => [
           'class' => [
             'text-align-left' => TRUE,
             'text-align-center' => TRUE,
@@ -292,8 +292,8 @@ public function providerConvenienceConstructors(): \Generator {
         ],
       ],
     ];
-    yield '$block + two concrete tag to resolve into' => [
-      '<p> <$block class="text-align-left text-align-center text-align-right text-align-justify"> <blockquote>',
+    yield '$text-container + two concrete tag to resolve into' => [
+      '<p> <$text-container class="text-align-left text-align-center text-align-right text-align-justify"> <div>',
       [
         'p' => [
           'class' => [
@@ -303,7 +303,7 @@ public function providerConvenienceConstructors(): \Generator {
             'text-align-justify' => TRUE,
           ],
         ],
-        'blockquote' => [
+        'div' => [
           'class' => [
             'text-align-left' => TRUE,
             'text-align-center' => TRUE,
@@ -314,8 +314,8 @@ public function providerConvenienceConstructors(): \Generator {
       ],
       [
         'p' => FALSE,
-        'blockquote' => FALSE,
-        '$block' => [
+        'div' => FALSE,
+        '$text-container' => [
           'class' => [
             'text-align-left' => TRUE,
             'text-align-center' => TRUE,
@@ -325,8 +325,8 @@ public function providerConvenienceConstructors(): \Generator {
         ],
       ],
     ];
-    yield '$block + one concrete tag to resolve into that already allows a subset of attributes: concrete less permissive than wildcard' => [
-      '<p class="text-align-left"> <$block class="text-align-left text-align-center text-align-right text-align-justify">',
+    yield '$text-container + one concrete tag to resolve into that already allows a subset of attributes: concrete less permissive than wildcard' => [
+      '<p class="text-align-left"> <$text-container class="text-align-left text-align-center text-align-right text-align-justify">',
       [
         'p' => [
           'class' => [
@@ -343,7 +343,7 @@ public function providerConvenienceConstructors(): \Generator {
             'text-align-left' => TRUE,
           ],
         ],
-        '$block' => [
+        '$text-container' => [
           'class' => [
             'text-align-left' => TRUE,
             'text-align-center' => TRUE,
@@ -353,8 +353,8 @@ public function providerConvenienceConstructors(): \Generator {
         ],
       ],
     ];
-    yield '$block + one concrete tag to resolve into that already allows all attribute values: concrete more permissive than wildcard' => [
-      '<p class> <$block class="text-align-left text-align-center text-align-right text-align-justify">',
+    yield '$text-container + one concrete tag to resolve into that already allows all attribute values: concrete more permissive than wildcard' => [
+      '<p class> <$text-container class="text-align-left text-align-center text-align-right text-align-justify">',
       [
         'p' => [
           'class' => TRUE,
@@ -364,7 +364,7 @@ public function providerConvenienceConstructors(): \Generator {
         'p' => [
           'class' => TRUE,
         ],
-        '$block' => [
+        '$text-container' => [
           'class' => [
             'text-align-left' => TRUE,
             'text-align-center' => TRUE,
@@ -374,14 +374,14 @@ public function providerConvenienceConstructors(): \Generator {
         ],
       ],
     ];
-    yield '$block + one concrete tag to resolve into that already allows all attributes: concrete more permissive than wildcard' => [
-      '<p *> <$block class="text-align-left text-align-center text-align-right text-align-justify">',
+    yield '$text-container + one concrete tag to resolve into that already allows all attributes: concrete more permissive than wildcard' => [
+      '<p *> <$text-container class="text-align-left text-align-center text-align-right text-align-justify">',
       [
         'p' => TRUE,
       ],
       [
         'p' => TRUE,
-        '$block' => [
+        '$text-container' => [
           'class' => [
             'text-align-left' => TRUE,
             'text-align-center' => TRUE,
@@ -391,8 +391,22 @@ public function providerConvenienceConstructors(): \Generator {
         ],
       ],
     ];
-
-    // @todo Test `data-*` attribute: https://www.drupal.org/project/drupal/issues/3260853
+    yield '<drupal-media data-*>' => [
+      '<drupal-media data-*>',
+      ['drupal-media' => ['data-*' => TRUE]],
+    ];
+    yield '<drupal-media foo-*-bar>' => [
+      '<drupal-media foo-*-bar>',
+      ['drupal-media' => ['foo-*-bar' => TRUE]],
+    ];
+    yield '<drupal-media *-foo>' => [
+      '<drupal-media *-foo>',
+      ['drupal-media' => ['*-foo' => TRUE]],
+    ];
+    yield '<h2 id="jump-*">' => [
+      '<h2 id="jump-*">',
+      ['h2' => ['id' => ['jump-*' => TRUE]]],
+    ];
   }
 
   /**
@@ -434,9 +448,42 @@ public function providerRepresentations(): \Generator {
         [
           'name' => 'script',
           'attributes' => [
-            'src' => TRUE,
-            'defer' => TRUE,
+            ['key' => 'src', 'value' => TRUE],
+            ['key' => 'defer', 'value' => TRUE],
+          ],
+        ],
+      ],
+    ];
+
+    yield '$text-container wildcard' => [
+      new HTMLRestrictions(['$text-container' => ['class' => TRUE, 'data-llama' => TRUE], 'div' => FALSE, 'span' => FALSE, 'p' => ['id' => TRUE]]),
+      ['<$text-container class data-llama>', '<div>', '<span>', '<p id>'],
+      '<div class data-llama> <span> <p id class data-llama>',
+      [
+        [
+          'name' => 'div',
+          'classes' => TRUE,
+          'attributes' => [
+            [
+              'key' => 'data-llama',
+              'value' => TRUE,
+            ],
+          ],
+        ],
+        ['name' => 'span'],
+        [
+          'name' => 'p',
+          'attributes' => [
+            [
+              'key' => 'id',
+              'value' => TRUE,
+            ],
+            [
+              'key' => 'data-llama',
+              'value' => TRUE,
+            ],
           ],
+          'classes' => TRUE,
         ],
       ],
     ];
@@ -449,10 +496,13 @@ public function providerRepresentations(): \Generator {
         [
           'name' => 'a',
           'attributes' => [
-            'href' => TRUE,
-            'hreflang' => [
-              'regexp' => [
-                'pattern' => '/^(en|fr)$/',
+            ['key' => 'href', 'value' => TRUE],
+            [
+              'key' => 'hreflang',
+              'value' => [
+                'regexp' => [
+                  'pattern' => '/^(en|fr)$/',
+                ],
               ],
             ],
           ],
@@ -460,15 +510,126 @@ public function providerRepresentations(): \Generator {
         [
           'name' => 'p',
           'attributes' => [
-            'data-*' => TRUE,
+            [
+              'key' => [
+                'regexp' => [
+                  'pattern' => '/^data-.*$/',
+                ],
+              ],
+              'value' => TRUE,
+            ],
           ],
           'classes' => [
-            'block',
+            'regexp' => [
+              'pattern' => '/^(block)$/',
+            ],
           ],
         ],
         ['name' => 'br'],
       ],
     ];
+
+    // Wildcard tag, attribute and attribute value.
+    yield '$text-container' => [
+      new HTMLRestrictions(['p' => FALSE, '$text-container' => ['data-*' => TRUE]]),
+      ['<p>', '<$text-container data-*>'],
+      '<p data-*>',
+      [
+        [
+          'name' => 'p',
+          'attributes' => [
+            [
+              'key' => [
+                'regexp' => [
+                  'pattern' => '/^data-.*$/',
+                ],
+              ],
+              'value' => TRUE,
+            ],
+          ],
+        ],
+      ],
+    ];
+    yield '<drupal-media data-*>' => [
+      new HTMLRestrictions(['drupal-media' => ['data-*' => TRUE]]),
+      ['<drupal-media data-*>'],
+      '<drupal-media data-*>',
+      [
+        [
+          'name' => 'drupal-media',
+          'attributes' => [
+            [
+              'key' => [
+                'regexp' => [
+                  'pattern' => '/^data-.*$/',
+                ],
+              ],
+              'value' => TRUE,
+            ],
+          ],
+        ],
+      ],
+    ];
+    yield '<drupal-media foo-*-bar>' => [
+      new HTMLRestrictions(['drupal-media' => ['foo-*-bar' => TRUE]]),
+      ['<drupal-media foo-*-bar>'],
+      '<drupal-media foo-*-bar>',
+      [
+        [
+          'name' => 'drupal-media',
+          'attributes' => [
+            [
+              'key' => [
+                'regexp' => [
+                  'pattern' => '/^foo-.*-bar$/',
+                ],
+              ],
+              'value' => TRUE,
+            ],
+          ],
+        ],
+      ],
+    ];
+    yield '<drupal-media *-bar>' => [
+      new HTMLRestrictions(['drupal-media' => ['*-bar' => TRUE]]),
+      ['<drupal-media *-bar>'],
+      '<drupal-media *-bar>',
+      [
+        [
+          'name' => 'drupal-media',
+          'attributes' => [
+            [
+              'key' => [
+                'regexp' => [
+                  'pattern' => '/^.*-bar$/',
+                ],
+              ],
+              'value' => TRUE,
+            ],
+          ],
+        ],
+      ],
+    ];
+    yield '<h2 id="jump-*">' => [
+      new HTMLRestrictions(['h2' => ['id' => ['jump-*' => TRUE]]]),
+      ['<h2 id="jump-*">'],
+      '<h2 id="jump-*">',
+      [
+        [
+          'name' => 'h2',
+          'attributes' => [
+            [
+              'key' => 'id',
+              'value' => [
+                'regexp' => [
+                  'pattern' => '/^(jump-.*)$/',
+                ],
+              ],
+            ],
+          ],
+        ],
+      ],
+    ];
   }
 
   /**
@@ -738,165 +899,254 @@ public function providerOperands(): \Generator {
       'union' => 'b',
     ];
 
-    // Wildcard + matching tag cases.
+    // Wildcard tag + matching tag cases.
     yield 'wildcard + matching tag: attribute intersection — without possible resolving' => [
       'a' => new HTMLRestrictions(['p' => ['class' => TRUE]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => TRUE]]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => TRUE]]),
       'diff' => 'a',
       'intersection' => HTMLRestrictions::emptySet(),
-      'union' => new HTMLRestrictions(['p' => ['class' => TRUE], '$block' => ['class' => TRUE]]),
+      'union' => new HTMLRestrictions(['p' => ['class' => TRUE], '$text-container' => ['class' => TRUE]]),
     ];
     yield 'wildcard + matching tag: attribute intersection — without possible resolving — vice versa' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => TRUE]]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => TRUE]]),
       'b' => new HTMLRestrictions(['p' => ['class' => TRUE]]),
       'diff' => 'a',
       'intersection' => HTMLRestrictions::emptySet(),
-      'union' => new HTMLRestrictions(['p' => ['class' => TRUE], '$block' => ['class' => TRUE]]),
+      'union' => new HTMLRestrictions(['p' => ['class' => TRUE], '$text-container' => ['class' => TRUE]]),
     ];
     yield 'wildcard + matching tag: attribute intersection — WITH possible resolving' => [
       'a' => new HTMLRestrictions(['p' => ['class' => TRUE]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => TRUE], 'p' => FALSE]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => TRUE], 'p' => FALSE]),
       'diff' => HTMLRestrictions::emptySet(),
       'intersection' => 'a',
-      'union' => new HTMLRestrictions(['p' => ['class' => TRUE], '$block' => ['class' => TRUE]]),
+      'union' => new HTMLRestrictions(['p' => ['class' => TRUE], '$text-container' => ['class' => TRUE]]),
     ];
     yield 'wildcard + matching tag: attribute intersection — WITH possible resolving — vice versa' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => TRUE], 'p' => FALSE]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => TRUE], 'p' => FALSE]),
       'b' => new HTMLRestrictions(['p' => ['class' => TRUE]]),
-      'diff' => new HTMLRestrictions(['$block' => ['class' => TRUE]]),
+      'diff' => new HTMLRestrictions(['$text-container' => ['class' => TRUE]]),
       'intersection' => 'b',
-      'union' => new HTMLRestrictions(['p' => ['class' => TRUE], '$block' => ['class' => TRUE]]),
+      'union' => new HTMLRestrictions(['p' => ['class' => TRUE], '$text-container' => ['class' => TRUE]]),
     ];
     yield 'wildcard + matching tag: attribute value intersection — without possible resolving' => [
       'a' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => ['text-align-center' => TRUE]]]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => ['text-align-center' => TRUE]]]),
       'diff' => 'a',
       'intersection' => HTMLRestrictions::emptySet(),
-      'union' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]], '$block' => ['class' => ['text-align-center' => TRUE]]]),
+      'union' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]], '$text-container' => ['class' => ['text-align-center' => TRUE]]]),
     ];
     yield 'wildcard + matching tag: attribute value intersection — without possible resolving — vice versa' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => ['text-align-center' => TRUE]]]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => ['text-align-center' => TRUE]]]),
       'b' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]]]),
       'diff' => 'a',
       'intersection' => HTMLRestrictions::emptySet(),
-      'union' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]], '$block' => ['class' => ['text-align-center' => TRUE]]]),
+      'union' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]], '$text-container' => ['class' => ['text-align-center' => TRUE]]]),
     ];
     yield 'wildcard + matching tag: attribute value intersection — WITH possible resolving' => [
       'a' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => ['text-align-center' => TRUE]], 'p' => FALSE]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => ['text-align-center' => TRUE]], 'p' => FALSE]),
       'diff' => new HTMLRestrictions(['p' => ['class' => ['text-align-justify' => TRUE]]]),
       'intersection' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE]]]),
-      'union' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]], '$block' => ['class' => ['text-align-center' => TRUE]]]),
+      'union' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]], '$text-container' => ['class' => ['text-align-center' => TRUE]]]),
     ];
     yield 'wildcard + matching tag: attribute value intersection — WITH possible resolving — vice versa' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => ['text-align-center' => TRUE]], 'p' => FALSE]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => ['text-align-center' => TRUE]], 'p' => FALSE]),
       'b' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]]]),
-      'diff' => new HTMLRestrictions(['$block' => ['class' => ['text-align-center' => TRUE]]]),
+      'diff' => new HTMLRestrictions(['$text-container' => ['class' => ['text-align-center' => TRUE]]]),
       'intersection' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE]]]),
-      'union' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]], '$block' => ['class' => ['text-align-center' => TRUE]]]),
+      'union' => new HTMLRestrictions(['p' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]], '$text-container' => ['class' => ['text-align-center' => TRUE]]]),
     ];
     yield 'wildcard + matching tag: on both sides' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => TRUE, 'foo' => TRUE], 'p' => FALSE]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => TRUE], 'p' => FALSE]),
-      'diff' => new HTMLRestrictions(['$block' => ['foo' => TRUE], 'p' => ['foo' => TRUE]]),
-      'intersection' => new HTMLRestrictions(['$block' => ['class' => TRUE], 'p' => ['class' => TRUE]]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => TRUE, 'foo' => TRUE], 'p' => FALSE]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => TRUE], 'p' => FALSE]),
+      'diff' => new HTMLRestrictions(['$text-container' => ['foo' => TRUE], 'p' => ['foo' => TRUE]]),
+      'intersection' => new HTMLRestrictions(['$text-container' => ['class' => TRUE], 'p' => ['class' => TRUE]]),
       'union' => 'a',
     ];
     yield 'wildcard + matching tag: on both sides — vice versa' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => TRUE], 'p' => FALSE]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => TRUE, 'foo' => TRUE], 'p' => FALSE]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => TRUE], 'p' => FALSE]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => TRUE, 'foo' => TRUE], 'p' => FALSE]),
       'diff' => HTMLRestrictions::emptySet(),
-      'intersection' => new HTMLRestrictions(['$block' => ['class' => TRUE], 'p' => ['class' => TRUE]]),
+      'intersection' => new HTMLRestrictions(['$text-container' => ['class' => TRUE], 'p' => ['class' => TRUE]]),
       'union' => 'b',
     ];
 
-    // Wildcard + non-matching cases.
+    // Wildcard tag + non-matching tag cases.
     yield 'wildcard + non-matching tag: attribute diff — without possible resolving' => [
       'a' => new HTMLRestrictions(['span' => ['class' => TRUE]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => TRUE]]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => TRUE]]),
       'diff' => 'a',
       'intersection' => HTMLRestrictions::emptySet(),
-      'union' => new HTMLRestrictions(['span' => ['class' => TRUE], '$block' => ['class' => TRUE]]),
+      'union' => new HTMLRestrictions(['span' => ['class' => TRUE], '$text-container' => ['class' => TRUE]]),
     ];
     yield 'wildcard + non-matching tag: attribute diff — without possible resolving — vice versa' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => TRUE]]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => TRUE]]),
       'b' => new HTMLRestrictions(['span' => ['class' => TRUE]]),
       'diff' => 'a',
       'intersection' => HTMLRestrictions::emptySet(),
-      'union' => new HTMLRestrictions(['span' => ['class' => TRUE], '$block' => ['class' => TRUE]]),
+      'union' => new HTMLRestrictions(['span' => ['class' => TRUE], '$text-container' => ['class' => TRUE]]),
     ];
     yield 'wildcard + non-matching tag: attribute diff — WITH possible resolving' => [
       'a' => new HTMLRestrictions(['span' => ['class' => TRUE]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => TRUE], 'span' => FALSE]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => TRUE], 'span' => FALSE]),
       'diff' => 'a',
       'intersection' => new HTMLRestrictions(['span' => FALSE]),
-      'union' => new HTMLRestrictions(['span' => ['class' => TRUE], '$block' => ['class' => TRUE]]),
+      'union' => new HTMLRestrictions(['span' => ['class' => TRUE], '$text-container' => ['class' => TRUE]]),
     ];
     yield 'wildcard + non-matching tag: attribute diff — WITH possible resolving — vice versa' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => TRUE], 'span' => FALSE]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => TRUE], 'span' => FALSE]),
       'b' => new HTMLRestrictions(['span' => ['class' => TRUE]]),
-      'diff' => new HTMLRestrictions(['$block' => ['class' => TRUE]]),
+      'diff' => new HTMLRestrictions(['$text-container' => ['class' => TRUE]]),
       'intersection' => new HTMLRestrictions(['span' => FALSE]),
-      'union' => new HTMLRestrictions(['span' => ['class' => TRUE], '$block' => ['class' => TRUE]]),
+      'union' => new HTMLRestrictions(['span' => ['class' => TRUE], '$text-container' => ['class' => TRUE]]),
     ];
     yield 'wildcard + non-matching tag: attribute value diff — without possible resolving' => [
       'a' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => ['vertical-align-top' => TRUE]]]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => ['vertical-align-top' => TRUE]]]),
       'diff' => 'a',
       'intersection' => HTMLRestrictions::emptySet(),
-      'union' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]], '$block' => ['class' => ['vertical-align-top' => TRUE]]]),
+      'union' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]], '$text-container' => ['class' => ['vertical-align-top' => TRUE]]]),
     ];
     yield 'wildcard + non-matching tag: attribute value diff — without possible resolving — vice versa' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => ['vertical-align-top' => TRUE]]]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => ['vertical-align-top' => TRUE]]]),
       'b' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]]]),
       'diff' => 'a',
       'intersection' => HTMLRestrictions::emptySet(),
-      'union' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]], '$block' => ['class' => ['vertical-align-top' => TRUE]]]),
+      'union' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]], '$text-container' => ['class' => ['vertical-align-top' => TRUE]]]),
     ];
     yield 'wildcard + non-matching tag: attribute value diff — WITH possible resolving' => [
       'a' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => ['vertical-align-top' => TRUE]], 'span' => FALSE]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => ['vertical-align-top' => TRUE]], 'span' => FALSE]),
       'diff' => 'a',
       'intersection' => new HTMLRestrictions(['span' => FALSE]),
-      'union' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]], '$block' => ['class' => ['vertical-align-top' => TRUE]]]),
+      'union' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]], '$text-container' => ['class' => ['vertical-align-top' => TRUE]]]),
     ];
     yield 'wildcard + non-matching tag: attribute value diff — WITH possible resolving — vice versa' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => ['vertical-align-top' => TRUE]], 'span' => FALSE]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => ['vertical-align-top' => TRUE]], 'span' => FALSE]),
       'b' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]]]),
-      'diff' => new HTMLRestrictions(['$block' => ['class' => ['vertical-align-top' => TRUE]]]),
+      'diff' => new HTMLRestrictions(['$text-container' => ['class' => ['vertical-align-top' => TRUE]]]),
       'intersection' => new HTMLRestrictions(['span' => FALSE]),
-      'union' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]], '$block' => ['class' => ['vertical-align-top' => TRUE]]]),
+      'union' => new HTMLRestrictions(['span' => ['class' => ['vertical-align-top' => TRUE, 'vertical-align-bottom' => TRUE]], '$text-container' => ['class' => ['vertical-align-top' => TRUE]]]),
     ];
 
-    // Wildcard + wildcard cases.
+    // Wildcard tag + wildcard tag cases.
     yield 'wildcard + wildcard tag: attributes' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => TRUE, 'foo' => TRUE]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => TRUE]]),
-      'diff' => new HTMLRestrictions(['$block' => ['foo' => TRUE]]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => TRUE, 'foo' => TRUE]]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => TRUE]]),
+      'diff' => new HTMLRestrictions(['$text-container' => ['foo' => TRUE]]),
       'intersection' => 'b',
       'union' => 'a',
     ];
     yield 'wildcard + wildcard tag: attributes — vice versa' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => TRUE]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => TRUE, 'foo' => TRUE]]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => TRUE]]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => TRUE, 'foo' => TRUE]]),
       'diff' => HTMLRestrictions::emptySet(),
       'intersection' => 'a',
       'union' => 'b',
     ];
     yield 'wildcard + wildcard tag: attribute values' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => ['text-align-center' => TRUE]]]),
-      'diff' => new HTMLRestrictions(['$block' => ['class' => ['text-align-justify' => TRUE]]]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]]]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => ['text-align-center' => TRUE]]]),
+      'diff' => new HTMLRestrictions(['$text-container' => ['class' => ['text-align-justify' => TRUE]]]),
       'intersection' => 'b',
       'union' => 'a',
     ];
     yield 'wildcard + wildcard tag: attribute values — vice versa' => [
-      'a' => new HTMLRestrictions(['$block' => ['class' => ['text-align-center' => TRUE]]]),
-      'b' => new HTMLRestrictions(['$block' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]]]),
+      'a' => new HTMLRestrictions(['$text-container' => ['class' => ['text-align-center' => TRUE]]]),
+      'b' => new HTMLRestrictions(['$text-container' => ['class' => ['text-align-center' => TRUE, 'text-align-justify' => TRUE]]]),
       'diff' => HTMLRestrictions::emptySet(),
       'intersection' => 'a',
       'union' => 'b',
     ];
+
+    // Concrete attributes + wildcard attribute cases for all 3 possible
+    // wildcard locations. Parametrized to prevent excessive repetition and
+    // subtle differences.
+    $wildcard_locations = [
+      'prefix' => 'data-*',
+      'infix' => '*-entity-*',
+      'suffix' => '*-type',
+    ];
+    foreach ($wildcard_locations as $wildcard_location => $wildcard_attr_name) {
+      yield "concrete attrs + wildcard $wildcard_location attr that covers a superset" => [
+        'a' => new HTMLRestrictions(['img' => ['data-entity-bundle-type' => TRUE, 'data-entity-type' => TRUE]]),
+        'b' => new HTMLRestrictions(['img' => [$wildcard_attr_name => TRUE]]),
+        'diff' => HTMLRestrictions::emptySet(),
+        'intersection' => 'a',
+        'union' => 'b',
+      ];
+      yield "concrete attrs + wildcard $wildcard_location attr that covers a superset — vice versa" => [
+        'a' => new HTMLRestrictions(['img' => [$wildcard_attr_name => TRUE]]),
+        'b' => new HTMLRestrictions(['img' => ['data-entity-bundle-type' => TRUE, 'data-entity-type' => TRUE]]),
+        'diff' => 'a',
+        'intersection' => 'b',
+        'union' => 'a',
+      ];
+      yield "concrete attrs + wildcard $wildcard_location attr that covers a subset" => [
+        'a' => new HTMLRestrictions(['img' => ['data-entity-bundle-type' => TRUE, 'data-entity-type' => TRUE, 'class' => TRUE]]),
+        'b' => new HTMLRestrictions(['img' => [$wildcard_attr_name => TRUE]]),
+        'diff' => new HTMLRestrictions(['img' => ['class' => TRUE]]),
+        'intersection' => new HTMLRestrictions(['img' => ['data-entity-bundle-type' => TRUE, 'data-entity-type' => TRUE]]),
+        'union' => new HTMLRestrictions(['img' => [$wildcard_attr_name => TRUE, 'class' => TRUE]]),
+      ];
+      yield "concrete attrs + wildcard $wildcard_location attr that covers a subset — vice versa" => [
+        'a' => new HTMLRestrictions(['img' => [$wildcard_attr_name => TRUE]]),
+        'b' => new HTMLRestrictions(['img' => ['data-entity-bundle-type' => TRUE, 'data-entity-type' => TRUE, 'class' => TRUE]]),
+        'diff' => 'a',
+        'intersection' => new HTMLRestrictions(['img' => ['data-entity-bundle-type' => TRUE, 'data-entity-type' => TRUE]]),
+        'union' => new HTMLRestrictions(['img' => [$wildcard_attr_name => TRUE, 'class' => TRUE]]),
+      ];
+      yield "wildcard $wildcard_location attr + wildcard $wildcard_location attr" => [
+        'a' => new HTMLRestrictions(['img' => [$wildcard_attr_name => TRUE, 'class' => TRUE]]),
+        'b' => new HTMLRestrictions(['img' => [$wildcard_attr_name => TRUE]]),
+        'diff' => new HTMLRestrictions(['img' => ['class' => TRUE]]),
+        'intersection' => 'b',
+        'union' => 'a',
+      ];
+      yield "wildcard $wildcard_location attr + wildcard $wildcard_location attr — vice versa" => [
+        'a' => new HTMLRestrictions(['img' => [$wildcard_attr_name => TRUE]]),
+        'b' => new HTMLRestrictions(['img' => [$wildcard_attr_name => TRUE, 'class' => TRUE]]),
+        'diff' => HTMLRestrictions::emptySet(),
+        'intersection' => 'a',
+        'union' => 'b',
+      ];
+    }
+  }
+
+  /**
+   * @covers ::getWildcardSubset
+   * @covers ::getConcreteSubset
+   * @dataProvider providerSubsets
+   */
+  public function testSubsets(HTMLRestrictions $input, HTMLRestrictions $expected_wildcard_subset, HTMLRestrictions $expected_concrete_subset): void {
+    $this->assertEquals($expected_wildcard_subset, $input->getWildcardSubset());
+    $this->assertEquals($expected_concrete_subset, $input->getConcreteSubset());
+  }
+
+  public function providerSubsets(): \Generator {
+    yield 'empty set' => [
+      new HTMLRestrictions([]),
+      new HTMLRestrictions([]),
+      new HTMLRestrictions([]),
+    ];
+
+    yield 'without wildcards' => [
+      new HTMLRestrictions(['div' => FALSE]),
+      new HTMLRestrictions([]),
+      new HTMLRestrictions(['div' => FALSE]),
+    ];
+
+    yield 'with wildcards' => [
+      new HTMLRestrictions(['div' => FALSE, '$text-container' => ['data-llama' => TRUE]]),
+      new HTMLRestrictions(['$text-container' => ['data-llama' => TRUE]]),
+      new HTMLRestrictions(['div' => FALSE]),
+    ];
+
+    yield 'only wildcards' => [
+      new HTMLRestrictions(['$text-container' => ['data-llama' => TRUE]]),
+      new HTMLRestrictions(['$text-container' => ['data-llama' => TRUE]]),
+      new HTMLRestrictions([]),
+    ];
   }
 
 }
diff --git a/web/core/modules/ckeditor5/tests/src/Unit/SmartDefaultSettingsTest.php b/web/core/modules/ckeditor5/tests/src/Unit/SmartDefaultSettingsTest.php
new file mode 100644
index 0000000000..3586d6847c
--- /dev/null
+++ b/web/core/modules/ckeditor5/tests/src/Unit/SmartDefaultSettingsTest.php
@@ -0,0 +1,264 @@
+<?php
+
+declare(strict_types = 1);
+
+namespace Drupal\Tests\ckeditor5\Unit;
+
+use Drupal\ckeditor5\Annotation\CKEditor5Plugin;
+use Drupal\ckeditor5\HTMLRestrictions;
+use Drupal\ckeditor5\Plugin\CKEditor5PluginDefinition;
+use Drupal\ckeditor5\SmartDefaultSettings;
+use Drupal\Component\Utility\NestedArray;
+use Drupal\Tests\ckeditor5\Traits\PrivateMethodUnitTestTrait;
+use Drupal\Tests\UnitTestCase;
+
+/**
+ * @coversDefaultClass \Drupal\ckeditor5\SmartDefaultSettings
+ * @group ckeditor5
+ */
+class SmartDefaultSettingsTest extends UnitTestCase {
+
+  use PrivateMethodUnitTestTrait;
+
+  /**
+   * @covers ::computeSurplusScore
+   * @dataProvider providerSurplusScore
+   */
+  public function testSurplusScore(HTMLRestrictions $surplus, HTMLRestrictions $needed, int $expected): void {
+    $method = self::getMethod(SmartDefaultSettings::class, 'computeSurplusScore');
+    $this->assertSame($expected, $method->invoke(NULL, $surplus, $needed));
+  }
+
+  /**
+   * Data provider for testing computeSurplusScore().
+   *
+   * @return \Generator
+   */
+  public function providerSurplusScore(): \Generator {
+    $needed = new HTMLRestrictions(['code' => FALSE]);
+
+    yield 'surplus: 1 tag, 1 attribute, 1 attribute with wildcard restriction' => [
+      HTMLRestrictions::fromString('<pre> <code class="language-*">'),
+      $needed,
+      1001010,
+    ];
+
+    yield 'surplus: 1 tag, 1 attribute, 2 allowed attribute values' => [
+      HTMLRestrictions::fromString('<code class="language-php language-js">'),
+      $needed,
+      1002,
+    ];
+
+    yield 'surplus: 2 attributes, 4 allowed attribute values' => [
+      // cSpell:disable-next-line
+      HTMLRestrictions::fromString('<code class="language-php language-js" data-library="highlightjs something">'),
+      $needed,
+      2004,
+    ];
+
+    yield 'surplus: 1 any attribute allowed' => [
+      HTMLRestrictions::fromString('<code *>'),
+      $needed,
+      100000,
+    ];
+
+    yield 'surplus: 1 attribute, 1 attribute any value allowed' => [
+      HTMLRestrictions::fromString('<code class>'),
+      $needed,
+      1100,
+    ];
+
+    yield 'surplus: 1 tag, 2 wildcard attributes, 2 attributes, 3 attributes any value allowed, 1 wildcard allowed attribute value ' => [
+      HTMLRestrictions::fromString('<pre> <code data-config-* data-options-* data-highlight-library class="language-*">'),
+      $needed,
+      1022310,
+    ];
+  }
+
+  /**
+   * @covers ::getCandidates
+   * @covers ::selectCandidate
+   * @dataProvider providerCandidates
+   */
+  public function testCandidates(HTMLRestrictions $provided, HTMLRestrictions $still_needed, array $disabled_plugin_definitions, array $expected_candidates, array $expected_selection = []): void {
+    $get_candidates = self::getMethod(SmartDefaultSettings::class, 'getCandidates');
+    $this->assertSame($expected_candidates, $get_candidates->invoke(NULL, $provided, $still_needed, $disabled_plugin_definitions));
+    $select_candidate = self::getMethod(SmartDefaultSettings::class, 'selectCandidate');
+    $this->assertSame($expected_selection, $select_candidate->invoke(NULL, $expected_candidates, $still_needed, array_keys($provided->getAllowedElements())));
+  }
+
+  /**
+   * Data provider for testing getCandidates() and ::selectCandidate().
+   *
+   * @return \Generator
+   */
+  public function providerCandidates(): \Generator {
+    $generate_definition = function (string $label_and_id, array $overrides): CKEditor5PluginDefinition {
+      $annotation = [
+        'provider' => 'test',
+        'id' => "test_$label_and_id",
+        'drupal' => ['label' => "$label_and_id"],
+        'ckeditor5' => ['plugins' => []],
+      ];
+      foreach ($overrides as $path => $value) {
+        NestedArray::setValue($annotation, explode('.', $path), $value);
+      }
+      $annotation_instance = new CKEditor5Plugin($annotation);
+      $definition = $annotation_instance->get();
+      return $definition;
+    };
+
+    yield 'Tag needed, no match' => [
+      HTMLRestrictions::emptySet(),
+      HTMLRestrictions::fromString('<foo>'),
+      [
+        $generate_definition('foo', ['drupal.elements' => FALSE]),
+      ],
+      [],
+      [],
+    ];
+
+    yield 'Tag needed, single match without surplus' => [
+      HTMLRestrictions::emptySet(),
+      HTMLRestrictions::fromString('<foo>'),
+      [
+        $generate_definition('foo', ['drupal.elements' => ['<foo>']]),
+      ],
+      [
+        'foo' => [
+          '-attributes-none-' => [
+            'test_foo' => 0,
+          ],
+        ],
+      ],
+      // Perfect surplus score, but also only choice available.
+      ['test_foo' => ['-attributes-none-' => ['foo' => NULL]]],
+    ];
+
+    yield 'Tag needed, single match with surplus' => [
+      HTMLRestrictions::emptySet(),
+      HTMLRestrictions::fromString('<foo>'),
+      [
+        $generate_definition('foo', ['drupal.elements' => ['<foo bar baz>']]),
+      ],
+      [
+        'foo' => [
+          '-attributes-none-' => [
+            'test_foo' => 2200,
+          ],
+        ],
+      ],
+      // Not great surplus score, but only choice available.
+      ['test_foo' => ['-attributes-none-' => ['foo' => NULL]]],
+    ];
+
+    $various_foo_definitions = [
+      $generate_definition('all_attrs', ['drupal.elements' => ['<foo *>']]),
+      $generate_definition('attrs', ['drupal.elements' => ['<foo bar baz>']]),
+      $generate_definition('attr_values', ['drupal.elements' => ['<foo bar="a b">']]),
+      $generate_definition('plain', ['drupal.elements' => ['<foo>']]),
+      $generate_definition('tags', ['drupal.elements' => ['<foo>', '<bar>', '<baz>']]),
+      $generate_definition('tags_and_attrs', ['drupal.elements' => ['<foo bar baz>', '<bar>', '<baz>']]),
+      $generate_definition('tags_and_attr_values', ['drupal.elements' => ['<foo bar="a b" baz>', '<bar>', '<baz>']]),
+    ];
+
+    yield 'Tag needed, multiple matches' => [
+      HTMLRestrictions::emptySet(),
+      HTMLRestrictions::fromString('<foo>'),
+      $various_foo_definitions,
+      [
+        'foo' => [
+          '-attributes-none-' => [
+            'test_all_attrs' => 100000,
+            'test_attrs' => 2200,
+            'test_attr_values' => 1002,
+            'test_plain' => 0,
+            'test_tags' => 2000000,
+            'test_tags_and_attrs' => 2002200,
+            'test_tags_and_attr_values' => 2002102,
+          ],
+        ],
+      ],
+      // test_plain (elements: `<foo>`) has perfect surplus score.
+      ['test_plain' => ['-attributes-none-' => ['foo' => NULL]]],
+    ];
+
+    yield 'Attribute needed, multiple matches' => [
+      HTMLRestrictions::fromString('<foo>'),
+      HTMLRestrictions::fromString('<foo bar>'),
+      $various_foo_definitions,
+      [
+        'foo' => [
+          'bar' => [
+            // Because `<foo bar>` allowed.
+            TRUE => [
+              'test_all_attrs' => 100000,
+              // This will be selected.
+              'test_attrs' => 1100,
+              'test_tags_and_attrs' => 2001100,
+            ],
+            // Because `<foo bar="a">` allowed.
+            'a' => [
+              TRUE => [
+                'test_attr_values' => 1002,
+                'test_tags_and_attr_values' => 2002102,
+              ],
+            ],
+            // Because `<foo bar="b">` allowed.
+            'b' => [
+              TRUE => [
+                'test_attr_values' => 1002,
+                'test_tags_and_attr_values' => 2002102,
+              ],
+            ],
+          ],
+          // Note that `test_plain` and `test_tags` are absent.
+          '-attributes-none-' => [
+            'test_all_attrs' => 100000,
+            'test_attrs' => 1100,
+            'test_attr_values' => 1002,
+            'test_tags_and_attrs' => 2001100,
+            'test_tags_and_attr_values' => 2002102,
+          ],
+        ],
+      ],
+      // test_attrs (elements: `<foo bar baz>`) has best surplus score, despite
+      // allowing one extra attribute and any value on that attribute.
+      ['test_attrs' => ['bar' => ['foo' => TRUE]]],
+    ];
+
+    yield 'Attribute value needed, multiple matches' => [
+      HTMLRestrictions::fromString('<foo>'),
+      HTMLRestrictions::fromString('<foo bar="b">'),
+      $various_foo_definitions,
+      [
+        'foo' => [
+          'bar' => [
+            'b' => [
+              TRUE => [
+                'test_all_attrs' => 100000,
+                'test_attrs' => 2200,
+                // This will be selected.
+                'test_attr_values' => 1001,
+                'test_tags_and_attrs' => 2002200,
+                'test_tags_and_attr_values' => 2002101,
+              ],
+            ],
+          ],
+          // Note that `test_plain` and `test_tags` are absent.
+          '-attributes-none-' => [
+            'test_all_attrs' => 100000,
+            'test_attrs' => 2200,
+            'test_attr_values' => 1001,
+            'test_tags_and_attrs' => 2002200,
+            'test_tags_and_attr_values' => 2002101,
+          ],
+        ],
+      ],
+      // test_attr_values (elements: `<foo bar="a b">`) has best surplus score,
+      // despite allowing one extra attribute value.
+      ['test_attr_values' => ['bar' => ['foo' => ['b' => TRUE]]]],
+    ];
+  }
+
+}
diff --git a/web/core/modules/editor/editor.module b/web/core/modules/editor/editor.module
index da32ff01cb..2e32020006 100644
--- a/web/core/modules/editor/editor.module
+++ b/web/core/modules/editor/editor.module
@@ -191,6 +191,7 @@ function editor_form_filter_admin_format_editor_configure($form, FormStateInterf
   if ($editor_value !== NULL) {
     if ($editor_value === '') {
       $form_state->set('editor', FALSE);
+      $form_state->set('editor_plugin', NULL);
     }
     elseif (empty($editor) || $editor_value !== $editor->getEditor()) {
       $format = $form_state->getFormObject()->getEntity();
diff --git a/web/core/modules/editor/tests/src/FunctionalJavascript/EditorAdminTest.php b/web/core/modules/editor/tests/src/FunctionalJavascript/EditorAdminTest.php
index 3d19d3e599..c75ede4c5f 100644
--- a/web/core/modules/editor/tests/src/FunctionalJavascript/EditorAdminTest.php
+++ b/web/core/modules/editor/tests/src/FunctionalJavascript/EditorAdminTest.php
@@ -21,6 +21,7 @@ class EditorAdminTest extends WebDriverTestBase {
    */
   protected static $modules = [
     'ckeditor',
+    'ckeditor5',
   ];
 
   /**
@@ -66,4 +67,27 @@ public function testEditorSelection() {
     $this->assertNotEmpty($this->assertSession()->waitForElementVisible('css', 'ul.ckeditor-toolbar-group-buttons'));
   }
 
+  /**
+   * Tests that editor creation works fine while switching text editor field.
+   *
+   * The order in which the different editors are selected is significant,
+   * because the form state must change accordingly.
+   * @see https://www.drupal.org/project/drupal/issues/3230829
+   */
+  public function testEditorCreation() {
+    $page = $this->getSession()->getPage();
+    $assert_session = $this->assertSession();
+
+    $this->drupalGet('/admin/config/content/formats/add');
+    $page->fillField('name', $this->randomString());
+    $page->selectFieldOption('editor[editor]', 'ckeditor5');
+    $this->assertNotEmpty($this->assertSession()->waitForElementVisible('css', 'ul.ckeditor5-toolbar-available__buttons'));
+
+    $page->selectFieldOption('editor[editor]', '');
+    $assert_session->elementNotExists('css', 'ul.ckeditor-toolbar-group-buttons');
+
+    $page->selectFieldOption('editor[editor]', 'ckeditor');
+    $this->assertNotEmpty($this->assertSession()->waitForElementVisible('css', 'ul.ckeditor-toolbar-group-buttons'));
+  }
+
 }
diff --git a/web/core/modules/field/tests/modules/field_test/config/schema/field_test.schema.yml b/web/core/modules/field/tests/modules/field_test/config/schema/field_test.schema.yml
index 18f8b5aadc..5a65b96986 100644
--- a/web/core/modules/field/tests/modules/field_test/config/schema/field_test.schema.yml
+++ b/web/core/modules/field/tests/modules/field_test/config/schema/field_test.schema.yml
@@ -67,9 +67,9 @@ field.widget.settings.test_field_widget_multilingual:
   type: field.widget.settings.test_field_widget
   label: 'Test multiple field widget settings: multilingual'
 
-field.widget.third_party.color:
+field.widget.third_party.help:
   type: mapping
-  label: 'Field test entity display color module third party settings'
+  label: 'Field test entity display help module third party settings'
   mapping:
     foo:
       type: string
diff --git a/web/core/modules/field_ui/tests/src/Kernel/EntityDisplayTest.php b/web/core/modules/field_ui/tests/src/Kernel/EntityDisplayTest.php
index e4cc74b449..c10ef036ce 100644
--- a/web/core/modules/field_ui/tests/src/Kernel/EntityDisplayTest.php
+++ b/web/core/modules/field_ui/tests/src/Kernel/EntityDisplayTest.php
@@ -526,7 +526,7 @@ public function testGetDisplayModeOptions() {
    * Tests components dependencies additions.
    */
   public function testComponentDependencies() {
-    $this->enableModules(['dblog', 'color']);
+    $this->enableModules(['dblog', 'help']);
     $this->installSchema('dblog', ['watchdog']);
     $this->installEntitySchema('user');
     /** @var \Drupal\user\RoleInterface[] $roles */
@@ -577,7 +577,7 @@ public function testComponentDependencies() {
         'role2' => $roles[1]->id(),
       ],
       'third_party_settings' => [
-        'color' => ['foo' => 'bar'],
+        'help' => ['foo' => 'bar'],
       ],
     ];
     $form_display->setComponent($field_name, $component);
@@ -586,8 +586,8 @@ public function testComponentDependencies() {
     // Now, the form display should depend on both user roles $roles.
     $this->assertDependency('config', $dependencies[0], $form_display);
     $this->assertDependency('config', $dependencies[1], $form_display);
-    // The form display should depend on 'color' module.
-    $this->assertDependency('module', 'color', $form_display);
+    // The form display should depend on 'help' module.
+    $this->assertDependency('module', 'help', $form_display);
 
     // Delete the first user role entity.
     $roles[0]->delete();
@@ -600,14 +600,14 @@ public function testComponentDependencies() {
     $this->assertNoDependency('config', $dependencies[0], $form_display);
     // The form display should depend on 'anonymous' user role.
     $this->assertDependency('config', 'user.role.anonymous', $form_display);
-    // The form display should depend on 'color' module.
-    $this->assertDependency('module', 'color', $form_display);
+    // The form display should depend on 'help' module.
+    $this->assertDependency('module', 'help', $form_display);
 
     // Manually trigger the removal of configuration belonging to the module
     // because KernelTestBase::disableModules() is not aware of this.
-    $this->container->get('config.manager')->uninstall('module', 'color');
-    // Uninstall 'color' module.
-    $this->disableModules(['color']);
+    $this->container->get('config.manager')->uninstall('module', 'help');
+    // Uninstall 'help' module.
+    $this->disableModules(['help']);
 
     // Reload the form display.
     $form_display = EntityFormDisplay::load($form_display->id());
@@ -615,8 +615,8 @@ public function testComponentDependencies() {
     $this->assertNotEmpty($form_display);
     // The component is still enabled.
     $this->assertNotNull($form_display->getComponent($field_name));
-    // The form display should not depend on 'color' module anymore.
-    $this->assertNoDependency('module', 'color', $form_display);
+    // The form display should not depend on 'help' module anymore.
+    $this->assertNoDependency('module', 'help', $form_display);
 
     // Delete the 2nd user role entity.
     $roles[1]->delete();
diff --git a/web/core/modules/help/tests/src/Functional/HelpTest.php b/web/core/modules/help/tests/src/Functional/HelpTest.php
index 0c6443ea85..cb30b8163a 100644
--- a/web/core/modules/help/tests/src/Functional/HelpTest.php
+++ b/web/core/modules/help/tests/src/Functional/HelpTest.php
@@ -101,7 +101,7 @@ public function testHelp() {
     $page_text = $this->getTextContent();
     $start = strpos($page_text, 'Module overviews');
     $pos = $start;
-    $list = ['Block', 'Color', 'Custom Block', 'History', 'Text Editor'];
+    $list = ['Block', 'Breakpoint', 'Custom Block', 'History', 'Text Editor'];
     foreach ($list as $name) {
       $this->assertSession()->linkExists($name);
       $new_pos = strpos($page_text, $name, $start);
diff --git a/web/core/modules/jsonapi/tests/src/Functional/BlockTest.php b/web/core/modules/jsonapi/tests/src/Functional/BlockTest.php
index 000c80d3a8..07169e6b05 100644
--- a/web/core/modules/jsonapi/tests/src/Functional/BlockTest.php
+++ b/web/core/modules/jsonapi/tests/src/Functional/BlockTest.php
@@ -38,7 +38,7 @@ class BlockTest extends ResourceTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * {@inheritdoc}
@@ -59,7 +59,7 @@ protected function createEntity() {
       'plugin' => 'llama_block',
       'region' => 'header',
       'id' => 'llama',
-      'theme' => 'classy',
+      'theme' => 'stark',
     ]);
     // All blocks can be viewed by the anonymous user by default. An interesting
     // side effect of this is that any anonymous user is also able to read the
@@ -111,10 +111,10 @@ protected function getExpectedDocument() {
           'status' => TRUE,
           'dependencies' => [
             'theme' => [
-              'classy',
+              'stark',
             ],
           ],
-          'theme' => 'classy',
+          'theme' => 'stark',
           'region' => 'header',
           'provider' => NULL,
           'plugin' => 'llama_block',
diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/AjaxBlockTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/AjaxBlockTest.php
index 5fbf7ac022..821cbf82e5 100644
--- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/AjaxBlockTest.php
+++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/AjaxBlockTest.php
@@ -83,6 +83,7 @@ public function testAddAjaxBlock() {
     // Find the radio buttons.
     $name = 'settings[ajax_test]';
     /** @var \Behat\Mink\Element\NodeElement[] $radios */
+    $this->markTestSkipped('Temporarily skipped due to random failures.');
     $radios = $this->assertSession()->fieldExists($name);
     // Click them both a couple of times.
     foreach ([1, 2] as $rounds) {
diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContentPreviewToggleTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContentPreviewToggleTest.php
index 0d472adc82..80aa72f600 100644
--- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContentPreviewToggleTest.php
+++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/ContentPreviewToggleTest.php
@@ -50,6 +50,7 @@ protected function setUp(): void {
    * Tests the content preview toggle.
    */
   public function testContentPreviewToggle() {
+    $this->markTestSkipped();
     $assert_session = $this->assertSession();
     $page = $this->getSession()->getPage();
     $links_field_placeholder_label = '"Links" field';
@@ -91,6 +92,7 @@ public function testContentPreviewToggle() {
     $this->getSession()->reload();
     $this->assertNotEmpty($assert_session->waitForElement('css', '.layout-builder-block__content-preview-placeholder-label'));
     $assert_session->pageTextNotContains($content_preview_body_text);
+    $this->markTestSkipped('Temporarily skipped due to random failures.');
     $this->assertContextualLinks();
 
     // Confirm repositioning blocks works with content preview disabled.
diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderDisableInteractionsTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderDisableInteractionsTest.php
index e83099c1db..6ce658324b 100644
--- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderDisableInteractionsTest.php
+++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderDisableInteractionsTest.php
@@ -9,6 +9,7 @@
 use Drupal\FunctionalJavascriptTests\JSWebAssert;
 use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
 use Drupal\Tests\contextual\FunctionalJavascript\ContextualLinkClickTrait;
+use Drupal\Tests\system\Traits\OffCanvasTestTrait;
 
 /**
  * Tests the Layout Builder disables interactions of rendered blocks.
@@ -18,6 +19,7 @@
 class LayoutBuilderDisableInteractionsTest extends WebDriverTestBase {
 
   use ContextualLinkClickTrait;
+  use OffCanvasTestTrait;
 
   /**
    * {@inheritdoc}
@@ -31,6 +33,7 @@ class LayoutBuilderDisableInteractionsTest extends WebDriverTestBase {
     'node',
     'search',
     'contextual',
+    'off_canvas_test',
   ];
 
   /**
@@ -218,6 +221,11 @@ protected function assertContextualLinksClickable(): void {
 
     $this->clickContextualLink('.block-field-blocknodebundle-with-section-fieldbody [data-contextual-id^="layout_builder_block"]', 'Configure');
     $this->assertNotEmpty($assert_session->waitForElementVisible('css', '.ui-dialog-titlebar [title="Close"]'));
+    // We explicitly wait for the off-canvas area to be fully resized before
+    // trying to press the Close button, instead of waiting for the Close button
+    // itself to become visible. This is to prevent a regularly occurring random
+    // test failure.
+    $this->waitForOffCanvasArea();
     $page->pressButton('Close');
     $assert_session->assertNoElementAfterWait('css', '#drupal-off-canvas');
 
@@ -227,6 +235,7 @@ protected function assertContextualLinksClickable(): void {
     $this->clickContextualLink('.block-field-blocknodebundle-with-section-fieldbody [data-contextual-id^="layout_builder_block"]', 'Configure');
     $this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas'));
     $page->pressButton('Close');
+    $this->markTestSkipped('Temporarily skipped due to random failures.');
     $assert_session->assertNoElementAfterWait('css', '#drupal-off-canvas');
     $this->assertContextualLinkRetainsMouseup();
   }
diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderNestedFormUiTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderNestedFormUiTest.php
index aa073f1236..a000ac8f50 100644
--- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderNestedFormUiTest.php
+++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderNestedFormUiTest.php
@@ -65,6 +65,7 @@ protected function setUp(): void {
    * Tests blocks containing forms can be successfully saved editing defaults.
    */
   public function testAddingFormBlocksToDefaults() {
+    $this->markTestSkipped();
     $this->drupalLogin($this->drupalCreateUser([
       'configure any layout',
       'administer node display',
@@ -99,6 +100,7 @@ public function testAddingFormBlocksToDefaults() {
    * Tests blocks containing forms can be successfully saved editing overrides.
    */
   public function testAddingFormBlocksToOverrides() {
+    $this->markTestSkipped();
     $this->drupalLogin($this->drupalCreateUser([
       'configure any layout',
       'administer node display',
diff --git a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php
index 35c8b8090c..fe995ec24b 100644
--- a/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php
+++ b/web/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php
@@ -7,6 +7,7 @@
 use Drupal\Core\Url;
 use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
 use Drupal\Tests\contextual\FunctionalJavascript\ContextualLinkClickTrait;
+use Drupal\Tests\system\Traits\OffCanvasTestTrait;
 
 /**
  * Tests the Layout Builder UI.
@@ -17,6 +18,7 @@ class LayoutBuilderTest extends WebDriverTestBase {
 
   use ContextualLinkClickTrait;
   use LayoutBuilderSortTrait;
+  use OffCanvasTestTrait;
 
   /**
    * {@inheritdoc}
@@ -27,6 +29,7 @@ class LayoutBuilderTest extends WebDriverTestBase {
     'layout_builder',
     'layout_test',
     'node',
+    'off_canvas_test',
   ];
 
   /**
@@ -97,6 +100,7 @@ protected function setUp(): void {
    * Tests the Layout Builder UI.
    */
   public function testLayoutBuilderUi() {
+    $this->markTestSkipped();
     $layout_url = 'node/1/layout';
     $node_url = 'node/1';
 
@@ -284,17 +288,19 @@ public function testConfigurableLayoutSections() {
     $assert_session->linkExists('Add section');
     $this->clickLink('Add section');
     $assert_session->assertWaitOnAjaxRequest();
-    $assert_session->elementExists('css', '#drupal-off-canvas');
+    $this->waitForOffCanvasArea();
 
     $assert_session->linkExists('One column');
     $this->clickLink('One column');
     $assert_session->assertWaitOnAjaxRequest();
+    $this->waitForOffCanvasArea();
 
     // Add another section.
     $assert_session->linkExists('Add section');
     $this->clickLink('Add section');
+
+    $this->waitForOffCanvasArea();
     $assert_session->waitForElementVisible('named', ['link', 'Layout plugin (with settings)']);
-    $assert_session->elementExists('css', '#drupal-off-canvas');
 
     $assert_session->linkExists('Layout plugin (with settings)');
     $this->clickLink('Layout plugin (with settings)');
@@ -309,6 +315,8 @@ public function testConfigurableLayoutSections() {
     // Ensure validation error is displayed for ConfigureSectionForm.
     $assert_session->linkExists('Add section');
     $this->clickLink('Add section');
+    $this->waitForOffCanvasArea();
+
     $assert_session->waitForElementVisible('named', ['link', 'Layout plugin (with settings)']);
     $this->clickLink('Layout plugin (with settings)');
     $this->assertOffCanvasFormAfterWait('layout_builder_configure_section');
@@ -479,7 +487,8 @@ private function openAddBlockForm($block_title) {
    */
   private function assertOffCanvasFormAfterWait(string $expected_form_id): void {
     $this->assertSession()->assertWaitOnAjaxRequest();
-    $off_canvas = $this->assertSession()->waitForElementVisible('css', '#drupal-off-canvas');
+    $this->waitForOffCanvasArea();
+    $off_canvas = $this->assertSession()->elementExists('css', '#drupal-off-canvas');
     $this->assertNotNull($off_canvas);
     $form_id_element = $off_canvas->find('hidden_field_selector', ['hidden_field', 'form_id']);
     // Ensure the form ID has the correct value and that the form is visible.
diff --git a/web/core/modules/layout_discovery/tests/themes/test_layout_theme/test_layout_theme.info.yml b/web/core/modules/layout_discovery/tests/themes/test_layout_theme/test_layout_theme.info.yml
index 7f04437d30..d70d61b25e 100644
--- a/web/core/modules/layout_discovery/tests/themes/test_layout_theme/test_layout_theme.info.yml
+++ b/web/core/modules/layout_discovery/tests/themes/test_layout_theme/test_layout_theme.info.yml
@@ -2,4 +2,4 @@ name: 'Test layout theme'
 type: theme
 description: 'Theme for testing a theme-provided layout'
 version: VERSION
-base theme: classy
+base theme: stark
diff --git a/web/core/modules/media/src/MediaAccessControlHandler.php b/web/core/modules/media/src/MediaAccessControlHandler.php
index d5240badf5..a645b137ab 100644
--- a/web/core/modules/media/src/MediaAccessControlHandler.php
+++ b/web/core/modules/media/src/MediaAccessControlHandler.php
@@ -135,7 +135,7 @@ protected function checkAccess(EntityInterface $entity, $operation, AccountInter
         $media_storage = $this->entityTypeManager->getStorage($entity->getEntityTypeId());
         $access = $this->access($media_storage->load($entity->id()), 'view', $account, TRUE);
         if (!$entity->isDefaultRevision()) {
-          $access = $access->orIf($this->access($entity, 'view', $account, TRUE));
+          $access = $access->andIf($this->access($entity, 'view', $account, TRUE));
         }
         return $access->cachePerPermissions()->addCacheableDependency($entity);
 
diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php b/web/core/modules/media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php
index 7557f1c1a6..53427a3101 100644
--- a/web/core/modules/media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php
+++ b/web/core/modules/media/tests/src/FunctionalJavascript/CKEditorIntegrationTest.php
@@ -3,6 +3,7 @@
 namespace Drupal\Tests\media\FunctionalJavascript;
 
 use Drupal\Component\Utility\Html;
+use Drupal\Core\Database\Database;
 use Drupal\Core\Entity\Entity\EntityViewDisplay;
 use Drupal\editor\Entity\Editor;
 use Drupal\field\Entity\FieldConfig;
@@ -193,6 +194,13 @@ public function testOnlyDrupalMediaTagProcessed() {
    * Tests that failed media embed preview requests inform the end user.
    */
   public function testErrorMessages() {
+    // This test currently frequently causes the SQLite database to lock, so
+    // skip the test on SQLite until the issue can be resolved.
+    // @todo https://www.drupal.org/project/drupal/issues/3273626
+    if (Database::getConnection()->driver() === 'sqlite') {
+      $this->markTestSkipped('Test frequently causes a locked database on SQLite');
+    }
+
     // Assert that a request to the `media.filter.preview` route that does not
     // result in a 200 response (due to server error or network error) is
     // handled in the JavaScript by displaying the expected error message.
diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php b/web/core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php
index 728a4444a8..10f5409a4c 100644
--- a/web/core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php
+++ b/web/core/modules/media/tests/src/FunctionalJavascript/MediaStandardProfileTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\media\FunctionalJavascript;
 
+use Drupal\Core\Database\Database;
 use Drupal\Core\Entity\Entity\EntityViewDisplay;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\field\Entity\FieldStorageConfig;
@@ -49,6 +50,13 @@ protected function setUp(): void {
    * increases the performance of this test.
    */
   public function testMediaSources() {
+    // This test currently frequently causes the SQLite database to lock, so
+    // skip the test on SQLite until the issue can be resolved.
+    // @todo https://www.drupal.org/project/drupal/issues/3273626
+    if (Database::getConnection()->driver() === 'sqlite') {
+      $this->markTestSkipped('Test frequently causes a locked database on SQLite');
+    }
+
     $storage = FieldStorageConfig::create([
       'entity_type' => 'node',
       'field_name' => 'field_related_media',
diff --git a/web/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php b/web/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php
index 3f341f54b0..7e76940a0b 100644
--- a/web/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php
+++ b/web/core/modules/media_library/src/Plugin/Field/FieldWidget/MediaLibraryWidget.php
@@ -286,6 +286,22 @@ public function form(FieldItemListInterface $items, array &$form, FormStateInter
     return parent::form($items, $form, $form_state, $get_delta);
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function extractFormValues(FieldItemListInterface $items, array $form, FormStateInterface $form_state) {
+    parent::extractFormValues($items, $form, $form_state);
+
+    // Update reference to 'items' stored during add or remove to take into
+    // account changes to values like 'weight' etc.
+    // @see Drupal\media_library\Plugin\Field\FieldWidget\MediaLibraryWidget::addItems
+    // @see Drupal\media_library\Plugin\Field\FieldWidget\MediaLibraryWidget::removeItem
+    $field_name = $this->fieldDefinition->getName();
+    $field_state = static::getWidgetState($form['#parents'], $field_name, $form_state);
+    $field_state['items'] = $items->getValue();
+    static::setWidgetState($form['#parents'], $field_name, $form_state, $field_state);
+  }
+
   /**
    * {@inheritdoc}
    */
@@ -744,7 +760,15 @@ public static function updateWidget(array $form, FormStateInterface $form_state)
    *   The form state.
    */
   public static function removeItem(array $form, FormStateInterface $form_state) {
+    // During the form rebuild, formElement() will create field item widget
+    // elements using re-indexed deltas, so clear out FormState::$input to
+    // avoid a mismatch between old and new deltas. The rebuilt elements will
+    // have #default_value set appropriately for the current state of the field,
+    // so nothing is lost in doing this.
+    // @see Drupal\media_library\Plugin\Field\FieldWidget\MediaLibraryWidget::extractFormValues
     $triggering_element = $form_state->getTriggeringElement();
+    $parents = array_slice($triggering_element['#parents'], 0, -2);
+    NestedArray::setValue($form_state->getUserInput(), $parents, NULL);
 
     // Get the parents required to find the top-level widget element.
     if (count($triggering_element['#array_parents']) < 4) {
@@ -844,7 +868,17 @@ public static function validateItems(array $form, FormStateInterface $form_state
    *   The form state.
    */
   public static function addItems(array $form, FormStateInterface $form_state) {
+    // During the form rebuild, formElement() will create field item widget
+    // elements using re-indexed deltas, so clear out FormState::$input to
+    // avoid a mismatch between old and new deltas. The rebuilt elements will
+    // have #default_value set appropriately for the current state of the field,
+    // so nothing is lost in doing this.
+    // @see Drupal\media_library\Plugin\Field\FieldWidget\MediaLibraryWidget::extractFormValues
     $button = $form_state->getTriggeringElement();
+    $parents = array_slice($button['#parents'], 0, -1);
+    $parents[] = 'selection';
+    NestedArray::setValue($form_state->getUserInput(), $parents, NULL);
+
     $element = NestedArray::getValue($form, array_slice($button['#array_parents'], 0, -1));
 
     $field_state = static::getFieldState($element, $form_state);
diff --git a/web/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php b/web/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php
index 5ec06908ff..31c0033829 100644
--- a/web/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php
+++ b/web/core/modules/media_library/tests/src/FunctionalJavascript/EntityReferenceWidgetTest.php
@@ -3,6 +3,7 @@
 namespace Drupal\Tests\media_library\FunctionalJavascript;
 
 use Drupal\field\Entity\FieldConfig;
+use Drupal\FunctionalJavascriptTests\SortableTestTrait;
 
 /**
  * Tests the Media library entity reference widget.
@@ -11,6 +12,8 @@
  */
 class EntityReferenceWidgetTest extends MediaLibraryTestBase {
 
+  use SortableTestTrait;
+
   /**
    * {@inheritdoc}
    */
@@ -256,6 +259,7 @@ public function testWidget() {
     $this->openMediaLibraryForField('field_twin_media');
     $page->checkField('Select Dog');
     $this->pressInsertSelected('Added one media item.');
+    $this->waitForElementsCount('css', '.field--name-field-twin-media [data-media-library-item-delta]', 2);
     // Assert that we can toggle the visibility of the weight inputs when the
     // field contains more than one item.
     $wrapper = $assert_session->elementExists('css', '.field--name-field-twin-media');
@@ -485,4 +489,86 @@ public function testRequiredMediaField() {
     $this->assertSession()->pageTextContains('Basic page My page has been created.');
   }
 
+  /**
+   * Tests that changed order is maintained after removing a selection.
+   */
+  public function testRemoveAfterReordering(): void {
+    $assert_session = $this->assertSession();
+    $page = $this->getSession()->getPage();
+
+    $this->drupalGet('node/add/basic_page');
+    $page->fillField('Title', 'My page');
+
+    $this->openMediaLibraryForField('field_unlimited_media');
+    $page->checkField('Select Dog');
+    $page->checkField('Select Cat');
+    $page->checkField('Select Bear');
+    // Order: Dog - Cat - Bear.
+    $this->pressInsertSelected('Added 3 media items.');
+
+    // Move first item (Dog) to the end.
+    // Order: Cat - Bear - Dog.
+    $this->sortableAfter('[data-media-library-item-delta="0"]', '[data-media-library-item-delta="2"]', '.js-media-library-selection');
+
+    $wrapper = $assert_session->elementExists('css', '.field--name-field-unlimited-media');
+    // Remove second item (Bear).
+    // Order: Cat - Dog.
+    $wrapper->find('css', "[aria-label='Remove Bear']")->press();
+    $this->waitForText('Bear has been removed.');
+    $page->pressButton('Save');
+
+    $assert_session->elementTextContains('css', '.field--name-field-unlimited-media > .field__items > .field__item:last-child', 'Dog');
+  }
+
+  /**
+   * Tests that order is correct after re-order and adding another item.
+   */
+  public function testAddAfterReordering(): void {
+    $assert_session = $this->assertSession();
+    $page = $this->getSession()->getPage();
+
+    $this->drupalGet('node/add/basic_page');
+    $page->fillField('Title', 'My page');
+
+    $this->openMediaLibraryForField('field_unlimited_media');
+    $page->checkField('Select Dog');
+    $page->checkField('Select Cat');
+    // Order: Dog - Cat.
+    $this->pressInsertSelected('Added 2 media items.');
+
+    // Change positions.
+    // Order: Cat - Dog.
+    $this->sortableAfter('[data-media-library-item-delta="0"]', '[data-media-library-item-delta="1"]', '.js-media-library-selection');
+
+    $this->openMediaLibraryForField('field_unlimited_media');
+    $this->selectMediaItem(2);
+    // Order: Cat - Dog - Bear.
+    $this->pressInsertSelected('Added one media item.');
+
+    $page->pressButton('Save');
+
+    $assert_session->elementTextContains('css', '.field--name-field-unlimited-media > .field__items > .field__item:first-child', 'Cat');
+    $assert_session->elementTextContains('css', '.field--name-field-unlimited-media > .field__items > .field__item:last-child', 'Bear');
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function sortableUpdate($item, $from, $to = NULL) {
+    // See core/modules/media_library/js/media_library.widget.es6.js.
+    $script = <<<JS
+(function ($) {
+    var selection = document.querySelectorAll('.js-media-library-selection');
+    selection.forEach(function (widget) {
+        $(widget).children().each(function (index, child) {
+            $(child).find('.js-media-library-item-weight').val(index);
+        });
+    });
+})(jQuery)
+
+JS;
+
+    $this->getSession()->executeScript($script);
+  }
+
 }
diff --git a/web/core/modules/migrate/src/Plugin/migrate/process/Callback.php b/web/core/modules/migrate/src/Plugin/migrate/process/Callback.php
index f1b2f98be5..ad65bc3bed 100644
--- a/web/core/modules/migrate/src/Plugin/migrate/process/Callback.php
+++ b/web/core/modules/migrate/src/Plugin/migrate/process/Callback.php
@@ -41,6 +41,17 @@
  *     source: source_field
  * @endcode
  *
+ * An example where the callback accepts no arguments:
+ *
+ * @code
+ * process:
+ *   time:
+ *     plugin: callback
+ *     callable: time
+ *     unpack_source: true
+ *     source: [  ]
+ * @endcode
+ *
  * An example where the callback accepts more than one argument:
  *
  * @code
diff --git a/web/core/modules/migrate/tests/src/Unit/process/CallbackTest.php b/web/core/modules/migrate/tests/src/Unit/process/CallbackTest.php
index 6965e12bb5..d7040b9f3f 100644
--- a/web/core/modules/migrate/tests/src/Unit/process/CallbackTest.php
+++ b/web/core/modules/migrate/tests/src/Unit/process/CallbackTest.php
@@ -66,6 +66,11 @@ public function providerCallbackArray() {
         [['One', 'two'], ['1', '2'], 'One, two, three!'],
         '1, 2, three!',
       ],
+      'pi' => [
+        'pi',
+        [],
+        pi(),
+      ],
     ];
   }
 
diff --git a/web/core/modules/migrate_drupal/tests/src/Kernel/StateFileExists.php b/web/core/modules/migrate_drupal/tests/src/Kernel/StateFileExistsTest.php
similarity index 97%
rename from web/core/modules/migrate_drupal/tests/src/Kernel/StateFileExists.php
rename to web/core/modules/migrate_drupal/tests/src/Kernel/StateFileExistsTest.php
index 6d0730dd73..249a96b16c 100644
--- a/web/core/modules/migrate_drupal/tests/src/Kernel/StateFileExists.php
+++ b/web/core/modules/migrate_drupal/tests/src/Kernel/StateFileExistsTest.php
@@ -16,7 +16,7 @@
  *
  * @group migrate_drupal
  */
-class StateFileExists extends MigrateDrupalTestBase {
+class StateFileExistsTest extends MigrateDrupalTestBase {
 
   use FileSystemModuleDiscoveryDataProviderTrait;
   use MigrationConfigurationTrait;
diff --git a/web/core/modules/node/src/NodeAccessControlHandler.php b/web/core/modules/node/src/NodeAccessControlHandler.php
index 25b3867131..a9128a0105 100644
--- a/web/core/modules/node/src/NodeAccessControlHandler.php
+++ b/web/core/modules/node/src/NodeAccessControlHandler.php
@@ -173,9 +173,9 @@ protected function checkAccess(EntityInterface $node, $operation, AccountInterfa
       // node passed in is not the default revision then check access to
       // that, too.
       $node_storage = $this->entityTypeManager->getStorage($node->getEntityTypeId());
-      $access = $this->access($node_storage->load($node->id()), 'view', $account, TRUE);
+      $access = $this->access($node_storage->load($node->id()), $entity_operation, $account, TRUE);
       if (!$node->isDefaultRevision()) {
-        $access = $access->orIf($this->access($node, 'view', $account, TRUE));
+        $access = $access->andIf($this->access($node, $entity_operation, $account, TRUE));
       }
       return $access->cachePerPermissions()->addCacheableDependency($node);
     }
diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/CKEditor5IntegrationTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/CKEditor5IntegrationTest.php
index 90799308e9..5cd9797ff8 100644
--- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/CKEditor5IntegrationTest.php
+++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/CKEditor5IntegrationTest.php
@@ -205,9 +205,6 @@ public function testArticleNode() {
 
     $this->drupalGet('node/' . $node->id());
 
-    // Confirm that the JavaScript that generates IE11 warnings loads.
-    $assert_session->elementExists('css', 'script[src*="ckeditor5/js/ie11.user.warnings.js"]');
-
     // Initial state.
     $this->awaitQuickEditForEntity('node', 1);
     $this->assertEntityInstanceStates([
@@ -229,6 +226,9 @@ public function testArticleNode() {
       'node/1/body/en/full' => 'candidate',
     ]);
 
+    // Confirm that the JavaScript that generates IE11 warnings loads.
+    $assert_session->elementExists('css', 'script[src*="ckeditor5/js/ie11.user.warnings.js"]');
+
     // Click the body field.
     hold_test_response(TRUE);
     $this->click('[data-quickedit-field-id="node/1/body/en/full"]');
diff --git a/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditIntegrationTest.php b/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditIntegrationTest.php
index 2ee3191547..a15bb9ac5b 100644
--- a/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditIntegrationTest.php
+++ b/web/core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditIntegrationTest.php
@@ -119,6 +119,7 @@ protected function setUp(): void {
    * Tests if an article node can be in-place edited with Quick Edit.
    */
   public function testArticleNode() {
+    $this->markTestSkipped();
     $term = Term::create([
       'name' => 'foo',
       'vid' => 'tags',
@@ -275,6 +276,7 @@ public function testArticleNode() {
    * Tests if a custom can be in-place edited with Quick Edit.
    */
   public function testCustomBlock() {
+    $this->markTestSkipped('This test fails pretty consistently on the latest Chromedriver');
     $block_content_type = BlockContentType::create([
       'id' => 'basic',
       'label' => 'basic',
diff --git a/web/core/modules/shortcut/shortcut.api.php b/web/core/modules/shortcut/shortcut.api.php
index ff40a30d3f..abdf357cd8 100644
--- a/web/core/modules/shortcut/shortcut.api.php
+++ b/web/core/modules/shortcut/shortcut.api.php
@@ -24,14 +24,14 @@
  * modules implement this hook, the last (i.e., highest weighted) module which
  * returns a valid shortcut set name will prevail.
  *
- * @param $account
+ * @param \Drupal\Core\Session\AccountInterface $account
  *   The user account whose default shortcut set is being requested.
  *
  * @return string
  *   The name of the shortcut set that this module recommends for that user, if
  *   there is one.
  */
-function hook_shortcut_default_set($account) {
+function hook_shortcut_default_set(\Drupal\Core\Session\AccountInterface $account) {
   // Use a special set of default shortcuts for administrators only.
   $roles = \Drupal::entityTypeManager()->getStorage('user_role')->loadByProperties(['is_admin' => TRUE]);
   $user_admin_roles = array_intersect(array_keys($roles), $account->getRoles());
diff --git a/web/core/modules/system/migrations/system_site.yml b/web/core/modules/system/migrations/system_site.yml
index 40b0578602..7c237c8134 100644
--- a/web/core/modules/system/migrations/system_site.yml
+++ b/web/core/modules/system/migrations/system_site.yml
@@ -23,21 +23,47 @@ process:
   mail: site_mail
   slogan: site_slogan
   'page/front':
-    plugin: concat
-    source:
-      - constants/slash
-      - site_frontpage
+    -
+      plugin: concat
+      source:
+        - constants/slash
+        - site_frontpage
+    -
+      plugin: static_map
+      map:
+        # Drupal 6 and Drupal 7 default site_frontpage is 'node'. If this
+        # variable is set to 'node', to an empty string, or it is completely
+        # missing, we want to migrate the equivalent Drupal 9 value, which is
+        # '/node'.
+        '/': '/node'
+      bypass: true
   'page/403':
-    plugin: concat
-    source:
-      - constants/slash
-      - site_403
+    -
+      plugin: concat
+      source:
+        - constants/slash
+        - site_403
+    -
+      plugin: static_map
+      map:
+        '/': ''
+      bypass: true
   'page/404':
-    plugin: concat
-    source:
-      - constants/slash
-      - site_404
-  weight_select_max: drupal_weight_select_max
+    -
+      plugin: concat
+      source:
+        - constants/slash
+        - site_404
+    -
+      plugin: static_map
+      map:
+        '/': ''
+      bypass: true
+  weight_select_max:
+    plugin: default_value
+    source: drupal_weight_select_max
+    strict: true
+    default_value: 100
   admin_compact_mode: admin_compact_mode
 destination:
   plugin: config
diff --git a/web/core/modules/system/tests/modules/ajax_test/src/Controller/AjaxTestController.php b/web/core/modules/system/tests/modules/ajax_test/src/Controller/AjaxTestController.php
index 1897719f61..d02d26a49b 100644
--- a/web/core/modules/system/tests/modules/ajax_test/src/Controller/AjaxTestController.php
+++ b/web/core/modules/system/tests/modules/ajax_test/src/Controller/AjaxTestController.php
@@ -331,7 +331,7 @@ protected function getRenderTypes() {
       'not-wrapped' => 'not-wrapped',
       'comment-string-not-wrapped' => '<!-- COMMENT -->comment-string-not-wrapped',
       'comment-not-wrapped' => '<!-- COMMENT --><div class="comment-not-wrapped">comment-not-wrapped</div>',
-      'svg' => '<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><rect x="0" y="0" height="10" width="10" fill="green"/></svg>',
+      'svg' => '<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><rect x="0" y="0" height="10" width="10" fill="green"></rect></svg>',
       'empty' => '',
     ];
     $render_multiple_root = [
diff --git a/web/core/modules/system/tests/modules/form_test/src/Form/FormTestDisabledElementsForm.php b/web/core/modules/system/tests/modules/form_test/src/Form/FormTestDisabledElementsForm.php
index eef9efae5c..bd8d2841e0 100644
--- a/web/core/modules/system/tests/modules/form_test/src/Form/FormTestDisabledElementsForm.php
+++ b/web/core/modules/system/tests/modules/form_test/src/Form/FormTestDisabledElementsForm.php
@@ -36,7 +36,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
       ];
     }
 
-    // Multiple values option elements.
+    // Multiple values option elements, disabled as a whole.
     foreach (['checkboxes', 'select'] as $type) {
       $form[$type . '_multiple'] = [
         '#type' => $type,
@@ -54,6 +54,34 @@ public function buildForm(array $form, FormStateInterface $form_state) {
       ];
     }
 
+    // Multiple values option elements, only single options disabled.
+    $form['checkboxes_single_select'] = [
+      '#type' => 'checkboxes',
+      '#title' => 'checkboxes (multiple)',
+      '#options' => [
+        'test_1' => 'Test 1',
+        'test_2' => 'Test 2',
+      ],
+      '#multiple' => TRUE,
+      '#default_value' => ['test_2' => 'test_2'],
+      'test_1' => [
+        '#disabled' => TRUE,
+      ],
+    ];
+    $form['checkboxes_single_unselect'] = [
+      '#type' => 'checkboxes',
+      '#title' => 'checkboxes (multiple)',
+      '#options' => [
+        'test_1' => 'Test 1',
+        'test_2' => 'Test 2',
+      ],
+      '#multiple' => TRUE,
+      '#default_value' => ['test_2' => 'test_2'],
+      'test_2' => [
+        '#disabled' => TRUE,
+      ],
+    ];
+
     // Single values option elements.
     foreach (['radios', 'select'] as $type) {
       $form[$type . '_single'] = [
diff --git a/web/core/modules/system/tests/modules/module_test/module_test.module b/web/core/modules/system/tests/modules/module_test/module_test.module
index cbe81129b9..d3731e25ea 100644
--- a/web/core/modules/system/tests/modules/module_test/module_test.module
+++ b/web/core/modules/system/tests/modules/module_test/module_test.module
@@ -14,8 +14,8 @@
  */
 function module_test_system_info_alter(&$info, Extension $file, $type) {
   if (\Drupal::state()->get('module_test.dependency') == 'missing dependency') {
-    if ($file->getName() == 'color') {
-      // Make color module depend on config.
+    if ($file->getName() == 'dblog') {
+      // Make dblog module depend on config.
       $info['dependencies'][] = 'config';
     }
     elseif ($file->getName() == 'config') {
@@ -24,8 +24,8 @@ function module_test_system_info_alter(&$info, Extension $file, $type) {
     }
   }
   elseif (\Drupal::state()->get('module_test.dependency') == 'dependency') {
-    if ($file->getName() == 'color') {
-      // Make color module depend on config.
+    if ($file->getName() == 'dblog') {
+      // Make dblog module depend on config.
       $info['dependencies'][] = 'config';
     }
     elseif ($file->getName() == 'config') {
@@ -38,8 +38,8 @@ function module_test_system_info_alter(&$info, Extension $file, $type) {
     }
   }
   elseif (\Drupal::state()->get('module_test.dependency') == 'version dependency') {
-    if ($file->getName() == 'color') {
-      // Make color module depend on config.
+    if ($file->getName() == 'dblog') {
+      // Make dblog module depend on config.
       $info['dependencies'][] = 'config';
     }
     elseif ($file->getName() == 'config') {
diff --git a/web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.es6.js b/web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.es6.js
new file mode 100644
index 0000000000..c7dd3de9bf
--- /dev/null
+++ b/web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.es6.js
@@ -0,0 +1,18 @@
+(function ({ offCanvas }) {
+  const originalResetSize = offCanvas.resetSize;
+
+  /**
+   * Wraps the Drupal.offCanvas.resetSize() method.
+   *
+   * @param {jQuery.Event} event
+   *   The event triggered.
+   * @param {object} event.data
+   *   Data attached to the event.
+   */
+  offCanvas.resetSize = (event) => {
+    originalResetSize(event);
+    // Set an attribute so that tests can reliably detect when the off-canvas
+    // area has been resized.
+    event.data.$element.attr('data-resize-done', 'true');
+  };
+})(Drupal);
diff --git a/web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.js b/web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.js
new file mode 100644
index 0000000000..ee36776565
--- /dev/null
+++ b/web/core/modules/system/tests/modules/off_canvas_test/js/resize-helper.js
@@ -0,0 +1,16 @@
+/**
+* DO NOT EDIT THIS FILE.
+* See the following change record for more information,
+* https://www.drupal.org/node/2815083
+* @preserve
+**/
+
+(function (_ref) {
+  var offCanvas = _ref.offCanvas;
+  var originalResetSize = offCanvas.resetSize;
+
+  offCanvas.resetSize = function (event) {
+    originalResetSize(event);
+    event.data.$element.attr('data-resize-done', 'true');
+  };
+})(Drupal);
\ No newline at end of file
diff --git a/web/core/modules/system/tests/modules/off_canvas_test/off_canvas_test.libraries.yml b/web/core/modules/system/tests/modules/off_canvas_test/off_canvas_test.libraries.yml
new file mode 100644
index 0000000000..6d653dacd7
--- /dev/null
+++ b/web/core/modules/system/tests/modules/off_canvas_test/off_canvas_test.libraries.yml
@@ -0,0 +1,5 @@
+resize_helper:
+  js:
+    js/resize-helper.js: {}
+  dependencies:
+    - 'core/drupal.dialog.off_canvas'
diff --git a/web/core/modules/system/tests/modules/off_canvas_test/off_canvas_test.module b/web/core/modules/system/tests/modules/off_canvas_test/off_canvas_test.module
new file mode 100644
index 0000000000..3c3384d8ad
--- /dev/null
+++ b/web/core/modules/system/tests/modules/off_canvas_test/off_canvas_test.module
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * @file
+ * Contains hook implementations for testing the off-canvas area.
+ */
+
+/**
+ * Implements hook_page_attachments().
+ */
+function off_canvas_test_page_attachments(array &$attachments) {
+  // This library wraps around the Drupal.offCanvas.resetSize() method and adds
+  // a special data-resize-done attribute to help functional JavaScript tests
+  // use the off-canvas area when it is fully loaded and ready to be interacted
+  // with.
+  // @see \Drupal\Tests\system\Traits\OffCanvasTestTrait::waitForOffCanvasArea()
+  $attachments['#attached']['library'][] = 'off_canvas_test/resize_helper';
+}
diff --git a/web/core/modules/system/tests/src/Functional/Form/FormTest.php b/web/core/modules/system/tests/src/Functional/Form/FormTest.php
index d1b00eea36..f356856f46 100644
--- a/web/core/modules/system/tests/src/Functional/Form/FormTest.php
+++ b/web/core/modules/system/tests/src/Functional/Form/FormTest.php
@@ -769,7 +769,7 @@ public function testDisabledElements() {
     // All the elements should be marked as disabled, including the ones below
     // the disabled container.
     $actual_count = count($disabled_elements);
-    $expected_count = 42;
+    $expected_count = 44;
     $this->assertEquals($expected_count, $actual_count, new FormattableMarkup('Found @actual elements with disabled property (expected @expected).', ['@actual' => count($disabled_elements), '@expected' => $expected_count]));
 
     // Mink does not "see" hidden elements, so we need to set the value of the
@@ -803,7 +803,7 @@ public function assertFormValuesDefault(array $values, array $form): void {
           $expected_value = $form[$key]['#default_value'];
         }
 
-        if ($key == 'checkboxes_multiple') {
+        if (in_array($key, ['checkboxes_multiple', 'checkboxes_single_select', 'checkboxes_single_unselect'], TRUE)) {
           // Checkboxes values are not filtered out.
           $values[$key] = array_filter($values[$key]);
         }
diff --git a/web/core/modules/system/tests/src/Functional/Module/DependencyTest.php b/web/core/modules/system/tests/src/Functional/Module/DependencyTest.php
index 54e4e0d82d..ebf0b7dd8c 100644
--- a/web/core/modules/system/tests/src/Functional/Module/DependencyTest.php
+++ b/web/core/modules/system/tests/src/Functional/Module/DependencyTest.php
@@ -208,26 +208,26 @@ public function testModuleEnableOrder() {
     $this->assertModules(['module_test'], TRUE);
     \Drupal::state()->set('module_test.dependency', 'dependency');
     // module_test creates a dependency chain:
-    // - color depends on config
+    // - dblog depends on config
     // - config depends on help
-    $expected_order = ['help', 'config', 'color'];
+    $expected_order = ['help', 'config', 'dblog'];
 
     // Enable the modules through the UI, verifying that the dependency chain
     // is correct.
     $edit = [];
-    $edit['modules[color][enable]'] = 'color';
+    $edit['modules[dblog][enable]'] = 'dblog';
     $this->drupalGet('admin/modules');
     $this->submitForm($edit, 'Install');
-    $this->assertModules(['color'], FALSE);
+    $this->assertModules(['dblog'], FALSE);
     // Note that dependencies are sorted alphabetically in the confirmation
     // message.
-    $this->assertSession()->pageTextContains('You must enable the Configuration Manager, Help modules to install Color.');
+    $this->assertSession()->pageTextContains('You must enable the Configuration Manager, Help modules to install Database Logging.');
 
     $edit['modules[config][enable]'] = 'config';
     $edit['modules[help][enable]'] = 'help';
     $this->drupalGet('admin/modules');
     $this->submitForm($edit, 'Install');
-    $this->assertModules(['color', 'config', 'help'], TRUE);
+    $this->assertModules(['dblog', 'config', 'help'], TRUE);
 
     // Check the actual order which is saved by module_test_modules_enabled().
     $module_order = \Drupal::state()->get('module_test.install_order', []);
diff --git a/web/core/modules/system/tests/src/Kernel/Extension/ModuleHandlerTest.php b/web/core/modules/system/tests/src/Kernel/Extension/ModuleHandlerTest.php
index 42278b772e..ffd891cd14 100644
--- a/web/core/modules/system/tests/src/Kernel/Extension/ModuleHandlerTest.php
+++ b/web/core/modules/system/tests/src/Kernel/Extension/ModuleHandlerTest.php
@@ -90,30 +90,30 @@ public function testDependencyResolution() {
     $this->assertTrue($this->moduleHandler()->moduleExists('module_test'), 'Test module is enabled.');
 
     // Ensure that modules are not enabled.
-    $this->assertFalse($this->moduleHandler()->moduleExists('color'), 'Color module is disabled.');
+    $this->assertFalse($this->moduleHandler()->moduleExists('dblog'), 'dblog module is disabled.');
     $this->assertFalse($this->moduleHandler()->moduleExists('config'), 'Config module is disabled.');
     $this->assertFalse($this->moduleHandler()->moduleExists('help'), 'Help module is disabled.');
 
     // Create a missing fake dependency.
-    // Color will depend on Config, which depends on a non-existing module Foo.
+    // dblog will depend on Config, which depends on a non-existing module Foo.
     // Nothing should be installed.
     \Drupal::state()->set('module_test.dependency', 'missing dependency');
 
     try {
-      $result = $this->moduleInstaller()->install(['color']);
+      $result = $this->moduleInstaller()->install(['dblog']);
       $this->fail('ModuleInstaller::install() throws an exception if dependencies are missing.');
     }
     catch (MissingDependencyException $e) {
       // Expected exception; just continue testing.
     }
 
-    $this->assertFalse($this->moduleHandler()->moduleExists('color'), 'ModuleInstaller::install() aborts if dependencies are missing.');
+    $this->assertFalse($this->moduleHandler()->moduleExists('dblog'), 'ModuleInstaller::install() aborts if dependencies are missing.');
 
     // Fix the missing dependency.
-    // Color module depends on Config. Config depends on Help module.
+    // dblog module depends on Config. Config depends on Help module.
     \Drupal::state()->set('module_test.dependency', 'dependency');
 
-    $result = $this->moduleInstaller()->install(['color']);
+    $result = $this->moduleInstaller()->install(['dblog']);
     $this->assertTrue($result, 'ModuleInstaller::install() returns the correct value.');
 
     // Verify that the fake dependency chain was installed.
@@ -121,33 +121,33 @@ public function testDependencyResolution() {
     $this->assertTrue($this->moduleHandler()->moduleExists('help'));
 
     // Verify that the original module was installed.
-    $this->assertTrue($this->moduleHandler()->moduleExists('color'), 'Module installation with dependencies succeeded.');
+    $this->assertTrue($this->moduleHandler()->moduleExists('dblog'), 'Module installation with dependencies succeeded.');
 
     // Verify that the modules were enabled in the correct order.
     $module_order = \Drupal::state()->get('module_test.install_order', []);
-    $this->assertEquals(['help', 'config', 'color'], $module_order);
+    $this->assertEquals(['help', 'config', 'dblog'], $module_order);
 
     // Uninstall all three modules explicitly, but in the incorrect order,
     // and make sure that ModuleInstaller::uninstall() uninstalled them in the
     // correct sequence.
-    $result = $this->moduleInstaller()->uninstall(['config', 'help', 'color']);
+    $result = $this->moduleInstaller()->uninstall(['config', 'help', 'dblog']);
     $this->assertTrue($result, 'ModuleInstaller::uninstall() returned TRUE.');
 
     /** @var \Drupal\Core\Update\UpdateHookRegistry $update_registry */
     $update_registry = \Drupal::service('update.update_hook_registry');
-    foreach (['color', 'config', 'help'] as $module) {
+    foreach (['dblog', 'config', 'help'] as $module) {
       $this->assertEquals($update_registry::SCHEMA_UNINSTALLED, $update_registry->getInstalledVersion($module), "{$module} module was uninstalled.");
     }
     $uninstalled_modules = \Drupal::state()->get('module_test.uninstall_order', []);
-    $this->assertEquals(['color', 'config', 'help'], $uninstalled_modules, 'Modules were uninstalled in the correct order.');
+    $this->assertEquals(['dblog', 'config', 'help'], $uninstalled_modules, 'Modules were uninstalled in the correct order.');
 
-    // Enable Color module again, which should enable both the Config module and
+    // Enable dblog module again, which should enable both the Config module and
     // Help module. But, this time do it with Config module declaring a
     // dependency on a specific version of Help module in its info file. Make
     // sure that Drupal\Core\Extension\ModuleInstaller::install() still works.
     \Drupal::state()->set('module_test.dependency', 'version dependency');
 
-    $result = $this->moduleInstaller()->install(['color']);
+    $result = $this->moduleInstaller()->install(['dblog']);
     $this->assertTrue($result, 'ModuleInstaller::install() returns the correct value.');
 
     // Verify that the fake dependency chain was installed.
@@ -155,11 +155,11 @@ public function testDependencyResolution() {
     $this->assertTrue($this->moduleHandler()->moduleExists('help'));
 
     // Verify that the original module was installed.
-    $this->assertTrue($this->moduleHandler()->moduleExists('color'), 'Module installation with version dependencies succeeded.');
+    $this->assertTrue($this->moduleHandler()->moduleExists('dblog'), 'Module installation with version dependencies succeeded.');
 
     // Finally, verify that the modules were enabled in the correct order.
     $enable_order = \Drupal::state()->get('module_test.install_order', []);
-    $this->assertSame(['help', 'config', 'color'], $enable_order);
+    $this->assertSame(['help', 'config', 'dblog'], $enable_order);
   }
 
   /**
diff --git a/web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemConfigurationTest.php b/web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemConfigurationTest.php
index 56aa2f221a..5b53850eb4 100644
--- a/web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemConfigurationTest.php
+++ b/web/core/modules/system/tests/src/Kernel/Migrate/d6/MigrateSystemConfigurationTest.php
@@ -120,6 +120,12 @@ class MigrateSystemConfigurationTest extends MigrateDrupal6TestBase {
   protected function setUp(): void {
     parent::setUp();
 
+    // Delete 'site_frontpage' in order to test the migration of a non-existing
+    // front page link.
+    $this->sourceDatabase->delete('variable')
+      ->condition('name', 'site_frontpage')
+      ->execute();
+
     $migrations = [
       'd6_system_cron',
       'd6_system_date',
@@ -142,7 +148,7 @@ public function testConfigurationMigration() {
     foreach ($this->expectedConfig as $config_id => $values) {
       $actual = \Drupal::config($config_id)->get();
       unset($actual['_core']);
-      $this->assertSame($actual, $values, $config_id . ' matches expected values.');
+      $this->assertSame($values, $actual, $config_id . ' matches expected values.');
     }
   }
 
diff --git a/web/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php b/web/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php
index 4c5e11e3ac..80a591fdd1 100644
--- a/web/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php
+++ b/web/core/modules/system/tests/src/Kernel/Migrate/d7/MigrateSystemConfigurationTest.php
@@ -105,12 +105,12 @@ class MigrateSystemConfigurationTest extends MigrateDrupal7TestBase {
       'mail' => 'joseph@flattandsons.com',
       'slogan' => 'The Slogan',
       'page' => [
-        '403' => '/node',
+        '403' => '',
         '404' => '/node',
         'front' => '/node',
       ],
       'admin_compact_mode' => TRUE,
-      'weight_select_max' => 40,
+      'weight_select_max' => 100,
       'default_langcode' => 'en',
     ],
   ];
@@ -133,6 +133,21 @@ protected function setUp(): void {
       ])
       ->execute();
 
+    // Delete 'site_403' in order to test the migration of a non-existing error
+    // page link.
+    $this->sourceDatabase->delete('variable')
+      ->condition('name', 'site_403')
+      ->execute();
+    // Delete 'drupal_weight_select_max ' in order to test the migration when it
+    // is not set.
+    $this->sourceDatabase->delete('variable')
+      ->condition('name', 'drupal_weight_select_max')
+      ->execute();
+
+    $this->config('system.site')
+      ->set('weight_select_max', 5)
+      ->save();
+
     $migrations = [
       'd7_system_authorize',
       'd7_system_cron',
@@ -162,7 +177,7 @@ public function testConfigurationMigration() {
         $actual = \Drupal::config($config_id)->get();
       }
       unset($actual['_core']);
-      $this->assertSame($actual, $values, $config_id . ' matches expected values.');
+      $this->assertSame($values, $actual, $config_id . ' matches expected values.');
     }
     // The d7_system_authorize migration should not create the system.authorize
     // config.
diff --git a/web/core/modules/system/tests/src/Traits/OffCanvasTestTrait.php b/web/core/modules/system/tests/src/Traits/OffCanvasTestTrait.php
new file mode 100644
index 0000000000..a406c6f44a
--- /dev/null
+++ b/web/core/modules/system/tests/src/Traits/OffCanvasTestTrait.php
@@ -0,0 +1,28 @@
+<?php
+
+namespace Drupal\Tests\system\Traits;
+
+/**
+ * Provides helper methods for interacting with the off-canvas area.
+ *
+ * This trait is only useful in functional JavaScript tests which need to use
+ * the off-canvas area. Tests using this trait should also list off_canvas_test
+ * in their $modules property.
+ */
+trait OffCanvasTestTrait {
+
+  /**
+   * Waits for the off-canvas area to appear, resized and visible.
+   */
+  protected function waitForOffCanvasArea(): void {
+    // The data-resize-done attribute is added by the off_canvas_test module's
+    // wrapper around Drupal.offCanvas.resetSize.
+    $this->assertNotEmpty($this->assertSession()->waitForElementVisible('css', '[data-resize-done="true"]'));
+
+    // Remove the data-resize-done attribute so in scenarios where off-canvas
+    // opens yet another off-canvas, waitForOffCanvasArea() is looking for the
+    // attribute on a new dialog, not an existing one.
+    $this->getSession()->executeScript('document.querySelector("[data-resize-done]").removeAttribute("data-resize-done")');
+  }
+
+}
diff --git a/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_drupal_root/test_ckeditor_stylesheets_drupal_root.info.yml b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_drupal_root/test_ckeditor_stylesheets_drupal_root.info.yml
index 88d34a23bf..26c711c2f1 100644
--- a/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_drupal_root/test_ckeditor_stylesheets_drupal_root.info.yml
+++ b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_drupal_root/test_ckeditor_stylesheets_drupal_root.info.yml
@@ -7,3 +7,5 @@ base theme: false
 
 ckeditor_stylesheets:
   - /core/modules/system/tests/themes/test_ckeditor_stylesheets_drupal_root/css/yokotsoko.css
+ckeditor5-stylesheets:
+  - /core/modules/system/tests/themes/test_ckeditor_stylesheets_drupal_root/css/yokotsoko.css
diff --git a/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_external/test_ckeditor_stylesheets_external.info.yml b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_external/test_ckeditor_stylesheets_external.info.yml
index 417df98bce..606c4ccd63 100644
--- a/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_external/test_ckeditor_stylesheets_external.info.yml
+++ b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_external/test_ckeditor_stylesheets_external.info.yml
@@ -5,3 +5,5 @@ version: VERSION
 base theme: false
 ckeditor_stylesheets:
   - https://fonts.googleapis.com/css?family=Open+Sans
+ckeditor5-stylesheets:
+  - https://fonts.googleapis.com/css?family=Open+Sans
diff --git a/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_protocol_relative/test_ckeditor_stylesheets_protocol_relative.info.yml b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_protocol_relative/test_ckeditor_stylesheets_protocol_relative.info.yml
index 50aa1120f1..3d02146cd0 100644
--- a/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_protocol_relative/test_ckeditor_stylesheets_protocol_relative.info.yml
+++ b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_protocol_relative/test_ckeditor_stylesheets_protocol_relative.info.yml
@@ -5,3 +5,5 @@ version: VERSION
 base theme: false
 ckeditor_stylesheets:
   - //fonts.googleapis.com/css?family=Open+Sans
+ckeditor5-stylesheets:
+  - //fonts.googleapis.com/css?family=Open+Sans
diff --git a/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_relative/test_ckeditor_stylesheets_relative.info.yml b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_relative/test_ckeditor_stylesheets_relative.info.yml
index 13b1a7bc3a..ebf7eaff21 100644
--- a/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_relative/test_ckeditor_stylesheets_relative.info.yml
+++ b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_relative/test_ckeditor_stylesheets_relative.info.yml
@@ -5,3 +5,5 @@ version: VERSION
 base theme: false
 ckeditor_stylesheets:
   - css/yokotsoko.css
+ckeditor5-stylesheets:
+  - css/yokotsoko.css
diff --git a/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/css/yokotsoko.css b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/css/yokotsoko.css
new file mode 100644
index 0000000000..9d72939710
--- /dev/null
+++ b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/css/yokotsoko.css
@@ -0,0 +1,4 @@
+/**
+ * @file
+ * Test CSS asset file for test_ckeditor_without_5.theme.
+ */
diff --git a/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/test_ckeditor_stylesheets_without_5.info.yml b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/test_ckeditor_stylesheets_without_5.info.yml
new file mode 100644
index 0000000000..d11e644a45
--- /dev/null
+++ b/web/core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/test_ckeditor_stylesheets_without_5.info.yml
@@ -0,0 +1,9 @@
+name: No setting for CKEditor 5 stylesheets
+type: theme
+description: 'A theme that uses ckeditor_stylesheets without ckeditor5-stylesheets.'
+package: Testing
+version: VERSION
+base theme: false
+
+ckeditor_stylesheets:
+  - /core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/css/yokotsoko.css
diff --git a/web/core/modules/system/tests/themes/test_subtheming_ckeditor_stylesheets_without_5/css/another.css b/web/core/modules/system/tests/themes/test_subtheming_ckeditor_stylesheets_without_5/css/another.css
new file mode 100644
index 0000000000..3807550d48
--- /dev/null
+++ b/web/core/modules/system/tests/themes/test_subtheming_ckeditor_stylesheets_without_5/css/another.css
@@ -0,0 +1,5 @@
+/* cspell:ignore subtheming */
+/**
+ * @file
+ * Test CSS asset file for test_subtheming_ckeditor_stylesheets_without_5.theme.
+ */
diff --git a/web/core/modules/system/tests/themes/test_subtheming_ckeditor_stylesheets_without_5/test_subtheming_ckeditor_stylesheets_without_5.info.yml b/web/core/modules/system/tests/themes/test_subtheming_ckeditor_stylesheets_without_5/test_subtheming_ckeditor_stylesheets_without_5.info.yml
new file mode 100644
index 0000000000..e43048490c
--- /dev/null
+++ b/web/core/modules/system/tests/themes/test_subtheming_ckeditor_stylesheets_without_5/test_subtheming_ckeditor_stylesheets_without_5.info.yml
@@ -0,0 +1,9 @@
+name: No setting for CKEditor 5 stylesheets here or subtheme
+type: theme
+description: 'A theme that uses ckeditor_stylesheets without ckeditor5-stylesheets, nor does its base theme.'
+package: Testing
+version: VERSION
+base theme: test_ckeditor_stylesheets_without_5
+
+ckeditor_stylesheets:
+  - /core/modules/system/tests/themes/test_ckeditor_stylesheets_without_5/css/another.css
diff --git a/web/core/modules/views_ui/tests/src/Functional/FieldUITest.php b/web/core/modules/views_ui/tests/src/Functional/FieldUITest.php
index 133d4e5cfa..0e0c1e6fa3 100644
--- a/web/core/modules/views_ui/tests/src/Functional/FieldUITest.php
+++ b/web/core/modules/views_ui/tests/src/Functional/FieldUITest.php
@@ -16,7 +16,7 @@ class FieldUITest extends UITestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * Views used by this test.
@@ -44,7 +44,7 @@ public function testFieldUI() {
     // Ensure that the expected tokens appear in the UI.
     $edit_handler_url = 'admin/structure/views/nojs/handler/test_view/default/field/age';
     $this->drupalGet($edit_handler_url);
-    $xpath = '//details[@id="edit-options-alter-help"]/div[@class="details-wrapper"]/div[@class="item-list"]/ul/li';
+    $xpath = '//details[@id="edit-options-alter-help"]/ul/li';
     $this->assertSession()->elementTextEquals('xpath', $xpath, '{{ age }} == Age');
 
     $edit_handler_url = 'admin/structure/views/nojs/handler/test_view/default/field/id';
diff --git a/web/core/modules/views_ui/tests/src/Functional/HandlerTest.php b/web/core/modules/views_ui/tests/src/Functional/HandlerTest.php
index e5235989fc..f8d8881375 100644
--- a/web/core/modules/views_ui/tests/src/Functional/HandlerTest.php
+++ b/web/core/modules/views_ui/tests/src/Functional/HandlerTest.php
@@ -23,7 +23,7 @@ class HandlerTest extends UITestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * Views used by this test.
@@ -233,7 +233,7 @@ public function testBrokenHandlers() {
       $result = $this->assertSession()->elementTextEquals('xpath', "//a[contains(@href, '{$href}')]", $text);
 
       $this->drupalGet($href);
-      $this->assertSession()->elementTextContains('xpath', '//h1[@class="page-title"]', $text);
+      $this->assertSession()->elementTextContains('xpath', '//h1', $text);
 
       $original_configuration = [
         'field' => 'id_broken',
diff --git a/web/core/modules/views_ui/tests/src/Functional/PreviewTest.php b/web/core/modules/views_ui/tests/src/Functional/PreviewTest.php
index 8b8add01a9..f5a9f540e3 100644
--- a/web/core/modules/views_ui/tests/src/Functional/PreviewTest.php
+++ b/web/core/modules/views_ui/tests/src/Functional/PreviewTest.php
@@ -19,7 +19,7 @@ class PreviewTest extends UITestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * Tests contextual links in the preview form.
@@ -33,7 +33,11 @@ public function testPreviewContextual() {
     $this->submitForm($edit = [], 'Update preview');
 
     // Verify that the contextual link to add a new field is shown.
-    $this->assertSession()->elementsCount('xpath', '//div[@id="views-live-preview"]//ul[contains(@class, "contextual-links")]/li[contains(@class, "filter-add")]', 1);
+    $selector = $this->assertSession()->buildXPathQuery('//div[@id="views-live-preview"]//ul[contains(@class, :ul-class)]/li/a[contains(@href, :href)]', [
+      ':ul-class' => 'contextual-links',
+      ':href' => '/admin/structure/views/nojs/add-handler/test_preview/default/filter',
+    ]);
+    $this->assertSession()->elementsCount('xpath', $selector, 1);
 
     $this->submitForm($edit = ['view_args' => '100'], 'Update preview');
 
@@ -53,15 +57,16 @@ public function testPreviewUI() {
 
     $this->submitForm($edit = [], 'Update preview');
 
-    $this->assertSession()->elementsCount('xpath', '//div[@class = "view-content"]/div[contains(@class, views-row)]', 5);
+    $selector = '//div[@class = "views-row"]';
+    $this->assertSession()->elementsCount('xpath', $selector, 5);
 
     // Filter just the first result.
     $this->submitForm($edit = ['view_args' => '1'], 'Update preview');
-    $this->assertSession()->elementsCount('xpath', '//div[@class = "view-content"]/div[contains(@class, views-row)]', 1);
+    $this->assertSession()->elementsCount('xpath', $selector, 1);
 
     // Filter for no results.
     $this->submitForm($edit = ['view_args' => '100'], 'Update preview');
-    $this->assertSession()->elementNotExists('xpath', '//div[@class = "view-content"]/div[contains(@class, views-row)]');
+    $this->assertSession()->elementNotExists('xpath', $selector);
 
     // Test that area text and exposed filters are present and rendered.
     $this->assertSession()->fieldExists('id');
@@ -111,12 +116,12 @@ public function testPreviewUI() {
     $this->assertSession()->assertEscaped($query_string);
 
     // Test that the statistics and query are rendered above the preview.
-    $this->assertLessThan(strpos($this->getSession()->getPage()->getContent(), 'view-test-preview'), strpos($this->getSession()->getPage()->getContent(), 'views-query-info'));
+    $this->assertLessThan(strpos($this->getSession()->getPage()->getContent(), 'js-view-dom-id'), strpos($this->getSession()->getPage()->getContent(), 'views-query-info'));
 
     // Test that statistics and query rendered below the preview.
     $settings->set('ui.show.sql_query.where', 'below')->save();
     $this->submitForm($edit = ['view_args' => '100'], 'Update preview');
-    $this->assertLessThan(strpos($this->getSession()->getPage()->getContent(), 'views-query-info'), strpos($this->getSession()->getPage()->getContent(), 'view-test-preview'), 'Statistics shown below the preview.');
+    $this->assertLessThan(strpos($this->getSession()->getPage()->getContent(), 'views-query-info'), strpos($this->getSession()->getPage()->getContent(), 'js-view-dom-id'), 'Statistics shown below the preview.');
 
     // Test that the preview title isn't double escaped.
     $this->drupalGet("admin/structure/views/nojs/display/test_preview/default/title");
diff --git a/web/core/modules/views_ui/tests/src/FunctionalJavascript/DisplayTest.php b/web/core/modules/views_ui/tests/src/FunctionalJavascript/DisplayTest.php
index 197ef2c5c5..7b5fc8cf30 100644
--- a/web/core/modules/views_ui/tests/src/FunctionalJavascript/DisplayTest.php
+++ b/web/core/modules/views_ui/tests/src/FunctionalJavascript/DisplayTest.php
@@ -31,7 +31,7 @@ class DisplayTest extends WebDriverTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   public static $testViews = ['test_content_ajax', 'test_display'];
 
@@ -94,7 +94,7 @@ public function testPageContextualLinks() {
     $page = $this->getSession()->getPage();
     $this->assertSession()->assertWaitOnAjaxRequest();
 
-    $selector = '.view-test-display';
+    $selector = '.views-element-container';
     $this->toggleContextualTriggerVisibility($selector);
 
     $element = $this->getSession()->getPage()->find('css', $selector);
diff --git a/web/core/modules/views_ui/tests/src/FunctionalJavascript/PreviewTest.php b/web/core/modules/views_ui/tests/src/FunctionalJavascript/PreviewTest.php
index 7b8f01b0cd..8aff640d44 100644
--- a/web/core/modules/views_ui/tests/src/FunctionalJavascript/PreviewTest.php
+++ b/web/core/modules/views_ui/tests/src/FunctionalJavascript/PreviewTest.php
@@ -34,7 +34,7 @@ class PreviewTest extends WebDriverTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * {@inheritdoc}
@@ -197,14 +197,14 @@ public function testPreviewWithPagersUI() {
     // Verify elements and links to pages.
     // We expect to find current pages element with no link, next page element
     // with a link, and not to find previous page element.
-    $this->assertClass($elements[0], 'is-active', 'Element for current page has .is-active class.');
+    $this->assertEquals('Page 1', trim($elements[0]->getHtml()), 'Element for current page is not a link.');
 
-    $this->assertClass($elements[1], 'pager__item--next', 'Element for next page has .pager__item--next class.');
-    $this->assertNotEmpty($elements[1]->find('css', 'a'), 'Link to next page found.');
+    $next_page_link = $elements[1]->find('css', 'a');
+    $this->assertNotEmpty($next_page_link, 'Link to next page found.');
+    $this->assertEquals('Go to next page', $next_page_link->getAttribute('title'));
 
     // Navigate to next page.
-    $element = $this->assertSession()->elementExists('xpath', '//li[contains(@class, "pager__item--next")]/a');
-    $this->clickPreviewLinkAJAX($element, 3);
+    $this->clickPreviewLinkAJAX($next_page_link, 3);
 
     // Test that the pager is present and rendered.
     $elements = $this->xpath('//ul[contains(@class, :class)]/li', [':class' => 'pager__items']);
@@ -213,14 +213,15 @@ public function testPreviewWithPagersUI() {
     // Verify elements and links to pages.
     // We expect to find 3 elements: previous page with a link, current
     // page with no link, and next page with a link.
-    $this->assertClass($elements[0], 'pager__item--previous', 'Element for previous page has .pager__item--previous class.');
-    $this->assertNotEmpty($elements[0]->find('css', 'a'), 'Link to previous page found.');
+    $previous_page_link = $elements[0]->find('css', 'a');
+    $this->assertNotEmpty($previous_page_link, 'Link to previous page found.');
+    $this->assertEquals('Go to previous page', $previous_page_link->getAttribute('title'));
 
-    $this->assertClass($elements[1], 'is-active', 'Element for current page has .is-active class.');
-    $this->assertEmpty($elements[1]->find('css', 'a'), 'Element for current page has no link.');
+    $this->assertEquals('Page 2', trim($elements[1]->getHtml()), 'Element for current page is not a link.');
 
-    $this->assertClass($elements[2], 'pager__item--next', 'Element for next page has .pager__item--next class.');
-    $this->assertNotEmpty($elements[2]->find('css', 'a'), 'Link to next page found.');
+    $next_page_link = $elements[2]->find('css', 'a');
+    $this->assertNotEmpty($next_page_link, 'Link to next page found.');
+    $this->assertEquals('Go to next page', $next_page_link->getAttribute('title'));
   }
 
   /**
@@ -286,7 +287,7 @@ protected function clickPreviewLinkAJAX(NodeElement $element, $row_count) {
    * @internal
    */
   protected function assertPreviewAJAX(int $row_count): void {
-    $elements = $this->getSession()->getPage()->findAll('css', '.view-content .views-row');
+    $elements = $this->getSession()->getPage()->findAll('css', '#views-live-preview .views-row');
     $this->assertCount($row_count, $elements, 'Expected items found on page.');
   }
 
diff --git a/web/core/modules/views_ui/tests/src/FunctionalJavascript/ViewsListingTest.php b/web/core/modules/views_ui/tests/src/FunctionalJavascript/ViewsListingTest.php
index 641d2fc4ab..93af687ae0 100644
--- a/web/core/modules/views_ui/tests/src/FunctionalJavascript/ViewsListingTest.php
+++ b/web/core/modules/views_ui/tests/src/FunctionalJavascript/ViewsListingTest.php
@@ -20,7 +20,7 @@ class ViewsListingTest extends WebDriverTestBase {
   /**
    * {@inheritdoc}
    */
-  protected $defaultTheme = 'classy';
+  protected $defaultTheme = 'stark';
 
   /**
    * {@inheritdoc}
@@ -97,10 +97,10 @@ public function testFilterViewsListing() {
 
     // Disable a View and see if it moves to the disabled listing.
     $enabled_view = $page->find('css', 'tr.views-ui-list-enabled');
-    $view_description = $enabled_view->find('css', '.views-ui-view-name h3')->getText();
+    $view_description = $enabled_view->find('css', '.views-ui-view-name strong')->getText();
     // Open the dropdown with additional actions.
     $enabled_view->find('css', 'li.dropbutton-toggle button')->click();
-    $disable_button = $enabled_view->find('css', 'li.disable.dropbutton-action a');
+    $disable_button = $enabled_view->findLink('Disable');
     // Check that the disable button is visible now.
     $this->assertTrue($disable_button->isVisible());
     $disable_button->click();
@@ -118,15 +118,15 @@ public function testFilterViewsListing() {
 
     // Test that the keyboard focus is on the dropdown button of the View we
     // just disabled.
-    $this->assertTrue($this->getSession()->evaluateScript("jQuery(document.activeElement).parent().is('li.enable.dropbutton-action')"));
-    $this->assertEquals($view_description, $this->getSession()->evaluateScript("jQuery(document.activeElement).parents('tr').find('h3').text()"));
+    $this->assertTrue($this->getSession()->evaluateScript("jQuery(document.activeElement).text() === 'Enable'"));
+    $this->assertEquals($view_description, $this->getSession()->evaluateScript("jQuery(document.activeElement).parents('tr').find('.views-ui-view-name strong').text()"));
 
     // Enable the view again and ensure we have the focus on the edit button.
     $this->getSession()->evaluateScript('jQuery(document.activeElement).click()');
     $session->assertWaitOnAjaxRequest();
 
-    $this->assertTrue($this->getSession()->evaluateScript("jQuery(document.activeElement).parent().is('li.edit.dropbutton-action')"));
-    $this->assertEquals($view_description, $this->getSession()->evaluateScript("jQuery(document.activeElement).parents('tr').find('h3').text()"));
+    $this->assertTrue($this->getSession()->evaluateScript("jQuery(document.activeElement).text() === 'Edit'"));
+    $this->assertEquals($view_description, $this->getSession()->evaluateScript("jQuery(document.activeElement).parents('tr').find('.views-ui-view-name strong').text()"));
   }
 
   /**
diff --git a/web/core/modules/views_ui/tests/themes/views_test_classy_subtheme/views_test_classy_subtheme.info.yml b/web/core/modules/views_ui/tests/themes/views_test_classy_subtheme/views_test_classy_subtheme.info.yml
index 70b9397b3b..2b9fbd80a2 100644
--- a/web/core/modules/views_ui/tests/themes/views_test_classy_subtheme/views_test_classy_subtheme.info.yml
+++ b/web/core/modules/views_ui/tests/themes/views_test_classy_subtheme/views_test_classy_subtheme.info.yml
@@ -2,5 +2,5 @@ name: 'Theme test subtheme'
 type: theme
 description: 'Test theme which uses test_basetheme as the base theme.'
 version: VERSION
-base theme: classy
+base theme: stark
 package: Testing
diff --git a/web/core/package.json b/web/core/package.json
index ea593ba5f6..22f79abc59 100644
--- a/web/core/package.json
+++ b/web/core/package.json
@@ -8,13 +8,12 @@
     "node": ">= 12.0"
   },
   "scripts": {
-    "build": "yarn build:css & yarn build:js & yarn build:jqueryui & yarn build:ckeditor5",
+    "build": "yarn build:css & yarn build:js & yarn build:ckeditor5",
     "watch": "yarn watch:css & yarn watch:js & yarn watch:ckeditor5",
     "build:css": "node ./scripts/css/postcss-build.js",
     "watch:css": "node ./scripts/css/postcss-watch.js",
     "build:js": "cross-env BABEL_ENV=legacy node ./scripts/js/babel-es6-build.js",
     "build:js-dev": "cross-env NODE_ENV=development BABEL_ENV=legacy node ./scripts/js/babel-es6-build.js",
-    "build:jqueryui": "cross-env NODE_ENV=development node ./scripts/js/jqueryui-build.js",
     "watch:js": "cross-env BABEL_ENV=legacy node ./scripts/js/babel-es6-watch.js",
     "watch:js-dev": "cross-env NODE_ENV=development BABEL_ENV=legacy node ./scripts/js/babel-es6-watch.js",
     "lint:core-js": "node ./node_modules/eslint/bin/eslint.js .",
@@ -28,34 +27,39 @@
     "spellcheck": "cspell",
     "spellcheck:make-drupal-dict": "rm -f misc/cspell/dictionary.txt && touch misc/cspell/dictionary.txt && yarn -s spellcheck:core --unique --wordsOnly | tr '[:upper:]' '[:lower:]' | tr -d \\\\\\\\ | LC_ALL=C sort -u -o misc/cspell/dictionary.txt",
     "spellcheck:core": "cspell \"**/*\" \".*\" \"../composer/**/*\" \"../composer.json\"",
-    "vendor-update": "node ./scripts/js/assets.js",
+    "vendor-update": "node ./scripts/js/vendor-update.js",
     "watch:ckeditor5": "webpack --config ./modules/ckeditor5/webpack.config.js --watch",
-    "build:ckeditor5": "webpack --config ./modules/ckeditor5/webpack.config.js"
+    "build:ckeditor5": "webpack --config ./modules/ckeditor5/webpack.config.js",
+    "build:ckeditor5-types": "node ./scripts/js/ckeditor5-types-documentation.js"
+  },
+  "optionalDependencies": {
+    "@ckeditor/ckeditor5-alignment": "~34.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "~34.0.0",
+    "@ckeditor/ckeditor5-block-quote": "~34.0.0",
+    "@ckeditor/ckeditor5-code-block": "~34.0.0",
+    "@ckeditor/ckeditor5-dev-utils": "^30.1.1",
+    "@ckeditor/ckeditor5-editor-classic": "~34.0.0",
+    "@ckeditor/ckeditor5-editor-decoupled": "~34.0.0",
+    "@ckeditor/ckeditor5-essentials": "~34.0.0",
+    "@ckeditor/ckeditor5-heading": "~34.0.0",
+    "@ckeditor/ckeditor5-horizontal-line": "~34.0.0",
+    "@ckeditor/ckeditor5-html-support": "~34.0.0",
+    "@ckeditor/ckeditor5-image": "~34.0.0",
+    "@ckeditor/ckeditor5-indent": "~34.0.0",
+    "@ckeditor/ckeditor5-language": "~34.0.0",
+    "@ckeditor/ckeditor5-link": "~34.0.0",
+    "@ckeditor/ckeditor5-list": "~34.0.0",
+    "@ckeditor/ckeditor5-paste-from-office": "~34.0.0",
+    "@ckeditor/ckeditor5-remove-format": "~34.0.0",
+    "@ckeditor/ckeditor5-source-editing": "~34.0.0",
+    "@ckeditor/ckeditor5-special-characters": "~34.0.0",
+    "@ckeditor/ckeditor5-table": "~34.0.0",
+    "ckeditor5": "~34.0.0"
   },
   "devDependencies": {
     "@babel/core": "^7.0.0",
     "@babel/preset-env": "^7.0.0",
     "@babel/register": "^7.7.7",
-    "@ckeditor/ckeditor5-alignment": "~31.0.0",
-    "@ckeditor/ckeditor5-basic-styles": "~31.0.0",
-    "@ckeditor/ckeditor5-block-quote": "~31.0.0",
-    "@ckeditor/ckeditor5-dev-utils": "^25.4.5",
-    "@ckeditor/ckeditor5-editor-classic": "~31.0.0",
-    "@ckeditor/ckeditor5-editor-decoupled": "~31.0.0",
-    "@ckeditor/ckeditor5-essentials": "~31.0.0",
-    "@ckeditor/ckeditor5-heading": "~31.0.0",
-    "@ckeditor/ckeditor5-horizontal-line": "~31.0.0",
-    "@ckeditor/ckeditor5-html-support": "~31.0.0",
-    "@ckeditor/ckeditor5-image": "~31.0.0",
-    "@ckeditor/ckeditor5-indent": "~31.0.0",
-    "@ckeditor/ckeditor5-language": "~31.0.0",
-    "@ckeditor/ckeditor5-link": "~31.0.0",
-    "@ckeditor/ckeditor5-list": "~31.0.0",
-    "@ckeditor/ckeditor5-paste-from-office": "~31.0.0",
-    "@ckeditor/ckeditor5-remove-format": "~31.0.0",
-    "@ckeditor/ckeditor5-source-editing": "~31.0.0",
-    "@ckeditor/ckeditor5-special-characters": "~31.0.0",
-    "@ckeditor/ckeditor5-table": "~31.0.0",
     "@drupal/once": "^1.0.1",
     "@popperjs/core": "^2.9.2 <2.11.0",
     "babel-plugin-add-header-comment": "^1.0.3",
@@ -63,7 +67,6 @@
     "chalk": "^4.1.0",
     "chokidar": "^3.3.1",
     "chromedriver": "^87.0.0",
-    "ckeditor5": "~31.0.0",
     "cross-env": "^7.0.2",
     "cspell": "^5.0.0",
     "css.escape": "^1.5.1",
@@ -85,6 +88,7 @@
     "jquery": "^3.6.0",
     "jquery-form": "^4.3.0",
     "jquery-once": "^2.2.3",
+    "jquery-ui": "~1.13.1",
     "js-cookie": "^3.0.1",
     "jsdom": "^18.0.1",
     "loadjs": "^4.2.0",
diff --git a/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/images/borscht-with-pork-ribs-umami.jpg b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/images/borscht-with-pork-ribs-umami.jpg
new file mode 100644
index 0000000000..1de33882ea
--- /dev/null
+++ b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/images/borscht-with-pork-ribs-umami.jpg
@@ -0,0 +1,287 @@
+�����JFIF�,,�����C�
+
'0"$'92<;8276?GZL?CUD67NkOU]`efe=KownbvZcea���C..aA7Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa�������������������������E��!1AQ"aq2��B���#Rb��3r�C��$Sc4s%D����������������������3�����!1AQ"a2q���B��#3R���������?��|�x�L�!&��q��!Dp�U���Z��i�e"��&�� <�LO��@����L/�@���:8L:�&��;9g��i��&��qrZ�j�u�5���.C,��j��E�pi���i!��N�Af���)�'
�FQ�KE&W##XV�HN)�#k!&$�26�EZfm�P"����t�F���j@X�-1�M��Ҳ�H5��Q�iK/��T���ƚ`'-ƞ�T����ˆE!F�((ڶ}��i�2�m�-����X�ZD!"���]8��4�;R>*�z �R����g�n�AA�ui��!��1�2JqX�͇"�V�Re�T�����ZЁv'5�U�b�=%���]�Td��ڨGj�
+��
+�
+ހ,h�@ϊ@���4�t�Y�T�tV�ntY��w�x�<谢�\�h@�m@i�t�(�!#cUaE��
�.�<�b+��CEĹ<�D������1%�<���PG:�����oZ���hD�(��F<�����
+J��4�&�*�h���ב8Y����z�`�j���Et�)�LjN�R��*ʳzV.-�T�G���	�Es֟���RV�sXO���L���iQ�i �)"�F��*�Q��I;�Ru�p���εl�.���p�IG�t�
+�� �R3h!}��&�IH;Vi]�$&h��JS�WM* �R�R�6J\���2
+�:%�0/�Z)ٓ�P�SV���zՐpo5z��5R���FA�1��%c�J�^;�$�j�3��E	72��ʘ~�d��������*�4VE;
+C�c�t�tK��J�Br�JV:��v��6��n;Un�
9f��G�950��2sސ�b��|[S��Rӊ�u�D���Yq�Re$
+ٔ�sY���j�$�vޗc��""L�h`�ȩ(�I�t�c�S����!�I2��VA"U=h��"����H	�@ii�ph���0
:�P9���4�!�[���(�sH`���0�b��J7��aA!�9�H�`F�ҩ2h�g�@��#)����j`]$4�`AZ�g4��TP��(�m&�.ϩhR�4�@��9$���T�$��I =jv��$�8�\QH~�:�EKʽ�8�:	�85)�1�5���	���������5�I����}�cy��8δp�{���7�E)���A�X���n7q�m]M|�edV��Y_}�-�JV^��QY������U�0��]�NA�	�S@��E
+�:�4Z`�d�{M,*��V������v�3`e���蝶 ��MH�YX�ui����8F9�@>�4��*�IS��"$PЏ$o�'nx�M����W��s�i������w�M�G�����z�������ӷ�=��E[lR��qniP��oSC�2[ҡس�Q@-%��x=)بC�M1P�Қb(!ʒ)ب ��s4����P�~��v�C�N�U5i�̫�cTH���PQCH�)�Qum�M1Pύ'��&�&x���y�+Op�Ե�):g5Bf�*�c���(aq�:@Q��y������&���t�,TQ�$b�4FC�ӱy�
+C��(�4V��v�!���z�.A&*�G*��.Ԙ��4 ���(@�LA�s��@�,E�WV����8�<�4Q)�L���;��� �Ҹ�NQVipI;S�0e�Fw�$R���w��ܸ뚙W��k�L��{�����w+�[�n�FH�J�����I7�U�hm.��9��i$L|UT�a�ފAe󷔚�/F��ef���E��A���S�\f�x��h�]�$l
RBy}C�T��C���ge�ýM�) �"�0�qNˆ84�*��v+Tf�L@d\�l�'%�[5�-0`U'D4��ģ�S�D�vd[�Ճ�u�Zf�I0HrMhfdqk�a`��)#��Oz��n�g��N�Mx�7�„��@�m��HFŮ6��@b���2�
+��!�e����%
+����R
+x谠/;d��b��=)بOJ,Tr�C�i�P�E�٩بlqM_���oܚCIՆi����cHa�8�H�9��D1[�Y�S�@�r�GBaR���!4\ds�Eę>&����vcH�5�
+T3��*����(	���P-΀(ȴ�3�`G�A�(A)Q�T�,��A��.7�u`f�b����LC1Υy���'cB`]I���S�"�s@�Ґ�-0�ɑ��@Jy�NG:`Q������I��P�Β1Cw�3����Y��Ƌ L��zm�1IB1��NƊ}�# oڔ�;p��a(�4�SI8�,v�V�Fe�Y�Z�$�����&��k�6=v�P؊T;	erYs��(C�H���!��#"��U���cP����\r�����[��Pl'�Y�����,/0j>V7��"\b���9
�#�+:"�af��թ�t�+���f�.�3έ*�*�%��Nɣ��!�|b����� �<�&�\*��إF9b
+�fD ��q��`Nd��<�I��J,&��A�#E�"�+1oN�A��ޚb�Z�1�U�Q �;
+�	@����b>���@��;@�C�M*c܀=���[_��^�=��#�c�-������F�"�>����i�b�&���-F��	����-�7 Mo(���*c܁4dsR>T酠eq��%ed�!��H�i�r̞t�kp��h�>dP���d:��i�/q*�D�P�^&_j�SF�z� 7��x�� /&hYz��Ԁ���Ozp-ފ$;
+(e�V�@T�A�QAaR@G:(,��� <�������Mr1�t2�8;S�F]֋
+/�;�@�*2)�ˬQt��fST�4w�'CE�[�#s�H��é�Nˆz�qLC
+C�;�R�ځh ��7
+�	m����3���Q�c�5`|�C�۲�A���q�<��$lH��{JCv2��P9��5>�,��F�>�l���|�_sIac���~v���j�'�)����l�����m_�YU�6񶥛U���"���~��H�WC�Q�g��o�_�#���p`K�����N����L�.ԛh��\���8�Gj�ƙ�z�C1
+��X�F�QK��&���H
+���ȋE��MDa�Y$�T8���)��!�����V+f�"���A�Em(��Ś�Wl�����";�M�5;:a�i%�Ze40��Z!���l�T�[E��j�Q���2f�FT�ic�Dd���dںb��� d
+@XD!�cP���'�P���,gc剾u��!���>a��*�Yh~+v��[í��f��oaD��m�N��jt-�f1ڊ�H�QN�eL���3C�b��<h{�eL�w�,�J���@�����-۵�T�۷E�`��?�Z)�i~��?$*[P�19~�!��N�56%'�ۨ�b�>�Q��yT���>h���L7"_�O�ч�����,\G#�;
+s}�8�Rli�������j�*�]f ����L��E[z�(٠	�&�,"��4�ddR9(��(���H~�ă@	��F�v�c9�aAT`ij@Q��j�(�ԔQF��#�L�ИQ+�
+L`e ���gcC@�d��)�&���h�d�����qL����?:�g1�*�+VR"��DRc7�mᑄEIj�M&���8(:�Om�#ZDŽZڏ$c=�:j)C��GJ����9Pp�{PO�;PH�v�,�t4�e��v�Mc�C"��R�
+0�������?�yT8z%�0L3�HUԮ~�����ծ�5l�*:[�##�'�S"�F��+y�(��%�l>�M�,��UyҴ������M��@���#��.y6�/�[�h�֘�w`
�V�4J�c��5�ost)��@�\9Թ
DNk��������qs�w���r�3df�(�H$@���&!'�gڴ3���O�2��J-���<F�GǠ���y=���_�j>�J�6Ɩ��ʢ�����N��(�q�B�����	��p(
+�@��=	����X��7����iCvOSE�i_��zVH7h��#�n�Xm#�n�
����,6���ދ�~����X\��N�iu�q֋Ы|�-�S���
+a׈��n�n`P���)%���p������j)ٗ?ٷRLN�:��nb���ѳ�P����1R�֋��t�}逭�c9S@F#�1VP��(�`P���4�@A�������P�)NԆ
@յ�WĠ�1#"���ӱ54bG�2��c�0�q�@CoLAX�]�J:�� l�h�y �
+�"��R0���TИU�2�M�GᶡK��\�M�i��DZ�*@��k�Jq~mBVZG���v����T�TX�S��$���,��i�;P���X)�C��
HSE�E��a��
+
+�k���*�
&�����d�+��k�t/9��4�&�1ʌVn�;��yT��XA4�pMM�r�����I�����v\mʥ���t^&$�	Q�ȇ# S�*9���S�j��7��Z��4S@���:Ͷh�)-�ޠ�0!L����פa�%E��
+�܊�NJO��,ƅ���O�ں㊻3y4������RH��^��0}��`���Eȫ�'v�4�����"iX��7砥emג[Qa@��764�t��Ǚ4�4ؤ2q@1�'�Pb�����Pb�;�P�$
+������:V�t���j������Zv-�1�﹧b���F��6!�n�n�|��d�FL$��љ=���Mk�Ε���f�pv=�+(���Zi����� �0a@Q@�@�H�L
+��t���6�4'�=!�
���P"ᶦ �5�~b�4�YYp�,htƤR��1�q@u2(��r��؈3
+(vUe�q�TK`Ѐe�C�҇<������؊�
�H�~PME��ǀp���'�\/5C��I_�)D��÷L�*��VIZC�HM��t�}���!jt4��4�Q��UP:,"�(���T1P*+���
+��t�+�e�"�Մ���I�n<ezW=mf]�n��P��`0��b��4,����@�H��	�� ��:���m�Y���ԑΩ@�ܖAOa�fgIu��z�l��Ks5��3�AY<m�����fρM!
p�GaZGK������m[��ke�P=Mt�!�9%'.ɒ���A>��Sqc�L
+�	x��rƕ��,�d�e(�i���c��'��4H;�[Y8����h�Z�K�		Lh�#�QC���HZd′@�b����Pb�;����H8�,�4���0;ؠ��HpH�(*N�֝�����5;&�b�G�h��"�n�g_p8.T�Fh�<�����%�$�ƥ��J^���tʅO�M�e��	޵i���S�bW�$�H�L)@q��n(IS5#9�@���T�'ހC��'(r)P��W9��*�)��P��`$�ڀ�06����u�ކ$���RCd2��"��E�_"�F�L$M������i���g8H���\f���)ntc{��o��µ/�s#d�Dg
+(0�C�Mcp���Qj#����AA�)�ZN(�@���Pb�*P��&�h �P3�ª�B*$��>�
+��
+�Dٗ�d�D�~�/�1O���Z����֘A�:�r���8���[Z1 �D�McNtP����Rc��|�aB���}�+/���wm��G*��٪l܎���<��h�t-qő2#:lʸ�RHNXұ��ؓ�1�Sf� ���Hdnh@����k�L�ᛦtǔq]�WD�XX����G;T(�$�"�'H�v�`R��t4����J�^���z�ȝ��Kޝ�S ��Kr
+dj�n��{��
B�4X5*.
;"��4€'ؠ��X
+H�P"B�FE�;�NF�P�7���
��J1��B�\*�>Q��y�����E��oN�;}
Kَ�-�i�
+����A��֘P�I�Z�'"�������\�@&�I�2�����ؠ	���ш�h��q@@�X�f�2��C���U��b�/�!��
����q�4&Z	F4� 読�6�iV'�;Pġ��4�n�%��&<��=�L#4uۗ|t�K��
+	���|T��Ӷ�
+7�H�L��@�2�P�PPPPPP�������6o�2��g��v����������"��ї}�Y�a��N�͎V���9���0'��MH� ����f:QK�S\��������V��P~M���� �T���]�2�m�E�,ƞ�I	��M��*�1��J�����(B�`�PYp��\-e��)7@���Z�s+gf>�h���!y��8�JY.��:�eFO-���(�P�&Q�Pu/2-a���ޡ�e����j~I�}�NrcXP/��S/�;�g�?�|H��v�Cr�5�n]y�N^��#��拐�^���!|(�yB���Yn�$���[�U�2^��v���<�ʞ�k:d|,�ν��TK��,�z֊h�\0�����5V*,���`H8�	�;R;T�]��M��̻5P�y&�e�@�oxLH|�z�)�x��^�
*�5/fr\�d���`Ҳ� �W�L�SIFԬb�qE�6a@
+���b��H	���F���
+��dlPI1�SE�n�44VIGz��������F�L@�
+��U��͝���Ae�x�h��q���(���j~��N�FlE�M.�ʚVj��Q�Q�F�&)
+����������������������ڀ1~�L؎���G�
k)u9�+2(�;�E*�N
Zac�Kӌ���ݠ��a�R���sʤc�|{��I�.�MR��E���Y��E�:�f�I.�R��ꀬ_Za�F
����KR�j��:�-**'�)���p1C�S(S�d�h��O����P�0r\����ib��k�]��0
+��]��ǰTܖ$[|�����I�T� �VC"s&��h�=j�ڍ:�43Hi�@��T$�mi�ilq�+J�TZ���c.KQ�t���3E������� ���	�e$T���/iFb:�$KD,�:�≠�3w��6 �rí*k�^$­��=�Fo
+�����%ً�3��kH�L��ha\�n����E��L��Ub$
+��(i�P2t�*�c@P���52GA�t����b�o��\�d]�9�Շ+��]Y\���Y^���Ӱַ��	���x�eȠ%8�rI�Θi2(�Z�$/z��0h�
QL�Ter(}D��R0/!���vJ�*F��0.�X���y��d�;�Rbe�5k�6$3)�ۍ������H�)�Q��x
+�6�����QQF�i�R4�M�u�u�u�u�u�u�u�u�u�u�V
+��&����[0a�c'l�r�,��)�j�yLLڃ�H#�|��& q����e��T�"�����(��n�h�E�>�.��R��à�TU�<���f>jM��ٚ�3��Cf�QLf���0$
+X
+b$
+NíU^����`��Tb��K����A� �[|�	!��CW�)i����R9	�:M���J.���&�Q�Uk�+iK�6Pt�
mf{Iұ�,"'���{K�j[�Q��ҥȵ�[�ܫ9L��э4�1X92v��N)��1	 S�u}��[��UQtS��C��M�;�x�X�X���Ikb�Y��I��#5��Bq0�kE"6�c"��ӰE&��i����E9X���a/�N
r�,i��~����K�'��Uaη�d�yah09�[�&b��pj�"��LD�@��#�1ʀ	���*4m�=1uc
�g d��!�~ϵ��HW�J�����@����Z�|f���|�d���WP��KژBM��L���o���0x�19�)s��2LLq��Sc3d�����y����#�\��1SeP��W$dP��!��ҡ���ک"[��a�
+��
�@�J��H
��@]�*��]����������jD�Ūb0)���!�@@@@@@@@@@@�P'�"$(��*�J��.�
Į�Y
+���<�.��2E#|V�g[��,F�
+���ɢ1��Ǖ�`{[o�a���y��$�-*�_��G�0���ܴ�rj�c
+�jK'�p8���b�f�s������Its��_F�����\�����Z6�eR@R�j�Aȅ%�(�XSQ�b�q�iY�AQj5��P٪AUj4H"��RE��
+��T�K�(���m
+<�n"H�NՕ��eP:Rl�� �G��J)F�ܝ��HW4y4�v�WBFȍG�2���T3��b�
n��*{x6$�&��j�.%>�HNQ�V��T�t��^�P��hˁm
+A����7��˂+��v-�Ji�Ħ�������\N+�,���`p8����;�#P⇵1�{�MNQ2���c�s�u��=;AA��k�99�����֊Fn%���h�LDb� �pʝ��k�C�ʋ�0pi����$��C�CN�#z^7) !�"��KP"�&("��"�����������M1\��Z�
+H�x���yPI�c�ʹ+RYV���L$j�lT�`8��0�)p����w6fIt�2{��VT�E�\�`���j�Fb�t>e?Jv8�caJ�Aq�+ "��q'����8aY4��j���\Gw�t �+H�IZ�1�j�����@@@@@@@@@@�UA��Vaq^4��*0�~�^����|G�<��'�v�4�Q3��N��;%��El}��r߸��X�����}���-�e�U@�ZЮ��x��H�Rn�����;���Th�)X
+b'�P"��4��M���Tlk�Ѭq�MvNqY�.���FsΩE"��B�۠Pl���
+H6��M��܈��X�9��XV.F1Kq;Z,���͠�t��l�[V=l�R��ԕ�=8��T�AE�R: �;
+#X��S%�C����|E��l*-�r�n+�F���c5���B�)>Ŵ\gj���R�Y��5H+B���F�v��ACVӴS#3 �W�{d�2ɍJ-#ӣ�qn0AȯRԑ�8�<��E)��6p�.s�Ǒ����A�RǴ#"�6E��G����P�C�R�썤h�b�T�F��v�)��$)�+��⥠��o]6;�q��X���]3@$'��v����d�R��:�3L�X�,��2e����b#�Pa��m��J)Rt�����	'BȿN���ua$2n��LP۵!�Ks�T�����r�{+	ofҙ
+9����xw��-��*6�5(�aV@�)��)�@zT�,����kkh���ޔRC�lo����$�F!J�!YmQ��2f���Ҁ	~3��6�y
+��P�:tjp�9-��I�u�6��tԗ'������
+��j�3LNѤ�֬,  �2h�����3@iUF�X����|�=�K�D�z<��@͕S�@jm�Qo����<�;v��$�s�TnT�����(�u"r�TҲ{�����Ҁ
��+��__�����(Y�IcQf�Q�P�@�LGd��V--�\�XK/�mv(��-���$/ n�Qh�h
$��
Afd$
+�#H���8ǛzͿf�4uS��O��l�]�Qf{	
+[��|[��%`��x�!�usS��U�|<@�z��U	a��Hɬ,�H�X�R���Z�\�t`\Ku�3���X���r�+�X��y/,��I��	�5���g�����
+%��H�5�F��(۶���n�X�u�2q��ɬq�^X��D�8�YdĠ��9�Ff���+��j��o"�%N
-vd���Cy%�\ְ��<1��+,�+�rI5
��F**�-;�0�p*XQV$�he�L��6C�]�glɀ��JC�`���i�i�Gi�*#Fh
+ ŵ+��C�M^�V�Tf�Ż
mx�p�"�-��D�):̹��d܏;./��޺�g';UYH�U&Gb��^7(v4҂u�t�:b2x�Y�
+���hRB�7�d`��� :(�u�9�g���k¸lv�(�(5@�E�
�Qր��H��*\�)E�5�p])H�3r t�ޟC��a42��1�A�V�D;��c@����)8
@!=f
�E�e�G�0�_���eI&$%O"kD�b5i��A��4R��Ga��T�I�?d=��oZ������MO�;Z4c�8�AU�
+�-�G���;Ae���>�X�o"�}h����y��h�-�$�(�����p��UH��R����>F����cPo��K.pt�}�H��RNI�ZC+�4�G1L
ϳ|���i� S��QD7|#��,<:�"�
+a��/�^y	-R�Ta|�u���HD��+$�sS)P������3�gT1�!I��YРO*E��#4�H�C��r5�40�����]��Vc�ұ���X��L��o-Ш�*ltHZE��E��tv(
+��x�%GZ�8�%i�, �^.n���!���J��Z����ÝDr���3\MS�Ӄ�`�E91P�f�N�\F��J#ѫj��U��<nŞMg5�(�Bv�C�df��0E1�V\ZHF��]0�8�g]$f����7l :Tdɽ��±!�(��Z�5�͛4��a`�H�F�ӱ4y�$��1x��i>��|rÞ/��i�7��*�lb�Gr�4!�7��T�
�Bŵc UB6��$�T�f})��V���⭊έ�j�P����+@�TB��&�饸�8-;@��%4��=4ɢB��-���7��ڪ7��ह=%���<�z0�D�E�T
+kv���E��R`��2.7�L�;�H�1S�h�*̚_�1[��A@ty��BU��P8�H�Td�`z^��G�q�4z5E"�I0A���B_1ΓY9�(=�8'OSI'"����XԤ��r���w� �z���
+��ݳxaҴ11�H4�b�U`V��Fs������qL\�@�vޤty�
+=Ԩ��8̫�2��N�.���j�E�B9aC�2��K�m�u3cQ���VU���o�/�����^a���~�|a�$�y��Oʍ�Qx����PѰ>������k�xB�s$�,��궤+��f'��U2K
+���<&N)t?���{�SD��C>��L���8��O!$���P���9���,$
+b&�$��Y�%Y�sv��YS|��E"�!'&���"4�
+��桳H+�΄^0���T�|��
X!��F
uF1��r���Tr�T-��:�n��"��S
+#�QI����=7�f��e"�\�����c��؏%\��*0�ɨ��3�J����rw�tz,v�c6�2Hw�P��K*���#EߝDڊ1��bw�>Z��Έ;�����S���2=���"�R4@���-�pw��[N)B�Χ'*e>���V#�g%䭉�7m��~��!���|�5.b4/-�L��Oִ����ȝ�dI!`1\-ܙ�cT�^�e�R���ɗF����2
<yvp�,��)#<R�]�T��:"��L��f���}���^+/q"3�R�nD�#�h�\�)�Q�銊��QE2h���5,Y�Y1[�Mr�L�]1�[�,�)�u7���pmV�O���[IWG:WذN�e�D��kD��,Q$�-l���FY�*�����
*K��?:B�;�� ;���M
+�@ -$�T�CFE��bwڹ�3�)iJ��a?Z1��su����6��b�VҒ��b��K��"����U���t�\�sf횸L��O�l�Xv��"9
+�^u�4�H�����ߐ<�А�5t(\T#2������٩5cN�����K��:���31K�\�)G�M�w1�O��t�j��]�^UE��YI�j��Y'���FE )�P2�w�
+�h��#;U�V���-d��H#��17H�w���X�
�2z0��i� �Rn�1�̯��GJT\
+���:��V��F�O�6�,ɞW���I/f�%Q	46i���W<���t���f�KJ�(B�"�6��(�CPخ75�,��Q[`�i��$�`yU�B��@Vd���'�#<���L8D/�d�ν)b��3�Z�)py�؍��DNqʼ��d�=�3�#�5&�via0����lM�Ub�����ڍ����Ր��9RG�(����9�2�a�f8�ֱNn�-���iM��(����1��ɧq��N<z�9S��c�S��q����)6I�S8����J
�+-��zk�oB�!s�j�GDc@�c;�Ab��������S*�P��+�c,	���iST2�=3@��9R����Գoʪ-2e��I X�*$��&3l�ҝ��ռ�
D��I�Z�)s�0t�G���۰�R|�68]�S�.�]Z\Qț��jsJ��xL0�-4*��T�3.�3�&,J瞞K���>$e�l�H*A�f��wG"`J�Av�Zi���%�@�d�3mp�dF��.��0��ځ߽N>�(ڣB��T��m��K|�YqR��B�.��[�6�I�E��o5f�O����%f�2��	;�,2aB9<Ku��b�eULl0�@�ƱHb�L̺W���Eǰ�"��:��f���4yH_��,#D$��JN�*1��g��Y�I�Y4j�M6���3Sؘ�M�g���c#�[� �шS�P��ޤm�0"��i&6�RP�cTIlf��!�A�����G:�$�P���;����q�Z�ffHڨ�Z��F��2���P"Fƀ
+	�d��@Q�4�2i��@�C%w8�#�c�(������Wߠ�D.y�8�I�Ž���q��oY7gLU"�)��I�⥺�N�� !y��|#xc�f;�����D�BM
��15��m�|.�b4��ӎ)L�f�>��N���޺a�D㞥ˡ���'��G�V���%��br�o�"�e���톭�ȏ���&��/#����\.�5�t�G<�RaG�X`�#�բ�y�X�:�+S�����Q�)�@�sgǹZ����pt�<���p�A��5�.�]4����$?JJ2c��YF1�)��I���f���f��1E9����`�=��ư�
+��j�����~I9[<��X��b���Qg�����I>�w��;���&ue���$�$@�A�ݣ�dy�*<)΀pwڼ��J\#��}�ɔ�w�d���M�2]�#�����'HY'Q��)8�ib��;�V�Ӹ�qG]�J���	h��NL\p<9�Ԍ��z���+˕,"����A�RIEښaa��@ޡʌ��s�r�lϒ5�K��	�"�(�(j�.��f��<��e�k�K�?�<�nw�
{~;c�����da�����(�\�U��F(���C�ݫF��1I�cζ��c8��#��(���'h�\\YI$5�����1���^F\�&w�M!7�
f�*M
+Kj�J��1r1T����14X�]�ˆ4.h*>
Zfn&���s完Yk�qf�|�M�;��1�t�*h��,W�0�]�׃9�中��lPb���˥�yb#�BW��lz�'�^L��Ԕ�� Q�H�f]_K!(��Pݚ�5Ȟ���h�4e�⊱�!n	��t��	3N��M�
+�&lڊ\(޵Lɠ�m�4�T�	�J�������Z+orѶ⒐�MX%��h�ϕq(�^�VH�L�`����J���F�;z�$��3']��.��Q8�$_Q&��I1΀9�&�+�T�@W4�]i��)�O�
+�?���4.I����+���лm��[�x뙌�Yɛc�r
EI�ALL��T�BJ���ΰ���GF<~L�b�&�Tt�YS4�5Q�>�޳l�E\7���A��[c��̎lڕQ=U��€]�Q��nN��j!���"���Cv��
+b�	�4P��H�,$VӲv�U�C֕�@�d
+��4Y'�ZU�"�}*����O�|�!G�a,GJ��
+5��JU�+�WE,n�Ҳ��CÌ�im-�[CY>�9G;B7R��K|�M9�����m�=+$t�=���iRv=+��x2˦�N|���	W-�����I��g��#g�V-��C�A�����-���Y���$IW��Zg����.�;�G s=+��#�
+I\��2J�냚���L���h���8l�ң&=��ś{�U5�7h�Pid�Z,i���@��Đ�0�gcW<t��3R�@<CY�4�r����,݅T`ۤK�c�(ĩ*��9�EQ[�Z_z�i�p�&�d���]r�|x9ue��#�D��R���f;^U���+���,�a�ZY�rvdA�p��=kGs�М���&���NsJq���SV3o�$�@>�Q�8��O���;��&iȘ�Q���
+&����{֊���bj�KP[&����i�
0MX�h�+1���H�L��#�SL͡�;օ�����ӏ-pre¤�J�q���<�]1vS`��N/����¬�q@69�c���"�ژ�����Z�ၼ�bf�of�rMgf��T�`�`��)�Ftrk�b9b�X��`Є�8���3h�npq��Y�֦ƒ�6�I���I�+)�}�X���i"e��V�Fr<�uD�)�J9q��C��j�������M	�:��©���Ƞ�d����H44��i�,H]¨�'�R�O��=8g
+R��FX�$B�c��4�ڔ��d���buQLD�t����0��&ۤtc���\�hJ������l�1��� �5	9:F��+g��|.�[�vc£�<�ڗ.F�1,K�+s��
&�*P5!�eP���q@^��x�H�D�JѮ*rI�|�9$R�0�1\Pڣ؎�)�5-�g�[}�u������E�F�Sd�)��#�Y9���j��,�5��� �J����1#I1���
�z�51s����Q�,�w9 �=Q�$�� S����@I�<oTPh!i�X��c���'H��B.L�k��[~l5��x�x�_7/�������-Z�Ms,��������T�H��@w�ʺVx�p��#�L��3g|�_g���4��[JM���ǣ�v�`˃RI9ɤ"v��@QAD�����N�T%�����xe�� �uӧ�?�����]	q�������q��i���
+4�nMs��Kk�j��)� ��O��3z�i�7��>-�W<�(K�X�d��6�űުRr��Q�Q���A���]m(�3r�S�r{ҕ�&8�o�D|PѻE���M	 m&j��d�He3T3�@����ƕ:s��T`ٔ�(.M��0��ڞZ��3��ݴ"X泋:jʆɫR%Ƌ�V�D;Й
X��);WN,��Ǜ�fזx��]}��j�0(t�4���XU�N(�����;��&�X��54�8V�6�y�gD��jYh�AHN���������&f��}-�LC�̈́�j�
+�6�9ұ��rmJ�A<m#9��iK��0�.���
o���u
i|���=(U��L�!ui,��4��X�s� �+����*��c�p˫"�$GF~%�~�En���M1������P��	�
+����@Hg��z�7��QY�)�ޚ&^�}�.���8ڙ/����!5����i�j��9����qs޳��"�fD�drsR�i�
U��GL1�[X�\*��?J��7H�5�[=?
�Q��+�z࢏#6g6k*�����,(E -@@yP�$T��4���K��1�FO:�i�:�W7���`
+҈s�.!�C:� v���U�ZwJ�0�܌k��g��E��<M�U���4׎��<g>���/(�z|1�+�)TM"�Y�g-�e�5���A�@�f�qH	�xd�
�L��q�ն	%4�ϩ��&��O!���^�g��Ʌ{�X��>X��\Y0:�z�u��Q���b3ʸ�=;D,z�s�T�\��]
����%��IK�}8��l�@N
D�m9��a���%���:�լ�MGu-F7-��.S���� ���2%*�
d�r���Q�f�xnt9��������ncq��v�_U�Z<<�^7ȿ��ۻ���c���^M��e�/�>V"����v3l�j[��
p��&���<j�tNΛ%784	�u��IS���QQ9��[4�H;Ѐ�@�;K���d����a��0n��i$$��#hƁ���	lǕ\cdNItaΩْi����h'��LͣG��`�k�O�ϊ�F��%@�κZ�p~���Lͪ/T#�f$��=���ZBØ��X�t+��ΰ:P9[�"�'���0�i�k�Y�!ʌV�+��z��Bq�K�S�t2.��U
+�y�7�II
a��3J�zn��4vER���c٦#��N�}2��a���lr��t����Fp���e�.�%@bq�t>��-�!�G���"�O���cOُ4m����Vmh�h(�h�a@@���hE�}3�]���bWy<ƚ�݊����% $�t�%��:���L�l�T�5��"⭙�3�K�w&�bu%D�Hb:�u2tm�&�������X��ʍ��B6z�Ò��d�~<JVl��ki@+c��+���E�v(4�M�M:�#��;R3/8���D#,��j�yv������-��_:�U�4,П���1;��8\�dJ���6Z����Q녙��Vy4�U���s����\o�wc���	��`T��,E��J�n�����*�N�,�����?�ט���\]>N�xO�����ݣPuەm�Q��
��f�&�i���S&(QӼL�tDj��,<d|�}�·+2�&��Խ��A�yt�Jj���.M���.G�9@r�zW��#������ݣ��U�W��H�٩Bl��PA�"V7�pj������9E�2J��\Vz(	�U�J,��SB��q�k�D�H��pe���G&��
+4x��:��k�ʤ�g&���Ņ"��,�'Z�
+W�=)�Q�Dz���?���6�w(��/����UL�p��TR��✝!Jq�,^Dh�*�U�0j�k�i��$I�8�+���Б�nF
1�@�+��:�J�w�Y���3iU>��_#����x�i��ڻB�%v�g�N2p���%&/�S��R��m����͵4S��O�Ϊ�Z	S�Wf՛<2�P��z��;�n|U��='X�kn�F����AlS�����#� �-����3�mp�@��Y8��k�]��a{�E��j4mBm�H]Mg(���-Ȋ��ι�]L�ʊ3n���Ԑif�Aѹx�Be��".O��U|���>��s���|�epu�;�ڸx����ndl>|�lj㕴;���j�`�ov��Ks$2����R)+)y:\�<�jiP�fpBzU��J��@����f�,=(�h�W���q�j@�>����F�\
+�zG��&j�o�6¸�	RhK�6��Bsd��\�:1�����k�e��n�
t�m��&R�5G������s�X���o<��z�+�G�dr���<�d������p��ĚN�jH���2)�����O��
+�$mX�Dwm|_�����>0� ��������������S�2)2��3/����9ˤ`�� �$�݃*�pt3	��5N��?X��6a0+�svʙHXR)G�08�r�Δ�g�+��B[�\ƚQ���ʒ&C��\��gtd�E*�DmL	ȥB8��P�%WҊ&��\'���Kp���Mw��*�3�����u�Q��˵r�b�5v<���fd�H�T�1FՊ�.Y�	<��Ї�:
+ϓ�h������$F��F�q��%o��.���ȕթ���VH�f��iя'��w�Qe�[
�E�����JpI�n����6�(��BZ��n5+�?Ҕ˥O#o"2D��+��
n�<|'�܍ub�J�ßK�[���,�Ķ�G�sM���i$�D�ti@�j�����4�+0�q%��p�q����Eb�)�Zt6�9yI5uH��A54���j|
��i��ǒ�pj��Q����&Lj�Q]������Q�3����T��$��~g.Y�Ѫnjo���e��!�j����E4���>�&�@����rNMM��󢀴q�m�)9Q2c&�H�X9Z#7�Ϲ>	Y21[*d�7��h�r�eT�Kg2�ێ��	)��'$%EQʞ�I�2k�q��$�F�-|�-�n�S%�x�!��uc'�������_Aڥ��-ozC���VhGss�h�x�imAedu�j,�#:�E<�p��/d�q����j����8�$����N)��yi�6g'���5����]�ϗ4�=L�7�s�r>Př���b���2f�w/���EWY�?*������O�!�Lf���T��¢SK�Ԉ��Xd	�OZ��՚.A}��܊�w�r����b#�4v�xl$��Qʖ�=�`�Q�� QF��ٛ5��h�?3O���T�����Qڷ0���:�5�vθ���
+��i��AX.h��������mѴ�6z����a�ی�9���޶�NJ'>5(���nY�,(+^�v�f1�’3ړ��e�	�"��
+.	�H(��1�q#�,Թ��Tq�_����8�X�@w8��l�^�gz|7.�M
+�q*��M$��/A'P�j�YTM1�R��(��2�M�e^KĢ�D���nk�$�ǘ���
<��^9r���V�>��Z�.$������%������}�T��-�Jk��m��\�ɸ�%�?�(Č<���	A[j!'�	�<�M���U�b-ʁ���M��)��^������|qڻ=%��m>����X�l�1cy$yk�iu+��Ex����{�q%`㳹�W�6�s,w5�r�r.Y��jXX����F@9>�xc�t,��q9#���X�*���?�.r<�����1F['��*I�iC
+ō)0��T��J�/���Z+�I1|�޵XӃ��NU�F��c ���*�s�mj=Q���V��B`��Rc���@lX�c=��;e@�Mu��\wH�kvOd��%0:�pWH�ŕ�l\G�c�
5
+6��q'eG>Tla�.��`w4�v��Ҡ*}�(��:��Z�J�k���\�:��I�.�x���W3TKT���]O�<Vؔ��F�<cĘ��C�4�6���(�G3>�
�j��rf3��[P��Γ�M;5\��q@ȩr:��⢋��#l���.2�X�kiR9�lʱɕ;�rcRMr7S����$��C�2���0���k}<�������
�ڸ\��|�����
+�Z �ʀ�v�/�i��ױ��9��L{.m��9�,I� v$R��3��C�QA`䵞f���ɍ�۳�M:)�ȟ��jM��]́K`9�#��>I�T+>��_��#���l4�Jc<��ť�YS�Q���r�
+!�3�"E���r�LŃM�"�-��#0o�e�lr}�ܗf�kɧ�md���B�w�XK:�K|��$�d��<��~���|�+a��,{�4�,�|toذ�J�ҶgBD4[Ӱ�=����d���Hg>T`R�G��#�R7f�Һq�g>O�_����|#4�Ty r���e����Ϻ�S��+�gD#^	?Ѭ<������o���o$��e�@l|h\\��u��I��r�\vÅ�8��e4����Wf<�"<��%����Iڴ2A>�%�e@(�YL���Q�����
+,�"���~G�t{M6ϴ�8��� ��+�O�dm�����t�����Ϣgo�Il�s47J��-�U��k��ɓ�}k���UG~M��ٯ]'�u�u0;;mHH��B�4��w�H<�R��L��v9��ME�o��ß
�G�����	8d�hI
+4�Υ`��oS:k9b�'(ݺV2�%�B�I�ɷ��+�bY���u�QɎ�y��,y."�C��h�����g`m�W��F܃�q�k��L���#$�M���^^g9�׭���Q���y݈�[��c��+���r��ץ��T`J嘚�*�Z*��k#,
�lV�ܛ�'X��s\!�����H�4��Ev���;8��!�F��-�Q5�#�}�n/�g�]b��H�\	�'$����#��:|K�Ҝ�o1�!���s��TF�p�Y��W5�J�1|�\���qrd���X%g\��,�%��nT�NU��}�<S�� C��*��n=�<�Yv'B��7�Y��e�`����P�8��F�:��VX�Y�KM5��-=�%Ny�+����"�w����4i���`y`mM6��2T+��njv�OJw�"�7j��30,<�i&�إ��yt�
+4�aC�b�P	@A�Y��q	mv�d�����â'�O��O�l�αț�(Thܷ��mJ�2z�N<�=�l�wj�rÑ�h�3����y
+��+6H�Ž8��"��0-H��h��@Y0*ZV_�0E-�F�Ll�D�6C2�I�-�N�����aq3�F��c�������I*y���a.�cj���P�1@�;|����"�+����3J�.���J��\lWi���5�3x����s���5�ș��Q�^��9�T���	��1�����lS��@
+�l�H
���Ϣ�FO�HhҚL-$|���BہY����:�hA��۵CMt�"a v#��NCr�نUC7��i4>n,i�[�\�ĊHƻ�ڑ��*��E!W�W|c�U��h�1�M
��l󩢬��(HVtn��%&K�z�X�c�j?�����v5PG�ɘ�hd��1/��u9VGC"V	52�U�8�ޯL���CQ'�O�U�<����u��x�e1ҹ��e6�*:a��;�I�#]Y���A�k#��/5��>\�*�u�($zu\��v&���lZ~ cȎ	$>����J��K�J�{��#p؎��=��Y���G����X;�(��r7�V>�d<��[`o"� �vS�<b�X��h�a�y��s�2IT#�:t�����B$$�i���qS�N�̻:s�.;bm�u�[d☄�����V �@u��F��O/�)o��n"1�y9��4&�2�irAn}[�w����O��W��|��Rۿ�p����*������/0�R<�y���C���pc�>.���
+V�3��j1ꔸ����`�a<b4���NqZV)*L���v�c�Vq��G��}Y�o�a�93f���w��+���Zqх��	q+��P����z��`�::���>$f����cC�\�\x��2vwe����C���B�va$g}'��N̘c���&,�����31/�I�5�y��ǵ*B�=�Dl�v��ITd��;֐��n2ɍd���z�[��"F�\����8MMZ<����{��1�T�-����{���$����bpOLל���WG��/�`%$� bT�j�m���w����&	�٨|�����Kr��1�0+�an�gm^ɸWB�Y\������!Y������7O���cU���q����r��O��>)F[��2��?���)��>ՆLj��f,��)v)L�a}+&��kk��'8�B�6M1Yj�&�C#NM+!�M4ƤTjpQ,�c;R��]-��yڕ*7�E�w�@��2!��r��Md���E��ViST'< ��*�RIFL_:���/��z@NԀ�����$�ަ�TBF_8���GB�S\PoLD�HE��!4n}��ô$��Wn�}���ؿ�m�
2�Wc�eZ%s�~uk�K��,4�FG��pڙE��5�F���Ҷl�#zT	�)d\p<}��Y���:��gF�:�.�d6��2Lv��iF�R1]�v�I�e��<3��St���2@t򤤘�hΕt�TH��yS��>S�I��I�7�65��2.�mY�p���w�Xs�<�F�T�*�#�Xe�����(}���^h�Ðt�i �S�re��'�J���M����h��Xވ�i��tg�j�����I�X����dQC��"���f��X�<D=�&��;=�A��?J�]#��<���7����x{f �:ɛ��?�/z�v^%����jWi.�	�<��*ѽ����E|���^�G���@����>�c�w/�+�
��#s���&�#�V8�=_�[+.Y<�ס�
+��ϑ坑k��� ��q��Eg�sڋ���Ⴇ'5��gh��;E!�eP)��#Ld�w��uHP��l��&��ц��FI�5*?m���Eڵ9�"�A9l��㹥'Hx��*@�o��WTc�9��dS��6	��`����lkq-�)棽Q�Z#���g��h�8�^�b'�{\QQ�e����<���G��7
>Ys�]�*���:����D�3�s�Ȣ�1brd��_���!c
S��(�O��Z0$��`q��v�i�qh'��b��-pw#ֽ�6����O��-�쥽�ͭ�S(*��<��S�8�"�I8��^#
��>ÖN�ںq�G��ɧ�%��H�8j�O����%d��E%�Xlsf��;]�83�q�б�S�#��)$yVAֱyg�/�t-<258c6y���c�������E'H�e�ì�
+2��]z|q�dj�KS�:��-'d%��=jr���+�gv�s�Rt��wb����VX�=�F�}��»��'���-�>.x��i��>u����7��-n%�N�
���&�x8z�-}�W'g����6Y�0Ƅ�lUC�-�L�1�w65��iT#����>��s�yӞ=Kw���q�y��:�����?K��>=�-�W��%���IB�+5X�f���[�.�y��Q��R3�Jq�ó�Db�A�`�X�ڦ��^������M����;Q`AC֝�v�`�r�;b�	�<`Rn	�Д��2@�P0�H,�8��h��E�rkH�Z!M:q�@pڀ,7�3l�x�E�� �f"�2g�͐G���y7͙����v.�<DU��`��w�`�w(H���0���7I&y����d�0�
�h��v��5޽Yugϥ�G'*��$�z���L�{H�T��~j����rr*W���2|(����� �[��V�R`�Ql�G�B�o��Qd\�Չ:�b�E`�'�V��3��M��v&�H��\��k"���$^p�8�h��+�Ί7&��5�	r<�Wc뚙tJ5��O�ĭy#�6�'$�5j�Y�W>"yGAC\����D�
K׸���kt|���_��$sF|D���e�Y��ǰ�҃h��+���lU�P0M!��>�1���Y(���V�9�>�s>�!�&0�Y19��� �Ng�:1�����{�b�(�]�{WDյ��R�+wb�8^�s��Sƥ��Y�����(@�$�\���DžC�fԹ�]�,DgV�l�qx��J黉r~�ו
�-�g�-�?G�$3+�<���C8P�d�/��*��ɠE��"$f�n-�0X��+�ڣ�G�-�n�;D��G�c�s`y�'Q�yCĞF�.)usqÝa����OAK,���8�AO�ɛ�xl�<s��@uZ��I�:�J��g�170خ֏22]���)[[������\�t�<��:��M
+��*���l^����������a�M	����i�fT�Fh��f+�u���E����y�c��L�Jy�Gz�Ƀ���z��;]�B��z��WG�)!��""�%����qgq�ˣ�>�K��U��ڔ�o�<��2XE6�@jS��ֆ��I�=<B�[I�Ⱦ,O�J�{�l{��g����-���u���ą���{��R�q=��Rw~����
=�����%fx�Gm
+�ϣ�f��kG�m�<��5�2�e���j�������4���dr�"���OO<OuZCv<:8P�n����6�Y<Z;������+ڸ󩩷��4����2diI�����9��vu�8� �i'l�ؾ�i�a��l�R�#�؏Z�,tܙ��f�?�hJ���M�و�X:���� �(�%L�����%$v��Hgi�i�6�d�ڐ����0;�*F�857Nɒ�C�C�=�T(��\�'�1��Xm�,L&���ұ�΀Z�j����-�c��7*�Q�P ��Ρ��o��.���(&J�jh��`9�C�8��T�u;Y4,祈j�!�&�%��+�6	��,�\.O�p�'�\q�z؞�h���ٕ����\�	*c�=��'��2(� �j���r0:�&�е���*;f�
0�j�3�O)�1G����Scl�Q�Ɨ)�A\R������褬B�O$r5iڲ�g���b<d�f\ga�������\~(>`s�MZ�
g���0�޹��чw�xB�+n7����ͥρ b2�cR��5b��c:I���6@������Sk��K�eı�w�R��L����7���&k0MzӳK8B�r��`^f��ca�����~���<��!�}�,�#\LNKY7F�G�n8�A�ھ��+�6���͉/-�.��\\|(�X�~u���}�Fڶ�3�-%�7�\�����\W!�i���n4�j`��R�^�ΐ|Rڋ�ꂨ�@Ym4�el
+C(I'z`H4p��&ʒ���eܨ;�?�V�)q0�9ڥ�i�B�v�^4f����8�����ا�k�vR��l��k$�G��~�O&���ʕ�8�^\�snb!I9�Ke7��S�x���?�<Q�v\��z�Z�qJ��J��i$���F�;���)����Y�9#RG���eD�lA�ZRJ^�$[������b�+d����N\�ƹ8'�_S����z\�:
+�����[�k�Ӟ2��>���X�|4y�Y���t��4�ɯ=C�]A.N�e�\ZO��/�m�#/�UӇ�ɧǓ�h��8�C:�+����pqd�J<�٫�${�Q�t�&�8e�k�Ë�BbBv�k���uG����+�'�-�:l�w�Q$�P�LRh��X����qh�6�,9���$���D�eF8�ɬr%$�:0�h�&�a���y-S=�;@�A�H���i�6���,pNkH�sVe,�<ȟ�ʋ)`�b8e-�˽�߁|�m%�ݠ��e.�@t�]@�U�ly|�d�-�q�LPkF�[t��U .�'S���m���O�NR��3�&����X˪u�lA�D�\2b&m*ǩ��%��H��O�@�jK-H	\�@H�nx����V���j���W�s�AmUv,2)��hځ���Yv����4�i�˖�4�Q���r��o���hH��G��36�i#�F��ס�F�6�54��ó��ƶ��Y;�����V���<Y�\D?�?�Q�Qr�@��%�rI(�;��<�%.M��7��jԈq	/M8� P��w���G��x~,�g���V�f��2��ɕ�u�$�^� �u�r�H���!�R"W�9VR��b�!�i�j¶�F3��u���!2�r�c���
Q����4	�D2?�(��|JD�Iê�F�PL����]:ɧI�h�h��CƑȘ"��L.��c�]��n4s�S
�t�I�=/�gD�$�I?#����"�`A=EicV����5�7��T�T2YIj��|)�Z��EQ��~�Ņs��?�g�����Q��5�/�u/�W��J��p6��GND�6{����.UK67�����c���=�
+V�����J��]��	bEP�R7l�|�J6��P�aҀ���Gw	� ����5�&��d�,r�"�� ��y��M�˭2l�Ԋ�P*�)$ �-����u�ڷn6S��ɪ&ˢ�id�Dn#�ņ������7h�혲�����hʼnc\|�'������s(`.�Ū�SI��Ȥ�b
q�p���VrĔn<ټ2}��F�-�j�0��޻p��i3�Q(�����Kx��2�M<�T�C��DӁ�]�oʡi��7��O�08M�`���W��2�^A�~o���iQ]#)�K�9�gL<J��U�E�h�Y�'i��p]Y�%�����zX>Q׋_4җF �x���B�^fX���̥�4b�|�S���q����ob7I:�U��{���1l�DZ�\��Nyӳ��$`{Ӱ8E+�*�G��V�'��W
���B��6���:�]	�՞���%��嘘���M������kp.rG��#����[����Ɯ�K����S���0ޕŨ���wi�*M�����|��)�ƬbI�<6�"c:�٭qCt��F��
�[-w��Fh�J��w�9F2��+ȪJ�g����>Ks8��ݳ�8�H]c2��$�WcrK�9o��s�0��S�\�F��&{%�d%��#)�R�UL!��܅
+�o�R
fm�U��p��n�V��0+O��f��)j�ɲ"��n,���6�8�zR�W(l}"��n_��fz�uYpsSAgj�zT+&)
+6EV&��:���Y��6�)�]T�J��.3MЩ��-�jTQ�ځ�s���t��Pu�4��&�T��jiA��"�oHF����	��%X��#:�u��N��Vyz�����5aO	�L�ߛS]��%v�?/):M��鏩��s��޶��E�߽2f-�Ӭ�%$v�\N� b�I�r+7���r�LvXݻQ�X��k��I	���{U��9���*'F�/Jՙ%e��#j���c��q$x�2�۝:��8,��x�������{J���L��L�X8��E�V��,�{dP|�Ʉ3=�P�%��]!�X��d�J� 	+(l���V<��ʗE1���w�GW�H�Q�
G&P�J��ɡ�!��|2�i
ZKB#�u�S)S2�j�����1��j,(���f�A�2?:�ћ����Trz�)��Pu4x���l�J�����}W�N2�q�=�V�o�����C��#p&R �ʏa[�ǿ�ŋ*Ʃ������)���r��k�Zy7vu�Y����Ko�����&r��.)�c��fԢ�onna��#���ޞ\����ÊV��^)w�n�өE�G��\���eY��Ls��|�\\�l�fa�����u�[�p9a�fE�p�
���NI:�����Ѧ|�$�
+���b�4YA�$�'|�ҥ�ި���ZCG�h���Ojt+	�hBlW�]��S���'V����l�\Z�tt��Qr��f��,Q��1�����X��R�QV�֑FNO�-/
��dLjwӝ�γ�$���mV8ʟFc]]YMᜡ]�؞�������Ǖn�߆�f�p���r�z
+M�r<�����	cs5����|�	9+j��c�%Pv�qVdX
+_8 P*��♋e&�8��G�2I;
+M���JN���[�Ap�����❲}���N3T�{K�����b��f�9o7Q\n[b�d��"��˵s��$�W:���2���u�&Fk|r������]��9R�,F�H\�=kں\���Ǚ������?�U���#��<X�
N��hg�c[|�s�o�J�Ŏok���Q�����|B�U���է@nzO|T��F-�ٞ�in<����2��}��8����7Ǒۑ$d��T߈������bs�
+���Ȣ�� ��y�cl��)G�Kk�,U���t�'$�WFs���XM��j���d����9����9�7o�:�є��u�Z��ތ�Wl�юd' ��T��L�JPfia�L�D��\q���m�-$�
��H�?���28�p̠ݷ5ϳ>�'c��N7l���F#�Z�*�)ޓ���Se%H#� 5,��"� s=�ERv�g�T�ۅ���N��苴@����ӭV�eO����
:);!�U$�dg���SG:@]F��0.N�"w5@SjV��g�����$q>$#9�<�҂o
+�_'����9Ipx����z���O��R��	v���s���r�����g�Q�}(bB�N�.#Կ�j�0Z&�U�E�9jJ��(4�KoyX����Z�>_|�=�����Är�}h�cR�lY��{p
G�MU$M��r��Pzm@��m۠��48u�LA��r�!�F������TE>�]���PAc*��-���)W;T��J�WI�j4#(OQI�$�;�q�Q��<
ܰɂ�Eu!��0�"��qH��C��a(	"��H��'����q[Pu����F��jpI��\�`~��_ST���bHs�#cTC��\Gᴱ��H�	�h�a�L�1�!�H�XӶA�ʞ/ގ������ZG:UWF���yI�lR(���4!�Y����������+wl�٘d����n�ɛ
+�߃�V�38f��_��
+��&�Md��٩I�{�7�3ʽTyM�(���"F����U�(�M�U����*J����Q)/�*Q�MQ4�	<��əᵈIs*Ƥ�ޔ��l!�uaA�p�G���;Z�7ݱ;�fV#&U�\d��z��
��6�
+p�?�ȼ�vWÝ�o�3�>��O���6���C���Ai\)�~$�?:��1�"�iO�2�O�L�F���{����N�B��.�?3H\L噲K��<�����kTQ�o
+�D�ʃ�����䛜����j���P4H�g0 �4��t���XuG�7d�=�e7³LZu�U)Q�'���$8�P!Ҿ¸��M�o��5��h�]�<��
vi��_�-���
˥a$g$��݆U�%�A�m���u���)F�YfDeەM�q�I�ť�����FM���
1���S���Y�*Xa���l���Qª�q�>�ۋQ�Ԏ\�Wp6c�`Wf�&��縹��妾&Gd����J;��~��LϒB�~uq��@��vD�|${��pэJ;�F�+�qk&�:^OM�-mI���pu���(�l��,�\P��h�2Ī�A�O:q�I����\�<�K�6�N�(�v�t\�$k�������E�a����A})8!O�KĂ�ݝ��s��6���*/"޵�6)\����j�d�f�F��W6��j<$����CJ�S(��6$P�5����"ڶ�YMil�"�l���Ro����
+������F����l�@?��=�U�3QpK��x�I��FL�x���6�����f�T�y�B{d���\_��!q�!X���ݪ����1���Tݣ>H���D*}jZ�L錔���)F2h��`[�@ǥ ,9�B��3�P+EP����:9T5D��f�/#�y(ֿ]�w�%�O+��j���K\��/�]������;'���3�R�����;+h�L�v�}��C�y�
I��z�8�HI���.�ᱝ�
���=ƭ��@,Kʚ��N�8т��s��	5�o�ځ%֬�8����kx��/z!�vvp\�:�=O��@��e�v�b��ŗ�w�H���s��j-��n��b�APo���MM�.��NzS�9
+��F@�
+�4,�G*���SH�y����A���K�m,m�������D��Q��C8pI���΍�f��k;��9d�q�C���L��T�&� s"����PxwD�g���r�Tu��i~�5��x�N@�?˝�Yb�M3�47�i��p�ň'$�5�G�f�'�'��,\���*�0=�$�6��
D�zR)�ՉTU'����(E;H��T��aUj�]�aq������r�rQ�+��J-���40�}!^���
����������]8��.͠Mvia@�.A�P&���ƱHH@rq֦x�ELx��/t{����7�d�tyuxgH��R�B/i���Q�]�����I��0>\w�ij�$�Α�g"2jy���މ$���FjI��-{h�H/V<xy ��*�T�Sq�Ԓ��rB��#�т|92q�H��U�Q����1?h���xQ�B���'��w�Q�IT�]��!��Ćd2�ˌ���Q�1��I�\^!j�"d���H�&OO�x
+�ȥ�`�s�sF��S�(�h4E]�c�֜d��g$ӣ7�������Q	�w�s�J
�٤�{Ҡs��Af$[�ـ�
 ���UJ9TmH!�N�S���F	��c�s.:�����z5��sڹ�Ő8
�u�nI[�oj+=��ȭ*�
���S�\q1�g{B[޴Q��r�e4�'�6-!���ic��������J.QgL���k��-��,�4�.����R�&Z�$\s�ܢ��,ڏLR�h�H5E�[qI�Fı��nc��N<���&��p�t����/h��������m.�=�Ɋt�F����FԌcϖLl¸�P��è�U��Ј���Y�6a��x%Ycl2�4FN.���v�Nk���J��~Tg�ʑ�,?�Fv��H�A��*�[�xEJJ.���'�	�C�f�aҺ��$sSߺR��i���$����\|�Ը5ܫ�!}�9T ��\�m��kڶ	�,�8�ItT������X�����c��(���O��;��A��ր�bDŽ�qÞ��"����]�bs�N���*�p#}~��[���9�W4!)�z7�;fY��b�I'�����iB*;�6j�!����*.����Pw�Yr�ѓʗ��2o$�p1�/�Q�\$*��U,��b�N
h��F��,f�����1])��>#ڔe�>�9u�U'O ��&Hв�B��F,�Op�
�pl����K���F}��{ݰǍC�g�bu��j�]#�R�.���)�C��&�{����s7h�q]z?���H�ɵk�%������V����f|��#����sc]1�y<irrU��ߝIH]�$;�(��Nk�	�*���r�u&�4l�{�"�q��m�h�dH��(J�u�
�6=(W�9�@!p]�vs8���0ֱ��4�z��F0p9�����>Ԁ�re �
gf�Te;�:%�������JʢB2���ኚ*|Lg �H|�����'B����I�!�.��A%�����S���.("�쁴�"�~ĬҊ1�J��`�,<`A8ߝ2_F�����j�F/�K=Q���|�����tM0�l���H�r+�L�#�Oy�) ���+ջVxMS��X�����H�K�#�"P���� 
+��J�$��
+�(��)
2�H����-�|B�(������v*r>�ɓ$S����b���'��Z�76�=�%N�a���o��D�ʥ�[g��DO*Ҍ\�\�Y�6���G�Q��
+�d�s4Nj.Na��lt�[�@�8?JK$���f�pa���|�)?��4�H��Ñw�/�<{���	V�@���~���s��=�:�1*f��p�	^�)`�gNv�ֺ�'}�7Q%�"�>ڣo)ڶ�0MIrh"�h#r:��#.Ѥ2N��0�C	�P�~��(�.�R�)~�a� ���C�9�ͯP9U�k��5�JQʟ�*͌�s�����p嗃О�+ɧih-�!��`����:m��8r�޺i�4`�(;k��r��}��.����]�!
֢;�Wɴ�S����rEjm�3�Wm������x�2�d�4�ʸ[h�D�[D��b�@��O��rd� �K�G~%�P�:���˓,���q��r���X�cE���q�iV9���r|��-&�,�i�1�VJ
��J*ٽ¸���D�MR"�e���<���⢑���9�{2xլ�j�F��K:�T��MC`=�i��']��84���
+KȘ��u��Zh��ۏ[,q�V9Ə	��Gk���r@��zc�Ӗj5B��3����
+[X�ul%�)}�DNI��ֹޖUi���!�����;X�=�ҴA�k����ao�0��9��cwG��f)��
���e�[�6x�%�<Q�B9���Q�H�,s�K�`w�j��l�M*&ʗ8��4�f���#&tl�`:���W^���y���hҿxr�t��u���l̰Bj7�_�7Y�+�\�z�
Qd�$oBbh��\2��ӗ^!��]�1E���5Y��"�RY��H��ѱP��Hϥr攜�e����*
+Q�"@c��\��U'F�L���m�֮V��&v��]1�������E�X����ҵ�,suc�T��Þf�l�
+ n	#�jc^�G�U.^�b���.�Prk)3F�\�p��GlY��N�Էcڽ�rɑ�� m+����+��<W��Y#H��ɭ"mݫ�(�SC`?o*�zqX�'4�۱k�2�T�T�0yS�:8�4+g>c����Jb=ف�+�{*�����*Rg��Aܢ�;��kwǚ�a�Q<��sl�e��$���U����^/���3��-tV��Ç���l=( �s@ƣ9�F�
+�#�#Nz��د�K�i��H�G��@�*�0�`��΁�}�	�6v<����Hh�/��`����4j���@�HOބ�����T�@�~���;R�%Q޲6
+�񒦐�*�Ɛ��+@Q����ʽ�f�
y
���)�R"Qm���$�XN��J����u�
�$;��0~T��R���Z�'kO��4�k9��E�Lj�R�Nwoj�̤��7�	���f�#�q+Skvɏ)�/�y�!�T{Z|�pL�|_�[�wL�~GoȊ��-�G���ܬ�E�*�l�LV�ic��v4�Q��n��� tet<�NA��\���9�Ni��@�1Q�w�V���2Ƞ��`�秌幝x�R��m�m��*��Tu��1G����,Q>�[���)�C�VY�:_���i��<J	5E��8ildֹ�R�.�ZYG��n������Cg��H׫>��D���*EGIrݕ���:�S��Y?ʹ�u	K����\2	������d��?�z81�F���rFr���J�z��'�,2y�&�"�yS��;����]g���������z|?<�������"t1Hyr��Ǟ9tͳi'�nN�����km������`�ܔ�#/<t��C�a�6��O��<�N��ߣ�yvӳܥUF��y�ApC2��c͇�z:|�wN�N���m@�/<WR<�~L^)}�Y1`������^v�QRqG����R~L+��.�#f9$��Us{��c��]
+$���u�j�|K��å�mnJFOō����V->�_��:��[W,b�����p�o��9T�pI������>��Y)��f��{Y�m;^>3��@�$䟕R�ك�'��w2��e�)QPO�8�R��9���$��*�������OIo��~��a������Cw4nH�������9;�~U*(�'G��T�S�j��561���ꨑ>7skr�c����Xo��l{���%L�Ic��3"�f��0VP2p=���~��%(����zɎr�T�����y>�=}k��G�j��6]Ny�I�IQ�VC���GF��z��ўH�E�j��'Q�y�\�6��̗�эj�*�M�
��F=�R�
��Ҡ��#%�B��Npv��+\Y�><�pG//��Gay��xe�|Yq�2?z�G��Oٌ���Mz\
+�����P��pXi��^��(x�L؞D��w4s��K
Ȍ�L�r��e�Qjѝ{#xK��6�x�����@�bw��&ih���w(�1�ܜ�\�D��5r7!�mb0 ?�m��ՆY�N�?���ۛ�����O\�#v�gI����"��̻V���	4l��h�M�;�ɓ&`*��d�V�5���S�s��H�~uч�.L59^(Z��F�w��*�p�7^)���}��|!
.q�}G��s^��5<-t�-z�E�Pwc��<�dݿ�j@��`; ]N�f|�4�Y�T�Z=��7
+dzS�9�8������B�eӻj'���LD%��'9��;�����n\�!L`�_��h���901�n[R���'��9m�B=N~�[֘H,�w��Vv�i�I�sQ�E�W�R�Y��<�M2�D��͊(�F�03ٙ�@����
;
+��@>
+
+����iЬict���:/�E��C�N
+��r\�6�RdIY�e.��w�*�4b���$:�S�?2�ۨ�sCtx:4�~9����f���A��E�lQYi��N�t:��=,
]G�R�����
+�0��nF��8�rm�4�;��[�pDN����F���'���Ǩ��Y�ø�q�T$�2�9�j�ŕd_���i�	{Lp��"��]�XQK����Ù�s�z��MT�x�,n��I�E���MC�W?�q�N��ʽ��ۣeb�z:�.U�pB=#9��5M��`�Mm�r�*�8*��{�mU,������[����f7���<���hA핚c��$wF��p�ȯF:��UZ1m�O���[�g#�2n�K��rUO.��T�*kkYo��na6�2��65.ۊ�ZQ�'����F���2�--��+�=�H�z��)���bP���8�A�s㑠�y��,�*/qu=��N�H#��l�$�b��{��l�S��;�E	��s�d����̺D���ֽX�5h��K��qؤ��2�se�����N:��g����o�b3���V)Q�]���2n�w^�Ӄ��p��q��1"ĥ��T\��������&n(�K�J�D���*N��rp	8�=jT�N4M�ف=Ա��$M9b{�vyӤ
������6�:&O��cȱ�/oڙ"<Rf�Cw�!���Б�S�
�WŅ��YU!c'��yv��
��e�H,��B�����&D�1+ V:cؒy�۠��<��+�yy_L���Y�E����#	#1'P;)��\�����ߦ��?Fh�~{zW�'d
�z�'Oj�PkQ�@q΢}��em�e@��{��
+y砭�b���H�V���	`���sZ�.�d��A��2�'j�4�������`
gw�}��������J��Z+Q���m7��Ȉ>&!G��EntgQlg�}���Y}��"W2 ��^]��x��'��+��1��9Q�UW�Ma�D��ܘ��n�ig�����M#v�&�����A����\����fs��׀�pk��:�&�@�Bi��CTZ��ZeFƨ}��BCH��R�&�;�h�[7�.q���e(��Ɇ��7��N'���!>!'Y,�)����VėFu3Q�Hd��"�e��S���ȱ��^W;%����d\g�z���QG�d�����W�+H܇*�3+�M�9;gíHс<�V��G*!�J�f8��ӕ�0���/֐�č<�oS���hJ����g������%2:&�����?1@�}I#����~,�����.��"BI `�ܐ3�~�PY� v���\��'��0A���I��03|5d���:W#ꢝ���B
q����Š�R���ÿ��c�2�cB`[·rM4�E�^��T4���jD�]Y��	�b
+3�">T�[T=T��	Ш8'aJ�@xu�Ɯ��F/�m0[�=za��n�<#��r f!�l��r�?��L��O������H�.���	�4��8�ehRVPJ+�'�D�k�lsq�iс­.��	#�$*�-�`r��\X��3��_S��8�]��Wj<����Gf�:�%A�c����'�j~�e�i��a��fo�c�~����M��#ԞH<[b��&�5r��̐�8������[�ѢɏK
��^M�b	E� �WbT�d�m��μ���ƦEi$�4-JsPA��>%��o��j ZFfbMr�[�z+�tk�O�G ���?�~�����q��mh�$'Rry�KR��Jz'/��q����c�
��;���3vT��}�M����Q�Q�A]�G�廰wv���
+F�G�Vy1���xr�-��-���R�#����J!�ZB˫ɗ�t�M����<��,T`g�y��Rh�0~�!�*�x$�,C&z��޻4R���Ml[���W���Dt��07�>��Zj�?�:)l�C���"������!sYB=�M*�{8u�݉�F��kƲ�� Bf�R�n]9���{<m�������Pv�7���Q��ߓ|q�[БBҘ��<ۙ=q��*��Ԛݮn`�3���D�s���*	���mq#���JȤcى>Q�΀��[Js��>������:`[�_p�B˜d��#����!��x��'ɋU�r�����;T�\W�U�͹�y|�	l0��>���퉉
1� r�����P٤W�K��'��V���\Y���z�Y5��B	�8�fv���ԀhQ&�^��.�8����.Fq^��q�R��9�������G[h�i\dh�#8矝9�ojv�ܓ�T�&ψ��T
+���=9W�.S�����������1$��� &��t�}�%�X�G���!#b��V��̟ۄ�Mu�P&�TW�H�}i(Z��wW
��i��H���˰�?���ڴ��)�o����oV��jP���H��޶�NI%#>8&�@=�;+��§.�ڢ'���B��`�֜�JQ�5�.[���p��r�;�uE����
+#UT�:*���$R@��Qi�UEQSM5R@�T�*T�qE��2$�TΛt99ޥ>A�,���k1iln��A��?�M6-���g���|�������4��w�����i�R�qY����-H�)_�R1�A�����;t�h㕟J�$G��P#Nݤ|�����c����LC��;w���@�e�Ƹ��5���P�&).���ym�b��W���ց�PY�3�X�a…S���@m �+F�p�G2hڅ���;Ѱ{��?����a1�-�v�,�h�q�`iS���)��ڍ�ЬTt�I��	����#��b�'�Gu�%�u;z��ɗ�����b��j-�9�vT��E;�t�gĜ����׽\_R\��7Cc��P^'e�W�ҦQRTˌ�$��S�m����2��m򩅥O���otz��̚��jh�H�E�b��B@��B�=(�'gF��0rFj����ZI!$�ėP��ң��k�4�yR=
4T��>=�S���t�f�Π�I�ܾt�es���q���r5""�2��g����}Ќ�o��奖i����8�v����RqOk�0��w’Eol`�Y�.��(�i"jrc����E��4���fsYIJ�Y"�e�aԟ��\���Gj�7�I��q[�"I4,� �g�s��Qvt�䭪3�P���7E�t�Q������rY[h��{{Wn�+��<�n�my!��9���*��k�s�;<��O�+x��'}�G���k�>Y*�����aSv��j	
��YF#;���X����&�b\V(͖bҮ9����#��(�o�r�*\�o��|u�:>��y�m�^�����_�q���ыypY]\�m�+�,>6�gf)�����&R9 .�|`~�����9���M��Ejn�7U�Vm�{~]k����+��^��E[�y%ǘ��˞�#���Y�!��'vF�
�<��m���U)�mY��x��LZI����(��^��\UY|�y����[tSq�4�#BI��ǖ�Œ�w��v��-��0�=rp?:�
+�t��@7fq#���~f��[k9�i���19c�in�V�e<�Y��Tac@N��YJgV<~�����)Yێh[DY��U�&���/4�(�j02w�R��*4��;"%������%�G���B�J(֬��:ת��$��Kro�Yn!�Dp:���bU!_rq�ܚX�T?��RN�~���.O�����d���qfRS�rz\\?xa� ����4���!���l䴸�Y�UW �?CW8�c��R�6��M���l�ˌ�e�0q�Ū��8BZ�c�x��$��~B���Q�*��Yv�G�M�2|�=k�$��/�liE}UY�u&n�CeT�b�.,���RÞ��,���̇c�Y�aI�$�����Ĺ4�TP�RE$P���@٪�-"��A4�ES���zhC�-�}*A�;�v��%���;���bj�^`��������?ڻt���ty��OƶG�����5S�^��6d�K��i��s.���f�'��^Fvܱɠ�*�{PA��@E.�{�g� 4bH�*N�Μ�����!���!׹�u�G�u`���v�
+��l��#՝<�îǭ%n�x��.pÞ1�ܜ���������d�����ژ��C#`u�}(p�N��縠e`���(�{{�J)�ΰ�S�qX��č�(�/�F�㙳���I�^G.."�+i8�Tx�?Fm�T�H�m����Q�b{�{h���Z�/�D>6���R`��#����-�5��"o!
+=i�>Q��I�Qgp�1�*��L�Ǩ�Ї��+��dt��v�n���:�ʹ޴�r���F��p폈Q�{���f@O5�h�v	M�T��Fݝ�e��"����ݿ��ir�&=�QQ%�vk�j.��
+Y]5�,dA�6�Tr�B=
�k��2AE�]���5D)��EM�i�rc�@�)5a�:<�����Nvx��@s�p���em��\ǂ��j)9�Ӆ����A��,Z�h��(՛&Yc=�\��|�Gf�?ƚ��H-��YŠ6�c�l`A�W�Ʃ�3�횱˄���Z���ɕx$�g�����5AϞ���鎵���6��5��F<y����Ly��Ӑ�3��r�������CM�<Rn��[�f�"w��ؒ�&�N��j��[�N �:���f�1i��.�\ژ�鏙�����R����`EUQ������TK�,�no��g�D��g#��u9ګM)���vWt�g����-p�gǙ���oA]y%�����A|�P]����2�ɓ��I�c��C�pbt�l������r%�����/��72DI�RA�v5���N�XԞ�f���� H�:�㌥�яd@X]�[���p2{�ζ�?�V^|_,K]<R�!B������O�%?��qFQW7�;��E}�Q-�=
V�D�:��cvoqo?}1x��6�Ԏ��ץ95J���G��A.�P)Br�]�-r�:L�˥�&r/�+8�{|�M�y�Lr��8%�k���#���:�7$1���|R�4n�W>�A�n~g&��M�9��i���;��X�y__����S��u�D%m��(s��V@��j7�&��8��r����P����#h�~�$�hn���H���V�1<��3fXc��^�md�#wvݟ c�+�zx¶���SȞ�W�K��{Rq}�j����,���AP9;9�$Y'?�&�Ʒ>���H�޲yR俍�7fc�5��l�i�E��@��/���S4������6�rv�e�EZ�=�畉Y	'�5p�]ш��i�!-�ew�n/�>��쭥�+6���
���tսjZ@�s�q&q|�AD6�M���g"��"��&�*ƚ�ɦHܪ�۫>��
+�>_�:r�QV�"Ԥ��O�����u���a�]|�}�ux훷��@"�
+�0��Q$�#�'&���f21��t��B�Hn�[�O:�?��`J>וX9,��r|��Xpsӥ!�����W+2i���FW�v4b�6�i!�}�LFX6d�����P1�ϮG�� ���He��#l��#�=>����Dc�C�3o�}�6cF@@۩=��8��8���ڀ�T�Ys�y�g���=(��Nq=�tƖ=���7rL���98��d+�~
�6-)n}�Ja�4x�
+�KO#K��nK�%yX8UԷJ��)��y7���l\�V<o��֚l����6v�-���x�r�90�C]�ta��j�Qg���}ļ���3�{���z>.��F�5v�Jĝp�%��xD�҄��W���?�0�FL&�
+�La��� TN"�&)2ic���
26Ә�v�L���[�"`�`�+�@��D���lzr�Zu���Z94�*3���<Zb��WR��|oڹu#U�٥XԮN�O�p�"��\J�ynOʧ���Z��l���4+�VVS�Eu~N'wL�怢��@�ub(n)jo�EIn��0��9q|�+7�fXd�WfQ�Wg���?���j���]3��~?)��ï-0�`�:�}*,��c�ŗ����2_M!�$��ԓ΢Y'.�#���]�-�]�=�Y�$k�Ժ�3-�1r
���z�Q˻t�j卭�c�]\*B҄�y��'׵o�K9/����Z�c����m��%
�Bz�������p�u,��7�*#�#��m;����YG4�\�K�aq+�,1�	q��|�W7���=XW~��%�$��ň�lj��6x����Y�N�55��?'7�c�nˆ%�����#��ҷŅc9�jUK�[�چ��KEu����  {�9R͍��8d��Td��3x�0I��
+PFͅ$��ϗ|?w'fcȾ�����K/dd_����Q	�+��	5O��MŤ7S4�|&=�>F�yܥm[ -�Ƭ�.O��g�.�{|��M�R�c��򊐻XK8���T5�	�
���)@���l���Z�P<�aQf�PzR�i6�K�0�V�����e�2Ĭ�0'��o Y�U�dMw�X�P<��<���F�$R��+4�r�6a��5ϕ�M�YՎ��+�t��:�I�0�>u��Ԛ�P�i8��H9�O<�Y�*Zv�O1c��z
+�M��K�%^N`�Q̍H��"�����H�dΥ��w�8��b�fr��%
+O/j�K��Rv[r`�����m�awХ�(�ibI�r�}j�Zo���2�ɇ;"�|!��U���u�Hfֺzg8�m���63��ÅH<��ݷ�<�%ɜ�,i>H����۞9��pq|��J]g9���i�N�;|����RV��ϖ�Њ��Lll���J�P|O�_�[`��?�˨�Gm�oI,>�Coz��H�ܙ%99I�cK!�B�e�3�_�)JYDjX���iS\����u�"Ƭ/F����8ɠ
[e]'���@'�Zb+5��C�FX���b�	Ie*.�r=�$y���neDѐF��kɉf�A;����/��$���
+5��lB��H�ҚG����1�#�S�}'`z��'}��#�Fw���+|$b���[������\'BE���V4튑\�$QaH�y `�aE�0��]B�����	`��U);�VI;F�D�1"ƹm�jAlѽif�eQҔ�!�MVn����k?��^����4�U���z֑�J�m���1���S�M��s�w<�)Ьhۂ�*(�X���bS�{Ռé1�9#Ҋb��9��!�K������L��v��d\����/jW8���]0��"�S�Rh4a��,���2w
+%���DI8:�0P�>���_F��8���I��4�2�#
+��FzU7J�)n�#2��1�̰���>#�Մ���:��;b����kS@�"�j�]'b9�c@���HY�
+(�g�6+��� ��Ŗ�6�c��e���:�y	�J���6F\�)gɏ��"mj[X��'W�i|Q^�Y%ܘ�#��T��U�0m>��WKm1.�m�N>tJ�~��Gk�ۣJ����̹'j�"�ԟ'��.)�"��R�1;r��(ҫ#6��ћ����`�V;gڧ	>�:�g�5K�z;;h�Dh0�ڽ(�%H���Rv��x�����;�m�zWY�O�zXa������������γZ��W��/�q�[o�90>�����h枅x��@�/-oY$f�	����u#�ƦY1�i�L�xraM*k�Ѕ�)����~B�2�e�1�1f��)���|Ư���ֳޟf�>�	52����#���?�?z�s���k=���V��h؅��# nb��H�߮i�D/L�eQe#jE#{�Ⱦ��;�f��Z<�d^��[���<nU@�'q]Y"����NT�d5�O;H���8q�����+��q+�����=%�I��_�_��Io�Q��ɀ00=�$��gDT0c��F��6�������l��zV�Ƕ5(���|��K�(6%S#�Xg󬠣�"SrT�wX�pn�}
T���%9y�.ɥ�N�ڰm���S�d�l^@��=�C��y)[�#&��q��7ځ���
+K�j|.d�~�H�|j�B�t�^�U�ю"��}���Sn���{�1I,{�GGJe�p3ʥ��I
+�ɨ�AA�c.�M�*zʉJO�c�x.��G��V:���%%��b�|�C��F3�9��IZl�7]��;���M�3�T��7=�5Pm&�
+N�!8<��h{F�}�q	2��������`�ݾ�]N�8�ޒHl`��(Z�#H���%�[�ٍ<�;��5fb�JiZBv�@�b���S����K��c�ɑ�JeC&{f����p�q��w��j�s��26�=q΁
�C+*���=?ڐ1����O/_�@	x�c�fI������b�A��z�@�1�
Ԍu�m���f�Mv�S&<�z�|�Џq��9cj���r��.��1o��<�=(�����@q�9��})�o���\vMA��A$W��gƄ�1��4��@s�@�I�94�+�d�"��Hk�sw4Bg���AHֶ��b*`0bm?��������dB��*�&[
+b-�������8�p[��K��m�h�����l�������6D	�9Ф�j%��K��2w�L�7-n�E�~T�\�x�Ł�r�L���R՚B{(�Q���N4c����)(��p���&=������V3�u=1����,��*Ƹ=zxb�쯓�}��w�x�!Aο0%���V,SS�!f͉���/k=���@"\���{z�W��J���c�sk����i���#�=��H��Inc�U�
+�$r��~�X�lJ����;J�؁�Yc�����$��R�7�,ŌOR[�]�?b���9SUFpn2ܝQ���DjY�A�`go^g'�,���*==6�O�;e�^u�eP�ǔ�>U8�oV٦mb���&n
9F�v�m�#W��<�(G�m��˕_����������$c������`ʾ��~O����lV^A�l��T��x\��M�2��~L�G�?�+�K�;v?"��c0��V��(���x˻,�zU;��=Ȯ����f�1}3FˋA;�]QHy+r>ƺ1��t�L�I�_h�/l׋�iFr���v�ўi$��ȱ6������3��%8P���ι�G*���ׂxe*�lJ7 ���w��㗭s�m\��AR\��@�mqw�H�P,�*����[|s�r�'�*���\Z�L��"�%�$ڣ&7n�ǖ3]S+?���mX˒Aڳ��	v<{�nF�������RK�f;種�i�<i�8��rb�׀�)W:1&?��~����]rkd|Ka,\���+	'܎�䌺b��O�b�����󡱅	�I<�T�b����H?3N�A��	��!�w��7ddƧg��y�I�O<��R
MZ<��嵡�iq���-�;(��X�Pi���,$���!��k+���Y��G��yA�_��͎cro��	q�R�N������V�G7~</�]y!���0��ֲ�{v�R�p-C#+�3X�"� �]6�M��
"�
@��A�U��tK���>l�OS�g�m7�����#���L�ā�;��SR�u��?�'�������dvb7�åy��I��Ǐ�9�i�,y�Lb������A��M���]J���T���|�6���s@�F�i9Γ�jn�L��l�|��$���Vr��e+�]-��\��?�e�4rۏ�k�Ycvee�uC֛�ğ��I��s�pg�"[�c�|�WN\ˣ�U�X���S�Ek�T`^�Ip�
+Srv�2$��bO*f`&�"�Z@&͓@
+�L���܀��liY�v�Fr�,sHԡW�4\:��C.@SҘ
�Gŝ�R�Wo��v9�(q&����b7��c@���rF܏5��Ҁ/t�J�"ϛgڀEe�!�hR
+��##���=_ٻp�^6�_�`
�ӝP#hI�8<�z�Vi�ԟJ���20O�s�Y�yH��WzC:���KK!4�H������qQL{�N�"��(� ���v�Q�'o���WV7ձ�]rKgp�0n����&�sC��h�X��C���:��O����.�Ͳ?2F��Lt2b)��ڷ!��8��
+`@Q�`R�'J���S�Q����\n\�?*)���pնM9��c�4��h��	�Z�;H�X71��cT�c6�L�ϕQ&ݝ�����h��k�'$/���FMQ���P
+F�b��h�H22v�7!�'$�-&�r`����'�G�gf=,�����x�o(�{V�'���qY�U:h�zF7Y�?�ko$�j*�d��QNL��P��88�2���'�>7=�
cє��Ω�g�CS�p֏�R�0Ɲ_�k-�/k��`��N�g^+31���Y���4�ٞ������6�:�!ہ�@>�ч�E�#�>Ly$�Lb�	b@d�"�r<���Zc�(���,�#'�L��gG]7'�:UT7�D�j�i&��J>#h��$2�|� }
s��j���oYJ�p+q�m�eT�pi�����v����}��92�#�l<���$�*'�*՚B����������H
+RO��G]��v�}���Mؤ�������׳xto��!��"��Α��)��]y�I�lO/�Q����`�U1�7�جa��8��5zK��|�!$PpFk
+;�g�N#â�4���7Q�+���E.O	��M�y�ټ[ņٟI`Y�ܟ�rڸ[���G��7O�&�p���H��������W=*�پU��8��_�ݵ��c�'>m�
OK���'��8w�w�l�4L���4�YЁ���
v����M6�Ix���Q�%��^nI�N���hV�A=�7��gps��F5��X�*��Q�H�b�+I���J_"j�y܍����G��QK���DRq�R�k�B�Ԗɫ��3So�2ɒ�&mp�����a�>ߵwi$Ԝ�������A�ԨѤ���Q��N���m�Z��3I�Sv��3�.f�\�;��@$g���'nq�j!QTD%
�@�Q��ڧj۽y��r[{���oRX�FrN�ϵj�j��3Ksq|���8 ��.uW�7Gx9�F;捗�o/
+vq�
\x|2eς$��[#8��)�������8�>D8��5������Xyf$�4��Z�*'W@�5d��;�JƑq��p����D�@�
�M"�Nݐ��KG�+F��H˻�aK��
+q���d�So��Xڈl�w1ł�����W'm��ju
+Y7A�@�o®�����l�giN�;S$�V�
+��s@s��!x&�H��MGf��T�1G#඘��V‘4<��l)(T�[5V*�0��
$��6�h����/������P�\����
��2�I��g�>��@��Y&�:˰%�����ښAg�-a���E�
+`�9�@�.O!�Ҁ1/��c���Pv���#�֐ͧ��E�c�c�r��6=�+5o���73���j�.K����Ҋ�U��hx,���@�C�P��)7�H���y����N)�&	Q��89�������F����7ۡ������1Y�������Cʱ�f��I��q�c��Ò6F;��*�/E%�ԍ�@:�:��0�+i��u=��D��	 �u��Jv[6���D�P�h��E��&�N���M�4������ ��ޒv
��V�FMSTHx�e<��|D����x�YW����m���R��6��*pjM�O��ΐ�"o.Q�FW�C���]Cl~]�S�tm3��d��I#
+�)^�	��Ӑ3��nj�S4��٫u� {G�A��E(#玵�<���o��b��MJ�{F}������QH%��?Z�ņnJR:�����&�q;W���JT2-�W$jc�w��-�2�ݫ�-QJq�.���yd����{k�tpbkrm�<�?ku��\%�<Г��g�ʶ���ɓW(�e��2c�0�e(Rs�3�ʔ�~y%t�	��,���h��N�#��+	�C�+GV8��TČ�fK�F�������s<��듥c˺��$/"ƀ�Aӿ}��NjM�:�R�`���Q]����T�I�|%�\�'#ڠ։���}@>���7�D�j
+��p��;i޷��G;��A"��I�E��{f2֯��_�˟�M�F='�J֯� �S�ωosK��]2��[L
��fI�n��@s�޳�)�d^,����a����@O:φm&i'ռw������\I�;_����� �$s.6"�g<r���%���s��ai���nh���޳�Ҩ���AXB!��������e)=��Vg�f��#H���Wݡ�*�p��r	�q��3IËfR�n�in�DuѾ0�c~��T��%��8��w��?�_���o�ly|='��4Q�2�!���48~�na� fM d��]�>�\ջ�T$ U�����A�םr8��s�׽�<R)h�x�'HmDt��Ƥ�>���[�w�I\�eS�ҽI�����+�b�swD)��c=sʹ�͸���>w���R�m�z�S�Ѣ��ϰ���f��?Ր�㍾Y�i�9bNk�*4!W4�$(�cj����c�0@�L.q�&�ż1���}{W<��d�TL���$�H����}@iO�<�UۇO)��#ڬxW=�v���6/ ���k�NJ0\}L�?�BWw�䪚��#��h	e��4F8��'y���	2X��AR�4��ex���SF�N�۵�����pO�Bh�:EL]��b��)�4�T9;��1
�&[��ހ�#��9����#_�ՙ��a�'�a�g�R��>"���@̺�P���f\1��[q@������s�-�Yd`[�7�F����l�#XE��qO�7�s�Mc$�PI��.��_����I��䀋e�����a�:T�b�I�C������t?*"��g�����1��G��m�VhxXeX�=¢״�~T�'2s�_������N
+��Θ�}�.l"�˷OZ�)���;B�FB@�\U	��]-�O�
+9��E�-Y�ĸ��|l��O:���]��r%���vY��#|�:Ad��l'#��H72̡q�	�
'�J_���Ul2�=
C��V��%����_CV��9/B�0kC3����b��{���[jv.��^ ����c�$��7�@���2�⦍c��ѻ���_|�o�\H/�IH�dg����깕ގ������b�[�����J��S�s��س���	^H+��k�nm^��Ks�+�ᡘ1��R2��qIq��L�\$dc�e�I.o����W�1�H��_ݡ��q߯�r��s=��pL���y���f,���2n2��٦8C$>�lp��)5��Dyu�<��j�NJ\Jo��>��a�~Fn�'	ऀN�����$���g��������n���*��9�M�o�.y'�l�%�������is'��#�������۽����np[��1��$a@����UMO9�.�n�(e`w�4]��#�Ƹ%[�V��M���E�o��0=j֪^�g��Wc��7�-�ƒn
+���h�z<ܸ2A�\�[Z1��Q���'=��S,8�n�k3.8���c���ڒ<������{TKa^o�������ڹ�+���y(�8�tG�9��A���A%Ta,�eͅ����w�����J]"\���z(>�4vrj�&�v��ַx#��"9^��bǂ$"���$(����M_�薦R_W_��W�+l����|���W6l�����9J?����W���|`W$��;gn<*&t��u��R:R��}��hm�8��s��r�SO
��g��ȧ:]!�d��>HGQ���,i�5��)yFu�#���Brk�3�l;q}���dC/ݦ�-�mY��ϑ�?$x%ԅy��G��9�r��6)/f�жK6I=k7�r�Oɼp$������X$T�{6QF|��$r���h�
�*��U�a��Kb
+�P��uQ�I��`�C�5d��H�J�����[�A���
+��Y%QG6Y�;��k����Z]����K�0�\�f}s\| ��+���Ԩ�\�|�S\<�wڙ�K*s94�^IKP����7�b�͏�)6\ba����$��4hq�u�vc=�>ly��Ұ�D���"�
+'��>�Š�R��M��6IΟ���2�>	�)�zs�|zr������3����������mW��&���j�Q]��n�Ń��Hۨ��P}����\`��{PU���"Fz�~T������i�~���&�J�!�b��"�
�Tm���ٕ�8��N��I#h��6�|�S�fa��]G/�<��(B���j�K�
+��iu+�	���p1ޜT�c�/c� ��X�:$c���E��W�6���p��E�*`�ߡʺ8�;�Q}1�]���\���:U/����k��R�8�Oʝ�v�s���"���چ�4�3W����RJ9�(*U
٧�D
+�H˵h��E~0ʙ��)��m`5�Wz���� r�[�&`��m���[�=,{R��3�rW����#;U��Jc��*��2E�y���[k��V߱�v�~{�QJMt
+ku�y�d�5�����ӠJ�҈v^�[���3��a#85I������C�L�"���ֲϕAU]��t��-�I��E8�1��#pv���<��J�Q���,m����|k��E:�x����z�����'��9���|��x���q�+&�������Ԫ�M�Z����_�� ���m�Zy�i.��ܜ�,�+nA�X��s�Wv'6�!&��6��H٤䣧j��&��D'9'����B�F��G>u��N�b���(�*�YQA�0�FJ�&Q�]�l%�C��*E|~�:iK[�r����� v�c��5M�Ҷ�2�͘0,���c�����tre�8~�e<h�43E+K�.K,�<��WJ��rRo��	�9��y�gaJr]�C�C���p��#��E����ԇ-�D"��}L�X���Թ��FтM�{n��(�!�f޻ �����/q&� ӷ�)N0W&(A����x����t��ndW��S,����_O�P�]�\ʰP;�h_VMiE���1<��0�}��Fm�g6�6ȴ�=m�"%���r��^i� %�}�:{�.\�.}�8�.=W2�W,rrF��J�ݞ�8�U\\ �`�-�Tc���E� ��-A!_�3dg�k�"�.�@s�KmU[V�qCT�;S��#/��� ��$�HgC��X���+X�R|�$`�N��>����A���̏/7��/��=��;Wdb�G�<���1�א�
Q��$���@�\l)�:��"��*���1K���2���&ʊ�[��˺���*MW���b��E�J�g��r#��Ο"ఇ��=(&'i>���"A���G���@>Ǝ�l���T��[�Wl{��������ځH�Qx<*�q�P�w�bCҏ)f��t�Ƞ3a�8����
�s�Z��h��*.88��`����A\0��.0Gz�Gɢ~���� �k[ŝ�����v�rI�j�k�ʒL��MX�a}OJ�ݒ��{�lJ[� E��u+2������-ٛsv��c�FӜ�;����������vԤlEf��i�g���T����->�S����<�}Eb �b~O�Ɗ^[���Uǽ:����8�$z�!pPEN���?(+�$[��o��+�����rC������S�7K�3��j6�w���Q�l������1Z�A��x�3�M/���h��+/������>���:`������^G�>'��-�Ȭ:��~To�!����2�\�9�"���F�5FtYN(���'U,�T�SLM[�7L�
+b�J���[~Ɓ�Τq�PԚ�D?	�C��h�~J��8#;M~D„
+2ܨ���,�E*2�H�T9;j�#Iٕ5��N{���*�J�77r���ƪcV6q٩1�l��5ъ���ϖY_<�2Ib�nN�F����U�JPj�`��3��;���R��^^��=��%i�rN#�O���Vոv�+�+�p�<�&��P�K�|�����Gw�p��{��m�.�Zy1�,)Ƣ�v�^<2����5�;�7�F��,�nW�1�2�a�o"��D�.1��ږ�tP6�?��MA���$�:Mh�DД���-I�
o�<��_�@�gM9׏�4�g�'�
<v��2h�&,���Nn�U���5�l/iw�<\�F��?޳��MZ�W�R�i���v��WH�0��;�y�smE��e�g�����%�
���JM�����3��;����T�(w�@��������ͩ��Lm"��h�y�y��T���4r�M�>qo,�T�9�`�����O{����.���FP1՟z���2Zt����3�0ľ8
+p4��g�>���r<x8�U	$�43�8>`k��6��D�a4�Sc$.9,��K`w�2�mHc6�7�q�1�V��9�j1���ֶ�Q��r��º��R�G����|cT=��ڦ��F;
+�QK�ys�)�����aTf&��rƁy���YɠE
�A�e	����Aw8�e%g���k�u���H�*�'��'2�>��I�&9)��[ �?�pӝՇʎC��c���G!�9\m ��0��(���|��ʁf�:H4��������~�Q\�ϩF�᪀�P)
�s���/*��g�66���.҉��61�+&�8`:�1N��Kq(e.	�`�.-'���F=e#U�˟|T(��)�%Hb�H-�J�aIӫ��NF���ld�֒K���%W@]�����xo��J�����m���z8�h$^Đj/�:��k�v-�q� d�N���J�xe��^D��)ZJi�<����U'�5\3N10�\g�"��72�n! ��r�E?a�z.�\�ŧ�\��r~%�����[������@c��h�:~	�U���z>������'&2=���*��o�!���i骝Kؾ�����‹�E����0]�s~P�=1&������}�������v�;���vx%��@p{ds�Z&d���X�"⁖�Ԁ��W+�❓Cp�	c؝C֘���1�3�����m�
!�Ҥw
+U��=�*e%L�YA�~�%�+��'&����gl5�J�T�u7.d�A�K�~����*刪�WYY[p@���U�v7��E���K��I8�s����\�0���TE��\B
4������,rƼ�R�+�ym����\�-vuoO�byW����E���a�S�$�>OJ{QQ����ގ���el*�T���2�]���$�7=��}�y5>���!���s��B�p��P�E�~Eb�{;��N4�	��'�{�T��2��#�ŒYeR��a���)ɹH�ؔb;aj��7?A]�0���g��+��C�9��'
+���^Yў8� $O2����\Ҏ��F��i�7�?Ð��Wݎ[dzx�)#5�*kE+:PKy^��Fw�!7h��MSN3z��\�V���s=�\qK��˯Q<��k5�Wvj�c۶�-�#����F�~��i
���,��aʰ2�;CoϽa.٬z���ڔQ�3��T*#�^��2h�m�-�%b4n�63J���T�K�D����6�F ��Gaκa����O����ы�Y�`��aշ��`�<~MnY�t^KԌb0+t�7&�庒N��c��� M(
+@�'�)�������6)V��!B�v�i6RVb�Hn\3���)��n�����o֋
+'�m�tn
+*ֲ/�A�E�Tp.N� ���䮷�N����*��ˌi�	������~�>o�
�����?V#W�`UG�%�>��Q�z��#In��&9\�j���r����+�r<g��)1��r�@-���BK8�j�?-�-�����b�p�Wmp�q��Ư�*[=1������� �	���EK�\}����}fݜt���}�P7c���p�L���9���)x�t�\�V_B?���
�ٙ�/!%�q�~l~F��]��gm��;+���-l�"�W�G�8%ݙ����pz4�LA����+J���j�|��=���(��s#$��
+�ąK�7���L��pn ��.�e8����u���Oi�=C��,+�T����7ӵB[��=�(ܘT�"8�y\g�b�E��1��%�����n�W]ƒ�o���O���&@)Ӫ���V�X���6)7�
/L�;`�}��
�����€�ޤ�	B�17.��ds��"�Lɠ�����,�@�@����)����T+�O��1C�X|{����b��u�V���g<Vӌ:)���CQ�19�,.��vRk�Z8>�������p��b���^=:��k~EUCOl�0ɚ�i��鋿�'x��Kd}�O�O��~��6D>i{ ��v悥�q�5���*~(�4�D��KhӒ�V�����a0*dyP2�R�Γ�D�l�F��*6E�,�]��&�`��IS������B�GŃ�e7��8/}M�ֲR�iT���f�q����c�7h���(���ԡ-�=\YT�{�
j�Ҙ=�֨`��T"@�H):i10���F���$n�©A��2�#���^ɏ A�F���o��z�1�c��#�i���V��/,���P�V6v�:A#�޷�G�qd�e���wcj�G+�}���G尪����uh�-?jB�@��GP2	�
+3`R%wx�&X��%i6Z��;Ir�ݽ�;Sf��9ُ�:'×;B��g�ԸT�:G�XO6�ڀ$\���h��|�Gʊ'Ķ<��;�;7�4V��E�3jvw�Ͽ�#�s�a�
+�O&H�j�D��l��@�
+>v���dld���LGJ��@���w
+�s89��	�|'�4�2�ڟ�nb_����&�"���G�n��v?����r~Q���1��ڍ��n^�h�M��7��H.$�é�p�;��~���՜'��x��(�S��Q��Cڽ��,f`���,���c4�/#����s{k&�{1��N��=Ѫ'l��������\DOM#'�5;`��4X��(�#0͝�����bq���Mk�o��#?!Kl����<=��Mٰ���S���iEeQ��CNI��J��){4�o���e����q�X�ؾ�x���;�쭲(��+��?�@i�X-�dlc��F�A~ʘm���3E�9&u'*Gs��X�ȩ7
+[
�$o�-�Щx`�K`�Ht�a�����E%%�,�	�X�C�J�;���23�æj���\����)�c��0���Jd�S��D�E���"��"�$9�E��XPd�e���0��9������R�w�vo�\Ks�R�%bnF����T�j(����4����MSE�����QE)ġV�iQjK�F�Ii�,H�j��m!
f٪�b�;���L��L"�
o+)ʒ
q����}�j���������<���k&&��h�~BK�!�Є�y��o��ri�N/�b�c+|11�Hb���c���p�����J��cz�+�a��[� ��h�e��_�1.������h���0��?He8%�c�K{��i�s���G�d����gڵ�(Ǥs�U�]��xSeQWFm�U�،"�&�%~g�
����5����JA`f=h2�����GP2(P������� �e�ҥ�EfK9��;e�zE�P;�C/�?�����c�c�*VXz��
T|���9�h
+�� *Tnq�SSk�-����QaDxRO�ޝ�����
.�ڦ̀���{���Ep�����?'��(����fޓ��
����ĒH�@D�i׶�g�1#Z�Gjb6=������;���6_���u�4�+��su_��>�u�?,�K��?%<	�q1��*�ڝ���!�'��6��-�h�u���vr����)�V`��2��GL���v�ʰ��+��H���a�01��QarE�ɐ*?�r��ҍ����%Z+��?���6?b޽��h�`y���b�H.,"]̟�8���K��/�S��ƿ�@�c�t�j�%?�����*1����R�}�et�������z>�Ao�i�&'�����>
+�/$4S��!#���6��g7�I��������[�_�yŧ��p���tYG�ռ��9���R����d�#rM����c���]8%����yB�တ�� �ۑ��)�C��0@pv�i�*��a�GjdP`��4�.�RၠgLEN��Fh��"CL(���b.&��`n��X���w����Lvo�q@XU�����ZAa��Je���p($\�zQC����=)P���XOAF�?�^�2@?��嗳�hG (���야D�hPK�<��q�Z6�|���P)�A��7��R�A�c�S�YSs!���m@'?�Kļ�?:�]¼�h&��U��$n��,JǮh]D�(���٠Dj�eR��:Ƥ��zҲ�2.��HJŕ^�M#E	�'��TU�	����*8.y��@��;I�)��@���tHm�I���g�o��3��04���v���"5�vl�j�HgR0Oր8��h��yf�.���������E����q[3$z%�i�� �M���h9����;P��C̙�:C+�A(`N:���S�Z�5��@a��Ƚ���p���aS�����2��n�5�v� ��E �bp|����,��ӡYŦNl�����(��Y�9Γ�~��C�Z|�$�7@3��E��WE�1�p=@�l)6�m�S�H�E����>G�F�T�?�ae*��%�#���4��%��?�`lth���
߃��2�������O,��H��r?cG!�C5��H]s؏��߱����L��7��/��>J}���!��?����l���G�I�w��mC���)��J���?J6��@�U?Ɖ������#���w���#��R��)z���푱̎��5&ŵ{�\��D�ʝ��)� �8’$%�cq��{An$d��ds�=��x�O
�T
+��4$' �ܕ:_o�Q42��9��
+�P�'P4�b:�����E#����Hb("C@�`[ŠD��h�,'=��yo�	-ހ'�Mހ8]7z��vǭ�Gލ�O�M�Gލ�q�4X��2>��Xo_�T�H�
+��&��h�4�PP�v(���Df�ʖ�
+3�(B\A"ʯ��
+�-D˚�9����R-pSn�JO�{���s�:t�
+'�;v;
+,(�{zR�� ���H獇�N��qE���E*;X��(]@�@ӱQ�o�FGC�Pm���ߦԆX���X�[�;�3N<�|#���v�(袴3F� �
+��3���t��A��94�}�Y��^t�x|��h�\��0��2����65ٶ����d��S�H��i�)I��5n�.͔8QG�>���O�������vH��Ȋ�1uɛ��5�.�������ஶ���o&�L�Bբ��N"Xi�Տ�[���A�'���x�O�i|�?�ͫH��nR(��و��b�R�̜k�7��h]�ITn����mOr
�b����O��v��i)����K�]/�s��{f>�4�
+�t���P��$��‡��c������T'�7���uꬠ�s�E��#ydc%��
+*D��̎D��ip>E�ꚲs�6�QH-��j�.�#?�-�jM�p�ܐ9eU�z6�c��LDjL�������X�D��`c���M2�{%�ND�z�@�Y���(?�����<��c���P�� �=�)m�=��:�ra�`5T��k�m��A�r�WC�&G�(�\
Gt�q�d����U�4p��T���#�L	Ȥ"
0"�i��٠D�Pf�;4�4�vM�v�@��h���F��
;4٠	��	�	��	�����@M�T�B��
!i��b�n�ԹQq��7W�2��`���f�hP9�|���9,'La�؊(,��d�W��Lv���ǽ ,�r�j\��N��ڀ';���s��AdglE����:��o�ڊ*\�&��ʒ1��N��tPY��Ί�A�td�@X���P�xv� w�gj�vL�>�n�}���:q@��}��AZ�NX�9�1�ހ)�Ę�Imo��[(��񏠤U ��%#*�՘~��툒�<��:]�+�Ƿ��i�B^�p2����G��Vpq��0ɂF]�/A����;�M�U�,x�p\{�t����%��K�K.�{�2\��2�"���Y?o��YQ�%H;���Y���1�'H���2�ds�5̦b�Q��5��hX��B�!m�Jn��xb�i��,�2d�8�ӌ$�D9��	�v$�B���$}i�;�J_�ӺIp���N?Z�!�A��1����iQU���!⏀�������X����/���f��[+����Q�GȾ)���̎�ʪ5��5jp�-��[�^�c"�[��q}0�/%h�H�v������ʧ1����rh��r�W�H�@�J�d4>)�H�I�������R�@�JȐ���r�F�b1�L��0���w���h�g �-hM��"�� K��h�b�'d���0�����b��)5����'�L-u�va�@�<�֊ah�O,CI*�t�*��T�|g��T2�cjK��p���T��49�Gf�LTu�u0"�@@@@((�@@@@@@@��gP#�"�:��@��٠
+��,(� h
+�� G��rH�����#t^�dҴ���B���1�`�t��DlR�.$�!�/���e�BF�o�N�=̆���O~Tsᅯ(���?	+�F�;���}շ	0>�(��~H0N?�m�أr
+gi�Q���Nh��
+���R��H��^�d��ۆ?1Fв��@��ҡ�ڔ����������mN�G�1��ޝ�_ҋ��@���L	Q��
5�(��TQ2��L�!����+����Wq��9�nT���ĞTL�"�1^��%�;*K*n/T�����b�C����7P�x�1&��H�gz��*n#wĥ���1��S����QW�v�F���o��fb3����3�ժ�lv ����l����@����DE��v:��ne�;r._���ߗn��(�|>�?�!e��1�4vW+�{N{q+Cim*�Ө
�=�%�o�>�
+�-��0�m��1P6�]%|K��+��@�cJ�	7	YHpOF{�I���
+C܎�3Fq�Q�z���g>r�IU����C�/e�:;yfP7�
���<hjl���e(����ʿ]�>$W���o�F���q��]�R�W¾�i8{:��2�ߥO��L*�>�?ųh�|2?j6d]1�cd,ֈ|���\ѻ2
��a1,;�{55�k�/�>
+��V>��z�V�7�~?��[�p.�m�>��E�c�p��r`}���� m;����B���*�<1rR�=@�ԒA��'Q�K(��)��YY�&]]�(oڐ�ʇ��B"#���.(]��U��c�N�ET�E�����:������ځP�s��@PU�=hA ��E�SuP"r(٦j�Gf�$PPf�$���(���������1@wڀ$r�S�@��#U�v�C����@P9.F�
+,*�f⑮�jW�br���+'�E��F �d
�S�
���J��@��ZaL��E����:T��&��2D䂍�7"�m��?㕣��>�`����
��.AH��@������-����A�N�@�2[M=߁m+�M�!W���Or3�1�QH���	�����w�ߵ�
⃰�}�����6���)W���9��es�%�>}��h��⯦sBl)-����U�Ɲ�B����
+v��(�ʑ:g1�:�9��
+d1��_�)�B,$6*h������i�3������6�%��l��i��해��.4��el�h��/��!'��/.�sҀ�J`(-�#��T�8˯���K$Iă��$�\>��Zhx���Al���'4r�"��h �8�y��@�r�8�s�`S�lFnmlq1�.X�~t��߀�&�o�r^x��x���=}EM5�۵@�����Hm�U� u0VPI�ː��O�"?�� 3�"u��l}T��\Xٵ˶���Q��}zt�V'F�p�cB<5by�i�1Ch�Vӕ$��;
+VU���ʻ�JN�X��/�X�ulH؂��"���t2X�et+`��EJ2g��o�(�1ɜ9`;���]T�vh�?�:u��J������<�IV'a��ފ	�)�	J5�>W�;PXY�ﱩ�G��]'o���Bt �h��NdU����.����#�K�~iy�pv�/�цZ[�������1qX��"c���M!�"Å\��-d^�JE-�7K�LJ� �|�O0���6 ��=������'�4m~�z�/ ��l�G,�-?��.��d�b�p?#�NRQ;�S�V�lg�����T����)��i�S�ʿ��ж�0ʇQ����ԓ
+dx�'4ji�h�^/&���K�<�����\I�@��"CPHjD��	՚`N�@H4��i9��0;49�GPf�;4���@�� ���W_��AZ,(���8:V4�$�
��@�Y�Q�G��.J�.D����4Xx��ϳR��,c攨vp��8+��֝1Z.��)\t R���._�"����>}�_��>X�v����W$�r	n��DF?������pw�+��?Zkw�q覻o�Ҧ?��S�y(C���������s�J�v$��h��s��!|މ(4��C�G���)�j���`-���y�������ɵ����dddhl�O����>@��pCE'%�O����B���&����ޝ��q��)6�JV��?E<P>-J}A�Vf�1�E�Z5ou�!�'LX���9�ϱ�O����S�
Ã�}��D.Ėߙ����zLf��@�I�E$\dP����rF3@��$��xؐ)�؂܌����˴]m�62��a�'�h�85�*tGm��:����R�:^"��J��I��`9��*i��J퍇Jd�4��N`s̀8������cI��@V8,p�����o�h�����I��q�ܑ���z�+�$�c$�<��H���s��{�H�����a4q��U*N27����Kn!5�����v�F�~�]�Ƌq)�Z���D����P��1����QD�5�(����*[f�K�.8��M<�;ʚ���r�򧴇+|pH��$ȸ��
+��h�)rSr�2����Z$-�¸���*��tQ��B�MH�1��q�8پ!sb�}��G�=�i�Ug�u�B�j\���8��H��E�F�A'�q�[�A��d��j�IV)䀇M;o��7�s��zb(�Dt�$g��54X�Z�KӜ퐸�w��cNQF�ʃ�Qw���U���D_��"㳝���[�Es{���n@ �q"�{�W+%�lnuj��
���F�Gî���E4������?�9�_/�)���1��������?੡�Dk�ʌ�^Bs�d�?JN?�������E�#����z��cq���\��4��{�I8o��L��Z]MW���V�����ˎ�3�S���,��2�����Q��$\(� >��J^P8����5$K�av���U�L*\#ra@�	A�@Qa �L	
+N�@P��88�D���~��%�w��@�@�z��\(�@�ұ���y�(����[�$����	[��O��qt��G����ŠC�\��
+��R��1s]>�酢�gp�>��#అ�����Z,�H�"b9`��aE��؟Q�K��,K����Њ`v�s�������f3�L��5�?:\���YH�q˖�oK����Y.I��p���im����A{�0�P�ѵ
+�R�F^�b������F_dPz�+N��<��ސ��W��PY��� ���z{W�[,&>ЌR�d�D�eǢ����8�N '�����(�"�?�ԟ������Q��s܍�b�^��ʒ��r3�
+��J�"�������$�U�>QQ�+��b?CE?b�����*���E��t�yg��?CE�C�{��h��O3����|�)w4��`*�@�dP|ǝ�7�M�\� �|��]��Y����$P�SY��Wۋ�i;�'����|(�$m$�6m �~��&�^ʱK$,��p� 9�h~	�]
Ks�����GzL�c�N���NI f��"��,��q-ʏ�&p{}2)]��
+F�^��-������ء9$
E���",��h�ĒɝY=NI�s~KXײ�6��Y"�,��
+�t�~��U4c+L<Vb�3d�fa�{�ΓCR��rE��Q���8���#��EY�m!�����z�m�Ը��^-����C��܋s���L.�@f��Z��G�	@v�S��j�Y]���/BM4�؟�k�xd_(8#���΋�	/"#���-
+�܊���D�'f����N���$][9 Mpzl�z8�*~�Ikne,gӶpc��ʚ�@���}�F�o�#?���SEm8�?�|x'� $���3�1��b��{H����׵A�!b�>��Ȧ�Ͷ��L��s��=�`�	<x�OfO�5�E��b`�<�������V��O���ß����i.�i6���c��ޏ��>��Xƒ���6�o��^ʉ�d���'�������5(9� ѹ��������L:,�t᱌l�8������;�q@��z��YD�4�����s1�I�E;!���OP
�SZ��"|�F�;gx�,�ٖ��=̑,�t?�B���pN>ƍ�V������Ã�a�#�Q��./���R��R/,��+cڋ�;j��|w�v��7�üiO-?#F��8�`�o��z��c|7��t� ��3_j~�V���3�
�?#G�Q�C��r���e�Ds��|��r>	��"P��Q�pw����Do�(��L���؃JŽ�2M��8I- ��F۟Z8'���k?<~��C�Z�?z9"��d#=�z���@� ��c��2���B?���.�Hǽ(��[:���4PY$B����Hb#��W�~�:O���ܟڐ�!4m�\~�p25H���|��rG���8�<蠳���`cjp\�8�hV����,(�����(�ˠ�?�T�������A�������.}y����YUGY�S�������aH����"�Prqy��?�R���P�ь��H��U�E��c�s����bu��� ,Ӱ��4�g~�o�1@�\f�3.�h?2����r64�'v��ϭ!��E�.���䐄/�<�M7F��7�|���������I�@�E���GLT�����ݣ�����6
+$.����6#<�p>A�bA�
+��HXu`��7�V�t���ܖ�I"�
+Mj�6����Rn얓�n���I"2�I��Fq�`�2�q"Dp��=3��dJIq��:aoj���G!R�F�����7Sn��Aj�0��~#n}�Q�
�/'��Ln��6'Pǽ'�o��w=^1
�?uYZLyA\�}O*����\�"pb
+��
A�����1�L��غ�(-nj� b�0��_ʖ���M�J��3��[Z�$K��&�ʑ؟�N�@�
+��l�:�����/
���k;�F<��BM�Aϒ�٤BNz~�Z��0M�#
+;k������U�34x��/����T
+G$����!��PI��a߂ZYDZGݤQ�ei��QR���^�������;�V��I_
+H�1��A�o���sK`�y�I������O
+՗	p�O _nA��xAE��<‘�UY4t��F�g�*r����R�C�F7ž:�b��ئ��\E'������s�~G�(�QQe��$H��mO�b���!�	���s@pVI��pq�I��C�N4�f���8A�=��0�u!򃞴�TW@=A�*$��O�#XQC?SLzJ7��Ž��p
+�E��BG����*T�!�.f���������0�ʕ&�ye(�"���%q��P�2ys�`ޜ�lC�˭ԋ�W�v5?����@��} �8�4�1���|����.2�R��.�JDï�K��j����l���/��5R]2�/�u��}���T��_��qeO�|蜏p
5���|(��{�~�_�^Q?����|�����T�b��q��0a��0z��ȶM�x���|���N/�*��E�����b*��&�����.w݁����e`1"�BE‘Sl�|����p��!�F���H?�����&	`7�S�>����܏�@��cuq��ށ�I���#|ր;�$
+�{�����:��;�#gvjTJ�a���q�(-# ���;��8%VPs�_�4p�3H��z�Nر�"�<}H�j6 ��/n������_����F�(�uE1Z'�B<������)����`��_��@��=S���6�}����	����Fi�\`i�r&�>��T%�J��q[�(H@�J��θo1������}H0i�^�50�1��f��X�7�'Yo�s�wҪ7�n�Im{� Au:���4�d�5vM%�D��6Y�y䍫9:4���.�K��s$�4X��h��ᙑH�\sߝRW�%����&U�;r"�o�E`-�<If�5b��q�����ub�t8�.�EV�y��I�D���>YV4��Wɟ�
#�ѫ��W7]���t	&I2	Wjs�Ba��	n�+�-"������ .w$��5�d�R��j���,ʏ1�$3߻[ȡF�ß��Yʟf���p;Ie��]���E
+r}wV��/l��FB��ҭ�2R�q)�D��'������˹(F��J�e׋! 
����@��Ro"��άoH(�slF���J,{I����qKs�?$:����]hs^Ac��������8��@�.ʼnR���?�5�6Xl����i�<�kW9�#����s�	z����w���(��(���(���_1�r��M
+Id��2��ڋO�r��hg�!dm'l)
+�]w(�*zQ^�_�Xܱ9dӏ壑�Y."q�.S�K��8�H�6�j��qJב�.pFW�O�)�b�.�I�i�Ae��,��(� ?�zn)� Oo	;�Ϧh����x�8��2��<�J�ρ�I9��j}6����%]�(톪$���䃁���Q��u�7�ȩ�<�g�QaGb>`�4�)����n�4Ò�#R{��4.�$��
+��H*���9�aJ�GxG�ǽ���B��f��1�;'id��V�us6�Qlt��|2&��ʂW>����j��x�8����R��Amyn[,"yq�����j�z)Ja>��xچ7��/�I�[�y��g?�j�>�g�f;و�x��P?P*��)f�N%>4Ri9�ǽ'���h�~"b��F�3�:m���")e�(old�x` �*-�W��2>0���TlU,�8A�ndvK�����yyF�S�;#^�I��V�'���3��o����?��2�݀5 ��c���l�Il��YGp*�>�5^
+,Jr�����N��)$
+�jP	�c��G!�Q(�X�� q,0U����I\�}�L,��n[~`�tH��7ȥaAV)������o��~Ů���<�ᏒI��=�)��8#W�4�!�E��A���L\�u6�Xr�&�ZT�עJ�y�����TS�������P��q�"��2�R
���u����Ӡ��B�u�5�ETW$��}
+��(�Y�P(��������2�@7>Rw�dZ��f�F�#Qހ��+�^��=�HC8Ǚ��]�K��\R�_�]�ю+�|G,�.�mʅ��Z4�YF�P��T���pL��k�^�q�����R�j���ٛ��C�$�iшr���Oֈ �f�|䌾GlU>:!r��<�
+Z-(~��&ݳV�I�� �q.�zm�ih���!���1v���Z9"����u>>�d�r��6��uɯb������8�"M��v�cFu��<�\FCG+�����|$��D��x@V�ک6����A"V2�����U��?}1Y}�14���u0ߟ֥N�h��~Xye'�;AȬ����~C�Q�(	��A�	��?Z,(�ؘ��3�������TI)=Ā~��?�>$q��'���Z�
+���[�>���?�1��Pױ�̭�%N~��D{��7q�X>��ڧ���޼��ŝ�C�<���Kl�L.�A�mNI���Snh[`���%O,�@��s~P�zd4jrcu'`�K|P�H�ϤPOp*�O�KO����CxyϭiL�Д��i����^��Kp�F��F���4**mЩG�
+{�o�Mf��1_@���*~���������5~Id�U"3���:^ß@�K��q���"����e����SD���uq�ϡ�I(ܔҿaD�1�o��E��T�3��8|�+����c*���S�*@�Q��)��8�4�t�Ҥ��RlJ��FƊ����� npq�t�����@d$w�s]�ڟL⫎K�|UnL�h�SPN]sT L���Ҡ���ϗ'ڎ�/3H�Վ����j-��A�XH���Bs�|"�(Y����j�$��-�����	x��p�ӥ+c���r�7��~�'�g�<���䆠�Ȇ���)�������?�x;ݪ�$h�p��_�>��2n2�:��<G���mG�D�2Kf�䴕_9�A�j)z�e�K��nao���3I�/�ԥ�b5�a���_��r2��'�Y&Gt�C�-}����0�/Ax�1U1H}���|+���"Y���z���2tj�xa�Ŕ7p�S��y�6My��b��$<.�s�*h.,$M�X�u�֕�xE����������_$�b�
�u��9��O�b؈��H��\`�4�_��?�6�+i3��oGȃc)�+�c������[dI��������i��H��v�
�?���u\�����G��D)�Al�pOı���
+6�ndC�8�~T���8��ƚ_������|��������ZBɕQ�h�=��- ��	�m��RF�h�/�2��K�W�3 ��\}hR6��`̧�3�eF�	�W9�3�Khn��j��J����е�;�L��e�g����	\�B��w$�5����wb6�~�<�'��N@��q�SuI���au��w�Ei�̛K��.!vmd�#�y�L�T����wt��Sr-`�/=�b	r@L��t��N1�ɔ���\��O�^t�+�g��N�+�c> c��2�5�M:g���T�A �	��L����2��o�
+�%�6���JI�8�����K��Ui$�0��Y9�'ޮ6�$ʼ���g1�`��*y�j8�#�4� �vc��:[Sm��S�x%�l�-'�J�7s�l��-�8ͻjR}��]x�'�Z[nE��$g]C�-Q_�S�C�"�sEm(`��B�=�M�iF���Eh�����+%�`�稪���|������ùބ����N<0N��0@$�n��€v��,p��_P��j�-�)�!�R���m���&�p���5�R���/� ,bp{>?#Q�It�ޟd��p�}J[r!�[Yq��>��֖��l� �=t�4�V'��7���YbN�sD�pi�L[Z)��qT"�1R���rF�9������0ǩ�Ag\�?*c D�>�x'*W��lH[�ɚ-z
+d�F۸��rpI���=(ڽ����g����O�D��:����SW�T�/rv��aG
$�#b�B�\,%|�o�)��E1�'J�`ģ9�i�"@4��?�%E�B�#�T�<�+E&�]Π`.:����6��m���l�����:�z��@�p}9Ѐ#��v�4^5�7»�Ha��H$r��k�U�i�����N�=�b�F�K+���ʡ�O���-db�&���l��4�G�E�}���Ծ��h���{8y\���X���H��ۥ;Q��-�>f�"�nT���aE��y��h�:��%��R0�'PA�b���K2)����4�^'�f��q��G�I�:Cĸ\��|cleX�R��h��/��H恿�e���-0�/',6N��
+c��i8�
+L$VrJ���V�V�-���Y��6ˑ�H��p����A���)R2B���Q�z�kɑ�m.�0 �����@���}2DSn��6J��$�l�8�H��~��h.%Lv�
��un�
+EM�ц;Ц��j!``r��rޫ�l4��=���v�[BV��q��/�-��:0t���ʴ��5����ր�}�3@
+N����
\ No newline at end of file
diff --git a/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/media/image.csv b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/media/image.csv
index 1aa163db92..778f252c24 100644
--- a/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/media/image.csv
+++ b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/media/image.csv
@@ -19,3 +19,4 @@ id,title,image,alt,author
 18,Mouth watering vegetarian pasta bake with rich tomato sauce and cheese toppings,veggie-pasta-bake-hero-umami.jpg,Mouth watering vegetarian pasta bake with rich tomato sauce and cheese toppings,Umami
 19,3 issue bundle of the Umami food magazine,umami-bundle.png,3 issue bundle of the Umami food magazine,Umami
 20,(Hero) Vegan chocolate and nut brownies,vegan-brownies-hero-umami.jpg,"A stack of chocolate and pecan brownies, sprinkled with pecan crumbs and crushed walnut, fresh out of the oven",Umami
+21,Borscht with pork ribs,borscht-with-pork-ribs-umami.jpg,"Traditional Ukrainian soup with beets, tomatoes, and pork ribs",Umami
diff --git a/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/node/recipe.csv b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/node/recipe.csv
index 68378bc608..40be77ae29 100644
--- a/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/node/recipe.csv
+++ b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/node/recipe.csv
@@ -8,3 +8,4 @@ id,title,image_reference,summary,author,recipe_category,preparation_time,cooking
 7,Thai green curry,7,A quick and easy version of the classic Thai green curry. Perfect for a midweek meal!,Umami,3,10,15,25,,"400g coconut milk, 400g chicken or tofu, 1 tbsp Thai green curry paste, 1 garlic clove, 2 tsp fish sauce, 400g mushrooms, 200g green beans, Fresh coriander leaves, Jasmine rice",thai-green-curry-umami.html,4,,recipes/thai-green-curry
 8,Crema catalana,8,Enjoy this sweet recipe for one of the oldest desserts in Europe. It requires very few ingredients!,Umami,2,10,20,30,,"1l milk, 200g sugar, 6 egg yolks, 30g cornstarch, 1 cinnamon stick, 1 piece lemon peel",crema-catalana-umami.html,8,"13,28",recipes/crema-catalana
 9,Fiery chili sauce,9,A rich and fiery chili sauce. Take care when handling chili peppers. And serve sparingly!,Umami,1,10,50,60,easy,"2 red onions, 1 lemon, 2 limes, 250ml malt vinegar, 7 garlic cloves, 1 green bell pepper, 1 red bell pepper, 800g cherry tomatoes, 30 mixed chilies, Olive oil, 1 tbsp ground black pepper, 1 tbsp brown sugar",chili-sauce-umami.html,60,28,recipes/fiery-chili-sauce
+10,Borscht with pork ribs,21,"Every Ukrainian family has a modification; with beans, without cabbage, etc. They are all valid though, there’s no unified ‘correct’ recipe. The one you are about to read and cook is borscht with pork ribs. You’ll appreciate its taste and flavor. You’ll connect and feel a true Ukrainian soul while savoring!",Umami,3,30,60,90,medium,"400-500g pork ribs,2 beets,2 tomatoes,¼ celery root,¼ cabbage,3-4 medium potatoes,1 carrot,1 onion,1-2 smoked pears,2 bay leaves,3 allspice berries,1 bulb garlic,1 bell pepper,200ml tomato juice,30g butter,2 tbsp tomato paste,3l water,Sour cream,1 can beans (optional),Salt to taste",borscht-with-pork-ribs-umami.html,8,25,recipes/borscht-with-pork-ribs
diff --git a/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/recipe_instructions/borscht-with-pork-ribs-umami.html b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/recipe_instructions/borscht-with-pork-ribs-umami.html
new file mode 100644
index 0000000000..87d305345f
--- /dev/null
+++ b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/en/recipe_instructions/borscht-with-pork-ribs-umami.html
@@ -0,0 +1,12 @@
+<ol>
+  <li>Preheat the oven to 400°F/200°C. Put pork ribs on the baking dish and bake them for 30 minutes. Wash but don’t peel the celery root. Dice the carrot.</li>
+  <li>Put the baked pork ribs in a pot and add 3 liters of water. Chop the celery root and carrot and add them to the pot, along with half the unpeeled onion. Bring the pot to the boil and simmer for 30 minutes.</li>
+  <li>The heart of the borscht is sautéed vegetables. Dice the bell pepper, tomatoes, and remainder of the onion. Place the butter in a saucepan and add the vegetables. Cook them over a moderate heat until soft. Add the tomato paste, reduce the heat, and simmer for 5-7 minutes. Grate a beet, add it to the saucepan, and stew for a further 3-4 minutes.</li>
+  <li>Cut a garlic bulb in a half and add it to the pot. Shred the cabbage and put it aside.</li>
+  <li>Take the second beet and squeeze all the juice out. If you don’t have a juice squeezer, you can grate a beet and pass it through the sieve. Add the juice together with the allspice, bay leaves, and several pinches of salt to taste.</li>
+  <li>Optionally add the canned beans.</li>
+  <li>Add the smoked pears to the pot. They will make your dish smell smoky.</li>
+  <li>Add the shredded cabbage and cook for a further 5  minutes.</li>
+  <li>Take the borscht off the heat and let it stand for 30 minutes.</li>
+</ol>
+<p>Serve the borscht with a spoon of sour cream and chopped dill. Put the leftover borscht in the fridge, and remember that it tastes better the next day!</p>
diff --git a/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/media/image.csv b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/media/image.csv
index 6933520a82..995cda5025 100644
--- a/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/media/image.csv
+++ b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/media/image.csv
@@ -19,3 +19,4 @@ id,title,image,alt,author
 18,Pasta vegetariana al horno con una rica salsa de tomate cubierta de queso que hará que se te haga la boca agua.,veggie-pasta-bake-hero-umami.jpg,Pasta vegetariana al horno con una rica salsa de tomate cubierta de queso que hará que se te haga la boca agua.,Umami
 19,Paquete de 3 ediciones de la revista de comida Umami,umami-bundle.png,Paquete de 3 ediciones de la revista de comida Umami,Umami
 20,(Hero) Bizcochos veganos de chocolate y nueces,vegan-brownies-hero-umami.jpg,"Una pila de brownies de chocolate y nuez, rociados con migas de nuez y nuez triturada, recién sacados del horno",Umami
+21,Borscht con costillas de cerdo,borscht-with-pork-ribs-umami.jpg,"Sopa tradicional ucraniana de remolacha, tomates y costillas de cerdo",Umami
diff --git a/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/node/recipe.csv b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/node/recipe.csv
index d9f2fa65cc..baadfac1d3 100644
--- a/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/node/recipe.csv
+++ b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/node/recipe.csv
@@ -8,3 +8,4 @@ id,title,image_reference,summary,author,recipe_category,preparation_time,cooking
 7,Curry verde tailandés,7,Una versión rápida y fácil del clásico curry verde tailandés. ¡Perfecto para una comida entre semana!,Umami,3,10,15,25,,"400g de leche de coco, 400g de pollo o tofu, 15g de pasta de curry verde tailandés, 1 diente de ajo, 10g de salsa de pescado, 400g de champiñones, 200g de judías verdes, Hojas de cilantro fresco, Arroz jazmín",thai-green-curry-umami.html,4,,recipes/curry-verde-tailandes
 8,Crema catalana,8,Disfruta de esta dulce receta de uno de los postres más antiguos de Europa. ¡Requiere muy pocos ingredientes!,Umami,2,10,20,30,,"1l de Leche, 200g de azúcar, 6 yemas de huevo, 30g de Maizena, 1 rama de canela, 1 La piel de un limón",crema-catalana-umami.html,8,"13,28",recipes/crema-catalana
 9,Salsa de chile ardiente,9,Una rica y ardiente salsa de chile. Tenga cuidado al manejar chiles. ¡Y servir con moderación!,Umami,1,10,50,60,easy,"2 cebollas rojas, 1 limón, 2 limas, 250ml vinagre de malta, 7 dientes de ajo, 1 pimiento verde, 1 pimiento rojo, 800g tomates cherry, 30 chiles mezclados, Aceite de oliva, 1 cucharada pimienta negra molida, 1 cucharada azúcar morena",chili-sauce-umami.html,60,28,recipes/salsa-de-chile-ardiente
+10,Borscht con costillas de cerdo,21,"Puedo hablar de borscht todo el día. Cada familia ucraniana tiene su receta: con frijoles, sin repollo, etc. Sin embargo, todas son válidas: no existe una receta 'correcta' unificada. La receta que está a punto de leer y cocinar es borscht con costillas de cerdo. Disfrútala. ¡Este plato le hará sentir una verdadera alma ucraniana!",Umami,1,30,60,90,medium,"400-500g de costillas de cerdo, 2 remolachas, 2 tomates, ¼ de raíz de apio, ¼ de repollo, 3-4 patatas medianas, 1 zanahoria, 1 cebolla, 1-2 peras ahumadas, 2 hojas de laurel, 3 guisantes de pimienta de Jamaica, 1 cabeza de ajo, 1 pimiento morrón, 200ml de jugo de tomate, 30g de mantequilla, 2 cucharadas de pasta de tomate, 3l de agua, Crema agria, 1 lata de alubias, Sal al gusto",borscht-with-pork-ribs-umami.html,8,25,recipes/borscht-con-costillas-de-cerdo
diff --git a/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/recipe_instructions/borscht-with-pork-ribs-umami.html b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/recipe_instructions/borscht-with-pork-ribs-umami.html
new file mode 100644
index 0000000000..62fef14285
--- /dev/null
+++ b/web/core/profiles/demo_umami/modules/demo_umami_content/default_content/languages/es/recipe_instructions/borscht-with-pork-ribs-umami.html
@@ -0,0 +1,11 @@
+<ol>
+  <li>Precaliente el horno a 400°F/200°C, luego coloque las costillas de cerdo en su interior y hornéelas durante 30 min. Lave la raíz del apio, pero no la pele. Coja la zanahoria y córtela en trozos medianos.</li>
+  <li>Ponga las costillas de cerdo al horno en una olla y añada 3 litros de agua. Agregue la raíz de apio cortada y la zanahoria junto con la mitad de la cebolla sin pelar. Lleve la olla a ebullición. Después de eso, caliente a fuego medio y siga hirviendo durante 30 min.</li>
+  <li>El corazón del borscht son las verduras asadas previamente. Pique el pimiento morrón y haga lo mismo con los tomates y la cebolla. Coloque la mantequilla en una cacerola y agregue las verduras. Cocínelos a fuego moderado para ablandar los vegetales, luego agregue dos cucharadas de pasta de tomate, baje el fuego y siga guisándolos durante 5 a 7 minutos. Además, ralle una remolacha y póngala en la cacerola también y cocínelas todas juntas durante 3-4 minutos más.</li>
+  <li>Corte un diente de ajo por la mitad y agréguelo a la olla. Triture el repollo y déjelo a un lado para agregarlo más tarde.</li>
+  <li>Se necesita jugo de remolacha, así que tome la segunda remolacha y exprima todo el jugo. Si no tiene un exprimidor de jugo, puede rallar una remolacha y exprimirla a través del colador. Luego agregue el jugo junto con la pimienta de Jamaica, las hojas de laurel y varias pizcas de sal (a su gusto).</li>
+  <li>También puede agregar frijoles enlatados: es una adición opcional.</li>
+  <li>Ponga las peras ahumadas en una olla. Harán que el plato huela a humo.</li>
+  <li>Felicitaciones, nuestro borscht está casi listo. Ahora puede agregar repollo rallado y en cinco minutos puede dejar la olla a un lado del fuego. Guarde el borscht durante 30 minutos.</li>
+</ol>
+<p>Sirva el borscht junto con una cucharada de crema agria y eneldo picado. Ponga el resto del borscht en la nevera y recuerde que sabe mejor al día siguiente.</p>
diff --git a/web/core/scripts/dev/commit-code-check.sh b/web/core/scripts/dev/commit-code-check.sh
index 2b08ea1f4a..c9779a80eb 100755
--- a/web/core/scripts/dev/commit-code-check.sh
+++ b/web/core/scripts/dev/commit-code-check.sh
@@ -157,7 +157,7 @@
 # Ensure JavaScript development dependencies are installed.
 yarn check -s 2>/dev/null
 if [ "$?" -ne "0" ]; then
-  printf "Drupal's JavaScript development dependencies are not installed. Run 'yarn install' inside the core directory.\n"
+  printf "Drupal's JavaScript development dependencies are not installed or cannot be resolved. Run 'yarn install' inside the core directory, or 'yarn check -s' to list other errors.\n"
   DEPENDENCIES_NEED_INSTALLING=1;
 fi
 
@@ -286,7 +286,7 @@
   ############################################################################
   ### JAVASCRIPT FILES
   ############################################################################
-  if [[ -f "$TOP_LEVEL/$FILE" ]] && [[ $FILE =~ \.js$ ]] && [[ ! $FILE =~ ^core/tests/Drupal/Nightwatch ]] && [[ ! $FILE =~ /tests/src/Nightwatch/ ]] && [[ ! $FILE =~ ^core/assets/vendor/jquery.ui/ui ]] && [[ ! $FILE =~ ^core/modules/ckeditor5/js/ckeditor5_plugins ]]; then
+  if [[ -f "$TOP_LEVEL/$FILE" ]] && [[ $FILE =~ \.js$ ]] && [[ ! $FILE =~ ^core/tests/Drupal/Nightwatch ]] && [[ ! $FILE =~ /tests/src/Nightwatch/ ]] && [[ ! $FILE =~ ^core/modules/ckeditor5/js/ckeditor5_plugins ]]; then
     # Work out the root name of the JavaScript so we can ensure that the ES6
     # version has been compiled correctly.
     if [[ $FILE =~ \.es6\.js$ ]]; then
@@ -332,39 +332,6 @@
         STATUS=1
       fi
     fi
-  elif [[ -f "$TOP_LEVEL/$FILE" ]] && [[ $FILE =~ \.js$ ]] && [[ $FILE =~ ^core/assets/vendor/jquery.ui/ui ]]; then
-    ## Check for minified file changes.
-    if [[ $FILE =~ -min\.js$ ]]; then
-      BASENAME=${FILE%-min.js}
-      contains_element "$BASENAME.js" "${FILES[@]}"
-      HASSRC=$?
-      if [ "$HASSRC" -ne "0" ]; then
-        COMPILE_CHECK=1
-      else
-        ## Source was also changed and will be checked.
-        COMPILE_CHECK=0
-      fi
-    else
-      ## Check for source changes.
-      BASENAME=${FILE%.js}
-      COMPILE_CHECK=1
-    fi
-    if [[ "$COMPILE_CHECK" == "1" ]] && [[ -f "$TOP_LEVEL/$BASENAME.js" ]]; then
-      cd "$TOP_LEVEL/core"
-      yarn run build:jqueryui --check --file "$TOP_LEVEL/$BASENAME.js"
-      CORRECTJS=$?
-      if [ "$CORRECTJS" -ne "0" ]; then
-        # The yarn run command will write any error output.
-        STATUS=1
-      fi
-      cd $TOP_LEVEL
-    else
-      # If there is no .js source file
-      if ! [[ -f "$TOP_LEVEL/$BASENAME.js" ]]; then
-        printf "${red}FAILURE${reset} $FILE does not have a corresponding $BASENAME.js\n"
-        STATUS=1
-      fi
-    fi
   else
     # Check coding standards of Nightwatch files.
     if [[ -f "$TOP_LEVEL/$FILE" ]] && [[ $FILE =~ \.js$ ]]; then
diff --git a/web/core/scripts/js/assets/ckeditor5Files.js b/web/core/scripts/js/assets/ckeditor5Files.js
new file mode 100644
index 0000000000..422eb3e55c
--- /dev/null
+++ b/web/core/scripts/js/assets/ckeditor5Files.js
@@ -0,0 +1,65 @@
+/**
+ * @file
+ * Callback returning the list of files to copy to the assets/vendor directory.
+ */
+const glob = require('glob');
+// There are a lot of CKEditor 5 packages, generate the list dynamically.
+// Drupal-specific mapping between CKEditor 5 name and Drupal library name.
+const ckeditor5PluginMapping = {
+  'block-quote': 'blockquote',
+  essentials: 'internal',
+  'basic-styles': 'basic',
+};
+
+/**
+ * Build the list of assets to be copied based on what exists in the filesystem.
+ *
+ * @param {string} packageFolder
+ *   The path to node_modules folder.
+ *
+ * @return {DrupalLibraryAsset[]}
+ *  List of libraries and files to process.
+ */
+module.exports = (packageFolder) => {
+  const fileList = [];
+  // Get all the CKEditor 5 packages.
+  const ckeditor5Dirs = glob.sync(`{${packageFolder}/@ckeditor/ckeditor5*,${packageFolder}/ckeditor5}`);
+  for (const ckeditor5package of ckeditor5Dirs) {
+    // Add all the files in the build/ directory to the process array for
+    // copying.
+    const buildFiles = glob.sync(`${ckeditor5package}/build/**/*.js`, {
+      nodir: true,
+    });
+    if (buildFiles.length) {
+      // Clean up the path to get the original package name.
+      const pack = ckeditor5package.replace(`${packageFolder}/`, '');
+      // Use the package name to generate the plugin name. There are some
+      // exceptions that needs to be handled. Ideally remove the special cases.
+      let pluginName = pack.replace('@ckeditor/ckeditor5-', '');
+      // Target folder in the vendor/assets folder.
+      let folder = `ckeditor5/${pluginName.replace('@ckeditor/ckeditor5-', '')}`;
+      // Transform kebab-case to CamelCase.
+      let library = pluginName.replace(/-./g, (match) => match[1].toUpperCase());
+      // Special case for Drupal implementation.
+      if (ckeditor5PluginMapping.hasOwnProperty(pluginName)) {
+        library = ckeditor5PluginMapping[pluginName];
+      }
+      if (library === 'ckeditor5') {
+        folder = 'ckeditor5/ckeditor5-dll';
+      } else {
+        library = `ckeditor5.${library}`;
+      }
+      fileList.push({
+        pack,
+        library,
+        folder,
+        files: buildFiles.map((absolutePath) => ({
+          from: absolutePath.replace(`${ckeditor5package}/`, ''),
+          to: absolutePath.replace(`${ckeditor5package}/build/`, ''),
+        })),
+      });
+    }
+  }
+
+  return fileList;
+};
diff --git a/web/core/scripts/js/assets/process/jqueryui.js b/web/core/scripts/js/assets/process/jqueryui.js
new file mode 100644
index 0000000000..449bb2aa8f
--- /dev/null
+++ b/web/core/scripts/js/assets/process/jqueryui.js
@@ -0,0 +1,47 @@
+const Terser = require('terser');
+const path = require('path');
+
+/**
+ * Process jQuery UI source files.
+ *
+ * Each file being processed creates 3 files under assets/vendor/jquery.ui/:
+ *  - The original source for audit purposes, with a `.js` suffix.
+ *  - The minified version for production use, with a `-min.js` suffix.
+ *  - The source map for debugging purposes, with a `-min.js.map` suffix.
+ *
+ * @param {object} data
+ *  Object passed to the callback.
+ * @param {object} data.file
+ *  Normalized file information object.
+ * @param {string} data.file.from
+ *  Path of the file in node_modules/ directory.
+ * @param {string} data.file.to
+ *  Path of the file in core assets/vendor/ directory.
+ * @param {string} data.contents
+ *  Content of the file being processed.
+ *
+ * @return {Promise<[{filename: string, contents: string}]>}
+ *  Return a Promise that resolves into an array of file and content to create
+ *  in the assets/vendor/ directory.
+ */
+module.exports = async ({ file: { from, to }, contents }) => {
+  const filename = `${to.slice(0, -3)}-min.js`;
+  const sourcemap = `${filename}.map`;
+
+  const { code, map } = await Terser.minify(
+    { [path.basename(from)]: contents }, {
+    sourceMap: {
+      filename: path.basename(filename),
+      url: path.basename(sourcemap),
+    },
+  });
+
+  return [
+    // Original file.
+    { filename: to, contents },
+    // Minified file.
+    { filename, contents: code },
+    // Sourcemap file.
+    { filename: sourcemap, contents: map },
+  ];
+};
diff --git a/web/core/scripts/js/assets/process/map.js b/web/core/scripts/js/assets/process/map.js
new file mode 100644
index 0000000000..f6efc38a58
--- /dev/null
+++ b/web/core/scripts/js/assets/process/map.js
@@ -0,0 +1,20 @@
+/**
+ * Process map files.
+ *
+ * In the `sources` member, remove all "../" values at the start of the file
+ * names to avoid virtual files located outside of the library vendor folder.
+ *
+ * @param {object} data
+ *  Object passed to the callback.
+ * @param {string} data.contents
+ *  Content of the file being processed.
+ *
+ * @return {Promise<[{contents: string}]>}
+ *  Return a Promise that resolves into an array of file and content to create
+ *  in the assets/vendor/ directory.
+ */
+module.exports = ({ contents }) => {
+  const json = JSON.parse(contents);
+  json.sources = json.sources.map((source) => source.replace(/^(\.\.\/)+/, ''));
+  return [{ contents: JSON.stringify(json) }];
+};
diff --git a/web/core/scripts/js/ckeditor5-types-documentation.js b/web/core/scripts/js/ckeditor5-types-documentation.js
new file mode 100644
index 0000000000..7197464dce
--- /dev/null
+++ b/web/core/scripts/js/ckeditor5-types-documentation.js
@@ -0,0 +1,117 @@
+/**
+ * @file
+ *
+ * Provides the `build:ckeditor5-types` command.
+ *
+ * This command is used for generating documentation for mapping CKEditor 5
+ * types so that they can be parsed by IDEs.
+ *
+ * @internal This file is part of the core javascript build process and is only
+ * meant to be used in that context.
+ */
+
+'use strict';
+
+const glob = require('glob');
+const log = require('./log');
+const fs = require('fs');
+
+/**
+ * A list of regex used to alias CKEditor 5 types.
+ *
+ * @type {RegExp[]}
+ */
+const regexList = [
+  // Makes sure that `export default class` code can be referenced with the
+  // class name and not the module name only.
+  / * @module \b(.*)\b[\s\S]*?export default(?: class| function)? \b(\w+)\b/g,
+
+  // Pick up CKEditor 5 own aliases to alias them too.
+  / * @module \b(.*)\b[\s\S]*?@(?:typedef|interface) (?:.*~)?(\w+)/g,
+];
+
+const globOptions = {
+  // Search within the ckeditor npm namespace.
+  cwd: process.cwd() + '/node_modules/@ckeditor/',
+  absolute: true,
+};
+
+/**
+ * Template for the generated typedef comment.
+ *
+ * @param {string} file
+ *  The path to the file containing the type definition.
+ * @param {string} module
+ *  The module name as defined by the @module jsdoc comment.
+ * @param {string} name
+ *  The name of the class being exported
+ *
+ * @return {string}
+ *  The comment aliasing the module name to the specific named exports.
+ */
+function generateTypeDef(file, module, name) {
+  const cleanModule = module.replace('module:', '');
+  return `/**
+ * Declared in file @ckeditor/${file.replace(globOptions.cwd, '')}
+ *
+ * @typedef {module:${cleanModule}} module:${cleanModule}~${name}
+ */
+`;
+}
+
+
+/**
+ * Helper to get the file contents as a string.
+ *
+ * @param {string} filePath
+ *  Absolute path to the file.
+ *
+ * @return {string}
+ */
+function getFile(filePath) {
+  try {
+    return fs.readFileSync(filePath, 'utf8');
+  } catch (err) {
+    return '';
+  }
+}
+
+/**
+ * Returns a callback function.
+ *
+ * @param {string} filePath
+ *  The CKEditor 5 source file to inspect for exports or type definitions.
+ *
+ * @return {function}
+ *  The aliased typedef string.
+ *
+ * @see generateTypeDef
+ */
+function processFile(filePath) {
+  const fileData = getFile(filePath);
+  // Use a for loop to be able to return early.
+  for (const regex of regexList) {
+    // Reset the match index of the Regex to make sure we search from the
+    // beginning of the file every time.
+    regex.lastIndex = 0;
+    const m = regex.exec(fileData);
+    if (m) {
+      return generateTypeDef(filePath, m[1], m[2]);
+    }
+  }
+  return false;
+}
+
+const definitions = glob.sync('./ckeditor5*/src/**/*.+(js|jsdoc)', globOptions).map(processFile);
+// Filter definitions that do not match any regex.
+const existingDefinitions = definitions.filter((e) => !!e);
+
+// Write the file in the ckeditor module, use the JSDoc extension to make sure
+// the JSDoc extension is associated with the JavaScript file type and it
+// prevents core JavaScript lint rules to be run. Add it to the build folder to
+// prevent cspell checks on this file.
+fs.writeFile(`./modules/ckeditor5/js/build/ckeditor5.types.jsdoc`, existingDefinitions.join('\n'), () => {
+  log(`CKEditor 5 types have been generated: ${existingDefinitions.length} declarations aliased, ${definitions.length - existingDefinitions.length} files ignored`);
+});
+
+process.exitCode = 0;
diff --git a/web/core/scripts/js/jqueryui-build.js b/web/core/scripts/js/jqueryui-build.js
deleted file mode 100644
index dbdc93d9f5..0000000000
--- a/web/core/scripts/js/jqueryui-build.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * @file
- *
- * Provides the build:jqueryui command to minify *.js source files.
- *
- * Run build:jqueryui with --file to only parse a specific file.
- * @example <caption>Only process assets/vendor/jquery.ui/ui/widget.js and
- * assets/vendor/jquery.ui/ui/plugin.js</caption
- * yarn run build:jqueryui --file assets/vendor/jquery.ui/ui/widget.js --file
- * assets/vendor/jquery.ui/ui/plugin.js
- * @example <caption>Check if all files have been compiled correctly</caption>
- * yarn run build:jqueryui --check
- *
- * @internal This file is part of the core javascript build process and is only
- * meant to be used in that context.
- */
-
-'use strict';
-
-const glob = require('glob');
-const argv = require('minimist')(process.argv.slice(2));
-const check = require('./jqueryui-check');
-const minify = require('./jqueryui-terser');
-const log = require('./log');
-
-// Match only on jQuery UI .js files.
-const fileMatch = './assets/vendor/jquery.ui/**/!(*-min).js';
-const processFiles = (error, filePaths) => {
-  if (error) {
-    process.exitCode = 1;
-  }
-  // Process all the found files.
-  let callback = minify;
-  if (argv.check) {
-    callback = check;
-  }
-  filePaths.forEach(callback);
-};
-
-if (argv.file) {
-  processFiles(null, [].concat(argv.file));
-}
-else {
-  glob(fileMatch, {}, processFiles);
-}
-process.exitCode = 0;
diff --git a/web/core/scripts/js/jqueryui-check.js b/web/core/scripts/js/jqueryui-check.js
deleted file mode 100644
index 3b7c97cc55..0000000000
--- a/web/core/scripts/js/jqueryui-check.js
+++ /dev/null
@@ -1,24 +0,0 @@
-const chalk = require('chalk');
-const fs = require('fs');
-const log = require('./log');
-const Terser = require('terser');
-
-module.exports = filePath => {
-  log(`'${filePath}' is being checked.`);
-  // Transform the file.
-  const file = fs.readFileSync(filePath, 'utf-8');
-  Terser.minify(file).then((result) => {
-    const fileName = filePath.slice(0, -3);
-    fs.readFile(`${fileName}-min.js`, function read(err, data) {
-      if (err) {
-        log(chalk.red(err));
-        process.exitCode = 1;
-        return;
-      }
-      if (result.code !== data.toString()) {
-        log(chalk.red(`'${filePath}' is not updated.`));
-        process.exitCode = 1;
-      }
-    });
-  });
-};
diff --git a/web/core/scripts/js/jqueryui-terser.js b/web/core/scripts/js/jqueryui-terser.js
deleted file mode 100644
index f13c703eff..0000000000
--- a/web/core/scripts/js/jqueryui-terser.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const fs = require('fs');
-const log = require('./log');
-const Terser = require('terser');
-
-module.exports = (filePath) => {
-  log(`'${filePath}' is being processed.`);
-  // Transform the file.
-  const file = fs.readFileSync(filePath, 'utf-8');
-  Terser.minify(file).then((result) => {
-    fs.writeFile(`${filePath.slice(0, -3)}-min.js`, result.code, () => {
-      log(`'${filePath}' is finished.`);
-    });
-  });
-};
diff --git a/web/core/scripts/js/assets.js b/web/core/scripts/js/vendor-update.js
similarity index 51%
rename from web/core/scripts/js/assets.js
rename to web/core/scripts/js/vendor-update.js
index 1f888d6941..3907153f88 100644
--- a/web/core/scripts/js/assets.js
+++ b/web/core/scripts/js/vendor-update.js
@@ -3,13 +3,15 @@
  * Copy files for JS vendor dependencies from node_modules to the assets/vendor
  * folder.
  *
- * This script handles all dependencies except CKEditor, Modernizr,
- * and jQuery.ui which require a custom build step.
+ * This script handles all dependencies except CKEditor and Modernizr, which
+ * require a custom build step.
  */
 
 const path = require('path');
 const { copyFile, writeFile, readFile, chmod, mkdir } = require('fs').promises;
-const glob = require('glob');
+const ckeditor5Files = require('./assets/ckeditor5Files');
+const jQueryUIProcess = require('./assets/process/jqueryui');
+const mapProcess = require('./assets/process/map');
 
 const coreFolder = path.resolve(__dirname, '../../');
 const packageFolder = `${coreFolder}/node_modules`;
@@ -19,7 +21,7 @@ const assetsFolder = `${coreFolder}/assets/vendor`;
   const librariesPath = `${coreFolder}/core.libraries.yml`;
   // Open the core.libraries.yml file to update version information
   // automatically.
-  const libraries = (await readFile(librariesPath, 'utf-8')).split('\n\n');
+  const libraries = (await readFile(librariesPath)).toString().split('\n\n');
 
   function updateLibraryVersion(libraryName, { version }) {
     const libraryIndex = libraries.findIndex((lib) =>
@@ -27,8 +29,9 @@ const assetsFolder = `${coreFolder}/assets/vendor`;
     );
     if (libraryIndex > 0) {
       const libraryDeclaration = libraries[libraryIndex];
-      // Get the previous package version.
-      const currentVersion = libraryDeclaration.match(/version: "(.*)"\n/)[1];
+      // Get the previous package version from the yaml file, versions can be
+      // declared with a yaml anchor such as `version: &yaml_anchor "xxx"`
+      const currentVersion = libraryDeclaration.match(/version:(?: [&\w_]+)? "(.*)"\n/)[1];
       // Replace the version value and the version in the license URL.
       libraries[libraryIndex] = libraryDeclaration.replace(
         new RegExp(currentVersion, 'g'),
@@ -58,6 +61,11 @@ const assetsFolder = `${coreFolder}/assets/vendor`;
    *   the source and target folder.
    *     - An object with a `from` and `to` property if the source and target
    *   have a different name or if the folder nesting is different.
+   * @prop {object} [process]
+   *   An object containing a file extension as a key and a callback as the
+   *   value. The callback will be called for each file matching the file
+   *   extension. It can be used to minify the file content before saving to
+   *   the target directory.
    */
 
   /**
@@ -65,7 +73,7 @@ const assetsFolder = `${coreFolder}/assets/vendor`;
    *
    * @type {DrupalLibraryAsset[]}
    */
-  const process = [
+  const ASSET_LIST = [
     {
       pack: 'backbone',
       files: ['backbone.js', 'backbone-min.js', 'backbone-min.map'],
@@ -180,105 +188,139 @@ const assetsFolder = `${coreFolder}/assets/vendor`;
       pack: 'loadjs',
       files: [{ from: 'dist/loadjs.min.js', to: 'loadjs.min.js' }],
     },
+    {
+      pack: 'jquery-ui',
+      folder: 'jquery.ui',
+      process: {
+        // This will automatically minify the files and update the destination
+        // filename before saving.
+        '.js': jQueryUIProcess,
+      },
+      files: [
+        'themes/base/autocomplete.css',
+        'themes/base/button.css',
+        'themes/base/checkboxradio.css',
+        'themes/base/controlgroup.css',
+        'themes/base/core.css',
+        'themes/base/dialog.css',
+        'themes/base/draggable.css',
+        'themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png',
+        'themes/base/images/ui-icons_444444_256x240.png',
+        'themes/base/images/ui-icons_555555_256x240.png',
+        'themes/base/images/ui-icons_777620_256x240.png',
+        'themes/base/images/ui-icons_777777_256x240.png',
+        'themes/base/images/ui-icons_cc0000_256x240.png',
+        'themes/base/images/ui-icons_ffffff_256x240.png',
+        'themes/base/menu.css',
+        'themes/base/resizable.css',
+        'themes/base/theme.css',
+        'ui/data.js',
+        'ui/disable-selection.js',
+        'ui/focusable.js',
+        'ui/form-reset-mixin.js',
+        'ui/form.js',
+        'ui/ie.js',
+        'ui/jquery-patch.js',
+        'ui/keycode.js',
+        'ui/labels.js',
+        'ui/plugin.js',
+        'ui/position.js',
+        'ui/safe-active-element.js',
+        'ui/safe-blur.js',
+        'ui/scroll-parent.js',
+        'ui/tabbable.js',
+        'ui/unique-id.js',
+        'ui/version.js',
+        'ui/widget.js',
+        'ui/widgets/autocomplete.js',
+        'ui/widgets/button.js',
+        'ui/widgets/checkboxradio.js',
+        'ui/widgets/controlgroup.js',
+        'ui/widgets/dialog.js',
+        'ui/widgets/draggable.js',
+        'ui/widgets/menu.js',
+        'ui/widgets/mouse.js',
+        'ui/widgets/resizable.js',
+      ],
+    },
+    // CKEditor 5 builds the list of files dynamically based on what exists
+    // in the filesystem.
+    ...ckeditor5Files(packageFolder),
   ];
 
-  // There are a lot of CKEditor 5 packages, generate the list dynamically.
-  // Drupal-specific mapping between CKEditor 5 name and Drupal library name.
-  const ckeditor5PluginMapping = {
-    'block-quote': 'blockquote',
-    'essentials': 'internal',
-    'basic-styles': 'basic',
+  /**
+   * Default callback for processing map files.
+   */
+  const defaultProcessCallbacks = {
+    '.map': mapProcess,
   };
-  // Get all the CKEditor 5 packages.
-  const ckeditor5Dirs = glob.sync(`{${packageFolder}/@ckeditor/ckeditor5*,${packageFolder}/ckeditor5}`);
-  for (const ckeditor5package of ckeditor5Dirs) {
-    // Add all the files in the build/ directory to the process array for copying.
-    const buildFiles = glob.sync(`${ckeditor5package}/build/**/*.js`, { nodir: true });
-    if (buildFiles.length) {
-      // Clean up the path to get the original package name.
-      const pack = ckeditor5package.replace(`${packageFolder}/`, '');
-      // Use the package name to generate the plugin name. There are some
-      // exceptions that needs to be handled. Ideally remove the special cases.
-      let pluginName = pack.replace('@ckeditor/ckeditor5-', '');
-      // Target folder in the vendor/assets folder.
-      let folder = `ckeditor5/${pluginName.replace('@ckeditor/ckeditor5-', '')}`;
-      // Transform kebab-case to CamelCase.
-      let library = pluginName.replace(/-./g, match => match[1].toUpperCase());
-      // Special case for Drupal implementation.
-      if (ckeditor5PluginMapping.hasOwnProperty(pluginName)) {
-        library = ckeditor5PluginMapping[pluginName];
-      }
-      if (library === 'ckeditor5') {
-        folder = 'ckeditor5/ckeditor5-dll';
-      } else {
-        library = `ckeditor5.${library}`;
-      }
-      process.push({
-        pack,
-        library,
-        folder,
-        files: buildFiles.map((absolutePath) => ({
-          from: absolutePath.replace(`${ckeditor5package}/`, ''),
-          to: absolutePath.replace(`${ckeditor5package}/build/`, ''),
-        })),
-      });
+
+  /**
+   * Return an object with a 'from' and 'to' member.
+   *
+   * @param {string|object} file
+   *
+   * @return {{from: string, to: string}}
+   */
+  function normalizeFile(file) {
+    let normalized = file;
+    if (typeof file === 'string') {
+      normalized = {
+        from: file,
+        to: file,
+      };
     }
+    return normalized;
   }
 
-  // Use sequential processing to avoid corrupting the contents of the
-  // concatenated CKEditor 5 translation files.
-  for (const { pack, files = [], folder = false, library = false } of process) {
+  for (const { pack, files = [], folder = false, library = false, process = {} } of ASSET_LIST) {
     const sourceFolder = pack;
     const libraryName = library || folder || pack;
     const destFolder = folder || pack;
+    // Add a callback for map files by default.
+    const processCallbacks = { ...defaultProcessCallbacks, ...process };
 
-    let packageInfo;
-    // Take the version info from the package.json file.
-    if (!['joyride', 'farbtastic'].includes(pack)) {
-      packageInfo = JSON.parse(
-        await readFile(`${packageFolder}/${sourceFolder}/package.json`),
-      );
-    }
-    if (packageInfo) {
+    // Update the library version in core.libraries.yml with the version
+    // from the npm package.
+    try {
+      const packageInfo = JSON.parse((await readFile(`${packageFolder}/${sourceFolder}/package.json`)).toString());
       updateLibraryVersion(libraryName, packageInfo);
+    } catch (e) {
+      // The package.json file doesn't exist, so nothing to do.
     }
 
-    for (const file of files) {
-      let source = file;
-      let dest = file;
-      if (typeof file === 'object') {
-        source = file.from;
-        dest = file.to;
+    for (const file of files.map(normalizeFile)) {
+      const sourceFile = `${packageFolder}/${sourceFolder}/${file.from}`;
+      const destFile = `${assetsFolder}/${destFolder}/${file.to}`;
+      const extension = path.extname(file.from);
+
+      try {
+        await mkdir(path.dirname(destFile), { recursive: true });
+      } catch (e) {
+        // Nothing to do if the folder already exists.
       }
-      const sourceFile = `${packageFolder}/${sourceFolder}/${source}`;
-      const destFile = `${assetsFolder}/${destFolder}/${dest}`;
 
-      // For map files, make sure the sources files don't leak outside the
-      // library folder. In the `sources` member, remove all "../" values at
-      // the start of the files names to avoid having the virtual files outside
-      // of the library vendor folder in dev tools.
-      if (path.extname(source) === '.map') {
-        console.log('Process map file', source);
-        const json = JSON.parse(await readFile(sourceFile));
-        json.sources = json.sources.map((source) =>
-          source.replace(/^(\.\.\/)+/, ''),
-        );
-        await writeFile(destFile, JSON.stringify(json));
-      } else {
-        console.log(
-          `Copy ${sourceFolder}/${source} to ${destFolder}/${dest}`,
-        );
-        try {
-          await mkdir(path.dirname(destFile), { recursive: true });
-        } catch (e) {
-          // Nothing to do if the folder already exists.
+      // There is a callback that transforms the file contents, we are not
+      // simply copying a file from A to B.
+      if (processCallbacks[extension]) {
+        const contents = (await readFile(sourceFile)).toString();
+        const results = await processCallbacks[extension]({ file, contents });
+
+        console.log(`Process ${sourceFolder}/${file.from} and save ${results.length} files:\n  ${results.map(({ filename = file.to }) => filename).join(', ')}`);
+        for (const { filename = file.to, contents } of results) {
+          // The filename key can be used to change the name of the saved file.
+          await writeFile(`${assetsFolder}/${destFolder}/${filename}`, contents);
         }
+      } else {
+        // There is no callback simply copy the file.
+        console.log(`Copy ${sourceFolder}/${file.from} to ${destFolder}/${file.to}`);
         await copyFile(sourceFile, destFile);
-        // These 2 files come from a zip file that hasn't been updated in years
-        // hardcode the permission fix to pass the commit checks.
-        if (['jquery.joyride-2.1.js', 'marker.png'].includes(dest)) {
-          await chmod(destFile, 0o644);
-        }
+      }
+
+      // These 2 files come from a zip file that hasn't been updated in years
+      // hardcode the permission fix to pass the commit checks.
+      if (['jquery.joyride-2.1.js', 'marker.png'].includes(file.to)) {
+        await chmod(destFile, 0o644);
       }
     }
   }
diff --git a/web/core/tests/Drupal/BuildTests/Composer/LegacyScriptsTest.php b/web/core/tests/Drupal/BuildTests/Composer/LegacyScriptsTest.php
new file mode 100644
index 0000000000..a7a73aa477
--- /dev/null
+++ b/web/core/tests/Drupal/BuildTests/Composer/LegacyScriptsTest.php
@@ -0,0 +1,134 @@
+<?php
+
+namespace Drupal\BuildTests\Composer;
+
+use Composer\Json\JsonFile;
+use Drupal\BuildTests\Framework\BuildTestBase;
+use Drupal\Composer\Composer;
+
+/**
+ * @group Composer
+ * @requires externalCommand composer
+ * @coversDefaultClass \Drupal\Core\Composer\Composer
+ */
+class LegacyScriptsTest extends BuildTestBase {
+
+  /**
+   * @covers ::vendorTestCodeCleanup
+   */
+  public function testVendorTestCodeCleanup() {
+    $package_dir = 'composer/Template/RecommendedProject';
+
+    // Create a "Composer"-type repository containing one entry for every
+    // package in the vendor directory.
+    $vendor_packages_path = $this->getWorkspaceDirectory() . '/vendor_packages/packages.json';
+    $this->makeVendorPackage($vendor_packages_path);
+
+    // Make a copy of the code to alter in the workspace directory.
+    $this->copyCodebase();
+
+    // Remove the packages.drupal.org entry (and any other custom repository)
+    // from the site under test's repositories section. There is no way to do
+    // this via `composer config --unset`, so we read and rewrite composer.json.
+    $composer_json_path = $this->getWorkspaceDirectory() . "/$package_dir/composer.json";
+    $composer_json = json_decode(file_get_contents($composer_json_path), TRUE);
+    unset($composer_json['repositories']);
+    $json = json_encode($composer_json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
+    file_put_contents($composer_json_path, $json);
+
+    // Set up the template to use our path repos. Inclusion of metapackages is
+    // reported differently, so we load up a separate set for them.
+    $metapackage_path_repos = $this->getPathReposForType($this->getWorkspaceDirectory(), 'Metapackage');
+    $this->assertArrayHasKey('drupal/core-recommended', $metapackage_path_repos);
+    $path_repos = array_merge($metapackage_path_repos, $this->getPathReposForType($this->getWorkspaceDirectory(), 'Plugin'));
+    // Always add drupal/core as a path repo.
+    $path_repos['drupal/core'] = $this->getWorkspaceDirectory() . '/core';
+    foreach ($path_repos as $name => $path) {
+      $this->executeCommand("composer config --no-interaction repositories.$name path $path", $package_dir);
+      $this->assertCommandSuccessful();
+    }
+
+    // Add our vendor package repository to our site under test's repositories
+    // section. Call it "local" (although the name does not matter).
+    $this->executeCommand("composer config --no-interaction repositories.local composer file://" . $vendor_packages_path, $package_dir);
+    $this->assertCommandSuccessful();
+
+    // Add the vendorTestCodeCleanup script as a post-install command.
+    $this->executeCommand('composer config scripts.post-package-install "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup"');
+    $this->assertCommandSuccessful();
+
+    // Attempt to install packages which will trigger the script.
+    $this->executeCommand('composer install');
+    $this->assertCommandSuccessful();
+  }
+
+  /**
+   * Get Composer items that we want to be path repos, from within a directory.
+   *
+   * @param string $workspace_directory
+   *   The full path to the workspace directory.
+   * @param string $subdir
+   *   The subdirectory to search under composer/.
+   *
+   * @return string[]
+   *   Array of paths, indexed by package name.
+   */
+  public function getPathReposForType($workspace_directory, $subdir) {
+    // Find the Composer items that we want to be path repos.
+    /** @var \SplFileInfo[] $path_repos */
+    $path_repos = Composer::composerSubprojectPaths($workspace_directory, $subdir);
+
+    $data = [];
+    foreach ($path_repos as $path_repo) {
+      $json_file = new JsonFile($path_repo->getPathname());
+      $json = $json_file->read();
+      $data[$json['name']] = $path_repo->getPath();
+    }
+    return $data;
+  }
+
+  /**
+   * Creates a test package that points to all the projects in vendor.
+   *
+   * @param string $repository_path
+   *   The path where to create the test package.
+   */
+  protected function makeVendorPackage($repository_path) {
+    $root = $this->getDrupalRoot();
+    $process = $this->executeCommand("composer --working-dir=$root info --format=json");
+    $this->assertCommandSuccessful();
+    $installed = json_decode($process->getOutput(), TRUE);
+
+    // Build out package definitions for everything installed in
+    // the vendor directory.
+    $packages = [];
+    foreach ($installed['installed'] as $project) {
+      $name = $project['name'];
+      $version = $project['version'];
+      $path = "vendor/$name";
+      $full_path = "$root/$path";
+      // We are building a set of path repositories to projects in the vendor
+      // directory, so we will skip any project that does not exist in vendor.
+      // Also skip the projects that are symlinked in vendor. These are in our
+      // metapackage. They will be represented as path repositories in the test
+      // project's composer.json.
+      if (is_dir($full_path) && !is_link($full_path)) {
+        $packages['packages'][$name] = [
+          $version => [
+            "name" => $name,
+            "dist" => [
+              "type" => "path",
+              "url" => $full_path,
+            ],
+            "version" => $version,
+          ],
+        ];
+      }
+    }
+
+    $json = json_encode($packages, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
+    mkdir(dirname($repository_path));
+    file_put_contents($repository_path, $json);
+  }
+
+}
diff --git a/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxTest.php b/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxTest.php
index 87ec2d2108..dafb55ffd8 100644
--- a/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxTest.php
+++ b/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxTest.php
@@ -102,7 +102,7 @@ public function testInsertAjaxResponse() {
       'not-wrapped' => 'not-wrapped',
       'comment-string-not-wrapped' => '<!-- COMMENT -->comment-string-not-wrapped',
       'comment-not-wrapped' => '<!-- COMMENT --><div class="comment-not-wrapped">comment-not-wrapped</div>',
-      'svg' => '<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><rect x="0" y="0" height="10" width="10" fill="green"/></svg>',
+      'svg' => '<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><rect x="0" y="0" height="10" width="10" fill="green"></rect></svg>',
       'empty' => '',
     ];
     $render_multiple_root_unwrapper = [
diff --git a/web/core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php b/web/core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php
index 52b48aaf0b..046f125f2b 100644
--- a/web/core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php
+++ b/web/core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php
@@ -246,7 +246,7 @@ public function waitOnAutocomplete() {
    * use a viewport of 1024x768px.
    *
    * @param string $selector_type
-   *   The element selector type (CSS, XPath).
+   *   The element selector type (css, xpath).
    * @param string|array $selector
    *   The element selector. Note: the first found element is used.
    * @param bool|string $corner
@@ -289,7 +289,7 @@ public function assertVisibleInViewport($selector_type, $selector, $corner = FAL
    * Note: the node should exist in the page, otherwise this assertion fails.
    *
    * @param string $selector_type
-   *   The element selector type (CSS, XPath).
+   *   The element selector type (css, xpath).
    * @param string|array $selector
    *   The element selector. Note: the first found element is used.
    * @param bool|string $corner
diff --git a/web/core/tests/Drupal/FunctionalTests/Libraries/JqueryUiLibraryAssetsTest.php b/web/core/tests/Drupal/FunctionalTests/Libraries/JqueryUiLibraryAssetsTest.php
index fe2cbcf1a7..2c9277229f 100644
--- a/web/core/tests/Drupal/FunctionalTests/Libraries/JqueryUiLibraryAssetsTest.php
+++ b/web/core/tests/Drupal/FunctionalTests/Libraries/JqueryUiLibraryAssetsTest.php
@@ -117,11 +117,10 @@ public function testProperlySetWeights() {
       [
         'core/assets/vendor/jquery.ui/ui/data-min.js',
         'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
-        'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
         'core/assets/vendor/jquery.ui/ui/focusable-min.js',
         'core/assets/vendor/jquery.ui/ui/form-min.js',
         'core/assets/vendor/jquery.ui/ui/ie-min.js',
-        'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+        'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
         'core/assets/vendor/jquery.ui/ui/keycode-min.js',
         'core/assets/vendor/jquery.ui/ui/plugin-min.js',
         'core/assets/vendor/jquery.ui/ui/safe-active-element-min.js',
@@ -367,11 +366,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/ie-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
@@ -399,11 +397,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
           'core/assets/vendor/jquery.ui/ui/plugin-min.js',
@@ -432,11 +429,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/ie-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
@@ -458,11 +454,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/ie-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
@@ -488,11 +483,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/ie-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
@@ -521,11 +515,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
           'core/assets/vendor/jquery.ui/ui/plugin-min.js',
@@ -555,11 +548,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/ie-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
@@ -581,11 +573,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
           'core/assets/vendor/jquery.ui/ui/plugin-min.js',
@@ -608,11 +599,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
           'core/assets/vendor/jquery.ui/ui/plugin-min.js',
@@ -635,11 +625,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/ie-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
@@ -663,11 +652,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/ie-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
@@ -695,11 +683,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
           'core/assets/vendor/jquery.ui/ui/plugin-min.js',
@@ -737,11 +724,10 @@ public function providerTestAssetLoading() {
           'core/assets/vendor/jquery.ui/ui/disable-selection-min.js',
           'core/assets/vendor/jquery.ui/ui/form-min.js',
           'core/assets/vendor/jquery.ui/ui/labels-min.js',
-          'core/assets/vendor/jquery.ui/ui/jquery-1-7-min.js',
+          'core/assets/vendor/jquery.ui/ui/jquery-patch-min.js',
           'core/assets/vendor/jquery.ui/ui/scroll-parent-min.js',
           'core/assets/vendor/jquery.ui/ui/unique-id-min.js',
           'core/assets/vendor/jquery.ui/ui/version-min.js',
-          'core/assets/vendor/jquery.ui/ui/escape-selector-min.js',
           'core/assets/vendor/jquery.ui/ui/focusable-min.js',
           'core/assets/vendor/jquery.ui/ui/keycode-min.js',
           'core/assets/vendor/jquery.ui/ui/plugin-min.js',
diff --git a/web/core/tests/Drupal/KernelTests/Core/Asset/DeprecatedJqueryUiAssetsTest.php b/web/core/tests/Drupal/KernelTests/Core/Asset/DeprecatedJqueryUiAssetsTest.php
index 9ee318f6e9..5ee29cb4b7 100644
--- a/web/core/tests/Drupal/KernelTests/Core/Asset/DeprecatedJqueryUiAssetsTest.php
+++ b/web/core/tests/Drupal/KernelTests/Core/Asset/DeprecatedJqueryUiAssetsTest.php
@@ -20,16 +20,16 @@ public function testDeprecatedJqueryUi() {
     /** @var \Drupal\Core\Asset\LibraryDiscoveryInterface $library_discovery */
     $library_discovery = $this->container->get('library.discovery');
     $deprecated_jquery_ui_libraries = [
-      'jquery.ui' => '291c28f873a71cd6b3116218d1f5da22',
-      'jquery.ui.autocomplete' => '153f2836f8f2da39767208b6e09cb5b4',
-      'jquery.ui.button' => 'ad23e5de0fa1de1f511d10ba2e10d2dd',
-      'jquery.ui.dialog' => '6521b8917536afe00f35055da4ec466c',
-      'jquery.ui.draggable' => 'af0f2bdc8aa4ade1e3de8042f31a9312',
-      'jquery.ui.menu' => '7d0c4d57f43d2f881d2cd5e5b79effbb',
-      'jquery.ui.mouse' => '626bb203807fa2cdc62510412685df4a',
-      'jquery.ui.position' => 'fec1ca376f2b1cb9b0ca3db36be848c2',
-      'jquery.ui.resizable' => 'a2448fa87071a17a9756f39c9becb70d',
-      'jquery.ui.widget' => 'eacd675de09572383b58e52309ba2245',
+      'jquery.ui' => '85b66ea404a9aa3ca71ee243f849efea',
+      'jquery.ui.autocomplete' => '76ef835c38b36f0fb4f3609681870223',
+      'jquery.ui.button' => 'e3a8fd396547c14bd508ccd302e23c2c',
+      'jquery.ui.dialog' => '5774b51ff4a57dae7137b65d8025fb13',
+      'jquery.ui.draggable' => 'bcb81f27f5f90036b5fe91eb92950872',
+      'jquery.ui.menu' => '9acdd7d55c7c03600c161385353eeff7',
+      'jquery.ui.mouse' => '4c755c0bfc5860b59b9a3a9dd2dcd016',
+      'jquery.ui.position' => 'd51b206fb9272838e23ff9f4f24608aa',
+      'jquery.ui.resizable' => '9e128d4abf2efe50c688475390808b54',
+      'jquery.ui.widget' => '6a2eff802beb4439333502dd2516239d',
     ];
     // DrupalCI uses a precision of 100 in certain environments which breaks
     // this test.
diff --git a/web/core/tests/Drupal/Tests/Core/Cache/Context/CookieCacheContextTest.php b/web/core/tests/Drupal/Tests/Core/Cache/Context/CookieCacheContextTest.php
new file mode 100644
index 0000000000..71959b03d0
--- /dev/null
+++ b/web/core/tests/Drupal/Tests/Core/Cache/Context/CookieCacheContextTest.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace Drupal\Tests\Core\Cache\Context;
+
+use Drupal\Core\Cache\Context\CookiesCacheContext;
+use Drupal\Tests\UnitTestCase;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\RequestStack;
+
+/**
+ * @coversDefaultClass \Drupal\Core\Cache\Context\CookiesCacheContext
+ * @group Cache
+ */
+class CookieCacheContextTest extends UnitTestCase {
+
+  /**
+   * @covers ::getContext
+   *
+   * @dataProvider providerTestGetContext
+   */
+  public function testGetContext($cookies, $cookie_name, $context) {
+    $request_stack = new RequestStack();
+    $request = Request::create('/', 'GET');
+    foreach ($cookies as $cookie => $value) {
+      $request->cookies->set($cookie, $value);
+    }
+    $request_stack->push($request);
+    $cache_context = new CookiesCacheContext($request_stack);
+    $this->assertSame($cache_context->getContext($cookie_name), $context);
+  }
+
+  /**
+   * Provides a list of cookies and expected cache contexts.
+   */
+  public function providerTestGetContext() {
+    return [
+      [['foo' => 1, 'bar' => 2, 'baz' => 3], 'foo', 1],
+      // Context is ordered by cookie name.
+      [['foo' => 1, 'bar' => 2, 'baz' => 3], NULL, 'bar=2&baz=3&foo=1'],
+    ];
+  }
+
+}
diff --git a/web/core/tests/Drupal/Tests/Core/Command/QuickStartTest.php b/web/core/tests/Drupal/Tests/Core/Command/QuickStartTest.php
index 2b73d0c76e..0fcfe4cf2e 100644
--- a/web/core/tests/Drupal/Tests/Core/Command/QuickStartTest.php
+++ b/web/core/tests/Drupal/Tests/Core/Command/QuickStartTest.php
@@ -116,6 +116,8 @@ public function testQuickStartCommand() {
     });
     // The progress bar uses STDERR to write messages.
     $this->assertStringContainsString('Congratulations, you installed Drupal!', $process->getErrorOutput());
+    // Ensure the command does not trigger any PHP deprecations.
+    $this->assertStringNotContainsString('Deprecated', $process->getErrorOutput());
     $this->assertNotFalse($port, "Web server running on port $port");
 
     // Give the server a couple of seconds to be ready.
diff --git a/web/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php b/web/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php
index d5275cd61e..45c7bc4232 100644
--- a/web/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php
+++ b/web/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php
@@ -97,6 +97,39 @@ public function testSortLoggers() {
     $this->assertEquals('3210', $index_order);
   }
 
+  /**
+   * Tests that $context['ip'] is a string even when the request's IP is NULL.
+   */
+  public function testNullIp(): void {
+    // Create a logger that will fail if $context['ip'] is not an empty string.
+    $logger = $this->createMock(LoggerInterface::class);
+    $expected = function ($context) {
+      return $context['channel'] == 'test' && $context['ip'] === '';
+    };
+    $logger->expects($this->once())
+      ->method('log')
+      ->with($this->anything(), 'Test message', $this->callback($expected));
+
+    // Set up a request stack that has a request that will return NULL when
+    // ::getClientIp() is called.
+    $requestStack = new RequestStack();
+    $request_mock = $this->getMockBuilder(Request::class)
+      ->onlyMethods(['getClientIp'])
+      ->getMock();
+    $request_mock->expects($this->any())
+      ->method('getClientIp')
+      ->willReturn(NULL);
+    $requestStack->push($request_mock);
+
+    // Set up the logger channel for testing.
+    $channel = new LoggerChannel('test');
+    $channel->addLogger($logger);
+    $channel->setRequestStack($requestStack);
+
+    // Perform the test.
+    $channel->log(rand(0, 7), 'Test message');
+  }
+
   /**
    * Data provider for self::testLog().
    */
@@ -117,14 +150,14 @@ public function providerTestLog() {
     // No request or account.
     $cases[] = [
       function ($context) {
-        return $context['channel'] == 'test' && empty($context['uid']) && empty($context['ip']);
+        return $context['channel'] == 'test' && empty($context['uid']) && $context['ip'] === '';
       },
     ];
     // With account but not request. Since the request is not available the
     // current user should not be used.
     $cases[] = [
       function ($context) {
-        return $context['uid'] === 0 && empty($context['ip']);
+        return $context['uid'] === 0 && $context['ip'] === '';
       },
       NULL,
       $account_mock,
diff --git a/web/core/themes/claro/css/components/jquery.ui/theme.css b/web/core/themes/claro/css/components/jquery.ui/theme.css
index 9db21952ce..e76bb3be6f 100644
--- a/web/core/themes/claro/css/components/jquery.ui/theme.css
+++ b/web/core/themes/claro/css/components/jquery.ui/theme.css
@@ -596,7 +596,6 @@
  */
 
 .ui-autocomplete {
-  overflow: hidden;
   color: #55565b;
   border: 1px solid rgba(216, 217, 224, 0.8);
   border-top: 0;
diff --git a/web/core/themes/claro/css/components/jquery.ui/theme.pcss.css b/web/core/themes/claro/css/components/jquery.ui/theme.pcss.css
index 9d0f877635..ea52e43c67 100644
--- a/web/core/themes/claro/css/components/jquery.ui/theme.pcss.css
+++ b/web/core/themes/claro/css/components/jquery.ui/theme.pcss.css
@@ -381,7 +381,6 @@
  * Autocomplete
  */
 .ui-autocomplete {
-  overflow: hidden;
   color: var(--jui-dropdown-fg-color);
   border: var(--input-border-size) solid var(--jui-dropdown-border-color);
   border-top: 0;
diff --git a/web/core/yarn.lock b/web/core/yarn.lock
index 50b49aa596..cc528e49db 100644
--- a/web/core/yarn.lock
+++ b/web/core/yarn.lock
@@ -921,303 +921,314 @@
     "@babel/helper-validator-identifier" "^7.16.7"
     to-fast-properties "^2.0.0"
 
-"@ckeditor/ckeditor5-alignment@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-31.0.0.tgz#b91e935a9fef8731cea13a83cc6bc3d9391a45cf"
-  integrity sha512-nbu6O657MyUj+OaUrVTE7VZaHO7KFqCmsYeQJq+endcLiwKqBWEBtBKNRgakJCsgbIvh/7E6QQCr75kmLKa9+Q==
+"@ckeditor/ckeditor5-alignment@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-34.0.0.tgz#5b0bb86aa62c8fd20b9f7ddb92cf6e9fef0403db"
+  integrity sha512-LqDkEO7ASQpC+8ZLNi0UDJcA4PXBcpcK166fUntQXLjSx3ntRpOXrtU/Lbre/gF6D4sDdbbkj+aekiU+m9iEJA==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-basic-styles@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-31.0.0.tgz#e65e3b3fd6133b8fa27cca7d30ae61f66f194619"
-  integrity sha512-1QXryQRj3uQ0Qmef6yMk5V0xjfk3T8fXESi1pHIsy/A3zgSUCUg+/xXJmIOBLp6LLRiL+bju/grbjerbHXEIHg==
+"@ckeditor/ckeditor5-basic-styles@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-34.0.0.tgz#2587ab32a5134e69cbb9cc13e5fca4e8e02d0da9"
+  integrity sha512-yB9GsGaiYUn+X3hulGLNp9iT9wp5OmMLR88lrNc+jN/nDzVSWll05hvbjMrE6RVcgfrR4WodphGXnBS35V+dWQ==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-block-quote@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-31.0.0.tgz#8c59783f5168599ff621071a0efeaf60f48007a8"
-  integrity sha512-T9NPuCWVtNF4EGXn4q8YSyJI1Ry9jJ0PZUv2exKsQAh5DloVXA3ufdAqqi7W/h7S4e5ffF+VAhrgNa0js3BcnA==
+"@ckeditor/ckeditor5-block-quote@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-34.0.0.tgz#be1cfe7fb1e1f4da5a22536a6937ba43227e7f2d"
+  integrity sha512-IDqckQ3S8sY0NS1P2Sznsfv27rhBeku7epmAesoZvy/PM1cd/lQf7uj9b30di5uoypz32amRuR3lwF1JJIwISQ==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-clipboard@^31.0.0", "@ckeditor/ckeditor5-clipboard@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-31.1.0.tgz#2671692014e9e45507b866cdd389c916aa955b88"
-  integrity sha512-rHvswGs4Q/ZiKPGk0J7+Nrb3mqNugKQFOXA7SSecOI9ZRt6hIxr4fgj4ccb8ceuHNr2vJNmTGC8jjKX7wGHPbw==
+"@ckeditor/ckeditor5-clipboard@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-34.0.0.tgz#0aefd34f1ec1eec8ad9acdc653cfc547d0b0de4b"
+  integrity sha512-BXPP97i+fhdh3s8dJHLw+yZsG8yNS7wxinXJ+h/PdRk//AAvhl/PLJEk7JjOhU7GGVa32ExmBv1ci4aPnOhytw==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^31.1.0"
-    "@ckeditor/ckeditor5-engine" "^31.1.0"
-    "@ckeditor/ckeditor5-utils" "^31.1.0"
-    "@ckeditor/ckeditor5-widget" "^31.1.0"
+    "@ckeditor/ckeditor5-core" "^34.0.0"
+    "@ckeditor/ckeditor5-engine" "^34.0.0"
+    "@ckeditor/ckeditor5-utils" "^34.0.0"
+    "@ckeditor/ckeditor5-widget" "^34.0.0"
     lodash-es "^4.17.11"
 
-"@ckeditor/ckeditor5-core@^31.0.0", "@ckeditor/ckeditor5-core@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-core/-/ckeditor5-core-31.1.0.tgz#8c0d88a5f47aa66c2d75d5a6945f030b266b9f8b"
-  integrity sha512-5BUosLrUliV2NZ9DAW48Za/4P3QWmwKMoHohCvq7Jq9Us6TQCnEKauUNexJFDAWqUAdN2WlqaVdSL+FmfhmzSA==
+"@ckeditor/ckeditor5-code-block@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-34.0.0.tgz#cf9b16b3dda890c0b9ff8041355929ca0beba187"
+  integrity sha512-6ooB44AArSCsg5bn+BPtcciDB9QVKhIwG6pP0kjyALP4wtA0uVfltdcXcO/sPuLQL6KC4XD1Odg9qZufSO+ITg==
   dependencies:
-    "@ckeditor/ckeditor5-engine" "^31.1.0"
-    "@ckeditor/ckeditor5-ui" "^31.1.0"
-    "@ckeditor/ckeditor5-utils" "^31.1.0"
+    ckeditor5 "^34.0.0"
+
+"@ckeditor/ckeditor5-core@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-core/-/ckeditor5-core-34.0.0.tgz#7b7613f53d26f5230c9180105fee058ac43c1f87"
+  integrity sha512-EDZIqhLhXQ+/gamfAN2XoFNOxh3GWTdZ+8JuDeKUCCZTc+z06WyZOmqNPhiPHKeFd6nmf+keEJP0C0ctBnXoZw==
+  dependencies:
+    "@ckeditor/ckeditor5-engine" "^34.0.0"
+    "@ckeditor/ckeditor5-ui" "^34.0.0"
+    "@ckeditor/ckeditor5-utils" "^34.0.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-dev-utils@^25.4.5":
-  version "25.4.5"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-utils/-/ckeditor5-dev-utils-25.4.5.tgz#723d5a2bbf128f492279e5f9b9c8899fd9a923e5"
-  integrity sha512-ssW6QPNVG/yz0JxFfivNP8LLFgzAnQvuW2qA90RT9E0+jVpB1E5ayrhuZv2KOKvGeVMc5l7PIoNrR6NShvfOpQ==
+"@ckeditor/ckeditor5-dev-utils@^30.1.1":
+  version "30.1.1"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-utils/-/ckeditor5-dev-utils-30.1.1.tgz#7204b9b5e4d9dec269e1adb2a37cb6700e668b02"
+  integrity sha512-hfdfWst0JiI8/D8wJw03BivgHa9N2HtinG5ROL9fd/Bsv4/EBNdKeFQdCh4NgrNenK8OVhBD0kJ6bd0jQVrf4A==
   dependencies:
-    "@ckeditor/ckeditor5-dev-webpack-plugin" "^25.4.5"
+    "@ckeditor/ckeditor5-dev-webpack-plugin" "^30.1.1"
     acorn "^6.2.1"
     acorn-walk "^6.2.0"
     chalk "^3.0.0"
-    cssnano "^4.0.0"
+    cli-cursor "^3.1.0"
+    cli-spinners "^2.6.1"
+    cssnano "^5.0.0"
     del "^5.0.0"
     escodegen "^1.9.0"
     fs-extra "^8.1.0"
+    is-interactive "^1.0.0"
     javascript-stringify "^1.6.0"
     pofile "^1.0.9"
-    postcss "^7.0.36"
-    postcss-import "^12.0.0"
-    postcss-loader "^3.0.0"
-    postcss-mixins "^6.2.0"
-    postcss-nesting "^7.0.0"
+    postcss "^8.4.12"
+    postcss-import "^14.0.2"
+    postcss-loader "^4.3.0"
+    postcss-mixins "^6.2.3"
+    postcss-nesting "^7.0.1"
     raw-loader "^4.0.1"
     shelljs "^0.8.1"
-    style-loader "^1.2.1"
-    terser-webpack-plugin "^3.0.2"
+    style-loader "^2.0.0"
+    terser-webpack-plugin "^4.2.3"
     through2 "^3.0.1"
 
-"@ckeditor/ckeditor5-dev-webpack-plugin@^25.4.5":
-  version "25.4.5"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-webpack-plugin/-/ckeditor5-dev-webpack-plugin-25.4.5.tgz#6513dd9d3cf001e3e6be887aa2565b8f69c7897d"
-  integrity sha512-pR8eUDcq1ssEj2fRIJMKwFQzJj/KARLo78SS+MzmE27b+p4PR+sJERZle6ihzrJO8Y4jgHPbG6G/jsv8BlBzeA==
+"@ckeditor/ckeditor5-dev-webpack-plugin@^30.1.1":
+  version "30.1.1"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-webpack-plugin/-/ckeditor5-dev-webpack-plugin-30.1.1.tgz#4441c4b5caaad22cbffda0c517e747067ad210d8"
+  integrity sha512-OfcRw8tsGJOzmops2bu03P7nn0bd+QRdjEY0B3uWxOG5233QzrfVfliSOus8FKkoPCUCuZzK5t95tm5GJPhBQw==
   dependencies:
-    "@ckeditor/ckeditor5-dev-utils" "^25.4.5"
+    "@ckeditor/ckeditor5-dev-utils" "^30.1.1"
     chalk "^4.0.0"
     rimraf "^3.0.2"
     semver "^7.3.4"
     webpack-sources "^2.0.1"
 
-"@ckeditor/ckeditor5-editor-classic@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-31.0.0.tgz#6038007a5b4fdbb2a64c48fd5752f2b68201b2ba"
-  integrity sha512-73uctgAl8cX6//KlW1CUMQFXEK3USw6DfpUJrKXucMrdRksNXllu1WcZbADwcXgQk006byr8DKA51wNI00+daQ==
+"@ckeditor/ckeditor5-editor-classic@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-34.0.0.tgz#9e12a4c7d7c541f07c227e7e015f7a1c5bbe4ce2"
+  integrity sha512-3e5SYWB8nSbEvZX3flCKi/5jCE3zX/GxWu5q6/Dm0Cc4TMxOayFYWLYiL9+MSm2VeYaMXYegsD1LrWmtANuDmw==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-editor-decoupled@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-31.0.0.tgz#4730f285919d9428ac4c958375700b91c0a6609c"
-  integrity sha512-FRjfzldQEk3i0hBSxRdgQWcwRpVeNF7Hvkf50vRFHoZItww/NQWURi+tUwf/Ohkshr4Pv9Rx5Pu/7HOvnJA3sw==
+"@ckeditor/ckeditor5-editor-decoupled@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-34.0.0.tgz#bd3f9f147d92fad64b112a182a63b45658a86727"
+  integrity sha512-1qmBbQzQ1EUDwpMGuXrExiEgRjom4HD1z9ttuEFmCnxzzK9wDI2088VlvjP6WYYYYHrT8OIT2ztfaV78Ae8zfQ==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-engine@^31.0.0", "@ckeditor/ckeditor5-engine@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-31.1.0.tgz#35cdc74224b20de506ae51618fa778c488439c68"
-  integrity sha512-lHZjdKKeBWR4N2rk4rdnxDtdE3F1Q7Z2Ag2RgHG8GT3J6s2BNx/z++9GxhlCKPR3TQ70XWCLBLGXuFHXIvU0Kg==
+"@ckeditor/ckeditor5-engine@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-34.0.0.tgz#545a6b89d5b1a62050b51d3756205b6131aa94cb"
+  integrity sha512-7dlPR9+MdoBxTMaakMCoh8SknLw2rsil+eiaEv7T/6SjeOVwIkJsxJqWQNukpEdEGRkz2Epy19SHLmUWu5G9Ig==
   dependencies:
-    "@ckeditor/ckeditor5-utils" "^31.1.0"
+    "@ckeditor/ckeditor5-utils" "^34.0.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-enter@^31.0.0", "@ckeditor/ckeditor5-enter@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-31.1.0.tgz#9edda405fa0669fe8e5f299fec56bbba60773183"
-  integrity sha512-9K5d12lCfvnUGESwxpu2UJCLsAaa40QR4JgVHKV0CZpERfcsvcF3XdM8cggS/Ovin2TBq1w+tXhOKbop5Why9Q==
+"@ckeditor/ckeditor5-enter@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-34.0.0.tgz#be93378452bcf78b98c4a506a933206ee74d82e6"
+  integrity sha512-S0KxoaaLD+BpZjQfRygMdh8SXH1YwhvQj+ZvsTgZ6q8qZzvP3zFmLIbhbaKidnZ1DueuOkB1UQDGsAufJf7Lyw==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^31.1.0"
-    "@ckeditor/ckeditor5-engine" "^31.1.0"
-    "@ckeditor/ckeditor5-utils" "^31.1.0"
+    "@ckeditor/ckeditor5-core" "^34.0.0"
+    "@ckeditor/ckeditor5-engine" "^34.0.0"
+    "@ckeditor/ckeditor5-utils" "^34.0.0"
 
-"@ckeditor/ckeditor5-essentials@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-31.0.0.tgz#48928686e44ebf2658af6223ce18fd6e318a9f23"
-  integrity sha512-S14B/cyushn4n4ANz8H4TjjbxaeH94OG+EDwKL4bXAYn/B1S/I5Cm+MRi7Q8Z3A8A6fjzGhNPUyDx0GnpmKZHQ==
+"@ckeditor/ckeditor5-essentials@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-34.0.0.tgz#37d96ad2cb6aaaa2965f96c572fe2f09baee0516"
+  integrity sha512-4qlluIrCUV1yd8bNCohmojHpN9rJkC9Bqlbt7i6aqsSw5ErlXNSKHWFno+QsKcWYx9GbBmiAqxAERclGBBUtCg==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-heading@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-31.0.0.tgz#a0eae16d9d5b0288b250596502a7e9b8f89815d4"
-  integrity sha512-bAcNG2K7sZWxvTJTriof/lsR81o4QGbpaFcwj62QfTjYP+To5jlD4YhUIcCbg1YpiwlbJr8tv6PuWH6MkNh/5g==
+"@ckeditor/ckeditor5-heading@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-34.0.0.tgz#22ab05abdc00bf807b0a6b1e8abe1f352f0ebf7b"
+  integrity sha512-Fn7qxZoQAyh0qY6YJohmcqFZx74kkqStEGpHpvAqLGa6bAomPYF7Wr1fxFEsNlZuOvX8EBFWCbbdxGcJx/zAcA==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-horizontal-line@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-31.0.0.tgz#4a01738e435474f4213b7430b235912711c39724"
-  integrity sha512-QBw34CAMZ3KDr69qJ+qlPoMx7nxkv0Z9NrN/ZkguFmFFI+Wa6SvQKw5qhu9f8T6cgGlkruDtXOGBWSoiEIPfUg==
+"@ckeditor/ckeditor5-horizontal-line@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-34.0.0.tgz#f1d6eb7aa681f5b2619f46cedcd0b9feb32f28ab"
+  integrity sha512-DcZn4S/ceTKHfBvOnSbJKYejk2DcTgVMPTBBd7FzDPcpLjdYFmChPNSehf+nsX03Aa9ev0xDMYxMjc+8A3Tg2Q==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-html-support@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-31.0.0.tgz#02abcfc62102828e752768c7c8e139faec48e7d4"
-  integrity sha512-ayNDdGqmhQLqUvbNGv4c+4qtzfOFrQsO8OqIsn1TLbCLjyIzHKrVHpAVUWIQCxJBZDUPJKQ/McGLIS2R37LIrQ==
+"@ckeditor/ckeditor5-html-support@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-34.0.0.tgz#a16969078c60f70f29623907b93480539a532fc4"
+  integrity sha512-944eKdqvGvIAJXUvcdSOQUfazRgbWrTlcGEFOv16k7cFuhKs9wq14Ove7faSDGHLwVL/yKJNzcGDZRa6QOlHwQ==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-image@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-image/-/ckeditor5-image-31.0.0.tgz#75ea102cac5909c1b2d09a1c4e7f030fc59941bc"
-  integrity sha512-t7eYiRx4fLbSrBuSV7DoRC8zmTyzUQyind5gWQNWWDq/nF+bEaMkijOmbvak/gKQIl/C15Eo3jV6dPbzDdwgbg==
+"@ckeditor/ckeditor5-image@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-image/-/ckeditor5-image-34.0.0.tgz#b1f8b58d55552d7f92a7a25e62eb8bc3272ee459"
+  integrity sha512-8S473Oxa7u/rxr39MT/GUTAQtFN3CYOmBA188gvfMuYNJx6MXO3B5kbyv5p//aG/uDMxIRIc4yhx6WJxEcPxCQ==
   dependencies:
-    "@ckeditor/ckeditor5-ui" "^31.0.0"
-    ckeditor5 "^31.0.0"
+    "@ckeditor/ckeditor5-ui" "^34.0.0"
+    ckeditor5 "^34.0.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-indent@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-31.0.0.tgz#397043a4f830a1cef6bded40547c2b2a84c6acb4"
-  integrity sha512-3WuQFMvbxTzGJkAlNhmXaCqwyrSb0k/8HpTw3M9ef7nu0J0eutwT09bJQrfdyeyZ9I7thOXKjh00wTOAni8y2Q==
+"@ckeditor/ckeditor5-indent@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-34.0.0.tgz#6b23153335ab099cc43e7159d4d5869adaa061ff"
+  integrity sha512-jjB5AbeP3UC9sAqA7hm9G1G7wRbKtAY7uDMJAT+1H9H7Ex964NUbhKS0iRP0gM3WU+rqQ0jhvwipEP4+UrcZqg==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-language@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-language/-/ckeditor5-language-31.0.0.tgz#807ac9f6bd2c5dd59b07ae8cb169e86c26081b0f"
-  integrity sha512-3r5pv/xpErMb5QstCEpABFCifdubIw/nKSeVIPza/gIMOYExJOjVJGRsSuqsPu9QxdkxxTY62JTbjlWq/33elw==
+"@ckeditor/ckeditor5-language@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-language/-/ckeditor5-language-34.0.0.tgz#ba1ff1546daea4e207b46f9dec611878228c5f49"
+  integrity sha512-DQPqaSILRSTcr/YdB1rEQLzElWUQknT1mFxiTMCkVV9jPZ/ShK+PUFGKUi6RnrSWHScxZ8UPVdlkETYXX7IqMg==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-link@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-link/-/ckeditor5-link-31.0.0.tgz#4cf4fe0e318c64b038b636f732b87dde8ba6143c"
-  integrity sha512-CeX05fQIR1p3/aD512vuLedq2OVHJE/toEg3ewZOlWfKan71L3/6wiuuSHO7KkCbp1d/1I/pGOz9G9pBfLUtvg==
+"@ckeditor/ckeditor5-link@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-link/-/ckeditor5-link-34.0.0.tgz#3f085f3d345948f05ee5d4ecfc2c4c741feb8264"
+  integrity sha512-xtAHw7uF9J0yqbcYViNS5jV4fws3V5x8I/U8m8BtnBqmRVG+pXfN/Zpw9+LhsMWnKa5BX9/B105VoHcn/Sz84Q==
   dependencies:
-    "@ckeditor/ckeditor5-ui" "^31.0.0"
-    ckeditor5 "^31.0.0"
+    "@ckeditor/ckeditor5-ui" "^34.0.0"
+    ckeditor5 "^34.0.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-list@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-list/-/ckeditor5-list-31.0.0.tgz#a2ef7bc30939774ccdf1b97b132ffcf04f24a5a7"
-  integrity sha512-lSGobEoHdS94ueyhJ+N7XJmZ6CafCobVy+5cNCOymSVoHAY3GI5xOdkWO9slOxV+i8+/yiHT5NDWuCxTzj3WxQ==
+"@ckeditor/ckeditor5-list@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-list/-/ckeditor5-list-34.0.0.tgz#14ed9fd6cae1a90e0acd7bb0bff90fde8e504865"
+  integrity sha512-nYssUwqqSmpjFk+qjZZGnkaLJVL9vqKAzkRyg9VYtmXguYGyx+lbKoCMEKbNrnGJA6F0kHSVPhb+1v/nD1KfKQ==
   dependencies:
-    ckeditor5 "^31.0.0"
+    "@ckeditor/ckeditor5-ui" "^34.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-paragraph@^31.0.0", "@ckeditor/ckeditor5-paragraph@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-31.1.0.tgz#a0b620d89033b440a63cfc5991cd005d9bdfc532"
-  integrity sha512-rltzxwcKwR6mxZqomKLkrdLuVkkeKiESv7bweVY9VcPb7hk0BiLZcYkLqsOlfkZHWHWCiQ+5UDR8ctuaVmiUjg==
+"@ckeditor/ckeditor5-paragraph@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-34.0.0.tgz#4a5fd82aa8fdbd0e98d2e5640ce8980af9e66623"
+  integrity sha512-hOvkDiwVG9U2oBSd8eDBeQBLFGDzt9Hiq/e2/VienzzAGTioe5N7z5ECBZf8GICmRWm95BV7Ss/T8Z9CCVBTZg==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^31.1.0"
-    "@ckeditor/ckeditor5-ui" "^31.1.0"
-    "@ckeditor/ckeditor5-utils" "^31.1.0"
+    "@ckeditor/ckeditor5-core" "^34.0.0"
+    "@ckeditor/ckeditor5-ui" "^34.0.0"
+    "@ckeditor/ckeditor5-utils" "^34.0.0"
 
-"@ckeditor/ckeditor5-paste-from-office@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-31.0.0.tgz#ff001fa47e48feeec18cc3ebba61e1fedded2272"
-  integrity sha512-ACdbjBOm9SjQGYkA43bX6e+SfCMcyIxnHX7yl2iEXLSZO5kk70xqpKv0tWlg8N5jlcsYPEXR9dHJheWRPehNsg==
+"@ckeditor/ckeditor5-paste-from-office@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-34.0.0.tgz#1260ca58c47f5d152c98794cd6644616c72baf69"
+  integrity sha512-NI7G4bTQ3JueueM8eh0XikpZSVEr7PXq6aBoUoDrZgrmqU5BNJMCMj0Xv5zw0pdFRLOAOqpLsqPHMT7r4XYcqw==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-remove-format@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-31.0.0.tgz#e62f7a277a55c0a650582e5f914dd0cb254d865f"
-  integrity sha512-zAcQjsvqPMro3PqBE3QrladNvKlT6cxRtYN4tWBn+kqg3DPlnZcH9HqeVxf6e2GVwDLkp8xRY9BD2CgyLtGt3Q==
+"@ckeditor/ckeditor5-remove-format@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-34.0.0.tgz#413b38d54361ee6a2689e0a7cd4e101654ebd5f9"
+  integrity sha512-JrgfePF1XkHgVE0RqVdZPIb2hGaPNk1WKfNYM7G51uoMYPRojTk74cxpXY+LFDVMSI7qQIREtUbJWw5ogXs6Fg==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-select-all@^31.0.0", "@ckeditor/ckeditor5-select-all@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-31.1.0.tgz#d7272a45e126586df6c906cd3712d32a7c8b015f"
-  integrity sha512-d6bTtuZLoBN61jPjbY562awfRYy+xhnCEIilsoRLb04mFNa6HnFs/mZtNIFqrm7dYZWSkJz9+1XwQouYW+kGqQ==
+"@ckeditor/ckeditor5-select-all@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-34.0.0.tgz#bf020bf59f0bd66d80be8e8c845cf25f8d1fd358"
+  integrity sha512-ZbjXIRUWRBlIyeKK4hAf4gdGGf4XnzH73g5rilFeilnwSz4lJFoC7KjSD9xsCNjqjUeh5u1Z1Ml8RLGTtWLUPw==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^31.1.0"
-    "@ckeditor/ckeditor5-ui" "^31.1.0"
-    "@ckeditor/ckeditor5-utils" "^31.1.0"
+    "@ckeditor/ckeditor5-core" "^34.0.0"
+    "@ckeditor/ckeditor5-ui" "^34.0.0"
+    "@ckeditor/ckeditor5-utils" "^34.0.0"
 
-"@ckeditor/ckeditor5-source-editing@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-31.0.0.tgz#eec813af3fb6178631fbeb0a80960722b0f94150"
-  integrity sha512-PPy6Q0/+APKECexoDgzwj52obpow+PnEuoRFTaEspjgt11Dfw/YB7XjAnvuc2msehSkzDhEnDfsB0rPgVvvnzw==
+"@ckeditor/ckeditor5-source-editing@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-34.0.0.tgz#fb356726d9c2356ba8ba5925719162d152638c7f"
+  integrity sha512-53hKO+9BYTWHAiKMgkmElPQj8LeoPbxHaahLWBtFD070EHQW0nEMBeudM590LDCveWf6XSnxtfc594C+ZB9DGQ==
   dependencies:
-    "@ckeditor/ckeditor5-theme-lark" "^31.0.0"
-    ckeditor5 "^31.0.0"
+    "@ckeditor/ckeditor5-theme-lark" "^34.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-special-characters@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-31.0.0.tgz#d6534ee116e03f4b11ebd3e37db68a833ad594eb"
-  integrity sha512-ja7WjK+GHpfql+CmVV1R6m5ukiQwwenFaiwyf0e8JYrvG0h7brt32ala8Faum/HvwpaTjoLJZRLlxgtt1sTdQg==
+"@ckeditor/ckeditor5-special-characters@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-34.0.0.tgz#245f29f69a1a494660040008b661693795feaa05"
+  integrity sha512-/pQ8SR0HJwpmTW3EfwNeIZKvpDy0RtZi+TSjaUuwV8Trf1ngdtb7T5Nm4tJinlB3aPWT77XUq2umVBFgIjHjJg==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
 
-"@ckeditor/ckeditor5-table@~31.0.0":
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-table/-/ckeditor5-table-31.0.0.tgz#40e19b8dca19f8d7163416bfce3196a122c28323"
-  integrity sha512-KdotVXhRlJBuYUPkTo/VDvCSoPm4dZSeZDwV0PWTMiAutmxkpdHHG0FGnAJphCPA1BLO0eLj84DkSyMdw3WlsQ==
+"@ckeditor/ckeditor5-table@~34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-table/-/ckeditor5-table-34.0.0.tgz#73dcdd2897aedd329a78d176e4b7dad53d1da0da"
+  integrity sha512-WbaLVol81zWK8CXr2xQ26wb8OUdECH2ZA6sclhRQxhsWq+yrbz23avkx0/CWM0vgdUp6xzEXFW70h2rxDT0yzg==
   dependencies:
-    ckeditor5 "^31.0.0"
+    ckeditor5 "^34.0.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-theme-lark@^31.0.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-31.1.0.tgz#806e9e1feced6ce7ef553077e0a201682da43317"
-  integrity sha512-fPtDEMmr7HFS3w9X1fr2ipzQv7DeVYF4vyJjybhsQht1Stoa8w7T8By7k+/5h7HIl2/EjHP4P1oPuMGXaXV9OA==
+"@ckeditor/ckeditor5-theme-lark@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-34.0.0.tgz#56e1b62f9447a3df02ace6ddd653b59339096300"
+  integrity sha512-G/Rodr1jp4L5zHXrWS2gUIUQxZ75BWHpolYq8Vv5970v3CqQByrCowguf6WkR0uNKYVuXhLPoKwPc7f1Xq0PFg==
   dependencies:
-    "@ckeditor/ckeditor5-ui" "^31.1.0"
+    "@ckeditor/ckeditor5-ui" "^34.0.0"
 
-"@ckeditor/ckeditor5-typing@^31.0.0", "@ckeditor/ckeditor5-typing@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-31.1.0.tgz#ce2c708d3ec283a9f16da0dd0dd6f7d82248ac5a"
-  integrity sha512-juskFEb1YrXLS+wcLEnc3GZtqkq95Q13sNAAyvKaEXzNphy4PBv+odLAwP7KCrxifVf278bgVxGDV5GPPAenOA==
+"@ckeditor/ckeditor5-typing@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-34.0.0.tgz#b1b613b7cdf3e88e3a06aa5b2f38aff671d123be"
+  integrity sha512-U7mTOUzEIdSk0xBjBLdLRu/cLAvJTpcRX4ejlk0cpDnWk4bNCCuwkXaIupBkKFzlouk96wSDF0MrtcLkYD9Jog==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^31.1.0"
-    "@ckeditor/ckeditor5-engine" "^31.1.0"
-    "@ckeditor/ckeditor5-utils" "^31.1.0"
+    "@ckeditor/ckeditor5-core" "^34.0.0"
+    "@ckeditor/ckeditor5-engine" "^34.0.0"
+    "@ckeditor/ckeditor5-utils" "^34.0.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-ui@^31.0.0", "@ckeditor/ckeditor5-ui@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-31.1.0.tgz#c17fde1b6f7a787072eb1b0c0c629593565a45de"
-  integrity sha512-fHBLsRK7XRxeewm1NH9idU4zUguhysQPEmEhqWOi+GRt2I0pYrc22GYNJF3yKMqp1LfiLi7GAT66X2RL9rCEaQ==
+"@ckeditor/ckeditor5-ui@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-34.0.0.tgz#32fdc755ee7d476b8b00832a2180b49c6b7e058f"
+  integrity sha512-GPFi/WIAP///yHROHBbwaU+zlLtS6O6L1pQJg/mf97pXSk/g7s1+xAfBAyyxvM8e75LqL57fGCh8Z+zwM81adA==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^31.1.0"
-    "@ckeditor/ckeditor5-utils" "^31.1.0"
+    "@ckeditor/ckeditor5-core" "^34.0.0"
+    "@ckeditor/ckeditor5-utils" "^34.0.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-undo@^31.0.0", "@ckeditor/ckeditor5-undo@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-31.1.0.tgz#910a110fd49e9c491793d7698a489e66e0a93294"
-  integrity sha512-eNWEP9E5Ji2W7NU6vCKOqjYW0+/xwXGkiExboTApudJDT1IWu2hqoaVQ+3eEWHWJbqCxIRSHif6+uYEBIoInXg==
+"@ckeditor/ckeditor5-undo@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-34.0.0.tgz#5302e073183a5c7b686c214c509684354ad33389"
+  integrity sha512-JxZBBNxW3r3VzTQCcDrYjFHXWjpKO9Nf1z0aLGGWsag6lgj1yZhhJtOzNhdHP19cvWLRlZL5oz23Qzei+Vnv1A==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^31.1.0"
-    "@ckeditor/ckeditor5-engine" "^31.1.0"
-    "@ckeditor/ckeditor5-ui" "^31.1.0"
+    "@ckeditor/ckeditor5-core" "^34.0.0"
+    "@ckeditor/ckeditor5-engine" "^34.0.0"
+    "@ckeditor/ckeditor5-ui" "^34.0.0"
 
-"@ckeditor/ckeditor5-upload@^31.0.0", "@ckeditor/ckeditor5-upload@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-31.1.0.tgz#b8ac2633590b02a2f69ad93fc715625c08ecf0ee"
-  integrity sha512-j+FNllYawZgTWCVOUSce/34SMfwgqNa2F7yvdmw4pmPSl8mlSZxSEYA9mLqbKpXwsuFY0iY14JQEB2bngNgTbA==
+"@ckeditor/ckeditor5-upload@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-34.0.0.tgz#19ef737d965f267811802f351730fa5503b322d0"
+  integrity sha512-kgb4lQta1QPLVEaIo5U/wv667BIDXJDisxmgIXhB74fyasrQCrFMdbLGzbWQfAO5erqAyeO0LRhmMghi2TIcfA==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^31.1.0"
-    "@ckeditor/ckeditor5-ui" "^31.1.0"
-    "@ckeditor/ckeditor5-utils" "^31.1.0"
+    "@ckeditor/ckeditor5-core" "^34.0.0"
+    "@ckeditor/ckeditor5-ui" "^34.0.0"
+    "@ckeditor/ckeditor5-utils" "^34.0.0"
 
-"@ckeditor/ckeditor5-utils@^31.0.0", "@ckeditor/ckeditor5-utils@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-31.1.0.tgz#c3f4589df5c5ec8224c96dcf692e07d24ad31d7f"
-  integrity sha512-l2C2m8uLxKTblXX6SY+k40tK9U4pFZ2WCYP1dc3B0qz5an+h7e5EqRz3kFs+MVw0HM6VCYWDFql/JZDAFonOmQ==
+"@ckeditor/ckeditor5-utils@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-34.0.0.tgz#3ef0c5777584b7229d7e728a91e7bf79bd0e26d4"
+  integrity sha512-zeZLv3F6flzuZ+/uHf6S21j6HzTMQyVzc7pTIpJ/mk+4IgQvSvNE92iTPBggtrKqOXqvEN7laCBPI2QpIt+fog==
   dependencies:
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-widget@^31.0.0", "@ckeditor/ckeditor5-widget@^31.1.0":
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-31.1.0.tgz#2c196e2f67f446b6f9231689b73faa822ff4f1d4"
-  integrity sha512-e/B2qjgwXHuj/Qo+cGAM7j3NTPXvTikL+wjEF5sh5a0w5el9Sv97tzew5rojkZ6ypQykE+1ue+F579b74n7QiQ==
-  dependencies:
-    "@ckeditor/ckeditor5-core" "^31.1.0"
-    "@ckeditor/ckeditor5-engine" "^31.1.0"
-    "@ckeditor/ckeditor5-enter" "^31.1.0"
-    "@ckeditor/ckeditor5-typing" "^31.1.0"
-    "@ckeditor/ckeditor5-ui" "^31.1.0"
-    "@ckeditor/ckeditor5-utils" "^31.1.0"
+"@ckeditor/ckeditor5-widget@^34.0.0":
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-34.0.0.tgz#830107614beccca61f18b8ebf35039a3665e0e7f"
+  integrity sha512-gpMaB0u3YJ5fVubjuYi/Wz522T6tbDfJiJ4LAp2tF71H8JLDQTvv3CIZP+DPdvyob9jVnJkhq9TscIiydGQgPA==
+  dependencies:
+    "@ckeditor/ckeditor5-core" "^34.0.0"
+    "@ckeditor/ckeditor5-engine" "^34.0.0"
+    "@ckeditor/ckeditor5-enter" "^34.0.0"
+    "@ckeditor/ckeditor5-typing" "^34.0.0"
+    "@ckeditor/ckeditor5-ui" "^34.0.0"
+    "@ckeditor/ckeditor5-utils" "^34.0.0"
     lodash-es "^4.17.15"
 
 "@cspell/cspell-bundled-dicts@^5.18.5":
@@ -1627,6 +1638,11 @@
   resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
   integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
 
+"@trysound/sax@0.2.0":
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
+  integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
+
 "@types/eslint-scope@^3.7.3":
   version "3.7.3"
   resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224"
@@ -1656,7 +1672,7 @@
     "@types/minimatch" "*"
     "@types/node" "*"
 
-"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8":
+"@types/json-schema@*", "@types/json-schema@^7.0.8":
   version "7.0.9"
   resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
   integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
@@ -1698,11 +1714,6 @@
   resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
   integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
 
-"@types/q@^1.5.1":
-  version "1.5.5"
-  resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df"
-  integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==
-
 "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2":
   version "2.0.6"
   resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
@@ -1931,17 +1942,12 @@ aggregate-error@^3.0.0:
     clean-stack "^2.0.0"
     indent-string "^4.0.0"
 
-ajv-errors@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
-  integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
-
-ajv-keywords@^3.1.0, ajv-keywords@^3.5.2:
+ajv-keywords@^3.5.2:
   version "3.5.2"
   resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
   integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
 
-ajv@^6.1.0, ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5:
+ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5:
   version "6.12.6"
   resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
   integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -1961,11 +1967,6 @@ ajv@^8.0.1:
     require-from-string "^2.0.2"
     uri-js "^4.2.2"
 
-alphanum-sort@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
-  integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=
-
 ansi-colors@3.2.3:
   version "3.2.3"
   resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813"
@@ -2296,7 +2297,7 @@ bluebird@^3.5.0:
   resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
   integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
 
-boolbase@^1.0.0, boolbase@~1.0.0:
+boolbase@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
   integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
@@ -2353,6 +2354,17 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4
     node-releases "^2.0.2"
     picocolors "^1.0.0"
 
+browserslist@^4.16.6:
+  version "4.20.2"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88"
+  integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==
+  dependencies:
+    caniuse-lite "^1.0.30001317"
+    electron-to-chromium "^1.4.84"
+    escalade "^3.1.1"
+    node-releases "^2.0.2"
+    picocolors "^1.0.0"
+
 buffer-crc32@~0.2.3:
   version "0.2.13"
   resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
@@ -2420,25 +2432,6 @@ call-me-maybe@^1.0.1:
   resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
   integrity sha1-JtII6onje1y95gJQoV8DHBak1ms=
 
-caller-callsite@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
-  integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=
-  dependencies:
-    callsites "^2.0.0"
-
-caller-path@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
-  integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=
-  dependencies:
-    caller-callsite "^2.0.0"
-
-callsites@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
-  integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=
-
 callsites@^3.0.0, callsites@^3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@@ -2478,6 +2471,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, can
   resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f"
   integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==
 
+caniuse-lite@^1.0.30001317:
+  version "1.0.30001328"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001328.tgz#0ed7a2ca65ec45872c613630201644237ba1e329"
+  integrity sha512-Ue55jHkR/s4r00FLNiX+hGMMuwml/QGqqzVeMQ5thUewznU2EdULFvI3JR7JJid6OrjJNfFvHY2G2dIjmRaDDQ==
+
 caseless@~0.12.0:
   version "0.12.0"
   resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
@@ -2490,7 +2488,7 @@ chai-nightwatch@^0.4.0:
   dependencies:
     assertion-error "1.1.0"
 
-chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2:
+chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2:
   version "2.4.2"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
   integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -2574,41 +2572,23 @@ ci-info@^2.0.0:
   resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
   integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
 
-ckeditor5@^31.0.0:
-  version "31.1.0"
-  resolved "https://registry.yarnpkg.com/ckeditor5/-/ckeditor5-31.1.0.tgz#abe8595e7cc64bd3e2b85cddfcab57caae3ecfef"
-  integrity sha512-uuU5JNeiLFIv6oMtSmHdKOmgO8ZjqoSqV/rJWSpc9yxXbhjjs3Gdb6lbF9f0V5OCvQSIBCTtYVYllzfXAXMyqA==
-  dependencies:
-    "@ckeditor/ckeditor5-clipboard" "^31.1.0"
-    "@ckeditor/ckeditor5-core" "^31.1.0"
-    "@ckeditor/ckeditor5-engine" "^31.1.0"
-    "@ckeditor/ckeditor5-enter" "^31.1.0"
-    "@ckeditor/ckeditor5-paragraph" "^31.1.0"
-    "@ckeditor/ckeditor5-select-all" "^31.1.0"
-    "@ckeditor/ckeditor5-typing" "^31.1.0"
-    "@ckeditor/ckeditor5-ui" "^31.1.0"
-    "@ckeditor/ckeditor5-undo" "^31.1.0"
-    "@ckeditor/ckeditor5-upload" "^31.1.0"
-    "@ckeditor/ckeditor5-utils" "^31.1.0"
-    "@ckeditor/ckeditor5-widget" "^31.1.0"
-
-ckeditor5@~31.0.0:
-  version "31.0.0"
-  resolved "https://registry.yarnpkg.com/ckeditor5/-/ckeditor5-31.0.0.tgz#304208c1796138c8d063895e8b962f321a627846"
-  integrity sha512-6e6RJWn4mk3xKASy4DiwF0wz165wxagYfWsun7nB0oM4/s7Ri8T6Ihr433RVdepwaVLwrEp70yjk5pbY02cU9A==
-  dependencies:
-    "@ckeditor/ckeditor5-clipboard" "^31.0.0"
-    "@ckeditor/ckeditor5-core" "^31.0.0"
-    "@ckeditor/ckeditor5-engine" "^31.0.0"
-    "@ckeditor/ckeditor5-enter" "^31.0.0"
-    "@ckeditor/ckeditor5-paragraph" "^31.0.0"
-    "@ckeditor/ckeditor5-select-all" "^31.0.0"
-    "@ckeditor/ckeditor5-typing" "^31.0.0"
-    "@ckeditor/ckeditor5-ui" "^31.0.0"
-    "@ckeditor/ckeditor5-undo" "^31.0.0"
-    "@ckeditor/ckeditor5-upload" "^31.0.0"
-    "@ckeditor/ckeditor5-utils" "^31.0.0"
-    "@ckeditor/ckeditor5-widget" "^31.0.0"
+ckeditor5@^34.0.0, ckeditor5@~34.0.0:
+  version "34.0.0"
+  resolved "https://registry.yarnpkg.com/ckeditor5/-/ckeditor5-34.0.0.tgz#1fa2489070dc02c0e9de3eaba0387cad7a39e4c9"
+  integrity sha512-6+iFm/4B/r3zq078+nbAa6VD1hacFvJ/lCwxDs1nYcQSnc0GtivvSTZ15EBIOs73kN8aZbLMiG8pGqFk+IM8XQ==
+  dependencies:
+    "@ckeditor/ckeditor5-clipboard" "^34.0.0"
+    "@ckeditor/ckeditor5-core" "^34.0.0"
+    "@ckeditor/ckeditor5-engine" "^34.0.0"
+    "@ckeditor/ckeditor5-enter" "^34.0.0"
+    "@ckeditor/ckeditor5-paragraph" "^34.0.0"
+    "@ckeditor/ckeditor5-select-all" "^34.0.0"
+    "@ckeditor/ckeditor5-typing" "^34.0.0"
+    "@ckeditor/ckeditor5-ui" "^34.0.0"
+    "@ckeditor/ckeditor5-undo" "^34.0.0"
+    "@ckeditor/ckeditor5-upload" "^34.0.0"
+    "@ckeditor/ckeditor5-utils" "^34.0.0"
+    "@ckeditor/ckeditor5-widget" "^34.0.0"
 
 class-utils@^0.3.5:
   version "0.3.6"
@@ -2640,7 +2620,7 @@ cli-cursor@^3.1.0:
   dependencies:
     restore-cursor "^3.1.0"
 
-cli-spinners@^2.2.0:
+cli-spinners@^2.2.0, cli-spinners@^2.6.1:
   version "2.6.1"
   resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d"
   integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==
@@ -2675,15 +2655,6 @@ clone@^1.0.2:
   resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
   integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
 
-coa@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
-  integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==
-  dependencies:
-    "@types/q" "^1.5.1"
-    chalk "^2.4.1"
-    q "^1.1.2"
-
 collection-visit@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
@@ -2692,7 +2663,7 @@ collection-visit@^1.0.0:
     map-visit "^1.0.0"
     object-visit "^1.0.0"
 
-color-convert@^1.9.0, color-convert@^1.9.3:
+color-convert@^1.9.0:
   version "1.9.3"
   resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
   integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
@@ -2711,26 +2682,15 @@ color-name@1.1.3:
   resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
   integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
 
-color-name@^1.0.0, color-name@~1.1.4:
+color-name@~1.1.4:
   version "1.1.4"
   resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
   integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
 
-color-string@^1.6.0:
-  version "1.9.0"
-  resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.0.tgz#63b6ebd1bec11999d1df3a79a7569451ac2be8aa"
-  integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==
-  dependencies:
-    color-name "^1.0.0"
-    simple-swizzle "^0.2.2"
-
-color@^3.0.0:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
-  integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
-  dependencies:
-    color-convert "^1.9.3"
-    color-string "^1.6.0"
+colord@^2.9.1:
+  version "2.9.2"
+  resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz#25e2bacbbaa65991422c07ea209e2089428effb1"
+  integrity sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==
 
 colorette@^2.0.14:
   version "2.0.16"
@@ -2749,7 +2709,7 @@ commander@^2.20.0:
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
   integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
 
-commander@^7.0.0:
+commander@^7.0.0, commander@^7.2.0:
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
   integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
@@ -2837,16 +2797,6 @@ core-util-is@^1.0.3, core-util-is@~1.0.0:
   resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
   integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
 
-cosmiconfig@^5.0.0:
-  version "5.2.1"
-  resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
-  integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
-  dependencies:
-    import-fresh "^2.0.0"
-    is-directory "^0.3.1"
-    js-yaml "^3.13.1"
-    parse-json "^4.0.0"
-
 cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:
   version "7.0.1"
   resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d"
@@ -2960,18 +2910,10 @@ css-blank-pseudo@^0.1.4:
   dependencies:
     postcss "^7.0.5"
 
-css-color-names@0.0.4, css-color-names@^0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
-  integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=
-
-css-declaration-sorter@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22"
-  integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==
-  dependencies:
-    postcss "^7.0.1"
-    timsort "^0.3.0"
+css-declaration-sorter@^6.2.2:
+  version "6.2.2"
+  resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz#bfd2f6f50002d6a3ae779a87d3a0c5d5b10e0f02"
+  integrity sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==
 
 css-has-pseudo@^0.10.0:
   version "0.10.0"
@@ -2988,30 +2930,18 @@ css-prefers-color-scheme@^3.1.1:
   dependencies:
     postcss "^7.0.5"
 
-css-select-base-adapter@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
-  integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
-
-css-select@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef"
-  integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==
+css-select@^4.1.3:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b"
+  integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
   dependencies:
     boolbase "^1.0.0"
-    css-what "^3.2.1"
-    domutils "^1.7.0"
-    nth-check "^1.0.2"
+    css-what "^6.0.1"
+    domhandler "^4.3.1"
+    domutils "^2.8.0"
+    nth-check "^2.0.1"
 
-css-tree@1.0.0-alpha.37:
-  version "1.0.0-alpha.37"
-  resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
-  integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==
-  dependencies:
-    mdn-data "2.0.4"
-    source-map "^0.6.1"
-
-css-tree@^1.1.2:
+css-tree@^1.1.2, css-tree@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
   integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
@@ -3019,10 +2949,10 @@ css-tree@^1.1.2:
     mdn-data "2.0.14"
     source-map "^0.6.1"
 
-css-what@^3.2.1:
-  version "3.4.2"
-  resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4"
-  integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==
+css-what@^6.0.1:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
+  integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
 
 css.escape@^1.5.1:
   version "1.5.1"
@@ -3044,75 +2974,56 @@ cssesc@^3.0.0:
   resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
   integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
 
-cssnano-preset-default@^4.0.8:
-  version "4.0.8"
-  resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff"
-  integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==
-  dependencies:
-    css-declaration-sorter "^4.0.1"
-    cssnano-util-raw-cache "^4.0.1"
-    postcss "^7.0.0"
-    postcss-calc "^7.0.1"
-    postcss-colormin "^4.0.3"
-    postcss-convert-values "^4.0.1"
-    postcss-discard-comments "^4.0.2"
-    postcss-discard-duplicates "^4.0.2"
-    postcss-discard-empty "^4.0.1"
-    postcss-discard-overridden "^4.0.1"
-    postcss-merge-longhand "^4.0.11"
-    postcss-merge-rules "^4.0.3"
-    postcss-minify-font-values "^4.0.2"
-    postcss-minify-gradients "^4.0.2"
-    postcss-minify-params "^4.0.2"
-    postcss-minify-selectors "^4.0.2"
-    postcss-normalize-charset "^4.0.1"
-    postcss-normalize-display-values "^4.0.2"
-    postcss-normalize-positions "^4.0.2"
-    postcss-normalize-repeat-style "^4.0.2"
-    postcss-normalize-string "^4.0.2"
-    postcss-normalize-timing-functions "^4.0.2"
-    postcss-normalize-unicode "^4.0.1"
-    postcss-normalize-url "^4.0.1"
-    postcss-normalize-whitespace "^4.0.2"
-    postcss-ordered-values "^4.1.2"
-    postcss-reduce-initial "^4.0.3"
-    postcss-reduce-transforms "^4.0.2"
-    postcss-svgo "^4.0.3"
-    postcss-unique-selectors "^4.0.1"
-
-cssnano-util-get-arguments@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f"
-  integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=
-
-cssnano-util-get-match@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d"
-  integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=
-
-cssnano-util-raw-cache@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282"
-  integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==
-  dependencies:
-    postcss "^7.0.0"
-
-cssnano-util-same-parent@^4.0.0:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
-  integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
+cssnano-preset-default@^5.2.7:
+  version "5.2.7"
+  resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz#791e3603fb8f1b46717ac53b47e3c418e950f5f3"
+  integrity sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==
+  dependencies:
+    css-declaration-sorter "^6.2.2"
+    cssnano-utils "^3.1.0"
+    postcss-calc "^8.2.3"
+    postcss-colormin "^5.3.0"
+    postcss-convert-values "^5.1.0"
+    postcss-discard-comments "^5.1.1"
+    postcss-discard-duplicates "^5.1.0"
+    postcss-discard-empty "^5.1.1"
+    postcss-discard-overridden "^5.1.0"
+    postcss-merge-longhand "^5.1.4"
+    postcss-merge-rules "^5.1.1"
+    postcss-minify-font-values "^5.1.0"
+    postcss-minify-gradients "^5.1.1"
+    postcss-minify-params "^5.1.2"
+    postcss-minify-selectors "^5.2.0"
+    postcss-normalize-charset "^5.1.0"
+    postcss-normalize-display-values "^5.1.0"
+    postcss-normalize-positions "^5.1.0"
+    postcss-normalize-repeat-style "^5.1.0"
+    postcss-normalize-string "^5.1.0"
+    postcss-normalize-timing-functions "^5.1.0"
+    postcss-normalize-unicode "^5.1.0"
+    postcss-normalize-url "^5.1.0"
+    postcss-normalize-whitespace "^5.1.1"
+    postcss-ordered-values "^5.1.1"
+    postcss-reduce-initial "^5.1.0"
+    postcss-reduce-transforms "^5.1.0"
+    postcss-svgo "^5.1.0"
+    postcss-unique-selectors "^5.1.1"
+
+cssnano-utils@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861"
+  integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==
 
-cssnano@^4.0.0:
-  version "4.1.11"
-  resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99"
-  integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==
+cssnano@^5.0.0:
+  version "5.1.7"
+  resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.7.tgz#99858bef6c76c9240f0cdc9239570bc7db8368be"
+  integrity sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==
   dependencies:
-    cosmiconfig "^5.0.0"
-    cssnano-preset-default "^4.0.8"
-    is-resolvable "^1.0.0"
-    postcss "^7.0.0"
+    cssnano-preset-default "^5.2.7"
+    lilconfig "^2.0.3"
+    yaml "^1.10.2"
 
-csso@^4.0.2:
+csso@^4.2.0:
   version "4.2.0"
   resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
   integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
@@ -3366,6 +3277,15 @@ dom-serializer@0:
     domelementtype "^2.0.1"
     entities "^2.0.0"
 
+dom-serializer@^1.0.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30"
+  integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
+  dependencies:
+    domelementtype "^2.0.1"
+    domhandler "^4.2.0"
+    entities "^2.0.0"
+
 domelementtype@1, domelementtype@^1.3.1:
   version "1.3.1"
   resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
@@ -3376,6 +3296,11 @@ domelementtype@^2.0.1:
   resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
   integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
 
+domelementtype@^2.2.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
+  integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
 domexception@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673"
@@ -3390,7 +3315,14 @@ domhandler@^2.3.0:
   dependencies:
     domelementtype "1"
 
-domutils@^1.5.1, domutils@^1.7.0:
+domhandler@^4.2.0, domhandler@^4.3.1:
+  version "4.3.1"
+  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
+  integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+  dependencies:
+    domelementtype "^2.2.0"
+
+domutils@^1.5.1:
   version "1.7.0"
   resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
   integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
@@ -3398,6 +3330,15 @@ domutils@^1.5.1, domutils@^1.7.0:
     dom-serializer "0"
     domelementtype "1"
 
+domutils@^2.8.0:
+  version "2.8.0"
+  resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
+  integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+  dependencies:
+    dom-serializer "^1.0.1"
+    domelementtype "^2.2.0"
+    domhandler "^4.2.0"
+
 dot-prop@^5.2.0:
   version "5.3.0"
   resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
@@ -3442,6 +3383,11 @@ electron-to-chromium@^1.4.71:
   resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.75.tgz#d1ad9bb46f2f1bf432118c2be21d27ffeae82fdd"
   integrity sha512-LxgUNeu3BVU7sXaKjUDD9xivocQLxFtq6wgERrutdY/yIOps3ODOZExK1jg8DTEg4U8TUCb5MLGeWFOYuxjF3Q==
 
+electron-to-chromium@^1.4.84:
+  version "1.4.107"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.107.tgz#564257014ab14033b4403a309c813123c58a3fb9"
+  integrity sha512-Huen6taaVrUrSy8o7mGStByba8PfOWWluHNxSHGBrCgEdFVLtvdQDBr9LBCF9Uci8SYxh28QNNMO0oC17wbGAg==
+
 emoji-regex@^7.0.1:
   version "7.0.3"
   resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
@@ -3506,7 +3452,7 @@ error-ex@^1.3.1:
   dependencies:
     is-arrayish "^0.2.1"
 
-es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1:
+es-abstract@^1.19.0, es-abstract@^1.19.1:
   version "1.19.1"
   resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3"
   integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==
@@ -4501,7 +4447,7 @@ has-values@^1.0.0:
     is-number "^3.0.0"
     kind-of "^4.0.0"
 
-has@^1.0.0, has@^1.0.3:
+has@^1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
   integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
@@ -4513,11 +4459,6 @@ he@1.2.0:
   resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
   integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
 
-hex-color-regex@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
-  integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
-
 hosted-git-info@^2.1.4:
   version "2.8.9"
   resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
@@ -4530,16 +4471,6 @@ hosted-git-info@^4.0.1:
   dependencies:
     lru-cache "^6.0.0"
 
-hsl-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e"
-  integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=
-
-hsla-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"
-  integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg=
-
 html-encoding-sniffer@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9"
@@ -4644,21 +4575,6 @@ ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0:
   resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
   integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
 
-import-cwd@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
-  integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=
-  dependencies:
-    import-from "^2.1.0"
-
-import-fresh@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
-  integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY=
-  dependencies:
-    caller-path "^2.0.0"
-    resolve-from "^3.0.0"
-
 import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0:
   version "3.3.0"
   resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@@ -4667,13 +4583,6 @@ import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0:
     parent-module "^1.0.0"
     resolve-from "^4.0.0"
 
-import-from@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1"
-  integrity sha1-M1238qev/VOqpHHUuAId7ja387E=
-  dependencies:
-    resolve-from "^3.0.0"
-
 import-lazy@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153"
@@ -4754,11 +4663,6 @@ ip@^1.1.5:
   resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
   integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
 
-is-absolute-url@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
-  integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=
-
 is-accessor-descriptor@^0.1.6:
   version "0.1.6"
   resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
@@ -4791,11 +4695,6 @@ is-arrayish@^0.2.1:
   resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
   integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
 
-is-arrayish@^0.3.1:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
-  integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
-
 is-bigint@^1.0.1:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
@@ -4833,18 +4732,6 @@ is-callable@^1.1.4, is-callable@^1.2.4:
   resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
   integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
 
-is-color-stop@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345"
-  integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=
-  dependencies:
-    css-color-names "^0.0.4"
-    hex-color-regex "^1.1.0"
-    hsl-regex "^1.0.0"
-    hsla-regex "^1.0.0"
-    rgb-regex "^1.0.1"
-    rgba-regex "^1.0.0"
-
 is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.0, is-core-module@^2.8.1:
   version "2.8.1"
   resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
@@ -4896,11 +4783,6 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2:
     is-data-descriptor "^1.0.0"
     kind-of "^6.0.2"
 
-is-directory@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
-  integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
-
 is-extendable@^0.1.0, is-extendable@^0.1.1:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
@@ -5026,11 +4908,6 @@ is-regexp@^2.0.0:
   resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d"
   integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==
 
-is-resolvable@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
-  integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
-
 is-shared-array-buffer@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6"
@@ -5138,7 +5015,7 @@ javascript-stringify@^1.6.0:
   resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-1.6.0.tgz#142d111f3a6e3dae8f4a9afd77d45855b5a9cce3"
   integrity sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=
 
-jest-worker@^26.2.1:
+jest-worker@^26.5.0:
   version "26.6.2"
   resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed"
   integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==
@@ -5174,7 +5051,14 @@ jquery-once@^2.2.3:
   dependencies:
     jquery "*"
 
-jquery@*, jquery@>=1.7.2, jquery@^3.6.0:
+jquery-ui@~1.13.1:
+  version "1.13.1"
+  resolved "https://registry.yarnpkg.com/jquery-ui/-/jquery-ui-1.13.1.tgz#d0b7a42e73a04c31bb5706adf86f6f8942f64eaa"
+  integrity sha512-2VlU59N5P4HaumDK1Z3XEVjSvegFbEOQRgpHUBaB2Ak98Axl3hFhJ6RFcNQNuk9SfL6WxIbuLst8dW/U56NSiA==
+  dependencies:
+    jquery ">=1.8.0 <4.0.0"
+
+jquery@*, jquery@>=1.7.2, "jquery@>=1.8.0 <4.0.0", jquery@^3.6.0:
   version "3.6.0"
   resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470"
   integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==
@@ -5253,7 +5137,7 @@ jsesc@~0.5.0:
   resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
   integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
 
-json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
+json-parse-better-errors@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
   integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
@@ -5360,6 +5244,11 @@ kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3:
   resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
   integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
 
+klona@^2.0.4:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc"
+  integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==
+
 known-css-properties@^0.21.0:
   version "0.21.0"
   resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.21.0.tgz#15fbd0bbb83447f3ce09d8af247ed47c68ede80d"
@@ -5393,6 +5282,11 @@ levn@~0.3.0:
     prelude-ls "~1.1.2"
     type-check "~0.3.2"
 
+lilconfig@^2.0.3:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25"
+  integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==
+
 lines-and-columns@^1.1.6:
   version "1.2.4"
   resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
@@ -5403,15 +5297,6 @@ loader-runner@^4.2.0:
   resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384"
   integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==
 
-loader-utils@^1.1.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
-  integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
-  dependencies:
-    big.js "^5.2.2"
-    emojis-list "^3.0.0"
-    json5 "^1.0.1"
-
 loader-utils@^2.0.0:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129"
@@ -5702,11 +5587,6 @@ mdn-data@2.0.14:
   resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
   integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
 
-mdn-data@2.0.4:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
-  integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
-
 meow@^9.0.0:
   version "9.0.0"
   resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364"
@@ -5876,7 +5756,7 @@ mkdirp@0.5.4:
   dependencies:
     minimist "^1.2.5"
 
-mkdirp@^0.5.0, mkdirp@~0.5.1:
+mkdirp@^0.5.0:
   version "0.5.5"
   resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
   integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
@@ -5947,6 +5827,11 @@ mute-stream@0.0.8:
   resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
   integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
 
+nanoid@^3.3.1:
+  version "3.3.2"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.2.tgz#c89622fafb4381cd221421c69ec58547a1eec557"
+  integrity sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==
+
 nanomatch@^1.2.9:
   version "1.2.13"
   resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -6054,10 +5939,10 @@ normalize-selector@^0.2.0:
   resolved "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03"
   integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=
 
-normalize-url@^3.0.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
-  integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
+normalize-url@^6.0.1:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a"
+  integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
 
 normalize.css@^8.0.1:
   version "8.0.1"
@@ -6071,12 +5956,12 @@ npm-run-path@^4.0.1:
   dependencies:
     path-key "^3.0.0"
 
-nth-check@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
-  integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
+nth-check@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2"
+  integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==
   dependencies:
-    boolbase "~1.0.0"
+    boolbase "^1.0.0"
 
 num2fraction@^1.2.2:
   version "1.2.2"
@@ -6162,7 +6047,7 @@ object.fromentries@^2.0.5:
     define-properties "^1.1.3"
     es-abstract "^1.19.1"
 
-object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0:
+object.getownpropertydescriptors@^2.0.3:
   version "2.1.3"
   resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e"
   integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==
@@ -6186,7 +6071,7 @@ object.pick@^1.3.0:
   dependencies:
     isobject "^3.0.1"
 
-object.values@^1.1.0, object.values@^1.1.5:
+object.values@^1.1.5:
   version "1.1.5"
   resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac"
   integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==
@@ -6370,14 +6255,6 @@ parse-entities@^2.0.0:
     is-decimal "^1.0.0"
     is-hexadecimal "^1.0.0"
 
-parse-json@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
-  integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
-  dependencies:
-    error-ex "^1.3.1"
-    json-parse-better-errors "^1.0.1"
-
 parse-json@^5.0.0:
   version "5.2.0"
   resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
@@ -6531,6 +6408,14 @@ postcss-calc@^7.0.1:
     postcss-selector-parser "^6.0.2"
     postcss-value-parser "^4.0.2"
 
+postcss-calc@^8.2.3:
+  version "8.2.4"
+  resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5"
+  integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==
+  dependencies:
+    postcss-selector-parser "^6.0.9"
+    postcss-value-parser "^4.2.0"
+
 postcss-color-functional-notation@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0"
@@ -6573,24 +6458,22 @@ postcss-color-rebeccapurple@^4.0.1:
     postcss "^7.0.2"
     postcss-values-parser "^2.0.0"
 
-postcss-colormin@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381"
-  integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==
+postcss-colormin@^5.3.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a"
+  integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==
   dependencies:
-    browserslist "^4.0.0"
-    color "^3.0.0"
-    has "^1.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    browserslist "^4.16.6"
+    caniuse-api "^3.0.0"
+    colord "^2.9.1"
+    postcss-value-parser "^4.2.0"
 
-postcss-convert-values@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f"
-  integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==
+postcss-convert-values@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz#f8d3abe40b4ce4b1470702a0706343eac17e7c10"
+  integrity sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==
   dependencies:
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    postcss-value-parser "^4.2.0"
 
 postcss-custom-media@^7.0.8:
   version "7.0.8"
@@ -6623,33 +6506,25 @@ postcss-dir-pseudo-class@^5.0.0:
     postcss "^7.0.2"
     postcss-selector-parser "^5.0.0-rc.3"
 
-postcss-discard-comments@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033"
-  integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==
-  dependencies:
-    postcss "^7.0.0"
+postcss-discard-comments@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz#e90019e1a0e5b99de05f63516ce640bd0df3d369"
+  integrity sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==
 
-postcss-discard-duplicates@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb"
-  integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==
-  dependencies:
-    postcss "^7.0.0"
+postcss-discard-duplicates@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848"
+  integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==
 
-postcss-discard-empty@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765"
-  integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==
-  dependencies:
-    postcss "^7.0.0"
+postcss-discard-empty@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c"
+  integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==
 
-postcss-discard-overridden@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57"
-  integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==
-  dependencies:
-    postcss "^7.0.0"
+postcss-discard-overridden@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e"
+  integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==
 
 postcss-double-position-gradients@^1.0.0:
   version "1.0.0"
@@ -6718,7 +6593,7 @@ postcss-image-set-function@^3.0.1:
     postcss "^7.0.2"
     postcss-values-parser "^2.0.0"
 
-postcss-import@^12.0.0, postcss-import@^12.0.1:
+postcss-import@^12.0.1:
   version "12.0.1"
   resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-12.0.1.tgz#cf8c7ab0b5ccab5649024536e565f841928b7153"
   integrity sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==
@@ -6728,6 +6603,15 @@ postcss-import@^12.0.0, postcss-import@^12.0.1:
     read-cache "^1.0.0"
     resolve "^1.1.7"
 
+postcss-import@^14.0.2:
+  version "14.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0"
+  integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==
+  dependencies:
+    postcss-value-parser "^4.0.0"
+    read-cache "^1.0.0"
+    resolve "^1.1.7"
+
 postcss-initial@^3.0.0:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53"
@@ -6759,23 +6643,16 @@ postcss-less@^3.1.4:
   dependencies:
     postcss "^7.0.14"
 
-postcss-load-config@^2.0.0:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a"
-  integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==
-  dependencies:
-    cosmiconfig "^5.0.0"
-    import-cwd "^2.0.0"
-
-postcss-loader@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d"
-  integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==
+postcss-loader@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.3.0.tgz#2c4de9657cd4f07af5ab42bd60a673004da1b8cc"
+  integrity sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==
   dependencies:
-    loader-utils "^1.1.0"
-    postcss "^7.0.0"
-    postcss-load-config "^2.0.0"
-    schema-utils "^1.0.0"
+    cosmiconfig "^7.0.0"
+    klona "^2.0.4"
+    loader-utils "^2.0.0"
+    schema-utils "^3.0.0"
+    semver "^7.3.4"
 
 postcss-logical@^3.0.0:
   version "3.0.0"
@@ -6796,69 +6673,57 @@ postcss-media-query-parser@^0.2.3:
   resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244"
   integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=
 
-postcss-merge-longhand@^4.0.11:
-  version "4.0.11"
-  resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
-  integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==
+postcss-merge-longhand@^5.1.4:
+  version "5.1.4"
+  resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz#0f46f8753989a33260efc47de9a0cdc571f2ec5c"
+  integrity sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA==
   dependencies:
-    css-color-names "0.0.4"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-    stylehacks "^4.0.0"
+    postcss-value-parser "^4.2.0"
+    stylehacks "^5.1.0"
 
-postcss-merge-rules@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650"
-  integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==
+postcss-merge-rules@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz#d327b221cd07540bcc8d9ff84446d8b404d00162"
+  integrity sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==
   dependencies:
-    browserslist "^4.0.0"
+    browserslist "^4.16.6"
     caniuse-api "^3.0.0"
-    cssnano-util-same-parent "^4.0.0"
-    postcss "^7.0.0"
-    postcss-selector-parser "^3.0.0"
-    vendors "^1.0.0"
+    cssnano-utils "^3.1.0"
+    postcss-selector-parser "^6.0.5"
 
-postcss-minify-font-values@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6"
-  integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==
+postcss-minify-font-values@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b"
+  integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==
   dependencies:
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-minify-gradients@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471"
-  integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==
+postcss-minify-gradients@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c"
+  integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==
   dependencies:
-    cssnano-util-get-arguments "^4.0.0"
-    is-color-stop "^1.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    colord "^2.9.1"
+    cssnano-utils "^3.1.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-minify-params@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874"
-  integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==
+postcss-minify-params@^5.1.2:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz#77e250780c64198289c954884ebe3ee4481c3b1c"
+  integrity sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==
   dependencies:
-    alphanum-sort "^1.0.0"
-    browserslist "^4.0.0"
-    cssnano-util-get-arguments "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-    uniqs "^2.0.0"
+    browserslist "^4.16.6"
+    cssnano-utils "^3.1.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-minify-selectors@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8"
-  integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==
+postcss-minify-selectors@^5.2.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz#17c2be233e12b28ffa8a421a02fc8b839825536c"
+  integrity sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==
   dependencies:
-    alphanum-sort "^1.0.0"
-    has "^1.0.0"
-    postcss "^7.0.0"
-    postcss-selector-parser "^3.0.0"
+    postcss-selector-parser "^6.0.5"
 
-postcss-mixins@^6.2.0:
+postcss-mixins@^6.2.3:
   version "6.2.3"
   resolved "https://registry.yarnpkg.com/postcss-mixins/-/postcss-mixins-6.2.3.tgz#021893ba455d04b5baa052bf196297ddd70e4af1"
   integrity sha512-gfH5d09YilzDn/CLGFA9Lwv7GTezuyHgnAyXC8AfvhUMpl67ZTewhcpNuOgawClCOD+76XePE2IHO1xMgsOlvA==
@@ -6869,102 +6734,83 @@ postcss-mixins@^6.2.0:
     postcss-simple-vars "^5.0.2"
     sugarss "^2.0.0"
 
-postcss-nesting@^7.0.0:
+postcss-nesting@^7.0.0, postcss-nesting@^7.0.1:
   version "7.0.1"
   resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052"
   integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==
   dependencies:
     postcss "^7.0.2"
 
-postcss-normalize-charset@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4"
-  integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==
-  dependencies:
-    postcss "^7.0.0"
+postcss-normalize-charset@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed"
+  integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==
 
-postcss-normalize-display-values@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a"
-  integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==
+postcss-normalize-display-values@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8"
+  integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==
   dependencies:
-    cssnano-util-get-match "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-positions@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f"
-  integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==
+postcss-normalize-positions@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz#902a7cb97cf0b9e8b1b654d4a43d451e48966458"
+  integrity sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==
   dependencies:
-    cssnano-util-get-arguments "^4.0.0"
-    has "^1.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-repeat-style@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c"
-  integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==
+postcss-normalize-repeat-style@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz#f6d6fd5a54f51a741cc84a37f7459e60ef7a6398"
+  integrity sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==
   dependencies:
-    cssnano-util-get-arguments "^4.0.0"
-    cssnano-util-get-match "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-string@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c"
-  integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==
+postcss-normalize-string@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228"
+  integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==
   dependencies:
-    has "^1.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-timing-functions@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9"
-  integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==
+postcss-normalize-timing-functions@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb"
+  integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==
   dependencies:
-    cssnano-util-get-match "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-unicode@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb"
-  integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==
+postcss-normalize-unicode@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz#3d23aede35e160089a285e27bf715de11dc9db75"
+  integrity sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==
   dependencies:
-    browserslist "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    browserslist "^4.16.6"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-url@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1"
-  integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==
+postcss-normalize-url@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc"
+  integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==
   dependencies:
-    is-absolute-url "^2.0.0"
-    normalize-url "^3.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    normalize-url "^6.0.1"
+    postcss-value-parser "^4.2.0"
 
-postcss-normalize-whitespace@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82"
-  integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==
+postcss-normalize-whitespace@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa"
+  integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==
   dependencies:
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    postcss-value-parser "^4.2.0"
 
-postcss-ordered-values@^4.1.2:
-  version "4.1.2"
-  resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee"
-  integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==
+postcss-ordered-values@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz#0b41b610ba02906a3341e92cab01ff8ebc598adb"
+  integrity sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==
   dependencies:
-    cssnano-util-get-arguments "^4.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    cssnano-utils "^3.1.0"
+    postcss-value-parser "^4.2.0"
 
 postcss-overflow-shorthand@^2.0.0:
   version "2.0.0"
@@ -7046,25 +6892,20 @@ postcss-pxtorem@^5.1.1:
   dependencies:
     postcss "^7.0.27"
 
-postcss-reduce-initial@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df"
-  integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==
+postcss-reduce-initial@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz#fc31659ea6e85c492fb2a7b545370c215822c5d6"
+  integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==
   dependencies:
-    browserslist "^4.0.0"
+    browserslist "^4.16.6"
     caniuse-api "^3.0.0"
-    has "^1.0.0"
-    postcss "^7.0.0"
 
-postcss-reduce-transforms@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29"
-  integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==
+postcss-reduce-transforms@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9"
+  integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==
   dependencies:
-    cssnano-util-get-match "^4.0.0"
-    has "^1.0.0"
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
+    postcss-value-parser "^4.2.0"
 
 postcss-replace-overflow-wrap@^3.0.0:
   version "3.0.0"
@@ -7116,15 +6957,6 @@ postcss-selector-not@^4.0.0:
     balanced-match "^1.0.0"
     postcss "^7.0.2"
 
-postcss-selector-parser@^3.0.0:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270"
-  integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==
-  dependencies:
-    dot-prop "^5.2.0"
-    indexes-of "^1.0.1"
-    uniq "^1.0.1"
-
 postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c"
@@ -7142,6 +6974,14 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.5:
     cssesc "^3.0.0"
     util-deprecate "^1.0.2"
 
+postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.9:
+  version "6.0.10"
+  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d"
+  integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
+  dependencies:
+    cssesc "^3.0.0"
+    util-deprecate "^1.0.2"
+
 postcss-simple-vars@^5.0.2:
   version "5.0.2"
   resolved "https://registry.yarnpkg.com/postcss-simple-vars/-/postcss-simple-vars-5.0.2.tgz#e2f81b3d0847ddd4169816b6d141b91d51e6e22e"
@@ -7157,28 +6997,25 @@ postcss-sorting@^5.0.1:
     lodash "^4.17.14"
     postcss "^7.0.17"
 
-postcss-svgo@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e"
-  integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==
+postcss-svgo@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d"
+  integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==
   dependencies:
-    postcss "^7.0.0"
-    postcss-value-parser "^3.0.0"
-    svgo "^1.0.0"
+    postcss-value-parser "^4.2.0"
+    svgo "^2.7.0"
 
 postcss-syntax@^0.36.2:
   version "0.36.2"
   resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c"
   integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==
 
-postcss-unique-selectors@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac"
-  integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==
+postcss-unique-selectors@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6"
+  integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==
   dependencies:
-    alphanum-sort "^1.0.0"
-    postcss "^7.0.0"
-    uniqs "^2.0.0"
+    postcss-selector-parser "^6.0.5"
 
 postcss-url@^8.0.0:
   version "8.0.0"
@@ -7191,12 +7028,12 @@ postcss-url@^8.0.0:
     postcss "^7.0.2"
     xxhashjs "^0.2.1"
 
-postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3:
+postcss-value-parser@^3.2.3:
   version "3.3.1"
   resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
   integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
 
-postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
+postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
   version "4.2.0"
   resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
   integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
@@ -7210,7 +7047,7 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1:
     indexes-of "^1.0.1"
     uniq "^1.0.1"
 
-postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6:
+postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6:
   version "7.0.39"
   resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309"
   integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==
@@ -7218,6 +7055,15 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.1
     picocolors "^0.2.1"
     source-map "^0.6.1"
 
+postcss@^8.4.12:
+  version "8.4.12"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905"
+  integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==
+  dependencies:
+    nanoid "^3.3.1"
+    picocolors "^1.0.0"
+    source-map-js "^1.0.2"
+
 prelude-ls@^1.2.1:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@@ -7296,11 +7142,6 @@ punycode@^2.1.0, punycode@^2.1.1:
   resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
   integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
 
-q@^1.1.2:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
-  integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
-
 qs@~6.5.2:
   version "6.5.3"
   resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
@@ -7587,11 +7428,6 @@ resolve-cwd@^3.0.0:
   dependencies:
     resolve-from "^5.0.0"
 
-resolve-from@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
-  integrity sha1-six699nWiBvItuZTM17rywoYh0g=
-
 resolve-from@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
@@ -7649,16 +7485,6 @@ reusify@^1.0.4:
   resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
   integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
 
-rgb-regex@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"
-  integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE=
-
-rgba-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
-  integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-
 rimraf@^3.0.0, rimraf@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
@@ -7695,11 +7521,6 @@ safe-regex@^1.1.0:
   resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
   integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
 
-sax@~1.2.4:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
-  integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
-
 saxes@^5.0.1:
   version "5.0.1"
   resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d"
@@ -7707,24 +7528,6 @@ saxes@^5.0.1:
   dependencies:
     xmlchars "^2.2.0"
 
-schema-utils@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
-  integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
-  dependencies:
-    ajv "^6.1.0"
-    ajv-errors "^1.0.0"
-    ajv-keywords "^3.1.0"
-
-schema-utils@^2.6.6, schema-utils@^2.7.0:
-  version "2.7.1"
-  resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7"
-  integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
-  dependencies:
-    "@types/json-schema" "^7.0.5"
-    ajv "^6.12.4"
-    ajv-keywords "^3.5.2"
-
 schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
@@ -7756,10 +7559,10 @@ semver@^7.2.1, semver@^7.3.4, semver@^7.3.5:
   dependencies:
     lru-cache "^6.0.0"
 
-serialize-javascript@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
-  integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==
+serialize-javascript@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4"
+  integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==
   dependencies:
     randombytes "^2.1.0"
 
@@ -7841,13 +7644,6 @@ signal-exit@^3.0.2, signal-exit@^3.0.3:
   resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
   integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
 
-simple-swizzle@^0.2.2:
-  version "0.2.2"
-  resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
-  integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
-  dependencies:
-    is-arrayish "^0.3.1"
-
 slash@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
@@ -7934,6 +7730,11 @@ source-list-map@^2.0.0, source-list-map@^2.0.1:
   resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
   integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
 
+source-map-js@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
 source-map-resolve@^0.5.0:
   version "0.5.3"
   resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
@@ -7945,7 +7746,7 @@ source-map-resolve@^0.5.0:
     source-map-url "^0.4.0"
     urix "^0.1.0"
 
-source-map-support@^0.5.16, source-map-support@~0.5.12, source-map-support@~0.5.20:
+source-map-support@^0.5.16, source-map-support@~0.5.20:
   version "0.5.21"
   resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
   integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
@@ -8177,27 +7978,26 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
   resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
   integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
 
-style-loader@^1.2.1:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e"
-  integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==
+style-loader@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c"
+  integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==
   dependencies:
     loader-utils "^2.0.0"
-    schema-utils "^2.7.0"
+    schema-utils "^3.0.0"
 
 style-search@^0.1.0:
   version "0.1.0"
   resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902"
   integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=
 
-stylehacks@^4.0.0:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5"
-  integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==
+stylehacks@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.0.tgz#a40066490ca0caca04e96c6b02153ddc39913520"
+  integrity sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==
   dependencies:
-    browserslist "^4.0.0"
-    postcss "^7.0.0"
-    postcss-selector-parser "^3.0.0"
+    browserslist "^4.16.6"
+    postcss-selector-parser "^6.0.4"
 
 stylelint-checkstyle-formatter@^0.1.1:
   version "0.1.2"
@@ -8326,24 +8126,18 @@ svg-tags@^1.0.0:
   resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
   integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=
 
-svgo@^1.0.0:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
-  integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==
-  dependencies:
-    chalk "^2.4.1"
-    coa "^2.0.2"
-    css-select "^2.0.0"
-    css-select-base-adapter "^0.1.1"
-    css-tree "1.0.0-alpha.37"
-    csso "^4.0.2"
-    js-yaml "^3.13.1"
-    mkdirp "~0.5.1"
-    object.values "^1.1.0"
-    sax "~1.2.4"
+svgo@^2.7.0:
+  version "2.8.0"
+  resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24"
+  integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==
+  dependencies:
+    "@trysound/sax" "0.2.0"
+    commander "^7.2.0"
+    css-select "^4.1.3"
+    css-tree "^1.1.3"
+    csso "^4.2.0"
+    picocolors "^1.0.0"
     stable "^0.1.8"
-    unquote "~1.1.1"
-    util.promisify "~1.0.0"
 
 symbol-tree@^3.2.4:
   version "3.2.4"
@@ -8391,19 +8185,19 @@ tcp-port-used@^1.0.1:
     debug "4.3.1"
     is2 "^2.0.6"
 
-terser-webpack-plugin@^3.0.2:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-3.1.0.tgz#91e6d39571460ed240c0cf69d295bcf30ebf98cb"
-  integrity sha512-cjdZte66fYkZ65rQ2oJfrdCAkkhJA7YLYk5eGOcGCSGlq0ieZupRdjedSQXYknMPo2IveQL+tPdrxUkERENCFA==
+terser-webpack-plugin@^4.2.3:
+  version "4.2.3"
+  resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz#28daef4a83bd17c1db0297070adc07fc8cfc6a9a"
+  integrity sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==
   dependencies:
     cacache "^15.0.5"
     find-cache-dir "^3.3.1"
-    jest-worker "^26.2.1"
+    jest-worker "^26.5.0"
     p-limit "^3.0.2"
-    schema-utils "^2.6.6"
-    serialize-javascript "^4.0.0"
+    schema-utils "^3.0.0"
+    serialize-javascript "^5.0.1"
     source-map "^0.6.1"
-    terser "^4.8.0"
+    terser "^5.3.4"
     webpack-sources "^1.4.3"
 
 terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.0:
@@ -8417,15 +8211,6 @@ terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.0:
     source-map "^0.6.1"
     terser "^5.7.2"
 
-terser@^4.8.0:
-  version "4.8.0"
-  resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17"
-  integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==
-  dependencies:
-    commander "^2.20.0"
-    source-map "~0.6.1"
-    source-map-support "~0.5.12"
-
 terser@^5.3.4, terser@^5.7.2:
   version "5.12.0"
   resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.0.tgz#728c6bff05f7d1dcb687d8eace0644802a9dae8a"
@@ -8449,11 +8234,6 @@ through2@^3.0.1:
     inherits "^2.0.4"
     readable-stream "2 || 3"
 
-timsort@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
-  integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=
-
 to-fast-properties@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
@@ -8663,11 +8443,6 @@ uniq@^1.0.1:
   resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
   integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=
 
-uniqs@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
-  integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI=
-
 unique-filename@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
@@ -8723,11 +8498,6 @@ unpipe@1.0.0:
   resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
   integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
 
-unquote@~1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
-  integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=
-
 unset-value@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
@@ -8758,16 +8528,6 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2:
   resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
   integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
 
-util.promisify@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
-  integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
-  dependencies:
-    define-properties "^1.1.3"
-    es-abstract "^1.17.2"
-    has-symbols "^1.0.1"
-    object.getownpropertydescriptors "^2.1.0"
-
 uuid@^3.3.2:
   version "3.4.0"
   resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
@@ -8786,11 +8546,6 @@ validate-npm-package-license@^3.0.1:
     spdx-correct "^3.0.0"
     spdx-expression-parse "^3.0.0"
 
-vendors@^1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"
-  integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==
-
 verror@1.10.0:
   version "1.10.0"
   resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
@@ -9089,7 +8844,7 @@ yaml-eslint-parser@^0.4.0:
     lodash "^4.17.20"
     yaml "^1.10.0"
 
-yaml@^1.10.0:
+yaml@^1.10.0, yaml@^1.10.2:
   version "1.10.2"
   resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
   integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
-- 
GitLab