eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"applyFormat\", function() { return applyFormat; });\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _normalise_formats__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./normalise-formats */ \"./node_modules/@wordpress/rich-text/build-module/normalise-formats.js\");\n/**\n * External dependencies\n */\n\n/**\n * Internal dependencies\n */\n\n\n/**\n * Apply a format object to a Rich Text value from the given `startIndex` to the\n * given `endIndex`. Indices are retrieved from the selection if none are\n * provided.\n *\n * @param {Object} value Value to modify.\n * @param {Object} format Format to apply.\n * @param {number} startIndex Start index.\n * @param {number} endIndex End index.\n *\n * @return {Object} A new value with the format applied.\n */\n\nfunction applyFormat(_ref, format) {\n var formats = _ref.formats,\n text = _ref.text,\n start = _ref.start,\n end = _ref.end;\n var startIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : start;\n var endIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : end;\n var newFormats = formats.slice(0); // The selection is collpased.\n\n if (startIndex === endIndex) {\n var startFormat = Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"find\"])(newFormats[startIndex], {\n type: format.type\n }); // If the caret is at a format of the same type, expand start and end to\n // the edges of the format. This is useful to apply new attributes.\n\n if (startFormat) {\n while (Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"find\"])(newFormats[startIndex], startFormat)) {\n applyFormats(newFormats, startIndex, format);\n startIndex--;\n }\n\n endIndex++;\n\n while (Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"find\"])(newFormats[endIndex], startFormat)) {\n applyFormats(newFormats, endIndex, format);\n endIndex++;\n } // Otherwise, insert a placeholder with the format so new input appears\n // with the format applied.\n\n } else {\n var previousFormat = newFormats[startIndex - 1] || [];\n var hasType = Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"find\"])(previousFormat, {\n type: format.type\n });\n return {\n formats: formats,\n text: text,\n start: start,\n end: end,\n formatPlaceholder: {\n index: startIndex,\n format: hasType ? undefined : format\n }\n };\n }\n } else {\n for (var index = startIndex; index < endIndex; index++) {\n applyFormats(newFormats, index, format);\n }\n }\n\n return Object(_normalise_formats__WEBPACK_IMPORTED_MODULE_1__[\"normaliseFormats\"])({\n formats: newFormats,\n text: text,\n start: start,\n end: end\n });\n}\n\nfunction applyFormats(formats, index, format) {\n if (formats[index]) {\n var newFormatsAtIndex = formats[index].filter(function (_ref2) {\n var type = _ref2.type;\n return type !== format.type;\n });\n newFormatsAtIndex.push(format);\n formats[index] = newFormatsAtIndex;\n } else {\n formats[index] = [format];\n }\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/apply-format.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"charAt\", function() { return charAt; });\n/**\n * Gets the character at the specified index, or returns `undefined` if no\n * character was found.\n *\n * @param {Object} value Value to get the character from.\n * @param {string} index Index to use.\n *\n * @return {?string} A one character long string, or undefined.\n */\nfunction charAt(_ref, index) {\n var text = _ref.text;\n return text[index];\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/char-at.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createElement\", function() { return createElement; });\n/**\n * Parse the given HTML into a body element.\n *\n * @param {HTMLDocument} document The HTML document to use to parse.\n * @param {string} html The HTML to parse.\n *\n * @return {HTMLBodyElement} Body element with parsed HTML.\n */\nfunction createElement(_ref, html) {\n var implementation = _ref.implementation;\n\n var _implementation$creat = implementation.createHTMLDocument(''),\n body = _implementation$creat.body;\n\n body.innerHTML = html;\n return body;\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/create-element.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getActiveFormat\", function() { return getActiveFormat; });\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/**\n * External dependencies\n */\n\n/**\n * Gets the format object by type at the start of the selection. This can be\n * used to get e.g. the URL of a link format at the current selection, but also\n * to check if a format is active at the selection. Returns undefined if there\n * is no format at the selection.\n *\n * @param {Object} value Value to inspect.\n * @param {string} formatType Format type to look for.\n *\n * @return {?Object} Active format object of the specified type, or undefined.\n */\n\nfunction getActiveFormat(_ref, formatType) {\n var formats = _ref.formats,\n start = _ref.start;\n\n if (start === undefined) {\n return;\n }\n\n return Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"find\"])(formats[start], {\n type: formatType\n });\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/get-active-format.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSelectionEnd\", function() { return getSelectionEnd; });\n/**\n * Gets the end index of the current selection, or returns `undefined` if no\n * selection exists. The selection ends right before the character at this\n * index.\n *\n * @param {Object} value Value to get the selection from.\n *\n * @return {?number} Index where the selection ends.\n */\nfunction getSelectionEnd(_ref) {\n var end = _ref.end;\n return end;\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/get-selection-end.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSelectionStart\", function() { return getSelectionStart; });\n/**\n * Gets the start index of the current selection, or returns `undefined` if no\n * selection exists. The selection starts right before the character at this\n * index.\n *\n * @param {Object} value Value to get the selection from.\n *\n * @return {?number} Index where the selection starts.\n */\nfunction getSelectionStart(_ref) {\n var start = _ref.start;\n return start;\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/get-selection-start.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTextContent\", function() { return getTextContent; });\n/**\n * Get the textual content of a Rich Text value. This is similar to\n * `Element.textContent`.\n *\n * @param {Object} value Value to use.\n *\n * @return {string} The text content.\n */\nfunction getTextContent(_ref) {\n var text = _ref.text;\n return text;\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/get-text-content.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"insertLineSeparator\", function() { return insertLineSeparator; });\n/* harmony import */ var _get_text_content__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-text-content */ \"./node_modules/@wordpress/rich-text/build-module/get-text-content.js\");\n/* harmony import */ var _insert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./insert */ \"./node_modules/@wordpress/rich-text/build-module/insert.js\");\n/* harmony import */ var _special_characters__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./special-characters */ \"./node_modules/@wordpress/rich-text/build-module/special-characters.js\");\n/**\n * Internal dependencies\n */\n\n\n\n/**\n * Insert a line break character into a Rich Text value at the given\n * `startIndex`. Any content between `startIndex` and `endIndex` will be\n * removed. Indices are retrieved from the selection if none are provided.\n *\n * @param {Object} value Value to modify.\n * @param {number} startIndex Start index.\n * @param {number} endIndex End index.\n *\n * @return {Object} A new value with the value inserted.\n */\n\nfunction insertLineSeparator(value) {\n var startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : value.start;\n var endIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : value.end;\n var beforeText = Object(_get_text_content__WEBPACK_IMPORTED_MODULE_0__[\"getTextContent\"])(value).slice(0, startIndex);\n var previousLineSeparatorIndex = beforeText.lastIndexOf(_special_characters__WEBPACK_IMPORTED_MODULE_2__[\"LINE_SEPARATOR\"]);\n var previousLineSeparatorFormats = value.formats[previousLineSeparatorIndex];\n var formats = [,];\n\n if (previousLineSeparatorFormats) {\n formats = [previousLineSeparatorFormats];\n }\n\n var valueToInsert = {\n formats: formats,\n text: _special_characters__WEBPACK_IMPORTED_MODULE_2__[\"LINE_SEPARATOR\"]\n };\n return Object(_insert__WEBPACK_IMPORTED_MODULE_1__[\"insert\"])(value, valueToInsert, startIndex, endIndex);\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/insert-line-separator.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"insertObject\", function() { return insertObject; });\n/* harmony import */ var _babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread.js\");\n/* harmony import */ var _insert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./insert */ \"./node_modules/@wordpress/rich-text/build-module/insert.js\");\n\n\n/**\n * Internal dependencies\n */\n\nvar OBJECT_REPLACEMENT_CHARACTER = \"\\uFFFC\";\n/**\n * Insert a format as an object into a Rich Text value at the given\n * `startIndex`. Any content between `startIndex` and `endIndex` will be\n * removed. Indices are retrieved from the selection if none are provided.\n *\n * @param {Object} value Value to modify.\n * @param {Object} formatToInsert Format to insert as object.\n * @param {number} startIndex Start index.\n * @param {number} endIndex End index.\n *\n * @return {Object} A new value with the object inserted.\n */\n\nfunction insertObject(value, formatToInsert, startIndex, endIndex) {\n var valueToInsert = {\n text: OBJECT_REPLACEMENT_CHARACTER,\n formats: [[Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, formatToInsert, {\n object: true\n })]]\n };\n return Object(_insert__WEBPACK_IMPORTED_MODULE_1__[\"insert\"])(value, valueToInsert, startIndex, endIndex);\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/insert-object.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"insert\", function() { return insert; });\n/* harmony import */ var _create__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create */ \"./node_modules/@wordpress/rich-text/build-module/create.js\");\n/* harmony import */ var _normalise_formats__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./normalise-formats */ \"./node_modules/@wordpress/rich-text/build-module/normalise-formats.js\");\n/**\n * Internal dependencies\n */\n\n\n/**\n * Insert a Rich Text value, an HTML string, or a plain text string, into a\n * Rich Text value at the given `startIndex`. Any content between `startIndex`\n * and `endIndex` will be removed. Indices are retrieved from the selection if\n * none are provided.\n *\n * @param {Object} value Value to modify.\n * @param {string} valueToInsert Value to insert.\n * @param {number} startIndex Start index.\n * @param {number} endIndex End index.\n *\n * @return {Object} A new value with the value inserted.\n */\n\nfunction insert(_ref, valueToInsert) {\n var formats = _ref.formats,\n text = _ref.text,\n start = _ref.start,\n end = _ref.end;\n var startIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : start;\n var endIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : end;\n\n if (typeof valueToInsert === 'string') {\n valueToInsert = Object(_create__WEBPACK_IMPORTED_MODULE_0__[\"create\"])({\n text: valueToInsert\n });\n }\n\n var index = startIndex + valueToInsert.text.length;\n return Object(_normalise_formats__WEBPACK_IMPORTED_MODULE_1__[\"normaliseFormats\"])({\n formats: formats.slice(0, startIndex).concat(valueToInsert.formats, formats.slice(endIndex)),\n text: text.slice(0, startIndex) + valueToInsert.text + text.slice(endIndex),\n start: index,\n end: index\n });\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/insert.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isCollapsed\", function() { return isCollapsed; });\n/**\n * Check if the selection of a Rich Text value is collapsed or not. Collapsed\n * means that no characters are selected, but there is a caret present. If there\n * is no selection, `undefined` will be returned. This is similar to\n * `window.getSelection().isCollapsed()`.\n *\n * @param {Object} value The rich text value to check.\n *\n * @return {?boolean} True if the selection is collapsed, false if not,\n * undefined if there is no selection.\n */\nfunction isCollapsed(_ref) {\n var start = _ref.start,\n end = _ref.end;\n\n if (start === undefined || end === undefined) {\n return;\n }\n\n return start === end;\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/is-collapsed.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmpty\", function() { return isEmpty; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isEmptyLine\", function() { return isEmptyLine; });\n/* harmony import */ var _special_characters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./special-characters */ \"./node_modules/@wordpress/rich-text/build-module/special-characters.js\");\n\n/**\n * Check if a Rich Text value is Empty, meaning it contains no text or any\n * objects (such as images).\n *\n * @param {Object} value Value to use.\n *\n * @return {boolean} True if the value is empty, false if not.\n */\n\nfunction isEmpty(_ref) {\n var text = _ref.text;\n return text.length === 0;\n}\n/**\n * Check if the current collapsed selection is on an empty line in case of a\n * multiline value.\n *\n * @param {Object} value Value te check.\n *\n * @return {boolean} True if the line is empty, false if not.\n */\n\nfunction isEmptyLine(_ref2) {\n var text = _ref2.text,\n start = _ref2.start,\n end = _ref2.end;\n\n if (start !== end) {\n return false;\n }\n\n if (text.length === 0) {\n return true;\n }\n\n if (start === 0 && text.slice(0, 1) === _special_characters__WEBPACK_IMPORTED_MODULE_0__[\"LINE_SEPARATOR\"]) {\n return true;\n }\n\n if (start === text.length && text.slice(-1) === _special_characters__WEBPACK_IMPORTED_MODULE_0__[\"LINE_SEPARATOR\"]) {\n return true;\n }\n\n return text.slice(start - 1, end + 1) === \"\".concat(_special_characters__WEBPACK_IMPORTED_MODULE_0__[\"LINE_SEPARATOR\"]).concat(_special_characters__WEBPACK_IMPORTED_MODULE_0__[\"LINE_SEPARATOR\"]);\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/is-empty.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isFormatEqual\", function() { return isFormatEqual; });\n/**\n * Optimised equality check for format objects.\n *\n * @param {?Object} format1 Format to compare.\n * @param {?Object} format2 Format to compare.\n *\n * @return {boolean} True if formats are equal, false if not.\n */\nfunction isFormatEqual(format1, format2) {\n // Both not defined.\n if (format1 === format2) {\n return true;\n } // Either not defined.\n\n\n if (!format1 || !format2) {\n return false;\n }\n\n if (format1.type !== format2.type) {\n return false;\n }\n\n var attributes1 = format1.attributes;\n var attributes2 = format2.attributes; // Both not defined.\n\n if (attributes1 === attributes2) {\n return true;\n } // Either not defined.\n\n\n if (!attributes1 || !attributes2) {\n return false;\n }\n\n var keys1 = Object.keys(attributes1);\n var keys2 = Object.keys(attributes2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n var length = keys1.length; // Optimise for speed.\n\n for (var i = 0; i < length; i++) {\n var name = keys1[i];\n\n if (attributes1[name] !== attributes2[name]) {\n return false;\n }\n }\n\n return true;\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/is-format-equal.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"registerFormatType\", function() { return registerFormatType; });\n/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/defineProperty */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectSpread */ \"./node_modules/@babel/runtime/helpers/esm/objectSpread.js\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/element */ \"@wordpress/element\");\n/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! memize */ \"./node_modules/memize/index.js\");\n/* harmony import */ var memize__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(memize__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/data */ \"@wordpress/data\");\n/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/hooks */ \"@wordpress/hooks\");\n/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/compose */ \"@wordpress/compose\");\n/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_9__);\n\n\n\n\n\n\n/**\n * External dependencies\n */\n\n\n/**\n * WordPress dependencies\n */\n\n\n\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation, as in a connected or\n * other pure component which performs `shouldComponentUpdate` check on props.\n * This should be used as a last resort, since the normalized data should be\n * maintained by the reducer result in state.\n *\n * @type {Array}\n */\n\nvar EMPTY_ARRAY = [];\n/**\n * Registers a new format provided a unique name and an object defining its\n * behavior.\n *\n * @param {string} name Format name.\n * @param {Object} settings Format settings.\n *\n * @return {?WPFormat} The format, if it has been successfully registered;\n * otherwise `undefined`.\n */\n\nfunction registerFormatType(name, settings) {\n settings = Object(_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\nname:name\n},settings);\n\nif(typeofsettings.name!=='string'){\nwindow.console.error('Format names must be strings.');\nreturn;\n}\n\nif(!/^[a-z][a-z0-9-]*\\/[a-z][a-z0-9-]*$/.test(setting
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeFormat\", function() { return removeFormat; });\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _normalise_formats__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./normalise-formats */ \"./node_modules/@wordpress/rich-text/build-module/normalise-formats.js\");\n/**\n * External dependencies\n */\n\n/**\n * Internal dependencies\n */\n\n\n/**\n * Remove any format object from a Rich Text value by type from the given\n * `startIndex` to the given `endIndex`. Indices are retrieved from the\n * selection if none are provided.\n *\n * @param {Object} value Value to modify.\n * @param {string} formatType Format type to remove.\n * @param {number} startIndex Start index.\n * @param {number} endIndex End index.\n *\n * @return {Object} A new value with the format applied.\n */\n\nfunction removeFormat(_ref, formatType) {\n var formats = _ref.formats,\n text = _ref.text,\n start = _ref.start,\n end = _ref.end;\n var startIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : start;\n var endIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : end;\n var newFormats = formats.slice(0); // If the selection is collapsed, expand start and end to the edges of the\n // format.\n\n if (startIndex === endIndex) {\n var format = Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"find\"])(newFormats[startIndex], {\n type: formatType\n });\n\n while (Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"find\"])(newFormats[startIndex], format)) {\n filterFormats(newFormats, startIndex, formatType);\n startIndex--;\n }\n\n endIndex++;\n\n while (Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"find\"])(newFormats[endIndex], format)) {\n filterFormats(newFormats, endIndex, formatType);\n endIndex++;\n }\n } else {\n for (var i = startIndex; i < endIndex; i++) {\n if (newFormats[i]) {\n filterFormats(newFormats, i, formatType);\n }\n }\n }\n\n return Object(_normalise_formats__WEBPACK_IMPORTED_MODULE_1__[\"normaliseFormats\"])({\n formats: newFormats,\n text: text,\n start: start,\n end: end\n });\n}\n\nfunction filterFormats(formats, index, formatType) {\n var newFormats = formats[index].filter(function (_ref2) {\n var type = _ref2.type;\n return type !== formatType;\n });\n\n if (newFormats.length) {\n formats[index] = newFormats;\n } else {\n delete formats[index];\n }\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/remove-format.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"remove\", function() { return remove; });\n/* harmony import */ var _insert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./insert */ \"./node_modules/@wordpress/rich-text/build-module/insert.js\");\n/* harmony import */ var _create__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create */ \"./node_modules/@wordpress/rich-text/build-module/create.js\");\n/**\n * Internal dependencies\n */\n\n\n/**\n * Remove content from a Rich Text value between the given `startIndex` and\n * `endIndex`. Indices are retrieved from the selection if none are provided.\n *\n * @param {Object} value Value to modify.\n * @param {number} startIndex Start index.\n * @param {number} endIndex End index.\n *\n * @return {Object} A new value with the content removed.\n */\n\nfunction remove(value, startIndex, endIndex) {\n return Object(_insert__WEBPACK_IMPORTED_MODULE_0__[\"insert\"])(value, Object(_create__WEBPACK_IMPORTED_MODULE_1__[\"create\"])(), startIndex, endIndex);\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/remove.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"replace\", function() { return replace; });\n/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _normalise_formats__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./normalise-formats */ \"./node_modules/@wordpress/rich-text/build-module/normalise-formats.js\");\n\n\n/**\n * Internal dependencies\n */\n\n/**\n * Search a Rich Text value and replace the match(es) with `replacement`. This\n * is similar to `String.prototype.replace`.\n *\n * @param {Object} value The value to modify.\n * @param {RegExp|string} pattern A RegExp object or literal. Can also be\n * a string. It is treated as a verbatim\n * string and is not interpreted as a\n * regular expression. Only the first\n * occurrence will be replaced.\n * @param {Function|string} replacement The match or matches are replaced with\n * the specified or the value returned by\n * the specified function.\n *\n * @return {Object} A new value with replacements applied.\n */\n\nfunction replace(_ref, pattern, replacement) {\n var formats = _ref.formats,\n text = _ref.text,\n start = _ref.start,\n end = _ref.end;\n text = text.replace(pattern, function (match) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n var offset = rest[rest.length - 2];\n var newText = replacement;\n var newFormats;\n\n if (typeof newText === 'function') {\n newText = replacement.apply(void 0, [match].concat(rest));\n }\n\n if (Object(_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(newText) === 'object') {\n newFormats = newText.formats;\n newText = newText.text;\n } else {\n newFormats = Array(newText.length);\n\n if (formats[offset]) {\n newFormats = newFormats.fill(formats[offset]);\n }\n }\n\n formats = formats.slice(0, offset).concat(newFormats, formats.slice(offset + match.length));\n\n if (start) {\n start = end = offset + newText.length;\n }\n\n return newText;\n });\n return Object(_normalise_formats__WEBPACK_IMPORTED_MODULE_1__[\"normaliseFormats\"])({\n formats: formats,\n text: text,\n start: start,\n end: end\n });\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/replace.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"split\", function() { return split; });\n/* harmony import */ var _replace__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./replace */ \"./node_modules/@wordpress/rich-text/build-module/replace.js\");\n/**\n * Internal dependencies\n */\n\n/**\n * Split a Rich Text value in two at the given `startIndex` and `endIndex`, or\n * split at the given separator. This is similar to `String.prototype.split`.\n * Indices are retrieved from the selection if none are provided.\n *\n * @param {Object} value Value to modify.\n * @param {number|string} string Start index, or string at which to split.\n * @param {number} end End index.\n *\n * @return {Array} An array of new values.\n */\n\nfunction split(_ref, string) {\n var formats = _ref.formats,\n text = _ref.text,\n start = _ref.start,\n end = _ref.end;\n\n if (typeof string !== 'string') {\n return splitAtSelection.apply(void 0, arguments);\n }\n\n var nextStart = 0;\n return text.split(string).map(function (substring) {\n var startIndex = nextStart;\n var value = {\n formats: formats.slice(startIndex, startIndex + substring.length),\n text: substring\n };\n nextStart += string.length + substring.length;\n\n if (start !== undefined && end !== undefined) {\n if (start >= startIndex && start < nextStart) {\n value.start = start - startIndex;\n } else if (start < startIndex && end > startIndex) {\n value.start = 0;\n }\n\n if (end >= startIndex && end < nextStart) {\n value.end = end - startIndex;\n } else if (start < nextStart && end > nextStart) {\n value.end = substring.length;\n }\n }\n\n return value;\n });\n}\n\nfunction splitAtSelection(_ref2) {\n var formats = _ref2.formats,\n text = _ref2.text,\n start = _ref2.start,\n end = _ref2.end;\n var startIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : start;\n var endIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : end;\n var before = {\n formats: formats.slice(0, startIndex),\n text: text.slice(0, startIndex)\n };\n var after = {\n formats: formats.slice(endIndex),\n text: text.slice(endIndex),\n start: 0,\n end: 0\n };\n return [// Ensure newlines are trimmed.\n Object(_replace__WEBPACK_IMPORTED_MODULE_0__[\"replace\"])(before, /\\u2028+$/, ''), Object(_replace__WEBPACK_IMPORTED_MODULE_0__[\"replace\"])(after, /^\\u2028+/, '')];\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/split.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFormatTypes\", function() { return getFormatTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFormatType\", function() { return getFormatType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFormatTypeForBareElement\", function() { return getFormatTypeForBareElement; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFormatTypeForClassName\", function() { return getFormatTypeForClassName; });\n/* harmony import */ var rememo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rememo */ \"./node_modules/rememo/es/rememo.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash */ \"lodash\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);\n/**\n * External dependencies\n */\n\n\n/**\n * Returns all the available format types.\n *\n * @param {Object} state Data state.\n *\n * @return {Array} Format types.\n */\n\nvar getFormatTypes = Object(rememo__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(function (state) {\n return Object.values(state.formatTypes);\n}, function (state) {\n return [state.formatTypes];\n});\n/**\n * Returns a format type by name.\n *\n * @param {Object} state Data state.\n * @param {string} name Format type name.\n *\n * @return {Object?} Format type.\n */\n\nfunction getFormatType(state, name) {\n return state.formatTypes[name];\n}\n/**\n * Gets the format type, if any, that can handle a bare element (without a\n * data-format-type attribute), given the tag name of this element.\n *\n * @param {Object} state Data state.\n * @param {string} bareElementTagName The tag name of the element to find a\n * format type for.\n * @return {?Object} Format type.\n */\n\nfunction getFormatTypeForBareElement(state, bareElementTagName) {\n return Object(lodash__WEBPACK_IMPORTED_MODULE_1__[\"find\"])(getFormatTypes(state), function (_ref) {\n var tagName = _ref.tagName;\n return bareElementTagName === tagName;\n });\n}\n/**\n * Gets the format type, if any, that can handle an element, given its classes.\n *\n * @param {Object} state Data state.\n * @param {string} elementClassName The classes of the element to find a format\n * type for.\n * @return {?Object} Format type.\n */\n\nfunction getFormatTypeForClassName(state, elementClassName) {\n return Object(lodash__WEBPACK_IMPORTED_MODULE_1__[\"find\"])(getFormatTypes(state), function (_ref2) {\n var className = _ref2.className;\n\n if (className === null) {\n return false;\n }\n\n return \" \".concat(elementClassName, \" \").indexOf(\" \".concat(className, \" \")) >= 0;\n });\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/store/selectors.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toggleFormat\", function() { return toggleFormat; });\n/* harmony import */ var _get_active_format__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-active-format */ \"./node_modules/@wordpress/rich-text/build-module/get-active-format.js\");\n/* harmony import */ var _remove_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./remove-format */ \"./node_modules/@wordpress/rich-text/build-module/remove-format.js\");\n/* harmony import */ var _apply_format__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apply-format */ \"./node_modules/@wordpress/rich-text/build-module/apply-format.js\");\n/**\n * Internal dependencies\n */\n\n\n\n/**\n * Toggles a format object to a Rich Text value at the current selection.\n *\n * @param {Object} value Value to modify.\n * @param {Object} format Format to apply or remove.\n *\n * @return {Object} A new value with the format applied or removed.\n */\n\nfunction toggleFormat(value, format) {\n if (Object(_get_active_format__WEBPACK_IMPORTED_MODULE_0__[\"getActiveFormat\"])(value, format.type)) {\n return Object(_remove_format__WEBPACK_IMPORTED_MODULE_1__[\"removeFormat\"])(value, format.type);\n }\n\n return Object(_apply_format__WEBPACK_IMPORTED_MODULE_2__[\"applyFormat\"])(value, format);\n}\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/@wordpress/rich-text/build-module/toggle-format.js?");
eval("module.exports = function memize( fn, options ) {\n\tvar size = 0,\n\t\tmaxSize, head, tail;\n\n\tif ( options && options.maxSize ) {\n\t\tmaxSize = options.maxSize;\n\t}\n\n\tfunction memoized( /* ...args */ ) {\n\t\tvar node = head,\n\t\t\tlen = arguments.length,\n\t\t\targs, i;\n\n\t\tsearchCache: while ( node ) {\n\t\t\t// Perform a shallow equality test to confirm that whether the node\n\t\t\t// under test is a candidate for the arguments passed. Two arrays\n\t\t\t// are shallowly equal if their length matches and each entry is\n\t\t\t// strictly equal between the two sets. Avoid abstracting to a\n\t\t\t// function which could incur an arguments leaking deoptimization.\n\n\t\t\t// Check whether node arguments match arguments length\n\t\t\tif ( node.args.length !== arguments.length ) {\n\t\t\t\tnode = node.next;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check whether node arguments match arguments values\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( node.args[ i ] !== arguments[ i ] ) {\n\t\t\t\t\tnode = node.next;\n\t\t\t\t\tcontinue searchCache;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// At this point we can assume we've found a match\n\n\t\t\t// Surface matched node to head if not already\n\t\t\tif ( node !== head ) {\n\t\t\t\t// As tail, shift to previous. Must only shift if not also\n\t\t\t\t// head, since if both head and tail, there is no previous.\n\t\t\t\tif ( node === tail ) {\n\t\t\t\t\ttail = node.prev;\n\t\t\t\t}\n\n\t\t\t\t// Adjust siblings to point to each other. If node was tail,\n\t\t\t\t// this also handles new tail's empty `next` assignment.\n\t\t\t\tnode.prev.next = node.next;\n\t\t\t\tif ( node.next ) {\n\t\t\t\t\tnode.next.prev = node.prev;\n\t\t\t\t}\n\n\t\t\t\tnode.next = head;\n\t\t\t\tnode.prev = null;\n\t\t\t\thead.prev = node;\n\t\t\t\thead = node;\n\t\t\t}\n\n\t\t\t// Return immediately\n\t\t\treturn node.val;\n\t\t}\n\n\t\t// No cached value found. Continue to insertion phase:\n\n\t\t// Create a copy of arguments (avoid leaking deoptimization)\n\t\targs = new Array( len );\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tnode = {\n\t\t\targs: args,\n\n\t\t\t// Generate the result from original function\n\t\t\tval: fn.apply( null, args )\n\t\t};\n\n\t\t// Don't need to check whether node is already head, since it would\n\t\t// have been returned above already if it was\n\n\t\t// Shift existing head down list\n\t\tif ( head ) {\n\t\t\thead.prev = node;\n\t\t\tnode.next = head;\n\t\t} else {\n\t\t\t// If no head, follows that there's no tail (at initial or reset)\n\t\t\ttail = node;\n\t\t}\n\n\t\t// Trim tail if we're reached max size and are pending cache insertion\n\t\tif ( size === maxSize ) {\n\t\t\ttail = tail.prev;\n\t\t\ttail.next = null;\n\t\t} else {\n\t\t\tsize++;\n\t\t}\n\n\t\thead = node;\n\n\t\treturn node.val;\n\t}\n\n\tmemoized.clear = function() {\n\t\thead = null;\n\t\ttail = null;\n\t\tsize = 0;\n\t};\n\n\tif ( false ) {}\n\n\treturn memoized;\n};\n\n\n//# sourceURL=webpack://wp.%5Bname%5D/./node_modules/memize/index.js?");
eval("__webpack_require__.r(__webpack_exports__);\n\n\nvar LEAF_KEY, hasWeakMap;\n\n/**\n * Arbitrary value used as key for referencing cache object in WeakMap tree.\n *\n * @type {Object}\n */\nLEAF_KEY = {};\n\n/**\n * Whether environment supports WeakMap.\n *\n * @type {boolean}\n */\nhasWeakMap = typeof WeakMap !== 'undefined';\n\n/**\n * Returns the first argument as the sole entry in an array.\n *\n * @param {*} value Value to return.\n *\n * @return {Array} Value returned as entry in array.\n */\nfunction arrayOf( value ) {\n\treturn [ value ];\n}\n\n/**\n * Returns true if the value passed is object-like, or false otherwise. A value\n * is object-like if it can support property assignment, e.g. object or array.\n *\n * @param {*} value Value to test.\n *\n * @return {boolean} Whether value is object-like.\n */\nfunction isObjectLike( value ) {\n\treturn !! value && 'object' === typeof value;\n}\n\n/**\n * Creates and returns a new cache object.\n *\n * @return {Object} Cache object.\n */\nfunction createCache() {\n\tvar cache = {\n\t\tclear: function() {\n\t\t\tcache.head = null;\n\t\t},\n\t};\n\n\treturn cache;\n}\n\n/**\n * Returns true if entries within the two arrays are strictly equal by\n * reference from a starting index.\n *\n * @param {Array} a First array.\n * @param {Array} b Second array.\n * @param {number} fromIndex Index from which to start comparison.\n *\n * @return {boolean} Whether arrays are shallowly equal.\n */\nfunction isShallowEqual( a, b, fromIndex ) {\n\tvar i;\n\n\tif ( a.length !== b.length ) {\n\t\treturn false;\n\t}\n\n\tfor ( i = fromIndex; i < a.length; i++ ) {\n\t\tif ( a[ i ] !== b[ i ] ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/**\n * Returns a memoized selector function. The getDependants function argument is\n * called before the memoized selector and is expected to return an immutable\n * reference or array of references on which the selector depends for computing\n * its own return value. The memoize cache is preserved only as long as those\n * dependant references remain the same. If getDependants returns a different\n * reference(s), the cache is cleared and the selector value regenerated.\n *\n * @param {Function} selector Selector function.\n * @param {Function} getDependants Dependant getter returning an immutable\n * reference or array of reference used in\n * cache bust consideration.\n *\n * @return {Function} Memoized selector.\n */\n/* harmony default export */ __webpack_exports__[\"default\"]=(function(selector,getDependants){\n\tvarrootCache,getCache;\n\n\t// Use object source as dependant if getter not provided\n\tif ( ! getDependants ) {\n\t\tgetDependants = arrayOf;\n\t}\n\n\t/**\n\t * Returns the root cache. If WeakMap is supported, this is assigned to the\n\t * root WeakMap cache set, otherwise it is a shared instance of the default\n\t * cache object.\n\t *\n\t * @return {(WeakMap|Object)} Root cache object.\n\t */\n\tfunction getRootCache() {\n\t\treturn rootCache;\n\t}\n\n\t/**\n\t * Returns the cache for a given dependants array. When possible, a WeakMap\n\t * will be used to create a unique cache for each set of dependants. This\n\t * is feasible due to the nature of WeakMap in allowing garbage collection\n\t * to occur on entries where the key object is no longer referenced. Since\n\t * WeakMap requires the key to be an object, this is only possible when the\n\t * dependant is object-like. The root cache is created as a hierarchy where\n\t * each top-level key is the first entry in a dependants set, the value a\n\t * WeakMap where each key is the next dependant, and so on. This continues\n\t * so long as the dependants are object-like. If no dependants are object-\n\t * like, then the cache is shared across all invocations.\n\t *\n\t * @see isObjectLike\n\t *\n\t * @param {Array} dependants Selector dependants.\n\t *\n\t * @return {Object} Cache object.\n\t */\n\tfunction getWeakMapCache( dependants ) {\n\t\tvar caches = rootCache,\n\t\t\