{"version":3,"file":"js/application-bf131aa5d8eff78a5bad.js","sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/active_storage/direct_uploads.js","webpack:///./app/javascript/channels sync _channel\\.js$","webpack:///./app/javascript/channels/index.js","webpack:///./app/javascript/packs/application.js","webpack:///./app/javascript/stylesheets/application.scss?b7c6","webpack:///./app/javascript/stylesheets/direct_uploads.css?3881","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/@ckeditor/ckeditor5-build-classic/build/ckeditor.js","webpack:///./node_modules/@nathanvda/cocoon/cocoon.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/attachment_upload.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/index.js","webpack:///./node_modules/@rails/actiontext/node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./app/javascript/stylesheets/direct_uploads.css","webpack:///./app/javascript/stylesheets/application.scss","webpack:///./node_modules/select2/dist/css/select2.css","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/jquery/external/sizzle/dist/sizzle.js","webpack:///./node_modules/jquery/src/ajax.js","webpack:///./node_modules/jquery/src/ajax/jsonp.js","webpack:///./node_modules/jquery/src/ajax/load.js","webpack:///./node_modules/jquery/src/ajax/script.js","webpack:///./node_modules/jquery/src/ajax/var/location.js","webpack:///./node_modules/jquery/src/ajax/var/nonce.js","webpack:///./node_modules/jquery/src/ajax/var/rquery.js","webpack:///./node_modules/jquery/src/ajax/xhr.js","webpack:///./node_modules/jquery/src/attributes.js","webpack:///./node_modules/jquery/src/attributes/attr.js","webpack:///./node_modules/jquery/src/attributes/classes.js","webpack:///./node_modules/jquery/src/attributes/prop.js","webpack:///./node_modules/jquery/src/attributes/support.js","webpack:///./node_modules/jquery/src/attributes/val.js","webpack:///./node_modules/jquery/src/callbacks.js","webpack:///./node_modules/jquery/src/core.js","webpack:///./node_modules/jquery/src/core/DOMEval.js","webpack:///./node_modules/jquery/src/core/access.js","webpack:///./node_modules/jquery/src/core/camelCase.js","webpack:///./node_modules/jquery/src/core/init.js","webpack:///./node_modules/jquery/src/core/isAttached.js","webpack:///./node_modules/jquery/src/core/nodeName.js","webpack:///./node_modules/jquery/src/core/parseHTML.js","webpack:///./node_modules/jquery/src/core/parseXML.js","webpack:///./node_modules/jquery/src/core/ready.js","webpack:///./node_modules/jquery/src/core/readyException.js","webpack:///./node_modules/jquery/src/core/stripAndCollapse.js","webpack:///./node_modules/jquery/src/core/support.js","webpack:///./node_modules/jquery/src/core/toType.js","webpack:///./node_modules/jquery/src/core/var/rsingleTag.js","webpack:///./node_modules/jquery/src/css.js","webpack:///./node_modules/jquery/src/css/addGetHookIf.js","webpack:///./node_modules/jquery/src/css/adjustCSS.js","webpack:///./node_modules/jquery/src/css/curCSS.js","webpack:///./node_modules/jquery/src/css/finalPropName.js","webpack:///./node_modules/jquery/src/css/hiddenVisibleSelectors.js","webpack:///./node_modules/jquery/src/css/showHide.js","webpack:///./node_modules/jquery/src/css/support.js","webpack:///./node_modules/jquery/src/css/var/cssExpand.js","webpack:///./node_modules/jquery/src/css/var/getStyles.js","webpack:///./node_modules/jquery/src/css/var/isHiddenWithinTree.js","webpack:///./node_modules/jquery/src/css/var/rboxStyle.js","webpack:///./node_modules/jquery/src/css/var/rnumnonpx.js","webpack:///./node_modules/jquery/src/css/var/swap.js","webpack:///./node_modules/jquery/src/data.js","webpack:///./node_modules/jquery/src/data/Data.js","webpack:///./node_modules/jquery/src/data/var/acceptData.js","webpack:///./node_modules/jquery/src/data/var/dataPriv.js","webpack:///./node_modules/jquery/src/data/var/dataUser.js","webpack:///./node_modules/jquery/src/deferred.js","webpack:///./node_modules/jquery/src/deferred/exceptionHook.js","webpack:///./node_modules/jquery/src/deprecated.js","webpack:///./node_modules/jquery/src/deprecated/ajax-event-alias.js","webpack:///./node_modules/jquery/src/deprecated/event.js","webpack:///./node_modules/jquery/src/dimensions.js","webpack:///./node_modules/jquery/src/effects.js","webpack:///./node_modules/jquery/src/effects/Tween.js","webpack:///./node_modules/jquery/src/effects/animatedSelector.js","webpack:///./node_modules/jquery/src/event.js","webpack:///./node_modules/jquery/src/event/focusin.js","webpack:///./node_modules/jquery/src/event/support.js","webpack:///./node_modules/jquery/src/event/trigger.js","webpack:///./node_modules/jquery/src/exports/amd.js","webpack:///./node_modules/jquery/src/exports/global.js","webpack:///./node_modules/jquery/src/jquery.js","webpack:///./node_modules/jquery/src/manipulation.js","webpack:///./node_modules/jquery/src/manipulation/_evalUrl.js","webpack:///./node_modules/jquery/src/manipulation/buildFragment.js","webpack:///./node_modules/jquery/src/manipulation/getAll.js","webpack:///./node_modules/jquery/src/manipulation/setGlobalEval.js","webpack:///./node_modules/jquery/src/manipulation/support.js","webpack:///./node_modules/jquery/src/manipulation/var/rscriptType.js","webpack:///./node_modules/jquery/src/manipulation/var/rtagName.js","webpack:///./node_modules/jquery/src/manipulation/wrapMap.js","webpack:///./node_modules/jquery/src/offset.js","webpack:///./node_modules/jquery/src/queue.js","webpack:///./node_modules/jquery/src/queue/delay.js","webpack:///./node_modules/jquery/src/selector-sizzle.js","webpack:///./node_modules/jquery/src/selector.js","webpack:///./node_modules/jquery/src/serialize.js","webpack:///./node_modules/jquery/src/traversing.js","webpack:///./node_modules/jquery/src/traversing/findFilter.js","webpack:///./node_modules/jquery/src/traversing/var/dir.js","webpack:///./node_modules/jquery/src/traversing/var/rneedsContext.js","webpack:///./node_modules/jquery/src/traversing/var/siblings.js","webpack:///./node_modules/jquery/src/var/ObjectFunctionString.js","webpack:///./node_modules/jquery/src/var/arr.js","webpack:///./node_modules/jquery/src/var/class2type.js","webpack:///./node_modules/jquery/src/var/document.js","webpack:///./node_modules/jquery/src/var/documentElement.js","webpack:///./node_modules/jquery/src/var/flat.js","webpack:///./node_modules/jquery/src/var/fnToString.js","webpack:///./node_modules/jquery/src/var/getProto.js","webpack:///./node_modules/jquery/src/var/hasOwn.js","webpack:///./node_modules/jquery/src/var/indexOf.js","webpack:///./node_modules/jquery/src/var/isFunction.js","webpack:///./node_modules/jquery/src/var/isWindow.js","webpack:///./node_modules/jquery/src/var/pnum.js","webpack:///./node_modules/jquery/src/var/push.js","webpack:///./node_modules/jquery/src/var/rcheckableType.js","webpack:///./node_modules/jquery/src/var/rcssNum.js","webpack:///./node_modules/jquery/src/var/rnothtmlwhite.js","webpack:///./node_modules/jquery/src/var/slice.js","webpack:///./node_modules/jquery/src/var/support.js","webpack:///./node_modules/jquery/src/var/toString.js","webpack:///./node_modules/jquery/src/wrap.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/select2/dist/css/select2.css?9813","webpack:///./node_modules/select2/dist/js/select2.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/textfit/textFit.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/trix/dist/trix.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///(webpack)/buildin/module.js"],"sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./app/javascript/packs/application.js\");\n","addEventListener(\"direct-upload:initialize\", event => {\r\n const { target, detail } = event\r\n const { id, file } = detail\r\n target.insertAdjacentHTML(\"beforebegin\", `\r\n
\r\n
\r\n \r\n
\r\n `)\r\n target.previousElementSibling.querySelector(`.direct-upload__filename`).textContent = file.name\r\n })\r\n \r\n addEventListener(\"direct-upload:start\", event => {\r\n const { id } = event.detail\r\n const element = document.getElementById(`direct-upload-${id}`)\r\n element.classList.remove(\"direct-upload--pending\")\r\n })\r\n \r\n addEventListener(\"direct-upload:progress\", event => {\r\n const { id, progress } = event.detail\r\n const progressElement = document.getElementById(`direct-upload-progress-${id}`)\r\n progressElement.style.width = `${progress}%`\r\n })\r\n \r\n addEventListener(\"direct-upload:error\", event => {\r\n event.preventDefault()\r\n const { id, error } = event.detail\r\n const element = document.getElementById(`direct-upload-${id}`)\r\n element.classList.add(\"direct-upload--error\")\r\n element.setAttribute(\"title\", error)\r\n })\r\n \r\n addEventListener(\"direct-upload:end\", event => {\r\n const { id } = event.detail\r\n const element = document.getElementById(`direct-upload-${id}`)\r\n element.classList.add(\"direct-upload--complete\")\r\n })","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = \"./app/javascript/channels sync recursive _channel\\\\.js$\";","// Load all the channels within this directory and all subdirectories.\r\n// Channel files must be named *_channel.js.\r\n\r\nconst channels = require.context('.', true, /_channel\\.js$/)\r\nchannels.keys().forEach(channels)\r\n","// This file is automatically compiled by Webpack, along with any other files\r\n// present in this directory. You're encouraged to place your actual application logic in\r\n// a relevant structure within app/javascript and only use these pack files to reference\r\n// that code so it'll be compiled.\r\n\r\nrequire(\"@rails/ujs\").start()\r\n//require(\"turbolinks\").start()\r\nrequire(\"@rails/activestorage\").start()\r\nrequire(\"channels\")\r\n\r\n//Dependencies added for cocoon\r\nvar jQuery = require(\"jquery\")\r\nrequire(\"@nathanvda/cocoon\")\r\n\r\n//libreria cargada o estáticamente (buscando el archivo) --> import \"../select2/select2.min\"\r\n// O buscando en los modulos npm:\r\nimport 'select2'\r\n\r\n//Cargamos los stylesheets estaticamente -> import (Desde la carpeta javascript): '../stylesheets/application'\r\n// O buscando en los modulos:\r\nimport 'select2/dist/css/select2'\r\nimport '@ckeditor/ckeditor5-build-classic'\r\n\r\n// include jQuery in global and window scope (so you can access it globally)\r\n// in your web browser, when you type $('.div'), it is actually refering to global.$('.div')\r\nimport '../active_storage/direct_uploads'\r\nimport '../stylesheets/direct_uploads'\r\n//import 'bulma/bulma.sass'\r\nimport '../stylesheets/application'\r\n\r\n//import \"datatables-bulma/css/dataTables.bulma.css\"\r\n//import \"datatables-bulma/js/dataTables.bulma\"\r\n//import \"serve-index/public/style.css\"\r\nimport 'textfit'\r\nglobal.$ = global.jQuery = jQuery;\r\nwindow.$ = window.jQuery = jQuery;\r\n\r\n// Uncomment to copy all static images under ../images to the output folder and reference\r\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\r\n// or the `imagePath` JavaScript helper below.\r\n//\r\n// const images = require.context('../images', true)\r\n// const imagePath = (name) => images(name, true)\r\n\r\n\r\nrequire(\"trix\")\r\nrequire(\"@rails/actiontext\")","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--6-1!../../../node_modules/postcss-loader/src/index.js??ref--6-2!../../../node_modules/sass-loader/dist/cjs.js??ref--6-3!./application.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??ref--5-2!./direct_uploads.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","module.exports = require(\"regenerator-runtime\");\n","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e322) { throw _e322; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e323) { didErr = true; err = _e323; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md.\n */\n!function (t) {\n var e = t.en = t.en || {};\n e.dictionary = Object.assign(e.dictionary || {}, {\n \"%0 of %1\": \"%0 of %1\",\n \"Block quote\": \"Block quote\",\n Bold: \"Bold\",\n \"Bulleted List\": \"Bulleted List\",\n Cancel: \"Cancel\",\n \"Cannot upload file:\": \"Cannot upload file:\",\n \"Centered image\": \"Centered image\",\n \"Change image text alternative\": \"Change image text alternative\",\n \"Choose heading\": \"Choose heading\",\n Column: \"Column\",\n \"Could not insert image at the current position.\": \"Could not insert image at the current position.\",\n \"Could not obtain resized image URL.\": \"Could not obtain resized image URL.\",\n \"Decrease indent\": \"Decrease indent\",\n \"Delete column\": \"Delete column\",\n \"Delete row\": \"Delete row\",\n Downloadable: \"Downloadable\",\n \"Dropdown toolbar\": \"Dropdown toolbar\",\n \"Edit link\": \"Edit link\",\n \"Editor toolbar\": \"Editor toolbar\",\n \"Enter image caption\": \"Enter image caption\",\n \"Full size image\": \"Full size image\",\n \"Header column\": \"Header column\",\n \"Header row\": \"Header row\",\n Heading: \"Heading\",\n \"Heading 1\": \"Heading 1\",\n \"Heading 2\": \"Heading 2\",\n \"Heading 3\": \"Heading 3\",\n \"Heading 4\": \"Heading 4\",\n \"Heading 5\": \"Heading 5\",\n \"Heading 6\": \"Heading 6\",\n \"Image toolbar\": \"Image toolbar\",\n \"image widget\": \"image widget\",\n \"Increase indent\": \"Increase indent\",\n \"Insert column left\": \"Insert column left\",\n \"Insert column right\": \"Insert column right\",\n \"Insert image\": \"Insert image\",\n \"Insert image or file\": \"Insert image or file\",\n \"Insert media\": \"Insert media\",\n \"Insert paragraph after block\": \"Insert paragraph after block\",\n \"Insert paragraph before block\": \"Insert paragraph before block\",\n \"Insert row above\": \"Insert row above\",\n \"Insert row below\": \"Insert row below\",\n \"Insert table\": \"Insert table\",\n \"Inserting image failed\": \"Inserting image failed\",\n Italic: \"Italic\",\n \"Left aligned image\": \"Left aligned image\",\n Link: \"Link\",\n \"Link URL\": \"Link URL\",\n \"Media URL\": \"Media URL\",\n \"media widget\": \"media widget\",\n \"Merge cell down\": \"Merge cell down\",\n \"Merge cell left\": \"Merge cell left\",\n \"Merge cell right\": \"Merge cell right\",\n \"Merge cell up\": \"Merge cell up\",\n \"Merge cells\": \"Merge cells\",\n Next: \"Next\",\n \"Numbered List\": \"Numbered List\",\n \"Open in a new tab\": \"Open in a new tab\",\n \"Open link in new tab\": \"Open link in new tab\",\n Paragraph: \"Paragraph\",\n \"Paste the media URL in the input.\": \"Paste the media URL in the input.\",\n Previous: \"Previous\",\n Redo: \"Redo\",\n \"Rich Text Editor\": \"Rich Text Editor\",\n \"Rich Text Editor, %0\": \"Rich Text Editor, %0\",\n \"Right aligned image\": \"Right aligned image\",\n Row: \"Row\",\n Save: \"Save\",\n \"Select all\": \"Select all\",\n \"Select column\": \"Select column\",\n \"Select row\": \"Select row\",\n \"Selecting resized image failed\": \"Selecting resized image failed\",\n \"Show more items\": \"Show more items\",\n \"Side image\": \"Side image\",\n \"Split cell horizontally\": \"Split cell horizontally\",\n \"Split cell vertically\": \"Split cell vertically\",\n \"Table toolbar\": \"Table toolbar\",\n \"Text alternative\": \"Text alternative\",\n \"The URL must not be empty.\": \"The URL must not be empty.\",\n \"This link has no URL\": \"This link has no URL\",\n \"This media URL is not supported.\": \"This media URL is not supported.\",\n \"Tip: Paste the URL into the content to embed faster.\": \"Tip: Paste the URL into the content to embed faster.\",\n Undo: \"Undo\",\n Unlink: \"Unlink\",\n \"Upload failed\": \"Upload failed\",\n \"Upload in progress\": \"Upload in progress\",\n \"Widget toolbar\": \"Widget toolbar\"\n });\n}(window.CKEDITOR_TRANSLATIONS || (window.CKEDITOR_TRANSLATIONS = {})), function (t, e) {\n \"object\" == (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) && \"object\" == (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) ? module.exports = e() : \"function\" == typeof define && define.amd ? define([], e) : \"object\" == (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) ? exports.ClassicEditor = e() : t.ClassicEditor = e();\n}(window, function () {\n return function (t) {\n var e = {};\n\n function n(i) {\n if (e[i]) return e[i].exports;\n var o = e[i] = {\n i: i,\n l: !1,\n exports: {}\n };\n return t[i].call(o.exports, o, o.exports, n), o.l = !0, o.exports;\n }\n\n return n.m = t, n.c = e, n.d = function (t, e, i) {\n n.o(t, e) || Object.defineProperty(t, e, {\n enumerable: !0,\n get: i\n });\n }, n.r = function (t) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n }, n.t = function (t, e) {\n if (1 & e && (t = n(t)), 8 & e) return t;\n if (4 & e && \"object\" == _typeof(t) && t && t.__esModule) return t;\n var i = Object.create(null);\n if (n.r(i), Object.defineProperty(i, \"default\", {\n enumerable: !0,\n value: t\n }), 2 & e && \"string\" != typeof t) for (var o in t) {\n n.d(i, o, function (e) {\n return t[e];\n }.bind(null, o));\n }\n return i;\n }, n.n = function (t) {\n var e = t && t.__esModule ? function () {\n return t[\"default\"];\n } : function () {\n return t;\n };\n return n.d(e, \"a\", e), e;\n }, n.o = function (t, e) {\n return Object.prototype.hasOwnProperty.call(t, e);\n }, n.p = \"\", n(n.s = 98);\n }([function (t, e, n) {\n \"use strict\";\n\n n.d(e, \"a\", function () {\n return i;\n }), n.d(e, \"c\", function () {\n return o;\n }), n.d(e, \"b\", function () {\n return r;\n });\n\n var i = /*#__PURE__*/function (_Error) {\n _inherits(i, _Error);\n\n var _super = _createSuper(i);\n\n function i(t, e, n) {\n var _this;\n\n _classCallCheck(this, i);\n\n _this = _super.call(this, \"\".concat(t).concat(n ? \" \" + JSON.stringify(n) : \"\").concat(s(t))), _this.name = \"CKEditorError\", _this.context = e, _this.data = n;\n return _this;\n }\n\n _createClass(i, [{\n key: \"is\",\n value: function is(t) {\n return \"CKEditorError\" === t;\n }\n }], [{\n key: \"rethrowUnexpectedError\",\n value: function rethrowUnexpectedError(t, e) {\n if (t.is && t.is(\"CKEditorError\")) throw t;\n var n = new i(t.message, e);\n throw n.stack = t.stack, n;\n }\n }]);\n\n return i;\n }( /*#__PURE__*/_wrapNativeSuper(Error));\n\n function o(t, e) {\n var _console;\n\n (_console = console).warn.apply(_console, _toConsumableArray(a(t, e)));\n }\n\n function r(t, e) {\n var _console2;\n\n (_console2 = console).error.apply(_console2, _toConsumableArray(a(t, e)));\n }\n\n function s(t) {\n return \"\\nRead more: https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html#error-\" + t;\n }\n\n function a(t, e) {\n var n = s(t);\n return e ? [t, e, n] : [t, n];\n }\n }, function (t, e, n) {\n \"use strict\";\n\n var i,\n o = function o() {\n return void 0 === i && (i = Boolean(window && document && document.all && !window.atob)), i;\n },\n r = function () {\n var t = {};\n return function (e) {\n if (void 0 === t[e]) {\n var n = document.querySelector(e);\n if (window.HTMLIFrameElement && n instanceof window.HTMLIFrameElement) try {\n n = n.contentDocument.head;\n } catch (t) {\n n = null;\n }\n t[e] = n;\n }\n\n return t[e];\n };\n }(),\n s = [];\n\n function a(t) {\n for (var e = -1, n = 0; n < s.length; n++) {\n if (s[n].identifier === t) {\n e = n;\n break;\n }\n }\n\n return e;\n }\n\n function c(t, e) {\n for (var n = {}, i = [], o = 0; o < t.length; o++) {\n var r = t[o],\n c = e.base ? r[0] + e.base : r[0],\n l = n[c] || 0,\n d = \"\".concat(c, \" \").concat(l);\n n[c] = l + 1;\n var u = a(d),\n h = {\n css: r[1],\n media: r[2],\n sourceMap: r[3]\n };\n -1 !== u ? (s[u].references++, s[u].updater(h)) : s.push({\n identifier: d,\n updater: p(h, e),\n references: 1\n }), i.push(d);\n }\n\n return i;\n }\n\n function l(t) {\n var e = document.createElement(\"style\"),\n i = t.attributes || {};\n\n if (void 0 === i.nonce) {\n var o = n.nc;\n o && (i.nonce = o);\n }\n\n if (Object.keys(i).forEach(function (t) {\n e.setAttribute(t, i[t]);\n }), \"function\" == typeof t.insert) t.insert(e);else {\n var s = r(t.insert || \"head\");\n if (!s) throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n s.appendChild(e);\n }\n return e;\n }\n\n var d,\n u = (d = [], function (t, e) {\n return d[t] = e, d.filter(Boolean).join(\"\\n\");\n });\n\n function h(t, e, n, i) {\n var o = n ? \"\" : i.media ? \"@media \".concat(i.media, \" {\").concat(i.css, \"}\") : i.css;\n if (t.styleSheet) t.styleSheet.cssText = u(e, o);else {\n var r = document.createTextNode(o),\n s = t.childNodes;\n s[e] && t.removeChild(s[e]), s.length ? t.insertBefore(r, s[e]) : t.appendChild(r);\n }\n }\n\n function f(t, e, n) {\n var i = n.css,\n o = n.media,\n r = n.sourceMap;\n if (o ? t.setAttribute(\"media\", o) : t.removeAttribute(\"media\"), r && \"undefined\" != typeof btoa && (i += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))), \" */\")), t.styleSheet) t.styleSheet.cssText = i;else {\n for (; t.firstChild;) {\n t.removeChild(t.firstChild);\n }\n\n t.appendChild(document.createTextNode(i));\n }\n }\n\n var m = null,\n g = 0;\n\n function p(t, e) {\n var n, i, o;\n\n if (e.singleton) {\n var r = g++;\n n = m || (m = l(e)), i = h.bind(null, n, r, !1), o = h.bind(null, n, r, !0);\n } else n = l(e), i = f.bind(null, n, e), o = function o() {\n !function (t) {\n if (null === t.parentNode) return !1;\n t.parentNode.removeChild(t);\n }(n);\n };\n\n return i(t), function (e) {\n if (e) {\n if (e.css === t.css && e.media === t.media && e.sourceMap === t.sourceMap) return;\n i(t = e);\n } else o();\n };\n }\n\n t.exports = function (t, e) {\n (e = e || {}).singleton || \"boolean\" == typeof e.singleton || (e.singleton = o());\n var n = c(t = t || [], e);\n return function (t) {\n if (t = t || [], \"[object Array]\" === Object.prototype.toString.call(t)) {\n for (var i = 0; i < n.length; i++) {\n var o = a(n[i]);\n s[o].references--;\n }\n\n for (var r = c(t, e), l = 0; l < n.length; l++) {\n var d = a(n[l]);\n 0 === s[d].references && (s[d].updater(), s.splice(d, 1));\n }\n\n n = r;\n }\n };\n };\n },, function (t, e, n) {\n \"use strict\";\n\n var i = n(8),\n o = \"object\" == (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) && self && self.Object === Object && self,\n r = i.a || o || Function(\"return this\")();\n e.a = r;\n }, function (t, e, n) {\n \"use strict\";\n\n (function (t) {\n var i = n(3),\n o = n(13),\n r = \"object\" == (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) && exports && !exports.nodeType && exports,\n s = r && \"object\" == _typeof(t) && t && !t.nodeType && t,\n a = s && s.exports === r ? i.a.Buffer : void 0,\n c = (a ? a.isBuffer : void 0) || o.a;\n e.a = c;\n }).call(this, n(10)(t));\n }, function (t, e, n) {\n \"use strict\";\n\n (function (t) {\n var i = n(8),\n o = \"object\" == (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) && exports && !exports.nodeType && exports,\n r = o && \"object\" == _typeof(t) && t && !t.nodeType && t,\n s = r && r.exports === o && i.a.process,\n a = function () {\n try {\n var t = r && r.require && r.require(\"util\").types;\n\n return t || s && s.binding && s.binding(\"util\");\n } catch (t) {}\n }();\n\n e.a = a;\n }).call(this, n(10)(t));\n }, function (t, e, n) {\n \"use strict\";\n\n (function (t) {\n var e = n(0);\n var i = \"object\" == (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) ? window : t;\n if (i.CKEDITOR_VERSION) throw new e.a(\"ckeditor-duplicated-modules\", null);\n i.CKEDITOR_VERSION = \"23.1.0\";\n }).call(this, n(11));\n }, function (t, e, n) {\n var i = n(1),\n o = n(60);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e, n) {\n \"use strict\";\n\n (function (t) {\n var n = \"object\" == _typeof(t) && t && t.Object === Object && t;\n e.a = n;\n }).call(this, n(11));\n }, function (t, e, n) {\n \"use strict\";\n\n (function (t) {\n var i = n(3),\n o = \"object\" == (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) && exports && !exports.nodeType && exports,\n r = o && \"object\" == _typeof(t) && t && !t.nodeType && t,\n s = r && r.exports === o ? i.a.Buffer : void 0,\n a = s ? s.allocUnsafe : void 0;\n\n e.a = function (t, e) {\n if (e) return t.slice();\n var n = t.length,\n i = a ? a(n) : new t.constructor(n);\n return t.copy(i), i;\n };\n }).call(this, n(10)(t));\n }, function (t, e) {\n t.exports = function (t) {\n if (!t.webpackPolyfill) {\n var e = Object.create(t);\n e.children || (e.children = []), Object.defineProperty(e, \"loaded\", {\n enumerable: !0,\n get: function get() {\n return e.l;\n }\n }), Object.defineProperty(e, \"id\", {\n enumerable: !0,\n get: function get() {\n return e.i;\n }\n }), Object.defineProperty(e, \"exports\", {\n enumerable: !0\n }), e.webpackPolyfill = 1;\n }\n\n return e;\n };\n }, function (t, e) {\n var n;\n\n n = function () {\n return this;\n }();\n\n try {\n n = n || new Function(\"return this\")();\n } catch (t) {\n \"object\" == (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) && (n = window);\n }\n\n t.exports = n;\n }, function (t, e, n) {\n var i = n(1),\n o = n(73);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e, n) {\n \"use strict\";\n\n e.a = function () {\n return !1;\n };\n }, function (t, e, n) {\n var i = n(1),\n o = n(15);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".ck.ck-placeholder:before,.ck .ck-placeholder:before{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)}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(17);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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-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:#5c5c5c;--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)}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(19);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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)}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(21);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(23);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(25);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".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);position:absolute}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.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-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__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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(27);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(29);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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_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_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_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)}';\n }, function (t, e, n) {\n var i = n(1),\n o = n(31);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(33);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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)}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(35);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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))}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(37);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".ck.ck-toolbar-dropdown .ck.ck-toolbar .ck.ck-toolbar__items{flex-wrap:nowrap}.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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(39);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(41);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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_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__items>*{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small);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>*,.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)}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(43);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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)}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(45);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(47);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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)}';\n }, function (t, e, n) {\n var i = n(1),\n o = n(49);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".ck .ck-link_selected{background: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)}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(51);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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-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}}';\n }, function (t, e, n) {\n var i = n(1),\n o = n(53);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-resizer-size:10px;--ck-resizer-border-width:1px;--ck-resizer-border-radius:2px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-tooltip-offset:10px;--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2}.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:var(--ck-spacing-small)}.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)}: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))}.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 .ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-focus-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .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))}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(55);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".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_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view>.ck.ck-label{width:100%;text-overflow:ellipsis;overflow:hidden}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(57);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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{box-shadow:var(--ck-inner-shadow),0 0;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 .2s ease-in-out,border .2s ease-in-out}.ck.ck-input-text:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),var(--ck-inner-shadow)}.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),var(--ck-inner-shadow)}.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),var(--ck-inner-shadow)}@keyframes ck-text-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(59);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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%}}\";\n }, function (t, e) {\n t.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-standard)}.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-standard) var(--ck-spacing-standard) 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-standard);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)}}';\n }, function (t, e, n) {\n var i = n(1),\n o = n(62);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(64);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(66);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".ck-content .image{display:table;clear:both;text-align:center;margin:1em auto}.ck-content .image img{display:block;margin:0 auto;max-width:100%;min-width:50px}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(68);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".ck.ck-editor__editable .image{position:relative}.ck.ck-editor__editable .image .ck-progress-bar{position:absolute;top:0;left:0}.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.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}}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(70);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = '.ck-image-upload-complete-icon{display:block;position:absolute;top:10px;right:10px;border-radius:50%}.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:20px;--ck-image-upload-icon-width:2px}.ck-image-upload-complete-icon{width:var(--ck-image-upload-icon-size);height:var(--ck-image-upload-icon-size);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:var(--ck-image-upload-icon-size);animation-delay:0ms,3s}.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}}';\n }, function (t, e, n) {\n var i = n(1),\n o = n(72);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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)}}';\n }, function (t, e) {\n t.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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(75);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".ck-content .image>figcaption{display:table-caption;caption-side:bottom;word-break:break-word;color:#333;background-color:#f7f7f7;padding:.6em;font-size:.75em;outline-offset:-1px}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(77);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \":root{--ck-image-style-spacing:1.5em}.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)}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(79);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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;padding:0;min-width:var(--ck-input-text-width)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 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-left:0}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{border:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(81);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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}}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(83);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = '.ck-media__wrapper .ck-media__placeholder{display:flex;flex-direction:column;align-items:center}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:block}@media (hover:none){.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:none}}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url:hover .ck-tooltip{visibility:visible;opacity:1}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{overflow:hidden;display:block}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{padding:calc(var(--ck-spacing-standard)*3);background:var(--ck-color-base-foreground)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{min-width:var(--ck-media-embed-placeholder-icon-size);height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);background-position:50%;background-size:cover}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{width:100%;height:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);white-space:nowrap;text-align:center;font-style:italic;text-overflow:ellipsis}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*=\"open.spotify.com\"]{max-width:300px;max-height:380px}.ck-media__wrapper[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMDAzLjc4IDEuNjFoNDkuNjIxYzEuNjk0IDAgMy4xOS0uNzk4IDQuMTQ2LTIuMDM3eiIgZmlsbD0iIzVjODhjNSIvPjxwYXRoIGQ9Ik0yMjYuNzQyIDIyMi45ODhjLTkuMjY2IDAtMTYuNzc3IDcuMTctMTYuNzc3IDE2LjAxNC4wMDcgMi43NjIuNjYzIDUuNDc0IDIuMDkzIDcuODc1LjQzLjcwMy44MyAxLjQwOCAxLjE5IDIuMTA3LjMzMy41MDIuNjUgMS4wMDUuOTUgMS41MDguMzQzLjQ3Ny42NzMuOTU3Ljk4OCAxLjQ0IDEuMzEgMS43NjkgMi41IDMuNTAyIDMuNjM3IDUuMTY4Ljc5MyAxLjI3NSAxLjY4MyAyLjY0IDIuNDY2IDMuOTkgMi4zNjMgNC4wOTQgNC4wMDcgOC4wOTIgNC42IDEzLjkxNHYuMDEyYy4xODIuNDEyLjUxNi42NjYuODc5LjY2Ny40MDMtLjAwMS43NjgtLjMxNC45My0uNzk5LjYwMy01Ljc1NiAyLjIzOC05LjcyOSA0LjU4NS0xMy43OTQuNzgyLTEuMzUgMS42NzMtMi43MTUgMi40NjUtMy45OSAxLjEzNy0xLjY2NiAyLjMyOC0zLjQgMy42MzgtNS4xNjkuMzE1LS40ODIuNjQ1LS45NjIuOTg4LTEuNDM5LjMtLjUwMy42MTctMS4wMDYuOTUtMS41MDguMzU5LS43Ljc2LTEuNDA0IDEuMTktMi4xMDcgMS40MjYtMi40MDIgMi01LjExNCAyLjAwNC03Ljg3NSAwLTguODQ0LTcuNTExLTE2LjAxNC0xNi43NzYtMTYuMDE0eiIgZmlsbD0iI2RkNGIzZSIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48ZWxsaXBzZSByeT0iNS41NjQiIHJ4PSI1LjgyOCIgY3k9IjIzOS4wMDIiIGN4PSIyMjYuNzQyIiBmaWxsPSIjODAyZDI3IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0xOTAuMzAxIDIzNy4yODNjLTQuNjcgMC04LjQ1NyAzLjg1My04LjQ1NyA4LjYwNnMzLjc4NiA4LjYwNyA4LjQ1NyA4LjYwN2MzLjA0MyAwIDQuODA2LS45NTggNi4zMzctMi41MTYgMS41My0xLjU1NyAyLjA4Ny0zLjkxMyAyLjA4Ny02LjI5IDAtLjM2Mi0uMDIzLS43MjItLjA2NC0xLjA3OWgtOC4yNTd2My4wNDNoNC44NWMtLjE5Ny43NTktLjUzMSAxLjQ1LTEuMDU4IDEuOTg2LS45NDIuOTU4LTIuMDI4IDEuNTQ4LTMuOTAxIDEuNTQ4LTIuODc2IDAtNS4yMDgtMi4zNzItNS4yMDgtNS4yOTkgMC0yLjkyNiAyLjMzMi01LjI5OSA1LjIwOC01LjI5OSAxLjM5OSAwIDIuNjE4LjQwNyAzLjU4NCAxLjI5M2wyLjM4MS0yLjM4YzAtLjAwMi0uMDAzLS4wMDQtLjAwNC0uMDA1LTEuNTg4LTEuNTI0LTMuNjItMi4yMTUtNS45NTUtMi4yMTV6bTQuNDMgNS42NmwuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxNS4xODQgMjUxLjkyOWwtNy45OCA3Ljk3OSAyOC40NzcgMjguNDc1YTUuMjMzIDUuMjMzIDAgMDAuNDQ5LTIuMTIzdi0zMS4xNjVjLS40NjkuNjc1LS45MzQgMS4zNDktMS4zODIgMi4wMDUtLjc5MiAxLjI3NS0xLjY4MiAyLjY0LTIuNDY1IDMuOTktMi4zNDcgNC4wNjUtMy45ODIgOC4wMzgtNC41ODUgMTMuNzk0LS4xNjIuNDg1LS41MjcuNzk4LS45My43OTktLjM2My0uMDAxLS42OTctLjI1NS0uODc5LS42Njd2LS4wMTJjLS41OTMtNS44MjItMi4yMzctOS44Mi00LjYtMTMuOTE0LS43ODMtMS4zNS0xLjY3My0yLjcxNS0yLjQ2Ni0zLjk5LTEuMTM3LTEuNjY2LTIuMzI3LTMuNC0zLjYzNy01LjE2OWwtLjAwMi0uMDAzeiIgZmlsbD0iI2MzYzNjMyIvPjxwYXRoIGQ9Ik0yMTIuOTgzIDI0OC40OTVsLTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAwNS4yMzggNS4yMzhoMS4wMTVsMzUuNjY2LTM1LjY2NmExMzYuMjc1IDEzNi4yNzUgMCAwMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAwLS45ODktMS40NCAzNS4xMjcgMzUuMTI3IDAgMDAtLjk1LTEuNTA4Yy0uMDgzLS4xNjItLjE3Ni0uMzI2LS4yNjQtLjQ4OXoiIGZpbGw9IiNmZGRjNGYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxMS45OTggMjYxLjA4M2wtNi4xNTIgNi4xNTEgMjQuMjY0IDI0LjI2NGguNzgxYTUuMjI3IDUuMjI3IDAgMDA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OXptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OXoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzN6bTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1ek00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIGZpbGw9IiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}';\n }, function (t, e, n) {\n var i = n(1),\n o = n(85);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".ck.ck-media-form{display:flex;align-items:flex-start;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(87);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".ck-content .media{clear:both;margin:1em 0;display:block;min-width:15em}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(89);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(91);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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__action{border-top-right-radius:unset;border-bottom-right-radius:unset}[dir=rtl] .ck.ck-splitbutton>.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-radius:0}.ck-rounded-corners [dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow,[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow.ck-rounded-corners{border-radius:var(--ck-border-radius);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)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-left-color:var(--ck-color-split-button-hover-border)}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-right-color:var(--ck-color-split-button-hover-border)}.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}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(93);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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)}\";\n }, function (t, e, n) {\n var i = n(1),\n o = n(95);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.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_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget_selected{outline:unset}';\n }, function (t, e, n) {\n var i = n(1),\n o = n(97);\n \"string\" == typeof (o = o.__esModule ? o[\"default\"] : o) && (o = [[t.i, o, \"\"]]);\n var r = {\n injectType: \"singletonStyleTag\",\n attributes: {\n \"data-cke\": !0\n },\n insert: \"head\",\n singleton: !0\n };\n i(o, r);\n t.exports = o.locals || {};\n }, function (t, e) {\n t.exports = \".ck-content .table{margin:1em 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}\";\n }, function (t, e, n) {\n \"use strict\";\n\n var _marked = /*#__PURE__*/_regeneratorRuntime.mark(Na),\n _marked2 = /*#__PURE__*/_regeneratorRuntime.mark(Oa),\n _marked3 = /*#__PURE__*/_regeneratorRuntime.mark(bd);\n\n n.r(e), n.d(e, \"default\", function () {\n return Rb;\n });\n var i = n(3),\n o = i.a.Symbol,\n r = Object.prototype,\n s = r.hasOwnProperty,\n a = r.toString,\n c = o ? o.toStringTag : void 0;\n\n var l = function l(t) {\n var e = s.call(t, c),\n n = t[c];\n\n try {\n t[c] = void 0;\n var i = !0;\n } catch (t) {}\n\n var o = a.call(t);\n return i && (e ? t[c] = n : delete t[c]), o;\n },\n d = Object.prototype.toString;\n\n var u = function u(t) {\n return d.call(t);\n },\n h = o ? o.toStringTag : void 0;\n\n var f = function f(t) {\n return null == t ? void 0 === t ? \"[object Undefined]\" : \"[object Null]\" : h && h in Object(t) ? l(t) : u(t);\n };\n\n var m = function m(t, e) {\n return function (n) {\n return t(e(n));\n };\n },\n g = m(Object.getPrototypeOf, Object);\n\n var p = function p(t) {\n return null != t && \"object\" == _typeof(t);\n },\n b = Function.prototype,\n w = Object.prototype,\n k = b.toString,\n _ = w.hasOwnProperty,\n v = k.call(Object);\n\n var y = function y(t) {\n if (!p(t) || \"[object Object]\" != f(t)) return !1;\n var e = g(t);\n if (null === e) return !0;\n var n = _.call(e, \"constructor\") && e.constructor;\n return \"function\" == typeof n && n instanceof n && k.call(n) == v;\n };\n\n var x = function x() {\n this.__data__ = [], this.size = 0;\n };\n\n var A = function A(t, e) {\n return t === e || t != t && e != e;\n };\n\n var C = function C(t, e) {\n for (var n = t.length; n--;) {\n if (A(t[n][0], e)) return n;\n }\n\n return -1;\n },\n T = Array.prototype.splice;\n\n var P = function P(t) {\n var e = this.__data__,\n n = C(e, t);\n return !(n < 0) && (n == e.length - 1 ? e.pop() : T.call(e, n, 1), --this.size, !0);\n };\n\n var S = function S(t) {\n var e = this.__data__,\n n = C(e, t);\n return n < 0 ? void 0 : e[n][1];\n };\n\n var E = function E(t) {\n return C(this.__data__, t) > -1;\n };\n\n var M = function M(t, e) {\n var n = this.__data__,\n i = C(n, t);\n return i < 0 ? (++this.size, n.push([t, e])) : n[i][1] = e, this;\n };\n\n function I(t) {\n var e = -1,\n n = null == t ? 0 : t.length;\n\n for (this.clear(); ++e < n;) {\n var i = t[e];\n this.set(i[0], i[1]);\n }\n }\n\n I.prototype.clear = x, I.prototype[\"delete\"] = P, I.prototype.get = S, I.prototype.has = E, I.prototype.set = M;\n var N = I;\n\n var O = function O() {\n this.__data__ = new N(), this.size = 0;\n };\n\n var R = function R(t) {\n var e = this.__data__,\n n = e[\"delete\"](t);\n return this.size = e.size, n;\n };\n\n var D = function D(t) {\n return this.__data__.get(t);\n };\n\n var L = function L(t) {\n return this.__data__.has(t);\n };\n\n var V = function V(t) {\n var e = _typeof(t);\n\n return null != t && (\"object\" == e || \"function\" == e);\n };\n\n var j,\n z = function z(t) {\n if (!V(t)) return !1;\n var e = f(t);\n return \"[object Function]\" == e || \"[object GeneratorFunction]\" == e || \"[object AsyncFunction]\" == e || \"[object Proxy]\" == e;\n },\n B = i.a[\"__core-js_shared__\"],\n F = (j = /[^.]+$/.exec(B && B.keys && B.keys.IE_PROTO || \"\")) ? \"Symbol(src)_1.\" + j : \"\";\n\n var U = function U(t) {\n return !!F && F in t;\n },\n H = Function.prototype.toString;\n\n var W = function W(t) {\n if (null != t) {\n try {\n return H.call(t);\n } catch (t) {}\n\n try {\n return t + \"\";\n } catch (t) {}\n }\n\n return \"\";\n },\n q = /^\\[object .+?Constructor\\]$/,\n $ = Function.prototype,\n Y = Object.prototype,\n G = $.toString,\n K = Y.hasOwnProperty,\n Q = RegExp(\"^\" + G.call(K).replace(/[\\\\^$.*+?()[\\]{}|]/g, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\");\n\n var J = function J(t) {\n return !(!V(t) || U(t)) && (z(t) ? Q : q).test(W(t));\n };\n\n var Z = function Z(t, e) {\n return null == t ? void 0 : t[e];\n };\n\n var X = function X(t, e) {\n var n = Z(t, e);\n return J(n) ? n : void 0;\n },\n tt = X(i.a, \"Map\"),\n et = X(Object, \"create\");\n\n var nt = function nt() {\n this.__data__ = et ? et(null) : {}, this.size = 0;\n };\n\n var it = function it(t) {\n var e = this.has(t) && delete this.__data__[t];\n return this.size -= e ? 1 : 0, e;\n },\n ot = Object.prototype.hasOwnProperty;\n\n var rt = function rt(t) {\n var e = this.__data__;\n\n if (et) {\n var n = e[t];\n return \"__lodash_hash_undefined__\" === n ? void 0 : n;\n }\n\n return ot.call(e, t) ? e[t] : void 0;\n },\n st = Object.prototype.hasOwnProperty;\n\n var at = function at(t) {\n var e = this.__data__;\n return et ? void 0 !== e[t] : st.call(e, t);\n };\n\n var ct = function ct(t, e) {\n var n = this.__data__;\n return this.size += this.has(t) ? 0 : 1, n[t] = et && void 0 === e ? \"__lodash_hash_undefined__\" : e, this;\n };\n\n function lt(t) {\n var e = -1,\n n = null == t ? 0 : t.length;\n\n for (this.clear(); ++e < n;) {\n var i = t[e];\n this.set(i[0], i[1]);\n }\n }\n\n lt.prototype.clear = nt, lt.prototype[\"delete\"] = it, lt.prototype.get = rt, lt.prototype.has = at, lt.prototype.set = ct;\n var dt = lt;\n\n var ut = function ut() {\n this.size = 0, this.__data__ = {\n hash: new dt(),\n map: new (tt || N)(),\n string: new dt()\n };\n };\n\n var ht = function ht(t) {\n var e = _typeof(t);\n\n return \"string\" == e || \"number\" == e || \"symbol\" == e || \"boolean\" == e ? \"__proto__\" !== t : null === t;\n };\n\n var ft = function ft(t, e) {\n var n = t.__data__;\n return ht(e) ? n[\"string\" == typeof e ? \"string\" : \"hash\"] : n.map;\n };\n\n var mt = function mt(t) {\n var e = ft(this, t)[\"delete\"](t);\n return this.size -= e ? 1 : 0, e;\n };\n\n var gt = function gt(t) {\n return ft(this, t).get(t);\n };\n\n var pt = function pt(t) {\n return ft(this, t).has(t);\n };\n\n var bt = function bt(t, e) {\n var n = ft(this, t),\n i = n.size;\n return n.set(t, e), this.size += n.size == i ? 0 : 1, this;\n };\n\n function wt(t) {\n var e = -1,\n n = null == t ? 0 : t.length;\n\n for (this.clear(); ++e < n;) {\n var i = t[e];\n this.set(i[0], i[1]);\n }\n }\n\n wt.prototype.clear = ut, wt.prototype[\"delete\"] = mt, wt.prototype.get = gt, wt.prototype.has = pt, wt.prototype.set = bt;\n var kt = wt;\n\n var _t = function _t(t, e) {\n var n = this.__data__;\n\n if (n instanceof N) {\n var i = n.__data__;\n if (!tt || i.length < 199) return i.push([t, e]), this.size = ++n.size, this;\n n = this.__data__ = new kt(i);\n }\n\n return n.set(t, e), this.size = n.size, this;\n };\n\n function vt(t) {\n var e = this.__data__ = new N(t);\n this.size = e.size;\n }\n\n vt.prototype.clear = O, vt.prototype[\"delete\"] = R, vt.prototype.get = D, vt.prototype.has = L, vt.prototype.set = _t;\n var yt = vt;\n\n var xt = function xt(t, e) {\n for (var n = -1, i = null == t ? 0 : t.length; ++n < i && !1 !== e(t[n], n, t);) {\n ;\n }\n\n return t;\n },\n At = function () {\n try {\n var t = X(Object, \"defineProperty\");\n return t({}, \"\", {}), t;\n } catch (t) {}\n }();\n\n var Ct = function Ct(t, e, n) {\n \"__proto__\" == e && At ? At(t, e, {\n configurable: !0,\n enumerable: !0,\n value: n,\n writable: !0\n }) : t[e] = n;\n },\n Tt = Object.prototype.hasOwnProperty;\n\n var Pt = function Pt(t, e, n) {\n var i = t[e];\n Tt.call(t, e) && A(i, n) && (void 0 !== n || e in t) || Ct(t, e, n);\n };\n\n var St = function St(t, e, n, i) {\n var o = !n;\n n || (n = {});\n\n for (var r = -1, s = e.length; ++r < s;) {\n var a = e[r],\n c = i ? i(n[a], t[a], a, n, t) : void 0;\n void 0 === c && (c = t[a]), o ? Ct(n, a, c) : Pt(n, a, c);\n }\n\n return n;\n };\n\n var Et = function Et(t, e) {\n for (var n = -1, i = Array(t); ++n < t;) {\n i[n] = e(n);\n }\n\n return i;\n };\n\n var Mt = function Mt(t) {\n return p(t) && \"[object Arguments]\" == f(t);\n },\n It = Object.prototype,\n Nt = It.hasOwnProperty,\n Ot = It.propertyIsEnumerable,\n Rt = Mt(function () {\n return arguments;\n }()) ? Mt : function (t) {\n return p(t) && Nt.call(t, \"callee\") && !Ot.call(t, \"callee\");\n },\n Dt = Array.isArray,\n Lt = n(4),\n Vt = /^(?:0|[1-9]\\d*)$/;\n\n var jt = function jt(t, e) {\n var n = _typeof(t);\n\n return !!(e = null == e ? 9007199254740991 : e) && (\"number\" == n || \"symbol\" != n && Vt.test(t)) && t > -1 && t % 1 == 0 && t < e;\n };\n\n var zt = function zt(t) {\n return \"number\" == typeof t && t > -1 && t % 1 == 0 && t <= 9007199254740991;\n },\n Bt = {};\n\n Bt[\"[object Float32Array]\"] = Bt[\"[object Float64Array]\"] = Bt[\"[object Int8Array]\"] = Bt[\"[object Int16Array]\"] = Bt[\"[object Int32Array]\"] = Bt[\"[object Uint8Array]\"] = Bt[\"[object Uint8ClampedArray]\"] = Bt[\"[object Uint16Array]\"] = Bt[\"[object Uint32Array]\"] = !0, Bt[\"[object Arguments]\"] = Bt[\"[object Array]\"] = Bt[\"[object ArrayBuffer]\"] = Bt[\"[object Boolean]\"] = Bt[\"[object DataView]\"] = Bt[\"[object Date]\"] = Bt[\"[object Error]\"] = Bt[\"[object Function]\"] = Bt[\"[object Map]\"] = Bt[\"[object Number]\"] = Bt[\"[object Object]\"] = Bt[\"[object RegExp]\"] = Bt[\"[object Set]\"] = Bt[\"[object String]\"] = Bt[\"[object WeakMap]\"] = !1;\n\n var Ft = function Ft(t) {\n return p(t) && zt(t.length) && !!Bt[f(t)];\n };\n\n var Ut = function Ut(t) {\n return function (e) {\n return t(e);\n };\n },\n Ht = n(5),\n Wt = Ht.a && Ht.a.isTypedArray,\n qt = Wt ? Ut(Wt) : Ft,\n $t = Object.prototype.hasOwnProperty;\n\n var Yt = function Yt(t, e) {\n var n = Dt(t),\n i = !n && Rt(t),\n o = !n && !i && Object(Lt.a)(t),\n r = !n && !i && !o && qt(t),\n s = n || i || o || r,\n a = s ? Et(t.length, String) : [],\n c = a.length;\n\n for (var l in t) {\n !e && !$t.call(t, l) || s && (\"length\" == l || o && (\"offset\" == l || \"parent\" == l) || r && (\"buffer\" == l || \"byteLength\" == l || \"byteOffset\" == l) || jt(l, c)) || a.push(l);\n }\n\n return a;\n },\n Gt = Object.prototype;\n\n var Kt = function Kt(t) {\n var e = t && t.constructor;\n return t === (\"function\" == typeof e && e.prototype || Gt);\n },\n Qt = m(Object.keys, Object),\n Jt = Object.prototype.hasOwnProperty;\n\n var Zt = function Zt(t) {\n if (!Kt(t)) return Qt(t);\n var e = [];\n\n for (var n in Object(t)) {\n Jt.call(t, n) && \"constructor\" != n && e.push(n);\n }\n\n return e;\n };\n\n var Xt = function Xt(t) {\n return null != t && zt(t.length) && !z(t);\n };\n\n var te = function te(t) {\n return Xt(t) ? Yt(t) : Zt(t);\n };\n\n var ee = function ee(t, e) {\n return t && St(e, te(e), t);\n };\n\n var ne = function ne(t) {\n var e = [];\n if (null != t) for (var n in Object(t)) {\n e.push(n);\n }\n return e;\n },\n ie = Object.prototype.hasOwnProperty;\n\n var oe = function oe(t) {\n if (!V(t)) return ne(t);\n var e = Kt(t),\n n = [];\n\n for (var i in t) {\n (\"constructor\" != i || !e && ie.call(t, i)) && n.push(i);\n }\n\n return n;\n };\n\n var re = function re(t) {\n return Xt(t) ? Yt(t, !0) : oe(t);\n };\n\n var se = function se(t, e) {\n return t && St(e, re(e), t);\n },\n ae = n(9);\n\n var ce = function ce(t, e) {\n var n = -1,\n i = t.length;\n\n for (e || (e = Array(i)); ++n < i;) {\n e[n] = t[n];\n }\n\n return e;\n };\n\n var le = function le(t, e) {\n for (var n = -1, i = null == t ? 0 : t.length, o = 0, r = []; ++n < i;) {\n var s = t[n];\n e(s, n, t) && (r[o++] = s);\n }\n\n return r;\n };\n\n var de = function de() {\n return [];\n },\n ue = Object.prototype.propertyIsEnumerable,\n he = Object.getOwnPropertySymbols,\n fe = he ? function (t) {\n return null == t ? [] : (t = Object(t), le(he(t), function (e) {\n return ue.call(t, e);\n }));\n } : de;\n\n var me = function me(t, e) {\n return St(t, fe(t), e);\n };\n\n var ge = function ge(t, e) {\n for (var n = -1, i = e.length, o = t.length; ++n < i;) {\n t[o + n] = e[n];\n }\n\n return t;\n },\n pe = Object.getOwnPropertySymbols ? function (t) {\n for (var e = []; t;) {\n ge(e, fe(t)), t = g(t);\n }\n\n return e;\n } : de;\n\n var be = function be(t, e) {\n return St(t, pe(t), e);\n };\n\n var we = function we(t, e, n) {\n var i = e(t);\n return Dt(t) ? i : ge(i, n(t));\n };\n\n var ke = function ke(t) {\n return we(t, te, fe);\n };\n\n var _e = function _e(t) {\n return we(t, re, pe);\n },\n ve = X(i.a, \"DataView\"),\n ye = X(i.a, \"Promise\"),\n xe = X(i.a, \"Set\"),\n Ae = X(i.a, \"WeakMap\"),\n Ce = W(ve),\n Te = W(tt),\n Pe = W(ye),\n Se = W(xe),\n Ee = W(Ae),\n Me = f;\n\n (ve && \"[object DataView]\" != Me(new ve(new ArrayBuffer(1))) || tt && \"[object Map]\" != Me(new tt()) || ye && \"[object Promise]\" != Me(ye.resolve()) || xe && \"[object Set]\" != Me(new xe()) || Ae && \"[object WeakMap]\" != Me(new Ae())) && (Me = function Me(t) {\n var e = f(t),\n n = \"[object Object]\" == e ? t.constructor : void 0,\n i = n ? W(n) : \"\";\n if (i) switch (i) {\n case Ce:\n return \"[object DataView]\";\n\n case Te:\n return \"[object Map]\";\n\n case Pe:\n return \"[object Promise]\";\n\n case Se:\n return \"[object Set]\";\n\n case Ee:\n return \"[object WeakMap]\";\n }\n return e;\n });\n var Ie = Me,\n Ne = Object.prototype.hasOwnProperty;\n\n var Oe = function Oe(t) {\n var e = t.length,\n n = new t.constructor(e);\n return e && \"string\" == typeof t[0] && Ne.call(t, \"index\") && (n.index = t.index, n.input = t.input), n;\n },\n Re = i.a.Uint8Array;\n\n var De = function De(t) {\n var e = new t.constructor(t.byteLength);\n return new Re(e).set(new Re(t)), e;\n };\n\n var Le = function Le(t, e) {\n var n = e ? De(t.buffer) : t.buffer;\n return new t.constructor(n, t.byteOffset, t.byteLength);\n },\n Ve = /\\w*$/;\n\n var je = function je(t) {\n var e = new t.constructor(t.source, Ve.exec(t));\n return e.lastIndex = t.lastIndex, e;\n },\n ze = o ? o.prototype : void 0,\n Be = ze ? ze.valueOf : void 0;\n\n var Fe = function Fe(t) {\n return Be ? Object(Be.call(t)) : {};\n };\n\n var Ue = function Ue(t, e) {\n var n = e ? De(t.buffer) : t.buffer;\n return new t.constructor(n, t.byteOffset, t.length);\n };\n\n var He = function He(t, e, n) {\n var i = t.constructor;\n\n switch (e) {\n case \"[object ArrayBuffer]\":\n return De(t);\n\n case \"[object Boolean]\":\n case \"[object Date]\":\n return new i(+t);\n\n case \"[object DataView]\":\n return Le(t, n);\n\n case \"[object Float32Array]\":\n case \"[object Float64Array]\":\n case \"[object Int8Array]\":\n case \"[object Int16Array]\":\n case \"[object Int32Array]\":\n case \"[object Uint8Array]\":\n case \"[object Uint8ClampedArray]\":\n case \"[object Uint16Array]\":\n case \"[object Uint32Array]\":\n return Ue(t, n);\n\n case \"[object Map]\":\n return new i();\n\n case \"[object Number]\":\n case \"[object String]\":\n return new i(t);\n\n case \"[object RegExp]\":\n return je(t);\n\n case \"[object Set]\":\n return new i();\n\n case \"[object Symbol]\":\n return Fe(t);\n }\n },\n We = Object.create,\n qe = function () {\n function t() {}\n\n return function (e) {\n if (!V(e)) return {};\n if (We) return We(e);\n t.prototype = e;\n var n = new t();\n return t.prototype = void 0, n;\n };\n }();\n\n var $e = function $e(t) {\n return \"function\" != typeof t.constructor || Kt(t) ? {} : qe(g(t));\n };\n\n var Ye = function Ye(t) {\n return p(t) && \"[object Map]\" == Ie(t);\n },\n Ge = Ht.a && Ht.a.isMap,\n Ke = Ge ? Ut(Ge) : Ye;\n\n var Qe = function Qe(t) {\n return p(t) && \"[object Set]\" == Ie(t);\n },\n Je = Ht.a && Ht.a.isSet,\n Ze = Je ? Ut(Je) : Qe,\n Xe = {};\n\n Xe[\"[object Arguments]\"] = Xe[\"[object Array]\"] = Xe[\"[object ArrayBuffer]\"] = Xe[\"[object DataView]\"] = Xe[\"[object Boolean]\"] = Xe[\"[object Date]\"] = Xe[\"[object Float32Array]\"] = Xe[\"[object Float64Array]\"] = Xe[\"[object Int8Array]\"] = Xe[\"[object Int16Array]\"] = Xe[\"[object Int32Array]\"] = Xe[\"[object Map]\"] = Xe[\"[object Number]\"] = Xe[\"[object Object]\"] = Xe[\"[object RegExp]\"] = Xe[\"[object Set]\"] = Xe[\"[object String]\"] = Xe[\"[object Symbol]\"] = Xe[\"[object Uint8Array]\"] = Xe[\"[object Uint8ClampedArray]\"] = Xe[\"[object Uint16Array]\"] = Xe[\"[object Uint32Array]\"] = !0, Xe[\"[object Error]\"] = Xe[\"[object Function]\"] = Xe[\"[object WeakMap]\"] = !1;\n\n var tn = function t(e, n, i, o, r, s) {\n var a,\n c = 1 & n,\n l = 2 & n,\n d = 4 & n;\n if (i && (a = r ? i(e, o, r, s) : i(e)), void 0 !== a) return a;\n if (!V(e)) return e;\n var u = Dt(e);\n\n if (u) {\n if (a = Oe(e), !c) return ce(e, a);\n } else {\n var h = Ie(e),\n f = \"[object Function]\" == h || \"[object GeneratorFunction]\" == h;\n if (Object(Lt.a)(e)) return Object(ae.a)(e, c);\n\n if (\"[object Object]\" == h || \"[object Arguments]\" == h || f && !r) {\n if (a = l || f ? {} : $e(e), !c) return l ? be(e, se(a, e)) : me(e, ee(a, e));\n } else {\n if (!Xe[h]) return r ? e : {};\n a = He(e, h, c);\n }\n }\n\n s || (s = new yt());\n var m = s.get(e);\n if (m) return m;\n s.set(e, a), Ze(e) ? e.forEach(function (o) {\n a.add(t(o, n, i, o, e, s));\n }) : Ke(e) && e.forEach(function (o, r) {\n a.set(r, t(o, n, i, r, e, s));\n });\n var g = d ? l ? _e : ke : l ? keysIn : te,\n p = u ? void 0 : g(e);\n return xt(p || e, function (o, r) {\n p && (o = e[r = o]), Pt(a, r, t(o, n, i, r, e, s));\n }), a;\n };\n\n var en = function en(t, e) {\n return tn(t, 5, e = \"function\" == typeof e ? e : void 0);\n };\n\n var nn = function nn(t) {\n return p(t) && 1 === t.nodeType && !y(t);\n };\n\n var on = /*#__PURE__*/function () {\n function on(t, e) {\n _classCallCheck(this, on);\n\n this._config = {}, e && this.define(rn(e)), t && this._setObjectToTarget(this._config, t);\n }\n\n _createClass(on, [{\n key: \"set\",\n value: function set(t, e) {\n this._setToTarget(this._config, t, e);\n }\n }, {\n key: \"define\",\n value: function define(t, e) {\n this._setToTarget(this._config, t, e, !0);\n }\n }, {\n key: \"get\",\n value: function get(t) {\n return this._getFromSource(this._config, t);\n }\n }, {\n key: \"names\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function names() {\n var _i2, _Object$keys, _t2;\n\n return _regeneratorRuntime.wrap(function names$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _i2 = 0, _Object$keys = Object.keys(this._config);\n\n case 1:\n if (!(_i2 < _Object$keys.length)) {\n _context.next = 8;\n break;\n }\n\n _t2 = _Object$keys[_i2];\n _context.next = 5;\n return _t2;\n\n case 5:\n _i2++;\n _context.next = 1;\n break;\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, names, this);\n })\n }, {\n key: \"_setToTarget\",\n value: function _setToTarget(t, e, n) {\n var i = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n if (y(e)) return void this._setObjectToTarget(t, e, i);\n var o = e.split(\".\");\n e = o.pop();\n\n var _iterator = _createForOfIteratorHelper(o),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _e2 = _step.value;\n y(t[_e2]) || (t[_e2] = {}), t = t[_e2];\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n if (y(n)) return y(t[e]) || (t[e] = {}), t = t[e], void this._setObjectToTarget(t, n, i);\n i && void 0 !== t[e] || (t[e] = n);\n }\n }, {\n key: \"_getFromSource\",\n value: function _getFromSource(t, e) {\n var n = e.split(\".\");\n e = n.pop();\n\n var _iterator2 = _createForOfIteratorHelper(n),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _e3 = _step2.value;\n\n if (!y(t[_e3])) {\n t = null;\n break;\n }\n\n t = t[_e3];\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return t ? rn(t[e]) : void 0;\n }\n }, {\n key: \"_setObjectToTarget\",\n value: function _setObjectToTarget(t, e, n) {\n var _this2 = this;\n\n Object.keys(e).forEach(function (i) {\n _this2._setToTarget(t, i, e[i], n);\n });\n }\n }]);\n\n return on;\n }();\n\n function rn(t) {\n return en(t, sn);\n }\n\n function sn(t) {\n return nn(t) ? t : void 0;\n }\n\n var an = function an() {\n return function t() {\n t.called = !0;\n };\n };\n\n var cn = function cn(t, e) {\n _classCallCheck(this, cn);\n\n this.source = t, this.name = e, this.path = [], this.stop = an(), this.off = an();\n };\n\n var ln = new Array(256).fill().map(function (t, e) {\n return (\"0\" + e.toString(16)).slice(-2);\n });\n\n function dn() {\n var t = 4294967296 * Math.random() >>> 0,\n e = 4294967296 * Math.random() >>> 0,\n n = 4294967296 * Math.random() >>> 0,\n i = 4294967296 * Math.random() >>> 0;\n return \"e\" + ln[t >> 0 & 255] + ln[t >> 8 & 255] + ln[t >> 16 & 255] + ln[t >> 24 & 255] + ln[e >> 0 & 255] + ln[e >> 8 & 255] + ln[e >> 16 & 255] + ln[e >> 24 & 255] + ln[n >> 0 & 255] + ln[n >> 8 & 255] + ln[n >> 16 & 255] + ln[n >> 24 & 255] + ln[i >> 0 & 255] + ln[i >> 8 & 255] + ln[i >> 16 & 255] + ln[i >> 24 & 255];\n }\n\n var un = {\n get: function get(t) {\n return \"number\" != typeof t ? this[t] || this.normal : t;\n },\n highest: 1e5,\n high: 1e3,\n normal: 0,\n low: -1e3,\n lowest: -1e5\n },\n hn = (n(6), n(0));\n var fn = Symbol(\"listeningTo\"),\n mn = Symbol(\"emitterId\");\n var gn = {\n on: function on(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.listenTo(this, t, e, n);\n },\n once: function once(t, e, n) {\n var i = !1;\n this.listenTo(this, t, function (t) {\n for (var _len = arguments.length, n = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n n[_key - 1] = arguments[_key];\n }\n\n i || (i = !0, t.off(), e.call.apply(e, [this, t].concat(n)));\n }, n);\n },\n off: function off(t, e) {\n this.stopListening(this, t, e);\n },\n listenTo: function listenTo(t, e, n) {\n var i = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var o, r;\n this[fn] || (this[fn] = {});\n var s = this[fn];\n bn(t) || pn(t);\n var a = bn(t);\n (o = s[a]) || (o = s[a] = {\n emitter: t,\n callbacks: {}\n }), (r = o.callbacks[e]) || (r = o.callbacks[e] = []), r.push(n), function (t, e) {\n var n = wn(t);\n if (n[e]) return;\n var i = e,\n o = null;\n var r = [];\n\n for (; \"\" !== i && !n[i];) {\n n[i] = {\n callbacks: [],\n childEvents: []\n }, r.push(n[i]), o && n[i].childEvents.push(o), o = i, i = i.substr(0, i.lastIndexOf(\":\"));\n }\n\n if (\"\" !== i) {\n var _iterator3 = _createForOfIteratorHelper(r),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _t3 = _step3.value;\n _t3.callbacks = n[i].callbacks.slice();\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n\n n[i].childEvents.push(o);\n }\n }(t, e);\n var c = kn(t, e),\n l = un.get(i.priority),\n d = {\n callback: n,\n priority: l\n };\n\n var _iterator4 = _createForOfIteratorHelper(c),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var _t4 = _step4.value;\n\n var _e4 = !1;\n\n for (var _n2 = 0; _n2 < _t4.length; _n2++) {\n if (_t4[_n2].priority < l) {\n _t4.splice(_n2, 0, d), _e4 = !0;\n break;\n }\n }\n\n _e4 || _t4.push(d);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n },\n stopListening: function stopListening(t, e, n) {\n var i = this[fn];\n var o = t && bn(t);\n var r = i && o && i[o],\n s = r && e && r.callbacks[e];\n if (!(!i || t && !r || e && !s)) if (n) vn(t, e, n);else if (s) {\n for (; n = s.pop();) {\n vn(t, e, n);\n }\n\n delete r.callbacks[e];\n } else if (r) {\n for (e in r.callbacks) {\n this.stopListening(t, e);\n }\n\n delete i[o];\n } else {\n for (o in i) {\n this.stopListening(i[o].emitter);\n }\n\n delete this[fn];\n }\n },\n fire: function fire(t) {\n try {\n var _n3 = t instanceof cn ? t : new cn(this, t),\n _i3 = _n3.name;\n\n var _o2 = function t(e, n) {\n var i;\n if (!e._events || !(i = e._events[n]) || !i.callbacks.length) return n.indexOf(\":\") > -1 ? t(e, n.substr(0, n.lastIndexOf(\":\"))) : null;\n return i.callbacks;\n }(this, _i3);\n\n for (var _len2 = arguments.length, e = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n e[_key2 - 1] = arguments[_key2];\n }\n\n if (_n3.path.push(this), _o2) {\n var _t5 = [_n3].concat(e);\n\n _o2 = Array.from(_o2);\n\n for (var _e5 = 0; _e5 < _o2.length && (_o2[_e5].callback.apply(this, _t5), _n3.off.called && (delete _n3.off.called, vn(this, _i3, _o2[_e5].callback)), !_n3.stop.called); _e5++) {\n ;\n }\n }\n\n if (this._delegations) {\n var _t6 = this._delegations.get(_i3),\n _o3 = this._delegations.get(\"*\");\n\n _t6 && _n(_t6, _n3, e), _o3 && _n(_o3, _n3, e);\n }\n\n return _n3[\"return\"];\n } catch (t) {\n hn.a.rethrowUnexpectedError(t, this);\n }\n },\n delegate: function delegate() {\n var _this3 = this;\n\n for (var _len3 = arguments.length, t = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n t[_key3] = arguments[_key3];\n }\n\n return {\n to: function to(e, n) {\n _this3._delegations || (_this3._delegations = new Map()), t.forEach(function (t) {\n var i = _this3._delegations.get(t);\n\n i ? i.set(e, n) : _this3._delegations.set(t, new Map([[e, n]]));\n });\n }\n };\n },\n stopDelegating: function stopDelegating(t, e) {\n if (this._delegations) if (t) {\n if (e) {\n var _n4 = this._delegations.get(t);\n\n _n4 && _n4[\"delete\"](e);\n } else this._delegations[\"delete\"](t);\n } else this._delegations.clear();\n }\n };\n\n function pn(t, e) {\n t[mn] || (t[mn] = e || dn());\n }\n\n function bn(t) {\n return t[mn];\n }\n\n function wn(t) {\n return t._events || Object.defineProperty(t, \"_events\", {\n value: {}\n }), t._events;\n }\n\n function kn(t, e) {\n var n = wn(t)[e];\n if (!n) return [];\n var i = [n.callbacks];\n\n for (var _e6 = 0; _e6 < n.childEvents.length; _e6++) {\n var _o4 = kn(t, n.childEvents[_e6]);\n\n i = i.concat(_o4);\n }\n\n return i;\n }\n\n function _n(t, e, n) {\n var _iterator5 = _createForOfIteratorHelper(t),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var _ref3 = _step5.value;\n\n var _ref2 = _slicedToArray(_ref3, 2);\n\n var _i4 = _ref2[0];\n var _o5 = _ref2[1];\n _o5 ? \"function\" == typeof _o5 && (_o5 = _o5(e.name)) : _o5 = e.name;\n\n var _t7 = new cn(e.source, _o5);\n\n _t7.path = _toConsumableArray(e.path), _i4.fire.apply(_i4, [_t7].concat(_toConsumableArray(n)));\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n }\n\n function vn(t, e, n) {\n var i = kn(t, e);\n\n var _iterator6 = _createForOfIteratorHelper(i),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _t8 = _step6.value;\n\n for (var _e7 = 0; _e7 < _t8.length; _e7++) {\n _t8[_e7].callback == n && (_t8.splice(_e7, 1), _e7--);\n }\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n }\n\n function yn(t) {\n return !(!t || !t[Symbol.iterator]);\n }\n\n function xn(t) {\n for (var _len4 = arguments.length, e = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n e[_key4 - 1] = arguments[_key4];\n }\n\n e.forEach(function (e) {\n Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e)).forEach(function (n) {\n if (n in t.prototype) return;\n var i = Object.getOwnPropertyDescriptor(e, n);\n i.enumerable = !1, Object.defineProperty(t.prototype, n, i);\n });\n });\n }\n\n var An = /*#__PURE__*/function () {\n function An() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, An);\n\n var n = yn(t);\n\n if (n || (e = t), this._items = [], this._itemMap = new Map(), this._idProperty = e.idProperty || \"id\", this._bindToExternalToInternalMap = new WeakMap(), this._bindToInternalToExternalMap = new WeakMap(), this._skippedIndexesFromExternal = [], n) {\n var _iterator7 = _createForOfIteratorHelper(t),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _e8 = _step7.value;\n this._items.push(_e8), this._itemMap.set(this._getItemIdBeforeAdding(_e8), _e8);\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n }\n\n _createClass(An, [{\n key: \"add\",\n value: function add(t, e) {\n return this.addMany([t], e);\n }\n }, {\n key: \"addMany\",\n value: function addMany(t, e) {\n if (void 0 === e) e = this._items.length;else if (e > this._items.length || e < 0) throw new hn.a(\"collection-add-item-invalid-index\", this);\n\n for (var _n5 = 0; _n5 < t.length; _n5++) {\n var _i5 = t[_n5],\n _o6 = this._getItemIdBeforeAdding(_i5),\n _r2 = e + _n5;\n\n this._items.splice(_r2, 0, _i5), this._itemMap.set(_o6, _i5), this.fire(\"add\", _i5, _r2);\n }\n\n return this.fire(\"change\", {\n added: t,\n removed: [],\n index: e\n }), this;\n }\n }, {\n key: \"get\",\n value: function get(t) {\n var e;\n if (\"string\" == typeof t) e = this._itemMap.get(t);else {\n if (\"number\" != typeof t) throw new hn.a(\"collection-get-invalid-arg\", this);\n e = this._items[t];\n }\n return e || null;\n }\n }, {\n key: \"has\",\n value: function has(t) {\n if (\"string\" == typeof t) return this._itemMap.has(t);\n {\n var _e9 = t[this._idProperty];\n return this._itemMap.has(_e9);\n }\n }\n }, {\n key: \"getIndex\",\n value: function getIndex(t) {\n var e;\n return e = \"string\" == typeof t ? this._itemMap.get(t) : t, this._items.indexOf(e);\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n var _this$_remove = this._remove(t),\n _this$_remove2 = _slicedToArray(_this$_remove, 2),\n e = _this$_remove2[0],\n n = _this$_remove2[1];\n\n return this.fire(\"change\", {\n added: [],\n removed: [e],\n index: n\n }), e;\n }\n }, {\n key: \"map\",\n value: function map(t, e) {\n return this._items.map(t, e);\n }\n }, {\n key: \"find\",\n value: function find(t, e) {\n return this._items.find(t, e);\n }\n }, {\n key: \"filter\",\n value: function filter(t, e) {\n return this._items.filter(t, e);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._bindToCollection && (this.stopListening(this._bindToCollection), this._bindToCollection = null);\n var t = Array.from(this._items);\n\n for (; this.length;) {\n this._remove(0);\n }\n\n this.fire(\"change\", {\n added: [],\n removed: t,\n index: 0\n });\n }\n }, {\n key: \"bindTo\",\n value: function bindTo(t) {\n var _this4 = this;\n\n if (this._bindToCollection) throw new hn.a(\"collection-bind-to-rebind\", this);\n return this._bindToCollection = t, {\n as: function as(t) {\n _this4._setUpBindToBinding(function (e) {\n return new t(e);\n });\n },\n using: function using(t) {\n \"function\" == typeof t ? _this4._setUpBindToBinding(function (e) {\n return t(e);\n }) : _this4._setUpBindToBinding(function (e) {\n return e[t];\n });\n }\n };\n }\n }, {\n key: \"_setUpBindToBinding\",\n value: function _setUpBindToBinding(t) {\n var _this5 = this;\n\n var e = this._bindToCollection,\n n = function n(_n7, i, o) {\n var r = e._bindToCollection == _this5,\n s = e._bindToInternalToExternalMap.get(i);\n\n if (r && s) _this5._bindToExternalToInternalMap.set(i, s), _this5._bindToInternalToExternalMap.set(s, i);else {\n var _n6 = t(i);\n\n if (!_n6) return void _this5._skippedIndexesFromExternal.push(o);\n var _r3 = o;\n\n var _iterator8 = _createForOfIteratorHelper(_this5._skippedIndexesFromExternal),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _t10 = _step8.value;\n o > _t10 && _r3--;\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n var _iterator9 = _createForOfIteratorHelper(e._skippedIndexesFromExternal),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var _t11 = _step9.value;\n _r3 >= _t11 && _r3++;\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n\n _this5._bindToExternalToInternalMap.set(i, _n6), _this5._bindToInternalToExternalMap.set(_n6, i), _this5.add(_n6, _r3);\n\n for (var _t9 = 0; _t9 < e._skippedIndexesFromExternal.length; _t9++) {\n _r3 <= e._skippedIndexesFromExternal[_t9] && e._skippedIndexesFromExternal[_t9]++;\n }\n }\n };\n\n var _iterator10 = _createForOfIteratorHelper(e),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var _t12 = _step10.value;\n n(0, _t12, e.getIndex(_t12));\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n this.listenTo(e, \"add\", n), this.listenTo(e, \"remove\", function (t, e, n) {\n var i = _this5._bindToExternalToInternalMap.get(e);\n\n i && _this5.remove(i), _this5._skippedIndexesFromExternal = _this5._skippedIndexesFromExternal.reduce(function (t, e) {\n return n < e && t.push(e - 1), n > e && t.push(e), t;\n }, []);\n });\n }\n }, {\n key: \"_getItemIdBeforeAdding\",\n value: function _getItemIdBeforeAdding(t) {\n var e = this._idProperty;\n var n;\n\n if (e in t) {\n if (n = t[e], \"string\" != typeof n) throw new hn.a(\"collection-add-invalid-id\", this);\n if (this.get(n)) throw new hn.a(\"collection-add-item-already-exists\", this);\n } else t[e] = n = dn();\n\n return n;\n }\n }, {\n key: \"_remove\",\n value: function _remove(t) {\n var e,\n n,\n i,\n o = !1;\n var r = this._idProperty;\n if (\"string\" == typeof t ? (n = t, i = this._itemMap.get(n), o = !i, i && (e = this._items.indexOf(i))) : \"number\" == typeof t ? (e = t, i = this._items[e], o = !i, i && (n = i[r])) : (i = t, n = i[r], e = this._items.indexOf(i), o = -1 == e || !this._itemMap.get(n)), o) throw new hn.a(\"collection-remove-404\", this);\n this._items.splice(e, 1), this._itemMap[\"delete\"](n);\n\n var s = this._bindToInternalToExternalMap.get(i);\n\n return this._bindToInternalToExternalMap[\"delete\"](i), this._bindToExternalToInternalMap[\"delete\"](s), this.fire(\"remove\", i, e), [i, e];\n }\n }, {\n key: Symbol.iterator,\n value: function value() {\n return this._items[Symbol.iterator]();\n }\n }, {\n key: \"length\",\n get: function get() {\n return this._items.length;\n }\n }, {\n key: \"first\",\n get: function get() {\n return this._items[0] || null;\n }\n }, {\n key: \"last\",\n get: function get() {\n return this._items[this.length - 1] || null;\n }\n }]);\n\n return An;\n }();\n\n xn(An, gn);\n\n var Cn = /*#__PURE__*/function () {\n function Cn(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n _classCallCheck(this, Cn);\n\n this._context = t, this._plugins = new Map(), this._availablePlugins = new Map();\n\n var _iterator11 = _createForOfIteratorHelper(e),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var _t13 = _step11.value;\n _t13.pluginName && this._availablePlugins.set(_t13.pluginName, _t13);\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n\n this._contextPlugins = new Map();\n\n var _iterator12 = _createForOfIteratorHelper(n),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var _ref6 = _step12.value;\n\n var _ref5 = _slicedToArray(_ref6, 2);\n\n var _t14 = _ref5[0];\n var _e10 = _ref5[1];\n this._contextPlugins.set(_t14, _e10), this._contextPlugins.set(_e10, _t14), _t14.pluginName && this._availablePlugins.set(_t14.pluginName, _t14);\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n }\n\n _createClass(Cn, [{\n key: Symbol.iterator,\n value: /*#__PURE__*/_regeneratorRuntime.mark(function value() {\n var _iterator13, _step13, _t15;\n\n return _regeneratorRuntime.wrap(function value$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _iterator13 = _createForOfIteratorHelper(this._plugins);\n _context2.prev = 1;\n\n _iterator13.s();\n\n case 3:\n if ((_step13 = _iterator13.n()).done) {\n _context2.next = 11;\n break;\n }\n\n _t15 = _step13.value;\n _context2.t0 = \"function\" == typeof _t15[0];\n\n if (!_context2.t0) {\n _context2.next = 9;\n break;\n }\n\n _context2.next = 9;\n return _t15;\n\n case 9:\n _context2.next = 3;\n break;\n\n case 11:\n _context2.next = 16;\n break;\n\n case 13:\n _context2.prev = 13;\n _context2.t1 = _context2[\"catch\"](1);\n\n _iterator13.e(_context2.t1);\n\n case 16:\n _context2.prev = 16;\n\n _iterator13.f();\n\n return _context2.finish(16);\n\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }\n }, value, this, [[1, 13, 16, 19]]);\n })\n }, {\n key: \"get\",\n value: function get(t) {\n var e = this._plugins.get(t);\n\n if (!e) {\n var _e11 = t;\n throw \"function\" == typeof t && (_e11 = t.pluginName || t.name), new hn.a(\"plugincollection-plugin-not-loaded\", this._context, {\n plugin: _e11\n });\n }\n\n return e;\n }\n }, {\n key: \"has\",\n value: function has(t) {\n return this._plugins.has(t);\n }\n }, {\n key: \"init\",\n value: function init(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var n = this,\n i = this._context,\n o = new Set(),\n r = [],\n s = h(t),\n a = h(e),\n c = function (t) {\n var e = [];\n\n var _iterator14 = _createForOfIteratorHelper(t),\n _step14;\n\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var _n8 = _step14.value;\n u(_n8) || e.push(_n8);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n\n return e.length ? e : null;\n }(t);\n\n if (c) {\n var _t16 = \"plugincollection-plugin-not-found\";\n return Object(hn.b)(_t16, {\n plugins: c\n }), Promise.reject(new hn.a(_t16, i, {\n plugins: c\n }));\n }\n\n return Promise.all(s.map(l)).then(function () {\n return d(r, \"init\");\n }).then(function () {\n return d(r, \"afterInit\");\n }).then(function () {\n return r;\n });\n\n function l(t) {\n if (!a.includes(t) && !n._plugins.has(t) && !o.has(t)) return function (t) {\n return new Promise(function (s) {\n o.add(t), t.requires && t.requires.forEach(function (n) {\n var o = u(n);\n if (t.isContextPlugin && !o.isContextPlugin) throw new hn.a(\"plugincollection-context-required\", null, {\n plugin: o.name,\n requiredBy: t.name\n });\n if (e.includes(o)) throw new hn.a(\"plugincollection-required\", i, {\n plugin: o.name,\n requiredBy: t.name\n });\n l(o);\n });\n var a = n._contextPlugins.get(t) || new t(i);\n n._add(t, a), r.push(a), s();\n });\n }(t)[\"catch\"](function (e) {\n throw Object(hn.b)(\"plugincollection-load\", {\n plugin: t\n }), e;\n });\n }\n\n function d(t, e) {\n return t.reduce(function (t, i) {\n return i[e] ? n._contextPlugins.has(i) ? t : t.then(i[e].bind(i)) : t;\n }, Promise.resolve());\n }\n\n function u(t) {\n return \"function\" == typeof t ? t : n._availablePlugins.get(t);\n }\n\n function h(t) {\n return t.map(function (t) {\n return u(t);\n }).filter(function (t) {\n return !!t;\n });\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var t = [];\n\n var _iterator15 = _createForOfIteratorHelper(this),\n _step15;\n\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var _ref9 = _step15.value;\n\n var _ref8 = _slicedToArray(_ref9, 2);\n\n var _e12 = _ref8[1];\n \"function\" != typeof _e12.destroy || this._contextPlugins.has(_e12) || t.push(_e12.destroy());\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n\n return Promise.all(t);\n }\n }, {\n key: \"_add\",\n value: function _add(t, e) {\n this._plugins.set(t, e);\n\n var n = t.pluginName;\n\n if (n) {\n if (this._plugins.has(n)) throw new hn.a(\"plugincollection-plugin-name-conflict\", null, {\n pluginName: n,\n plugin1: this._plugins.get(n).constructor,\n plugin2: t\n });\n\n this._plugins.set(n, e);\n }\n }\n }]);\n\n return Cn;\n }();\n\n function Tn(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n if (\"number\" != typeof n) throw new hn.a(\"translation-service-quantity-not-a-number\", null, {\n quantity: n\n });\n var i = Object.keys(window.CKEDITOR_TRANSLATIONS).length;\n 1 === i && (t = Object.keys(window.CKEDITOR_TRANSLATIONS)[0]);\n var o = e.id || e.string;\n if (0 === i || !function (t, e) {\n return !!window.CKEDITOR_TRANSLATIONS[t] && !!window.CKEDITOR_TRANSLATIONS[t].dictionary[e];\n }(t, o)) return 1 !== n ? e.plural : e.string;\n\n var r = window.CKEDITOR_TRANSLATIONS[t].dictionary,\n s = window.CKEDITOR_TRANSLATIONS[t].getPluralForm || function (t) {\n return 1 === t ? 0 : 1;\n };\n\n if (\"string\" == typeof r[o]) return r[o];\n var a = Number(s(n));\n return r[o][a];\n }\n\n xn(Cn, gn), window.CKEDITOR_TRANSLATIONS || (window.CKEDITOR_TRANSLATIONS = {});\n var Pn = [\"ar\", \"fa\", \"he\", \"ku\", \"ug\"];\n\n var Sn = /*#__PURE__*/function () {\n function Sn() {\n var _this6 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Sn);\n\n this.uiLanguage = t.uiLanguage || \"en\", this.contentLanguage = t.contentLanguage || this.uiLanguage, this.uiLanguageDirection = En(this.uiLanguage), this.contentLanguageDirection = En(this.contentLanguage), this.t = function (t, e) {\n return _this6._t(t, e);\n };\n }\n\n _createClass(Sn, [{\n key: \"_t\",\n value: function _t(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n Array.isArray(e) || (e = [e]), \"string\" == typeof t && (t = {\n string: t\n });\n var n = !!t.plural ? e[0] : 1;\n return function (t, e) {\n return t.replace(/%(\\d+)/g, function (t, n) {\n return n < e.length ? e[n] : t;\n });\n }(Tn(this.uiLanguage, t, n), e);\n }\n }, {\n key: \"language\",\n get: function get() {\n 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;\n }\n }]);\n\n return Sn;\n }();\n\n function En(t) {\n return Pn.includes(t) ? \"rtl\" : \"ltr\";\n }\n\n var Mn = /*#__PURE__*/function () {\n function Mn(t) {\n _classCallCheck(this, Mn);\n\n this.config = new on(t, this.constructor.defaultConfig);\n var e = this.constructor.builtinPlugins;\n this.config.define(\"plugins\", e), this.plugins = new Cn(this, e);\n var n = this.config.get(\"language\") || {};\n this.locale = new Sn({\n uiLanguage: \"string\" == typeof n ? n : n.ui,\n contentLanguage: this.config.get(\"language.content\")\n }), this.t = this.locale.t, this.editors = new An(), this._contextOwner = null;\n }\n\n _createClass(Mn, [{\n key: \"initPlugins\",\n value: function initPlugins() {\n var t = this.config.get(\"plugins\") || [];\n\n var _iterator16 = _createForOfIteratorHelper(t),\n _step16;\n\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var _e13 = _step16.value;\n if (\"function\" != typeof _e13) throw new hn.a(\"context-initplugins-constructor-only\", null, {\n Plugin: _e13\n });\n if (!0 !== _e13.isContextPlugin) throw new hn.a(\"context-initplugins-invalid-plugin\", null, {\n Plugin: _e13\n });\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n\n return this.plugins.init(t);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _this7 = this;\n\n return Promise.all(Array.from(this.editors, function (t) {\n return t.destroy();\n })).then(function () {\n return _this7.plugins.destroy();\n });\n }\n }, {\n key: \"_addEditor\",\n value: function _addEditor(t, e) {\n if (this._contextOwner) throw new hn.a(\"context-addeditor-private-context\");\n this.editors.add(t), e && (this._contextOwner = t);\n }\n }, {\n key: \"_removeEditor\",\n value: function _removeEditor(t) {\n return this.editors.has(t) && this.editors.remove(t), this._contextOwner === t ? this.destroy() : Promise.resolve();\n }\n }, {\n key: \"_getEditorConfig\",\n value: function _getEditorConfig() {\n var t = {};\n\n var _iterator17 = _createForOfIteratorHelper(this.config.names()),\n _step17;\n\n try {\n for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {\n var _e14 = _step17.value;\n [\"plugins\", \"removePlugins\", \"extraPlugins\"].includes(_e14) || (t[_e14] = this.config.get(_e14));\n }\n } catch (err) {\n _iterator17.e(err);\n } finally {\n _iterator17.f();\n }\n\n return t;\n }\n }], [{\n key: \"create\",\n value: function create(t) {\n var _this8 = this;\n\n return new Promise(function (e) {\n var n = new _this8(t);\n e(n.initPlugins().then(function () {\n return n;\n }));\n });\n }\n }]);\n\n return Mn;\n }();\n\n function In(t, e) {\n var n = Math.min(t.length, e.length);\n\n for (var _i6 = 0; _i6 < n; _i6++) {\n if (t[_i6] != e[_i6]) return _i6;\n }\n\n return t.length == e.length ? \"same\" : t.length < e.length ? \"prefix\" : \"extension\";\n }\n\n var Nn = function Nn(t) {\n return tn(t, 4);\n };\n\n var On = /*#__PURE__*/function () {\n function On(t) {\n _classCallCheck(this, On);\n\n this.document = t, this.parent = null;\n }\n\n _createClass(On, [{\n key: \"isAttached\",\n value: function isAttached() {\n return this.root.is(\"rootElement\");\n }\n }, {\n key: \"getPath\",\n value: function getPath() {\n var t = [];\n var e = this;\n\n for (; e.parent;) {\n t.unshift(e.index), e = e.parent;\n }\n\n return t;\n }\n }, {\n key: \"getAncestors\",\n value: function getAncestors() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n includeSelf: !1,\n parentFirst: !1\n };\n var e = [];\n var n = t.includeSelf ? this : this.parent;\n\n for (; n;) {\n e[t.parentFirst ? \"push\" : \"unshift\"](n), n = n.parent;\n }\n\n return e;\n }\n }, {\n key: \"getCommonAncestor\",\n value: function getCommonAncestor(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var n = this.getAncestors(e),\n i = t.getAncestors(e);\n var o = 0;\n\n for (; n[o] == i[o] && n[o];) {\n o++;\n }\n\n return 0 === o ? null : n[o - 1];\n }\n }, {\n key: \"isBefore\",\n value: function isBefore(t) {\n if (this == t) return !1;\n if (this.root !== t.root) return !1;\n var e = this.getPath(),\n n = t.getPath(),\n i = In(e, n);\n\n switch (i) {\n case \"prefix\":\n return !0;\n\n case \"extension\":\n return !1;\n\n default:\n return e[i] < n[i];\n }\n }\n }, {\n key: \"isAfter\",\n value: function isAfter(t) {\n return this != t && this.root === t.root && !this.isBefore(t);\n }\n }, {\n key: \"_remove\",\n value: function _remove() {\n this.parent._removeChildren(this.index);\n }\n }, {\n key: \"_fireChange\",\n value: function _fireChange(t, e) {\n this.fire(\"change:\" + t, e), this.parent && this.parent._fireChange(t, e);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = Nn(this);\n return delete t.parent, t;\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"node\" === t || \"view:node\" === t;\n }\n }, {\n key: \"index\",\n get: function get() {\n var t;\n if (!this.parent) return null;\n if (-1 == (t = this.parent.getChildIndex(this))) throw new hn.a(\"view-node-not-found-in-parent\", this);\n return t;\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var t = this.index;\n return null !== t && this.parent.getChild(t + 1) || null;\n }\n }, {\n key: \"previousSibling\",\n get: function get() {\n var t = this.index;\n return null !== t && this.parent.getChild(t - 1) || null;\n }\n }, {\n key: \"root\",\n get: function get() {\n var t = this;\n\n for (; t.parent;) {\n t = t.parent;\n }\n\n return t;\n }\n }]);\n\n return On;\n }();\n\n xn(On, gn);\n\n var Rn = /*#__PURE__*/function (_On) {\n _inherits(Rn, _On);\n\n var _super2 = _createSuper(Rn);\n\n function Rn(t, e) {\n var _this9;\n\n _classCallCheck(this, Rn);\n\n _this9 = _super2.call(this, t), _this9._textData = e;\n return _this9;\n }\n\n _createClass(Rn, [{\n key: \"is\",\n value: function is(t) {\n return \"$text\" === t || \"view:$text\" === t || \"text\" === t || \"view:text\" === t || \"node\" === t || \"view:node\" === t;\n }\n }, {\n key: \"isSimilar\",\n value: function isSimilar(t) {\n return t instanceof Rn && (this === t || this.data === t.data);\n }\n }, {\n key: \"_clone\",\n value: function _clone() {\n return new Rn(this.document, this.data);\n }\n }, {\n key: \"data\",\n get: function get() {\n return this._textData;\n }\n }, {\n key: \"_data\",\n get: function get() {\n return this.data;\n },\n set: function set(t) {\n this._fireChange(\"text\", this), this._textData = t;\n }\n }]);\n\n return Rn;\n }(On);\n\n var Dn = /*#__PURE__*/function () {\n function Dn(t, e, n) {\n _classCallCheck(this, Dn);\n\n if (this.textNode = t, e < 0 || e > t.data.length) throw new hn.a(\"view-textproxy-wrong-offsetintext\", this);\n if (n < 0 || e + n > t.data.length) throw new hn.a(\"view-textproxy-wrong-length\", this);\n this.data = t.data.substring(e, e + n), this.offsetInText = e;\n }\n\n _createClass(Dn, [{\n key: \"is\",\n value: function is(t) {\n return \"$textProxy\" === t || \"view:$textProxy\" === t || \"textProxy\" === t || \"view:textProxy\" === t;\n }\n }, {\n key: \"getAncestors\",\n value: function getAncestors() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n includeSelf: !1,\n parentFirst: !1\n };\n var e = [];\n var n = t.includeSelf ? this.textNode : this.parent;\n\n for (; null !== n;) {\n e[t.parentFirst ? \"push\" : \"unshift\"](n), n = n.parent;\n }\n\n return e;\n }\n }, {\n key: \"offsetSize\",\n get: function get() {\n return this.data.length;\n }\n }, {\n key: \"isPartial\",\n get: function get() {\n return this.data.length !== this.textNode.data.length;\n }\n }, {\n key: \"parent\",\n get: function get() {\n return this.textNode.parent;\n }\n }, {\n key: \"root\",\n get: function get() {\n return this.textNode.root;\n }\n }, {\n key: \"document\",\n get: function get() {\n return this.textNode.document;\n }\n }]);\n\n return Dn;\n }();\n\n function Ln(t) {\n return yn(t) ? new Map(t) : function (t) {\n var e = new Map();\n\n for (var _n9 in t) {\n e.set(_n9, t[_n9]);\n }\n\n return e;\n }(t);\n }\n\n var Vn = /*#__PURE__*/function () {\n function Vn() {\n _classCallCheck(this, Vn);\n\n this._patterns = [], this.add.apply(this, arguments);\n }\n\n _createClass(Vn, [{\n key: \"add\",\n value: function add() {\n for (var _len5 = arguments.length, t = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n t[_key5] = arguments[_key5];\n }\n\n for (var _i7 = 0, _t17 = t; _i7 < _t17.length; _i7++) {\n var _e15 = _t17[_i7];\n (\"string\" == typeof _e15 || _e15 instanceof RegExp) && (_e15 = {\n name: _e15\n }), _e15.classes && (\"string\" == typeof _e15.classes || _e15.classes instanceof RegExp) && (_e15.classes = [_e15.classes]), this._patterns.push(_e15);\n }\n }\n }, {\n key: \"match\",\n value: function match() {\n for (var _len6 = arguments.length, t = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n t[_key6] = arguments[_key6];\n }\n\n for (var _i8 = 0, _t18 = t; _i8 < _t18.length; _i8++) {\n var _e16 = _t18[_i8];\n\n var _iterator18 = _createForOfIteratorHelper(this._patterns),\n _step18;\n\n try {\n for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {\n var _t19 = _step18.value;\n\n var _n10 = jn(_e16, _t19);\n\n if (_n10) return {\n element: _e16,\n pattern: _t19,\n match: _n10\n };\n }\n } catch (err) {\n _iterator18.e(err);\n } finally {\n _iterator18.f();\n }\n }\n\n return null;\n }\n }, {\n key: \"matchAll\",\n value: function matchAll() {\n var e = [];\n\n for (var _len7 = arguments.length, t = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n t[_key7] = arguments[_key7];\n }\n\n for (var _i9 = 0, _t20 = t; _i9 < _t20.length; _i9++) {\n var _n11 = _t20[_i9];\n\n var _iterator19 = _createForOfIteratorHelper(this._patterns),\n _step19;\n\n try {\n for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {\n var _t21 = _step19.value;\n\n var _i10 = jn(_n11, _t21);\n\n _i10 && e.push({\n element: _n11,\n pattern: _t21,\n match: _i10\n });\n }\n } catch (err) {\n _iterator19.e(err);\n } finally {\n _iterator19.f();\n }\n }\n\n return e.length > 0 ? e : null;\n }\n }, {\n key: \"getElementName\",\n value: function getElementName() {\n if (1 !== this._patterns.length) return null;\n var t = this._patterns[0],\n e = t.name;\n return \"function\" == typeof t || !e || e instanceof RegExp ? null : e;\n }\n }]);\n\n return Vn;\n }();\n\n function jn(t, e) {\n if (\"function\" == typeof e) return e(t);\n var n = {};\n return e.name && (n.name = function (t, e) {\n if (t instanceof RegExp) return t.test(e);\n return t === e;\n }(e.name, t.name), !n.name) || e.attributes && (n.attributes = function (t, e) {\n var n = [];\n\n for (var _i11 in t) {\n var _o7 = t[_i11];\n if (!e.hasAttribute(_i11)) return null;\n {\n var _t22 = e.getAttribute(_i11);\n\n if (!0 === _o7) n.push(_i11);else if (_o7 instanceof RegExp) {\n if (!_o7.test(_t22)) return null;\n n.push(_i11);\n } else {\n if (_t22 !== _o7) return null;\n n.push(_i11);\n }\n }\n }\n\n return n;\n }(e.attributes, t), !n.attributes) ? null : !(e.classes && (n.classes = function (t, e) {\n var n = [];\n\n var _iterator20 = _createForOfIteratorHelper(t),\n _step20;\n\n try {\n for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {\n var _i12 = _step20.value;\n\n if (_i12 instanceof RegExp) {\n var _t23 = e.getClassNames();\n\n var _iterator21 = _createForOfIteratorHelper(_t23),\n _step21;\n\n try {\n for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {\n var _e17 = _step21.value;\n _i12.test(_e17) && n.push(_e17);\n }\n } catch (err) {\n _iterator21.e(err);\n } finally {\n _iterator21.f();\n }\n\n if (0 === n.length) return null;\n } else {\n if (!e.hasClass(_i12)) return null;\n n.push(_i12);\n }\n }\n } catch (err) {\n _iterator20.e(err);\n } finally {\n _iterator20.f();\n }\n\n return n;\n }(e.classes, t), !n.classes)) && !(e.styles && (n.styles = function (t, e) {\n var n = [];\n\n for (var _i13 in t) {\n var _o8 = t[_i13];\n if (!e.hasStyle(_i13)) return null;\n {\n var _t24 = e.getStyle(_i13);\n\n if (_o8 instanceof RegExp) {\n if (!_o8.test(_t24)) return null;\n n.push(_i13);\n } else {\n if (_t24 !== _o8) return null;\n n.push(_i13);\n }\n }\n }\n\n return n;\n }(e.styles, t), !n.styles)) && n;\n }\n\n var zn = function zn(t) {\n return \"symbol\" == _typeof(t) || p(t) && \"[object Symbol]\" == f(t);\n },\n Bn = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n Fn = /^\\w*$/;\n\n var Un = function Un(t, e) {\n if (Dt(t)) return !1;\n\n var n = _typeof(t);\n\n return !(\"number\" != n && \"symbol\" != n && \"boolean\" != n && null != t && !zn(t)) || Fn.test(t) || !Bn.test(t) || null != e && t in Object(e);\n };\n\n function Hn(t, e) {\n if (\"function\" != typeof t || null != e && \"function\" != typeof e) throw new TypeError(\"Expected a function\");\n\n var n = function n() {\n var i = arguments,\n o = e ? e.apply(this, i) : i[0],\n r = n.cache;\n if (r.has(o)) return r.get(o);\n var s = t.apply(this, i);\n return n.cache = r.set(o, s) || r, s;\n };\n\n return n.cache = new (Hn.Cache || kt)(), n;\n }\n\n Hn.Cache = kt;\n var Wn = Hn;\n\n var qn = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,\n $n = /\\\\(\\\\)?/g,\n Yn = function (t) {\n var e = Wn(t, function (t) {\n return 500 === n.size && n.clear(), t;\n }),\n n = e.cache;\n return e;\n }(function (t) {\n var e = [];\n return 46 === t.charCodeAt(0) && e.push(\"\"), t.replace(qn, function (t, n, i, o) {\n e.push(i ? o.replace($n, \"$1\") : n || t);\n }), e;\n });\n\n var Gn = function Gn(t, e) {\n for (var n = -1, i = null == t ? 0 : t.length, o = Array(i); ++n < i;) {\n o[n] = e(t[n], n, t);\n }\n\n return o;\n },\n Kn = o ? o.prototype : void 0,\n Qn = Kn ? Kn.toString : void 0;\n\n var Jn = function t(e) {\n if (\"string\" == typeof e) return e;\n if (Dt(e)) return Gn(e, t) + \"\";\n if (zn(e)) return Qn ? Qn.call(e) : \"\";\n var n = e + \"\";\n return \"0\" == n && 1 / e == -1 / 0 ? \"-0\" : n;\n };\n\n var Zn = function Zn(t) {\n return null == t ? \"\" : Jn(t);\n };\n\n var Xn = function Xn(t, e) {\n return Dt(t) ? t : Un(t, e) ? [t] : Yn(Zn(t));\n };\n\n var ti = function ti(t) {\n var e = null == t ? 0 : t.length;\n return e ? t[e - 1] : void 0;\n };\n\n var ei = function ei(t) {\n if (\"string\" == typeof t || zn(t)) return t;\n var e = t + \"\";\n return \"0\" == e && 1 / t == -1 / 0 ? \"-0\" : e;\n };\n\n var ni = function ni(t, e) {\n for (var n = 0, i = (e = Xn(e, t)).length; null != t && n < i;) {\n t = t[ei(e[n++])];\n }\n\n return n && n == i ? t : void 0;\n };\n\n var ii = function ii(t, e, n) {\n var i = -1,\n o = t.length;\n e < 0 && (e = -e > o ? 0 : o + e), (n = n > o ? o : n) < 0 && (n += o), o = e > n ? 0 : n - e >>> 0, e >>>= 0;\n\n for (var r = Array(o); ++i < o;) {\n r[i] = t[i + e];\n }\n\n return r;\n };\n\n var oi = function oi(t, e) {\n return e.length < 2 ? t : ni(t, ii(e, 0, -1));\n };\n\n var ri = function ri(t, e) {\n return e = Xn(e, t), null == (t = oi(t, e)) || delete t[ei(ti(e))];\n };\n\n var si = function si(t, e) {\n return null == t || ri(t, e);\n };\n\n var ai = function ai(t, e, n) {\n var i = null == t ? void 0 : ni(t, e);\n return void 0 === i ? n : i;\n };\n\n var ci = function ci(t, e, n) {\n (void 0 !== n && !A(t[e], n) || void 0 === n && !(e in t)) && Ct(t, e, n);\n };\n\n var li = function (t) {\n return function (e, n, i) {\n for (var o = -1, r = Object(e), s = i(e), a = s.length; a--;) {\n var c = s[t ? a : ++o];\n if (!1 === n(r[c], c, r)) break;\n }\n\n return e;\n };\n }();\n\n var di = function di(t) {\n return p(t) && Xt(t);\n };\n\n var ui = function ui(t, e) {\n if ((\"constructor\" !== e || \"function\" != typeof t[e]) && \"__proto__\" != e) return t[e];\n };\n\n var hi = function hi(t) {\n return St(t, re(t));\n };\n\n var fi = function fi(t, e, n, i, o, r, s) {\n var a = ui(t, n),\n c = ui(e, n),\n l = s.get(c);\n if (l) ci(t, n, l);else {\n var d = r ? r(a, c, n + \"\", t, e, s) : void 0,\n u = void 0 === d;\n\n if (u) {\n var h = Dt(c),\n f = !h && Object(Lt.a)(c),\n m = !h && !f && qt(c);\n d = c, h || f || m ? Dt(a) ? d = a : di(a) ? d = ce(a) : f ? (u = !1, d = Object(ae.a)(c, !0)) : m ? (u = !1, d = Ue(c, !0)) : d = [] : y(c) || Rt(c) ? (d = a, Rt(a) ? d = hi(a) : V(a) && !z(a) || (d = $e(c))) : u = !1;\n }\n\n u && (s.set(c, d), o(d, c, i, r, s), s[\"delete\"](c)), ci(t, n, d);\n }\n };\n\n var mi = function t(e, n, i, o, r) {\n e !== n && li(n, function (s, a) {\n if (r || (r = new yt()), V(s)) fi(e, n, a, i, t, o, r);else {\n var c = o ? o(ui(e, a), s, a + \"\", e, n, r) : void 0;\n void 0 === c && (c = s), ci(e, a, c);\n }\n }, re);\n };\n\n var gi = function gi(t) {\n return t;\n };\n\n var pi = function pi(t, e, n) {\n switch (n.length) {\n case 0:\n return t.call(e);\n\n case 1:\n return t.call(e, n[0]);\n\n case 2:\n return t.call(e, n[0], n[1]);\n\n case 3:\n return t.call(e, n[0], n[1], n[2]);\n }\n\n return t.apply(e, n);\n },\n bi = Math.max;\n\n var wi = function wi(t, e, n) {\n return e = bi(void 0 === e ? t.length - 1 : e, 0), function () {\n for (var i = arguments, o = -1, r = bi(i.length - e, 0), s = Array(r); ++o < r;) {\n s[o] = i[e + o];\n }\n\n o = -1;\n\n for (var a = Array(e + 1); ++o < e;) {\n a[o] = i[o];\n }\n\n return a[e] = n(s), pi(t, this, a);\n };\n };\n\n var ki = function ki(t) {\n return function () {\n return t;\n };\n },\n _i = At ? function (t, e) {\n return At(t, \"toString\", {\n configurable: !0,\n enumerable: !1,\n value: ki(e),\n writable: !0\n });\n } : gi,\n vi = Date.now;\n\n var yi = function (t) {\n var e = 0,\n n = 0;\n return function () {\n var i = vi(),\n o = 16 - (i - n);\n\n if (n = i, o > 0) {\n if (++e >= 800) return arguments[0];\n } else e = 0;\n\n return t.apply(void 0, arguments);\n };\n }(_i);\n\n var xi = function xi(t, e) {\n return yi(wi(t, e, gi), t + \"\");\n };\n\n var Ai = function Ai(t, e, n) {\n if (!V(n)) return !1;\n\n var i = _typeof(e);\n\n return !!(\"number\" == i ? Xt(n) && jt(e, n.length) : \"string\" == i && e in n) && A(n[e], t);\n };\n\n var Ci = function Ci(t) {\n return xi(function (e, n) {\n var i = -1,\n o = n.length,\n r = o > 1 ? n[o - 1] : void 0,\n s = o > 2 ? n[2] : void 0;\n\n for (r = t.length > 3 && \"function\" == typeof r ? (o--, r) : void 0, s && Ai(n[0], n[1], s) && (r = o < 3 ? void 0 : r, o = 1), e = Object(e); ++i < o;) {\n var a = n[i];\n a && t(e, a, i, r);\n }\n\n return e;\n });\n },\n Ti = Ci(function (t, e, n) {\n mi(t, e, n);\n });\n\n var Pi = function Pi(t, e, n, i) {\n if (!V(t)) return t;\n\n for (var o = -1, r = (e = Xn(e, t)).length, s = r - 1, a = t; null != a && ++o < r;) {\n var c = ei(e[o]),\n l = n;\n\n if (o != s) {\n var d = a[c];\n void 0 === (l = i ? i(d, c, a) : void 0) && (l = V(d) ? d : jt(e[o + 1]) ? [] : {});\n }\n\n Pt(a, c, l), a = a[c];\n }\n\n return t;\n };\n\n var Si = function Si(t, e, n) {\n return null == t ? t : Pi(t, e, n);\n };\n\n var Ei = /*#__PURE__*/function () {\n function Ei(t) {\n _classCallCheck(this, Ei);\n\n this._styles = {}, this._styleProcessor = t;\n }\n\n _createClass(Ei, [{\n key: \"setTo\",\n value: function setTo(t) {\n this.clear();\n var e = Array.from(function (t) {\n var e = null,\n n = 0,\n i = 0,\n o = null;\n var r = new Map();\n if (\"\" === t) return r;\n \";\" != t.charAt(t.length - 1) && (t += \";\");\n\n for (var _s2 = 0; _s2 < t.length; _s2++) {\n var _a2 = t.charAt(_s2);\n\n if (null === e) switch (_a2) {\n case \":\":\n o || (o = t.substr(n, _s2 - n), i = _s2 + 1);\n break;\n\n case '\"':\n case \"'\":\n e = _a2;\n break;\n\n case \";\":\n {\n var _e18 = t.substr(i, _s2 - i);\n\n o && r.set(o.trim(), _e18.trim()), o = null, n = _s2 + 1;\n break;\n }\n } else _a2 === e && (e = null);\n }\n\n return r;\n }(t).entries());\n\n for (var _i14 = 0, _e19 = e; _i14 < _e19.length; _i14++) {\n var _ref12 = _e19[_i14];\n\n var _ref11 = _slicedToArray(_ref12, 2);\n\n var _t25 = _ref11[0];\n var _n12 = _ref11[1];\n\n this._styleProcessor.toNormalizedForm(_t25, _n12, this._styles);\n }\n }\n }, {\n key: \"has\",\n value: function has(t) {\n if (this.isEmpty) return !1;\n\n var e = this._styleProcessor.getReducedForm(t, this._styles).find(function (_ref13) {\n var _ref14 = _slicedToArray(_ref13, 1),\n e = _ref14[0];\n\n return e === t;\n });\n\n return Array.isArray(e);\n }\n }, {\n key: \"set\",\n value: function set(t, e) {\n if (V(t)) for (var _i15 = 0, _Object$entries = Object.entries(t); _i15 < _Object$entries.length; _i15++) {\n var _ref17 = _Object$entries[_i15];\n\n var _ref16 = _slicedToArray(_ref17, 2);\n\n var _e20 = _ref16[0];\n var _n13 = _ref16[1];\n\n this._styleProcessor.toNormalizedForm(_e20, _n13, this._styles);\n } else this._styleProcessor.toNormalizedForm(t, e, this._styles);\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n var e = Ii(t);\n si(this._styles, e), delete this._styles[t], this._cleanEmptyObjectsOnPath(e);\n }\n }, {\n key: \"getNormalized\",\n value: function getNormalized(t) {\n return this._styleProcessor.getNormalized(t, this._styles);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return this.isEmpty ? \"\" : this._getStylesEntries().map(function (t) {\n return t.join(\":\");\n }).sort().join(\";\") + \";\";\n }\n }, {\n key: \"getAsString\",\n value: function getAsString(t) {\n if (this.isEmpty) return;\n if (this._styles[t] && !V(this._styles[t])) return this._styles[t];\n\n var e = this._styleProcessor.getReducedForm(t, this._styles).find(function (_ref18) {\n var _ref19 = _slicedToArray(_ref18, 1),\n e = _ref19[0];\n\n return e === t;\n });\n\n return Array.isArray(e) ? e[1] : void 0;\n }\n }, {\n key: \"getStyleNames\",\n value: function getStyleNames() {\n if (this.isEmpty) return [];\n return this._getStylesEntries().map(function (_ref20) {\n var _ref21 = _slicedToArray(_ref20, 1),\n t = _ref21[0];\n\n return t;\n });\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._styles = {};\n }\n }, {\n key: \"_getStylesEntries\",\n value: function _getStylesEntries() {\n var t = [],\n e = Object.keys(this._styles);\n\n for (var _i16 = 0, _e21 = e; _i16 < _e21.length; _i16++) {\n var _n14 = _e21[_i16];\n t.push.apply(t, _toConsumableArray(this._styleProcessor.getReducedForm(_n14, this._styles)));\n }\n\n return t;\n }\n }, {\n key: \"_cleanEmptyObjectsOnPath\",\n value: function _cleanEmptyObjectsOnPath(t) {\n var e = t.split(\".\");\n if (!(e.length > 1)) return;\n var n = e.splice(0, e.length - 1).join(\".\"),\n i = ai(this._styles, n);\n if (!i) return;\n !Array.from(Object.keys(i)).length && this.remove(n);\n }\n }, {\n key: \"isEmpty\",\n get: function get() {\n var t = Object.entries(this._styles);\n return !Array.from(t).length;\n }\n }, {\n key: \"size\",\n get: function get() {\n return this.isEmpty ? 0 : this.getStyleNames().length;\n }\n }]);\n\n return Ei;\n }();\n\n var Mi = /*#__PURE__*/function () {\n function Mi() {\n _classCallCheck(this, Mi);\n\n this._normalizers = new Map(), this._extractors = new Map(), this._reducers = new Map(), this._consumables = new Map();\n }\n\n _createClass(Mi, [{\n key: \"toNormalizedForm\",\n value: function toNormalizedForm(t, e, n) {\n if (V(e)) Ni(n, Ii(t), e);else if (this._normalizers.has(t)) {\n var _i17 = this._normalizers.get(t),\n _i18 = _i17(e),\n _o9 = _i18.path,\n _r4 = _i18.value;\n\n Ni(n, _o9, _r4);\n } else Ni(n, t, e);\n }\n }, {\n key: \"getNormalized\",\n value: function getNormalized(t, e) {\n if (!t) return Ti({}, e);\n if (void 0 !== e[t]) return e[t];\n\n if (this._extractors.has(t)) {\n var _n15 = this._extractors.get(t);\n\n if (\"string\" == typeof _n15) return ai(e, _n15);\n\n var _i19 = _n15(t, e);\n\n if (_i19) return _i19;\n }\n\n return ai(e, Ii(t));\n }\n }, {\n key: \"getReducedForm\",\n value: function getReducedForm(t, e) {\n var n = this.getNormalized(t, e);\n if (void 0 === n) return [];\n\n if (this._reducers.has(t)) {\n return this._reducers.get(t)(n);\n }\n\n return [[t, n]];\n }\n }, {\n key: \"getRelatedStyles\",\n value: function getRelatedStyles(t) {\n return this._consumables.get(t) || [];\n }\n }, {\n key: \"setNormalizer\",\n value: function setNormalizer(t, e) {\n this._normalizers.set(t, e);\n }\n }, {\n key: \"setExtractor\",\n value: function setExtractor(t, e) {\n this._extractors.set(t, e);\n }\n }, {\n key: \"setReducer\",\n value: function setReducer(t, e) {\n this._reducers.set(t, e);\n }\n }, {\n key: \"setStyleRelation\",\n value: function setStyleRelation(t, e) {\n this._mapStyleNames(t, e);\n\n var _iterator22 = _createForOfIteratorHelper(e),\n _step22;\n\n try {\n for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {\n var _n16 = _step22.value;\n\n this._mapStyleNames(_n16, [t]);\n }\n } catch (err) {\n _iterator22.e(err);\n } finally {\n _iterator22.f();\n }\n }\n }, {\n key: \"_mapStyleNames\",\n value: function _mapStyleNames(t, e) {\n var _this$_consumables$ge;\n\n this._consumables.has(t) || this._consumables.set(t, []), (_this$_consumables$ge = this._consumables.get(t)).push.apply(_this$_consumables$ge, _toConsumableArray(e));\n }\n }]);\n\n return Mi;\n }();\n\n function Ii(t) {\n return t.replace(\"-\", \".\");\n }\n\n function Ni(t, e, n) {\n var i = n;\n V(n) && (i = Ti({}, ai(t, e), n)), Si(t, e, i);\n }\n\n var Oi = /*#__PURE__*/function (_On2) {\n _inherits(Oi, _On2);\n\n var _super3 = _createSuper(Oi);\n\n function Oi(t, e, n, i) {\n var _this10;\n\n _classCallCheck(this, Oi);\n\n if (_this10 = _super3.call(this, t), _this10.name = e, _this10._attrs = function (t) {\n t = Ln(t);\n\n var _iterator23 = _createForOfIteratorHelper(t),\n _step23;\n\n try {\n for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {\n var _ref24 = _step23.value;\n\n var _ref23 = _slicedToArray(_ref24, 2);\n\n var _e22 = _ref23[0];\n var _n17 = _ref23[1];\n null === _n17 ? t[\"delete\"](_e22) : \"string\" != typeof _n17 && t.set(_e22, String(_n17));\n }\n } catch (err) {\n _iterator23.e(err);\n } finally {\n _iterator23.f();\n }\n\n return t;\n }(n), _this10._children = [], i && _this10._insertChild(0, i), _this10._classes = new Set(), _this10._attrs.has(\"class\")) {\n var _t26 = _this10._attrs.get(\"class\");\n\n Ri(_this10._classes, _t26), _this10._attrs[\"delete\"](\"class\");\n }\n\n _this10._styles = new Ei(_this10.document.stylesProcessor), _this10._attrs.has(\"style\") && (_this10._styles.setTo(_this10._attrs.get(\"style\")), _this10._attrs[\"delete\"](\"style\")), _this10._customProperties = new Map();\n return _possibleConstructorReturn(_this10);\n }\n\n _createClass(Oi, [{\n key: \"is\",\n value: function is(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return e ? e === this.name && (\"element\" === t || \"view:element\" === t) : \"element\" === t || \"view:element\" === t || \"node\" === t || \"view:node\" === t;\n }\n }, {\n key: \"getChild\",\n value: function getChild(t) {\n return this._children[t];\n }\n }, {\n key: \"getChildIndex\",\n value: function getChildIndex(t) {\n return this._children.indexOf(t);\n }\n }, {\n key: \"getChildren\",\n value: function getChildren() {\n return this._children[Symbol.iterator]();\n }\n }, {\n key: \"getAttributeKeys\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getAttributeKeys() {\n return _regeneratorRuntime.wrap(function getAttributeKeys$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.t0 = this._classes.size > 0;\n\n if (!_context3.t0) {\n _context3.next = 4;\n break;\n }\n\n _context3.next = 4;\n return \"class\";\n\n case 4:\n _context3.t1 = this._styles.isEmpty;\n\n if (_context3.t1) {\n _context3.next = 8;\n break;\n }\n\n _context3.next = 8;\n return \"style\";\n\n case 8:\n return _context3.delegateYield(this._attrs.keys(), \"t2\", 9);\n\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }\n }, getAttributeKeys, this);\n })\n }, {\n key: \"getAttributes\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getAttributes() {\n return _regeneratorRuntime.wrap(function getAttributes$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n return _context4.delegateYield(this._attrs.entries(), \"t0\", 1);\n\n case 1:\n _context4.t1 = this._classes.size > 0;\n\n if (!_context4.t1) {\n _context4.next = 5;\n break;\n }\n\n _context4.next = 5;\n return [\"class\", this.getAttribute(\"class\")];\n\n case 5:\n _context4.t2 = this._styles.isEmpty;\n\n if (_context4.t2) {\n _context4.next = 9;\n break;\n }\n\n _context4.next = 9;\n return [\"style\", this.getAttribute(\"style\")];\n\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, getAttributes, this);\n })\n }, {\n key: \"getAttribute\",\n value: function getAttribute(t) {\n if (\"class\" == t) return this._classes.size > 0 ? _toConsumableArray(this._classes).join(\" \") : void 0;\n\n if (\"style\" == t) {\n var _t27 = this._styles.toString();\n\n return \"\" == _t27 ? void 0 : _t27;\n }\n\n return this._attrs.get(t);\n }\n }, {\n key: \"hasAttribute\",\n value: function hasAttribute(t) {\n return \"class\" == t ? this._classes.size > 0 : \"style\" == t ? !this._styles.isEmpty : this._attrs.has(t);\n }\n }, {\n key: \"isSimilar\",\n value: function isSimilar(t) {\n if (!(t instanceof Oi)) return !1;\n if (this === t) return !0;\n if (this.name != t.name) return !1;\n if (this._attrs.size !== t._attrs.size || this._classes.size !== t._classes.size || this._styles.size !== t._styles.size) return !1;\n\n var _iterator24 = _createForOfIteratorHelper(this._attrs),\n _step24;\n\n try {\n for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {\n var _ref27 = _step24.value;\n\n var _ref26 = _slicedToArray(_ref27, 2);\n\n var _e23 = _ref26[0];\n var _n18 = _ref26[1];\n if (!t._attrs.has(_e23) || t._attrs.get(_e23) !== _n18) return !1;\n }\n } catch (err) {\n _iterator24.e(err);\n } finally {\n _iterator24.f();\n }\n\n var _iterator25 = _createForOfIteratorHelper(this._classes),\n _step25;\n\n try {\n for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {\n var _e24 = _step25.value;\n if (!t._classes.has(_e24)) return !1;\n }\n } catch (err) {\n _iterator25.e(err);\n } finally {\n _iterator25.f();\n }\n\n var _iterator26 = _createForOfIteratorHelper(this._styles.getStyleNames()),\n _step26;\n\n try {\n for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {\n var _e25 = _step26.value;\n if (!t._styles.has(_e25) || t._styles.getAsString(_e25) !== this._styles.getAsString(_e25)) return !1;\n }\n } catch (err) {\n _iterator26.e(err);\n } finally {\n _iterator26.f();\n }\n\n return !0;\n }\n }, {\n key: \"hasClass\",\n value: function hasClass() {\n for (var _len8 = arguments.length, t = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n t[_key8] = arguments[_key8];\n }\n\n for (var _i20 = 0, _t28 = t; _i20 < _t28.length; _i20++) {\n var _e26 = _t28[_i20];\n if (!this._classes.has(_e26)) return !1;\n }\n\n return !0;\n }\n }, {\n key: \"getClassNames\",\n value: function getClassNames() {\n return this._classes.keys();\n }\n }, {\n key: \"getStyle\",\n value: function getStyle(t) {\n return this._styles.getAsString(t);\n }\n }, {\n key: \"getNormalizedStyle\",\n value: function getNormalizedStyle(t) {\n return this._styles.getNormalized(t);\n }\n }, {\n key: \"getStyleNames\",\n value: function getStyleNames() {\n return this._styles.getStyleNames();\n }\n }, {\n key: \"hasStyle\",\n value: function hasStyle() {\n for (var _len9 = arguments.length, t = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n t[_key9] = arguments[_key9];\n }\n\n for (var _i21 = 0, _t29 = t; _i21 < _t29.length; _i21++) {\n var _e27 = _t29[_i21];\n if (!this._styles.has(_e27)) return !1;\n }\n\n return !0;\n }\n }, {\n key: \"findAncestor\",\n value: function findAncestor() {\n for (var _len10 = arguments.length, t = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n t[_key10] = arguments[_key10];\n }\n\n var e = _construct(Vn, t);\n\n var n = this.parent;\n\n for (; n;) {\n if (e.match(n)) return n;\n n = n.parent;\n }\n\n return null;\n }\n }, {\n key: \"getCustomProperty\",\n value: function getCustomProperty(t) {\n return this._customProperties.get(t);\n }\n }, {\n key: \"getCustomProperties\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getCustomProperties() {\n return _regeneratorRuntime.wrap(function getCustomProperties$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n return _context5.delegateYield(this._customProperties.entries(), \"t0\", 1);\n\n case 1:\n case \"end\":\n return _context5.stop();\n }\n }\n }, getCustomProperties, this);\n })\n }, {\n key: \"getIdentity\",\n value: function getIdentity() {\n var t = Array.from(this._classes).sort().join(\",\"),\n e = this._styles.toString(),\n n = Array.from(this._attrs).map(function (t) {\n return \"\".concat(t[0], \"=\\\"\").concat(t[1], \"\\\"\");\n }).sort().join(\" \");\n\n return this.name + (\"\" == t ? \"\" : \" class=\\\"\".concat(t, \"\\\"\")) + (e ? \" style=\\\"\".concat(e, \"\\\"\") : \"\") + (\"\" == n ? \"\" : \" \" + n);\n }\n }, {\n key: \"_clone\",\n value: function _clone() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n var e = [];\n\n if (t) {\n var _iterator27 = _createForOfIteratorHelper(this.getChildren()),\n _step27;\n\n try {\n for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {\n var _n19 = _step27.value;\n e.push(_n19._clone(t));\n }\n } catch (err) {\n _iterator27.e(err);\n } finally {\n _iterator27.f();\n }\n }\n\n var n = new this.constructor(this.document, this.name, this._attrs, e);\n return n._classes = new Set(this._classes), n._styles.set(this._styles.getNormalized()), n._customProperties = new Map(this._customProperties), n.getFillerOffset = this.getFillerOffset, n;\n }\n }, {\n key: \"_appendChild\",\n value: function _appendChild(t) {\n return this._insertChild(this.childCount, t);\n }\n }, {\n key: \"_insertChild\",\n value: function _insertChild(t, e) {\n this._fireChange(\"children\", this);\n\n var n = 0;\n\n var i = function (t, e) {\n if (\"string\" == typeof e) return [new Rn(t, e)];\n yn(e) || (e = [e]);\n return Array.from(e).map(function (e) {\n return \"string\" == typeof e ? new Rn(t, e) : e instanceof Dn ? new Rn(t, e.data) : e;\n });\n }(this.document, e);\n\n var _iterator28 = _createForOfIteratorHelper(i),\n _step28;\n\n try {\n for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {\n var _e28 = _step28.value;\n null !== _e28.parent && _e28._remove(), _e28.parent = this, _e28.document = this.document, this._children.splice(t, 0, _e28), t++, n++;\n }\n } catch (err) {\n _iterator28.e(err);\n } finally {\n _iterator28.f();\n }\n\n return n;\n }\n }, {\n key: \"_removeChildren\",\n value: function _removeChildren(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n\n this._fireChange(\"children\", this);\n\n for (var _n20 = t; _n20 < t + e; _n20++) {\n this._children[_n20].parent = null;\n }\n\n return this._children.splice(t, e);\n }\n }, {\n key: \"_setAttribute\",\n value: function _setAttribute(t, e) {\n e = String(e), this._fireChange(\"attributes\", this), \"class\" == t ? Ri(this._classes, e) : \"style\" == t ? this._styles.setTo(e) : this._attrs.set(t, e);\n }\n }, {\n key: \"_removeAttribute\",\n value: function _removeAttribute(t) {\n return this._fireChange(\"attributes\", this), \"class\" == t ? this._classes.size > 0 && (this._classes.clear(), !0) : \"style\" == t ? !this._styles.isEmpty && (this._styles.clear(), !0) : this._attrs[\"delete\"](t);\n }\n }, {\n key: \"_addClass\",\n value: function _addClass(t) {\n var _this11 = this;\n\n this._fireChange(\"attributes\", this), (t = Array.isArray(t) ? t : [t]).forEach(function (t) {\n return _this11._classes.add(t);\n });\n }\n }, {\n key: \"_removeClass\",\n value: function _removeClass(t) {\n var _this12 = this;\n\n this._fireChange(\"attributes\", this), (t = Array.isArray(t) ? t : [t]).forEach(function (t) {\n return _this12._classes[\"delete\"](t);\n });\n }\n }, {\n key: \"_setStyle\",\n value: function _setStyle(t, e) {\n this._fireChange(\"attributes\", this), this._styles.set(t, e);\n }\n }, {\n key: \"_removeStyle\",\n value: function _removeStyle(t) {\n var _this13 = this;\n\n this._fireChange(\"attributes\", this), (t = Array.isArray(t) ? t : [t]).forEach(function (t) {\n return _this13._styles.remove(t);\n });\n }\n }, {\n key: \"_setCustomProperty\",\n value: function _setCustomProperty(t, e) {\n this._customProperties.set(t, e);\n }\n }, {\n key: \"_removeCustomProperty\",\n value: function _removeCustomProperty(t) {\n return this._customProperties[\"delete\"](t);\n }\n }, {\n key: \"childCount\",\n get: function get() {\n return this._children.length;\n }\n }, {\n key: \"isEmpty\",\n get: function get() {\n return 0 === this._children.length;\n }\n }]);\n\n return Oi;\n }(On);\n\n function Ri(t, e) {\n var n = e.split(/\\s+/);\n t.clear(), n.forEach(function (e) {\n return t.add(e);\n });\n }\n\n var Di = /*#__PURE__*/function (_Oi) {\n _inherits(Di, _Oi);\n\n var _super4 = _createSuper(Di);\n\n function Di(t, e, n, i) {\n var _this14;\n\n _classCallCheck(this, Di);\n\n _this14 = _super4.call(this, t, e, n, i), _this14.getFillerOffset = Li;\n return _this14;\n }\n\n _createClass(Di, [{\n key: \"is\",\n value: function is(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return e ? e === this.name && (\"containerElement\" === t || \"view:containerElement\" === t || \"element\" === t || \"view:element\" === t) : \"containerElement\" === t || \"view:containerElement\" === t || \"element\" === t || \"view:element\" === t || \"node\" === t || \"view:node\" === t;\n }\n }]);\n\n return Di;\n }(Oi);\n\n function Li() {\n var t = _toConsumableArray(this.getChildren()),\n e = t[this.childCount - 1];\n\n if (e && e.is(\"element\", \"br\")) return this.childCount;\n\n var _iterator29 = _createForOfIteratorHelper(t),\n _step29;\n\n try {\n for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {\n var _e29 = _step29.value;\n if (!_e29.is(\"uiElement\")) return null;\n }\n } catch (err) {\n _iterator29.e(err);\n } finally {\n _iterator29.f();\n }\n\n return this.childCount;\n }\n\n var Vi = Ci(function (t, e) {\n St(e, re(e), t);\n });\n var ji = Symbol(\"observableProperties\"),\n zi = Symbol(\"boundObservables\"),\n Bi = Symbol(\"boundProperties\"),\n Fi = {\n set: function set(t, e) {\n var _this15 = this;\n\n if (V(t)) return void Object.keys(t).forEach(function (e) {\n _this15.set(e, t[e]);\n }, this);\n Hi(this);\n var n = this[ji];\n if (t in this && !n.has(t)) throw new hn.a(\"observable-set-cannot-override\", this);\n Object.defineProperty(this, t, {\n enumerable: !0,\n configurable: !0,\n get: function get() {\n return n.get(t);\n },\n set: function set(e) {\n var i = n.get(t);\n var o = this.fire(\"set:\" + t, t, e, i);\n void 0 === o && (o = e), i === o && n.has(t) || (n.set(t, o), this.fire(\"change:\" + t, t, o, i));\n }\n }), this[t] = e;\n },\n bind: function bind() {\n var _this16 = this;\n\n for (var _len11 = arguments.length, t = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n t[_key11] = arguments[_key11];\n }\n\n if (!t.length || !$i(t)) throw new hn.a(\"observable-bind-wrong-properties\", this);\n if (new Set(t).size !== t.length) throw new hn.a(\"observable-bind-duplicate-properties\", this);\n Hi(this);\n var e = this[Bi];\n t.forEach(function (t) {\n if (e.has(t)) throw new hn.a(\"observable-bind-rebind\", _this16);\n });\n var n = new Map();\n return t.forEach(function (t) {\n var i = {\n property: t,\n to: []\n };\n e.set(t, i), n.set(t, i);\n }), {\n to: Wi,\n toMany: qi,\n _observable: this,\n _bindProperties: t,\n _to: [],\n _bindings: n\n };\n },\n unbind: function unbind() {\n var _this17 = this;\n\n if (!this[ji]) return;\n var e = this[Bi],\n n = this[zi];\n\n for (var _len12 = arguments.length, t = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\n t[_key12] = arguments[_key12];\n }\n\n if (t.length) {\n if (!$i(t)) throw new hn.a(\"observable-unbind-wrong-properties\", this);\n t.forEach(function (t) {\n var i = e.get(t);\n if (!i) return;\n var o, r, s, a;\n i.to.forEach(function (t) {\n o = t[0], r = t[1], s = n.get(o), a = s[r], a[\"delete\"](i), a.size || delete s[r], Object.keys(s).length || (n[\"delete\"](o), _this17.stopListening(o, \"change\"));\n }), e[\"delete\"](t);\n });\n } else n.forEach(function (t, e) {\n _this17.stopListening(e, \"change\");\n }), n.clear(), e.clear();\n },\n decorate: function decorate(t) {\n var _this18 = this;\n\n var e = this[t];\n if (!e) throw new hn.a(\"observablemixin-cannot-decorate-undefined\", this, {\n object: this,\n methodName: t\n });\n this.on(t, function (t, n) {\n t[\"return\"] = e.apply(_this18, n);\n }), this[t] = function () {\n for (var _len13 = arguments.length, e = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {\n e[_key13] = arguments[_key13];\n }\n\n return this.fire(t, e);\n };\n }\n };\n Vi(Fi, gn);\n var Ui = Fi;\n\n function Hi(t) {\n t[ji] || (Object.defineProperty(t, ji, {\n value: new Map()\n }), Object.defineProperty(t, zi, {\n value: new Map()\n }), Object.defineProperty(t, Bi, {\n value: new Map()\n }));\n }\n\n function Wi() {\n var _this19 = this;\n\n var e = function () {\n for (var _len14 = arguments.length, t = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {\n t[_key14] = arguments[_key14];\n }\n\n if (!t.length) throw new hn.a(\"observable-bind-to-parse-error\", null);\n var e = {\n to: []\n };\n var n;\n \"function\" == typeof t[t.length - 1] && (e.callback = t.pop());\n return t.forEach(function (t) {\n if (\"string\" == typeof t) n.properties.push(t);else {\n if (\"object\" != _typeof(t)) throw new hn.a(\"observable-bind-to-parse-error\", null);\n n = {\n observable: t,\n properties: []\n }, e.to.push(n);\n }\n }), e;\n }.apply(void 0, arguments),\n n = Array.from(this._bindings.keys()),\n i = n.length;\n\n if (!e.callback && e.to.length > 1) throw new hn.a(\"observable-bind-to-no-callback\", this);\n if (i > 1 && e.callback) throw new hn.a(\"observable-bind-to-extra-callback\", this);\n var o;\n e.to.forEach(function (t) {\n if (t.properties.length && t.properties.length !== i) throw new hn.a(\"observable-bind-to-properties-length\", _this19);\n t.properties.length || (t.properties = _this19._bindProperties);\n }), this._to = e.to, e.callback && (this._bindings.get(n[0]).callback = e.callback), o = this._observable, this._to.forEach(function (t) {\n var e = o[zi];\n var n;\n e.get(t.observable) || o.listenTo(t.observable, \"change\", function (i, r) {\n n = e.get(t.observable)[r], n && n.forEach(function (t) {\n Yi(o, t.property);\n });\n });\n }), function (t) {\n var e;\n\n t._bindings.forEach(function (n, i) {\n t._to.forEach(function (o) {\n e = o.properties[n.callback ? 0 : t._bindProperties.indexOf(i)], n.to.push([o.observable, e]), function (t, e, n, i) {\n var o = t[zi],\n r = o.get(n),\n s = r || {};\n s[i] || (s[i] = new Set());\n s[i].add(e), r || o.set(n, s);\n }(t._observable, n, o.observable, e);\n });\n });\n }(this), this._bindProperties.forEach(function (t) {\n Yi(_this19._observable, t);\n });\n }\n\n function qi(t, e, n) {\n if (this._bindings.size > 1) throw new hn.a(\"observable-bind-to-many-not-one-binding\", this);\n this.to.apply(this, _toConsumableArray(function (t, e) {\n var n = t.map(function (t) {\n return [t, e];\n });\n return Array.prototype.concat.apply([], n);\n }(t, e)).concat([n]));\n }\n\n function $i(t) {\n return t.every(function (t) {\n return \"string\" == typeof t;\n });\n }\n\n function Yi(t, e) {\n var n = t[Bi].get(e);\n var i;\n n.callback ? i = n.callback.apply(t, n.to.map(function (t) {\n return t[0][t[1]];\n })) : (i = n.to[0], i = i[0][i[1]]), Object.prototype.hasOwnProperty.call(t, e) ? t[e] = i : t.set(e, i);\n }\n\n var Gi = /*#__PURE__*/function (_Di) {\n _inherits(Gi, _Di);\n\n var _super5 = _createSuper(Gi);\n\n function Gi(t, e, n, i) {\n var _this20;\n\n _classCallCheck(this, Gi);\n\n _this20 = _super5.call(this, t, e, n, i), _this20.set(\"isReadOnly\", !1), _this20.set(\"isFocused\", !1), _this20.bind(\"isReadOnly\").to(t), _this20.bind(\"isFocused\").to(t, \"isFocused\", function (e) {\n return e && t.selection.editableElement == _assertThisInitialized(_this20);\n }), _this20.listenTo(t.selection, \"change\", function () {\n _this20.isFocused = t.isFocused && t.selection.editableElement == _assertThisInitialized(_this20);\n });\n return _this20;\n }\n\n _createClass(Gi, [{\n key: \"is\",\n value: function is(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return e ? e === this.name && (\"editableElement\" === t || \"view:editableElement\" === t || \"containerElement\" === t || \"view:containerElement\" === t || \"element\" === t || \"view:element\" === t) : \"editableElement\" === t || \"view:editableElement\" === t || \"containerElement\" === t || \"view:containerElement\" === t || \"element\" === t || \"view:element\" === t || \"node\" === t || \"view:node\" === t;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }]);\n\n return Gi;\n }(Di);\n\n xn(Gi, Ui);\n var Ki = Symbol(\"rootName\");\n\n var Qi = /*#__PURE__*/function (_Gi) {\n _inherits(Qi, _Gi);\n\n var _super6 = _createSuper(Qi);\n\n function Qi(t, e) {\n var _this21;\n\n _classCallCheck(this, Qi);\n\n _this21 = _super6.call(this, t, e), _this21.rootName = \"main\";\n return _this21;\n }\n\n _createClass(Qi, [{\n key: \"is\",\n value: function is(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return e ? e === this.name && (\"rootElement\" === t || \"view:rootElement\" === t || \"editableElement\" === t || \"view:editableElement\" === t || \"containerElement\" === t || \"view:containerElement\" === t || \"element\" === t || \"view:element\" === t) : \"rootElement\" === t || \"view:rootElement\" === t || \"editableElement\" === t || \"view:editableElement\" === t || \"containerElement\" === t || \"view:containerElement\" === t || \"element\" === t || \"view:element\" === t || \"node\" === t || \"view:node\" === t;\n }\n }, {\n key: \"rootName\",\n get: function get() {\n return this.getCustomProperty(Ki);\n },\n set: function set(t) {\n this._setCustomProperty(Ki, t);\n }\n }, {\n key: \"_name\",\n set: function set(t) {\n this.name = t;\n }\n }]);\n\n return Qi;\n }(Gi);\n\n var Ji = /*#__PURE__*/function () {\n function Ji() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Ji);\n\n if (!t.boundaries && !t.startPosition) throw new hn.a(\"view-tree-walker-no-start-position\", null);\n if (t.direction && \"forward\" != t.direction && \"backward\" != t.direction) throw new hn.a(\"view-tree-walker-unknown-direction\", t.startPosition, {\n direction: t.direction\n });\n this.boundaries = t.boundaries || null, t.startPosition ? this.position = Zi._createAt(t.startPosition) : this.position = Zi._createAt(t.boundaries[\"backward\" == t.direction ? \"end\" : \"start\"]), this.direction = t.direction || \"forward\", this.singleCharacters = !!t.singleCharacters, this.shallow = !!t.shallow, this.ignoreElementEnd = !!t.ignoreElementEnd, this._boundaryStartParent = this.boundaries ? this.boundaries.start.parent : null, this._boundaryEndParent = this.boundaries ? this.boundaries.end.parent : null;\n }\n\n _createClass(Ji, [{\n key: Symbol.iterator,\n value: function value() {\n return this;\n }\n }, {\n key: \"skip\",\n value: function skip(t) {\n var e, n, i;\n\n do {\n var _this$next;\n\n i = this.position, (_this$next = this.next(), e = _this$next.done, n = _this$next.value, _this$next);\n } while (!e && t(n));\n\n e || (this.position = i);\n }\n }, {\n key: \"next\",\n value: function next() {\n return \"forward\" == this.direction ? this._next() : this._previous();\n }\n }, {\n key: \"_next\",\n value: function _next() {\n var t = this.position.clone();\n var e = this.position,\n n = t.parent;\n if (null === n.parent && t.offset === n.childCount) return {\n done: !0\n };\n if (n === this._boundaryEndParent && t.offset == this.boundaries.end.offset) return {\n done: !0\n };\n var i;\n\n if (n instanceof Rn) {\n if (t.isAtEnd) return this.position = Zi._createAfter(n), this._next();\n i = n.data[t.offset];\n } else i = n.getChild(t.offset);\n\n if (i instanceof Oi) return this.shallow ? t.offset++ : t = new Zi(i, 0), this.position = t, this._formatReturnValue(\"elementStart\", i, e, t, 1);\n\n if (i instanceof Rn) {\n if (this.singleCharacters) return t = new Zi(i, 0), this.position = t, this._next();\n {\n var _n21,\n _o10 = i.data.length;\n\n return i == this._boundaryEndParent ? (_o10 = this.boundaries.end.offset, _n21 = new Dn(i, 0, _o10), t = Zi._createAfter(_n21)) : (_n21 = new Dn(i, 0, i.data.length), t.offset++), this.position = t, this._formatReturnValue(\"text\", _n21, e, t, _o10);\n }\n }\n\n if (\"string\" == typeof i) {\n var _i22;\n\n if (this.singleCharacters) _i22 = 1;else {\n _i22 = (n === this._boundaryEndParent ? this.boundaries.end.offset : n.data.length) - t.offset;\n }\n\n var _o11 = new Dn(n, t.offset, _i22);\n\n return t.offset += _i22, this.position = t, this._formatReturnValue(\"text\", _o11, e, t, _i22);\n }\n\n return t = Zi._createAfter(n), this.position = t, this.ignoreElementEnd ? this._next() : this._formatReturnValue(\"elementEnd\", n, e, t);\n }\n }, {\n key: \"_previous\",\n value: function _previous() {\n var t = this.position.clone();\n var e = this.position,\n n = t.parent;\n if (null === n.parent && 0 === t.offset) return {\n done: !0\n };\n if (n == this._boundaryStartParent && t.offset == this.boundaries.start.offset) return {\n done: !0\n };\n var i;\n\n if (n instanceof Rn) {\n if (t.isAtStart) return this.position = Zi._createBefore(n), this._previous();\n i = n.data[t.offset - 1];\n } else i = n.getChild(t.offset - 1);\n\n if (i instanceof Oi) return this.shallow ? (t.offset--, this.position = t, this._formatReturnValue(\"elementStart\", i, e, t, 1)) : (t = new Zi(i, i.childCount), this.position = t, this.ignoreElementEnd ? this._previous() : this._formatReturnValue(\"elementEnd\", i, e, t));\n\n if (i instanceof Rn) {\n if (this.singleCharacters) return t = new Zi(i, i.data.length), this.position = t, this._previous();\n {\n var _n22,\n _o12 = i.data.length;\n\n if (i == this._boundaryStartParent) {\n var _e30 = this.boundaries.start.offset;\n _n22 = new Dn(i, _e30, i.data.length - _e30), _o12 = _n22.data.length, t = Zi._createBefore(_n22);\n } else _n22 = new Dn(i, 0, i.data.length), t.offset--;\n\n return this.position = t, this._formatReturnValue(\"text\", _n22, e, t, _o12);\n }\n }\n\n if (\"string\" == typeof i) {\n var _i23;\n\n if (this.singleCharacters) _i23 = 1;else {\n var _e31 = n === this._boundaryStartParent ? this.boundaries.start.offset : 0;\n\n _i23 = t.offset - _e31;\n }\n t.offset -= _i23;\n\n var _o13 = new Dn(n, t.offset, _i23);\n\n return this.position = t, this._formatReturnValue(\"text\", _o13, e, t, _i23);\n }\n\n return t = Zi._createBefore(n), this.position = t, this._formatReturnValue(\"elementStart\", n, e, t, 1);\n }\n }, {\n key: \"_formatReturnValue\",\n value: function _formatReturnValue(t, e, n, i, o) {\n return e instanceof Dn && (e.offsetInText + e.data.length == e.textNode.data.length && (\"forward\" != this.direction || this.boundaries && this.boundaries.end.isEqual(this.position) ? n = Zi._createAfter(e.textNode) : (i = Zi._createAfter(e.textNode), this.position = i)), 0 === e.offsetInText && (\"backward\" != this.direction || this.boundaries && this.boundaries.start.isEqual(this.position) ? n = Zi._createBefore(e.textNode) : (i = Zi._createBefore(e.textNode), this.position = i))), {\n done: !1,\n value: {\n type: t,\n item: e,\n previousPosition: n,\n nextPosition: i,\n length: o\n }\n };\n }\n }]);\n\n return Ji;\n }();\n\n var Zi = /*#__PURE__*/function () {\n function Zi(t, e) {\n _classCallCheck(this, Zi);\n\n this.parent = t, this.offset = e;\n }\n\n _createClass(Zi, [{\n key: \"getShiftedBy\",\n value: function getShiftedBy(t) {\n var e = Zi._createAt(this),\n n = e.offset + t;\n\n return e.offset = n < 0 ? 0 : n, e;\n }\n }, {\n key: \"getLastMatchingPosition\",\n value: function getLastMatchingPosition(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n e.startPosition = this;\n var n = new Ji(e);\n return n.skip(t), n.position;\n }\n }, {\n key: \"getAncestors\",\n value: function getAncestors() {\n return this.parent.is(\"documentFragment\") ? [this.parent] : this.parent.getAncestors({\n includeSelf: !0\n });\n }\n }, {\n key: \"getCommonAncestor\",\n value: function getCommonAncestor(t) {\n var e = this.getAncestors(),\n n = t.getAncestors();\n var i = 0;\n\n for (; e[i] == n[i] && e[i];) {\n i++;\n }\n\n return 0 === i ? null : e[i - 1];\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"position\" === t || \"view:position\" === t;\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(t) {\n return this.parent == t.parent && this.offset == t.offset;\n }\n }, {\n key: \"isBefore\",\n value: function isBefore(t) {\n return \"before\" == this.compareWith(t);\n }\n }, {\n key: \"isAfter\",\n value: function isAfter(t) {\n return \"after\" == this.compareWith(t);\n }\n }, {\n key: \"compareWith\",\n value: function compareWith(t) {\n if (this.root !== t.root) return \"different\";\n if (this.isEqual(t)) return \"same\";\n var e = this.parent.is(\"node\") ? this.parent.getPath() : [],\n n = t.parent.is(\"node\") ? t.parent.getPath() : [];\n e.push(this.offset), n.push(t.offset);\n var i = In(e, n);\n\n switch (i) {\n case \"prefix\":\n return \"before\";\n\n case \"extension\":\n return \"after\";\n\n default:\n return e[i] < n[i] ? \"before\" : \"after\";\n }\n }\n }, {\n key: \"getWalker\",\n value: function getWalker() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return t.startPosition = this, new Ji(t);\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Zi(this.parent, this.offset);\n }\n }, {\n key: \"nodeAfter\",\n get: function get() {\n return this.parent.is(\"$text\") ? null : this.parent.getChild(this.offset) || null;\n }\n }, {\n key: \"nodeBefore\",\n get: function get() {\n return this.parent.is(\"$text\") ? null : this.parent.getChild(this.offset - 1) || null;\n }\n }, {\n key: \"isAtStart\",\n get: function get() {\n return 0 === this.offset;\n }\n }, {\n key: \"isAtEnd\",\n get: function get() {\n var t = this.parent.is(\"$text\") ? this.parent.data.length : this.parent.childCount;\n return this.offset === t;\n }\n }, {\n key: \"root\",\n get: function get() {\n return this.parent.root;\n }\n }, {\n key: \"editableElement\",\n get: function get() {\n var t = this.parent;\n\n for (; !(t instanceof Gi);) {\n if (!t.parent) return null;\n t = t.parent;\n }\n\n return t;\n }\n }], [{\n key: \"_createAt\",\n value: function _createAt(t, e) {\n if (t instanceof Zi) return new this(t.parent, t.offset);\n {\n var _n23 = t;\n if (\"end\" == e) e = _n23.is(\"$text\") ? _n23.data.length : _n23.childCount;else {\n if (\"before\" == e) return this._createBefore(_n23);\n if (\"after\" == e) return this._createAfter(_n23);\n if (0 !== e && !e) throw new hn.a(\"view-createpositionat-offset-required\", _n23);\n }\n return new Zi(_n23, e);\n }\n }\n }, {\n key: \"_createAfter\",\n value: function _createAfter(t) {\n if (t.is(\"$textProxy\")) return new Zi(t.textNode, t.offsetInText + t.data.length);\n if (!t.parent) throw new hn.a(\"view-position-after-root\", t, {\n root: t\n });\n return new Zi(t.parent, t.index + 1);\n }\n }, {\n key: \"_createBefore\",\n value: function _createBefore(t) {\n if (t.is(\"$textProxy\")) return new Zi(t.textNode, t.offsetInText);\n if (!t.parent) throw new hn.a(\"view-position-before-root\", t, {\n root: t\n });\n return new Zi(t.parent, t.index);\n }\n }]);\n\n return Zi;\n }();\n\n var Xi = /*#__PURE__*/function () {\n function Xi(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n _classCallCheck(this, Xi);\n\n this.start = t.clone(), this.end = e ? e.clone() : t.clone();\n }\n\n _createClass(Xi, [{\n key: Symbol.iterator,\n value: /*#__PURE__*/_regeneratorRuntime.mark(function value() {\n return _regeneratorRuntime.wrap(function value$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n return _context6.delegateYield(new Ji({\n boundaries: this,\n ignoreElementEnd: !0\n }), \"t0\", 1);\n\n case 1:\n case \"end\":\n return _context6.stop();\n }\n }\n }, value, this);\n })\n }, {\n key: \"getEnlarged\",\n value: function getEnlarged() {\n var t = this.start.getLastMatchingPosition(to, {\n direction: \"backward\"\n }),\n e = this.end.getLastMatchingPosition(to);\n return t.parent.is(\"$text\") && t.isAtStart && (t = Zi._createBefore(t.parent)), e.parent.is(\"$text\") && e.isAtEnd && (e = Zi._createAfter(e.parent)), new Xi(t, e);\n }\n }, {\n key: \"getTrimmed\",\n value: function getTrimmed() {\n var t = this.start.getLastMatchingPosition(to);\n if (t.isAfter(this.end) || t.isEqual(this.end)) return new Xi(t, t);\n var e = this.end.getLastMatchingPosition(to, {\n direction: \"backward\"\n });\n var n = t.nodeAfter,\n i = e.nodeBefore;\n return n && n.is(\"$text\") && (t = new Zi(n, 0)), i && i.is(\"$text\") && (e = new Zi(i, i.data.length)), new Xi(t, e);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(t) {\n return this == t || this.start.isEqual(t.start) && this.end.isEqual(t.end);\n }\n }, {\n key: \"containsPosition\",\n value: function containsPosition(t) {\n return t.isAfter(this.start) && t.isBefore(this.end);\n }\n }, {\n key: \"containsRange\",\n value: function containsRange(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n t.isCollapsed && (e = !1);\n var n = this.containsPosition(t.start) || e && this.start.isEqual(t.start),\n i = this.containsPosition(t.end) || e && this.end.isEqual(t.end);\n return n && i;\n }\n }, {\n key: \"getDifference\",\n value: function getDifference(t) {\n var e = [];\n return this.isIntersecting(t) ? (this.containsPosition(t.start) && e.push(new Xi(this.start, t.start)), this.containsPosition(t.end) && e.push(new Xi(t.end, this.end))) : e.push(this.clone()), e;\n }\n }, {\n key: \"getIntersection\",\n value: function getIntersection(t) {\n if (this.isIntersecting(t)) {\n var _e32 = this.start,\n _n24 = this.end;\n return this.containsPosition(t.start) && (_e32 = t.start), this.containsPosition(t.end) && (_n24 = t.end), new Xi(_e32, _n24);\n }\n\n return null;\n }\n }, {\n key: \"getWalker\",\n value: function getWalker() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return t.boundaries = this, new Ji(t);\n }\n }, {\n key: \"getCommonAncestor\",\n value: function getCommonAncestor() {\n return this.start.getCommonAncestor(this.end);\n }\n }, {\n key: \"getContainedElement\",\n value: function getContainedElement() {\n if (this.isCollapsed) return null;\n var t = this.start.nodeAfter,\n e = this.end.nodeBefore;\n return this.start.parent.is(\"$text\") && this.start.isAtEnd && this.start.parent.nextSibling && (t = this.start.parent.nextSibling), this.end.parent.is(\"$text\") && this.end.isAtStart && this.end.parent.previousSibling && (e = this.end.parent.previousSibling), t && t.is(\"element\") && t === e ? t : null;\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new Xi(this.start, this.end);\n }\n }, {\n key: \"getItems\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getItems() {\n var t,\n e,\n _iterator30,\n _step30,\n _t30,\n _args7 = arguments;\n\n return _regeneratorRuntime.wrap(function getItems$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n t = _args7.length > 0 && _args7[0] !== undefined ? _args7[0] : {};\n t.boundaries = this, t.ignoreElementEnd = !0;\n e = new Ji(t);\n _iterator30 = _createForOfIteratorHelper(e);\n _context7.prev = 4;\n\n _iterator30.s();\n\n case 6:\n if ((_step30 = _iterator30.n()).done) {\n _context7.next = 12;\n break;\n }\n\n _t30 = _step30.value;\n _context7.next = 10;\n return _t30.item;\n\n case 10:\n _context7.next = 6;\n break;\n\n case 12:\n _context7.next = 17;\n break;\n\n case 14:\n _context7.prev = 14;\n _context7.t0 = _context7[\"catch\"](4);\n\n _iterator30.e(_context7.t0);\n\n case 17:\n _context7.prev = 17;\n\n _iterator30.f();\n\n return _context7.finish(17);\n\n case 20:\n case \"end\":\n return _context7.stop();\n }\n }\n }, getItems, this, [[4, 14, 17, 20]]);\n })\n }, {\n key: \"getPositions\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getPositions() {\n var t,\n e,\n _iterator31,\n _step31,\n _t31,\n _args8 = arguments;\n\n return _regeneratorRuntime.wrap(function getPositions$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n t = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {};\n t.boundaries = this;\n e = new Ji(t);\n _context8.next = 5;\n return e.position;\n\n case 5:\n _iterator31 = _createForOfIteratorHelper(e);\n _context8.prev = 6;\n\n _iterator31.s();\n\n case 8:\n if ((_step31 = _iterator31.n()).done) {\n _context8.next = 14;\n break;\n }\n\n _t31 = _step31.value;\n _context8.next = 12;\n return _t31.nextPosition;\n\n case 12:\n _context8.next = 8;\n break;\n\n case 14:\n _context8.next = 19;\n break;\n\n case 16:\n _context8.prev = 16;\n _context8.t0 = _context8[\"catch\"](6);\n\n _iterator31.e(_context8.t0);\n\n case 19:\n _context8.prev = 19;\n\n _iterator31.f();\n\n return _context8.finish(19);\n\n case 22:\n case \"end\":\n return _context8.stop();\n }\n }\n }, getPositions, this, [[6, 16, 19, 22]]);\n })\n }, {\n key: \"is\",\n value: function is(t) {\n return \"range\" === t || \"view:range\" === t;\n }\n }, {\n key: \"isIntersecting\",\n value: function isIntersecting(t) {\n return this.start.isBefore(t.end) && this.end.isAfter(t.start);\n }\n }, {\n key: \"isCollapsed\",\n get: function get() {\n return this.start.isEqual(this.end);\n }\n }, {\n key: \"isFlat\",\n get: function get() {\n return this.start.parent === this.end.parent;\n }\n }, {\n key: \"root\",\n get: function get() {\n return this.start.root;\n }\n }], [{\n key: \"_createFromParentsAndOffsets\",\n value: function _createFromParentsAndOffsets(t, e, n, i) {\n return new this(new Zi(t, e), new Zi(n, i));\n }\n }, {\n key: \"_createFromPositionAndShift\",\n value: function _createFromPositionAndShift(t, e) {\n var n = t,\n i = t.getShiftedBy(e);\n return e > 0 ? new this(n, i) : new this(i, n);\n }\n }, {\n key: \"_createIn\",\n value: function _createIn(t) {\n return this._createFromParentsAndOffsets(t, 0, t, t.childCount);\n }\n }, {\n key: \"_createOn\",\n value: function _createOn(t) {\n var e = t.is(\"$textProxy\") ? t.offsetSize : 1;\n return this._createFromPositionAndShift(Zi._createBefore(t), e);\n }\n }]);\n\n return Xi;\n }();\n\n function to(t) {\n return !(!t.item.is(\"attributeElement\") && !t.item.is(\"uiElement\"));\n }\n\n function eo(t) {\n var e = 0;\n\n var _iterator32 = _createForOfIteratorHelper(t),\n _step32;\n\n try {\n for (_iterator32.s(); !(_step32 = _iterator32.n()).done;) {\n var _n25 = _step32.value;\n e++;\n }\n } catch (err) {\n _iterator32.e(err);\n } finally {\n _iterator32.f();\n }\n\n return e;\n }\n\n var no = /*#__PURE__*/function () {\n function no() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var e = arguments.length > 1 ? arguments[1] : undefined;\n var n = arguments.length > 2 ? arguments[2] : undefined;\n\n _classCallCheck(this, no);\n\n this._ranges = [], this._lastRangeBackward = !1, this._isFake = !1, this._fakeSelectionLabel = \"\", this.setTo(t, e, n);\n }\n\n _createClass(no, [{\n key: \"getRanges\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getRanges() {\n var _iterator33, _step33, _t32;\n\n return _regeneratorRuntime.wrap(function getRanges$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _iterator33 = _createForOfIteratorHelper(this._ranges);\n _context9.prev = 1;\n\n _iterator33.s();\n\n case 3:\n if ((_step33 = _iterator33.n()).done) {\n _context9.next = 9;\n break;\n }\n\n _t32 = _step33.value;\n _context9.next = 7;\n return _t32.clone();\n\n case 7:\n _context9.next = 3;\n break;\n\n case 9:\n _context9.next = 14;\n break;\n\n case 11:\n _context9.prev = 11;\n _context9.t0 = _context9[\"catch\"](1);\n\n _iterator33.e(_context9.t0);\n\n case 14:\n _context9.prev = 14;\n\n _iterator33.f();\n\n return _context9.finish(14);\n\n case 17:\n case \"end\":\n return _context9.stop();\n }\n }\n }, getRanges, this, [[1, 11, 14, 17]]);\n })\n }, {\n key: \"getFirstRange\",\n value: function getFirstRange() {\n var t = null;\n\n var _iterator34 = _createForOfIteratorHelper(this._ranges),\n _step34;\n\n try {\n for (_iterator34.s(); !(_step34 = _iterator34.n()).done;) {\n var _e33 = _step34.value;\n t && !_e33.start.isBefore(t.start) || (t = _e33);\n }\n } catch (err) {\n _iterator34.e(err);\n } finally {\n _iterator34.f();\n }\n\n return t ? t.clone() : null;\n }\n }, {\n key: \"getLastRange\",\n value: function getLastRange() {\n var t = null;\n\n var _iterator35 = _createForOfIteratorHelper(this._ranges),\n _step35;\n\n try {\n for (_iterator35.s(); !(_step35 = _iterator35.n()).done;) {\n var _e34 = _step35.value;\n t && !_e34.end.isAfter(t.end) || (t = _e34);\n }\n } catch (err) {\n _iterator35.e(err);\n } finally {\n _iterator35.f();\n }\n\n return t ? t.clone() : null;\n }\n }, {\n key: \"getFirstPosition\",\n value: function getFirstPosition() {\n var t = this.getFirstRange();\n return t ? t.start.clone() : null;\n }\n }, {\n key: \"getLastPosition\",\n value: function getLastPosition() {\n var t = this.getLastRange();\n return t ? t.end.clone() : null;\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(t) {\n if (this.isFake != t.isFake) return !1;\n if (this.isFake && this.fakeSelectionLabel != t.fakeSelectionLabel) return !1;\n if (this.rangeCount != t.rangeCount) return !1;\n if (0 === this.rangeCount) return !0;\n if (!this.anchor.isEqual(t.anchor) || !this.focus.isEqual(t.focus)) return !1;\n\n var _iterator36 = _createForOfIteratorHelper(this._ranges),\n _step36;\n\n try {\n for (_iterator36.s(); !(_step36 = _iterator36.n()).done;) {\n var _e35 = _step36.value;\n\n var _n26 = !1;\n\n var _iterator37 = _createForOfIteratorHelper(t._ranges),\n _step37;\n\n try {\n for (_iterator37.s(); !(_step37 = _iterator37.n()).done;) {\n var _i24 = _step37.value;\n\n if (_e35.isEqual(_i24)) {\n _n26 = !0;\n break;\n }\n }\n } catch (err) {\n _iterator37.e(err);\n } finally {\n _iterator37.f();\n }\n\n if (!_n26) return !1;\n }\n } catch (err) {\n _iterator36.e(err);\n } finally {\n _iterator36.f();\n }\n\n return !0;\n }\n }, {\n key: \"isSimilar\",\n value: function isSimilar(t) {\n if (this.isBackward != t.isBackward) return !1;\n var e = eo(this.getRanges());\n if (e != eo(t.getRanges())) return !1;\n if (0 == e) return !0;\n\n var _iterator38 = _createForOfIteratorHelper(this.getRanges()),\n _step38;\n\n try {\n for (_iterator38.s(); !(_step38 = _iterator38.n()).done;) {\n var _e36 = _step38.value;\n _e36 = _e36.getTrimmed();\n\n var _n27 = !1;\n\n var _iterator39 = _createForOfIteratorHelper(t.getRanges()),\n _step39;\n\n try {\n for (_iterator39.s(); !(_step39 = _iterator39.n()).done;) {\n var _i25 = _step39.value;\n\n if (_i25 = _i25.getTrimmed(), _e36.start.isEqual(_i25.start) && _e36.end.isEqual(_i25.end)) {\n _n27 = !0;\n break;\n }\n }\n } catch (err) {\n _iterator39.e(err);\n } finally {\n _iterator39.f();\n }\n\n if (!_n27) return !1;\n }\n } catch (err) {\n _iterator38.e(err);\n } finally {\n _iterator38.f();\n }\n\n return !0;\n }\n }, {\n key: \"getSelectedElement\",\n value: function getSelectedElement() {\n return 1 !== this.rangeCount ? null : this.getFirstRange().getContainedElement();\n }\n }, {\n key: \"setTo\",\n value: function setTo(t, e, n) {\n if (null === t) this._setRanges([]), this._setFakeOptions(e);else if (t instanceof no || t instanceof io) this._setRanges(t.getRanges(), t.isBackward), this._setFakeOptions({\n fake: t.isFake,\n label: t.fakeSelectionLabel\n });else if (t instanceof Xi) this._setRanges([t], e && e.backward), this._setFakeOptions(e);else if (t instanceof Zi) this._setRanges([new Xi(t)]), this._setFakeOptions(e);else if (t instanceof On) {\n var _i26 = !!n && !!n.backward;\n\n var _o14;\n\n if (void 0 === e) throw new hn.a(\"view-selection-setto-required-second-parameter\", this);\n _o14 = \"in\" == e ? Xi._createIn(t) : \"on\" == e ? Xi._createOn(t) : new Xi(Zi._createAt(t, e)), this._setRanges([_o14], _i26), this._setFakeOptions(n);\n } else {\n if (!yn(t)) throw new hn.a(\"view-selection-setto-not-selectable\", this);\n this._setRanges(t, e && e.backward), this._setFakeOptions(e);\n }\n this.fire(\"change\");\n }\n }, {\n key: \"setFocus\",\n value: function setFocus(t, e) {\n if (null === this.anchor) throw new hn.a(\"view-selection-setfocus-no-ranges\", this);\n\n var n = Zi._createAt(t, e);\n\n if (\"same\" == n.compareWith(this.focus)) return;\n var i = this.anchor;\n this._ranges.pop(), \"before\" == n.compareWith(i) ? this._addRange(new Xi(n, i), !0) : this._addRange(new Xi(i, n)), this.fire(\"change\");\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"selection\" === t || \"view:selection\" === t;\n }\n }, {\n key: \"_setRanges\",\n value: function _setRanges(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n t = Array.from(t), this._ranges = [];\n\n var _iterator40 = _createForOfIteratorHelper(t),\n _step40;\n\n try {\n for (_iterator40.s(); !(_step40 = _iterator40.n()).done;) {\n var _e37 = _step40.value;\n\n this._addRange(_e37);\n }\n } catch (err) {\n _iterator40.e(err);\n } finally {\n _iterator40.f();\n }\n\n this._lastRangeBackward = !!e;\n }\n }, {\n key: \"_setFakeOptions\",\n value: function _setFakeOptions() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this._isFake = !!t.fake, this._fakeSelectionLabel = t.fake && t.label || \"\";\n }\n }, {\n key: \"_addRange\",\n value: function _addRange(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n if (!(t instanceof Xi)) throw new hn.a(\"view-selection-add-range-not-range\", this);\n this._pushRange(t), this._lastRangeBackward = !!e;\n }\n }, {\n key: \"_pushRange\",\n value: function _pushRange(t) {\n var _iterator41 = _createForOfIteratorHelper(this._ranges),\n _step41;\n\n try {\n for (_iterator41.s(); !(_step41 = _iterator41.n()).done;) {\n var _e38 = _step41.value;\n if (t.isIntersecting(_e38)) throw new hn.a(\"view-selection-range-intersects\", this, {\n addedRange: t,\n intersectingRange: _e38\n });\n }\n } catch (err) {\n _iterator41.e(err);\n } finally {\n _iterator41.f();\n }\n\n this._ranges.push(new Xi(t.start, t.end));\n }\n }, {\n key: \"isFake\",\n get: function get() {\n return this._isFake;\n }\n }, {\n key: \"fakeSelectionLabel\",\n get: function get() {\n return this._fakeSelectionLabel;\n }\n }, {\n key: \"anchor\",\n get: function get() {\n if (!this._ranges.length) return null;\n var t = this._ranges[this._ranges.length - 1];\n return (this._lastRangeBackward ? t.end : t.start).clone();\n }\n }, {\n key: \"focus\",\n get: function get() {\n if (!this._ranges.length) return null;\n var t = this._ranges[this._ranges.length - 1];\n return (this._lastRangeBackward ? t.start : t.end).clone();\n }\n }, {\n key: \"isCollapsed\",\n get: function get() {\n return 1 === this.rangeCount && this._ranges[0].isCollapsed;\n }\n }, {\n key: \"rangeCount\",\n get: function get() {\n return this._ranges.length;\n }\n }, {\n key: \"isBackward\",\n get: function get() {\n return !this.isCollapsed && this._lastRangeBackward;\n }\n }, {\n key: \"editableElement\",\n get: function get() {\n return this.anchor ? this.anchor.editableElement : null;\n }\n }]);\n\n return no;\n }();\n\n xn(no, gn);\n\n var io = /*#__PURE__*/function () {\n function io() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var e = arguments.length > 1 ? arguments[1] : undefined;\n var n = arguments.length > 2 ? arguments[2] : undefined;\n\n _classCallCheck(this, io);\n\n this._selection = new no(), this._selection.delegate(\"change\").to(this), this._selection.setTo(t, e, n);\n }\n\n _createClass(io, [{\n key: \"getRanges\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getRanges() {\n return _regeneratorRuntime.wrap(function getRanges$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n return _context10.delegateYield(this._selection.getRanges(), \"t0\", 1);\n\n case 1:\n case \"end\":\n return _context10.stop();\n }\n }\n }, getRanges, this);\n })\n }, {\n key: \"getFirstRange\",\n value: function getFirstRange() {\n return this._selection.getFirstRange();\n }\n }, {\n key: \"getLastRange\",\n value: function getLastRange() {\n return this._selection.getLastRange();\n }\n }, {\n key: \"getFirstPosition\",\n value: function getFirstPosition() {\n return this._selection.getFirstPosition();\n }\n }, {\n key: \"getLastPosition\",\n value: function getLastPosition() {\n return this._selection.getLastPosition();\n }\n }, {\n key: \"getSelectedElement\",\n value: function getSelectedElement() {\n return this._selection.getSelectedElement();\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(t) {\n return this._selection.isEqual(t);\n }\n }, {\n key: \"isSimilar\",\n value: function isSimilar(t) {\n return this._selection.isSimilar(t);\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"selection\" === t || \"documentSelection\" == t || \"view:selection\" == t || \"view:documentSelection\" == t;\n }\n }, {\n key: \"_setTo\",\n value: function _setTo(t, e, n) {\n this._selection.setTo(t, e, n);\n }\n }, {\n key: \"_setFocus\",\n value: function _setFocus(t, e) {\n this._selection.setFocus(t, e);\n }\n }, {\n key: \"isFake\",\n get: function get() {\n return this._selection.isFake;\n }\n }, {\n key: \"fakeSelectionLabel\",\n get: function get() {\n return this._selection.fakeSelectionLabel;\n }\n }, {\n key: \"anchor\",\n get: function get() {\n return this._selection.anchor;\n }\n }, {\n key: \"focus\",\n get: function get() {\n return this._selection.focus;\n }\n }, {\n key: \"isCollapsed\",\n get: function get() {\n return this._selection.isCollapsed;\n }\n }, {\n key: \"rangeCount\",\n get: function get() {\n return this._selection.rangeCount;\n }\n }, {\n key: \"isBackward\",\n get: function get() {\n return this._selection.isBackward;\n }\n }, {\n key: \"editableElement\",\n get: function get() {\n return this._selection.editableElement;\n }\n }, {\n key: \"_ranges\",\n get: function get() {\n return this._selection._ranges;\n }\n }]);\n\n return io;\n }();\n\n xn(io, gn);\n\n var oo = /*#__PURE__*/function () {\n function oo(t) {\n _classCallCheck(this, oo);\n\n this.selection = new io(), this.roots = new An({\n idProperty: \"rootName\"\n }), this.stylesProcessor = t, this.set(\"isReadOnly\", !1), this.set(\"isFocused\", !1), this.set(\"isComposing\", !1), this._postFixers = new Set();\n }\n\n _createClass(oo, [{\n key: \"getRoot\",\n value: function getRoot() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"main\";\n return this.roots.get(t);\n }\n }, {\n key: \"registerPostFixer\",\n value: function registerPostFixer(t) {\n this._postFixers.add(t);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.roots.map(function (t) {\n return t.destroy();\n }), this.stopListening();\n }\n }, {\n key: \"_callPostFixers\",\n value: function _callPostFixers(t) {\n var e = !1;\n\n do {\n var _iterator42 = _createForOfIteratorHelper(this._postFixers),\n _step42;\n\n try {\n for (_iterator42.s(); !(_step42 = _iterator42.n()).done;) {\n var _n28 = _step42.value;\n if (e = _n28(t), e) break;\n }\n } catch (err) {\n _iterator42.e(err);\n } finally {\n _iterator42.f();\n }\n } while (e);\n }\n }]);\n\n return oo;\n }();\n\n xn(oo, Ui);\n\n var ro = /*#__PURE__*/function (_Oi2) {\n _inherits(ro, _Oi2);\n\n var _super7 = _createSuper(ro);\n\n function ro(t, e, n, i) {\n var _this22;\n\n _classCallCheck(this, ro);\n\n _this22 = _super7.call(this, t, e, n, i), _this22.getFillerOffset = so, _this22._priority = 10, _this22._id = null, _this22._clonesGroup = null;\n return _this22;\n }\n\n _createClass(ro, [{\n key: \"getElementsWithSameId\",\n value: function getElementsWithSameId() {\n if (null === this.id) throw new hn.a(\"attribute-element-get-elements-with-same-id-no-id\", this);\n return new Set(this._clonesGroup);\n }\n }, {\n key: \"is\",\n value: function is(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return e ? e === this.name && (\"attributeElement\" === t || \"view:attributeElement\" === t || \"element\" === t || \"view:element\" === t) : \"attributeElement\" === t || \"view:attributeElement\" === t || \"element\" === t || \"view:element\" === t || \"node\" === t || \"view:node\" === t;\n }\n }, {\n key: \"isSimilar\",\n value: function isSimilar(t) {\n return null !== this.id || null !== t.id ? this.id === t.id : _get(_getPrototypeOf(ro.prototype), \"isSimilar\", this).call(this, t) && this.priority == t.priority;\n }\n }, {\n key: \"_clone\",\n value: function _clone(t) {\n var e = _get(_getPrototypeOf(ro.prototype), \"_clone\", this).call(this, t);\n\n return e._priority = this._priority, e._id = this._id, e;\n }\n }, {\n key: \"priority\",\n get: function get() {\n return this._priority;\n }\n }, {\n key: \"id\",\n get: function get() {\n return this._id;\n }\n }]);\n\n return ro;\n }(Oi);\n\n function so() {\n if (ao(this)) return null;\n var t = this.parent;\n\n for (; t && t.is(\"attributeElement\");) {\n if (ao(t) > 1) return null;\n t = t.parent;\n }\n\n return !t || ao(t) > 1 ? null : this.childCount;\n }\n\n function ao(t) {\n return Array.from(t.getChildren()).filter(function (t) {\n return !t.is(\"uiElement\");\n }).length;\n }\n\n ro.DEFAULT_PRIORITY = 10;\n\n var co = /*#__PURE__*/function (_Oi3) {\n _inherits(co, _Oi3);\n\n var _super8 = _createSuper(co);\n\n function co(t, e, n, i) {\n var _this23;\n\n _classCallCheck(this, co);\n\n _this23 = _super8.call(this, t, e, n, i), _this23.getFillerOffset = lo;\n return _this23;\n }\n\n _createClass(co, [{\n key: \"is\",\n value: function is(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return e ? e === this.name && (\"emptyElement\" === t || \"view:emptyElement\" === t || \"element\" === t || \"view:element\" === t) : \"emptyElement\" === t || \"view:emptyElement\" === t || \"element\" === t || \"view:element\" === t || \"node\" === t || \"view:node\" === t;\n }\n }, {\n key: \"_insertChild\",\n value: function _insertChild(t, e) {\n if (e && (e instanceof On || Array.from(e).length > 0)) throw new hn.a(\"view-emptyelement-cannot-add\", [this, e]);\n }\n }]);\n\n return co;\n }(Oi);\n\n function lo() {\n return null;\n }\n\n var uo = navigator.userAgent.toLowerCase();\n var ho = {\n isMac: function (t) {\n return t.indexOf(\"macintosh\") > -1;\n }(uo),\n isGecko: function (t) {\n return !!t.match(/gecko\\/\\d+/);\n }(uo),\n isSafari: function (t) {\n return t.indexOf(\" applewebkit/\") > -1 && -1 === t.indexOf(\"chrome\");\n }(uo),\n isAndroid: function (t) {\n return t.indexOf(\"android\") > -1;\n }(uo),\n isBlink: function (t) {\n return t.indexOf(\"chrome/\") > -1 && t.indexOf(\"edge/\") < 0;\n }(uo),\n features: {\n isRegExpUnicodePropertySupported: function () {\n var t = !1;\n\n try {\n t = 0 === \"ć\".search(new RegExp(\"[\\\\p{L}]\", \"u\"));\n } catch (t) {}\n\n return t;\n }()\n }\n };\n\n var fo = {\n \"⌘\": \"ctrl\",\n \"⇧\": \"shift\",\n \"⌥\": \"alt\"\n },\n mo = {\n ctrl: \"⌘\",\n shift: \"⇧\",\n alt: \"⌥\"\n },\n go = function () {\n var t = {\n arrowleft: 37,\n arrowup: 38,\n arrowright: 39,\n arrowdown: 40,\n backspace: 8,\n \"delete\": 46,\n enter: 13,\n space: 32,\n esc: 27,\n tab: 9,\n ctrl: 1114112,\n cmd: 1114112,\n shift: 2228224,\n alt: 4456448\n };\n\n for (var _e39 = 65; _e39 <= 90; _e39++) {\n var _n29 = String.fromCharCode(_e39);\n\n t[_n29.toLowerCase()] = _e39;\n }\n\n for (var _e40 = 48; _e40 <= 57; _e40++) {\n t[_e40 - 48] = _e40;\n }\n\n for (var _e41 = 112; _e41 <= 123; _e41++) {\n t[\"f\" + (_e41 - 111)] = _e41;\n }\n\n return t;\n }();\n\n function po(t) {\n var e;\n\n if (\"string\" == typeof t) {\n if (e = go[t.toLowerCase()], !e) throw new hn.a(\"keyboard-unknown-key\", null, {\n key: t\n });\n } else e = t.keyCode + (t.altKey ? go.alt : 0) + (t.ctrlKey ? go.ctrl : 0) + (t.shiftKey ? go.shift : 0);\n\n return e;\n }\n\n function bo(t) {\n return \"string\" == typeof t && (t = yo(t)), t.map(function (t) {\n return \"string\" == typeof t ? po(t) : t;\n }).reduce(function (t, e) {\n return e + t;\n }, 0);\n }\n\n function wo(t) {\n return ho.isMac ? yo(t).map(function (t) {\n return mo[t.toLowerCase()] || t;\n }).reduce(function (t, e) {\n return t.slice(-1) in fo ? t + e : t + \"+\" + e;\n }) : t;\n }\n\n function ko(t) {\n return t == go.arrowright || t == go.arrowleft || t == go.arrowup || t == go.arrowdown;\n }\n\n function _o(t, e) {\n var n = \"ltr\" === e;\n\n switch (t) {\n case go.arrowleft:\n return n ? \"left\" : \"right\";\n\n case go.arrowright:\n return n ? \"right\" : \"left\";\n\n case go.arrowup:\n return \"up\";\n\n case go.arrowdown:\n return \"down\";\n }\n }\n\n function vo(t, e) {\n var n = _o(t, e);\n\n return \"down\" === n || \"right\" === n;\n }\n\n function yo(t) {\n return t.split(/\\s*\\+\\s*/);\n }\n\n var xo = /*#__PURE__*/function (_Oi4) {\n _inherits(xo, _Oi4);\n\n var _super9 = _createSuper(xo);\n\n function xo(t, e, n, i) {\n var _this24;\n\n _classCallCheck(this, xo);\n\n _this24 = _super9.call(this, t, e, n, i), _this24.getFillerOffset = Co;\n return _this24;\n }\n\n _createClass(xo, [{\n key: \"is\",\n value: function is(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return e ? e === this.name && (\"uiElement\" === t || \"view:uiElement\" === t || \"element\" === t || \"view:element\" === t) : \"uiElement\" === t || \"view:uiElement\" === t || \"element\" === t || \"view:element\" === t || \"node\" === t || \"view:node\" === t;\n }\n }, {\n key: \"_insertChild\",\n value: function _insertChild(t, e) {\n if (e && (e instanceof On || Array.from(e).length > 0)) throw new hn.a(\"view-uielement-cannot-add\", this);\n }\n }, {\n key: \"render\",\n value: function render(t) {\n return this.toDomElement(t);\n }\n }, {\n key: \"toDomElement\",\n value: function toDomElement(t) {\n var e = t.createElement(this.name);\n\n var _iterator43 = _createForOfIteratorHelper(this.getAttributeKeys()),\n _step43;\n\n try {\n for (_iterator43.s(); !(_step43 = _iterator43.n()).done;) {\n var _t33 = _step43.value;\n e.setAttribute(_t33, this.getAttribute(_t33));\n }\n } catch (err) {\n _iterator43.e(err);\n } finally {\n _iterator43.f();\n }\n\n return e;\n }\n }]);\n\n return xo;\n }(Oi);\n\n function Ao(t) {\n t.document.on(\"keydown\", function (e, n) {\n return function (t, e, n) {\n if (e.keyCode == go.arrowright) {\n var _t34 = e.domTarget.ownerDocument.defaultView.getSelection(),\n _i27 = 1 == _t34.rangeCount && _t34.getRangeAt(0).collapsed;\n\n if (_i27 || e.shiftKey) {\n var _e42 = _t34.focusNode,\n _o15 = _t34.focusOffset,\n _r5 = n.domPositionToView(_e42, _o15);\n\n if (null === _r5) return;\n\n var _s3 = !1;\n\n var _a3 = _r5.getLastMatchingPosition(function (t) {\n return t.item.is(\"uiElement\") && (_s3 = !0), !(!t.item.is(\"uiElement\") && !t.item.is(\"attributeElement\"));\n });\n\n if (_s3) {\n var _e43 = n.viewPositionToDom(_a3);\n\n _i27 ? _t34.collapse(_e43.parent, _e43.offset) : _t34.extend(_e43.parent, _e43.offset);\n }\n }\n }\n }(0, n, t.domConverter);\n });\n }\n\n function Co() {\n return null;\n }\n\n var To = /*#__PURE__*/function (_Oi5) {\n _inherits(To, _Oi5);\n\n var _super10 = _createSuper(To);\n\n function To(t, e, n, i) {\n var _this25;\n\n _classCallCheck(this, To);\n\n _this25 = _super10.call(this, t, e, n, i), _this25.getFillerOffset = Po;\n return _this25;\n }\n\n _createClass(To, [{\n key: \"is\",\n value: function is(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return e ? e === this.name && (\"rawElement\" === t || \"view:rawElement\" === t || \"element\" === t || \"view:element\" === t) : \"rawElement\" === t || \"view:rawElement\" === t || t === this.name || t === \"view:\" + this.name || \"element\" === t || \"view:element\" === t || \"node\" === t || \"view:node\" === t;\n }\n }, {\n key: \"_insertChild\",\n value: function _insertChild(t, e) {\n if (e && (e instanceof On || Array.from(e).length > 0)) throw new hn.a(\"view-rawelement-cannot-add\", [this, e]);\n }\n }]);\n\n return To;\n }(Oi);\n\n function Po() {\n return null;\n }\n\n var So = /*#__PURE__*/function () {\n function So(t, e) {\n _classCallCheck(this, So);\n\n this.document = t, this._children = [], e && this._insertChild(0, e);\n }\n\n _createClass(So, [{\n key: Symbol.iterator,\n value: function value() {\n return this._children[Symbol.iterator]();\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"documentFragment\" === t || \"view:documentFragment\" === t;\n }\n }, {\n key: \"_appendChild\",\n value: function _appendChild(t) {\n return this._insertChild(this.childCount, t);\n }\n }, {\n key: \"getChild\",\n value: function getChild(t) {\n return this._children[t];\n }\n }, {\n key: \"getChildIndex\",\n value: function getChildIndex(t) {\n return this._children.indexOf(t);\n }\n }, {\n key: \"getChildren\",\n value: function getChildren() {\n return this._children[Symbol.iterator]();\n }\n }, {\n key: \"_insertChild\",\n value: function _insertChild(t, e) {\n this._fireChange(\"children\", this);\n\n var n = 0;\n\n var i = function (t, e) {\n if (\"string\" == typeof e) return [new Rn(t, e)];\n yn(e) || (e = [e]);\n return Array.from(e).map(function (e) {\n return \"string\" == typeof e ? new Rn(t, e) : e instanceof Dn ? new Rn(t, e.data) : e;\n });\n }(this.document, e);\n\n var _iterator44 = _createForOfIteratorHelper(i),\n _step44;\n\n try {\n for (_iterator44.s(); !(_step44 = _iterator44.n()).done;) {\n var _e44 = _step44.value;\n null !== _e44.parent && _e44._remove(), _e44.parent = this, this._children.splice(t, 0, _e44), t++, n++;\n }\n } catch (err) {\n _iterator44.e(err);\n } finally {\n _iterator44.f();\n }\n\n return n;\n }\n }, {\n key: \"_removeChildren\",\n value: function _removeChildren(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n\n this._fireChange(\"children\", this);\n\n for (var _n30 = t; _n30 < t + e; _n30++) {\n this._children[_n30].parent = null;\n }\n\n return this._children.splice(t, e);\n }\n }, {\n key: \"_fireChange\",\n value: function _fireChange(t, e) {\n this.fire(\"change:\" + t, e);\n }\n }, {\n key: \"childCount\",\n get: function get() {\n return this._children.length;\n }\n }, {\n key: \"isEmpty\",\n get: function get() {\n return 0 === this.childCount;\n }\n }, {\n key: \"root\",\n get: function get() {\n return this;\n }\n }, {\n key: \"parent\",\n get: function get() {\n return null;\n }\n }]);\n\n return So;\n }();\n\n xn(So, gn);\n\n var Eo = /*#__PURE__*/function () {\n function Eo(t) {\n _classCallCheck(this, Eo);\n\n this.document = t, this._cloneGroups = new Map();\n }\n\n _createClass(Eo, [{\n key: \"setSelection\",\n value: function setSelection(t, e, n) {\n this.document.selection._setTo(t, e, n);\n }\n }, {\n key: \"setSelectionFocus\",\n value: function setSelectionFocus(t, e) {\n this.document.selection._setFocus(t, e);\n }\n }, {\n key: \"createText\",\n value: function createText(t) {\n return new Rn(this.document, t);\n }\n }, {\n key: \"createAttributeElement\",\n value: function createAttributeElement(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i = new ro(this.document, t, e);\n return n.priority && (i._priority = n.priority), n.id && (i._id = n.id), i;\n }\n }, {\n key: \"createContainerElement\",\n value: function createContainerElement(t, e) {\n return new Di(this.document, t, e);\n }\n }, {\n key: \"createEditableElement\",\n value: function createEditableElement(t, e) {\n var n = new Gi(this.document, t, e);\n return n._document = this.document, n;\n }\n }, {\n key: \"createEmptyElement\",\n value: function createEmptyElement(t, e) {\n return new co(this.document, t, e);\n }\n }, {\n key: \"createUIElement\",\n value: function createUIElement(t, e, n) {\n var i = new xo(this.document, t, e);\n return n && (i.render = n), i;\n }\n }, {\n key: \"createRawElement\",\n value: function createRawElement(t, e, n) {\n var i = new To(this.document, t, e);\n return i.render = n || function () {}, i;\n }\n }, {\n key: \"setAttribute\",\n value: function setAttribute(t, e, n) {\n n._setAttribute(t, e);\n }\n }, {\n key: \"removeAttribute\",\n value: function removeAttribute(t, e) {\n e._removeAttribute(t);\n }\n }, {\n key: \"addClass\",\n value: function addClass(t, e) {\n e._addClass(t);\n }\n }, {\n key: \"removeClass\",\n value: function removeClass(t, e) {\n e._removeClass(t);\n }\n }, {\n key: \"setStyle\",\n value: function setStyle(t, e, n) {\n y(t) && void 0 === n && (n = e), n._setStyle(t, e);\n }\n }, {\n key: \"removeStyle\",\n value: function removeStyle(t, e) {\n e._removeStyle(t);\n }\n }, {\n key: \"setCustomProperty\",\n value: function setCustomProperty(t, e, n) {\n n._setCustomProperty(t, e);\n }\n }, {\n key: \"removeCustomProperty\",\n value: function removeCustomProperty(t, e) {\n return e._removeCustomProperty(t);\n }\n }, {\n key: \"breakAttributes\",\n value: function breakAttributes(t) {\n return t instanceof Zi ? this._breakAttributes(t) : this._breakAttributesRange(t);\n }\n }, {\n key: \"breakContainer\",\n value: function breakContainer(t) {\n var e = t.parent;\n if (!e.is(\"containerElement\")) throw new hn.a(\"view-writer-break-non-container-element\", this.document);\n if (!e.parent) throw new hn.a(\"view-writer-break-root\", this.document);\n if (t.isAtStart) return Zi._createBefore(e);\n\n if (!t.isAtEnd) {\n var _n31 = e._clone(!1);\n\n this.insert(Zi._createAfter(e), _n31);\n\n var _i28 = new Xi(t, Zi._createAt(e, \"end\")),\n _o16 = new Zi(_n31, 0);\n\n this.move(_i28, _o16);\n }\n\n return Zi._createAfter(e);\n }\n }, {\n key: \"mergeAttributes\",\n value: function mergeAttributes(t) {\n var e = t.offset,\n n = t.parent;\n if (n.is(\"$text\")) return t;\n\n if (n.is(\"attributeElement\") && 0 === n.childCount) {\n var _t35 = n.parent,\n _e45 = n.index;\n return n._remove(), this._removeFromClonedElementsGroup(n), this.mergeAttributes(new Zi(_t35, _e45));\n }\n\n var i = n.getChild(e - 1),\n o = n.getChild(e);\n if (!i || !o) return t;\n if (i.is(\"$text\") && o.is(\"$text\")) return Ro(i, o);\n\n if (i.is(\"attributeElement\") && o.is(\"attributeElement\") && i.isSimilar(o)) {\n var _t36 = i.childCount;\n return i._appendChild(o.getChildren()), o._remove(), this._removeFromClonedElementsGroup(o), this.mergeAttributes(new Zi(i, _t36));\n }\n\n return t;\n }\n }, {\n key: \"mergeContainers\",\n value: function mergeContainers(t) {\n var e = t.nodeBefore,\n n = t.nodeAfter;\n if (!(e && n && e.is(\"containerElement\") && n.is(\"containerElement\"))) throw new hn.a(\"view-writer-merge-containers-invalid-position\", this.document);\n var i = e.getChild(e.childCount - 1),\n o = i instanceof Rn ? Zi._createAt(i, \"end\") : Zi._createAt(e, \"end\");\n return this.move(Xi._createIn(n), Zi._createAt(e, \"end\")), this.remove(Xi._createOn(n)), o;\n }\n }, {\n key: \"insert\",\n value: function insert(t, e) {\n (function t(e, n) {\n var _iterator45 = _createForOfIteratorHelper(e),\n _step45;\n\n try {\n var _loop = function _loop() {\n var i = _step45.value;\n if (!Do.some(function (t) {\n return i instanceof t;\n })) throw new hn.a(\"view-writer-insert-invalid-node-type\", n);\n i.is(\"$text\") || t(i.getChildren(), n);\n };\n\n for (_iterator45.s(); !(_step45 = _iterator45.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator45.e(err);\n } finally {\n _iterator45.f();\n }\n })(e = yn(e) ? _toConsumableArray(e) : [e], this.document);\n\n var n = Mo(t);\n if (!n) throw new hn.a(\"view-writer-invalid-position-container\", this.document);\n\n var i = this._breakAttributes(t, !0),\n o = n._insertChild(i.offset, e);\n\n var _iterator46 = _createForOfIteratorHelper(e),\n _step46;\n\n try {\n for (_iterator46.s(); !(_step46 = _iterator46.n()).done;) {\n var _t38 = _step46.value;\n\n this._addToClonedElementsGroup(_t38);\n }\n } catch (err) {\n _iterator46.e(err);\n } finally {\n _iterator46.f();\n }\n\n var r = i.getShiftedBy(o),\n s = this.mergeAttributes(i);\n if (0 === o) return new Xi(s, s);\n {\n s.isEqual(i) || r.offset--;\n\n var _t37 = this.mergeAttributes(r);\n\n return new Xi(s, _t37);\n }\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n var e = t instanceof Xi ? t : Xi._createOn(t);\n if (Vo(e, this.document), e.isCollapsed) return new So(this.document);\n\n var _this$_breakAttribute = this._breakAttributesRange(e, !0),\n n = _this$_breakAttribute.start,\n i = _this$_breakAttribute.end,\n o = n.parent,\n r = i.offset - n.offset,\n s = o._removeChildren(n.offset, r);\n\n var _iterator47 = _createForOfIteratorHelper(s),\n _step47;\n\n try {\n for (_iterator47.s(); !(_step47 = _iterator47.n()).done;) {\n var _t39 = _step47.value;\n\n this._removeFromClonedElementsGroup(_t39);\n }\n } catch (err) {\n _iterator47.e(err);\n } finally {\n _iterator47.f();\n }\n\n var a = this.mergeAttributes(n);\n return e.start = a, e.end = a.clone(), new So(this.document, s);\n }\n }, {\n key: \"clear\",\n value: function clear(t, e) {\n Vo(t, this.document);\n var n = t.getWalker({\n direction: \"backward\",\n ignoreElementEnd: !0\n });\n\n var _iterator48 = _createForOfIteratorHelper(n),\n _step48;\n\n try {\n for (_iterator48.s(); !(_step48 = _iterator48.n()).done;) {\n var _i29 = _step48.value;\n var _n32 = _i29.item;\n\n var _o17 = void 0;\n\n if (_n32.is(\"element\") && e.isSimilar(_n32)) _o17 = Xi._createOn(_n32);else if (!_i29.nextPosition.isAfter(t.start) && _n32.is(\"$textProxy\")) {\n var _t40 = _n32.getAncestors().find(function (t) {\n return t.is(\"element\") && e.isSimilar(t);\n });\n\n _t40 && (_o17 = Xi._createIn(_t40));\n }\n _o17 && (_o17.end.isAfter(t.end) && (_o17.end = t.end), _o17.start.isBefore(t.start) && (_o17.start = t.start), this.remove(_o17));\n }\n } catch (err) {\n _iterator48.e(err);\n } finally {\n _iterator48.f();\n }\n }\n }, {\n key: \"move\",\n value: function move(t, e) {\n var n;\n\n if (e.isAfter(t.end)) {\n var _i30 = (e = this._breakAttributes(e, !0)).parent,\n _o18 = _i30.childCount;\n\n t = this._breakAttributesRange(t, !0), n = this.remove(t), e.offset += _i30.childCount - _o18;\n } else n = this.remove(t);\n\n return this.insert(e, n);\n }\n }, {\n key: \"wrap\",\n value: function wrap(t, e) {\n if (!(e instanceof ro)) throw new hn.a(\"view-writer-wrap-invalid-attribute\", this.document);\n\n if (Vo(t, this.document), t.isCollapsed) {\n var _i31 = t.start;\n _i31.parent.is(\"element\") && (n = _i31.parent, !Array.from(n.getChildren()).some(function (t) {\n return !t.is(\"uiElement\");\n })) && (_i31 = _i31.getLastMatchingPosition(function (t) {\n return t.item.is(\"uiElement\");\n })), _i31 = this._wrapPosition(_i31, e);\n var _o19 = this.document.selection;\n return _o19.isCollapsed && _o19.getFirstPosition().isEqual(t.start) && this.setSelection(_i31), new Xi(_i31);\n }\n\n return this._wrapRange(t, e);\n var n;\n }\n }, {\n key: \"unwrap\",\n value: function unwrap(t, e) {\n if (!(e instanceof ro)) throw new hn.a(\"view-writer-unwrap-invalid-attribute\", this.document);\n if (Vo(t, this.document), t.isCollapsed) return t;\n\n var _this$_breakAttribute2 = this._breakAttributesRange(t, !0),\n n = _this$_breakAttribute2.start,\n i = _this$_breakAttribute2.end,\n o = n.parent,\n r = this._unwrapChildren(o, n.offset, i.offset, e),\n s = this.mergeAttributes(r.start);\n\n s.isEqual(r.start) || r.end.offset--;\n var a = this.mergeAttributes(r.end);\n return new Xi(s, a);\n }\n }, {\n key: \"rename\",\n value: function rename(t, e) {\n var n = new Di(this.document, t, e.getAttributes());\n return this.insert(Zi._createAfter(e), n), this.move(Xi._createIn(e), Zi._createAt(n, 0)), this.remove(Xi._createOn(e)), n;\n }\n }, {\n key: \"clearClonedElementsGroup\",\n value: function clearClonedElementsGroup(t) {\n this._cloneGroups[\"delete\"](t);\n }\n }, {\n key: \"createPositionAt\",\n value: function createPositionAt(t, e) {\n return Zi._createAt(t, e);\n }\n }, {\n key: \"createPositionAfter\",\n value: function createPositionAfter(t) {\n return Zi._createAfter(t);\n }\n }, {\n key: \"createPositionBefore\",\n value: function createPositionBefore(t) {\n return Zi._createBefore(t);\n }\n }, {\n key: \"createRange\",\n value: function createRange(t, e) {\n return new Xi(t, e);\n }\n }, {\n key: \"createRangeOn\",\n value: function createRangeOn(t) {\n return Xi._createOn(t);\n }\n }, {\n key: \"createRangeIn\",\n value: function createRangeIn(t) {\n return Xi._createIn(t);\n }\n }, {\n key: \"createSelection\",\n value: function createSelection(t, e, n) {\n return new no(t, e, n);\n }\n }, {\n key: \"_wrapChildren\",\n value: function _wrapChildren(t, e, n, i) {\n var o = e;\n var r = [];\n\n for (; o < n;) {\n var _e46 = t.getChild(o),\n _n33 = _e46.is(\"$text\"),\n _s4 = _e46.is(\"attributeElement\"),\n _a4 = _e46.is(\"emptyElement\"),\n _c2 = _e46.is(\"uiElement\"),\n _l2 = _e46.is(\"rawElement\");\n\n if (_s4 && this._wrapAttributeElement(i, _e46)) r.push(new Zi(t, o));else if (_n33 || _a4 || _c2 || _l2 || _s4 && Io(i, _e46)) {\n var _n34 = i._clone();\n\n _e46._remove(), _n34._appendChild(_e46), t._insertChild(o, _n34), this._addToClonedElementsGroup(_n34), r.push(new Zi(t, o));\n } else _s4 && this._wrapChildren(_e46, 0, _e46.childCount, i);\n o++;\n }\n\n var s = 0;\n\n for (var _i32 = 0, _r6 = r; _i32 < _r6.length; _i32++) {\n var _t41 = _r6[_i32];\n if (_t41.offset -= s, _t41.offset == e) continue;\n this.mergeAttributes(_t41).isEqual(_t41) || (s++, n--);\n }\n\n return Xi._createFromParentsAndOffsets(t, e, t, n);\n }\n }, {\n key: \"_unwrapChildren\",\n value: function _unwrapChildren(t, e, n, i) {\n var o = e;\n var r = [];\n\n for (; o < n;) {\n var _e47 = t.getChild(o);\n\n if (_e47.is(\"attributeElement\")) {\n if (_e47.isSimilar(i)) {\n var _i33 = _e47.getChildren(),\n _s5 = _e47.childCount;\n\n _e47._remove(), t._insertChild(o, _i33), this._removeFromClonedElementsGroup(_e47), r.push(new Zi(t, o), new Zi(t, o + _s5)), o += _s5, n += _s5 - 1;\n } else this._unwrapAttributeElement(i, _e47) ? (r.push(new Zi(t, o), new Zi(t, o + 1)), o++) : (this._unwrapChildren(_e47, 0, _e47.childCount, i), o++);\n } else o++;\n }\n\n var s = 0;\n\n for (var _i34 = 0, _r7 = r; _i34 < _r7.length; _i34++) {\n var _t42 = _r7[_i34];\n if (_t42.offset -= s, _t42.offset == e || _t42.offset == n) continue;\n this.mergeAttributes(_t42).isEqual(_t42) || (s++, n--);\n }\n\n return Xi._createFromParentsAndOffsets(t, e, t, n);\n }\n }, {\n key: \"_wrapRange\",\n value: function _wrapRange(t, e) {\n var _this$_breakAttribute3 = this._breakAttributesRange(t, !0),\n n = _this$_breakAttribute3.start,\n i = _this$_breakAttribute3.end,\n o = n.parent,\n r = this._wrapChildren(o, n.offset, i.offset, e),\n s = this.mergeAttributes(r.start);\n\n s.isEqual(r.start) || r.end.offset--;\n var a = this.mergeAttributes(r.end);\n return new Xi(s, a);\n }\n }, {\n key: \"_wrapPosition\",\n value: function _wrapPosition(t, e) {\n if (e.isSimilar(t.parent)) return No(t.clone());\n t.parent.is(\"$text\") && (t = Oo(t));\n var n = this.createAttributeElement();\n n._priority = Number.POSITIVE_INFINITY, n.isSimilar = function () {\n return !1;\n }, t.parent._insertChild(t.offset, n);\n var i = new Xi(t, t.getShiftedBy(1));\n this.wrap(i, e);\n var o = new Zi(n.parent, n.index);\n\n n._remove();\n\n var r = o.nodeBefore,\n s = o.nodeAfter;\n return r instanceof Rn && s instanceof Rn ? Ro(r, s) : No(o);\n }\n }, {\n key: \"_wrapAttributeElement\",\n value: function _wrapAttributeElement(t, e) {\n if (!jo(t, e)) return !1;\n if (t.name !== e.name || t.priority !== e.priority) return !1;\n\n var _iterator49 = _createForOfIteratorHelper(t.getAttributeKeys()),\n _step49;\n\n try {\n for (_iterator49.s(); !(_step49 = _iterator49.n()).done;) {\n var _n35 = _step49.value;\n if (\"class\" !== _n35 && \"style\" !== _n35 && e.hasAttribute(_n35) && e.getAttribute(_n35) !== t.getAttribute(_n35)) return !1;\n }\n } catch (err) {\n _iterator49.e(err);\n } finally {\n _iterator49.f();\n }\n\n var _iterator50 = _createForOfIteratorHelper(t.getStyleNames()),\n _step50;\n\n try {\n for (_iterator50.s(); !(_step50 = _iterator50.n()).done;) {\n var _n36 = _step50.value;\n if (e.hasStyle(_n36) && e.getStyle(_n36) !== t.getStyle(_n36)) return !1;\n }\n } catch (err) {\n _iterator50.e(err);\n } finally {\n _iterator50.f();\n }\n\n var _iterator51 = _createForOfIteratorHelper(t.getAttributeKeys()),\n _step51;\n\n try {\n for (_iterator51.s(); !(_step51 = _iterator51.n()).done;) {\n var _n37 = _step51.value;\n \"class\" !== _n37 && \"style\" !== _n37 && (e.hasAttribute(_n37) || this.setAttribute(_n37, t.getAttribute(_n37), e));\n }\n } catch (err) {\n _iterator51.e(err);\n } finally {\n _iterator51.f();\n }\n\n var _iterator52 = _createForOfIteratorHelper(t.getStyleNames()),\n _step52;\n\n try {\n for (_iterator52.s(); !(_step52 = _iterator52.n()).done;) {\n var _n38 = _step52.value;\n e.hasStyle(_n38) || this.setStyle(_n38, t.getStyle(_n38), e);\n }\n } catch (err) {\n _iterator52.e(err);\n } finally {\n _iterator52.f();\n }\n\n var _iterator53 = _createForOfIteratorHelper(t.getClassNames()),\n _step53;\n\n try {\n for (_iterator53.s(); !(_step53 = _iterator53.n()).done;) {\n var _n39 = _step53.value;\n e.hasClass(_n39) || this.addClass(_n39, e);\n }\n } catch (err) {\n _iterator53.e(err);\n } finally {\n _iterator53.f();\n }\n\n return !0;\n }\n }, {\n key: \"_unwrapAttributeElement\",\n value: function _unwrapAttributeElement(t, e) {\n if (!jo(t, e)) return !1;\n if (t.name !== e.name || t.priority !== e.priority) return !1;\n\n var _iterator54 = _createForOfIteratorHelper(t.getAttributeKeys()),\n _step54;\n\n try {\n for (_iterator54.s(); !(_step54 = _iterator54.n()).done;) {\n var _n40 = _step54.value;\n if (\"class\" !== _n40 && \"style\" !== _n40 && (!e.hasAttribute(_n40) || e.getAttribute(_n40) !== t.getAttribute(_n40))) return !1;\n }\n } catch (err) {\n _iterator54.e(err);\n } finally {\n _iterator54.f();\n }\n\n if (!e.hasClass.apply(e, _toConsumableArray(t.getClassNames()))) return !1;\n\n var _iterator55 = _createForOfIteratorHelper(t.getStyleNames()),\n _step55;\n\n try {\n for (_iterator55.s(); !(_step55 = _iterator55.n()).done;) {\n var _n41 = _step55.value;\n if (!e.hasStyle(_n41) || e.getStyle(_n41) !== t.getStyle(_n41)) return !1;\n }\n } catch (err) {\n _iterator55.e(err);\n } finally {\n _iterator55.f();\n }\n\n var _iterator56 = _createForOfIteratorHelper(t.getAttributeKeys()),\n _step56;\n\n try {\n for (_iterator56.s(); !(_step56 = _iterator56.n()).done;) {\n var _n42 = _step56.value;\n \"class\" !== _n42 && \"style\" !== _n42 && this.removeAttribute(_n42, e);\n }\n } catch (err) {\n _iterator56.e(err);\n } finally {\n _iterator56.f();\n }\n\n return this.removeClass(Array.from(t.getClassNames()), e), this.removeStyle(Array.from(t.getStyleNames()), e), !0;\n }\n }, {\n key: \"_breakAttributesRange\",\n value: function _breakAttributesRange(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var n = t.start,\n i = t.end;\n\n if (Vo(t, this.document), t.isCollapsed) {\n var _n43 = this._breakAttributes(t.start, e);\n\n return new Xi(_n43, _n43);\n }\n\n var o = this._breakAttributes(i, e),\n r = o.parent.childCount,\n s = this._breakAttributes(n, e);\n\n return o.offset += o.parent.childCount - r, new Xi(s, o);\n }\n }, {\n key: \"_breakAttributes\",\n value: function _breakAttributes(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var n = t.offset,\n i = t.parent;\n if (t.parent.is(\"emptyElement\")) throw new hn.a(\"view-writer-cannot-break-empty-element\", this.document);\n if (t.parent.is(\"uiElement\")) throw new hn.a(\"view-writer-cannot-break-ui-element\", this.document);\n if (t.parent.is(\"rawElement\")) throw new hn.a(\"view-writer-cannot-break-raw-element\", this.document);\n if (!e && i.is(\"$text\") && Lo(i.parent)) return t.clone();\n if (Lo(i)) return t.clone();\n if (i.is(\"$text\")) return this._breakAttributes(Oo(t), e);\n\n if (n == i.childCount) {\n var _t43 = new Zi(i.parent, i.index + 1);\n\n return this._breakAttributes(_t43, e);\n }\n\n if (0 === n) {\n var _t44 = new Zi(i.parent, i.index);\n\n return this._breakAttributes(_t44, e);\n }\n\n {\n var _t45 = i.index + 1,\n _o20 = i._clone();\n\n i.parent._insertChild(_t45, _o20), this._addToClonedElementsGroup(_o20);\n\n var _r8 = i.childCount - n,\n _s6 = i._removeChildren(n, _r8);\n\n _o20._appendChild(_s6);\n\n var _a5 = new Zi(i.parent, _t45);\n\n return this._breakAttributes(_a5, e);\n }\n }\n }, {\n key: \"_addToClonedElementsGroup\",\n value: function _addToClonedElementsGroup(t) {\n if (!t.root.is(\"rootElement\")) return;\n\n if (t.is(\"element\")) {\n var _iterator57 = _createForOfIteratorHelper(t.getChildren()),\n _step57;\n\n try {\n for (_iterator57.s(); !(_step57 = _iterator57.n()).done;) {\n var _e48 = _step57.value;\n\n this._addToClonedElementsGroup(_e48);\n }\n } catch (err) {\n _iterator57.e(err);\n } finally {\n _iterator57.f();\n }\n }\n\n var e = t.id;\n if (!e) return;\n\n var n = this._cloneGroups.get(e);\n\n n || (n = new Set(), this._cloneGroups.set(e, n)), n.add(t), t._clonesGroup = n;\n }\n }, {\n key: \"_removeFromClonedElementsGroup\",\n value: function _removeFromClonedElementsGroup(t) {\n if (t.is(\"element\")) {\n var _iterator58 = _createForOfIteratorHelper(t.getChildren()),\n _step58;\n\n try {\n for (_iterator58.s(); !(_step58 = _iterator58.n()).done;) {\n var _e49 = _step58.value;\n\n this._removeFromClonedElementsGroup(_e49);\n }\n } catch (err) {\n _iterator58.e(err);\n } finally {\n _iterator58.f();\n }\n }\n\n var e = t.id;\n if (!e) return;\n\n var n = this._cloneGroups.get(e);\n\n n && n[\"delete\"](t);\n }\n }]);\n\n return Eo;\n }();\n\n function Mo(t) {\n var e = t.parent;\n\n for (; !Lo(e);) {\n if (!e) return;\n e = e.parent;\n }\n\n return e;\n }\n\n function Io(t, e) {\n return t.priority < e.priority || !(t.priority > e.priority) && t.getIdentity() < e.getIdentity();\n }\n\n function No(t) {\n var e = t.nodeBefore;\n if (e && e.is(\"$text\")) return new Zi(e, e.data.length);\n var n = t.nodeAfter;\n return n && n.is(\"$text\") ? new Zi(n, 0) : t;\n }\n\n function Oo(t) {\n if (t.offset == t.parent.data.length) return new Zi(t.parent.parent, t.parent.index + 1);\n if (0 === t.offset) return new Zi(t.parent.parent, t.parent.index);\n var e = t.parent.data.slice(t.offset);\n return t.parent._data = t.parent.data.slice(0, t.offset), t.parent.parent._insertChild(t.parent.index + 1, new Rn(t.root.document, e)), new Zi(t.parent.parent, t.parent.index + 1);\n }\n\n function Ro(t, e) {\n var n = t.data.length;\n return t._data += e.data, e._remove(), new Zi(t, n);\n }\n\n var Do = [Rn, ro, Di, co, To, xo];\n\n function Lo(t) {\n return t && (t.is(\"containerElement\") || t.is(\"documentFragment\"));\n }\n\n function Vo(t, e) {\n var n = Mo(t.start),\n i = Mo(t.end);\n if (!n || !i || n !== i) throw new hn.a(\"view-writer-invalid-range-container\", e);\n }\n\n function jo(t, e) {\n return null === t.id && null === e.id;\n }\n\n function zo(t) {\n return \"[object Text]\" == Object.prototype.toString.call(t);\n }\n\n var Bo = function Bo(t) {\n return t.createTextNode(\" \");\n },\n Fo = function Fo(t) {\n var e = t.createElement(\"br\");\n return e.dataset.ckeFiller = !0, e;\n },\n Uo = function () {\n var t = \"\";\n\n for (var _e50 = 0; _e50 < 7; _e50++) {\n t += \"​\";\n }\n\n return t;\n }();\n\n function Ho(t) {\n return zo(t) && t.data.substr(0, 7) === Uo;\n }\n\n function Wo(t) {\n return 7 == t.data.length && Ho(t);\n }\n\n function qo(t) {\n return Ho(t) ? t.data.slice(7) : t.data;\n }\n\n function $o(t, e) {\n if (e.keyCode == go.arrowleft) {\n var _t46 = e.domTarget.ownerDocument.defaultView.getSelection();\n\n if (1 == _t46.rangeCount && _t46.getRangeAt(0).collapsed) {\n var _e51 = _t46.getRangeAt(0).startContainer,\n _n44 = _t46.getRangeAt(0).startOffset;\n\n Ho(_e51) && _n44 <= 7 && _t46.collapse(_e51, 0);\n }\n }\n }\n\n function Yo(t, e, n) {\n var i = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n n = n || function (t, e) {\n return t === e;\n }, Array.isArray(t) || (t = Array.prototype.slice.call(t)), Array.isArray(e) || (e = Array.prototype.slice.call(e));\n\n var o = function (t, e, n) {\n var i = Go(t, e, n);\n if (-1 === i) return {\n firstIndex: -1,\n lastIndexOld: -1,\n lastIndexNew: -1\n };\n var o = Ko(t, i),\n r = Ko(e, i),\n s = Go(o, r, n),\n a = t.length - s,\n c = e.length - s;\n return {\n firstIndex: i,\n lastIndexOld: a,\n lastIndexNew: c\n };\n }(t, e, n);\n\n return i ? function (t, e) {\n var n = t.firstIndex,\n i = t.lastIndexOld,\n o = t.lastIndexNew;\n if (-1 === n) return Array(e).fill(\"equal\");\n var r = [];\n n > 0 && (r = r.concat(Array(n).fill(\"equal\")));\n o - n > 0 && (r = r.concat(Array(o - n).fill(\"insert\")));\n i - n > 0 && (r = r.concat(Array(i - n).fill(\"delete\")));\n o < e && (r = r.concat(Array(e - o).fill(\"equal\")));\n return r;\n }(o, e.length) : function (t, e) {\n var n = [],\n i = e.firstIndex,\n o = e.lastIndexOld,\n r = e.lastIndexNew;\n r - i > 0 && n.push({\n index: i,\n type: \"insert\",\n values: t.slice(i, r)\n });\n o - i > 0 && n.push({\n index: i + (r - i),\n type: \"delete\",\n howMany: o - i\n });\n return n;\n }(e, o);\n }\n\n function Go(t, e, n) {\n for (var _i35 = 0; _i35 < Math.max(t.length, e.length); _i35++) {\n if (void 0 === t[_i35] || void 0 === e[_i35] || !n(t[_i35], e[_i35])) return _i35;\n }\n\n return -1;\n }\n\n function Ko(t, e) {\n return t.slice(e).reverse();\n }\n\n function Qo(t, e, n) {\n n = n || function (t, e) {\n return t === e;\n };\n\n var i = t.length,\n o = e.length;\n if (i > 200 || o > 200 || i + o > 300) return Qo.fastDiff(t, e, n, !0);\n var r, s;\n\n if (o < i) {\n var _n45 = t;\n t = e, e = _n45, r = \"delete\", s = \"insert\";\n } else r = \"insert\", s = \"delete\";\n\n var a = t.length,\n c = e.length,\n l = c - a,\n d = {},\n u = {};\n\n function h(i) {\n var o = (void 0 !== u[i - 1] ? u[i - 1] : -1) + 1,\n l = void 0 !== u[i + 1] ? u[i + 1] : -1,\n h = o > l ? -1 : 1;\n d[i + h] && (d[i] = d[i + h].slice(0)), d[i] || (d[i] = []), d[i].push(o > l ? r : s);\n var f = Math.max(o, l),\n m = f - i;\n\n for (; m < a && f < c && n(t[m], e[f]);) {\n m++, f++, d[i].push(\"equal\");\n }\n\n return f;\n }\n\n var f,\n m = 0;\n\n do {\n for (f = -m; f < l; f++) {\n u[f] = h(f);\n }\n\n for (f = l + m; f > l; f--) {\n u[f] = h(f);\n }\n\n u[l] = h(l), m++;\n } while (u[l] !== c);\n\n return d[l].slice(1);\n }\n\n function Jo(t, e, n) {\n t.insertBefore(n, t.childNodes[e] || null);\n }\n\n function Zo(t) {\n var e = t.parentNode;\n e && e.removeChild(t);\n }\n\n function Xo(t) {\n if (t) {\n if (t.defaultView) return t instanceof t.defaultView.Document;\n if (t.ownerDocument && t.ownerDocument.defaultView) return t instanceof t.ownerDocument.defaultView.Node;\n }\n\n return !1;\n }\n\n Qo.fastDiff = Yo;\n\n var tr = /*#__PURE__*/function () {\n function tr(t, e) {\n _classCallCheck(this, tr);\n\n this.domDocuments = new Set(), this.domConverter = t, this.markedAttributes = new Set(), this.markedChildren = new Set(), this.markedTexts = new Set(), this.selection = e, this.isFocused = !1, this._inlineFiller = null, this._fakeSelectionContainer = null;\n }\n\n _createClass(tr, [{\n key: \"markToSync\",\n value: function markToSync(t, e) {\n if (\"text\" === t) this.domConverter.mapViewToDom(e.parent) && this.markedTexts.add(e);else {\n if (!this.domConverter.mapViewToDom(e)) return;\n if (\"attributes\" === t) this.markedAttributes.add(e);else {\n if (\"children\" !== t) throw new hn.a(\"view-renderer-unknown-type\", this);\n this.markedChildren.add(e);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var t;\n\n var _iterator59 = _createForOfIteratorHelper(this.markedChildren),\n _step59;\n\n try {\n for (_iterator59.s(); !(_step59 = _iterator59.n()).done;) {\n var _t47 = _step59.value;\n\n this._updateChildrenMappings(_t47);\n }\n } catch (err) {\n _iterator59.e(err);\n } finally {\n _iterator59.f();\n }\n\n this._inlineFiller && !this._isSelectionInInlineFiller() && this._removeInlineFiller(), this._inlineFiller ? t = this._getInlineFillerPosition() : this._needsInlineFillerAtSelection() && (t = this.selection.getFirstPosition(), this.markedChildren.add(t.parent));\n\n var _iterator60 = _createForOfIteratorHelper(this.markedAttributes),\n _step60;\n\n try {\n for (_iterator60.s(); !(_step60 = _iterator60.n()).done;) {\n var _t48 = _step60.value;\n\n this._updateAttrs(_t48);\n }\n } catch (err) {\n _iterator60.e(err);\n } finally {\n _iterator60.f();\n }\n\n var _iterator61 = _createForOfIteratorHelper(this.markedChildren),\n _step61;\n\n try {\n for (_iterator61.s(); !(_step61 = _iterator61.n()).done;) {\n var _e53 = _step61.value;\n\n this._updateChildren(_e53, {\n inlineFillerPosition: t\n });\n }\n } catch (err) {\n _iterator61.e(err);\n } finally {\n _iterator61.f();\n }\n\n var _iterator62 = _createForOfIteratorHelper(this.markedTexts),\n _step62;\n\n try {\n for (_iterator62.s(); !(_step62 = _iterator62.n()).done;) {\n var _e54 = _step62.value;\n !this.markedChildren.has(_e54.parent) && this.domConverter.mapViewToDom(_e54.parent) && this._updateText(_e54, {\n inlineFillerPosition: t\n });\n }\n } catch (err) {\n _iterator62.e(err);\n } finally {\n _iterator62.f();\n }\n\n if (t) {\n var _e52 = this.domConverter.viewPositionToDom(t),\n _n46 = _e52.parent.ownerDocument;\n\n Ho(_e52.parent) ? this._inlineFiller = _e52.parent : this._inlineFiller = er(_n46, _e52.parent, _e52.offset);\n } else this._inlineFiller = null;\n\n this._updateSelection(), this._updateFocus(), this.markedTexts.clear(), this.markedAttributes.clear(), this.markedChildren.clear();\n }\n }, {\n key: \"_updateChildrenMappings\",\n value: function _updateChildrenMappings(t) {\n var e = this.domConverter.mapViewToDom(t);\n if (!e) return;\n\n var n = this.domConverter.mapViewToDom(t).childNodes,\n i = Array.from(this.domConverter.viewChildrenToDom(t, e.ownerDocument, {\n withChildren: !1\n })),\n o = this._diffNodeLists(n, i),\n r = this._findReplaceActions(o, n, i);\n\n if (-1 !== r.indexOf(\"replace\")) {\n var _e55 = {\n equal: 0,\n insert: 0,\n \"delete\": 0\n };\n\n var _iterator63 = _createForOfIteratorHelper(r),\n _step63;\n\n try {\n for (_iterator63.s(); !(_step63 = _iterator63.n()).done;) {\n var _o21 = _step63.value;\n\n if (\"replace\" === _o21) {\n var _o22 = _e55.equal + _e55.insert,\n _r9 = _e55.equal + _e55[\"delete\"],\n _s7 = t.getChild(_o22);\n\n !_s7 || _s7.is(\"uiElement\") || _s7.is(\"rawElement\") || this._updateElementMappings(_s7, n[_r9]), Zo(i[_o22]), _e55.equal++;\n } else _e55[_o21]++;\n }\n } catch (err) {\n _iterator63.e(err);\n } finally {\n _iterator63.f();\n }\n }\n }\n }, {\n key: \"_updateElementMappings\",\n value: function _updateElementMappings(t, e) {\n this.domConverter.unbindDomElement(e), this.domConverter.bindElements(e, t), this.markedChildren.add(t), this.markedAttributes.add(t);\n }\n }, {\n key: \"_getInlineFillerPosition\",\n value: function _getInlineFillerPosition() {\n var t = this.selection.getFirstPosition();\n return t.parent.is(\"$text\") ? Zi._createBefore(this.selection.getFirstPosition().parent) : t;\n }\n }, {\n key: \"_isSelectionInInlineFiller\",\n value: function _isSelectionInInlineFiller() {\n if (1 != this.selection.rangeCount || !this.selection.isCollapsed) return !1;\n var t = this.selection.getFirstPosition(),\n e = this.domConverter.viewPositionToDom(t);\n return !!(e && zo(e.parent) && Ho(e.parent));\n }\n }, {\n key: \"_removeInlineFiller\",\n value: function _removeInlineFiller() {\n var t = this._inlineFiller;\n if (!Ho(t)) throw new hn.a(\"view-renderer-filler-was-lost\", this);\n Wo(t) ? t.parentNode.removeChild(t) : t.data = t.data.substr(7), this._inlineFiller = null;\n }\n }, {\n key: \"_needsInlineFillerAtSelection\",\n value: function _needsInlineFillerAtSelection() {\n if (1 != this.selection.rangeCount || !this.selection.isCollapsed) return !1;\n var t = this.selection.getFirstPosition(),\n e = t.parent,\n n = t.offset;\n if (!this.domConverter.mapViewToDom(e.root)) return !1;\n if (!e.is(\"element\")) return !1;\n if (!function (t) {\n if (\"false\" == t.getAttribute(\"contenteditable\")) return !1;\n var e = t.findAncestor(function (t) {\n return t.hasAttribute(\"contenteditable\");\n });\n return !e || \"true\" == e.getAttribute(\"contenteditable\");\n }(e)) return !1;\n if (n === e.getFillerOffset()) return !1;\n var i = t.nodeBefore,\n o = t.nodeAfter;\n return !(i instanceof Rn || o instanceof Rn);\n }\n }, {\n key: \"_updateText\",\n value: function _updateText(t, e) {\n var n = this.domConverter.findCorrespondingDomText(t),\n i = this.domConverter.viewToDom(t, n.ownerDocument),\n o = n.data;\n var r = i.data;\n var s = e.inlineFillerPosition;\n\n if (s && s.parent == t.parent && s.offset == t.index && (r = Uo + r), o != r) {\n var _t49 = Yo(o, r);\n\n var _iterator64 = _createForOfIteratorHelper(_t49),\n _step64;\n\n try {\n for (_iterator64.s(); !(_step64 = _iterator64.n()).done;) {\n var _e56 = _step64.value;\n \"insert\" === _e56.type ? n.insertData(_e56.index, _e56.values.join(\"\")) : n.deleteData(_e56.index, _e56.howMany);\n }\n } catch (err) {\n _iterator64.e(err);\n } finally {\n _iterator64.f();\n }\n }\n }\n }, {\n key: \"_updateAttrs\",\n value: function _updateAttrs(t) {\n var e = this.domConverter.mapViewToDom(t);\n if (!e) return;\n var n = Array.from(e.attributes).map(function (t) {\n return t.name;\n }),\n i = t.getAttributeKeys();\n\n var _iterator65 = _createForOfIteratorHelper(i),\n _step65;\n\n try {\n for (_iterator65.s(); !(_step65 = _iterator65.n()).done;) {\n var _n47 = _step65.value;\n e.setAttribute(_n47, t.getAttribute(_n47));\n }\n } catch (err) {\n _iterator65.e(err);\n } finally {\n _iterator65.f();\n }\n\n var _iterator66 = _createForOfIteratorHelper(n),\n _step66;\n\n try {\n for (_iterator66.s(); !(_step66 = _iterator66.n()).done;) {\n var _i36 = _step66.value;\n t.hasAttribute(_i36) || e.removeAttribute(_i36);\n }\n } catch (err) {\n _iterator66.e(err);\n } finally {\n _iterator66.f();\n }\n }\n }, {\n key: \"_updateChildren\",\n value: function _updateChildren(t, e) {\n var n = this.domConverter.mapViewToDom(t);\n if (!n) return;\n var i = e.inlineFillerPosition,\n o = this.domConverter.mapViewToDom(t).childNodes,\n r = Array.from(this.domConverter.viewChildrenToDom(t, n.ownerDocument, {\n bind: !0,\n inlineFillerPosition: i\n }));\n i && i.parent === t && er(n.ownerDocument, r, i.offset);\n\n var s = this._diffNodeLists(o, r);\n\n var a = 0;\n var c = new Set();\n\n var _iterator67 = _createForOfIteratorHelper(s),\n _step67;\n\n try {\n for (_iterator67.s(); !(_step67 = _iterator67.n()).done;) {\n var _t50 = _step67.value;\n \"delete\" === _t50 ? (c.add(o[a]), Zo(o[a])) : \"equal\" === _t50 && a++;\n }\n } catch (err) {\n _iterator67.e(err);\n } finally {\n _iterator67.f();\n }\n\n a = 0;\n\n var _iterator68 = _createForOfIteratorHelper(s),\n _step68;\n\n try {\n for (_iterator68.s(); !(_step68 = _iterator68.n()).done;) {\n var _t51 = _step68.value;\n \"insert\" === _t51 ? (Jo(n, a, r[a]), a++) : \"equal\" === _t51 && (this._markDescendantTextToSync(this.domConverter.domToView(r[a])), a++);\n }\n } catch (err) {\n _iterator68.e(err);\n } finally {\n _iterator68.f();\n }\n\n var _iterator69 = _createForOfIteratorHelper(c),\n _step69;\n\n try {\n for (_iterator69.s(); !(_step69 = _iterator69.n()).done;) {\n var _t52 = _step69.value;\n _t52.parentNode || this.domConverter.unbindDomElement(_t52);\n }\n } catch (err) {\n _iterator69.e(err);\n } finally {\n _iterator69.f();\n }\n }\n }, {\n key: \"_diffNodeLists\",\n value: function _diffNodeLists(t, e) {\n return Qo(t = function (t, e) {\n var n = Array.from(t);\n if (0 == n.length || !e) return n;\n n[n.length - 1] == e && n.pop();\n return n;\n }(t, this._fakeSelectionContainer), e, ir.bind(null, this.domConverter));\n }\n }, {\n key: \"_findReplaceActions\",\n value: function _findReplaceActions(t, e, n) {\n if (-1 === t.indexOf(\"insert\") || -1 === t.indexOf(\"delete\")) return t;\n var i = [],\n o = [],\n r = [];\n var s = {\n equal: 0,\n insert: 0,\n \"delete\": 0\n };\n\n var _iterator70 = _createForOfIteratorHelper(t),\n _step70;\n\n try {\n for (_iterator70.s(); !(_step70 = _iterator70.n()).done;) {\n var _a6 = _step70.value;\n \"insert\" === _a6 ? r.push(n[s.equal + s.insert]) : \"delete\" === _a6 ? o.push(e[s.equal + s[\"delete\"]]) : (i = i.concat(Qo(o, r, nr).map(function (t) {\n return \"equal\" === t ? \"replace\" : t;\n })), i.push(\"equal\"), o = [], r = []), s[_a6]++;\n }\n } catch (err) {\n _iterator70.e(err);\n } finally {\n _iterator70.f();\n }\n\n return i.concat(Qo(o, r, nr).map(function (t) {\n return \"equal\" === t ? \"replace\" : t;\n }));\n }\n }, {\n key: \"_markDescendantTextToSync\",\n value: function _markDescendantTextToSync(t) {\n if (t) if (t.is(\"$text\")) this.markedTexts.add(t);else if (t.is(\"element\")) {\n var _iterator71 = _createForOfIteratorHelper(t.getChildren()),\n _step71;\n\n try {\n for (_iterator71.s(); !(_step71 = _iterator71.n()).done;) {\n var _e57 = _step71.value;\n\n this._markDescendantTextToSync(_e57);\n }\n } catch (err) {\n _iterator71.e(err);\n } finally {\n _iterator71.f();\n }\n }\n }\n }, {\n key: \"_updateSelection\",\n value: function _updateSelection() {\n if (0 === this.selection.rangeCount) return this._removeDomSelection(), void this._removeFakeSelection();\n var t = this.domConverter.mapViewToDom(this.selection.editableElement);\n this.isFocused && t && (this.selection.isFake ? this._updateFakeSelection(t) : (this._removeFakeSelection(), this._updateDomSelection(t)));\n }\n }, {\n key: \"_updateFakeSelection\",\n value: function _updateFakeSelection(t) {\n var e = t.ownerDocument;\n this._fakeSelectionContainer || (this._fakeSelectionContainer = function (t) {\n var e = t.createElement(\"div\");\n return Object.assign(e.style, {\n position: \"fixed\",\n top: 0,\n left: \"-9999px\",\n width: \"42px\"\n }), e.textContent = \" \", e;\n }(e));\n var n = this._fakeSelectionContainer;\n if (this.domConverter.bindFakeSelection(n, this.selection), !this._fakeSelectionNeedsUpdate(t)) return;\n n.parentElement && n.parentElement == t || t.appendChild(n), n.textContent = this.selection.fakeSelectionLabel || \" \";\n var i = e.getSelection(),\n o = e.createRange();\n i.removeAllRanges(), o.selectNodeContents(n), i.addRange(o);\n }\n }, {\n key: \"_updateDomSelection\",\n value: function _updateDomSelection(t) {\n var e = t.ownerDocument.defaultView.getSelection();\n if (!this._domSelectionNeedsUpdate(e)) return;\n var n = this.domConverter.viewPositionToDom(this.selection.anchor),\n i = this.domConverter.viewPositionToDom(this.selection.focus);\n t.focus(), e.collapse(n.parent, n.offset), e.extend(i.parent, i.offset), ho.isGecko && function (t, e) {\n var n = t.parent;\n if (n.nodeType != Node.ELEMENT_NODE || t.offset != n.childNodes.length - 1) return;\n var i = n.childNodes[t.offset];\n i && \"BR\" == i.tagName && e.addRange(e.getRangeAt(0));\n }(i, e);\n }\n }, {\n key: \"_domSelectionNeedsUpdate\",\n value: function _domSelectionNeedsUpdate(t) {\n if (!this.domConverter.isDomSelectionCorrect(t)) return !0;\n var e = t && this.domConverter.domSelectionToView(t);\n return (!e || !this.selection.isEqual(e)) && !(!this.selection.isCollapsed && this.selection.isSimilar(e));\n }\n }, {\n key: \"_fakeSelectionNeedsUpdate\",\n value: function _fakeSelectionNeedsUpdate(t) {\n var e = this._fakeSelectionContainer,\n n = t.ownerDocument.getSelection();\n return !e || e.parentElement !== t || n.anchorNode !== e && !e.contains(n.anchorNode) || e.textContent !== this.selection.fakeSelectionLabel;\n }\n }, {\n key: \"_removeDomSelection\",\n value: function _removeDomSelection() {\n var _iterator72 = _createForOfIteratorHelper(this.domDocuments),\n _step72;\n\n try {\n for (_iterator72.s(); !(_step72 = _iterator72.n()).done;) {\n var _t53 = _step72.value;\n\n if (_t53.getSelection().rangeCount) {\n var _e58 = _t53.activeElement,\n _n48 = this.domConverter.mapDomToView(_e58);\n\n _e58 && _n48 && _t53.getSelection().removeAllRanges();\n }\n }\n } catch (err) {\n _iterator72.e(err);\n } finally {\n _iterator72.f();\n }\n }\n }, {\n key: \"_removeFakeSelection\",\n value: function _removeFakeSelection() {\n var t = this._fakeSelectionContainer;\n t && t.remove();\n }\n }, {\n key: \"_updateFocus\",\n value: function _updateFocus() {\n if (this.isFocused) {\n var _t54 = this.selection.editableElement;\n _t54 && this.domConverter.focus(_t54);\n }\n }\n }]);\n\n return tr;\n }();\n\n function er(t, e, n) {\n var i = e instanceof Array ? e : e.childNodes,\n o = i[n];\n if (zo(o)) return o.data = Uo + o.data, o;\n {\n var _o23 = t.createTextNode(Uo);\n\n return Array.isArray(e) ? i.splice(n, 0, _o23) : Jo(e, n, _o23), _o23;\n }\n }\n\n function nr(t, e) {\n return Xo(t) && Xo(e) && !zo(t) && !zo(e) && t.nodeType !== Node.COMMENT_NODE && e.nodeType !== Node.COMMENT_NODE && t.tagName.toLowerCase() === e.tagName.toLowerCase();\n }\n\n function ir(t, e, n) {\n return e === n || (zo(e) && zo(n) ? e.data === n.data : !(!t.isBlockFiller(e) || !t.isBlockFiller(n)));\n }\n\n xn(tr, Ui);\n var or = {\n window: window,\n document: document\n };\n\n function rr(t) {\n var e = 0;\n\n for (; t.previousSibling;) {\n t = t.previousSibling, e++;\n }\n\n return e;\n }\n\n function sr(t) {\n var e = [];\n\n for (; t && t.nodeType != Node.DOCUMENT_NODE;) {\n e.unshift(t), t = t.parentNode;\n }\n\n return e;\n }\n\n var ar = Fo(document);\n\n var cr = /*#__PURE__*/function () {\n function cr(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, cr);\n\n this.document = t, this.blockFillerMode = e.blockFillerMode || \"br\", this.preElements = [\"pre\"], this.blockElements = [\"p\", \"div\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"li\", \"dd\", \"dt\", \"figcaption\", \"td\", \"th\"], this._blockFiller = \"br\" == this.blockFillerMode ? Fo : Bo, this._domToViewMapping = new WeakMap(), this._viewToDomMapping = new WeakMap(), this._fakeSelectionMapping = new WeakMap();\n }\n\n _createClass(cr, [{\n key: \"bindFakeSelection\",\n value: function bindFakeSelection(t, e) {\n this._fakeSelectionMapping.set(t, new no(e));\n }\n }, {\n key: \"fakeSelectionToView\",\n value: function fakeSelectionToView(t) {\n return this._fakeSelectionMapping.get(t);\n }\n }, {\n key: \"bindElements\",\n value: function bindElements(t, e) {\n this._domToViewMapping.set(t, e), this._viewToDomMapping.set(e, t);\n }\n }, {\n key: \"unbindDomElement\",\n value: function unbindDomElement(t) {\n var e = this._domToViewMapping.get(t);\n\n if (e) {\n this._domToViewMapping[\"delete\"](t), this._viewToDomMapping[\"delete\"](e);\n\n var _iterator73 = _createForOfIteratorHelper(t.childNodes),\n _step73;\n\n try {\n for (_iterator73.s(); !(_step73 = _iterator73.n()).done;) {\n var _e59 = _step73.value;\n this.unbindDomElement(_e59);\n }\n } catch (err) {\n _iterator73.e(err);\n } finally {\n _iterator73.f();\n }\n }\n }\n }, {\n key: \"bindDocumentFragments\",\n value: function bindDocumentFragments(t, e) {\n this._domToViewMapping.set(t, e), this._viewToDomMapping.set(e, t);\n }\n }, {\n key: \"viewToDom\",\n value: function viewToDom(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (t.is(\"$text\")) {\n var _n49 = this._processDataFromViewText(t);\n\n return e.createTextNode(_n49);\n }\n\n {\n if (this.mapViewToDom(t)) return this.mapViewToDom(t);\n\n var _i37;\n\n if (t.is(\"documentFragment\")) _i37 = e.createDocumentFragment(), n.bind && this.bindDocumentFragments(_i37, t);else {\n if (t.is(\"uiElement\")) return _i37 = t.render(e), n.bind && this.bindElements(_i37, t), _i37;\n _i37 = t.hasAttribute(\"xmlns\") ? e.createElementNS(t.getAttribute(\"xmlns\"), t.name) : e.createElement(t.name), t.is(\"rawElement\") && t.render(_i37), n.bind && this.bindElements(_i37, t);\n\n var _iterator74 = _createForOfIteratorHelper(t.getAttributeKeys()),\n _step74;\n\n try {\n for (_iterator74.s(); !(_step74 = _iterator74.n()).done;) {\n var _e60 = _step74.value;\n\n _i37.setAttribute(_e60, t.getAttribute(_e60));\n }\n } catch (err) {\n _iterator74.e(err);\n } finally {\n _iterator74.f();\n }\n }\n\n if (n.withChildren || void 0 === n.withChildren) {\n var _iterator75 = _createForOfIteratorHelper(this.viewChildrenToDom(t, e, n)),\n _step75;\n\n try {\n for (_iterator75.s(); !(_step75 = _iterator75.n()).done;) {\n var _o24 = _step75.value;\n\n _i37.appendChild(_o24);\n }\n } catch (err) {\n _iterator75.e(err);\n } finally {\n _iterator75.f();\n }\n }\n\n return _i37;\n }\n }\n }, {\n key: \"viewChildrenToDom\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function viewChildrenToDom(t, e) {\n var n,\n i,\n o,\n _iterator76,\n _step76,\n _r10,\n _args11 = arguments;\n\n return _regeneratorRuntime.wrap(function viewChildrenToDom$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n n = _args11.length > 2 && _args11[2] !== undefined ? _args11[2] : {};\n i = t.getFillerOffset && t.getFillerOffset();\n o = 0;\n _iterator76 = _createForOfIteratorHelper(t.getChildren());\n _context11.prev = 4;\n\n _iterator76.s();\n\n case 6:\n if ((_step76 = _iterator76.n()).done) {\n _context11.next = 17;\n break;\n }\n\n _r10 = _step76.value;\n _context11.t0 = i === o;\n\n if (!_context11.t0) {\n _context11.next = 12;\n break;\n }\n\n _context11.next = 12;\n return this._blockFiller(e);\n\n case 12:\n _context11.next = 14;\n return this.viewToDom(_r10, e, n);\n\n case 14:\n o++;\n\n case 15:\n _context11.next = 6;\n break;\n\n case 17:\n _context11.next = 22;\n break;\n\n case 19:\n _context11.prev = 19;\n _context11.t1 = _context11[\"catch\"](4);\n\n _iterator76.e(_context11.t1);\n\n case 22:\n _context11.prev = 22;\n\n _iterator76.f();\n\n return _context11.finish(22);\n\n case 25:\n _context11.t2 = i === o;\n\n if (!_context11.t2) {\n _context11.next = 29;\n break;\n }\n\n _context11.next = 29;\n return this._blockFiller(e);\n\n case 29:\n case \"end\":\n return _context11.stop();\n }\n }\n }, viewChildrenToDom, this, [[4, 19, 22, 25]]);\n })\n }, {\n key: \"viewRangeToDom\",\n value: function viewRangeToDom(t) {\n var e = this.viewPositionToDom(t.start),\n n = this.viewPositionToDom(t.end),\n i = document.createRange();\n return i.setStart(e.parent, e.offset), i.setEnd(n.parent, n.offset), i;\n }\n }, {\n key: \"viewPositionToDom\",\n value: function viewPositionToDom(t) {\n var e = t.parent;\n\n if (e.is(\"$text\")) {\n var _n50 = this.findCorrespondingDomText(e);\n\n if (!_n50) return null;\n var _i38 = t.offset;\n return Ho(_n50) && (_i38 += 7), {\n parent: _n50,\n offset: _i38\n };\n }\n\n {\n var _n51, _i39, _o25;\n\n if (0 === t.offset) {\n if (_n51 = this.mapViewToDom(e), !_n51) return null;\n _o25 = _n51.childNodes[0];\n } else {\n var _e61 = t.nodeBefore;\n if (_i39 = _e61.is(\"$text\") ? this.findCorrespondingDomText(_e61) : this.mapViewToDom(t.nodeBefore), !_i39) return null;\n _n51 = _i39.parentNode, _o25 = _i39.nextSibling;\n }\n\n if (zo(_o25) && Ho(_o25)) return {\n parent: _o25,\n offset: 7\n };\n return {\n parent: _n51,\n offset: _i39 ? rr(_i39) + 1 : 0\n };\n }\n }\n }, {\n key: \"domToView\",\n value: function domToView(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.isBlockFiller(t, this.blockFillerMode)) return null;\n var n = this.getHostViewElement(t, this._domToViewMapping);\n if (n) return n;\n\n if (zo(t)) {\n if (Wo(t)) return null;\n {\n var _e62 = this._processDataFromDomText(t);\n\n return \"\" === _e62 ? null : new Rn(this.document, _e62);\n }\n }\n\n if (this.isComment(t)) return null;\n {\n if (this.mapDomToView(t)) return this.mapDomToView(t);\n\n var _n52;\n\n if (this.isDocumentFragment(t)) _n52 = new So(this.document), e.bind && this.bindDocumentFragments(t, _n52);else {\n var _i40 = e.keepOriginalCase ? t.tagName : t.tagName.toLowerCase();\n\n _n52 = new Oi(this.document, _i40), e.bind && this.bindElements(t, _n52);\n var _o26 = t.attributes;\n\n for (var _t55 = _o26.length - 1; _t55 >= 0; _t55--) {\n _n52._setAttribute(_o26[_t55].name, _o26[_t55].value);\n }\n }\n\n if (e.withChildren || void 0 === e.withChildren) {\n var _iterator77 = _createForOfIteratorHelper(this.domChildrenToView(t, e)),\n _step77;\n\n try {\n for (_iterator77.s(); !(_step77 = _iterator77.n()).done;) {\n var _i41 = _step77.value;\n\n _n52._appendChild(_i41);\n }\n } catch (err) {\n _iterator77.e(err);\n } finally {\n _iterator77.f();\n }\n }\n\n return _n52;\n }\n }\n }, {\n key: \"domChildrenToView\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function domChildrenToView(t) {\n var e,\n _n53,\n _i42,\n _o27,\n _args12 = arguments;\n\n return _regeneratorRuntime.wrap(function domChildrenToView$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n e = _args12.length > 1 && _args12[1] !== undefined ? _args12[1] : {};\n _n53 = 0;\n\n case 2:\n if (!(_n53 < t.childNodes.length)) {\n _context12.next = 11;\n break;\n }\n\n _i42 = t.childNodes[_n53], _o27 = this.domToView(_i42, e);\n _context12.t0 = null !== _o27;\n\n if (!_context12.t0) {\n _context12.next = 8;\n break;\n }\n\n _context12.next = 8;\n return _o27;\n\n case 8:\n _n53++;\n _context12.next = 2;\n break;\n\n case 11:\n case \"end\":\n return _context12.stop();\n }\n }\n }, domChildrenToView, this);\n })\n }, {\n key: \"domSelectionToView\",\n value: function domSelectionToView(t) {\n if (1 === t.rangeCount) {\n var _e63 = t.getRangeAt(0).startContainer;\n zo(_e63) && (_e63 = _e63.parentNode);\n\n var _n54 = this.fakeSelectionToView(_e63);\n\n if (_n54) return _n54;\n }\n\n var e = this.isDomSelectionBackward(t),\n n = [];\n\n for (var _e64 = 0; _e64 < t.rangeCount; _e64++) {\n var _i43 = t.getRangeAt(_e64),\n _o28 = this.domRangeToView(_i43);\n\n _o28 && n.push(_o28);\n }\n\n return new no(n, {\n backward: e\n });\n }\n }, {\n key: \"domRangeToView\",\n value: function domRangeToView(t) {\n var e = this.domPositionToView(t.startContainer, t.startOffset),\n n = this.domPositionToView(t.endContainer, t.endOffset);\n return e && n ? new Xi(e, n) : null;\n }\n }, {\n key: \"domPositionToView\",\n value: function domPositionToView(t, e) {\n if (this.isBlockFiller(t, this.blockFillerMode)) return this.domPositionToView(t.parentNode, rr(t));\n var n = this.mapDomToView(t);\n if (n && (n.is(\"uiElement\") || n.is(\"rawElement\"))) return Zi._createBefore(n);\n\n if (zo(t)) {\n if (Wo(t)) return this.domPositionToView(t.parentNode, rr(t));\n\n var _n55 = this.findCorrespondingViewText(t);\n\n var _i44 = e;\n return _n55 ? (Ho(t) && (_i44 -= 7, _i44 = _i44 < 0 ? 0 : _i44), new Zi(_n55, _i44)) : null;\n }\n\n if (0 === e) {\n var _e65 = this.mapDomToView(t);\n\n if (_e65) return new Zi(_e65, 0);\n } else {\n var _n56 = t.childNodes[e - 1],\n _i45 = zo(_n56) ? this.findCorrespondingViewText(_n56) : this.mapDomToView(_n56);\n\n if (_i45 && _i45.parent) return new Zi(_i45.parent, _i45.index + 1);\n }\n\n return null;\n }\n }, {\n key: \"mapDomToView\",\n value: function mapDomToView(t) {\n return this.getHostViewElement(t) || this._domToViewMapping.get(t);\n }\n }, {\n key: \"findCorrespondingViewText\",\n value: function findCorrespondingViewText(t) {\n if (Wo(t)) return null;\n var e = this.getHostViewElement(t);\n if (e) return e;\n var n = t.previousSibling;\n\n if (n) {\n if (!this.isElement(n)) return null;\n\n var _t56 = this.mapDomToView(n);\n\n if (_t56) {\n return _t56.nextSibling instanceof Rn ? _t56.nextSibling : null;\n }\n } else {\n var _e66 = this.mapDomToView(t.parentNode);\n\n if (_e66) {\n var _t57 = _e66.getChild(0);\n\n return _t57 instanceof Rn ? _t57 : null;\n }\n }\n\n return null;\n }\n }, {\n key: \"mapViewToDom\",\n value: function mapViewToDom(t) {\n return this._viewToDomMapping.get(t);\n }\n }, {\n key: \"findCorrespondingDomText\",\n value: function findCorrespondingDomText(t) {\n var e = t.previousSibling;\n return e && this.mapViewToDom(e) ? this.mapViewToDom(e).nextSibling : !e && t.parent && this.mapViewToDom(t.parent) ? this.mapViewToDom(t.parent).childNodes[0] : null;\n }\n }, {\n key: \"focus\",\n value: function focus(t) {\n var e = this.mapViewToDom(t);\n\n if (e && e.ownerDocument.activeElement !== e) {\n var _or$window = or.window,\n _t58 = _or$window.scrollX,\n _n57 = _or$window.scrollY,\n _i46 = [];\n dr(e, function (t) {\n var e = t.scrollLeft,\n n = t.scrollTop;\n\n _i46.push([e, n]);\n }), e.focus(), dr(e, function (t) {\n var _i46$shift = _i46.shift(),\n _i46$shift2 = _slicedToArray(_i46$shift, 2),\n e = _i46$shift2[0],\n n = _i46$shift2[1];\n\n t.scrollLeft = e, t.scrollTop = n;\n }), or.window.scrollTo(_t58, _n57);\n }\n }\n }, {\n key: \"isElement\",\n value: function isElement(t) {\n return t && t.nodeType == Node.ELEMENT_NODE;\n }\n }, {\n key: \"isDocumentFragment\",\n value: function isDocumentFragment(t) {\n return t && t.nodeType == Node.DOCUMENT_FRAGMENT_NODE;\n }\n }, {\n key: \"isComment\",\n value: function isComment(t) {\n return t && t.nodeType == Node.COMMENT_NODE;\n }\n }, {\n key: \"isBlockFiller\",\n value: function isBlockFiller(t) {\n return \"br\" == this.blockFillerMode ? t.isEqualNode(ar) : !(\"BR\" !== t.tagName || !ur(t, this.blockElements) || 1 !== t.parentNode.childNodes.length) || function (t, e) {\n return zo(t) && \" \" == t.data && ur(t, e) && 1 === t.parentNode.childNodes.length;\n }(t, this.blockElements);\n }\n }, {\n key: \"isDomSelectionBackward\",\n value: function isDomSelectionBackward(t) {\n if (t.isCollapsed) return !1;\n var e = document.createRange();\n e.setStart(t.anchorNode, t.anchorOffset), e.setEnd(t.focusNode, t.focusOffset);\n var n = e.collapsed;\n return e.detach(), n;\n }\n }, {\n key: \"getHostViewElement\",\n value: function getHostViewElement(t) {\n var e = sr(t);\n\n for (e.pop(); e.length;) {\n var _t59 = e.pop(),\n _n58 = this._domToViewMapping.get(_t59);\n\n if (_n58 && (_n58.is(\"uiElement\") || _n58.is(\"rawElement\"))) return _n58;\n }\n\n return null;\n }\n }, {\n key: \"isDomSelectionCorrect\",\n value: function isDomSelectionCorrect(t) {\n return this._isDomSelectionPositionCorrect(t.anchorNode, t.anchorOffset) && this._isDomSelectionPositionCorrect(t.focusNode, t.focusOffset);\n }\n }, {\n key: \"_isDomSelectionPositionCorrect\",\n value: function _isDomSelectionPositionCorrect(t, e) {\n if (zo(t) && Ho(t) && e < 7) return !1;\n if (this.isElement(t) && Ho(t.childNodes[e])) return !1;\n var n = this.mapDomToView(t);\n return !n || !n.is(\"uiElement\") && !n.is(\"rawElement\");\n }\n }, {\n key: \"_processDataFromViewText\",\n value: function _processDataFromViewText(t) {\n var _this26 = this;\n\n var e = t.data;\n if (t.getAncestors().some(function (t) {\n return _this26.preElements.includes(t.name);\n })) return e;\n\n if (\" \" == e.charAt(0)) {\n var _n59 = this._getTouchingViewTextNode(t, !1);\n\n !(_n59 && this._nodeEndsWithSpace(_n59)) && _n59 || (e = \" \" + e.substr(1));\n }\n\n if (\" \" == e.charAt(e.length - 1)) {\n var _n60 = this._getTouchingViewTextNode(t, !0);\n\n \" \" != e.charAt(e.length - 2) && _n60 && \" \" != _n60.data.charAt(0) || (e = e.substr(0, e.length - 1) + \" \");\n }\n\n return e.replace(/ {2}/g, \"  \");\n }\n }, {\n key: \"_nodeEndsWithSpace\",\n value: function _nodeEndsWithSpace(t) {\n var _this27 = this;\n\n if (t.getAncestors().some(function (t) {\n return _this27.preElements.includes(t.name);\n })) return !1;\n\n var e = this._processDataFromViewText(t);\n\n return \" \" == e.charAt(e.length - 1);\n }\n }, {\n key: \"_processDataFromDomText\",\n value: function _processDataFromDomText(t) {\n var e = t.data;\n if (lr(t, this.preElements)) return qo(t);\n e = e.replace(/[ \\n\\t\\r]{1,}/g, \" \");\n\n var n = this._getTouchingInlineDomNode(t, !1),\n i = this._getTouchingInlineDomNode(t, !0),\n o = this._checkShouldLeftTrimDomText(n),\n r = this._checkShouldRightTrimDomText(t, i);\n\n return o && (e = e.replace(/^ /, \"\")), r && (e = e.replace(/ $/, \"\")), e = qo(new Text(e)), e = e.replace(/ \\u00A0/g, \" \"), (/( |\\u00A0)\\u00A0$/.test(e) || !i || i.data && \" \" == i.data.charAt(0)) && (e = e.replace(/\\u00A0$/, \" \")), o && (e = e.replace(/^\\u00A0/, \" \")), e;\n }\n }, {\n key: \"_checkShouldLeftTrimDomText\",\n value: function _checkShouldLeftTrimDomText(t) {\n return !t || !!nn(t) || /[^\\S\\u00A0]/.test(t.data.charAt(t.data.length - 1));\n }\n }, {\n key: \"_checkShouldRightTrimDomText\",\n value: function _checkShouldRightTrimDomText(t, e) {\n return !e && !Ho(t);\n }\n }, {\n key: \"_getTouchingViewTextNode\",\n value: function _getTouchingViewTextNode(t, e) {\n var n = new Ji({\n startPosition: e ? Zi._createAfter(t) : Zi._createBefore(t),\n direction: e ? \"forward\" : \"backward\"\n });\n\n var _iterator78 = _createForOfIteratorHelper(n),\n _step78;\n\n try {\n for (_iterator78.s(); !(_step78 = _iterator78.n()).done;) {\n var _t60 = _step78.value;\n if (_t60.item.is(\"containerElement\")) return null;\n if (_t60.item.is(\"element\", \"br\")) return null;\n if (_t60.item.is(\"$textProxy\")) return _t60.item;\n }\n } catch (err) {\n _iterator78.e(err);\n } finally {\n _iterator78.f();\n }\n\n return null;\n }\n }, {\n key: \"_getTouchingInlineDomNode\",\n value: function _getTouchingInlineDomNode(t, e) {\n if (!t.parentNode) return null;\n var n = e ? \"nextNode\" : \"previousNode\",\n i = t.ownerDocument,\n o = sr(t)[0],\n r = i.createTreeWalker(o, NodeFilter.SHOW_TEXT | NodeFilter.SHOW_ELEMENT, {\n acceptNode: function acceptNode(t) {\n return zo(t) || \"BR\" == t.tagName ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n r.currentNode = t;\n var s = r[n]();\n\n if (null !== s) {\n var _e67 = function (t, e) {\n var n = sr(t),\n i = sr(e);\n var o = 0;\n\n for (; n[o] == i[o] && n[o];) {\n o++;\n }\n\n return 0 === o ? null : n[o - 1];\n }(t, s);\n\n if (_e67 && !lr(t, this.blockElements, _e67) && !lr(s, this.blockElements, _e67)) return s;\n }\n\n return null;\n }\n }]);\n\n return cr;\n }();\n\n function lr(t, e, n) {\n var i = sr(t);\n return n && (i = i.slice(i.indexOf(n) + 1)), i.some(function (t) {\n return t.tagName && e.includes(t.tagName.toLowerCase());\n });\n }\n\n function dr(t, e) {\n for (; t && t != or.document;) {\n e(t), t = t.parentNode;\n }\n }\n\n function ur(t, e) {\n var n = t.parentNode;\n return n && n.tagName && e.includes(n.tagName.toLowerCase());\n }\n\n function hr(t) {\n var e = Object.prototype.toString.apply(t);\n return \"[object Window]\" == e || \"[object global]\" == e;\n }\n\n var fr = Vi({}, gn, {\n listenTo: function listenTo(t) {\n var _gn$listenTo;\n\n for (var _len15 = arguments.length, e = new Array(_len15 > 1 ? _len15 - 1 : 0), _key15 = 1; _key15 < _len15; _key15++) {\n e[_key15 - 1] = arguments[_key15];\n }\n\n if (Xo(t) || hr(t)) {\n var _n61 = this._getProxyEmitter(t) || new mr(t);\n\n _n61.attach.apply(_n61, e), t = _n61;\n }\n\n (_gn$listenTo = gn.listenTo).call.apply(_gn$listenTo, [this, t].concat(e));\n },\n stopListening: function stopListening(t, e, n) {\n if (Xo(t) || hr(t)) {\n var _e68 = this._getProxyEmitter(t);\n\n if (!_e68) return;\n t = _e68;\n }\n\n gn.stopListening.call(this, t, e, n), t instanceof mr && t.detach(e);\n },\n _getProxyEmitter: function _getProxyEmitter(t) {\n return e = this, n = gr(t), e[fn] && e[fn][n] ? e[fn][n].emitter : null;\n var e, n;\n }\n });\n\n var mr = function mr(t) {\n _classCallCheck(this, mr);\n\n pn(this, gr(t)), this._domNode = t;\n };\n\n function gr(t) {\n return t[\"data-ck-expando\"] || (t[\"data-ck-expando\"] = dn());\n }\n\n Vi(mr.prototype, gn, {\n attach: function attach(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (this._domListeners && this._domListeners[t]) return;\n\n var i = {\n capture: !!n.useCapture,\n passive: !!n.usePassive\n },\n o = this._createDomListener(t, i);\n\n this._domNode.addEventListener(t, o, i), this._domListeners || (this._domListeners = {}), this._domListeners[t] = o;\n },\n detach: function detach(t) {\n var e;\n !this._domListeners[t] || (e = this._events[t]) && e.callbacks.length || this._domListeners[t].removeListener();\n },\n _createDomListener: function _createDomListener(t, e) {\n var _this28 = this;\n\n var n = function n(e) {\n _this28.fire(t, e);\n };\n\n return n.removeListener = function () {\n _this28._domNode.removeEventListener(t, n, e), delete _this28._domListeners[t];\n }, n;\n }\n });\n\n var pr = /*#__PURE__*/function () {\n function pr(t) {\n _classCallCheck(this, pr);\n\n this.view = t, this.document = t.document, this.isEnabled = !1;\n }\n\n _createClass(pr, [{\n key: \"enable\",\n value: function enable() {\n this.isEnabled = !0;\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.isEnabled = !1;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.disable(), this.stopListening();\n }\n }, {\n key: \"checkShouldIgnoreEventFromTarget\",\n value: function checkShouldIgnoreEventFromTarget(t) {\n return t && 3 === t.nodeType && (t = t.parentNode), !(!t || 1 !== t.nodeType) && t.matches(\"[data-cke-ignore-events], [data-cke-ignore-events] *\");\n }\n }]);\n\n return pr;\n }();\n\n xn(pr, fr);\n\n var br = function br(t) {\n return this.__data__.set(t, \"__lodash_hash_undefined__\"), this;\n };\n\n var wr = function wr(t) {\n return this.__data__.has(t);\n };\n\n function kr(t) {\n var e = -1,\n n = null == t ? 0 : t.length;\n\n for (this.__data__ = new kt(); ++e < n;) {\n this.add(t[e]);\n }\n }\n\n kr.prototype.add = kr.prototype.push = br, kr.prototype.has = wr;\n var _r = kr;\n\n var vr = function vr(t, e) {\n for (var n = -1, i = null == t ? 0 : t.length; ++n < i;) {\n if (e(t[n], n, t)) return !0;\n }\n\n return !1;\n };\n\n var yr = function yr(t, e) {\n return t.has(e);\n };\n\n var xr = function xr(t, e, n, i, o, r) {\n var s = 1 & n,\n a = t.length,\n c = e.length;\n if (a != c && !(s && c > a)) return !1;\n var l = r.get(t);\n if (l && r.get(e)) return l == e;\n var d = -1,\n u = !0,\n h = 2 & n ? new _r() : void 0;\n\n for (r.set(t, e), r.set(e, t); ++d < a;) {\n var f = t[d],\n m = e[d];\n if (i) var g = s ? i(m, f, d, e, t, r) : i(f, m, d, t, e, r);\n\n if (void 0 !== g) {\n if (g) continue;\n u = !1;\n break;\n }\n\n if (h) {\n if (!vr(e, function (t, e) {\n if (!yr(h, e) && (f === t || o(f, t, n, i, r))) return h.push(e);\n })) {\n u = !1;\n break;\n }\n } else if (f !== m && !o(f, m, n, i, r)) {\n u = !1;\n break;\n }\n }\n\n return r[\"delete\"](t), r[\"delete\"](e), u;\n };\n\n var Ar = function Ar(t) {\n var e = -1,\n n = Array(t.size);\n return t.forEach(function (t, i) {\n n[++e] = [i, t];\n }), n;\n };\n\n var Cr = function Cr(t) {\n var e = -1,\n n = Array(t.size);\n return t.forEach(function (t) {\n n[++e] = t;\n }), n;\n },\n Tr = o ? o.prototype : void 0,\n Pr = Tr ? Tr.valueOf : void 0;\n\n var Sr = function Sr(t, e, n, i, o, r, s) {\n switch (n) {\n case \"[object DataView]\":\n if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1;\n t = t.buffer, e = e.buffer;\n\n case \"[object ArrayBuffer]\":\n return !(t.byteLength != e.byteLength || !r(new Re(t), new Re(e)));\n\n case \"[object Boolean]\":\n case \"[object Date]\":\n case \"[object Number]\":\n return A(+t, +e);\n\n case \"[object Error]\":\n return t.name == e.name && t.message == e.message;\n\n case \"[object RegExp]\":\n case \"[object String]\":\n return t == e + \"\";\n\n case \"[object Map]\":\n var a = Ar;\n\n case \"[object Set]\":\n var c = 1 & i;\n if (a || (a = Cr), t.size != e.size && !c) return !1;\n var l = s.get(t);\n if (l) return l == e;\n i |= 2, s.set(t, e);\n var d = xr(a(t), a(e), i, o, r, s);\n return s[\"delete\"](t), d;\n\n case \"[object Symbol]\":\n if (Pr) return Pr.call(t) == Pr.call(e);\n }\n\n return !1;\n },\n Er = Object.prototype.hasOwnProperty;\n\n var Mr = function Mr(t, e, n, i, o, r) {\n var s = 1 & n,\n a = ke(t),\n c = a.length;\n if (c != ke(e).length && !s) return !1;\n\n for (var l = c; l--;) {\n var d = a[l];\n if (!(s ? d in e : Er.call(e, d))) return !1;\n }\n\n var u = r.get(t);\n if (u && r.get(e)) return u == e;\n var h = !0;\n r.set(t, e), r.set(e, t);\n\n for (var f = s; ++l < c;) {\n var m = t[d = a[l]],\n g = e[d];\n if (i) var p = s ? i(g, m, d, e, t, r) : i(m, g, d, t, e, r);\n\n if (!(void 0 === p ? m === g || o(m, g, n, i, r) : p)) {\n h = !1;\n break;\n }\n\n f || (f = \"constructor\" == d);\n }\n\n if (h && !f) {\n var b = t.constructor,\n w = e.constructor;\n b == w || !(\"constructor\" in t) || !(\"constructor\" in e) || \"function\" == typeof b && b instanceof b && \"function\" == typeof w && w instanceof w || (h = !1);\n }\n\n return r[\"delete\"](t), r[\"delete\"](e), h;\n },\n Ir = Object.prototype.hasOwnProperty;\n\n var Nr = function Nr(t, e, n, i, o, r) {\n var s = Dt(t),\n a = Dt(e),\n c = s ? \"[object Array]\" : Ie(t),\n l = a ? \"[object Array]\" : Ie(e),\n d = \"[object Object]\" == (c = \"[object Arguments]\" == c ? \"[object Object]\" : c),\n u = \"[object Object]\" == (l = \"[object Arguments]\" == l ? \"[object Object]\" : l),\n h = c == l;\n\n if (h && Object(Lt.a)(t)) {\n if (!Object(Lt.a)(e)) return !1;\n s = !0, d = !1;\n }\n\n if (h && !d) return r || (r = new yt()), s || qt(t) ? xr(t, e, n, i, o, r) : Sr(t, e, c, n, i, o, r);\n\n if (!(1 & n)) {\n var f = d && Ir.call(t, \"__wrapped__\"),\n m = u && Ir.call(e, \"__wrapped__\");\n\n if (f || m) {\n var g = f ? t.value() : t,\n p = m ? e.value() : e;\n return r || (r = new yt()), o(g, p, n, i, r);\n }\n }\n\n return !!h && (r || (r = new yt()), Mr(t, e, n, i, o, r));\n };\n\n var Or = function t(e, n, i, o, r) {\n return e === n || (null == e || null == n || !p(e) && !p(n) ? e != e && n != n : Nr(e, n, i, o, t, r));\n };\n\n var Rr = function Rr(t, e, n) {\n var i = (n = \"function\" == typeof n ? n : void 0) ? n(t, e) : void 0;\n return void 0 === i ? Or(t, e, void 0, n) : !!i;\n };\n\n var Dr = /*#__PURE__*/function (_pr) {\n _inherits(Dr, _pr);\n\n var _super11 = _createSuper(Dr);\n\n function Dr(t) {\n var _this29;\n\n _classCallCheck(this, Dr);\n\n _this29 = _super11.call(this, t), _this29._config = {\n childList: !0,\n characterData: !0,\n characterDataOldValue: !0,\n subtree: !0\n }, _this29.domConverter = t.domConverter, _this29.renderer = t._renderer, _this29._domElements = [], _this29._mutationObserver = new window.MutationObserver(_this29._onMutations.bind(_assertThisInitialized(_this29)));\n return _this29;\n }\n\n _createClass(Dr, [{\n key: \"flush\",\n value: function flush() {\n this._onMutations(this._mutationObserver.takeRecords());\n }\n }, {\n key: \"observe\",\n value: function observe(t) {\n this._domElements.push(t), this.isEnabled && this._mutationObserver.observe(t, this._config);\n }\n }, {\n key: \"enable\",\n value: function enable() {\n _get(_getPrototypeOf(Dr.prototype), \"enable\", this).call(this);\n\n var _iterator79 = _createForOfIteratorHelper(this._domElements),\n _step79;\n\n try {\n for (_iterator79.s(); !(_step79 = _iterator79.n()).done;) {\n var _t61 = _step79.value;\n\n this._mutationObserver.observe(_t61, this._config);\n }\n } catch (err) {\n _iterator79.e(err);\n } finally {\n _iterator79.f();\n }\n }\n }, {\n key: \"disable\",\n value: function disable() {\n _get(_getPrototypeOf(Dr.prototype), \"disable\", this).call(this), this._mutationObserver.disconnect();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(Dr.prototype), \"destroy\", this).call(this), this._mutationObserver.disconnect();\n }\n }, {\n key: \"_onMutations\",\n value: function _onMutations(t) {\n if (0 === t.length) return;\n var e = this.domConverter,\n n = new Map(),\n i = new Set();\n\n var _iterator80 = _createForOfIteratorHelper(t),\n _step80;\n\n try {\n for (_iterator80.s(); !(_step80 = _iterator80.n()).done;) {\n var _n63 = _step80.value;\n\n if (\"childList\" === _n63.type) {\n var _t63 = e.mapDomToView(_n63.target);\n\n if (_t63 && (_t63.is(\"uiElement\") || _t63.is(\"rawElement\"))) continue;\n _t63 && !this._isBogusBrMutation(_n63) && i.add(_t63);\n }\n }\n } catch (err) {\n _iterator80.e(err);\n } finally {\n _iterator80.f();\n }\n\n var _iterator81 = _createForOfIteratorHelper(t),\n _step81;\n\n try {\n for (_iterator81.s(); !(_step81 = _iterator81.n()).done;) {\n var _o29 = _step81.value;\n\n var _t64 = e.mapDomToView(_o29.target);\n\n if ((!_t64 || !_t64.is(\"uiElement\") && !_t64.is(\"rawElement\")) && \"characterData\" === _o29.type) {\n var _t65 = e.findCorrespondingViewText(_o29.target);\n\n _t65 && !i.has(_t65.parent) ? n.set(_t65, {\n type: \"text\",\n oldText: _t65.data,\n newText: qo(_o29.target),\n node: _t65\n }) : !_t65 && Ho(_o29.target) && i.add(e.mapDomToView(_o29.target.parentNode));\n }\n }\n } catch (err) {\n _iterator81.e(err);\n } finally {\n _iterator81.f();\n }\n\n var o = [];\n\n var _iterator82 = _createForOfIteratorHelper(n.values()),\n _step82;\n\n try {\n for (_iterator82.s(); !(_step82 = _iterator82.n()).done;) {\n var _t66 = _step82.value;\n this.renderer.markToSync(\"text\", _t66.node), o.push(_t66);\n }\n } catch (err) {\n _iterator82.e(err);\n } finally {\n _iterator82.f();\n }\n\n var _iterator83 = _createForOfIteratorHelper(i),\n _step83;\n\n try {\n for (_iterator83.s(); !(_step83 = _iterator83.n()).done;) {\n var _t67 = _step83.value;\n\n var _n64 = e.mapViewToDom(_t67),\n _i47 = Array.from(_t67.getChildren()),\n _r11 = Array.from(e.domChildrenToView(_n64, {\n withChildren: !1\n }));\n\n Rr(_i47, _r11, a) || (this.renderer.markToSync(\"children\", _t67), o.push({\n type: \"children\",\n oldChildren: _i47,\n newChildren: _r11,\n node: _t67\n }));\n }\n } catch (err) {\n _iterator83.e(err);\n } finally {\n _iterator83.f();\n }\n\n var r = t[0].target.ownerDocument.getSelection();\n var s = null;\n\n if (r && r.anchorNode) {\n var _t62 = e.domPositionToView(r.anchorNode, r.anchorOffset),\n _n62 = e.domPositionToView(r.focusNode, r.focusOffset);\n\n _t62 && _n62 && (s = new no(_t62), s.setFocus(_n62));\n }\n\n function a(t, e) {\n if (!Array.isArray(t)) return t === e || !(!t.is(\"$text\") || !e.is(\"$text\")) && t.data === e.data;\n }\n\n o.length && (this.document.fire(\"mutations\", o, s), this.view.forceRender());\n }\n }, {\n key: \"_isBogusBrMutation\",\n value: function _isBogusBrMutation(t) {\n var e = null;\n return null === t.nextSibling && 0 === t.removedNodes.length && 1 == t.addedNodes.length && (e = this.domConverter.domToView(t.addedNodes[0], {\n withChildren: !1\n })), e && e.is(\"element\", \"br\");\n }\n }]);\n\n return Dr;\n }(pr);\n\n var Lr = /*#__PURE__*/function () {\n function Lr(t, e, n) {\n _classCallCheck(this, Lr);\n\n this.view = t, this.document = t.document, this.domEvent = e, this.domTarget = e.target, Vi(this, n);\n }\n\n _createClass(Lr, [{\n key: \"preventDefault\",\n value: function preventDefault() {\n this.domEvent.preventDefault();\n }\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.domEvent.stopPropagation();\n }\n }, {\n key: \"target\",\n get: function get() {\n return this.view.domConverter.mapDomToView(this.domTarget);\n }\n }]);\n\n return Lr;\n }();\n\n var Vr = /*#__PURE__*/function (_pr2) {\n _inherits(Vr, _pr2);\n\n var _super12 = _createSuper(Vr);\n\n function Vr(t) {\n var _this30;\n\n _classCallCheck(this, Vr);\n\n _this30 = _super12.call(this, t), _this30.useCapture = !1;\n return _this30;\n }\n\n _createClass(Vr, [{\n key: \"observe\",\n value: function observe(t) {\n var _this31 = this;\n\n (\"string\" == typeof this.domEventType ? [this.domEventType] : this.domEventType).forEach(function (e) {\n _this31.listenTo(t, e, function (t, e) {\n _this31.isEnabled && !_this31.checkShouldIgnoreEventFromTarget(e.target) && _this31.onDomEvent(e);\n }, {\n useCapture: _this31.useCapture\n });\n });\n }\n }, {\n key: \"fire\",\n value: function fire(t, e, n) {\n this.isEnabled && this.document.fire(t, new Lr(this.view, e, n));\n }\n }]);\n\n return Vr;\n }(pr);\n\n var jr = /*#__PURE__*/function (_Vr) {\n _inherits(jr, _Vr);\n\n var _super13 = _createSuper(jr);\n\n function jr(t) {\n var _this32;\n\n _classCallCheck(this, jr);\n\n _this32 = _super13.call(this, t), _this32.domEventType = [\"keydown\", \"keyup\"];\n return _this32;\n }\n\n _createClass(jr, [{\n key: \"onDomEvent\",\n value: function onDomEvent(t) {\n this.fire(t.type, t, {\n keyCode: t.keyCode,\n altKey: t.altKey,\n ctrlKey: t.ctrlKey || t.metaKey,\n shiftKey: t.shiftKey,\n\n get keystroke() {\n return po(this);\n }\n\n });\n }\n }]);\n\n return jr;\n }(Vr);\n\n var zr = function zr() {\n return i.a.Date.now();\n },\n Br = /^\\s+|\\s+$/g,\n Fr = /^[-+]0x[0-9a-f]+$/i,\n Ur = /^0b[01]+$/i,\n Hr = /^0o[0-7]+$/i,\n Wr = parseInt;\n\n var qr = function qr(t) {\n if (\"number\" == typeof t) return t;\n if (zn(t)) return NaN;\n\n if (V(t)) {\n var e = \"function\" == typeof t.valueOf ? t.valueOf() : t;\n t = V(e) ? e + \"\" : e;\n }\n\n if (\"string\" != typeof t) return 0 === t ? t : +t;\n t = t.replace(Br, \"\");\n var n = Ur.test(t);\n return n || Hr.test(t) ? Wr(t.slice(2), n ? 2 : 8) : Fr.test(t) ? NaN : +t;\n },\n $r = Math.max,\n Yr = Math.min;\n\n var Gr = function Gr(t, e, n) {\n var i,\n o,\n r,\n s,\n a,\n c,\n l = 0,\n d = !1,\n u = !1,\n h = !0;\n if (\"function\" != typeof t) throw new TypeError(\"Expected a function\");\n\n function f(e) {\n var n = i,\n r = o;\n return i = o = void 0, l = e, s = t.apply(r, n);\n }\n\n function m(t) {\n return l = t, a = setTimeout(p, e), d ? f(t) : s;\n }\n\n function g(t) {\n var n = t - c;\n return void 0 === c || n >= e || n < 0 || u && t - l >= r;\n }\n\n function p() {\n var t = zr();\n if (g(t)) return b(t);\n a = setTimeout(p, function (t) {\n var n = e - (t - c);\n return u ? Yr(n, r - (t - l)) : n;\n }(t));\n }\n\n function b(t) {\n return a = void 0, h && i ? f(t) : (i = o = void 0, s);\n }\n\n function w() {\n var t = zr(),\n n = g(t);\n\n if (i = arguments, o = this, c = t, n) {\n if (void 0 === a) return m(c);\n if (u) return clearTimeout(a), a = setTimeout(p, e), f(c);\n }\n\n return void 0 === a && (a = setTimeout(p, e)), s;\n }\n\n return e = qr(e) || 0, V(n) && (d = !!n.leading, r = (u = \"maxWait\" in n) ? $r(qr(n.maxWait) || 0, e) : r, h = \"trailing\" in n ? !!n.trailing : h), w.cancel = function () {\n void 0 !== a && clearTimeout(a), l = 0, i = c = o = a = void 0;\n }, w.flush = function () {\n return void 0 === a ? s : b(zr());\n }, w;\n };\n\n var Kr = /*#__PURE__*/function (_pr3) {\n _inherits(Kr, _pr3);\n\n var _super14 = _createSuper(Kr);\n\n function Kr(t) {\n var _this33;\n\n _classCallCheck(this, Kr);\n\n _this33 = _super14.call(this, t), _this33._fireSelectionChangeDoneDebounced = Gr(function (t) {\n return _this33.document.fire(\"selectionChangeDone\", t);\n }, 200);\n return _this33;\n }\n\n _createClass(Kr, [{\n key: \"observe\",\n value: function observe() {\n var _this34 = this;\n\n var t = this.document;\n t.on(\"keydown\", function (e, n) {\n t.selection.isFake && ko(n.keyCode) && _this34.isEnabled && (n.preventDefault(), _this34._handleSelectionMove(n.keyCode));\n }, {\n priority: \"lowest\"\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(Kr.prototype), \"destroy\", this).call(this), this._fireSelectionChangeDoneDebounced.cancel();\n }\n }, {\n key: \"_handleSelectionMove\",\n value: function _handleSelectionMove(t) {\n var e = this.document.selection,\n n = new no(e.getRanges(), {\n backward: e.isBackward,\n fake: !1\n });\n t != go.arrowleft && t != go.arrowup || n.setTo(n.getFirstPosition()), t != go.arrowright && t != go.arrowdown || n.setTo(n.getLastPosition());\n var i = {\n oldSelection: e,\n newSelection: n,\n domSelection: null\n };\n this.document.fire(\"selectionChange\", i), this._fireSelectionChangeDoneDebounced(i);\n }\n }]);\n\n return Kr;\n }(pr);\n\n var Qr = /*#__PURE__*/function (_pr4) {\n _inherits(Qr, _pr4);\n\n var _super15 = _createSuper(Qr);\n\n function Qr(t) {\n var _this35;\n\n _classCallCheck(this, Qr);\n\n _this35 = _super15.call(this, t), _this35.mutationObserver = t.getObserver(Dr), _this35.selection = _this35.document.selection, _this35.domConverter = t.domConverter, _this35._documents = new WeakSet(), _this35._fireSelectionChangeDoneDebounced = Gr(function (t) {\n return _this35.document.fire(\"selectionChangeDone\", t);\n }, 200), _this35._clearInfiniteLoopInterval = setInterval(function () {\n return _this35._clearInfiniteLoop();\n }, 1e3), _this35._loopbackCounter = 0;\n return _this35;\n }\n\n _createClass(Qr, [{\n key: \"observe\",\n value: function observe(t) {\n var _this36 = this;\n\n var e = t.ownerDocument;\n this._documents.has(e) || (this.listenTo(e, \"selectionchange\", function (t, n) {\n _this36._handleSelectionChange(n, e);\n }), this._documents.add(e));\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(Qr.prototype), \"destroy\", this).call(this), clearInterval(this._clearInfiniteLoopInterval), this._fireSelectionChangeDoneDebounced.cancel();\n }\n }, {\n key: \"_handleSelectionChange\",\n value: function _handleSelectionChange(t, e) {\n if (!this.isEnabled) return;\n var n = e.defaultView.getSelection();\n if (this.checkShouldIgnoreEventFromTarget(n.anchorNode)) return;\n this.mutationObserver.flush();\n var i = this.domConverter.domSelectionToView(n);\n\n if (0 != i.rangeCount) {\n if (this.view.hasDomSelection = !0, !(this.selection.isEqual(i) && this.domConverter.isDomSelectionCorrect(n) || ++this._loopbackCounter > 60)) if (this.selection.isSimilar(i)) this.view.forceRender();else {\n var _t68 = {\n oldSelection: this.selection,\n newSelection: i,\n domSelection: n\n };\n this.document.fire(\"selectionChange\", _t68), this._fireSelectionChangeDoneDebounced(_t68);\n }\n } else this.view.hasDomSelection = !1;\n }\n }, {\n key: \"_clearInfiniteLoop\",\n value: function _clearInfiniteLoop() {\n this._loopbackCounter = 0;\n }\n }]);\n\n return Qr;\n }(pr);\n\n var Jr = /*#__PURE__*/function (_Vr2) {\n _inherits(Jr, _Vr2);\n\n var _super16 = _createSuper(Jr);\n\n function Jr(t) {\n var _this37;\n\n _classCallCheck(this, Jr);\n\n _this37 = _super16.call(this, t), _this37.domEventType = [\"focus\", \"blur\"], _this37.useCapture = !0;\n var e = _this37.document;\n e.on(\"focus\", function () {\n e.isFocused = !0, _this37._renderTimeoutId = setTimeout(function () {\n return t.forceRender();\n }, 50);\n }), e.on(\"blur\", function (n, i) {\n var o = e.selection.editableElement;\n null !== o && o !== i.target || (e.isFocused = !1, t.forceRender());\n });\n return _this37;\n }\n\n _createClass(Jr, [{\n key: \"onDomEvent\",\n value: function onDomEvent(t) {\n this.fire(t.type, t);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._renderTimeoutId && clearTimeout(this._renderTimeoutId), _get(_getPrototypeOf(Jr.prototype), \"destroy\", this).call(this);\n }\n }]);\n\n return Jr;\n }(Vr);\n\n var Zr = /*#__PURE__*/function (_Vr3) {\n _inherits(Zr, _Vr3);\n\n var _super17 = _createSuper(Zr);\n\n function Zr(t) {\n var _this38;\n\n _classCallCheck(this, Zr);\n\n _this38 = _super17.call(this, t), _this38.domEventType = [\"compositionstart\", \"compositionupdate\", \"compositionend\"];\n var e = _this38.document;\n e.on(\"compositionstart\", function () {\n e.isComposing = !0;\n }), e.on(\"compositionend\", function () {\n e.isComposing = !1;\n });\n return _this38;\n }\n\n _createClass(Zr, [{\n key: \"onDomEvent\",\n value: function onDomEvent(t) {\n this.fire(t.type, t);\n }\n }]);\n\n return Zr;\n }(Vr);\n\n var Xr = /*#__PURE__*/function (_Vr4) {\n _inherits(Xr, _Vr4);\n\n var _super18 = _createSuper(Xr);\n\n function Xr(t) {\n var _this39;\n\n _classCallCheck(this, Xr);\n\n _this39 = _super18.call(this, t), _this39.domEventType = [\"beforeinput\"];\n return _this39;\n }\n\n _createClass(Xr, [{\n key: \"onDomEvent\",\n value: function onDomEvent(t) {\n this.fire(t.type, t);\n }\n }]);\n\n return Xr;\n }(Vr);\n\n function ts(t) {\n return \"[object Range]\" == Object.prototype.toString.apply(t);\n }\n\n function es(t) {\n var e = t.ownerDocument.defaultView.getComputedStyle(t);\n return {\n top: parseInt(e.borderTopWidth, 10),\n right: parseInt(e.borderRightWidth, 10),\n bottom: parseInt(e.borderBottomWidth, 10),\n left: parseInt(e.borderLeftWidth, 10)\n };\n }\n\n var ns = [\"top\", \"right\", \"bottom\", \"left\", \"width\", \"height\"];\n\n var is = /*#__PURE__*/function () {\n function is(t) {\n _classCallCheck(this, is);\n\n var e = ts(t);\n if (Object.defineProperty(this, \"_source\", {\n value: t._source || t,\n writable: !0,\n enumerable: !1\n }), nn(t) || e) {\n if (e) {\n var _e69 = is.getDomRangeRects(t);\n\n os(this, is.getBoundingRect(_e69));\n } else os(this, t.getBoundingClientRect());\n } else if (hr(t)) {\n var _e70 = t.innerWidth,\n _n65 = t.innerHeight;\n os(this, {\n top: 0,\n right: _e70,\n bottom: _n65,\n left: 0,\n width: _e70,\n height: _n65\n });\n } else os(this, t);\n }\n\n _createClass(is, [{\n key: \"clone\",\n value: function clone() {\n return new is(this);\n }\n }, {\n key: \"moveTo\",\n value: function moveTo(t, e) {\n return this.top = e, this.right = t + this.width, this.bottom = e + this.height, this.left = t, this;\n }\n }, {\n key: \"moveBy\",\n value: function moveBy(t, e) {\n return this.top += e, this.right += t, this.left += t, this.bottom += e, this;\n }\n }, {\n key: \"getIntersection\",\n value: function getIntersection(t) {\n var e = {\n top: Math.max(this.top, t.top),\n right: Math.min(this.right, t.right),\n bottom: Math.min(this.bottom, t.bottom),\n left: Math.max(this.left, t.left)\n };\n return e.width = e.right - e.left, e.height = e.bottom - e.top, e.width < 0 || e.height < 0 ? null : new is(e);\n }\n }, {\n key: \"getIntersectionArea\",\n value: function getIntersectionArea(t) {\n var e = this.getIntersection(t);\n return e ? e.getArea() : 0;\n }\n }, {\n key: \"getArea\",\n value: function getArea() {\n return this.width * this.height;\n }\n }, {\n key: \"getVisible\",\n value: function getVisible() {\n var t = this._source;\n var e = this.clone();\n\n if (!rs(t)) {\n var _n66 = t.parentNode || t.commonAncestorContainer;\n\n for (; _n66 && !rs(_n66);) {\n var _t69 = new is(_n66),\n _i48 = e.getIntersection(_t69);\n\n if (!_i48) return null;\n _i48.getArea() < e.getArea() && (e = _i48), _n66 = _n66.parentNode;\n }\n }\n\n return e;\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(t) {\n var _iterator84 = _createForOfIteratorHelper(ns),\n _step84;\n\n try {\n for (_iterator84.s(); !(_step84 = _iterator84.n()).done;) {\n var _e71 = _step84.value;\n if (this[_e71] !== t[_e71]) return !1;\n }\n } catch (err) {\n _iterator84.e(err);\n } finally {\n _iterator84.f();\n }\n\n return !0;\n }\n }, {\n key: \"contains\",\n value: function contains(t) {\n var e = this.getIntersection(t);\n return !(!e || !e.isEqual(t));\n }\n }, {\n key: \"excludeScrollbarsAndBorders\",\n value: function excludeScrollbarsAndBorders() {\n var t = this._source;\n var e, n, i;\n if (hr(t)) e = t.innerWidth - t.document.documentElement.clientWidth, n = t.innerHeight - t.document.documentElement.clientHeight, i = t.getComputedStyle(t.document.documentElement).direction;else {\n var _o30 = es(this._source);\n\n e = t.offsetWidth - t.clientWidth - _o30.left - _o30.right, n = t.offsetHeight - t.clientHeight - _o30.top - _o30.bottom, i = t.ownerDocument.defaultView.getComputedStyle(t).direction, this.left += _o30.left, this.top += _o30.top, this.right -= _o30.right, this.bottom -= _o30.bottom, this.width = this.right - this.left, this.height = this.bottom - this.top;\n }\n return this.width -= e, \"ltr\" === i ? this.right -= e : this.left += e, this.height -= n, this.bottom -= n, this;\n }\n }], [{\n key: \"getDomRangeRects\",\n value: function getDomRangeRects(t) {\n var e = [],\n n = Array.from(t.getClientRects());\n\n if (n.length) {\n var _iterator85 = _createForOfIteratorHelper(n),\n _step85;\n\n try {\n for (_iterator85.s(); !(_step85 = _iterator85.n()).done;) {\n var _t70 = _step85.value;\n e.push(new is(_t70));\n }\n } catch (err) {\n _iterator85.e(err);\n } finally {\n _iterator85.f();\n }\n } else {\n var _n67 = t.startContainer;\n zo(_n67) && (_n67 = _n67.parentNode);\n\n var _i49 = new is(_n67.getBoundingClientRect());\n\n _i49.right = _i49.left, _i49.width = 0, e.push(_i49);\n }\n\n return e;\n }\n }, {\n key: \"getBoundingRect\",\n value: function getBoundingRect(t) {\n var e = {\n left: Number.POSITIVE_INFINITY,\n top: Number.POSITIVE_INFINITY,\n right: Number.NEGATIVE_INFINITY,\n bottom: Number.NEGATIVE_INFINITY\n };\n var n = 0;\n\n var _iterator86 = _createForOfIteratorHelper(t),\n _step86;\n\n try {\n for (_iterator86.s(); !(_step86 = _iterator86.n()).done;) {\n var _i50 = _step86.value;\n n++, e.left = Math.min(e.left, _i50.left), e.top = Math.min(e.top, _i50.top), e.right = Math.max(e.right, _i50.right), e.bottom = Math.max(e.bottom, _i50.bottom);\n }\n } catch (err) {\n _iterator86.e(err);\n } finally {\n _iterator86.f();\n }\n\n return 0 == n ? null : (e.width = e.right - e.left, e.height = e.bottom - e.top, new is(e));\n }\n }]);\n\n return is;\n }();\n\n function os(t, e) {\n var _iterator87 = _createForOfIteratorHelper(ns),\n _step87;\n\n try {\n for (_iterator87.s(); !(_step87 = _iterator87.n()).done;) {\n var _n68 = _step87.value;\n t[_n68] = e[_n68];\n }\n } catch (err) {\n _iterator87.e(err);\n } finally {\n _iterator87.f();\n }\n }\n\n function rs(t) {\n return !!nn(t) && t === t.ownerDocument.body;\n }\n\n function ss(_ref28) {\n var t = _ref28.target,\n _ref28$viewportOffset = _ref28.viewportOffset,\n e = _ref28$viewportOffset === void 0 ? 0 : _ref28$viewportOffset;\n var n = fs(t);\n var i = n,\n o = null;\n\n for (; i;) {\n var _r12 = void 0;\n\n _r12 = ms(i == n ? t : o), cs(_r12, function () {\n return gs(t, i);\n });\n\n var _s8 = gs(t, i);\n\n if (as(i, _s8, e), i.parent != i) {\n if (o = i.frameElement, i = i.parent, !o) return;\n } else i = null;\n }\n }\n\n function as(t, e, n) {\n var i = e.clone().moveBy(0, n),\n o = e.clone().moveBy(0, -n),\n r = new is(t).excludeScrollbarsAndBorders();\n\n if (![o, i].every(function (t) {\n return r.contains(t);\n })) {\n var _s9 = t.scrollX,\n _a7 = t.scrollY;\n ds(o, r) ? _a7 -= r.top - e.top + n : ls(i, r) && (_a7 += e.bottom - r.bottom + n), us(e, r) ? _s9 -= r.left - e.left + n : hs(e, r) && (_s9 += e.right - r.right + n), t.scrollTo(_s9, _a7);\n }\n }\n\n function cs(t, e) {\n var n = fs(t);\n var i, o;\n\n for (; t != n.document.body;) {\n o = e(), i = new is(t).excludeScrollbarsAndBorders(), i.contains(o) || (ds(o, i) ? t.scrollTop -= i.top - o.top : ls(o, i) && (t.scrollTop += o.bottom - i.bottom), us(o, i) ? t.scrollLeft -= i.left - o.left : hs(o, i) && (t.scrollLeft += o.right - i.right)), t = t.parentNode;\n }\n }\n\n function ls(t, e) {\n return t.bottom > e.bottom;\n }\n\n function ds(t, e) {\n return t.top < e.top;\n }\n\n function us(t, e) {\n return t.left < e.left;\n }\n\n function hs(t, e) {\n return t.right > e.right;\n }\n\n function fs(t) {\n return ts(t) ? t.startContainer.ownerDocument.defaultView : t.ownerDocument.defaultView;\n }\n\n function ms(t) {\n if (ts(t)) {\n var _e72 = t.commonAncestorContainer;\n return zo(_e72) && (_e72 = _e72.parentNode), _e72;\n }\n\n return t.parentNode;\n }\n\n function gs(t, e) {\n var n = fs(t),\n i = new is(t);\n if (n === e) return i;\n {\n var _t71 = n;\n\n for (; _t71 != e;) {\n var _e73 = _t71.frameElement,\n _n69 = new is(_e73).excludeScrollbarsAndBorders();\n\n i.moveBy(_n69.left, _n69.top), _t71 = _t71.parent;\n }\n }\n return i;\n }\n\n Object.assign({}, {\n scrollViewportToShowTarget: ss,\n scrollAncestorsToShowTarget: function scrollAncestorsToShowTarget(t) {\n cs(ms(t), function () {\n return new is(t);\n });\n }\n });\n\n var ps = /*#__PURE__*/function () {\n function ps(t) {\n var _this40 = this;\n\n _classCallCheck(this, ps);\n\n this.document = new oo(t), this.domConverter = new cr(this.document), this.domRoots = new Map(), this.set(\"isRenderingInProgress\", !1), this.set(\"hasDomSelection\", !1), this._renderer = new tr(this.domConverter, this.document.selection), this._renderer.bind(\"isFocused\").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 Eo(this.document), this.addObserver(Dr), this.addObserver(Qr), this.addObserver(Jr), this.addObserver(jr), this.addObserver(Kr), this.addObserver(Zr), ho.isAndroid && this.addObserver(Xr), this.document.on(\"keydown\", $o), Ao(this), this.on(\"render\", function () {\n _this40._render(), _this40.document.fire(\"layoutChanged\"), _this40._hasChangedSinceTheLastRendering = !1;\n }), this.listenTo(this.document.selection, \"change\", function () {\n _this40._hasChangedSinceTheLastRendering = !0;\n });\n }\n\n _createClass(ps, [{\n key: \"attachDomRoot\",\n value: function attachDomRoot(t) {\n var _this41 = this;\n\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"main\";\n var n = this.document.getRoot(e);\n n._name = t.tagName.toLowerCase();\n var i = {};\n\n for (var _i51 = 0, _Array$from = Array.from(t.attributes); _i51 < _Array$from.length; _i51++) {\n var _ref30 = _Array$from[_i51];\n var _e74 = _ref30.name;\n var _o31 = _ref30.value;\n i[_e74] = _o31, \"class\" === _e74 ? this._writer.addClass(_o31.split(\" \"), n) : this._writer.setAttribute(_e74, _o31, n);\n }\n\n this._initialDomRootAttributes.set(t, i);\n\n var o = function o() {\n _this41._writer.setAttribute(\"contenteditable\", !n.isReadOnly, n), n.isReadOnly ? _this41._writer.addClass(\"ck-read-only\", n) : _this41._writer.removeClass(\"ck-read-only\", n);\n };\n\n o(), this.domRoots.set(e, t), this.domConverter.bindElements(t, n), this._renderer.markToSync(\"children\", n), this._renderer.markToSync(\"attributes\", n), this._renderer.domDocuments.add(t.ownerDocument), n.on(\"change:children\", function (t, e) {\n return _this41._renderer.markToSync(\"children\", e);\n }), n.on(\"change:attributes\", function (t, e) {\n return _this41._renderer.markToSync(\"attributes\", e);\n }), n.on(\"change:text\", function (t, e) {\n return _this41._renderer.markToSync(\"text\", e);\n }), n.on(\"change:isReadOnly\", function () {\n return _this41.change(o);\n }), n.on(\"change\", function () {\n _this41._hasChangedSinceTheLastRendering = !0;\n });\n\n var _iterator88 = _createForOfIteratorHelper(this._observers.values()),\n _step88;\n\n try {\n for (_iterator88.s(); !(_step88 = _iterator88.n()).done;) {\n var _n70 = _step88.value;\n\n _n70.observe(t, e);\n }\n } catch (err) {\n _iterator88.e(err);\n } finally {\n _iterator88.f();\n }\n }\n }, {\n key: \"detachDomRoot\",\n value: function detachDomRoot(t) {\n var e = this.domRoots.get(t);\n Array.from(e.attributes).forEach(function (_ref31) {\n var t = _ref31.name;\n return e.removeAttribute(t);\n });\n\n var n = this._initialDomRootAttributes.get(e);\n\n for (var _t72 in n) {\n e.setAttribute(_t72, n[_t72]);\n }\n\n this.domRoots[\"delete\"](t), this.domConverter.unbindDomElement(e);\n }\n }, {\n key: \"getDomRoot\",\n value: function getDomRoot() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"main\";\n return this.domRoots.get(t);\n }\n }, {\n key: \"addObserver\",\n value: function addObserver(t) {\n var e = this._observers.get(t);\n\n if (e) return e;\n e = new t(this), this._observers.set(t, e);\n\n var _iterator89 = _createForOfIteratorHelper(this.domRoots),\n _step89;\n\n try {\n for (_iterator89.s(); !(_step89 = _iterator89.n()).done;) {\n var _ref34 = _step89.value;\n\n var _ref33 = _slicedToArray(_ref34, 2);\n\n var _t73 = _ref33[0];\n var _n71 = _ref33[1];\n e.observe(_n71, _t73);\n }\n } catch (err) {\n _iterator89.e(err);\n } finally {\n _iterator89.f();\n }\n\n return e.enable(), e;\n }\n }, {\n key: \"getObserver\",\n value: function getObserver(t) {\n return this._observers.get(t);\n }\n }, {\n key: \"disableObservers\",\n value: function disableObservers() {\n var _iterator90 = _createForOfIteratorHelper(this._observers.values()),\n _step90;\n\n try {\n for (_iterator90.s(); !(_step90 = _iterator90.n()).done;) {\n var _t74 = _step90.value;\n\n _t74.disable();\n }\n } catch (err) {\n _iterator90.e(err);\n } finally {\n _iterator90.f();\n }\n }\n }, {\n key: \"enableObservers\",\n value: function enableObservers() {\n var _iterator91 = _createForOfIteratorHelper(this._observers.values()),\n _step91;\n\n try {\n for (_iterator91.s(); !(_step91 = _iterator91.n()).done;) {\n var _t75 = _step91.value;\n\n _t75.enable();\n }\n } catch (err) {\n _iterator91.e(err);\n } finally {\n _iterator91.f();\n }\n }\n }, {\n key: \"scrollToTheSelection\",\n value: function scrollToTheSelection() {\n var t = this.document.selection.getFirstRange();\n t && ss({\n target: this.domConverter.viewRangeToDom(t),\n viewportOffset: 20\n });\n }\n }, {\n key: \"focus\",\n value: function focus() {\n if (!this.document.isFocused) {\n var _t76 = this.document.selection.editableElement;\n _t76 && (this.domConverter.focus(_t76), this.forceRender());\n }\n }\n }, {\n key: \"change\",\n value: function change(t) {\n if (this.isRenderingInProgress || this._postFixersInProgress) throw new hn.a(\"cannot-change-view-tree\", this);\n\n try {\n if (this._ongoingChange) return t(this._writer);\n this._ongoingChange = !0;\n\n var _e75 = t(this._writer);\n\n return this._ongoingChange = !1, !this._renderingDisabled && this._hasChangedSinceTheLastRendering && (this._postFixersInProgress = !0, this.document._callPostFixers(this._writer), this._postFixersInProgress = !1, this.fire(\"render\")), _e75;\n } catch (t) {\n hn.a.rethrowUnexpectedError(t, this);\n }\n }\n }, {\n key: \"forceRender\",\n value: function forceRender() {\n this._hasChangedSinceTheLastRendering = !0, this.change(function () {});\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _iterator92 = _createForOfIteratorHelper(this._observers.values()),\n _step92;\n\n try {\n for (_iterator92.s(); !(_step92 = _iterator92.n()).done;) {\n var _t77 = _step92.value;\n\n _t77.destroy();\n }\n } catch (err) {\n _iterator92.e(err);\n } finally {\n _iterator92.f();\n }\n\n this.document.destroy(), this.stopListening();\n }\n }, {\n key: \"createPositionAt\",\n value: function createPositionAt(t, e) {\n return Zi._createAt(t, e);\n }\n }, {\n key: \"createPositionAfter\",\n value: function createPositionAfter(t) {\n return Zi._createAfter(t);\n }\n }, {\n key: \"createPositionBefore\",\n value: function createPositionBefore(t) {\n return Zi._createBefore(t);\n }\n }, {\n key: \"createRange\",\n value: function createRange(t, e) {\n return new Xi(t, e);\n }\n }, {\n key: \"createRangeOn\",\n value: function createRangeOn(t) {\n return Xi._createOn(t);\n }\n }, {\n key: \"createRangeIn\",\n value: function createRangeIn(t) {\n return Xi._createIn(t);\n }\n }, {\n key: \"createSelection\",\n value: function createSelection(t, e, n) {\n return new no(t, e, n);\n }\n }, {\n key: \"_disableRendering\",\n value: function _disableRendering(t) {\n this._renderingDisabled = t, 0 == t && this.change(function () {});\n }\n }, {\n key: \"_render\",\n value: function _render() {\n this.isRenderingInProgress = !0, this.disableObservers(), this._renderer.render(), this.enableObservers(), this.isRenderingInProgress = !1;\n }\n }]);\n\n return ps;\n }();\n\n xn(ps, Ui);\n\n var bs = /*#__PURE__*/function () {\n function bs(t) {\n _classCallCheck(this, bs);\n\n this.parent = null, this._attrs = Ln(t);\n }\n\n _createClass(bs, [{\n key: \"isAttached\",\n value: function isAttached() {\n return this.root.is(\"rootElement\");\n }\n }, {\n key: \"getPath\",\n value: function getPath() {\n var t = [];\n var e = this;\n\n for (; e.parent;) {\n t.unshift(e.startOffset), e = e.parent;\n }\n\n return t;\n }\n }, {\n key: \"getAncestors\",\n value: function getAncestors() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n includeSelf: !1,\n parentFirst: !1\n };\n var e = [];\n var n = t.includeSelf ? this : this.parent;\n\n for (; n;) {\n e[t.parentFirst ? \"push\" : \"unshift\"](n), n = n.parent;\n }\n\n return e;\n }\n }, {\n key: \"getCommonAncestor\",\n value: function getCommonAncestor(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var n = this.getAncestors(e),\n i = t.getAncestors(e);\n var o = 0;\n\n for (; n[o] == i[o] && n[o];) {\n o++;\n }\n\n return 0 === o ? null : n[o - 1];\n }\n }, {\n key: \"isBefore\",\n value: function isBefore(t) {\n if (this == t) return !1;\n if (this.root !== t.root) return !1;\n var e = this.getPath(),\n n = t.getPath(),\n i = In(e, n);\n\n switch (i) {\n case \"prefix\":\n return !0;\n\n case \"extension\":\n return !1;\n\n default:\n return e[i] < n[i];\n }\n }\n }, {\n key: \"isAfter\",\n value: function isAfter(t) {\n return this != t && this.root === t.root && !this.isBefore(t);\n }\n }, {\n key: \"hasAttribute\",\n value: function hasAttribute(t) {\n return this._attrs.has(t);\n }\n }, {\n key: \"getAttribute\",\n value: function getAttribute(t) {\n return this._attrs.get(t);\n }\n }, {\n key: \"getAttributes\",\n value: function getAttributes() {\n return this._attrs.entries();\n }\n }, {\n key: \"getAttributeKeys\",\n value: function getAttributeKeys() {\n return this._attrs.keys();\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = {};\n return this._attrs.size && (t.attributes = Array.from(this._attrs).reduce(function (t, e) {\n return t[e[0]] = e[1], t;\n }, {})), t;\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"node\" === t || \"model:node\" === t;\n }\n }, {\n key: \"_clone\",\n value: function _clone() {\n return new bs(this._attrs);\n }\n }, {\n key: \"_remove\",\n value: function _remove() {\n this.parent._removeChildren(this.index);\n }\n }, {\n key: \"_setAttribute\",\n value: function _setAttribute(t, e) {\n this._attrs.set(t, e);\n }\n }, {\n key: \"_setAttributesTo\",\n value: function _setAttributesTo(t) {\n this._attrs = Ln(t);\n }\n }, {\n key: \"_removeAttribute\",\n value: function _removeAttribute(t) {\n return this._attrs[\"delete\"](t);\n }\n }, {\n key: \"_clearAttributes\",\n value: function _clearAttributes() {\n this._attrs.clear();\n }\n }, {\n key: \"index\",\n get: function get() {\n var t;\n if (!this.parent) return null;\n if (null === (t = this.parent.getChildIndex(this))) throw new hn.a(\"model-node-not-found-in-parent\", this);\n return t;\n }\n }, {\n key: \"startOffset\",\n get: function get() {\n var t;\n if (!this.parent) return null;\n if (null === (t = this.parent.getChildStartOffset(this))) throw new hn.a(\"model-node-not-found-in-parent\", this);\n return t;\n }\n }, {\n key: \"offsetSize\",\n get: function get() {\n return 1;\n }\n }, {\n key: \"endOffset\",\n get: function get() {\n return this.parent ? this.startOffset + this.offsetSize : null;\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var t = this.index;\n return null !== t && this.parent.getChild(t + 1) || null;\n }\n }, {\n key: \"previousSibling\",\n get: function get() {\n var t = this.index;\n return null !== t && this.parent.getChild(t - 1) || null;\n }\n }, {\n key: \"root\",\n get: function get() {\n var t = this;\n\n for (; t.parent;) {\n t = t.parent;\n }\n\n return t;\n }\n }]);\n\n return bs;\n }();\n\n var ws = /*#__PURE__*/function (_bs) {\n _inherits(ws, _bs);\n\n var _super19 = _createSuper(ws);\n\n function ws(t, e) {\n var _this42;\n\n _classCallCheck(this, ws);\n\n _this42 = _super19.call(this, e), _this42._data = t || \"\";\n return _this42;\n }\n\n _createClass(ws, [{\n key: \"is\",\n value: function is(t) {\n return \"$text\" === t || \"model:$text\" === t || \"text\" === t || \"model:text\" === t || \"node\" === t || \"model:node\" === t;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = _get(_getPrototypeOf(ws.prototype), \"toJSON\", this).call(this);\n\n return t.data = this.data, t;\n }\n }, {\n key: \"_clone\",\n value: function _clone() {\n return new ws(this.data, this.getAttributes());\n }\n }, {\n key: \"offsetSize\",\n get: function get() {\n return this.data.length;\n }\n }, {\n key: \"data\",\n get: function get() {\n return this._data;\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(t) {\n return new ws(t.data, t.attributes);\n }\n }]);\n\n return ws;\n }(bs);\n\n var ks = /*#__PURE__*/function () {\n function ks(t, e, n) {\n _classCallCheck(this, ks);\n\n if (this.textNode = t, e < 0 || e > t.offsetSize) throw new hn.a(\"model-textproxy-wrong-offsetintext\", this);\n if (n < 0 || e + n > t.offsetSize) throw new hn.a(\"model-textproxy-wrong-length\", this);\n this.data = t.data.substring(e, e + n), this.offsetInText = e;\n }\n\n _createClass(ks, [{\n key: \"is\",\n value: function is(t) {\n return \"$textProxy\" === t || \"model:$textProxy\" === t || \"textProxy\" === t || \"model:textProxy\" === t;\n }\n }, {\n key: \"getPath\",\n value: function getPath() {\n var t = this.textNode.getPath();\n return t.length > 0 && (t[t.length - 1] += this.offsetInText), t;\n }\n }, {\n key: \"getAncestors\",\n value: function getAncestors() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n includeSelf: !1,\n parentFirst: !1\n };\n var e = [];\n var n = t.includeSelf ? this : this.parent;\n\n for (; n;) {\n e[t.parentFirst ? \"push\" : \"unshift\"](n), n = n.parent;\n }\n\n return e;\n }\n }, {\n key: \"hasAttribute\",\n value: function hasAttribute(t) {\n return this.textNode.hasAttribute(t);\n }\n }, {\n key: \"getAttribute\",\n value: function getAttribute(t) {\n return this.textNode.getAttribute(t);\n }\n }, {\n key: \"getAttributes\",\n value: function getAttributes() {\n return this.textNode.getAttributes();\n }\n }, {\n key: \"getAttributeKeys\",\n value: function getAttributeKeys() {\n return this.textNode.getAttributeKeys();\n }\n }, {\n key: \"startOffset\",\n get: function get() {\n return null !== this.textNode.startOffset ? this.textNode.startOffset + this.offsetInText : null;\n }\n }, {\n key: \"offsetSize\",\n get: function get() {\n return this.data.length;\n }\n }, {\n key: \"endOffset\",\n get: function get() {\n return null !== this.startOffset ? this.startOffset + this.offsetSize : null;\n }\n }, {\n key: \"isPartial\",\n get: function get() {\n return this.offsetSize !== this.textNode.offsetSize;\n }\n }, {\n key: \"parent\",\n get: function get() {\n return this.textNode.parent;\n }\n }, {\n key: \"root\",\n get: function get() {\n return this.textNode.root;\n }\n }]);\n\n return ks;\n }();\n\n var _s = /*#__PURE__*/function () {\n function _s(t) {\n _classCallCheck(this, _s);\n\n this._nodes = [], t && this._insertNodes(0, t);\n }\n\n _createClass(_s, [{\n key: Symbol.iterator,\n value: function value() {\n return this._nodes[Symbol.iterator]();\n }\n }, {\n key: \"getNode\",\n value: function getNode(t) {\n return this._nodes[t] || null;\n }\n }, {\n key: \"getNodeIndex\",\n value: function getNodeIndex(t) {\n var e = this._nodes.indexOf(t);\n\n return -1 == e ? null : e;\n }\n }, {\n key: \"getNodeStartOffset\",\n value: function getNodeStartOffset(t) {\n var e = this.getNodeIndex(t);\n return null === e ? null : this._nodes.slice(0, e).reduce(function (t, e) {\n return t + e.offsetSize;\n }, 0);\n }\n }, {\n key: \"indexToOffset\",\n value: function indexToOffset(t) {\n if (t == this._nodes.length) return this.maxOffset;\n var e = this._nodes[t];\n if (!e) throw new hn.a(\"model-nodelist-index-out-of-bounds\", this);\n return this.getNodeStartOffset(e);\n }\n }, {\n key: \"offsetToIndex\",\n value: function offsetToIndex(t) {\n var e = 0;\n\n var _iterator93 = _createForOfIteratorHelper(this._nodes),\n _step93;\n\n try {\n for (_iterator93.s(); !(_step93 = _iterator93.n()).done;) {\n var _n72 = _step93.value;\n if (t >= e && t < e + _n72.offsetSize) return this.getNodeIndex(_n72);\n e += _n72.offsetSize;\n }\n } catch (err) {\n _iterator93.e(err);\n } finally {\n _iterator93.f();\n }\n\n if (e != t) throw new hn.a(\"model-nodelist-offset-out-of-bounds\", this, {\n offset: t,\n nodeList: this\n });\n return this.length;\n }\n }, {\n key: \"_insertNodes\",\n value: function _insertNodes(t, e) {\n var _this$_nodes;\n\n var _iterator94 = _createForOfIteratorHelper(e),\n _step94;\n\n try {\n for (_iterator94.s(); !(_step94 = _iterator94.n()).done;) {\n var _t78 = _step94.value;\n if (!(_t78 instanceof bs)) throw new hn.a(\"model-nodelist-insertnodes-not-node\", this);\n }\n } catch (err) {\n _iterator94.e(err);\n } finally {\n _iterator94.f();\n }\n\n (_this$_nodes = this._nodes).splice.apply(_this$_nodes, [t, 0].concat(_toConsumableArray(e)));\n }\n }, {\n key: \"_removeNodes\",\n value: function _removeNodes(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return this._nodes.splice(t, e);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this._nodes.map(function (t) {\n return t.toJSON();\n });\n }\n }, {\n key: \"length\",\n get: function get() {\n return this._nodes.length;\n }\n }, {\n key: \"maxOffset\",\n get: function get() {\n return this._nodes.reduce(function (t, e) {\n return t + e.offsetSize;\n }, 0);\n }\n }]);\n\n return _s;\n }();\n\n var vs = /*#__PURE__*/function (_bs2) {\n _inherits(vs, _bs2);\n\n var _super20 = _createSuper(vs);\n\n function vs(t, e, n) {\n var _this43;\n\n _classCallCheck(this, vs);\n\n _this43 = _super20.call(this, e), _this43.name = t, _this43._children = new _s(), n && _this43._insertChild(0, n);\n return _this43;\n }\n\n _createClass(vs, [{\n key: \"is\",\n value: function is(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return e ? e === this.name && (\"element\" === t || \"model:element\" === t) : \"element\" === t || \"model:element\" === t || \"node\" === t || \"model:node\" === t;\n }\n }, {\n key: \"getChild\",\n value: function getChild(t) {\n return this._children.getNode(t);\n }\n }, {\n key: \"getChildren\",\n value: function getChildren() {\n return this._children[Symbol.iterator]();\n }\n }, {\n key: \"getChildIndex\",\n value: function getChildIndex(t) {\n return this._children.getNodeIndex(t);\n }\n }, {\n key: \"getChildStartOffset\",\n value: function getChildStartOffset(t) {\n return this._children.getNodeStartOffset(t);\n }\n }, {\n key: \"offsetToIndex\",\n value: function offsetToIndex(t) {\n return this._children.offsetToIndex(t);\n }\n }, {\n key: \"getNodeByPath\",\n value: function getNodeByPath(t) {\n var e = this;\n\n var _iterator95 = _createForOfIteratorHelper(t),\n _step95;\n\n try {\n for (_iterator95.s(); !(_step95 = _iterator95.n()).done;) {\n var _n73 = _step95.value;\n e = e.getChild(e.offsetToIndex(_n73));\n }\n } catch (err) {\n _iterator95.e(err);\n } finally {\n _iterator95.f();\n }\n\n return e;\n }\n }, {\n key: \"findAncestor\",\n value: function findAncestor(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n includeSelf: !1\n };\n var n = e.includeSelf ? this : this.parent;\n\n for (; n;) {\n if (n.name === t) return n;\n n = n.parent;\n }\n\n return null;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = _get(_getPrototypeOf(vs.prototype), \"toJSON\", this).call(this);\n\n if (t.name = this.name, this._children.length > 0) {\n t.children = [];\n\n var _iterator96 = _createForOfIteratorHelper(this._children),\n _step96;\n\n try {\n for (_iterator96.s(); !(_step96 = _iterator96.n()).done;) {\n var _e76 = _step96.value;\n t.children.push(_e76.toJSON());\n }\n } catch (err) {\n _iterator96.e(err);\n } finally {\n _iterator96.f();\n }\n }\n\n return t;\n }\n }, {\n key: \"_clone\",\n value: function _clone() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n var e = t ? Array.from(this._children).map(function (t) {\n return t._clone(!0);\n }) : null;\n return new vs(this.name, this.getAttributes(), e);\n }\n }, {\n key: \"_appendChild\",\n value: function _appendChild(t) {\n this._insertChild(this.childCount, t);\n }\n }, {\n key: \"_insertChild\",\n value: function _insertChild(t, e) {\n var n = function (t) {\n if (\"string\" == typeof t) return [new ws(t)];\n yn(t) || (t = [t]);\n return Array.from(t).map(function (t) {\n return \"string\" == typeof t ? new ws(t) : t instanceof ks ? new ws(t.data, t.getAttributes()) : t;\n });\n }(e);\n\n var _iterator97 = _createForOfIteratorHelper(n),\n _step97;\n\n try {\n for (_iterator97.s(); !(_step97 = _iterator97.n()).done;) {\n var _t79 = _step97.value;\n null !== _t79.parent && _t79._remove(), _t79.parent = this;\n }\n } catch (err) {\n _iterator97.e(err);\n } finally {\n _iterator97.f();\n }\n\n this._children._insertNodes(t, n);\n }\n }, {\n key: \"_removeChildren\",\n value: function _removeChildren(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n\n var n = this._children._removeNodes(t, e);\n\n var _iterator98 = _createForOfIteratorHelper(n),\n _step98;\n\n try {\n for (_iterator98.s(); !(_step98 = _iterator98.n()).done;) {\n var _t80 = _step98.value;\n _t80.parent = null;\n }\n } catch (err) {\n _iterator98.e(err);\n } finally {\n _iterator98.f();\n }\n\n return n;\n }\n }, {\n key: \"childCount\",\n get: function get() {\n return this._children.length;\n }\n }, {\n key: \"maxOffset\",\n get: function get() {\n return this._children.maxOffset;\n }\n }, {\n key: \"isEmpty\",\n get: function get() {\n return 0 === this.childCount;\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(t) {\n var e = null;\n\n if (t.children) {\n e = [];\n\n var _iterator99 = _createForOfIteratorHelper(t.children),\n _step99;\n\n try {\n for (_iterator99.s(); !(_step99 = _iterator99.n()).done;) {\n var _n74 = _step99.value;\n _n74.name ? e.push(vs.fromJSON(_n74)) : e.push(ws.fromJSON(_n74));\n }\n } catch (err) {\n _iterator99.e(err);\n } finally {\n _iterator99.f();\n }\n }\n\n return new vs(t.name, t.attributes, e);\n }\n }]);\n\n return vs;\n }(bs);\n\n var ys = /*#__PURE__*/function () {\n function ys() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ys);\n\n if (!t.boundaries && !t.startPosition) throw new hn.a(\"model-tree-walker-no-start-position\", null);\n var e = t.direction || \"forward\";\n if (\"forward\" != e && \"backward\" != e) throw new hn.a(\"model-tree-walker-unknown-direction\", t, {\n direction: e\n });\n this.direction = e, this.boundaries = t.boundaries || null, t.startPosition ? this.position = t.startPosition.clone() : this.position = As._createAt(this.boundaries[\"backward\" == this.direction ? \"end\" : \"start\"]), this.position.stickiness = \"toNone\", this.singleCharacters = !!t.singleCharacters, this.shallow = !!t.shallow, this.ignoreElementEnd = !!t.ignoreElementEnd, this._boundaryStartParent = this.boundaries ? this.boundaries.start.parent : null, this._boundaryEndParent = this.boundaries ? this.boundaries.end.parent : null, this._visitedParent = this.position.parent;\n }\n\n _createClass(ys, [{\n key: Symbol.iterator,\n value: function value() {\n return this;\n }\n }, {\n key: \"skip\",\n value: function skip(t) {\n var e, n, i, o;\n\n do {\n var _this$next2;\n\n i = this.position, o = this._visitedParent, (_this$next2 = this.next(), e = _this$next2.done, n = _this$next2.value, _this$next2);\n } while (!e && t(n));\n\n e || (this.position = i, this._visitedParent = o);\n }\n }, {\n key: \"next\",\n value: function next() {\n return \"forward\" == this.direction ? this._next() : this._previous();\n }\n }, {\n key: \"_next\",\n value: function _next() {\n var t = this.position,\n e = this.position.clone(),\n n = this._visitedParent;\n if (null === n.parent && e.offset === n.maxOffset) return {\n done: !0\n };\n if (n === this._boundaryEndParent && e.offset == this.boundaries.end.offset) return {\n done: !0\n };\n var i = e.parent,\n o = Cs(e, i),\n r = o || Ts(e, i, o);\n if (r instanceof vs) return this.shallow ? e.offset++ : (e.path.push(0), this._visitedParent = r), this.position = e, xs(\"elementStart\", r, t, e, 1);\n\n if (r instanceof ws) {\n var _i52;\n\n if (this.singleCharacters) _i52 = 1;else {\n var _t81 = r.endOffset;\n this._boundaryEndParent == n && this.boundaries.end.offset < _t81 && (_t81 = this.boundaries.end.offset), _i52 = _t81 - e.offset;\n }\n\n var _o32 = e.offset - r.startOffset,\n _s10 = new ks(r, _o32, _i52);\n\n return e.offset += _i52, this.position = e, xs(\"text\", _s10, t, e, _i52);\n }\n\n return e.path.pop(), e.offset++, this.position = e, this._visitedParent = n.parent, this.ignoreElementEnd ? this._next() : xs(\"elementEnd\", n, t, e);\n }\n }, {\n key: \"_previous\",\n value: function _previous() {\n var t = this.position,\n e = this.position.clone(),\n n = this._visitedParent;\n if (null === n.parent && 0 === e.offset) return {\n done: !0\n };\n if (n == this._boundaryStartParent && e.offset == this.boundaries.start.offset) return {\n done: !0\n };\n var i = e.parent,\n o = Cs(e, i),\n r = o || Ps(e, i, o);\n if (r instanceof vs) return e.offset--, this.shallow ? (this.position = e, xs(\"elementStart\", r, t, e, 1)) : (e.path.push(r.maxOffset), this.position = e, this._visitedParent = r, this.ignoreElementEnd ? this._previous() : xs(\"elementEnd\", r, t, e));\n\n if (r instanceof ws) {\n var _i53;\n\n if (this.singleCharacters) _i53 = 1;else {\n var _t82 = r.startOffset;\n this._boundaryStartParent == n && this.boundaries.start.offset > _t82 && (_t82 = this.boundaries.start.offset), _i53 = e.offset - _t82;\n }\n\n var _o33 = e.offset - r.startOffset,\n _s11 = new ks(r, _o33 - _i53, _i53);\n\n return e.offset -= _i53, this.position = e, xs(\"text\", _s11, t, e, _i53);\n }\n\n return e.path.pop(), this.position = e, this._visitedParent = n.parent, xs(\"elementStart\", n, t, e, 1);\n }\n }]);\n\n return ys;\n }();\n\n function xs(t, e, n, i, o) {\n return {\n done: !1,\n value: {\n type: t,\n item: e,\n previousPosition: n,\n nextPosition: i,\n length: o\n }\n };\n }\n\n var As = /*#__PURE__*/function () {\n function As(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"toNone\";\n\n _classCallCheck(this, As);\n\n if (!t.is(\"element\") && !t.is(\"documentFragment\")) throw new hn.a(\"model-position-root-invalid\", t);\n if (!(e instanceof Array) || 0 === e.length) throw new hn.a(\"model-position-path-incorrect-format\", t, {\n path: e\n });\n t.is(\"rootElement\") ? e = e.slice() : (e = [].concat(_toConsumableArray(t.getPath()), _toConsumableArray(e)), t = t.root), this.root = t, this.path = e, this.stickiness = n;\n }\n\n _createClass(As, [{\n key: \"compareWith\",\n value: function compareWith(t) {\n if (this.root != t.root) return \"different\";\n var e = In(this.path, t.path);\n\n switch (e) {\n case \"same\":\n return \"same\";\n\n case \"prefix\":\n return \"before\";\n\n case \"extension\":\n return \"after\";\n\n default:\n return this.path[e] < t.path[e] ? \"before\" : \"after\";\n }\n }\n }, {\n key: \"getLastMatchingPosition\",\n value: function getLastMatchingPosition(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n e.startPosition = this;\n var n = new ys(e);\n return n.skip(t), n.position;\n }\n }, {\n key: \"getParentPath\",\n value: function getParentPath() {\n return this.path.slice(0, -1);\n }\n }, {\n key: \"getAncestors\",\n value: function getAncestors() {\n var t = this.parent;\n return t.is(\"documentFragment\") ? [t] : t.getAncestors({\n includeSelf: !0\n });\n }\n }, {\n key: \"findAncestor\",\n value: function findAncestor(t) {\n var e = this.parent;\n return e.is(\"element\") ? e.findAncestor(t, {\n includeSelf: !0\n }) : null;\n }\n }, {\n key: \"getCommonPath\",\n value: function getCommonPath(t) {\n if (this.root != t.root) return [];\n var e = In(this.path, t.path),\n n = \"string\" == typeof e ? Math.min(this.path.length, t.path.length) : e;\n return this.path.slice(0, n);\n }\n }, {\n key: \"getCommonAncestor\",\n value: function getCommonAncestor(t) {\n var e = this.getAncestors(),\n n = t.getAncestors();\n var i = 0;\n\n for (; e[i] == n[i] && e[i];) {\n i++;\n }\n\n return 0 === i ? null : e[i - 1];\n }\n }, {\n key: \"getShiftedBy\",\n value: function getShiftedBy(t) {\n var e = this.clone(),\n n = e.offset + t;\n return e.offset = n < 0 ? 0 : n, e;\n }\n }, {\n key: \"isAfter\",\n value: function isAfter(t) {\n return \"after\" == this.compareWith(t);\n }\n }, {\n key: \"isBefore\",\n value: function isBefore(t) {\n return \"before\" == this.compareWith(t);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(t) {\n return \"same\" == this.compareWith(t);\n }\n }, {\n key: \"isTouching\",\n value: function isTouching(t) {\n var e = null,\n n = null;\n\n switch (this.compareWith(t)) {\n case \"same\":\n return !0;\n\n case \"before\":\n e = As._createAt(this), n = As._createAt(t);\n break;\n\n case \"after\":\n e = As._createAt(t), n = As._createAt(this);\n break;\n\n default:\n return !1;\n }\n\n var i = e.parent;\n\n for (; e.path.length + n.path.length;) {\n if (e.isEqual(n)) return !0;\n\n if (e.path.length > n.path.length) {\n if (e.offset !== i.maxOffset) return !1;\n e.path = e.path.slice(0, -1), i = i.parent, e.offset++;\n } else {\n if (0 !== n.offset) return !1;\n n.path = n.path.slice(0, -1);\n }\n }\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"position\" === t || \"model:position\" === t;\n }\n }, {\n key: \"hasSameParentAs\",\n value: function hasSameParentAs(t) {\n if (this.root !== t.root) return !1;\n return \"same\" == In(this.getParentPath(), t.getParentPath());\n }\n }, {\n key: \"getTransformedByOperation\",\n value: function getTransformedByOperation(t) {\n var e;\n\n switch (t.type) {\n case \"insert\":\n e = this._getTransformedByInsertOperation(t);\n break;\n\n case \"move\":\n case \"remove\":\n case \"reinsert\":\n e = this._getTransformedByMoveOperation(t);\n break;\n\n case \"split\":\n e = this._getTransformedBySplitOperation(t);\n break;\n\n case \"merge\":\n e = this._getTransformedByMergeOperation(t);\n break;\n\n default:\n e = As._createAt(this);\n }\n\n return e;\n }\n }, {\n key: \"_getTransformedByInsertOperation\",\n value: function _getTransformedByInsertOperation(t) {\n return this._getTransformedByInsertion(t.position, t.howMany);\n }\n }, {\n key: \"_getTransformedByMoveOperation\",\n value: function _getTransformedByMoveOperation(t) {\n return this._getTransformedByMove(t.sourcePosition, t.targetPosition, t.howMany);\n }\n }, {\n key: \"_getTransformedBySplitOperation\",\n value: function _getTransformedBySplitOperation(t) {\n var e = t.movedRange;\n return e.containsPosition(this) || e.start.isEqual(this) && \"toNext\" == this.stickiness ? this._getCombined(t.splitPosition, t.moveTargetPosition) : t.graveyardPosition ? this._getTransformedByMove(t.graveyardPosition, t.insertionPosition, 1) : this._getTransformedByInsertion(t.insertionPosition, 1);\n }\n }, {\n key: \"_getTransformedByMergeOperation\",\n value: function _getTransformedByMergeOperation(t) {\n var e = t.movedRange;\n var n;\n return e.containsPosition(this) || e.start.isEqual(this) ? (n = this._getCombined(t.sourcePosition, t.targetPosition), t.sourcePosition.isBefore(t.targetPosition) && (n = n._getTransformedByDeletion(t.deletionPosition, 1))) : n = this.isEqual(t.deletionPosition) ? As._createAt(t.deletionPosition) : this._getTransformedByMove(t.deletionPosition, t.graveyardPosition, 1), n;\n }\n }, {\n key: \"_getTransformedByDeletion\",\n value: function _getTransformedByDeletion(t, e) {\n var n = As._createAt(this);\n\n if (this.root != t.root) return n;\n\n if (\"same\" == In(t.getParentPath(), this.getParentPath())) {\n if (t.offset < this.offset) {\n if (t.offset + e > this.offset) return null;\n n.offset -= e;\n }\n } else if (\"prefix\" == In(t.getParentPath(), this.getParentPath())) {\n var _i54 = t.path.length - 1;\n\n if (t.offset <= this.path[_i54]) {\n if (t.offset + e > this.path[_i54]) return null;\n n.path[_i54] -= e;\n }\n }\n\n return n;\n }\n }, {\n key: \"_getTransformedByInsertion\",\n value: function _getTransformedByInsertion(t, e) {\n var n = As._createAt(this);\n\n if (this.root != t.root) return n;\n if (\"same\" == In(t.getParentPath(), this.getParentPath())) (t.offset < this.offset || t.offset == this.offset && \"toPrevious\" != this.stickiness) && (n.offset += e);else if (\"prefix\" == In(t.getParentPath(), this.getParentPath())) {\n var _i55 = t.path.length - 1;\n\n t.offset <= this.path[_i55] && (n.path[_i55] += e);\n }\n return n;\n }\n }, {\n key: \"_getTransformedByMove\",\n value: function _getTransformedByMove(t, e, n) {\n if (e = e._getTransformedByDeletion(t, n), t.isEqual(e)) return As._createAt(this);\n\n var i = this._getTransformedByDeletion(t, n);\n\n return null === i || t.isEqual(this) && \"toNext\" == this.stickiness || t.getShiftedBy(n).isEqual(this) && \"toPrevious\" == this.stickiness ? this._getCombined(t, e) : i._getTransformedByInsertion(e, n);\n }\n }, {\n key: \"_getCombined\",\n value: function _getCombined(t, e) {\n var n = t.path.length - 1,\n i = As._createAt(e);\n\n return i.stickiness = this.stickiness, i.offset = i.offset + this.path[n] - t.offset, i.path = [].concat(_toConsumableArray(i.path), _toConsumableArray(this.path.slice(n + 1))), i;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n root: this.root.toJSON(),\n path: Array.from(this.path),\n stickiness: this.stickiness\n };\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new this.constructor(this.root, this.path, this.stickiness);\n }\n }, {\n key: \"offset\",\n get: function get() {\n return this.path[this.path.length - 1];\n },\n set: function set(t) {\n this.path[this.path.length - 1] = t;\n }\n }, {\n key: \"parent\",\n get: function get() {\n var t = this.root;\n\n for (var _e77 = 0; _e77 < this.path.length - 1; _e77++) {\n if (t = t.getChild(t.offsetToIndex(this.path[_e77])), !t) throw new hn.a(\"model-position-path-incorrect\", this, {\n position: this\n });\n }\n\n if (t.is(\"$text\")) throw new hn.a(\"model-position-path-incorrect\", this, {\n position: this\n });\n return t;\n }\n }, {\n key: \"index\",\n get: function get() {\n return this.parent.offsetToIndex(this.offset);\n }\n }, {\n key: \"textNode\",\n get: function get() {\n return Cs(this, this.parent);\n }\n }, {\n key: \"nodeAfter\",\n get: function get() {\n var t = this.parent;\n return Ts(this, t, Cs(this, t));\n }\n }, {\n key: \"nodeBefore\",\n get: function get() {\n var t = this.parent;\n return Ps(this, t, Cs(this, t));\n }\n }, {\n key: \"isAtStart\",\n get: function get() {\n return 0 === this.offset;\n }\n }, {\n key: \"isAtEnd\",\n get: function get() {\n return this.offset == this.parent.maxOffset;\n }\n }], [{\n key: \"_createAt\",\n value: function _createAt(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"toNone\";\n if (t instanceof As) return new As(t.root, t.path, t.stickiness);\n {\n var _i56 = t;\n if (\"end\" == e) e = _i56.maxOffset;else {\n if (\"before\" == e) return this._createBefore(_i56, n);\n if (\"after\" == e) return this._createAfter(_i56, n);\n if (0 !== e && !e) throw new hn.a(\"model-createpositionat-offset-required\", [this, t]);\n }\n if (!_i56.is(\"element\") && !_i56.is(\"documentFragment\")) throw new hn.a(\"model-position-parent-incorrect\", [this, t]);\n\n var _o34 = _i56.getPath();\n\n return _o34.push(e), new this(_i56.root, _o34, n);\n }\n }\n }, {\n key: \"_createAfter\",\n value: function _createAfter(t, e) {\n if (!t.parent) throw new hn.a(\"model-position-after-root\", [this, t], {\n root: t\n });\n return this._createAt(t.parent, t.endOffset, e);\n }\n }, {\n key: \"_createBefore\",\n value: function _createBefore(t, e) {\n if (!t.parent) throw new hn.a(\"model-position-before-root\", t, {\n root: t\n });\n return this._createAt(t.parent, t.startOffset, e);\n }\n }, {\n key: \"fromJSON\",\n value: function fromJSON(t, e) {\n if (\"$graveyard\" === t.root) {\n var _n75 = new As(e.graveyard, t.path);\n\n return _n75.stickiness = t.stickiness, _n75;\n }\n\n if (!e.getRoot(t.root)) throw new hn.a(\"model-position-fromjson-no-root\", e, {\n rootName: t.root\n });\n return new As(e.getRoot(t.root), t.path, t.stickiness);\n }\n }]);\n\n return As;\n }();\n\n function Cs(t, e) {\n var n = e.getChild(e.offsetToIndex(t.offset));\n return n && n.is(\"$text\") && n.startOffset < t.offset ? n : null;\n }\n\n function Ts(t, e, n) {\n return null !== n ? null : e.getChild(e.offsetToIndex(t.offset));\n }\n\n function Ps(t, e, n) {\n return null !== n ? null : e.getChild(e.offsetToIndex(t.offset) - 1);\n }\n\n var Ss = /*#__PURE__*/function () {\n function Ss(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n _classCallCheck(this, Ss);\n\n this.start = As._createAt(t), this.end = e ? As._createAt(e) : As._createAt(t), this.start.stickiness = this.isCollapsed ? \"toNone\" : \"toNext\", this.end.stickiness = this.isCollapsed ? \"toNone\" : \"toPrevious\";\n }\n\n _createClass(Ss, [{\n key: Symbol.iterator,\n value: /*#__PURE__*/_regeneratorRuntime.mark(function value() {\n return _regeneratorRuntime.wrap(function value$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n return _context13.delegateYield(new ys({\n boundaries: this,\n ignoreElementEnd: !0\n }), \"t0\", 1);\n\n case 1:\n case \"end\":\n return _context13.stop();\n }\n }\n }, value, this);\n })\n }, {\n key: \"containsPosition\",\n value: function containsPosition(t) {\n return t.isAfter(this.start) && t.isBefore(this.end);\n }\n }, {\n key: \"containsRange\",\n value: function containsRange(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n t.isCollapsed && (e = !1);\n var n = this.containsPosition(t.start) || e && this.start.isEqual(t.start),\n i = this.containsPosition(t.end) || e && this.end.isEqual(t.end);\n return n && i;\n }\n }, {\n key: \"containsItem\",\n value: function containsItem(t) {\n var e = As._createBefore(t);\n\n return this.containsPosition(e) || this.start.isEqual(e);\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"range\" === t || \"model:range\" === t;\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(t) {\n return this.start.isEqual(t.start) && this.end.isEqual(t.end);\n }\n }, {\n key: \"isIntersecting\",\n value: function isIntersecting(t) {\n return this.start.isBefore(t.end) && this.end.isAfter(t.start);\n }\n }, {\n key: \"getDifference\",\n value: function getDifference(t) {\n var e = [];\n return this.isIntersecting(t) ? (this.containsPosition(t.start) && e.push(new Ss(this.start, t.start)), this.containsPosition(t.end) && e.push(new Ss(t.end, this.end))) : e.push(new Ss(this.start, this.end)), e;\n }\n }, {\n key: \"getIntersection\",\n value: function getIntersection(t) {\n if (this.isIntersecting(t)) {\n var _e78 = this.start,\n _n76 = this.end;\n return this.containsPosition(t.start) && (_e78 = t.start), this.containsPosition(t.end) && (_n76 = t.end), new Ss(_e78, _n76);\n }\n\n return null;\n }\n }, {\n key: \"getJoined\",\n value: function getJoined(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var n = this.isIntersecting(t);\n if (n || (n = this.start.isBefore(t.start) ? e ? this.end.isTouching(t.start) : this.end.isEqual(t.start) : e ? t.end.isTouching(this.start) : t.end.isEqual(this.start)), !n) return null;\n var i = this.start,\n o = this.end;\n return t.start.isBefore(i) && (i = t.start), t.end.isAfter(o) && (o = t.end), new Ss(i, o);\n }\n }, {\n key: \"getMinimalFlatRanges\",\n value: function getMinimalFlatRanges() {\n var t = [],\n e = this.start.getCommonPath(this.end).length,\n n = As._createAt(this.start);\n\n var i = n.parent;\n\n for (; n.path.length > e + 1;) {\n var _e79 = i.maxOffset - n.offset;\n\n 0 !== _e79 && t.push(new Ss(n, n.getShiftedBy(_e79))), n.path = n.path.slice(0, -1), n.offset++, i = i.parent;\n }\n\n for (; n.path.length <= this.end.path.length;) {\n var _e80 = this.end.path[n.path.length - 1],\n _i57 = _e80 - n.offset;\n\n 0 !== _i57 && t.push(new Ss(n, n.getShiftedBy(_i57))), n.offset = _e80, n.path.push(0);\n }\n\n return t;\n }\n }, {\n key: \"getWalker\",\n value: function getWalker() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return t.boundaries = this, new ys(t);\n }\n }, {\n key: \"getItems\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getItems() {\n var t,\n e,\n _iterator100,\n _step100,\n _t83,\n _args14 = arguments;\n\n return _regeneratorRuntime.wrap(function getItems$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n t = _args14.length > 0 && _args14[0] !== undefined ? _args14[0] : {};\n t.boundaries = this, t.ignoreElementEnd = !0;\n e = new ys(t);\n _iterator100 = _createForOfIteratorHelper(e);\n _context14.prev = 4;\n\n _iterator100.s();\n\n case 6:\n if ((_step100 = _iterator100.n()).done) {\n _context14.next = 12;\n break;\n }\n\n _t83 = _step100.value;\n _context14.next = 10;\n return _t83.item;\n\n case 10:\n _context14.next = 6;\n break;\n\n case 12:\n _context14.next = 17;\n break;\n\n case 14:\n _context14.prev = 14;\n _context14.t0 = _context14[\"catch\"](4);\n\n _iterator100.e(_context14.t0);\n\n case 17:\n _context14.prev = 17;\n\n _iterator100.f();\n\n return _context14.finish(17);\n\n case 20:\n case \"end\":\n return _context14.stop();\n }\n }\n }, getItems, this, [[4, 14, 17, 20]]);\n })\n }, {\n key: \"getPositions\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getPositions() {\n var t,\n e,\n _iterator101,\n _step101,\n _t84,\n _args15 = arguments;\n\n return _regeneratorRuntime.wrap(function getPositions$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n t = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : {};\n t.boundaries = this;\n e = new ys(t);\n _context15.next = 5;\n return e.position;\n\n case 5:\n _iterator101 = _createForOfIteratorHelper(e);\n _context15.prev = 6;\n\n _iterator101.s();\n\n case 8:\n if ((_step101 = _iterator101.n()).done) {\n _context15.next = 14;\n break;\n }\n\n _t84 = _step101.value;\n _context15.next = 12;\n return _t84.nextPosition;\n\n case 12:\n _context15.next = 8;\n break;\n\n case 14:\n _context15.next = 19;\n break;\n\n case 16:\n _context15.prev = 16;\n _context15.t0 = _context15[\"catch\"](6);\n\n _iterator101.e(_context15.t0);\n\n case 19:\n _context15.prev = 19;\n\n _iterator101.f();\n\n return _context15.finish(19);\n\n case 22:\n case \"end\":\n return _context15.stop();\n }\n }\n }, getPositions, this, [[6, 16, 19, 22]]);\n })\n }, {\n key: \"getTransformedByOperation\",\n value: function getTransformedByOperation(t) {\n switch (t.type) {\n case \"insert\":\n return this._getTransformedByInsertOperation(t);\n\n case \"move\":\n case \"remove\":\n case \"reinsert\":\n return this._getTransformedByMoveOperation(t);\n\n case \"split\":\n return [this._getTransformedBySplitOperation(t)];\n\n case \"merge\":\n return [this._getTransformedByMergeOperation(t)];\n }\n\n return [new Ss(this.start, this.end)];\n }\n }, {\n key: \"getTransformedByOperations\",\n value: function getTransformedByOperations(t) {\n var e = [new Ss(this.start, this.end)];\n\n var _iterator102 = _createForOfIteratorHelper(t),\n _step102;\n\n try {\n for (_iterator102.s(); !(_step102 = _iterator102.n()).done;) {\n var _n78 = _step102.value;\n\n for (var _t87 = 0; _t87 < e.length; _t87++) {\n var _i59 = e[_t87].getTransformedByOperation(_n78);\n\n e.splice.apply(e, [_t87, 1].concat(_toConsumableArray(_i59))), _t87 += _i59.length - 1;\n }\n }\n } catch (err) {\n _iterator102.e(err);\n } finally {\n _iterator102.f();\n }\n\n for (var _t85 = 0; _t85 < e.length; _t85++) {\n var _n77 = e[_t85];\n\n for (var _i58 = _t85 + 1; _i58 < e.length; _i58++) {\n var _t86 = e[_i58];\n (_n77.containsRange(_t86) || _t86.containsRange(_n77) || _n77.isEqual(_t86)) && e.splice(_i58, 1);\n }\n }\n\n return e;\n }\n }, {\n key: \"getCommonAncestor\",\n value: function getCommonAncestor() {\n return this.start.getCommonAncestor(this.end);\n }\n }, {\n key: \"getContainedElement\",\n value: function getContainedElement() {\n if (this.isCollapsed) return null;\n var t = this.start.nodeAfter,\n e = this.end.nodeBefore;\n return t && t.is(\"element\") && t === e ? t : null;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n start: this.start.toJSON(),\n end: this.end.toJSON()\n };\n }\n }, {\n key: \"clone\",\n value: function clone() {\n return new this.constructor(this.start, this.end);\n }\n }, {\n key: \"_getTransformedByInsertOperation\",\n value: function _getTransformedByInsertOperation(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n return this._getTransformedByInsertion(t.position, t.howMany, e);\n }\n }, {\n key: \"_getTransformedByMoveOperation\",\n value: function _getTransformedByMoveOperation(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var n = t.sourcePosition,\n i = t.howMany,\n o = t.targetPosition;\n return this._getTransformedByMove(n, o, i, e);\n }\n }, {\n key: \"_getTransformedBySplitOperation\",\n value: function _getTransformedBySplitOperation(t) {\n var e = this.start._getTransformedBySplitOperation(t);\n\n var n = this.end._getTransformedBySplitOperation(t);\n\n return this.end.isEqual(t.insertionPosition) && (n = this.end.getShiftedBy(1)), e.root != n.root && (n = this.end.getShiftedBy(-1)), new Ss(e, n);\n }\n }, {\n key: \"_getTransformedByMergeOperation\",\n value: function _getTransformedByMergeOperation(t) {\n if (this.start.isEqual(t.targetPosition) && this.end.isEqual(t.deletionPosition)) return new Ss(this.start);\n\n var e = this.start._getTransformedByMergeOperation(t),\n n = this.end._getTransformedByMergeOperation(t);\n\n return e.root != n.root && (n = this.end.getShiftedBy(-1)), e.isAfter(n) ? (t.sourcePosition.isBefore(t.targetPosition) ? (e = As._createAt(n), e.offset = 0) : (t.deletionPosition.isEqual(e) || (n = t.deletionPosition), e = t.targetPosition), new Ss(e, n)) : new Ss(e, n);\n }\n }, {\n key: \"_getTransformedByInsertion\",\n value: function _getTransformedByInsertion(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n if (n && this.containsPosition(t)) return [new Ss(this.start, t), new Ss(t.getShiftedBy(e), this.end._getTransformedByInsertion(t, e))];\n {\n var _n79 = new Ss(this.start, this.end);\n\n return _n79.start = _n79.start._getTransformedByInsertion(t, e), _n79.end = _n79.end._getTransformedByInsertion(t, e), [_n79];\n }\n }\n }, {\n key: \"_getTransformedByMove\",\n value: function _getTransformedByMove(t, e, n) {\n var i = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n\n if (this.isCollapsed) {\n var _i60 = this.start._getTransformedByMove(t, e, n);\n\n return [new Ss(_i60)];\n }\n\n var o = Ss._createFromPositionAndShift(t, n),\n r = e._getTransformedByDeletion(t, n);\n\n if (this.containsPosition(e) && !i && (o.containsPosition(this.start) || o.containsPosition(this.end))) {\n var _i61 = this.start._getTransformedByMove(t, e, n),\n _o35 = this.end._getTransformedByMove(t, e, n);\n\n return [new Ss(_i61, _o35)];\n }\n\n var s;\n var a = this.getDifference(o);\n var c = null;\n var l = this.getIntersection(o);\n\n if (1 == a.length ? c = new Ss(a[0].start._getTransformedByDeletion(t, n), a[0].end._getTransformedByDeletion(t, n)) : 2 == a.length && (c = new Ss(this.start, this.end._getTransformedByDeletion(t, n))), s = c ? c._getTransformedByInsertion(r, n, null !== l || i) : [], l) {\n var _t88 = new Ss(l.start._getCombined(o.start, r), l.end._getCombined(o.start, r));\n\n 2 == s.length ? s.splice(1, 0, _t88) : s.push(_t88);\n }\n\n return s;\n }\n }, {\n key: \"_getTransformedByDeletion\",\n value: function _getTransformedByDeletion(t, e) {\n var n = this.start._getTransformedByDeletion(t, e),\n i = this.end._getTransformedByDeletion(t, e);\n\n return null == n && null == i ? null : (null == n && (n = t), null == i && (i = t), new Ss(n, i));\n }\n }, {\n key: \"isCollapsed\",\n get: function get() {\n return this.start.isEqual(this.end);\n }\n }, {\n key: \"isFlat\",\n get: function get() {\n return \"same\" == In(this.start.getParentPath(), this.end.getParentPath());\n }\n }, {\n key: \"root\",\n get: function get() {\n return this.start.root;\n }\n }], [{\n key: \"_createFromPositionAndShift\",\n value: function _createFromPositionAndShift(t, e) {\n var n = t,\n i = t.getShiftedBy(e);\n return e > 0 ? new this(n, i) : new this(i, n);\n }\n }, {\n key: \"_createIn\",\n value: function _createIn(t) {\n return new this(As._createAt(t, 0), As._createAt(t, t.maxOffset));\n }\n }, {\n key: \"_createOn\",\n value: function _createOn(t) {\n return this._createFromPositionAndShift(As._createBefore(t), t.offsetSize);\n }\n }, {\n key: \"_createFromRanges\",\n value: function _createFromRanges(t) {\n if (0 === t.length) throw new hn.a(\"range-create-from-ranges-empty-array\", null);\n if (1 == t.length) return t[0].clone();\n var e = t[0];\n t.sort(function (t, e) {\n return t.start.isAfter(e.start) ? 1 : -1;\n });\n var n = t.indexOf(e),\n i = new this(e.start, e.end);\n if (n > 0) for (var _e81 = n - 1; t[_e81].end.isEqual(i.start); _e81++) {\n i.start = As._createAt(t[_e81].start);\n }\n\n for (var _e82 = n + 1; _e82 < t.length && t[_e82].start.isEqual(i.end); _e82++) {\n i.end = As._createAt(t[_e82].end);\n }\n\n return i;\n }\n }, {\n key: \"fromJSON\",\n value: function fromJSON(t, e) {\n return new this(As.fromJSON(t.start, e), As.fromJSON(t.end, e));\n }\n }]);\n\n return Ss;\n }();\n\n var Es = /*#__PURE__*/function () {\n function Es() {\n var _this44 = this;\n\n _classCallCheck(this, Es);\n\n 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\", function (t, e) {\n if (e.viewPosition) return;\n\n var n = _this44._modelToViewMapping.get(e.modelPosition.parent);\n\n e.viewPosition = _this44.findPositionIn(n, e.modelPosition.offset);\n }, {\n priority: \"low\"\n }), this.on(\"viewToModelPosition\", function (t, e) {\n if (e.modelPosition) return;\n\n var n = _this44.findMappedViewAncestor(e.viewPosition),\n i = _this44._viewToModelMapping.get(n),\n o = _this44._toModelOffset(e.viewPosition.parent, e.viewPosition.offset, n);\n\n e.modelPosition = As._createAt(i, o);\n }, {\n priority: \"low\"\n });\n }\n\n _createClass(Es, [{\n key: \"bindElements\",\n value: function bindElements(t, e) {\n this._modelToViewMapping.set(t, e), this._viewToModelMapping.set(e, t);\n }\n }, {\n key: \"unbindViewElement\",\n value: function unbindViewElement(t) {\n var e = this.toModelElement(t);\n\n if (this._viewToModelMapping[\"delete\"](t), this._elementToMarkerNames.has(t)) {\n var _iterator103 = _createForOfIteratorHelper(this._elementToMarkerNames.get(t)),\n _step103;\n\n try {\n for (_iterator103.s(); !(_step103 = _iterator103.n()).done;) {\n var _e83 = _step103.value;\n\n this._unboundMarkerNames.add(_e83);\n }\n } catch (err) {\n _iterator103.e(err);\n } finally {\n _iterator103.f();\n }\n }\n\n this._modelToViewMapping.get(e) == t && this._modelToViewMapping[\"delete\"](e);\n }\n }, {\n key: \"unbindModelElement\",\n value: function unbindModelElement(t) {\n var e = this.toViewElement(t);\n this._modelToViewMapping[\"delete\"](t), this._viewToModelMapping.get(e) == t && this._viewToModelMapping[\"delete\"](e);\n }\n }, {\n key: \"bindElementToMarker\",\n value: function bindElementToMarker(t, e) {\n var n = this._markerNameToElements.get(e) || new Set();\n n.add(t);\n var i = this._elementToMarkerNames.get(t) || new Set();\n i.add(e), this._markerNameToElements.set(e, n), this._elementToMarkerNames.set(t, i);\n }\n }, {\n key: \"unbindElementFromMarkerName\",\n value: function unbindElementFromMarkerName(t, e) {\n var n = this._markerNameToElements.get(e);\n\n n && (n[\"delete\"](t), 0 == n.size && this._markerNameToElements[\"delete\"](e));\n\n var i = this._elementToMarkerNames.get(t);\n\n i && (i[\"delete\"](e), 0 == i.size && this._elementToMarkerNames[\"delete\"](t));\n }\n }, {\n key: \"flushUnboundMarkerNames\",\n value: function flushUnboundMarkerNames() {\n var t = Array.from(this._unboundMarkerNames);\n return this._unboundMarkerNames.clear(), t;\n }\n }, {\n key: \"clearBindings\",\n value: function clearBindings() {\n this._modelToViewMapping = new WeakMap(), this._viewToModelMapping = new WeakMap(), this._markerNameToElements = new Map(), this._elementToMarkerNames = new Map(), this._unboundMarkerNames = new Set();\n }\n }, {\n key: \"toModelElement\",\n value: function toModelElement(t) {\n return this._viewToModelMapping.get(t);\n }\n }, {\n key: \"toViewElement\",\n value: function toViewElement(t) {\n return this._modelToViewMapping.get(t);\n }\n }, {\n key: \"toModelRange\",\n value: function toModelRange(t) {\n return new Ss(this.toModelPosition(t.start), this.toModelPosition(t.end));\n }\n }, {\n key: \"toViewRange\",\n value: function toViewRange(t) {\n return new Xi(this.toViewPosition(t.start), this.toViewPosition(t.end));\n }\n }, {\n key: \"toModelPosition\",\n value: function toModelPosition(t) {\n var e = {\n viewPosition: t,\n mapper: this\n };\n return this.fire(\"viewToModelPosition\", e), e.modelPosition;\n }\n }, {\n key: \"toViewPosition\",\n value: function toViewPosition(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n isPhantom: !1\n };\n var n = {\n modelPosition: t,\n mapper: this,\n isPhantom: e.isPhantom\n };\n return this.fire(\"modelToViewPosition\", n), n.viewPosition;\n }\n }, {\n key: \"markerNameToElements\",\n value: function markerNameToElements(t) {\n var e = this._markerNameToElements.get(t);\n\n if (!e) return null;\n var n = new Set();\n\n var _iterator104 = _createForOfIteratorHelper(e),\n _step104;\n\n try {\n for (_iterator104.s(); !(_step104 = _iterator104.n()).done;) {\n var _t89 = _step104.value;\n\n if (_t89.is(\"attributeElement\")) {\n var _iterator105 = _createForOfIteratorHelper(_t89.getElementsWithSameId()),\n _step105;\n\n try {\n for (_iterator105.s(); !(_step105 = _iterator105.n()).done;) {\n var _e84 = _step105.value;\n n.add(_e84);\n }\n } catch (err) {\n _iterator105.e(err);\n } finally {\n _iterator105.f();\n }\n } else n.add(_t89);\n }\n } catch (err) {\n _iterator104.e(err);\n } finally {\n _iterator104.f();\n }\n\n return n;\n }\n }, {\n key: \"registerViewToModelLength\",\n value: function registerViewToModelLength(t, e) {\n this._viewToModelLengthCallbacks.set(t, e);\n }\n }, {\n key: \"findMappedViewAncestor\",\n value: function findMappedViewAncestor(t) {\n var e = t.parent;\n\n for (; !this._viewToModelMapping.has(e);) {\n e = e.parent;\n }\n\n return e;\n }\n }, {\n key: \"_toModelOffset\",\n value: function _toModelOffset(t, e, n) {\n if (n != t) {\n return this._toModelOffset(t.parent, t.index, n) + this._toModelOffset(t, e, t);\n }\n\n if (t.is(\"$text\")) return e;\n var i = 0;\n\n for (var _n80 = 0; _n80 < e; _n80++) {\n i += this.getModelLength(t.getChild(_n80));\n }\n\n return i;\n }\n }, {\n key: \"getModelLength\",\n value: function getModelLength(t) {\n if (this._viewToModelLengthCallbacks.get(t.name)) {\n return this._viewToModelLengthCallbacks.get(t.name)(t);\n }\n\n if (this._viewToModelMapping.has(t)) return 1;\n if (t.is(\"$text\")) return t.data.length;\n if (t.is(\"uiElement\")) return 0;\n {\n var _e85 = 0;\n\n var _iterator106 = _createForOfIteratorHelper(t.getChildren()),\n _step106;\n\n try {\n for (_iterator106.s(); !(_step106 = _iterator106.n()).done;) {\n var _n81 = _step106.value;\n _e85 += this.getModelLength(_n81);\n }\n } catch (err) {\n _iterator106.e(err);\n } finally {\n _iterator106.f();\n }\n\n return _e85;\n }\n }\n }, {\n key: \"findPositionIn\",\n value: function findPositionIn(t, e) {\n var n,\n i = 0,\n o = 0,\n r = 0;\n if (t.is(\"$text\")) return new Zi(t, e);\n\n for (; o < e;) {\n n = t.getChild(r), i = this.getModelLength(n), o += i, r++;\n }\n\n return o == e ? this._moveViewPositionToTextNode(new Zi(t, r)) : this.findPositionIn(n, e - (o - i));\n }\n }, {\n key: \"_moveViewPositionToTextNode\",\n value: function _moveViewPositionToTextNode(t) {\n var e = t.nodeBefore,\n n = t.nodeAfter;\n return e instanceof Rn ? new Zi(e, e.data.length) : n instanceof Rn ? new Zi(n, 0) : t;\n }\n }]);\n\n return Es;\n }();\n\n xn(Es, gn);\n\n var Ms = /*#__PURE__*/function () {\n function Ms() {\n _classCallCheck(this, Ms);\n\n this._consumable = new Map(), this._textProxyRegistry = new Map();\n }\n\n _createClass(Ms, [{\n key: \"add\",\n value: function add(t, e) {\n e = Is(e), t instanceof ks && (t = this._getSymbolForTextProxy(t)), this._consumable.has(t) || this._consumable.set(t, new Map()), this._consumable.get(t).set(e, !0);\n }\n }, {\n key: \"consume\",\n value: function consume(t, e) {\n return e = Is(e), t instanceof ks && (t = this._getSymbolForTextProxy(t)), !!this.test(t, e) && (this._consumable.get(t).set(e, !1), !0);\n }\n }, {\n key: \"test\",\n value: function test(t, e) {\n e = Is(e), t instanceof ks && (t = this._getSymbolForTextProxy(t));\n\n var n = this._consumable.get(t);\n\n if (void 0 === n) return null;\n var i = n.get(e);\n return void 0 === i ? null : i;\n }\n }, {\n key: \"revert\",\n value: function revert(t, e) {\n e = Is(e), t instanceof ks && (t = this._getSymbolForTextProxy(t));\n var n = this.test(t, e);\n return !1 === n ? (this._consumable.get(t).set(e, !0), !0) : !0 !== n && null;\n }\n }, {\n key: \"_getSymbolForTextProxy\",\n value: function _getSymbolForTextProxy(t) {\n var e = null;\n\n var n = this._textProxyRegistry.get(t.startOffset);\n\n if (n) {\n var _i62 = n.get(t.endOffset);\n\n _i62 && (e = _i62.get(t.parent));\n }\n\n return e || (e = this._addSymbolForTextProxy(t.startOffset, t.endOffset, t.parent)), e;\n }\n }, {\n key: \"_addSymbolForTextProxy\",\n value: function _addSymbolForTextProxy(t, e, n) {\n var i = Symbol(\"textProxySymbol\");\n var o, r;\n return o = this._textProxyRegistry.get(t), o || (o = new Map(), this._textProxyRegistry.set(t, o)), r = o.get(e), r || (r = new Map(), o.set(e, r)), r.set(n, i), i;\n }\n }]);\n\n return Ms;\n }();\n\n function Is(t) {\n var e = t.split(\":\");\n return e.length > 1 ? e[0] + \":\" + e[1] : e[0];\n }\n\n var Ns = /*#__PURE__*/function () {\n function Ns(t) {\n _classCallCheck(this, Ns);\n\n this.conversionApi = Object.assign({\n dispatcher: this\n }, t), this._reconversionEventsMapping = new Map();\n }\n\n _createClass(Ns, [{\n key: \"convertChanges\",\n value: function convertChanges(t, e, n) {\n var _iterator107 = _createForOfIteratorHelper(t.getMarkersToRemove()),\n _step107;\n\n try {\n for (_iterator107.s(); !(_step107 = _iterator107.n()).done;) {\n var _e86 = _step107.value;\n this.convertMarkerRemove(_e86.name, _e86.range, n);\n }\n } catch (err) {\n _iterator107.e(err);\n } finally {\n _iterator107.f();\n }\n\n var i = this._mapChangesWithAutomaticReconversion(t);\n\n var _iterator108 = _createForOfIteratorHelper(i),\n _step108;\n\n try {\n for (_iterator108.s(); !(_step108 = _iterator108.n()).done;) {\n var _t90 = _step108.value;\n \"insert\" === _t90.type ? this.convertInsert(Ss._createFromPositionAndShift(_t90.position, _t90.length), n) : \"remove\" === _t90.type ? this.convertRemove(_t90.position, _t90.length, _t90.name, n) : \"reconvert\" === _t90.type ? this.reconvertElement(_t90.element, n) : this.convertAttribute(_t90.range, _t90.attributeKey, _t90.attributeOldValue, _t90.attributeNewValue, n);\n }\n } catch (err) {\n _iterator108.e(err);\n } finally {\n _iterator108.f();\n }\n\n var _iterator109 = _createForOfIteratorHelper(this.conversionApi.mapper.flushUnboundMarkerNames()),\n _step109;\n\n try {\n for (_iterator109.s(); !(_step109 = _iterator109.n()).done;) {\n var _t91 = _step109.value;\n\n var _i63 = e.get(_t91).getRange();\n\n this.convertMarkerRemove(_t91, _i63, n), this.convertMarkerAdd(_t91, _i63, n);\n }\n } catch (err) {\n _iterator109.e(err);\n } finally {\n _iterator109.f();\n }\n\n var _iterator110 = _createForOfIteratorHelper(t.getMarkersToAdd()),\n _step110;\n\n try {\n for (_iterator110.s(); !(_step110 = _iterator110.n()).done;) {\n var _e87 = _step110.value;\n this.convertMarkerAdd(_e87.name, _e87.range, n);\n }\n } catch (err) {\n _iterator110.e(err);\n } finally {\n _iterator110.f();\n }\n }\n }, {\n key: \"convertInsert\",\n value: function convertInsert(t, e) {\n this.conversionApi.writer = e, this.conversionApi.consumable = this._createInsertConsumable(t);\n\n var _iterator111 = _createForOfIteratorHelper(Array.from(t).map(Rs)),\n _step111;\n\n try {\n for (_iterator111.s(); !(_step111 = _iterator111.n()).done;) {\n var _e88 = _step111.value;\n\n this._convertInsertWithAttributes(_e88);\n }\n } catch (err) {\n _iterator111.e(err);\n } finally {\n _iterator111.f();\n }\n\n this._clearConversionApi();\n }\n }, {\n key: \"convertRemove\",\n value: function convertRemove(t, e, n, i) {\n this.conversionApi.writer = i, this.fire(\"remove:\" + n, {\n position: t,\n length: e\n }, this.conversionApi), this._clearConversionApi();\n }\n }, {\n key: \"convertAttribute\",\n value: function convertAttribute(t, e, n, i, o) {\n this.conversionApi.writer = o, this.conversionApi.consumable = this._createConsumableForRange(t, \"attribute:\" + e);\n\n var _iterator112 = _createForOfIteratorHelper(t),\n _step112;\n\n try {\n for (_iterator112.s(); !(_step112 = _iterator112.n()).done;) {\n var _o36 = _step112.value;\n var _t92 = {\n item: _o36.item,\n range: Ss._createFromPositionAndShift(_o36.previousPosition, _o36.length),\n attributeKey: e,\n attributeOldValue: n,\n attributeNewValue: i\n };\n\n this._testAndFire(\"attribute:\" + e, _t92);\n }\n } catch (err) {\n _iterator112.e(err);\n } finally {\n _iterator112.f();\n }\n\n this._clearConversionApi();\n }\n }, {\n key: \"reconvertElement\",\n value: function reconvertElement(t, e) {\n var n = Ss._createOn(t);\n\n this.conversionApi.writer = e, this.conversionApi.consumable = this._createInsertConsumable(n);\n var i = this.conversionApi.mapper,\n o = i.toViewElement(t);\n e.remove(o), this._convertInsertWithAttributes({\n item: t,\n range: n\n });\n var r = i.toViewElement(t);\n\n var _iterator113 = _createForOfIteratorHelper(Ss._createIn(t)),\n _step113;\n\n try {\n for (_iterator113.s(); !(_step113 = _iterator113.n()).done;) {\n var _n82 = _step113.value;\n\n var _t93 = _n82.item,\n _o37 = Ds(_t93, i);\n\n _o37 ? _o37.root !== r.root && e.move(e.createRangeOn(_o37), i.toViewPosition(As._createBefore(_t93))) : this._convertInsertWithAttributes(Rs(_n82));\n }\n } catch (err) {\n _iterator113.e(err);\n } finally {\n _iterator113.f();\n }\n\n i.unbindViewElement(o), this._clearConversionApi();\n }\n }, {\n key: \"convertSelection\",\n value: function convertSelection(t, e, n) {\n var i = Array.from(e.getMarkersAtPosition(t.getFirstPosition()));\n\n if (this.conversionApi.writer = n, this.conversionApi.consumable = this._createSelectionConsumable(t, i), this.fire(\"selection\", {\n selection: t\n }, this.conversionApi), t.isCollapsed) {\n var _iterator114 = _createForOfIteratorHelper(i),\n _step114;\n\n try {\n for (_iterator114.s(); !(_step114 = _iterator114.n()).done;) {\n var _e89 = _step114.value;\n\n var _n83 = _e89.getRange();\n\n if (!Os(t.getFirstPosition(), _e89, this.conversionApi.mapper)) continue;\n var _i64 = {\n item: t,\n markerName: _e89.name,\n markerRange: _n83\n };\n this.conversionApi.consumable.test(t, \"addMarker:\" + _e89.name) && this.fire(\"addMarker:\" + _e89.name, _i64, this.conversionApi);\n }\n } catch (err) {\n _iterator114.e(err);\n } finally {\n _iterator114.f();\n }\n\n var _iterator115 = _createForOfIteratorHelper(t.getAttributeKeys()),\n _step115;\n\n try {\n for (_iterator115.s(); !(_step115 = _iterator115.n()).done;) {\n var _e90 = _step115.value;\n var _n84 = {\n item: t,\n range: t.getFirstRange(),\n attributeKey: _e90,\n attributeOldValue: null,\n attributeNewValue: t.getAttribute(_e90)\n };\n this.conversionApi.consumable.test(t, \"attribute:\" + _n84.attributeKey) && this.fire(\"attribute:\" + _n84.attributeKey + \":$text\", _n84, this.conversionApi);\n }\n } catch (err) {\n _iterator115.e(err);\n } finally {\n _iterator115.f();\n }\n\n this._clearConversionApi();\n }\n }\n }, {\n key: \"convertMarkerAdd\",\n value: function convertMarkerAdd(t, e, n) {\n if (!e.root.document || \"$graveyard\" == e.root.rootName) return;\n this.conversionApi.writer = n;\n var i = \"addMarker:\" + t,\n o = new Ms();\n\n if (o.add(e, i), this.conversionApi.consumable = o, this.fire(i, {\n markerName: t,\n markerRange: e\n }, this.conversionApi), o.test(e, i)) {\n this.conversionApi.consumable = this._createConsumableForRange(e, i);\n\n var _iterator116 = _createForOfIteratorHelper(e.getItems()),\n _step116;\n\n try {\n for (_iterator116.s(); !(_step116 = _iterator116.n()).done;) {\n var _n85 = _step116.value;\n if (!this.conversionApi.consumable.test(_n85, i)) continue;\n var _o38 = {\n item: _n85,\n range: Ss._createOn(_n85),\n markerName: t,\n markerRange: e\n };\n this.fire(i, _o38, this.conversionApi);\n }\n } catch (err) {\n _iterator116.e(err);\n } finally {\n _iterator116.f();\n }\n\n this._clearConversionApi();\n }\n }\n }, {\n key: \"convertMarkerRemove\",\n value: function convertMarkerRemove(t, e, n) {\n e.root.document && \"$graveyard\" != e.root.rootName && (this.conversionApi.writer = n, this.fire(\"removeMarker:\" + t, {\n markerName: t,\n markerRange: e\n }, this.conversionApi), this._clearConversionApi());\n }\n }, {\n key: \"_mapReconversionTriggerEvent\",\n value: function _mapReconversionTriggerEvent(t, e) {\n this._reconversionEventsMapping.set(e, t);\n }\n }, {\n key: \"_createInsertConsumable\",\n value: function _createInsertConsumable(t) {\n var e = new Ms();\n\n var _iterator117 = _createForOfIteratorHelper(t),\n _step117;\n\n try {\n for (_iterator117.s(); !(_step117 = _iterator117.n()).done;) {\n var _n86 = _step117.value;\n var _t94 = _n86.item;\n e.add(_t94, \"insert\");\n\n var _iterator118 = _createForOfIteratorHelper(_t94.getAttributeKeys()),\n _step118;\n\n try {\n for (_iterator118.s(); !(_step118 = _iterator118.n()).done;) {\n var _n87 = _step118.value;\n e.add(_t94, \"attribute:\" + _n87);\n }\n } catch (err) {\n _iterator118.e(err);\n } finally {\n _iterator118.f();\n }\n }\n } catch (err) {\n _iterator117.e(err);\n } finally {\n _iterator117.f();\n }\n\n return e;\n }\n }, {\n key: \"_createConsumableForRange\",\n value: function _createConsumableForRange(t, e) {\n var n = new Ms();\n\n var _iterator119 = _createForOfIteratorHelper(t.getItems()),\n _step119;\n\n try {\n for (_iterator119.s(); !(_step119 = _iterator119.n()).done;) {\n var _i65 = _step119.value;\n n.add(_i65, e);\n }\n } catch (err) {\n _iterator119.e(err);\n } finally {\n _iterator119.f();\n }\n\n return n;\n }\n }, {\n key: \"_createSelectionConsumable\",\n value: function _createSelectionConsumable(t, e) {\n var n = new Ms();\n n.add(t, \"selection\");\n\n var _iterator120 = _createForOfIteratorHelper(e),\n _step120;\n\n try {\n for (_iterator120.s(); !(_step120 = _iterator120.n()).done;) {\n var _i66 = _step120.value;\n n.add(t, \"addMarker:\" + _i66.name);\n }\n } catch (err) {\n _iterator120.e(err);\n } finally {\n _iterator120.f();\n }\n\n var _iterator121 = _createForOfIteratorHelper(t.getAttributeKeys()),\n _step121;\n\n try {\n for (_iterator121.s(); !(_step121 = _iterator121.n()).done;) {\n var _e91 = _step121.value;\n n.add(t, \"attribute:\" + _e91);\n }\n } catch (err) {\n _iterator121.e(err);\n } finally {\n _iterator121.f();\n }\n\n return n;\n }\n }, {\n key: \"_testAndFire\",\n value: function _testAndFire(t, e) {\n this.conversionApi.consumable.test(e.item, t) && this.fire(function (t, e) {\n var n = e.item.name || \"$text\";\n return \"\".concat(t, \":\").concat(n);\n }(t, e), e, this.conversionApi);\n }\n }, {\n key: \"_clearConversionApi\",\n value: function _clearConversionApi() {\n delete this.conversionApi.writer, delete this.conversionApi.consumable;\n }\n }, {\n key: \"_convertInsertWithAttributes\",\n value: function _convertInsertWithAttributes(t) {\n this._testAndFire(\"insert\", t);\n\n var _iterator122 = _createForOfIteratorHelper(t.item.getAttributeKeys()),\n _step122;\n\n try {\n for (_iterator122.s(); !(_step122 = _iterator122.n()).done;) {\n var _e92 = _step122.value;\n t.attributeKey = _e92, t.attributeOldValue = null, t.attributeNewValue = t.item.getAttribute(_e92), this._testAndFire(\"attribute:\" + _e92, t);\n }\n } catch (err) {\n _iterator122.e(err);\n } finally {\n _iterator122.f();\n }\n }\n }, {\n key: \"_mapChangesWithAutomaticReconversion\",\n value: function _mapChangesWithAutomaticReconversion(t) {\n var e = new Set(),\n n = [];\n\n var _iterator123 = _createForOfIteratorHelper(t.getChanges()),\n _step123;\n\n try {\n for (_iterator123.s(); !(_step123 = _iterator123.n()).done;) {\n var _i67 = _step123.value;\n\n var _t95 = _i67.position || _i67.range.start,\n _o39 = _t95.parent;\n\n if (Cs(_t95, _o39)) {\n n.push(_i67);\n continue;\n }\n\n var _r13 = \"attribute\" === _i67.type ? Ts(_t95, _o39, null) : _o39;\n\n if (_r13.is(\"$text\")) {\n n.push(_i67);\n continue;\n }\n\n var _s12 = void 0;\n\n if (_s12 = \"attribute\" === _i67.type ? \"attribute:\".concat(_i67.attributeKey, \":\").concat(_r13.name) : \"\".concat(_i67.type, \":\").concat(_i67.name), this._isReconvertTriggerEvent(_s12, _r13.name)) {\n if (e.has(_r13)) continue;\n e.add(_r13), n.push({\n type: \"reconvert\",\n element: _r13\n });\n } else n.push(_i67);\n }\n } catch (err) {\n _iterator123.e(err);\n } finally {\n _iterator123.f();\n }\n\n return n;\n }\n }, {\n key: \"_isReconvertTriggerEvent\",\n value: function _isReconvertTriggerEvent(t, e) {\n return this._reconversionEventsMapping.get(t) === e;\n }\n }]);\n\n return Ns;\n }();\n\n function Os(t, e, n) {\n var i = e.getRange(),\n o = Array.from(t.getAncestors());\n o.shift(), o.reverse();\n return !o.some(function (t) {\n if (i.containsItem(t)) {\n return !!n.toViewElement(t).getCustomProperty(\"addHighlight\");\n }\n });\n }\n\n function Rs(t) {\n return {\n item: t.item,\n range: Ss._createFromPositionAndShift(t.previousPosition, t.length)\n };\n }\n\n function Ds(t, e) {\n if (t.is(\"textProxy\")) {\n var _n88 = e.toViewPosition(As._createBefore(t)).parent;\n return _n88.is(\"$text\") ? _n88 : null;\n }\n\n return e.toViewElement(t);\n }\n\n xn(Ns, gn);\n\n var Ls = /*#__PURE__*/function () {\n function Ls(t, e, n) {\n _classCallCheck(this, Ls);\n\n this._lastRangeBackward = !1, this._ranges = [], this._attrs = new Map(), t && this.setTo(t, e, n);\n }\n\n _createClass(Ls, [{\n key: \"isEqual\",\n value: function isEqual(t) {\n if (this.rangeCount != t.rangeCount) return !1;\n if (0 === this.rangeCount) return !0;\n if (!this.anchor.isEqual(t.anchor) || !this.focus.isEqual(t.focus)) return !1;\n\n var _iterator124 = _createForOfIteratorHelper(this._ranges),\n _step124;\n\n try {\n for (_iterator124.s(); !(_step124 = _iterator124.n()).done;) {\n var _e93 = _step124.value;\n\n var _n89 = !1;\n\n var _iterator125 = _createForOfIteratorHelper(t._ranges),\n _step125;\n\n try {\n for (_iterator125.s(); !(_step125 = _iterator125.n()).done;) {\n var _i68 = _step125.value;\n\n if (_e93.isEqual(_i68)) {\n _n89 = !0;\n break;\n }\n }\n } catch (err) {\n _iterator125.e(err);\n } finally {\n _iterator125.f();\n }\n\n if (!_n89) return !1;\n }\n } catch (err) {\n _iterator124.e(err);\n } finally {\n _iterator124.f();\n }\n\n return !0;\n }\n }, {\n key: \"getRanges\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getRanges() {\n var _iterator126, _step126, _t96;\n\n return _regeneratorRuntime.wrap(function getRanges$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n _iterator126 = _createForOfIteratorHelper(this._ranges);\n _context16.prev = 1;\n\n _iterator126.s();\n\n case 3:\n if ((_step126 = _iterator126.n()).done) {\n _context16.next = 9;\n break;\n }\n\n _t96 = _step126.value;\n _context16.next = 7;\n return new Ss(_t96.start, _t96.end);\n\n case 7:\n _context16.next = 3;\n break;\n\n case 9:\n _context16.next = 14;\n break;\n\n case 11:\n _context16.prev = 11;\n _context16.t0 = _context16[\"catch\"](1);\n\n _iterator126.e(_context16.t0);\n\n case 14:\n _context16.prev = 14;\n\n _iterator126.f();\n\n return _context16.finish(14);\n\n case 17:\n case \"end\":\n return _context16.stop();\n }\n }\n }, getRanges, this, [[1, 11, 14, 17]]);\n })\n }, {\n key: \"getFirstRange\",\n value: function getFirstRange() {\n var t = null;\n\n var _iterator127 = _createForOfIteratorHelper(this._ranges),\n _step127;\n\n try {\n for (_iterator127.s(); !(_step127 = _iterator127.n()).done;) {\n var _e94 = _step127.value;\n t && !_e94.start.isBefore(t.start) || (t = _e94);\n }\n } catch (err) {\n _iterator127.e(err);\n } finally {\n _iterator127.f();\n }\n\n return t ? new Ss(t.start, t.end) : null;\n }\n }, {\n key: \"getLastRange\",\n value: function getLastRange() {\n var t = null;\n\n var _iterator128 = _createForOfIteratorHelper(this._ranges),\n _step128;\n\n try {\n for (_iterator128.s(); !(_step128 = _iterator128.n()).done;) {\n var _e95 = _step128.value;\n t && !_e95.end.isAfter(t.end) || (t = _e95);\n }\n } catch (err) {\n _iterator128.e(err);\n } finally {\n _iterator128.f();\n }\n\n return t ? new Ss(t.start, t.end) : null;\n }\n }, {\n key: \"getFirstPosition\",\n value: function getFirstPosition() {\n var t = this.getFirstRange();\n return t ? t.start.clone() : null;\n }\n }, {\n key: \"getLastPosition\",\n value: function getLastPosition() {\n var t = this.getLastRange();\n return t ? t.end.clone() : null;\n }\n }, {\n key: \"setTo\",\n value: function setTo(t, e, n) {\n if (null === t) this._setRanges([]);else if (t instanceof Ls) this._setRanges(t.getRanges(), t.isBackward);else if (t && \"function\" == typeof t.getRanges) this._setRanges(t.getRanges(), t.isBackward);else if (t instanceof Ss) this._setRanges([t], !!e && !!e.backward);else if (t instanceof As) this._setRanges([new Ss(t)]);else if (t instanceof bs) {\n var _i69 = !!n && !!n.backward;\n\n var _o40;\n\n if (\"in\" == e) _o40 = Ss._createIn(t);else if (\"on\" == e) _o40 = Ss._createOn(t);else {\n if (void 0 === e) throw new hn.a(\"model-selection-setto-required-second-parameter\", [this, t]);\n _o40 = new Ss(As._createAt(t, e));\n }\n\n this._setRanges([_o40], _i69);\n } else {\n if (!yn(t)) throw new hn.a(\"model-selection-setto-not-selectable\", [this, t]);\n\n this._setRanges(t, e && !!e.backward);\n }\n }\n }, {\n key: \"_setRanges\",\n value: function _setRanges(t) {\n var _this45 = this;\n\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var n = (t = Array.from(t)).some(function (e) {\n if (!(e instanceof Ss)) throw new hn.a(\"model-selection-set-ranges-not-range\", [_this45, t]);\n return _this45._ranges.every(function (t) {\n return !t.isEqual(e);\n });\n });\n\n if (t.length !== this._ranges.length || n) {\n this._removeAllRanges();\n\n var _iterator129 = _createForOfIteratorHelper(t),\n _step129;\n\n try {\n for (_iterator129.s(); !(_step129 = _iterator129.n()).done;) {\n var _e96 = _step129.value;\n\n this._pushRange(_e96);\n }\n } catch (err) {\n _iterator129.e(err);\n } finally {\n _iterator129.f();\n }\n\n this._lastRangeBackward = !!e, this.fire(\"change:range\", {\n directChange: !0\n });\n }\n }\n }, {\n key: \"setFocus\",\n value: function setFocus(t, e) {\n if (null === this.anchor) throw new hn.a(\"model-selection-setfocus-no-ranges\", [this, t]);\n\n var n = As._createAt(t, e);\n\n if (\"same\" == n.compareWith(this.focus)) return;\n var i = this.anchor;\n this._ranges.length && this._popRange(), \"before\" == n.compareWith(i) ? (this._pushRange(new Ss(n, i)), this._lastRangeBackward = !0) : (this._pushRange(new Ss(i, n)), this._lastRangeBackward = !1), this.fire(\"change:range\", {\n directChange: !0\n });\n }\n }, {\n key: \"getAttribute\",\n value: function getAttribute(t) {\n return this._attrs.get(t);\n }\n }, {\n key: \"getAttributes\",\n value: function getAttributes() {\n return this._attrs.entries();\n }\n }, {\n key: \"getAttributeKeys\",\n value: function getAttributeKeys() {\n return this._attrs.keys();\n }\n }, {\n key: \"hasAttribute\",\n value: function hasAttribute(t) {\n return this._attrs.has(t);\n }\n }, {\n key: \"removeAttribute\",\n value: function removeAttribute(t) {\n this.hasAttribute(t) && (this._attrs[\"delete\"](t), this.fire(\"change:attribute\", {\n attributeKeys: [t],\n directChange: !0\n }));\n }\n }, {\n key: \"setAttribute\",\n value: function setAttribute(t, e) {\n this.getAttribute(t) !== e && (this._attrs.set(t, e), this.fire(\"change:attribute\", {\n attributeKeys: [t],\n directChange: !0\n }));\n }\n }, {\n key: \"getSelectedElement\",\n value: function getSelectedElement() {\n return 1 !== this.rangeCount ? null : this.getFirstRange().getContainedElement();\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"selection\" === t || \"model:selection\" === t;\n }\n }, {\n key: \"getSelectedBlocks\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getSelectedBlocks() {\n var t, _iterator130, _step130, _e97, _n90, _iterator131, _step131, _n91, _i71, _i70;\n\n return _regeneratorRuntime.wrap(function getSelectedBlocks$(_context17) {\n while (1) {\n switch (_context17.prev = _context17.next) {\n case 0:\n t = new WeakSet();\n _iterator130 = _createForOfIteratorHelper(this.getRanges());\n _context17.prev = 2;\n\n _iterator130.s();\n\n case 4:\n if ((_step130 = _iterator130.n()).done) {\n _context17.next = 38;\n break;\n }\n\n _e97 = _step130.value;\n _n90 = zs(_e97.start, t);\n _context17.t0 = _n90 && Bs(_n90, _e97);\n\n if (!_context17.t0) {\n _context17.next = 11;\n break;\n }\n\n _context17.next = 11;\n return _n90;\n\n case 11:\n _iterator131 = _createForOfIteratorHelper(_e97.getWalker());\n _context17.prev = 12;\n\n _iterator131.s();\n\n case 14:\n if ((_step131 = _iterator131.n()).done) {\n _context17.next = 23;\n break;\n }\n\n _n91 = _step131.value;\n _i71 = _n91.item;\n _context17.t1 = \"elementEnd\" == _n91.type && js(_i71, t, _e97);\n\n if (!_context17.t1) {\n _context17.next = 21;\n break;\n }\n\n _context17.next = 21;\n return _i71;\n\n case 21:\n _context17.next = 14;\n break;\n\n case 23:\n _context17.next = 28;\n break;\n\n case 25:\n _context17.prev = 25;\n _context17.t2 = _context17[\"catch\"](12);\n\n _iterator131.e(_context17.t2);\n\n case 28:\n _context17.prev = 28;\n\n _iterator131.f();\n\n return _context17.finish(28);\n\n case 31:\n _i70 = zs(_e97.end, t);\n _context17.t3 = _i70 && !_e97.end.isTouching(As._createAt(_i70, 0)) && Bs(_i70, _e97);\n\n if (!_context17.t3) {\n _context17.next = 36;\n break;\n }\n\n _context17.next = 36;\n return _i70;\n\n case 36:\n _context17.next = 4;\n break;\n\n case 38:\n _context17.next = 43;\n break;\n\n case 40:\n _context17.prev = 40;\n _context17.t4 = _context17[\"catch\"](2);\n\n _iterator130.e(_context17.t4);\n\n case 43:\n _context17.prev = 43;\n\n _iterator130.f();\n\n return _context17.finish(43);\n\n case 46:\n case \"end\":\n return _context17.stop();\n }\n }\n }, getSelectedBlocks, this, [[2, 40, 43, 46], [12, 25, 28, 31]]);\n })\n }, {\n key: \"containsEntireContent\",\n value: function containsEntireContent() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.anchor.root;\n\n var e = As._createAt(t, 0),\n n = As._createAt(t, \"end\");\n\n return e.isTouching(this.getFirstPosition()) && n.isTouching(this.getLastPosition());\n }\n }, {\n key: \"_pushRange\",\n value: function _pushRange(t) {\n this._checkRange(t), this._ranges.push(new Ss(t.start, t.end));\n }\n }, {\n key: \"_checkRange\",\n value: function _checkRange(t) {\n for (var _e98 = 0; _e98 < this._ranges.length; _e98++) {\n if (t.isIntersecting(this._ranges[_e98])) throw new hn.a(\"model-selection-range-intersects\", [this, t], {\n addedRange: t,\n intersectingRange: this._ranges[_e98]\n });\n }\n }\n }, {\n key: \"_removeAllRanges\",\n value: function _removeAllRanges() {\n for (; this._ranges.length > 0;) {\n this._popRange();\n }\n }\n }, {\n key: \"_popRange\",\n value: function _popRange() {\n this._ranges.pop();\n }\n }, {\n key: \"anchor\",\n get: function get() {\n if (this._ranges.length > 0) {\n var _t97 = this._ranges[this._ranges.length - 1];\n return this._lastRangeBackward ? _t97.end : _t97.start;\n }\n\n return null;\n }\n }, {\n key: \"focus\",\n get: function get() {\n if (this._ranges.length > 0) {\n var _t98 = this._ranges[this._ranges.length - 1];\n return this._lastRangeBackward ? _t98.start : _t98.end;\n }\n\n return null;\n }\n }, {\n key: \"isCollapsed\",\n get: function get() {\n return 1 === this._ranges.length && this._ranges[0].isCollapsed;\n }\n }, {\n key: \"rangeCount\",\n get: function get() {\n return this._ranges.length;\n }\n }, {\n key: \"isBackward\",\n get: function get() {\n return !this.isCollapsed && this._lastRangeBackward;\n }\n }]);\n\n return Ls;\n }();\n\n function Vs(t, e) {\n return !e.has(t) && (e.add(t), t.root.document.model.schema.isBlock(t) && t.parent);\n }\n\n function js(t, e, n) {\n return Vs(t, e) && Bs(t, n);\n }\n\n function zs(t, e) {\n var n = t.parent.root.document.model.schema,\n i = t.parent.getAncestors({\n parentFirst: !0,\n includeSelf: !0\n });\n var o = !1;\n var r = i.find(function (t) {\n return !o && (o = n.isLimit(t), !o && Vs(t, e));\n });\n return i.forEach(function (t) {\n return e.add(t);\n }), r;\n }\n\n function Bs(t, e) {\n var n = function (t) {\n var e = t.root.document.model.schema;\n var n = t.parent;\n\n for (; n;) {\n if (e.isBlock(n)) return n;\n n = n.parent;\n }\n }(t);\n\n if (!n) return !0;\n return !e.containsRange(Ss._createOn(n), !0);\n }\n\n xn(Ls, gn);\n\n var Fs = /*#__PURE__*/function (_Ss) {\n _inherits(Fs, _Ss);\n\n var _super21 = _createSuper(Fs);\n\n function Fs(t, e) {\n var _this46;\n\n _classCallCheck(this, Fs);\n\n _this46 = _super21.call(this, t, e), Us.call(_assertThisInitialized(_this46));\n return _this46;\n }\n\n _createClass(Fs, [{\n key: \"detach\",\n value: function detach() {\n this.stopListening();\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"liveRange\" === t || \"model:liveRange\" === t || \"range\" == t || \"model:range\" === t;\n }\n }, {\n key: \"toRange\",\n value: function toRange() {\n return new Ss(this.start, this.end);\n }\n }], [{\n key: \"fromRange\",\n value: function fromRange(t) {\n return new Fs(t.start, t.end);\n }\n }]);\n\n return Fs;\n }(Ss);\n\n function Us() {\n var _this47 = this;\n\n this.listenTo(this.root.document.model, \"applyOperation\", function (t, e) {\n var n = e[0];\n n.isDocumentOperation && Hs.call(_this47, n);\n }, {\n priority: \"low\"\n });\n }\n\n function Hs(t) {\n var e = this.getTransformedByOperation(t),\n n = Ss._createFromRanges(e),\n i = !n.isEqual(this),\n o = function (t, e) {\n switch (e.type) {\n case \"insert\":\n return t.containsPosition(e.position);\n\n case \"move\":\n case \"remove\":\n case \"reinsert\":\n case \"merge\":\n return t.containsPosition(e.sourcePosition) || t.start.isEqual(e.sourcePosition) || t.containsPosition(e.targetPosition);\n\n case \"split\":\n return t.containsPosition(e.splitPosition) || t.containsPosition(e.insertionPosition);\n }\n\n return !1;\n }(this, t);\n\n var r = null;\n\n if (i) {\n \"$graveyard\" == n.root.rootName && (r = \"remove\" == t.type ? t.sourcePosition : t.deletionPosition);\n\n var _e99 = this.toRange();\n\n this.start = n.start, this.end = n.end, this.fire(\"change:range\", _e99, {\n deletionPosition: r\n });\n } else o && this.fire(\"change:content\", this.toRange(), {\n deletionPosition: r\n });\n }\n\n xn(Fs, gn);\n\n var Ws = /*#__PURE__*/function () {\n function Ws(t) {\n _classCallCheck(this, Ws);\n\n this._selection = new qs(t), this._selection.delegate(\"change:range\").to(this), this._selection.delegate(\"change:attribute\").to(this), this._selection.delegate(\"change:marker\").to(this);\n }\n\n _createClass(Ws, [{\n key: \"getRanges\",\n value: function getRanges() {\n return this._selection.getRanges();\n }\n }, {\n key: \"getFirstPosition\",\n value: function getFirstPosition() {\n return this._selection.getFirstPosition();\n }\n }, {\n key: \"getLastPosition\",\n value: function getLastPosition() {\n return this._selection.getLastPosition();\n }\n }, {\n key: \"getFirstRange\",\n value: function getFirstRange() {\n return this._selection.getFirstRange();\n }\n }, {\n key: \"getLastRange\",\n value: function getLastRange() {\n return this._selection.getLastRange();\n }\n }, {\n key: \"getSelectedBlocks\",\n value: function getSelectedBlocks() {\n return this._selection.getSelectedBlocks();\n }\n }, {\n key: \"getSelectedElement\",\n value: function getSelectedElement() {\n return this._selection.getSelectedElement();\n }\n }, {\n key: \"containsEntireContent\",\n value: function containsEntireContent(t) {\n return this._selection.containsEntireContent(t);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._selection.destroy();\n }\n }, {\n key: \"getAttributeKeys\",\n value: function getAttributeKeys() {\n return this._selection.getAttributeKeys();\n }\n }, {\n key: \"getAttributes\",\n value: function getAttributes() {\n return this._selection.getAttributes();\n }\n }, {\n key: \"getAttribute\",\n value: function getAttribute(t) {\n return this._selection.getAttribute(t);\n }\n }, {\n key: \"hasAttribute\",\n value: function hasAttribute(t) {\n return this._selection.hasAttribute(t);\n }\n }, {\n key: \"refresh\",\n value: function refresh() {\n this._selection._updateMarkers(), this._selection._updateAttributes(!1);\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"selection\" === t || \"model:selection\" == t || \"documentSelection\" == t || \"model:documentSelection\" == t;\n }\n }, {\n key: \"_setFocus\",\n value: function _setFocus(t, e) {\n this._selection.setFocus(t, e);\n }\n }, {\n key: \"_setTo\",\n value: function _setTo(t, e, n) {\n this._selection.setTo(t, e, n);\n }\n }, {\n key: \"_setAttribute\",\n value: function _setAttribute(t, e) {\n this._selection.setAttribute(t, e);\n }\n }, {\n key: \"_removeAttribute\",\n value: function _removeAttribute(t) {\n this._selection.removeAttribute(t);\n }\n }, {\n key: \"_getStoredAttributes\",\n value: function _getStoredAttributes() {\n return this._selection._getStoredAttributes();\n }\n }, {\n key: \"_overrideGravity\",\n value: function _overrideGravity() {\n return this._selection.overrideGravity();\n }\n }, {\n key: \"_restoreGravity\",\n value: function _restoreGravity(t) {\n this._selection.restoreGravity(t);\n }\n }, {\n key: \"isCollapsed\",\n get: function get() {\n return this._selection.isCollapsed;\n }\n }, {\n key: \"anchor\",\n get: function get() {\n return this._selection.anchor;\n }\n }, {\n key: \"focus\",\n get: function get() {\n return this._selection.focus;\n }\n }, {\n key: \"rangeCount\",\n get: function get() {\n return this._selection.rangeCount;\n }\n }, {\n key: \"hasOwnRange\",\n get: function get() {\n return this._selection.hasOwnRange;\n }\n }, {\n key: \"isBackward\",\n get: function get() {\n return this._selection.isBackward;\n }\n }, {\n key: \"isGravityOverridden\",\n get: function get() {\n return this._selection.isGravityOverridden;\n }\n }, {\n key: \"markers\",\n get: function get() {\n return this._selection.markers;\n }\n }, {\n key: \"_ranges\",\n get: function get() {\n return this._selection._ranges;\n }\n }], [{\n key: \"_getStoreAttributeKey\",\n value: function _getStoreAttributeKey(t) {\n return \"selection:\" + t;\n }\n }, {\n key: \"_isStoreAttributeKey\",\n value: function _isStoreAttributeKey(t) {\n return t.startsWith(\"selection:\");\n }\n }]);\n\n return Ws;\n }();\n\n xn(Ws, gn);\n\n var qs = /*#__PURE__*/function (_Ls) {\n _inherits(qs, _Ls);\n\n var _super22 = _createSuper(qs);\n\n function qs(t) {\n var _this48;\n\n _classCallCheck(this, qs);\n\n _this48 = _super22.call(this), _this48.markers = new An({\n idProperty: \"name\"\n }), _this48._model = t.model, _this48._document = t, _this48._attributePriority = new Map(), _this48._selectionRestorePosition = null, _this48._hasChangedRange = !1, _this48._overriddenGravityRegister = new Set(), _this48.listenTo(_this48._model, \"applyOperation\", function (t, e) {\n var n = e[0];\n n.isDocumentOperation && \"marker\" != n.type && \"rename\" != n.type && \"noop\" != n.type && (0 == _this48._ranges.length && _this48._selectionRestorePosition && _this48._fixGraveyardSelection(_this48._selectionRestorePosition), _this48._selectionRestorePosition = null, _this48._hasChangedRange && (_this48._hasChangedRange = !1, _this48.fire(\"change:range\", {\n directChange: !1\n })));\n }, {\n priority: \"lowest\"\n }), _this48.on(\"change:range\", function () {\n var _iterator132 = _createForOfIteratorHelper(_this48.getRanges()),\n _step132;\n\n try {\n for (_iterator132.s(); !(_step132 = _iterator132.n()).done;) {\n var _t99 = _step132.value;\n if (!_this48._document._validateSelectionRange(_t99)) throw new hn.a(\"document-selection-wrong-position\", _assertThisInitialized(_this48), {\n range: _t99\n });\n }\n } catch (err) {\n _iterator132.e(err);\n } finally {\n _iterator132.f();\n }\n }), _this48.listenTo(_this48._model.markers, \"update\", function () {\n return _this48._updateMarkers();\n }), _this48.listenTo(_this48._document, \"change\", function (t, e) {\n !function (t, e) {\n var n = t.document.differ;\n\n var _iterator133 = _createForOfIteratorHelper(n.getChanges()),\n _step133;\n\n try {\n var _loop2 = function _loop2() {\n var i = _step133.value;\n if (\"insert\" != i.type) return \"continue\";\n var n = i.position.parent;\n i.length === n.maxOffset && t.enqueueChange(e, function (t) {\n var e = Array.from(n.getAttributeKeys()).filter(function (t) {\n return t.startsWith(\"selection:\");\n });\n\n var _iterator134 = _createForOfIteratorHelper(e),\n _step134;\n\n try {\n for (_iterator134.s(); !(_step134 = _iterator134.n()).done;) {\n var _i72 = _step134.value;\n t.removeAttribute(_i72, n);\n }\n } catch (err) {\n _iterator134.e(err);\n } finally {\n _iterator134.f();\n }\n });\n };\n\n for (_iterator133.s(); !(_step133 = _iterator133.n()).done;) {\n var _ret = _loop2();\n\n if (_ret === \"continue\") continue;\n }\n } catch (err) {\n _iterator133.e(err);\n } finally {\n _iterator133.f();\n }\n }(_this48._model, e);\n });\n return _this48;\n }\n\n _createClass(qs, [{\n key: \"destroy\",\n value: function destroy() {\n for (var _t100 = 0; _t100 < this._ranges.length; _t100++) {\n this._ranges[_t100].detach();\n }\n\n this.stopListening();\n }\n }, {\n key: \"getRanges\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getRanges() {\n return _regeneratorRuntime.wrap(function getRanges$(_context18) {\n while (1) {\n switch (_context18.prev = _context18.next) {\n case 0:\n if (!this._ranges.length) {\n _context18.next = 4;\n break;\n }\n\n return _context18.delegateYield(_get(_getPrototypeOf(qs.prototype), \"getRanges\", this).call(this), \"t0\", 2);\n\n case 2:\n _context18.next = 6;\n break;\n\n case 4:\n _context18.next = 6;\n return this._document._getDefaultRange();\n\n case 6:\n case \"end\":\n return _context18.stop();\n }\n }\n }, getRanges, this);\n })\n }, {\n key: \"getFirstRange\",\n value: function getFirstRange() {\n return _get(_getPrototypeOf(qs.prototype), \"getFirstRange\", this).call(this) || this._document._getDefaultRange();\n }\n }, {\n key: \"getLastRange\",\n value: function getLastRange() {\n return _get(_getPrototypeOf(qs.prototype), \"getLastRange\", this).call(this) || this._document._getDefaultRange();\n }\n }, {\n key: \"setTo\",\n value: function setTo(t, e, n) {\n _get(_getPrototypeOf(qs.prototype), \"setTo\", this).call(this, t, e, n), this._updateAttributes(!0), this._updateMarkers();\n }\n }, {\n key: \"setFocus\",\n value: function setFocus(t, e) {\n _get(_getPrototypeOf(qs.prototype), \"setFocus\", this).call(this, t, e), this._updateAttributes(!0), this._updateMarkers();\n }\n }, {\n key: \"setAttribute\",\n value: function setAttribute(t, e) {\n if (this._setAttribute(t, e)) {\n var _e100 = [t];\n this.fire(\"change:attribute\", {\n attributeKeys: _e100,\n directChange: !0\n });\n }\n }\n }, {\n key: \"removeAttribute\",\n value: function removeAttribute(t) {\n if (this._removeAttribute(t)) {\n var _e101 = [t];\n this.fire(\"change:attribute\", {\n attributeKeys: _e101,\n directChange: !0\n });\n }\n }\n }, {\n key: \"overrideGravity\",\n value: function overrideGravity() {\n var t = dn();\n return this._overriddenGravityRegister.add(t), 1 === this._overriddenGravityRegister.size && this._updateAttributes(!0), t;\n }\n }, {\n key: \"restoreGravity\",\n value: function restoreGravity(t) {\n if (!this._overriddenGravityRegister.has(t)) throw new hn.a(\"document-selection-gravity-wrong-restore\", this, {\n uid: t\n });\n this._overriddenGravityRegister[\"delete\"](t), this.isGravityOverridden || this._updateAttributes(!0);\n }\n }, {\n key: \"_popRange\",\n value: function _popRange() {\n this._ranges.pop().detach();\n }\n }, {\n key: \"_pushRange\",\n value: function _pushRange(t) {\n var e = this._prepareRange(t);\n\n e && this._ranges.push(e);\n }\n }, {\n key: \"_prepareRange\",\n value: function _prepareRange(t) {\n var _this49 = this;\n\n if (this._checkRange(t), t.root == this._document.graveyard) return;\n var e = Fs.fromRange(t);\n return e.on(\"change:range\", function (t, n, i) {\n if (_this49._hasChangedRange = !0, e.root == _this49._document.graveyard) {\n _this49._selectionRestorePosition = i.deletionPosition;\n\n var _t101 = _this49._ranges.indexOf(e);\n\n _this49._ranges.splice(_t101, 1), e.detach();\n }\n }), e;\n }\n }, {\n key: \"_updateMarkers\",\n value: function _updateMarkers() {\n var t = [];\n var e = !1;\n\n var _iterator135 = _createForOfIteratorHelper(this._model.markers),\n _step135;\n\n try {\n for (_iterator135.s(); !(_step135 = _iterator135.n()).done;) {\n var _e102 = _step135.value;\n\n var _n94 = _e102.getRange();\n\n var _iterator136 = _createForOfIteratorHelper(this.getRanges()),\n _step136;\n\n try {\n for (_iterator136.s(); !(_step136 = _iterator136.n()).done;) {\n var _i75 = _step136.value;\n _n94.containsRange(_i75, !_i75.isCollapsed) && t.push(_e102);\n }\n } catch (err) {\n _iterator136.e(err);\n } finally {\n _iterator136.f();\n }\n }\n } catch (err) {\n _iterator135.e(err);\n } finally {\n _iterator135.f();\n }\n\n var n = Array.from(this.markers);\n\n for (var _i73 = 0, _t102 = t; _i73 < _t102.length; _i73++) {\n var _n92 = _t102[_i73];\n this.markers.has(_n92) || (this.markers.add(_n92), e = !0);\n }\n\n for (var _i74 = 0, _Array$from2 = Array.from(this.markers); _i74 < _Array$from2.length; _i74++) {\n var _n93 = _Array$from2[_i74];\n t.includes(_n93) || (this.markers.remove(_n93), e = !0);\n }\n\n e && this.fire(\"change:marker\", {\n oldMarkers: n,\n directChange: !1\n });\n }\n }, {\n key: \"_updateAttributes\",\n value: function _updateAttributes(t) {\n var e = Ln(this._getSurroundingAttributes()),\n n = Ln(this.getAttributes());\n if (t) this._attributePriority = new Map(), this._attrs = new Map();else {\n var _iterator137 = _createForOfIteratorHelper(this._attributePriority),\n _step137;\n\n try {\n for (_iterator137.s(); !(_step137 = _iterator137.n()).done;) {\n var _ref37 = _step137.value;\n\n var _ref36 = _slicedToArray(_ref37, 2);\n\n var _t103 = _ref36[0];\n var _e103 = _ref36[1];\n \"low\" == _e103 && (this._attrs[\"delete\"](_t103), this._attributePriority[\"delete\"](_t103));\n }\n } catch (err) {\n _iterator137.e(err);\n } finally {\n _iterator137.f();\n }\n }\n\n this._setAttributesTo(e);\n\n var i = [];\n\n var _iterator138 = _createForOfIteratorHelper(this.getAttributes()),\n _step138;\n\n try {\n for (_iterator138.s(); !(_step138 = _iterator138.n()).done;) {\n var _ref42 = _step138.value;\n\n var _ref39 = _slicedToArray(_ref42, 2);\n\n var _t104 = _ref39[0];\n var _e104 = _ref39[1];\n n.has(_t104) && n.get(_t104) === _e104 || i.push(_t104);\n }\n } catch (err) {\n _iterator138.e(err);\n } finally {\n _iterator138.f();\n }\n\n var _iterator139 = _createForOfIteratorHelper(n),\n _step139;\n\n try {\n for (_iterator139.s(); !(_step139 = _iterator139.n()).done;) {\n var _ref43 = _step139.value;\n\n var _ref41 = _slicedToArray(_ref43, 1);\n\n var _t105 = _ref41[0];\n this.hasAttribute(_t105) || i.push(_t105);\n }\n } catch (err) {\n _iterator139.e(err);\n } finally {\n _iterator139.f();\n }\n\n i.length > 0 && this.fire(\"change:attribute\", {\n attributeKeys: i,\n directChange: !1\n });\n }\n }, {\n key: \"_setAttribute\",\n value: function _setAttribute(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !0;\n var i = n ? \"normal\" : \"low\";\n if (\"low\" == i && \"normal\" == this._attributePriority.get(t)) return !1;\n return _get(_getPrototypeOf(qs.prototype), \"getAttribute\", this).call(this, t) !== e && (this._attrs.set(t, e), this._attributePriority.set(t, i), !0);\n }\n }, {\n key: \"_removeAttribute\",\n value: function _removeAttribute(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n var n = e ? \"normal\" : \"low\";\n return (\"low\" != n || \"normal\" != this._attributePriority.get(t)) && (this._attributePriority.set(t, n), !!_get(_getPrototypeOf(qs.prototype), \"hasAttribute\", this).call(this, t) && (this._attrs[\"delete\"](t), !0));\n }\n }, {\n key: \"_setAttributesTo\",\n value: function _setAttributesTo(t) {\n var e = new Set();\n\n var _iterator140 = _createForOfIteratorHelper(this.getAttributes()),\n _step140;\n\n try {\n for (_iterator140.s(); !(_step140 = _iterator140.n()).done;) {\n var _ref48 = _step140.value;\n\n var _ref45 = _slicedToArray(_ref48, 2);\n\n var _e105 = _ref45[0];\n var _n95 = _ref45[1];\n t.get(_e105) !== _n95 && this._removeAttribute(_e105, !1);\n }\n } catch (err) {\n _iterator140.e(err);\n } finally {\n _iterator140.f();\n }\n\n var _iterator141 = _createForOfIteratorHelper(t),\n _step141;\n\n try {\n for (_iterator141.s(); !(_step141 = _iterator141.n()).done;) {\n var _ref49 = _step141.value;\n\n var _ref47 = _slicedToArray(_ref49, 2);\n\n var _n96 = _ref47[0];\n var _i76 = _ref47[1];\n this._setAttribute(_n96, _i76, !1) && e.add(_n96);\n }\n } catch (err) {\n _iterator141.e(err);\n } finally {\n _iterator141.f();\n }\n\n return e;\n }\n }, {\n key: \"_getStoredAttributes\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function _getStoredAttributes() {\n var t, _iterator142, _step142, _e106, _n97;\n\n return _regeneratorRuntime.wrap(function _getStoredAttributes$(_context19) {\n while (1) {\n switch (_context19.prev = _context19.next) {\n case 0:\n t = this.getFirstPosition().parent;\n\n if (!(this.isCollapsed && t.isEmpty)) {\n _context19.next = 21;\n break;\n }\n\n _iterator142 = _createForOfIteratorHelper(t.getAttributeKeys());\n _context19.prev = 3;\n\n _iterator142.s();\n\n case 5:\n if ((_step142 = _iterator142.n()).done) {\n _context19.next = 13;\n break;\n }\n\n _e106 = _step142.value;\n\n if (!_e106.startsWith(\"selection:\")) {\n _context19.next = 11;\n break;\n }\n\n _n97 = _e106.substr(\"selection:\".length);\n _context19.next = 11;\n return [_n97, t.getAttribute(_e106)];\n\n case 11:\n _context19.next = 5;\n break;\n\n case 13:\n _context19.next = 18;\n break;\n\n case 15:\n _context19.prev = 15;\n _context19.t0 = _context19[\"catch\"](3);\n\n _iterator142.e(_context19.t0);\n\n case 18:\n _context19.prev = 18;\n\n _iterator142.f();\n\n return _context19.finish(18);\n\n case 21:\n case \"end\":\n return _context19.stop();\n }\n }\n }, _getStoredAttributes, this, [[3, 15, 18, 21]]);\n })\n }, {\n key: \"_getSurroundingAttributes\",\n value: function _getSurroundingAttributes() {\n var t = this.getFirstPosition(),\n e = this._model.schema;\n var n = null;\n\n if (this.isCollapsed) {\n var _i77 = t.textNode ? t.textNode : t.nodeBefore,\n _o41 = t.textNode ? t.textNode : t.nodeAfter;\n\n if (this.isGravityOverridden || (n = $s(_i77)), n || (n = $s(_o41)), !this.isGravityOverridden && !n) {\n var _t106 = _i77;\n\n for (; _t106 && !e.isInline(_t106) && !n;) {\n _t106 = _t106.previousSibling, n = $s(_t106);\n }\n }\n\n if (!n) {\n var _t107 = _o41;\n\n for (; _t107 && !e.isInline(_t107) && !n;) {\n _t107 = _t107.nextSibling, n = $s(_t107);\n }\n }\n\n n || (n = this._getStoredAttributes());\n } else {\n var _t108 = this.getFirstRange();\n\n var _iterator143 = _createForOfIteratorHelper(_t108),\n _step143;\n\n try {\n for (_iterator143.s(); !(_step143 = _iterator143.n()).done;) {\n var _i78 = _step143.value;\n if (_i78.item.is(\"element\") && e.isObject(_i78.item)) break;\n\n if (\"text\" == _i78.type) {\n n = _i78.item.getAttributes();\n break;\n }\n }\n } catch (err) {\n _iterator143.e(err);\n } finally {\n _iterator143.f();\n }\n }\n\n return n;\n }\n }, {\n key: \"_fixGraveyardSelection\",\n value: function _fixGraveyardSelection(t) {\n var e = this._model.schema.getNearestSelectionRange(t);\n\n e && this._pushRange(e);\n }\n }, {\n key: \"isCollapsed\",\n get: function get() {\n return 0 === this._ranges.length ? this._document._getDefaultRange().isCollapsed : _get(_getPrototypeOf(qs.prototype), \"isCollapsed\", this);\n }\n }, {\n key: \"anchor\",\n get: function get() {\n return _get(_getPrototypeOf(qs.prototype), \"anchor\", this) || this._document._getDefaultRange().start;\n }\n }, {\n key: \"focus\",\n get: function get() {\n return _get(_getPrototypeOf(qs.prototype), \"focus\", this) || this._document._getDefaultRange().end;\n }\n }, {\n key: \"rangeCount\",\n get: function get() {\n return this._ranges.length ? this._ranges.length : 1;\n }\n }, {\n key: \"hasOwnRange\",\n get: function get() {\n return this._ranges.length > 0;\n }\n }, {\n key: \"isGravityOverridden\",\n get: function get() {\n return !!this._overriddenGravityRegister.size;\n }\n }]);\n\n return qs;\n }(Ls);\n\n function $s(t) {\n return t instanceof ks || t instanceof ws ? t.getAttributes() : null;\n }\n\n var Ys = /*#__PURE__*/function () {\n function Ys(t) {\n _classCallCheck(this, Ys);\n\n this._dispatchers = t;\n }\n\n _createClass(Ys, [{\n key: \"add\",\n value: function add(t) {\n var _iterator144 = _createForOfIteratorHelper(this._dispatchers),\n _step144;\n\n try {\n for (_iterator144.s(); !(_step144 = _iterator144.n()).done;) {\n var _e107 = _step144.value;\n t(_e107);\n }\n } catch (err) {\n _iterator144.e(err);\n } finally {\n _iterator144.f();\n }\n\n return this;\n }\n }]);\n\n return Ys;\n }();\n\n var Gs = function Gs(t) {\n return tn(t, 5);\n };\n\n var Ks = /*#__PURE__*/function (_Ys) {\n _inherits(Ks, _Ys);\n\n var _super23 = _createSuper(Ks);\n\n function Ks() {\n _classCallCheck(this, Ks);\n\n return _super23.apply(this, arguments);\n }\n\n _createClass(Ks, [{\n key: \"elementToElement\",\n value: function elementToElement(t) {\n return this.add(function (t) {\n return (t = Gs(t)).view = Zs(t.view, \"container\"), function (e) {\n var n;\n\n if (e.on(\"insert:\" + t.model, (n = t.view, function (t, e, i) {\n var o = n(e.item, i);\n if (!o) return;\n if (!i.consumable.consume(e.item, \"insert\")) return;\n var r = i.mapper.toViewPosition(e.range.start);\n i.mapper.bindElements(e.item, o), i.writer.insert(r, o);\n }), {\n priority: t.converterPriority || \"normal\"\n }), t.triggerBy) {\n if (t.triggerBy.attributes) {\n var _iterator145 = _createForOfIteratorHelper(t.triggerBy.attributes),\n _step145;\n\n try {\n for (_iterator145.s(); !(_step145 = _iterator145.n()).done;) {\n var _n98 = _step145.value;\n\n e._mapReconversionTriggerEvent(t.model, \"attribute:\".concat(_n98, \":\").concat(t.model));\n }\n } catch (err) {\n _iterator145.e(err);\n } finally {\n _iterator145.f();\n }\n }\n\n if (t.triggerBy.children) {\n var _iterator146 = _createForOfIteratorHelper(t.triggerBy.children),\n _step146;\n\n try {\n for (_iterator146.s(); !(_step146 = _iterator146.n()).done;) {\n var _n99 = _step146.value;\n e._mapReconversionTriggerEvent(t.model, \"insert:\" + _n99), e._mapReconversionTriggerEvent(t.model, \"remove:\" + _n99);\n }\n } catch (err) {\n _iterator146.e(err);\n } finally {\n _iterator146.f();\n }\n }\n }\n };\n }(t));\n }\n }, {\n key: \"attributeToElement\",\n value: function attributeToElement(t) {\n return this.add(function (t) {\n t = Gs(t);\n var e = \"attribute:\" + (t.model.key ? t.model.key : t.model);\n t.model.name && (e += \":\" + t.model.name);\n\n if (t.model.values) {\n var _iterator147 = _createForOfIteratorHelper(t.model.values),\n _step147;\n\n try {\n for (_iterator147.s(); !(_step147 = _iterator147.n()).done;) {\n var _e108 = _step147.value;\n t.view[_e108] = Zs(t.view[_e108], \"attribute\");\n }\n } catch (err) {\n _iterator147.e(err);\n } finally {\n _iterator147.f();\n }\n } else t.view = Zs(t.view, \"attribute\");\n\n var n = Xs(t);\n return function (i) {\n i.on(e, function (t) {\n return function (e, n, i) {\n var o = t(n.attributeOldValue, i),\n r = t(n.attributeNewValue, i);\n if (!o && !r) return;\n if (!i.consumable.consume(n.item, e.name)) return;\n var s = i.writer,\n a = s.document.selection;\n if (n.item instanceof Ls || n.item instanceof Ws) s.wrap(a.getFirstRange(), r);else {\n var _t109 = i.mapper.toViewRange(n.range);\n\n null !== n.attributeOldValue && o && (_t109 = s.unwrap(_t109, o)), null !== n.attributeNewValue && r && s.wrap(_t109, r);\n }\n };\n }(n), {\n priority: t.converterPriority || \"normal\"\n });\n };\n }(t));\n }\n }, {\n key: \"attributeToAttribute\",\n value: function attributeToAttribute(t) {\n return this.add(function (t) {\n t = Gs(t);\n var e = \"attribute:\" + (t.model.key ? t.model.key : t.model);\n t.model.name && (e += \":\" + t.model.name);\n\n if (t.model.values) {\n var _iterator148 = _createForOfIteratorHelper(t.model.values),\n _step148;\n\n try {\n for (_iterator148.s(); !(_step148 = _iterator148.n()).done;) {\n var _e109 = _step148.value;\n t.view[_e109] = ta(t.view[_e109]);\n }\n } catch (err) {\n _iterator148.e(err);\n } finally {\n _iterator148.f();\n }\n } else t.view = ta(t.view);\n\n var n = Xs(t);\n return function (i) {\n var o;\n i.on(e, (o = n, function (t, e, n) {\n var i = o(e.attributeOldValue, n),\n r = o(e.attributeNewValue, n);\n if (!i && !r) return;\n if (!n.consumable.consume(e.item, t.name)) return;\n var s = n.mapper.toViewElement(e.item),\n a = n.writer;\n if (!s) throw new hn.a(\"conversion-attribute-to-attribute-on-text\", [e, n]);\n if (null !== e.attributeOldValue && i) if (\"class\" == i.key) {\n var _t110 = Array.isArray(i.value) ? i.value : [i.value];\n\n var _iterator149 = _createForOfIteratorHelper(_t110),\n _step149;\n\n try {\n for (_iterator149.s(); !(_step149 = _iterator149.n()).done;) {\n var _e110 = _step149.value;\n a.removeClass(_e110, s);\n }\n } catch (err) {\n _iterator149.e(err);\n } finally {\n _iterator149.f();\n }\n } else if (\"style\" == i.key) {\n var _t111 = Object.keys(i.value);\n\n for (var _i79 = 0, _t112 = _t111; _i79 < _t112.length; _i79++) {\n var _e111 = _t112[_i79];\n a.removeStyle(_e111, s);\n }\n } else a.removeAttribute(i.key, s);\n if (null !== e.attributeNewValue && r) if (\"class\" == r.key) {\n var _t113 = Array.isArray(r.value) ? r.value : [r.value];\n\n var _iterator150 = _createForOfIteratorHelper(_t113),\n _step150;\n\n try {\n for (_iterator150.s(); !(_step150 = _iterator150.n()).done;) {\n var _e112 = _step150.value;\n a.addClass(_e112, s);\n }\n } catch (err) {\n _iterator150.e(err);\n } finally {\n _iterator150.f();\n }\n } else if (\"style\" == r.key) {\n var _t114 = Object.keys(r.value);\n\n for (var _i80 = 0, _t115 = _t114; _i80 < _t115.length; _i80++) {\n var _e113 = _t115[_i80];\n a.setStyle(_e113, r.value[_e113], s);\n }\n } else a.setAttribute(r.key, r.value, s);\n }), {\n priority: t.converterPriority || \"normal\"\n });\n };\n }(t));\n }\n }, {\n key: \"markerToElement\",\n value: function markerToElement(t) {\n return this.add(function (t) {\n return (t = Gs(t)).view = Zs(t.view, \"ui\"), function (e) {\n var n;\n e.on(\"addMarker:\" + t.model, (n = t.view, function (t, e, i) {\n e.isOpening = !0;\n var o = n(e, i);\n e.isOpening = !1;\n var r = n(e, i);\n if (!o || !r) return;\n var s = e.markerRange;\n if (s.isCollapsed && !i.consumable.consume(s, t.name)) return;\n\n var _iterator151 = _createForOfIteratorHelper(s),\n _step151;\n\n try {\n for (_iterator151.s(); !(_step151 = _iterator151.n()).done;) {\n var _e114 = _step151.value;\n if (!i.consumable.consume(_e114.item, t.name)) return;\n }\n } catch (err) {\n _iterator151.e(err);\n } finally {\n _iterator151.f();\n }\n\n var a = i.mapper,\n c = i.writer;\n c.insert(a.toViewPosition(s.start), o), i.mapper.bindElementToMarker(o, e.markerName), s.isCollapsed || (c.insert(a.toViewPosition(s.end), r), i.mapper.bindElementToMarker(r, e.markerName)), t.stop();\n }), {\n priority: t.converterPriority || \"normal\"\n }), e.on(\"removeMarker:\" + t.model, (t.view, function (t, e, n) {\n var i = n.mapper.markerNameToElements(e.markerName);\n\n if (i) {\n var _iterator152 = _createForOfIteratorHelper(i),\n _step152;\n\n try {\n for (_iterator152.s(); !(_step152 = _iterator152.n()).done;) {\n var _t116 = _step152.value;\n n.mapper.unbindElementFromMarkerName(_t116, e.markerName), n.writer.clear(n.writer.createRangeOn(_t116), _t116);\n }\n } catch (err) {\n _iterator152.e(err);\n } finally {\n _iterator152.f();\n }\n\n n.writer.clearClonedElementsGroup(e.markerName), t.stop();\n }\n }), {\n priority: t.converterPriority || \"normal\"\n });\n };\n }(t));\n }\n }, {\n key: \"markerToHighlight\",\n value: function markerToHighlight(t) {\n return this.add(function (t) {\n return function (e) {\n var n;\n e.on(\"addMarker:\" + t.model, (n = t.view, function (t, e, i) {\n if (!e.item) return;\n if (!(e.item instanceof Ls || e.item instanceof Ws || e.item.is(\"$textProxy\"))) return;\n var o = ea(n, e, i);\n if (!o) return;\n if (!i.consumable.consume(e.item, t.name)) return;\n var r = i.writer,\n s = Qs(r, o),\n a = r.document.selection;\n if (e.item instanceof Ls || e.item instanceof Ws) r.wrap(a.getFirstRange(), s, a);else {\n var _t117 = i.mapper.toViewRange(e.range),\n _n100 = r.wrap(_t117, s);\n\n var _iterator153 = _createForOfIteratorHelper(_n100.getItems()),\n _step153;\n\n try {\n for (_iterator153.s(); !(_step153 = _iterator153.n()).done;) {\n var _t118 = _step153.value;\n\n if (_t118.is(\"attributeElement\") && _t118.isSimilar(s)) {\n i.mapper.bindElementToMarker(_t118, e.markerName);\n break;\n }\n }\n } catch (err) {\n _iterator153.e(err);\n } finally {\n _iterator153.f();\n }\n }\n }), {\n priority: t.converterPriority || \"normal\"\n }), e.on(\"addMarker:\" + t.model, function (t) {\n return function (e, n, i) {\n if (!n.item) return;\n if (!(n.item instanceof vs)) return;\n var o = ea(t, n, i);\n if (!o) return;\n if (!i.consumable.test(n.item, e.name)) return;\n var r = i.mapper.toViewElement(n.item);\n\n if (r && r.getCustomProperty(\"addHighlight\")) {\n i.consumable.consume(n.item, e.name);\n\n var _iterator154 = _createForOfIteratorHelper(Ss._createIn(n.item)),\n _step154;\n\n try {\n for (_iterator154.s(); !(_step154 = _iterator154.n()).done;) {\n var _t119 = _step154.value;\n i.consumable.consume(_t119.item, e.name);\n }\n } catch (err) {\n _iterator154.e(err);\n } finally {\n _iterator154.f();\n }\n\n r.getCustomProperty(\"addHighlight\")(r, o, i.writer), i.mapper.bindElementToMarker(r, n.markerName);\n }\n };\n }(t.view), {\n priority: t.converterPriority || \"normal\"\n }), e.on(\"removeMarker:\" + t.model, function (t) {\n return function (e, n, i) {\n if (n.markerRange.isCollapsed) return;\n var o = ea(t, n, i);\n if (!o) return;\n var r = Qs(i.writer, o),\n s = i.mapper.markerNameToElements(n.markerName);\n\n if (s) {\n var _iterator155 = _createForOfIteratorHelper(s),\n _step155;\n\n try {\n for (_iterator155.s(); !(_step155 = _iterator155.n()).done;) {\n var _t120 = _step155.value;\n i.mapper.unbindElementFromMarkerName(_t120, n.markerName), _t120.is(\"attributeElement\") ? i.writer.unwrap(i.writer.createRangeOn(_t120), r) : _t120.getCustomProperty(\"removeHighlight\")(_t120, o.id, i.writer);\n }\n } catch (err) {\n _iterator155.e(err);\n } finally {\n _iterator155.f();\n }\n\n i.writer.clearClonedElementsGroup(n.markerName), e.stop();\n }\n };\n }(t.view), {\n priority: t.converterPriority || \"normal\"\n });\n };\n }(t));\n }\n }, {\n key: \"markerToData\",\n value: function markerToData(t) {\n return this.add(function (t) {\n var e = (t = Gs(t)).model;\n t.view || (t.view = function (n) {\n return {\n group: e,\n name: n.substr(t.model.length + 1)\n };\n });\n return function (n) {\n var i;\n n.on(\"addMarker:\" + e, (i = t.view, function (t, e, n) {\n var o = i(e.markerName, n);\n if (!o) return;\n var r = e.markerRange;\n n.consumable.consume(r, t.name) && (Js(r, !1, n, e, o), Js(r, !0, n, e, o), t.stop());\n }), {\n priority: t.converterPriority || \"normal\"\n }), n.on(\"removeMarker:\" + e, function (t) {\n return function (e, n, i) {\n var o = t(n.markerName, i);\n if (!o) return;\n var r = i.mapper.markerNameToElements(n.markerName);\n\n if (r) {\n var _iterator156 = _createForOfIteratorHelper(r),\n _step156;\n\n try {\n for (_iterator156.s(); !(_step156 = _iterator156.n()).done;) {\n var _t121 = _step156.value;\n i.mapper.unbindElementFromMarkerName(_t121, n.markerName), _t121.is(\"containerElement\") ? (s(\"data-\".concat(o.group, \"-start-before\"), _t121), s(\"data-\".concat(o.group, \"-start-after\"), _t121), s(\"data-\".concat(o.group, \"-end-before\"), _t121), s(\"data-\".concat(o.group, \"-end-after\"), _t121)) : i.writer.clear(i.writer.createRangeOn(_t121), _t121);\n }\n } catch (err) {\n _iterator156.e(err);\n } finally {\n _iterator156.f();\n }\n\n i.writer.clearClonedElementsGroup(n.markerName), e.stop();\n }\n\n function s(t, e) {\n if (e.hasAttribute(t)) {\n var _n101 = new Set(e.getAttribute(t).split(\",\"));\n\n _n101[\"delete\"](o.name), 0 == _n101.size ? i.writer.removeAttribute(t, e) : i.writer.setAttribute(t, Array.from(_n101).join(\",\"), e);\n }\n }\n };\n }(t.view), {\n priority: t.converterPriority || \"normal\"\n });\n };\n }(t));\n }\n }]);\n\n return Ks;\n }(Ys);\n\n function Qs(t, e) {\n var n = t.createAttributeElement(\"span\", e.attributes);\n return e.classes && n._addClass(e.classes), e.priority && (n._priority = e.priority), n._id = e.id, n;\n }\n\n function Js(t, e, n, i, o) {\n var r = e ? t.start : t.end;\n\n if (n.schema.checkChild(r, \"$text\")) {\n !function (t, e, n, i, o) {\n var r = \"\".concat(o.group, \"-\").concat(e ? \"start\" : \"end\"),\n s = o.name ? {\n name: o.name\n } : null,\n a = n.writer.createUIElement(r, s);\n n.writer.insert(t, a), n.mapper.bindElementToMarker(a, i.markerName);\n }(n.mapper.toViewPosition(r), e, n, i, o);\n } else {\n var _t122, _s13;\n\n e && r.nodeAfter || !e && !r.nodeBefore ? (_t122 = r.nodeAfter, _s13 = !0) : (_t122 = r.nodeBefore, _s13 = !1);\n !function (t, e, n, i, o, r) {\n var s = \"data-\".concat(r.group, \"-\").concat(e ? \"start\" : \"end\", \"-\").concat(n ? \"before\" : \"after\"),\n a = t.hasAttribute(s) ? t.getAttribute(s).split(\",\") : [];\n a.unshift(r.name), i.writer.setAttribute(s, a.join(\",\"), t), i.mapper.bindElementToMarker(t, o.markerName);\n }(n.mapper.toViewElement(_t122), e, _s13, n, i, o);\n }\n }\n\n function Zs(t, e) {\n return \"function\" == typeof t ? t : function (n, i) {\n return function (t, e, n) {\n \"string\" == typeof t && (t = {\n name: t\n });\n var i;\n var o = e.writer,\n r = Object.assign({}, t.attributes);\n if (\"container\" == n) i = o.createContainerElement(t.name, r);else if (\"attribute\" == n) {\n var _e115 = {\n priority: t.priority || ro.DEFAULT_PRIORITY\n };\n i = o.createAttributeElement(t.name, r, _e115);\n } else i = o.createUIElement(t.name, r);\n\n if (t.styles) {\n var _e116 = Object.keys(t.styles);\n\n for (var _i81 = 0, _e117 = _e116; _i81 < _e117.length; _i81++) {\n var _n102 = _e117[_i81];\n o.setStyle(_n102, t.styles[_n102], i);\n }\n }\n\n if (t.classes) {\n var _e118 = t.classes;\n if (\"string\" == typeof _e118) o.addClass(_e118, i);else {\n var _iterator157 = _createForOfIteratorHelper(_e118),\n _step157;\n\n try {\n for (_iterator157.s(); !(_step157 = _iterator157.n()).done;) {\n var _t123 = _step157.value;\n o.addClass(_t123, i);\n }\n } catch (err) {\n _iterator157.e(err);\n } finally {\n _iterator157.f();\n }\n }\n }\n\n return i;\n }(t, i, e);\n };\n }\n\n function Xs(t) {\n return t.model.values ? function (e, n) {\n var i = t.view[e];\n return i ? i(e, n) : null;\n } : t.view;\n }\n\n function ta(t) {\n return \"string\" == typeof t ? function (e) {\n return {\n key: t,\n value: e\n };\n } : \"object\" == _typeof(t) ? t.value ? function () {\n return t;\n } : function (e) {\n return {\n key: t.key,\n value: e\n };\n } : t;\n }\n\n function ea(t, e, n) {\n var i = \"function\" == typeof t ? t(e, n) : t;\n return i ? (i.priority || (i.priority = 10), i.id || (i.id = e.markerName), i) : null;\n }\n\n function na(t) {\n var _t$model = t.model,\n e = _t$model.schema,\n n = _t$model.document;\n\n var _iterator158 = _createForOfIteratorHelper(n.getRootNames()),\n _step158;\n\n try {\n for (_iterator158.s(); !(_step158 = _iterator158.n()).done;) {\n var _i82 = _step158.value;\n\n var _o42 = n.getRoot(_i82);\n\n if (_o42.isEmpty && !e.checkChild(_o42, \"$text\") && e.checkChild(_o42, \"paragraph\")) return t.insertElement(\"paragraph\", _o42), !0;\n }\n } catch (err) {\n _iterator158.e(err);\n } finally {\n _iterator158.f();\n }\n\n return !1;\n }\n\n function ia(t, e, n) {\n var i = n.createContext(t);\n return !!n.checkChild(i, \"paragraph\") && !!n.checkChild(i.push(\"paragraph\"), e);\n }\n\n function oa(t, e) {\n var n = e.createElement(\"paragraph\");\n return e.insert(n, t), e.createPositionAt(n, 0);\n }\n\n var ra = /*#__PURE__*/function (_Ys2) {\n _inherits(ra, _Ys2);\n\n var _super24 = _createSuper(ra);\n\n function ra() {\n _classCallCheck(this, ra);\n\n return _super24.apply(this, arguments);\n }\n\n _createClass(ra, [{\n key: \"elementToElement\",\n value: function elementToElement(t) {\n return this.add(sa(t));\n }\n }, {\n key: \"elementToAttribute\",\n value: function elementToAttribute(t) {\n return this.add(function (t) {\n la(t = Gs(t));\n var e = da(t, !1),\n n = aa(t.view),\n i = n ? \"element:\" + n : \"element\";\n return function (n) {\n n.on(i, e, {\n priority: t.converterPriority || \"low\"\n });\n };\n }(t));\n }\n }, {\n key: \"attributeToAttribute\",\n value: function attributeToAttribute(t) {\n return this.add(function (t) {\n t = Gs(t);\n var e = null;\n (\"string\" == typeof t.view || t.view.key) && (e = function (t) {\n \"string\" == typeof t.view && (t.view = {\n key: t.view\n });\n var e = t.view.key;\n var n;\n\n if (\"class\" == e || \"style\" == e) {\n n = _defineProperty({}, \"class\" == e ? \"classes\" : \"styles\", t.view.value);\n } else {\n var _i83 = void 0 === t.view.value ? /[\\s\\S]*/ : t.view.value;\n\n n = {\n attributes: _defineProperty({}, e, _i83)\n };\n }\n\n t.view.name && (n.name = t.view.name);\n return t.view = n, e;\n }(t));\n la(t, e);\n var n = da(t, !0);\n return function (e) {\n e.on(\"element\", n, {\n priority: t.converterPriority || \"low\"\n });\n };\n }(t));\n }\n }, {\n key: \"elementToMarker\",\n value: function elementToMarker(t) {\n return Object(hn.c)(\"upcast-helpers-element-to-marker-deprecated\"), this.add(function (t) {\n return function (t) {\n var e = t.model;\n\n t.model = function (t, n) {\n var i = \"string\" == typeof e ? e : e(t, n);\n return n.writer.createElement(\"$marker\", {\n \"data-name\": i\n });\n };\n }(t = Gs(t)), sa(t);\n }(t));\n }\n }, {\n key: \"dataToMarker\",\n value: function dataToMarker(t) {\n return this.add(function (t) {\n (t = Gs(t)).model || (t.model = function (e) {\n return e ? t.view + \":\" + e : t.view;\n });\n var e = ca(ua(t, \"start\")),\n n = ca(ua(t, \"end\"));\n return function (i) {\n i.on(\"element:\" + t.view + \"-start\", e, {\n priority: t.converterPriority || \"normal\"\n }), i.on(\"element:\" + t.view + \"-end\", n, {\n priority: t.converterPriority || \"normal\"\n });\n var o = un.get(\"low\"),\n r = un.get(\"highest\"),\n s = un.get(t.converterPriority) / r;\n i.on(\"element\", function (t) {\n return function (e, n, i) {\n var o = \"data-\" + t.view;\n\n function r(e, o) {\n var _iterator159 = _createForOfIteratorHelper(o),\n _step159;\n\n try {\n for (_iterator159.s(); !(_step159 = _iterator159.n()).done;) {\n var _r14 = _step159.value;\n\n var _o43 = t.model(_r14, i),\n _s14 = i.writer.createElement(\"$marker\", {\n \"data-name\": _o43\n });\n\n i.writer.insert(_s14, e), n.modelCursor.isEqual(e) ? n.modelCursor = n.modelCursor.getShiftedBy(1) : n.modelCursor = n.modelCursor._getTransformedByInsertion(e, 1), n.modelRange = n.modelRange._getTransformedByInsertion(e, 1)[0];\n }\n } catch (err) {\n _iterator159.e(err);\n } finally {\n _iterator159.f();\n }\n }\n\n n.modelRange || (n = Object.assign(n, i.convertChildren(n.viewItem, n.modelCursor))), i.consumable.consume(n.viewItem, {\n attributes: o + \"-end-after\"\n }) && r(n.modelRange.end, n.viewItem.getAttribute(o + \"-end-after\").split(\",\")), i.consumable.consume(n.viewItem, {\n attributes: o + \"-start-after\"\n }) && r(n.modelRange.end, n.viewItem.getAttribute(o + \"-start-after\").split(\",\")), i.consumable.consume(n.viewItem, {\n attributes: o + \"-end-before\"\n }) && r(n.modelRange.start, n.viewItem.getAttribute(o + \"-end-before\").split(\",\")), i.consumable.consume(n.viewItem, {\n attributes: o + \"-start-before\"\n }) && r(n.modelRange.start, n.viewItem.getAttribute(o + \"-start-before\").split(\",\"));\n };\n }(t), {\n priority: o + s\n });\n };\n }(t));\n }\n }]);\n\n return ra;\n }(Ys);\n\n function sa(t) {\n var e = ca(t = Gs(t)),\n n = aa(t.view),\n i = n ? \"element:\" + n : \"element\";\n return function (n) {\n n.on(i, e, {\n priority: t.converterPriority || \"normal\"\n });\n };\n }\n\n function aa(t) {\n return \"string\" == typeof t ? t : \"object\" == _typeof(t) && \"string\" == typeof t.name ? t.name : null;\n }\n\n function ca(t) {\n var e = new Vn(t.view);\n return function (n, i, o) {\n var r = e.match(i.viewItem);\n if (!r) return;\n var s = r.match;\n if (s.name = !0, !o.consumable.test(i.viewItem, s)) return;\n\n var a = function (t, e, n) {\n return t instanceof Function ? t(e, n) : n.writer.createElement(t);\n }(t.model, i.viewItem, o);\n\n a && o.safeInsert(a, i.modelCursor) && (o.consumable.consume(i.viewItem, s), o.convertChildren(i.viewItem, a), o.updateConversionResult(a, i));\n };\n }\n\n function la(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n var n = null === e || function (t) {\n return t.getAttribute(e);\n },\n i = \"object\" != _typeof(t.model) ? t.model : t.model.key,\n o = \"object\" != _typeof(t.model) || void 0 === t.model.value ? n : t.model.value;\n\n t.model = {\n key: i,\n value: o\n };\n }\n\n function da(t, e) {\n var n = new Vn(t.view);\n return function (i, o, r) {\n var s = n.match(o.viewItem);\n if (!s) return;\n var a = t.model.key,\n c = \"function\" == typeof t.model.value ? t.model.value(o.viewItem, r) : t.model.value;\n if (null === c) return;\n if (!function (t, e) {\n var n = \"function\" == typeof t ? t(e) : t;\n if (\"object\" == _typeof(n) && !aa(n)) return !1;\n return !n.classes && !n.attributes && !n.styles;\n }(t.view, o.viewItem) ? delete s.match.name : s.match.name = !0, !r.consumable.test(o.viewItem, s.match)) return;\n o.modelRange || (o = Object.assign(o, r.convertChildren(o.viewItem, o.modelCursor)));\n (function (t, e, n, i) {\n var o = !1;\n\n for (var _i84 = 0, _Array$from3 = Array.from(t.getItems({\n shallow: n\n })); _i84 < _Array$from3.length; _i84++) {\n var _r15 = _Array$from3[_i84];\n i.schema.checkAttribute(_r15, e.key) && (i.writer.setAttribute(e.key, e.value, _r15), o = !0);\n }\n\n return o;\n })(o.modelRange, {\n key: a,\n value: c\n }, e, r) && r.consumable.consume(o.viewItem, s.match);\n };\n }\n\n function ua(t, e) {\n var n = {};\n return n.view = t.view + \"-\" + e, n.model = function (e, n) {\n var i = e.getAttribute(\"name\"),\n o = t.model(i, n);\n return n.writer.createElement(\"$marker\", {\n \"data-name\": o\n });\n }, n;\n }\n\n var ha = /*#__PURE__*/function () {\n function ha(t, e) {\n var _this50 = this;\n\n _classCallCheck(this, ha);\n\n this.model = t, this.view = new ps(e), this.mapper = new Es(), this.downcastDispatcher = new Ns({\n mapper: this.mapper,\n schema: t.schema\n });\n var n = this.model.document,\n i = n.selection,\n o = this.model.markers;\n this.listenTo(this.model, \"_beforeChanges\", function () {\n _this50.view._disableRendering(!0);\n }, {\n priority: \"highest\"\n }), this.listenTo(this.model, \"_afterChanges\", function () {\n _this50.view._disableRendering(!1);\n }, {\n priority: \"lowest\"\n }), this.listenTo(n, \"change\", function () {\n _this50.view.change(function (t) {\n _this50.downcastDispatcher.convertChanges(n.differ, o, t), _this50.downcastDispatcher.convertSelection(i, o, t);\n });\n }, {\n priority: \"low\"\n }), this.listenTo(this.view.document, \"selectionChange\", function (t, e) {\n return function (n, i) {\n var o = i.newSelection,\n r = [];\n\n var _iterator160 = _createForOfIteratorHelper(o.getRanges()),\n _step160;\n\n try {\n for (_iterator160.s(); !(_step160 = _iterator160.n()).done;) {\n var _t124 = _step160.value;\n r.push(e.toModelRange(_t124));\n }\n } catch (err) {\n _iterator160.e(err);\n } finally {\n _iterator160.f();\n }\n\n var s = t.createSelection(r, {\n backward: o.isBackward\n });\n s.isEqual(t.document.selection) || t.change(function (t) {\n t.setSelection(s);\n });\n };\n }(this.model, this.mapper)), this.downcastDispatcher.on(\"insert:$text\", function (t, e, n) {\n if (!n.consumable.consume(e.item, \"insert\")) return;\n var i = n.writer,\n o = n.mapper.toViewPosition(e.range.start),\n r = i.createText(e.item.data);\n i.insert(o, r);\n }, {\n priority: \"lowest\"\n }), this.downcastDispatcher.on(\"remove\", function (t, e, n) {\n var i = n.mapper.toViewPosition(e.position),\n o = e.position.getShiftedBy(e.length),\n r = n.mapper.toViewPosition(o, {\n isPhantom: !0\n }),\n s = n.writer.createRange(i, r),\n a = n.writer.remove(s.getTrimmed());\n\n var _iterator161 = _createForOfIteratorHelper(n.writer.createRangeIn(a).getItems()),\n _step161;\n\n try {\n for (_iterator161.s(); !(_step161 = _iterator161.n()).done;) {\n var _t125 = _step161.value;\n n.mapper.unbindViewElement(_t125);\n }\n } catch (err) {\n _iterator161.e(err);\n } finally {\n _iterator161.f();\n }\n }, {\n priority: \"low\"\n }), this.downcastDispatcher.on(\"selection\", function (t, e, n) {\n var i = n.writer,\n o = i.document.selection;\n\n var _iterator162 = _createForOfIteratorHelper(o.getRanges()),\n _step162;\n\n try {\n for (_iterator162.s(); !(_step162 = _iterator162.n()).done;) {\n var _t126 = _step162.value;\n _t126.isCollapsed && _t126.end.parent.isAttached() && n.writer.mergeAttributes(_t126.start);\n }\n } catch (err) {\n _iterator162.e(err);\n } finally {\n _iterator162.f();\n }\n\n i.setSelection(null);\n }, {\n priority: \"low\"\n }), this.downcastDispatcher.on(\"selection\", function (t, e, n) {\n var i = e.selection;\n if (i.isCollapsed) return;\n if (!n.consumable.consume(i, \"selection\")) return;\n var o = [];\n\n var _iterator163 = _createForOfIteratorHelper(i.getRanges()),\n _step163;\n\n try {\n for (_iterator163.s(); !(_step163 = _iterator163.n()).done;) {\n var _t127 = _step163.value;\n\n var _e119 = n.mapper.toViewRange(_t127);\n\n o.push(_e119);\n }\n } catch (err) {\n _iterator163.e(err);\n } finally {\n _iterator163.f();\n }\n\n n.writer.setSelection(o, {\n backward: i.isBackward\n });\n }, {\n priority: \"low\"\n }), this.downcastDispatcher.on(\"selection\", function (t, e, n) {\n var i = e.selection;\n if (!i.isCollapsed) return;\n if (!n.consumable.consume(i, \"selection\")) return;\n var o = n.writer,\n r = i.getFirstPosition(),\n s = n.mapper.toViewPosition(r),\n a = o.breakAttributes(s);\n o.setSelection(a);\n }, {\n priority: \"low\"\n }), this.view.document.roots.bindTo(this.model.document.roots).using(function (t) {\n if (\"$graveyard\" == t.rootName) return null;\n var e = new Qi(_this50.view.document, t.name);\n return e.rootName = t.rootName, _this50.mapper.bindElements(t, e), e;\n });\n }\n\n _createClass(ha, [{\n key: \"destroy\",\n value: function destroy() {\n this.view.destroy(), this.stopListening();\n }\n }]);\n\n return ha;\n }();\n\n xn(ha, Ui);\n\n var fa = /*#__PURE__*/function () {\n function fa() {\n _classCallCheck(this, fa);\n\n this._commands = new Map();\n }\n\n _createClass(fa, [{\n key: \"add\",\n value: function add(t, e) {\n this._commands.set(t, e);\n }\n }, {\n key: \"get\",\n value: function get(t) {\n return this._commands.get(t);\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var n = this.get(t);\n if (!n) throw new hn.a(\"commandcollection-command-not-found\", this, {\n commandName: t\n });\n\n for (var _len16 = arguments.length, e = new Array(_len16 > 1 ? _len16 - 1 : 0), _key16 = 1; _key16 < _len16; _key16++) {\n e[_key16 - 1] = arguments[_key16];\n }\n\n return n.execute.apply(n, e);\n }\n }, {\n key: \"names\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function names() {\n return _regeneratorRuntime.wrap(function names$(_context20) {\n while (1) {\n switch (_context20.prev = _context20.next) {\n case 0:\n return _context20.delegateYield(this._commands.keys(), \"t0\", 1);\n\n case 1:\n case \"end\":\n return _context20.stop();\n }\n }\n }, names, this);\n })\n }, {\n key: \"commands\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function commands() {\n return _regeneratorRuntime.wrap(function commands$(_context21) {\n while (1) {\n switch (_context21.prev = _context21.next) {\n case 0:\n return _context21.delegateYield(this._commands.values(), \"t0\", 1);\n\n case 1:\n case \"end\":\n return _context21.stop();\n }\n }\n }, commands, this);\n })\n }, {\n key: Symbol.iterator,\n value: function value() {\n return this._commands[Symbol.iterator]();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _iterator164 = _createForOfIteratorHelper(this.commands()),\n _step164;\n\n try {\n for (_iterator164.s(); !(_step164 = _iterator164.n()).done;) {\n var _t128 = _step164.value;\n\n _t128.destroy();\n }\n } catch (err) {\n _iterator164.e(err);\n } finally {\n _iterator164.f();\n }\n }\n }]);\n\n return fa;\n }();\n\n var ma = /*#__PURE__*/function () {\n function ma() {\n _classCallCheck(this, ma);\n\n this._consumables = new Map();\n }\n\n _createClass(ma, [{\n key: \"add\",\n value: function add(t, e) {\n var n;\n t.is(\"$text\") || t.is(\"documentFragment\") ? this._consumables.set(t, !0) : (this._consumables.has(t) ? n = this._consumables.get(t) : (n = new ga(t), this._consumables.set(t, n)), n.add(e));\n }\n }, {\n key: \"test\",\n value: function test(t, e) {\n var n = this._consumables.get(t);\n\n return void 0 === n ? null : t.is(\"$text\") || t.is(\"documentFragment\") ? n : n.test(e);\n }\n }, {\n key: \"consume\",\n value: function consume(t, e) {\n return !!this.test(t, e) && (t.is(\"$text\") || t.is(\"documentFragment\") ? this._consumables.set(t, !1) : this._consumables.get(t).consume(e), !0);\n }\n }, {\n key: \"revert\",\n value: function revert(t, e) {\n var n = this._consumables.get(t);\n\n void 0 !== n && (t.is(\"$text\") || t.is(\"documentFragment\") ? this._consumables.set(t, !0) : n.revert(e));\n }\n }], [{\n key: \"consumablesFromElement\",\n value: function consumablesFromElement(t) {\n var e = {\n element: t,\n name: !0,\n attributes: [],\n classes: [],\n styles: []\n },\n n = t.getAttributeKeys();\n\n var _iterator165 = _createForOfIteratorHelper(n),\n _step165;\n\n try {\n for (_iterator165.s(); !(_step165 = _iterator165.n()).done;) {\n var _t129 = _step165.value;\n \"style\" != _t129 && \"class\" != _t129 && e.attributes.push(_t129);\n }\n } catch (err) {\n _iterator165.e(err);\n } finally {\n _iterator165.f();\n }\n\n var i = t.getClassNames();\n\n var _iterator166 = _createForOfIteratorHelper(i),\n _step166;\n\n try {\n for (_iterator166.s(); !(_step166 = _iterator166.n()).done;) {\n var _t130 = _step166.value;\n e.classes.push(_t130);\n }\n } catch (err) {\n _iterator166.e(err);\n } finally {\n _iterator166.f();\n }\n\n var o = t.getStyleNames();\n\n var _iterator167 = _createForOfIteratorHelper(o),\n _step167;\n\n try {\n for (_iterator167.s(); !(_step167 = _iterator167.n()).done;) {\n var _t131 = _step167.value;\n e.styles.push(_t131);\n }\n } catch (err) {\n _iterator167.e(err);\n } finally {\n _iterator167.f();\n }\n\n return e;\n }\n }, {\n key: \"createFrom\",\n value: function createFrom(t, e) {\n if (e || (e = new ma(t)), t.is(\"$text\")) return e.add(t), e;\n t.is(\"element\") && e.add(t, ma.consumablesFromElement(t)), t.is(\"documentFragment\") && e.add(t);\n\n var _iterator168 = _createForOfIteratorHelper(t.getChildren()),\n _step168;\n\n try {\n for (_iterator168.s(); !(_step168 = _iterator168.n()).done;) {\n var _n104 = _step168.value;\n e = ma.createFrom(_n104, e);\n }\n } catch (err) {\n _iterator168.e(err);\n } finally {\n _iterator168.f();\n }\n\n return e;\n }\n }]);\n\n return ma;\n }();\n\n var ga = /*#__PURE__*/function () {\n function ga(t) {\n _classCallCheck(this, ga);\n\n this.element = t, this._canConsumeName = null, this._consumables = {\n attributes: new Map(),\n styles: new Map(),\n classes: new Map()\n };\n }\n\n _createClass(ga, [{\n key: \"add\",\n value: function add(t) {\n t.name && (this._canConsumeName = !0);\n\n for (var _e120 in this._consumables) {\n _e120 in t && this._add(_e120, t[_e120]);\n }\n }\n }, {\n key: \"test\",\n value: function test(t) {\n if (t.name && !this._canConsumeName) return this._canConsumeName;\n\n for (var _e121 in this._consumables) {\n if (_e121 in t) {\n var _n105 = this._test(_e121, t[_e121]);\n\n if (!0 !== _n105) return _n105;\n }\n }\n\n return !0;\n }\n }, {\n key: \"consume\",\n value: function consume(t) {\n t.name && (this._canConsumeName = !1);\n\n for (var _e122 in this._consumables) {\n _e122 in t && this._consume(_e122, t[_e122]);\n }\n }\n }, {\n key: \"revert\",\n value: function revert(t) {\n t.name && (this._canConsumeName = !0);\n\n for (var _e123 in this._consumables) {\n _e123 in t && this._revert(_e123, t[_e123]);\n }\n }\n }, {\n key: \"_add\",\n value: function _add(t, e) {\n var n = Dt(e) ? e : [e],\n i = this._consumables[t];\n\n var _iterator169 = _createForOfIteratorHelper(n),\n _step169;\n\n try {\n for (_iterator169.s(); !(_step169 = _iterator169.n()).done;) {\n var _e124 = _step169.value;\n if (\"attributes\" === t && (\"class\" === _e124 || \"style\" === _e124)) throw new hn.a(\"viewconsumable-invalid-attribute\", this);\n\n if (i.set(_e124, !0), \"styles\" === t) {\n var _iterator170 = _createForOfIteratorHelper(this.element.document.stylesProcessor.getRelatedStyles(_e124)),\n _step170;\n\n try {\n for (_iterator170.s(); !(_step170 = _iterator170.n()).done;) {\n var _t132 = _step170.value;\n i.set(_t132, !0);\n }\n } catch (err) {\n _iterator170.e(err);\n } finally {\n _iterator170.f();\n }\n }\n }\n } catch (err) {\n _iterator169.e(err);\n } finally {\n _iterator169.f();\n }\n }\n }, {\n key: \"_test\",\n value: function _test(t, e) {\n var n = Dt(e) ? e : [e],\n i = this._consumables[t];\n\n var _iterator171 = _createForOfIteratorHelper(n),\n _step171;\n\n try {\n for (_iterator171.s(); !(_step171 = _iterator171.n()).done;) {\n var _e125 = _step171.value;\n\n if (\"attributes\" !== t || \"class\" !== _e125 && \"style\" !== _e125) {\n var _t133 = i.get(_e125);\n\n if (void 0 === _t133) return null;\n if (!_t133) return !1;\n } else {\n var _t134 = \"class\" == _e125 ? \"classes\" : \"styles\",\n _n106 = this._test(_t134, _toConsumableArray(this._consumables[_t134].keys()));\n\n if (!0 !== _n106) return _n106;\n }\n }\n } catch (err) {\n _iterator171.e(err);\n } finally {\n _iterator171.f();\n }\n\n return !0;\n }\n }, {\n key: \"_consume\",\n value: function _consume(t, e) {\n var n = Dt(e) ? e : [e],\n i = this._consumables[t];\n\n var _iterator172 = _createForOfIteratorHelper(n),\n _step172;\n\n try {\n for (_iterator172.s(); !(_step172 = _iterator172.n()).done;) {\n var _e126 = _step172.value;\n\n if (\"attributes\" !== t || \"class\" !== _e126 && \"style\" !== _e126) {\n if (i.set(_e126, !1), \"styles\" == t) {\n var _iterator173 = _createForOfIteratorHelper(this.element.document.stylesProcessor.getRelatedStyles(_e126)),\n _step173;\n\n try {\n for (_iterator173.s(); !(_step173 = _iterator173.n()).done;) {\n var _t135 = _step173.value;\n i.set(_t135, !1);\n }\n } catch (err) {\n _iterator173.e(err);\n } finally {\n _iterator173.f();\n }\n }\n } else {\n var _t136 = \"class\" == _e126 ? \"classes\" : \"styles\";\n\n this._consume(_t136, _toConsumableArray(this._consumables[_t136].keys()));\n }\n }\n } catch (err) {\n _iterator172.e(err);\n } finally {\n _iterator172.f();\n }\n }\n }, {\n key: \"_revert\",\n value: function _revert(t, e) {\n var n = Dt(e) ? e : [e],\n i = this._consumables[t];\n\n var _iterator174 = _createForOfIteratorHelper(n),\n _step174;\n\n try {\n for (_iterator174.s(); !(_step174 = _iterator174.n()).done;) {\n var _e127 = _step174.value;\n\n if (\"attributes\" !== t || \"class\" !== _e127 && \"style\" !== _e127) {\n !1 === i.get(_e127) && i.set(_e127, !0);\n } else {\n var _t137 = \"class\" == _e127 ? \"classes\" : \"styles\";\n\n this._revert(_t137, _toConsumableArray(this._consumables[_t137].keys()));\n }\n }\n } catch (err) {\n _iterator174.e(err);\n } finally {\n _iterator174.f();\n }\n }\n }]);\n\n return ga;\n }();\n\n var pa = /*#__PURE__*/function () {\n function pa() {\n var _this51 = this;\n\n _classCallCheck(this, pa);\n\n this._sourceDefinitions = {}, this._attributeProperties = {}, this.decorate(\"checkChild\"), this.decorate(\"checkAttribute\"), this.on(\"checkAttribute\", function (t, e) {\n e[0] = new ba(e[0]);\n }, {\n priority: \"highest\"\n }), this.on(\"checkChild\", function (t, e) {\n e[0] = new ba(e[0]), e[1] = _this51.getDefinition(e[1]);\n }, {\n priority: \"highest\"\n });\n }\n\n _createClass(pa, [{\n key: \"register\",\n value: function register(t, e) {\n if (this._sourceDefinitions[t]) throw new hn.a(\"schema-cannot-register-item-twice\", this, {\n itemName: t\n });\n this._sourceDefinitions[t] = [Object.assign({}, e)], this._clearCache();\n }\n }, {\n key: \"extend\",\n value: function extend(t, e) {\n if (!this._sourceDefinitions[t]) throw new hn.a(\"schema-cannot-extend-missing-item\", this, {\n itemName: t\n });\n this._sourceDefinitions[t].push(Object.assign({}, e)), this._clearCache();\n }\n }, {\n key: \"getDefinitions\",\n value: function getDefinitions() {\n return this._compiledDefinitions || this._compile(), this._compiledDefinitions;\n }\n }, {\n key: \"getDefinition\",\n value: function getDefinition(t) {\n var e;\n return e = \"string\" == typeof t ? t : t.is && (t.is(\"$text\") || t.is(\"$textProxy\")) ? \"$text\" : t.name, this.getDefinitions()[e];\n }\n }, {\n key: \"isRegistered\",\n value: function isRegistered(t) {\n return !!this.getDefinition(t);\n }\n }, {\n key: \"isBlock\",\n value: function isBlock(t) {\n var e = this.getDefinition(t);\n return !(!e || !e.isBlock);\n }\n }, {\n key: \"isLimit\",\n value: function isLimit(t) {\n var e = this.getDefinition(t);\n return !!e && !(!e.isLimit && !e.isObject);\n }\n }, {\n key: \"isObject\",\n value: function isObject(t) {\n var e = this.getDefinition(t);\n return !!e && !!(e.isObject || e.isLimit && e.isSelectable && e.isContent);\n }\n }, {\n key: \"isInline\",\n value: function isInline(t) {\n var e = this.getDefinition(t);\n return !(!e || !e.isInline);\n }\n }, {\n key: \"isSelectable\",\n value: function isSelectable(t) {\n var e = this.getDefinition(t);\n return !!e && !(!e.isSelectable && !e.isObject);\n }\n }, {\n key: \"isContent\",\n value: function isContent(t) {\n var e = this.getDefinition(t);\n return !!e && !(!e.isContent && !e.isObject);\n }\n }, {\n key: \"checkChild\",\n value: function checkChild(t, e) {\n return !!e && this._checkContextMatch(e, t);\n }\n }, {\n key: \"checkAttribute\",\n value: function checkAttribute(t, e) {\n var n = this.getDefinition(t.last);\n return !!n && n.allowAttributes.includes(e);\n }\n }, {\n key: \"checkMerge\",\n value: function checkMerge(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (t instanceof As) {\n var _e128 = t.nodeBefore,\n _n107 = t.nodeAfter;\n if (!(_e128 instanceof vs)) throw new hn.a(\"schema-check-merge-no-element-before\", this);\n if (!(_n107 instanceof vs)) throw new hn.a(\"schema-check-merge-no-element-after\", this);\n return this.checkMerge(_e128, _n107);\n }\n\n var _iterator175 = _createForOfIteratorHelper(e.getChildren()),\n _step175;\n\n try {\n for (_iterator175.s(); !(_step175 = _iterator175.n()).done;) {\n var _n108 = _step175.value;\n if (!this.checkChild(t, _n108)) return !1;\n }\n } catch (err) {\n _iterator175.e(err);\n } finally {\n _iterator175.f();\n }\n\n return !0;\n }\n }, {\n key: \"addChildCheck\",\n value: function addChildCheck(t) {\n this.on(\"checkChild\", function (e, _ref50) {\n var _ref51 = _slicedToArray(_ref50, 2),\n n = _ref51[0],\n i = _ref51[1];\n\n if (!i) return;\n var o = t(n, i);\n \"boolean\" == typeof o && (e.stop(), e[\"return\"] = o);\n }, {\n priority: \"high\"\n });\n }\n }, {\n key: \"addAttributeCheck\",\n value: function addAttributeCheck(t) {\n this.on(\"checkAttribute\", function (e, _ref52) {\n var _ref53 = _slicedToArray(_ref52, 2),\n n = _ref53[0],\n i = _ref53[1];\n\n var o = t(n, i);\n \"boolean\" == typeof o && (e.stop(), e[\"return\"] = o);\n }, {\n priority: \"high\"\n });\n }\n }, {\n key: \"setAttributeProperties\",\n value: function setAttributeProperties(t, e) {\n this._attributeProperties[t] = Object.assign(this.getAttributeProperties(t), e);\n }\n }, {\n key: \"getAttributeProperties\",\n value: function getAttributeProperties(t) {\n return this._attributeProperties[t] || {};\n }\n }, {\n key: \"getLimitElement\",\n value: function getLimitElement(t) {\n var e;\n if (t instanceof As) e = t.parent;else {\n e = (t instanceof Ss ? [t] : Array.from(t.getRanges())).reduce(function (t, e) {\n var n = e.getCommonAncestor();\n return t ? t.getCommonAncestor(n, {\n includeSelf: !0\n }) : n;\n }, null);\n }\n\n for (; !this.isLimit(e) && e.parent;) {\n e = e.parent;\n }\n\n return e;\n }\n }, {\n key: \"checkAttributeInSelection\",\n value: function checkAttributeInSelection(t, e) {\n if (t.isCollapsed) {\n var _n109 = [].concat(_toConsumableArray(t.getFirstPosition().getAncestors()), [new ws(\"\", t.getAttributes())]);\n\n return this.checkAttribute(_n109, e);\n }\n\n {\n var _n110 = t.getRanges();\n\n var _iterator176 = _createForOfIteratorHelper(_n110),\n _step176;\n\n try {\n for (_iterator176.s(); !(_step176 = _iterator176.n()).done;) {\n var _t138 = _step176.value;\n\n var _iterator177 = _createForOfIteratorHelper(_t138),\n _step177;\n\n try {\n for (_iterator177.s(); !(_step177 = _iterator177.n()).done;) {\n var _n111 = _step177.value;\n if (this.checkAttribute(_n111.item, e)) return !0;\n }\n } catch (err) {\n _iterator177.e(err);\n } finally {\n _iterator177.f();\n }\n }\n } catch (err) {\n _iterator176.e(err);\n } finally {\n _iterator176.f();\n }\n }\n return !1;\n }\n }, {\n key: \"getValidRanges\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getValidRanges(t, e) {\n var _iterator179, _step179, _n112;\n\n return _regeneratorRuntime.wrap(function getValidRanges$(_context23) {\n while (1) {\n switch (_context23.prev = _context23.next) {\n case 0:\n t = /*#__PURE__*/_regeneratorRuntime.mark(function _callee(t) {\n var _iterator178, _step178, _e129;\n\n return _regeneratorRuntime.wrap(function _callee$(_context22) {\n while (1) {\n switch (_context22.prev = _context22.next) {\n case 0:\n _iterator178 = _createForOfIteratorHelper(t);\n _context22.prev = 1;\n\n _iterator178.s();\n\n case 3:\n if ((_step178 = _iterator178.n()).done) {\n _context22.next = 8;\n break;\n }\n\n _e129 = _step178.value;\n return _context22.delegateYield(_e129.getMinimalFlatRanges(), \"t0\", 6);\n\n case 6:\n _context22.next = 3;\n break;\n\n case 8:\n _context22.next = 13;\n break;\n\n case 10:\n _context22.prev = 10;\n _context22.t1 = _context22[\"catch\"](1);\n\n _iterator178.e(_context22.t1);\n\n case 13:\n _context22.prev = 13;\n\n _iterator178.f();\n\n return _context22.finish(13);\n\n case 16:\n case \"end\":\n return _context22.stop();\n }\n }\n }, _callee, null, [[1, 10, 13, 16]]);\n })(t);\n _iterator179 = _createForOfIteratorHelper(t);\n _context23.prev = 2;\n\n _iterator179.s();\n\n case 4:\n if ((_step179 = _iterator179.n()).done) {\n _context23.next = 9;\n break;\n }\n\n _n112 = _step179.value;\n return _context23.delegateYield(this._getValidRangesForRange(_n112, e), \"t0\", 7);\n\n case 7:\n _context23.next = 4;\n break;\n\n case 9:\n _context23.next = 14;\n break;\n\n case 11:\n _context23.prev = 11;\n _context23.t1 = _context23[\"catch\"](2);\n\n _iterator179.e(_context23.t1);\n\n case 14:\n _context23.prev = 14;\n\n _iterator179.f();\n\n return _context23.finish(14);\n\n case 17:\n case \"end\":\n return _context23.stop();\n }\n }\n }, getValidRanges, this, [[2, 11, 14, 17]]);\n })\n }, {\n key: \"getNearestSelectionRange\",\n value: function getNearestSelectionRange(t) {\n var _this52 = this;\n\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"both\";\n if (this.checkChild(t, \"$text\")) return new Ss(t);\n var n, i;\n var o = t.getAncestors().reverse().find(function (t) {\n return _this52.isLimit(t);\n }) || t.root;\n \"both\" != e && \"backward\" != e || (n = new ys({\n boundaries: Ss._createIn(o),\n startPosition: t,\n direction: \"backward\"\n })), \"both\" != e && \"forward\" != e || (i = new ys({\n boundaries: Ss._createIn(o),\n startPosition: t\n }));\n\n var _iterator180 = _createForOfIteratorHelper( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(t, e) {\n var n, _e130, _t139;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context24) {\n while (1) {\n switch (_context24.prev = _context24.next) {\n case 0:\n n = !1;\n\n case 1:\n if (n) {\n _context24.next = 18;\n break;\n }\n\n if (!(n = !0, t)) {\n _context24.next = 9;\n break;\n }\n\n _e130 = t.next();\n _context24.t0 = _e130.done;\n\n if (_context24.t0) {\n _context24.next = 9;\n break;\n }\n\n n = !1;\n _context24.next = 9;\n return {\n walker: t,\n value: _e130.value\n };\n\n case 9:\n if (!e) {\n _context24.next = 16;\n break;\n }\n\n _t139 = e.next();\n _context24.t1 = _t139.done;\n\n if (_context24.t1) {\n _context24.next = 16;\n break;\n }\n\n n = !1;\n _context24.next = 16;\n return {\n walker: e,\n value: _t139.value\n };\n\n case 16:\n _context24.next = 1;\n break;\n\n case 18:\n case \"end\":\n return _context24.stop();\n }\n }\n }, _callee2);\n })(n, i)),\n _step180;\n\n try {\n for (_iterator180.s(); !(_step180 = _iterator180.n()).done;) {\n var _t140 = _step180.value;\n\n var _e131 = _t140.walker == n ? \"elementEnd\" : \"elementStart\",\n _i85 = _t140.value;\n\n if (_i85.type == _e131 && this.isObject(_i85.item)) return Ss._createOn(_i85.item);\n if (this.checkChild(_i85.nextPosition, \"$text\")) return new Ss(_i85.nextPosition);\n }\n } catch (err) {\n _iterator180.e(err);\n } finally {\n _iterator180.f();\n }\n\n return null;\n }\n }, {\n key: \"findAllowedParent\",\n value: function findAllowedParent(t, e) {\n var n = t.parent;\n\n for (; n;) {\n if (this.checkChild(n, e)) return n;\n if (this.isLimit(n)) return null;\n n = n.parent;\n }\n\n return null;\n }\n }, {\n key: \"removeDisallowedAttributes\",\n value: function removeDisallowedAttributes(t, e) {\n var _iterator181 = _createForOfIteratorHelper(t),\n _step181;\n\n try {\n for (_iterator181.s(); !(_step181 = _iterator181.n()).done;) {\n var _n113 = _step181.value;\n if (_n113.is(\"$text\")) Sa(this, _n113, e);else {\n var _t141 = Ss._createIn(_n113).getPositions();\n\n var _iterator182 = _createForOfIteratorHelper(_t141),\n _step182;\n\n try {\n for (_iterator182.s(); !(_step182 = _iterator182.n()).done;) {\n var _n114 = _step182.value;\n Sa(this, _n114.nodeBefore || _n114.parent, e);\n }\n } catch (err) {\n _iterator182.e(err);\n } finally {\n _iterator182.f();\n }\n }\n }\n } catch (err) {\n _iterator181.e(err);\n } finally {\n _iterator181.f();\n }\n }\n }, {\n key: \"createContext\",\n value: function createContext(t) {\n return new ba(t);\n }\n }, {\n key: \"_clearCache\",\n value: function _clearCache() {\n this._compiledDefinitions = null;\n }\n }, {\n key: \"_compile\",\n value: function _compile() {\n var t = {},\n e = this._sourceDefinitions,\n n = Object.keys(e);\n\n for (var _i86 = 0, _n115 = n; _i86 < _n115.length; _i86++) {\n var _i87 = _n115[_i86];\n t[_i87] = wa(e[_i87], _i87);\n }\n\n for (var _i88 = 0, _n116 = n; _i88 < _n116.length; _i88++) {\n var _e132 = _n116[_i88];\n ka(t, _e132);\n }\n\n for (var _i89 = 0, _n117 = n; _i89 < _n117.length; _i89++) {\n var _e133 = _n117[_i89];\n\n _a(t, _e133);\n }\n\n for (var _i90 = 0, _n118 = n; _i90 < _n118.length; _i90++) {\n var _e134 = _n118[_i90];\n va(t, _e134), ya(t, _e134);\n }\n\n for (var _i91 = 0, _n119 = n; _i91 < _n119.length; _i91++) {\n var _e135 = _n119[_i91];\n xa(t, _e135), Aa(t, _e135);\n }\n\n this._compiledDefinitions = t;\n }\n }, {\n key: \"_checkContextMatch\",\n value: function _checkContextMatch(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : e.length - 1;\n var i = e.getItem(n);\n\n if (t.allowIn.includes(i.name)) {\n if (0 == n) return !0;\n {\n var _t142 = this.getDefinition(i);\n\n return this._checkContextMatch(_t142, e, n - 1);\n }\n }\n\n return !1;\n }\n }, {\n key: \"_getValidRangesForRange\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function _getValidRangesForRange(t, e) {\n var n, i, _iterator183, _step183, _o44;\n\n return _regeneratorRuntime.wrap(function _getValidRangesForRange$(_context25) {\n while (1) {\n switch (_context25.prev = _context25.next) {\n case 0:\n n = t.start, i = t.start;\n _iterator183 = _createForOfIteratorHelper(t.getItems({\n shallow: !0\n }));\n _context25.prev = 2;\n\n _iterator183.s();\n\n case 4:\n if ((_step183 = _iterator183.n()).done) {\n _context25.next = 19;\n break;\n }\n\n _o44 = _step183.value;\n _context25.t0 = _o44.is(\"element\");\n\n if (!_context25.t0) {\n _context25.next = 9;\n break;\n }\n\n return _context25.delegateYield(this._getValidRangesForRange(Ss._createIn(_o44), e), \"t1\", 9);\n\n case 9:\n _context25.t2 = this.checkAttribute(_o44, e);\n\n if (_context25.t2) {\n _context25.next = 16;\n break;\n }\n\n _context25.t3 = n.isEqual(i);\n\n if (_context25.t3) {\n _context25.next = 15;\n break;\n }\n\n _context25.next = 15;\n return new Ss(n, i);\n\n case 15:\n n = As._createAfter(_o44);\n\n case 16:\n i = As._createAfter(_o44);\n\n case 17:\n _context25.next = 4;\n break;\n\n case 19:\n _context25.next = 24;\n break;\n\n case 21:\n _context25.prev = 21;\n _context25.t4 = _context25[\"catch\"](2);\n\n _iterator183.e(_context25.t4);\n\n case 24:\n _context25.prev = 24;\n\n _iterator183.f();\n\n return _context25.finish(24);\n\n case 27:\n _context25.t5 = n.isEqual(i);\n\n if (_context25.t5) {\n _context25.next = 31;\n break;\n }\n\n _context25.next = 31;\n return new Ss(n, i);\n\n case 31:\n case \"end\":\n return _context25.stop();\n }\n }\n }, _getValidRangesForRange, this, [[2, 21, 24, 27]]);\n })\n }]);\n\n return pa;\n }();\n\n xn(pa, Ui);\n\n var ba = /*#__PURE__*/function () {\n function ba(t) {\n _classCallCheck(this, ba);\n\n if (t instanceof ba) return t;\n \"string\" == typeof t ? t = [t] : Array.isArray(t) || (t = t.getAncestors({\n includeSelf: !0\n })), t[0] && \"string\" != typeof t[0] && t[0].is(\"documentFragment\") && t.shift(), this._items = t.map(Pa);\n }\n\n _createClass(ba, [{\n key: Symbol.iterator,\n value: function value() {\n return this._items[Symbol.iterator]();\n }\n }, {\n key: \"push\",\n value: function push(t) {\n var e = new ba([t]);\n return e._items = [].concat(_toConsumableArray(this._items), _toConsumableArray(e._items)), e;\n }\n }, {\n key: \"getItem\",\n value: function getItem(t) {\n return this._items[t];\n }\n }, {\n key: \"getNames\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getNames() {\n return _regeneratorRuntime.wrap(function getNames$(_context26) {\n while (1) {\n switch (_context26.prev = _context26.next) {\n case 0:\n return _context26.delegateYield(this._items.map(function (t) {\n return t.name;\n }), \"t0\", 1);\n\n case 1:\n case \"end\":\n return _context26.stop();\n }\n }\n }, getNames, this);\n })\n }, {\n key: \"endsWith\",\n value: function endsWith(t) {\n return Array.from(this.getNames()).join(\" \").endsWith(t);\n }\n }, {\n key: \"startsWith\",\n value: function startsWith(t) {\n return Array.from(this.getNames()).join(\" \").startsWith(t);\n }\n }, {\n key: \"length\",\n get: function get() {\n return this._items.length;\n }\n }, {\n key: \"last\",\n get: function get() {\n return this._items[this._items.length - 1];\n }\n }]);\n\n return ba;\n }();\n\n function wa(t, e) {\n var n = {\n name: e,\n allowIn: [],\n allowContentOf: [],\n allowWhere: [],\n allowAttributes: [],\n allowAttributesOf: [],\n inheritTypesFrom: []\n };\n return function (t, e) {\n var _iterator184 = _createForOfIteratorHelper(t),\n _step184;\n\n try {\n for (_iterator184.s(); !(_step184 = _iterator184.n()).done;) {\n var _n120 = _step184.value;\n\n var _t143 = Object.keys(_n120).filter(function (t) {\n return t.startsWith(\"is\");\n });\n\n var _iterator185 = _createForOfIteratorHelper(_t143),\n _step185;\n\n try {\n for (_iterator185.s(); !(_step185 = _iterator185.n()).done;) {\n var _i92 = _step185.value;\n e[_i92] = _n120[_i92];\n }\n } catch (err) {\n _iterator185.e(err);\n } finally {\n _iterator185.f();\n }\n }\n } catch (err) {\n _iterator184.e(err);\n } finally {\n _iterator184.f();\n }\n }(t, n), Ca(t, n, \"allowIn\"), Ca(t, n, \"allowContentOf\"), Ca(t, n, \"allowWhere\"), Ca(t, n, \"allowAttributes\"), Ca(t, n, \"allowAttributesOf\"), Ca(t, n, \"inheritTypesFrom\"), function (t, e) {\n var _iterator186 = _createForOfIteratorHelper(t),\n _step186;\n\n try {\n for (_iterator186.s(); !(_step186 = _iterator186.n()).done;) {\n var _n121 = _step186.value;\n var _t144 = _n121.inheritAllFrom;\n _t144 && (e.allowContentOf.push(_t144), e.allowWhere.push(_t144), e.allowAttributesOf.push(_t144), e.inheritTypesFrom.push(_t144));\n }\n } catch (err) {\n _iterator186.e(err);\n } finally {\n _iterator186.f();\n }\n }(t, n), n;\n }\n\n function ka(t, e) {\n var _iterator187 = _createForOfIteratorHelper(t[e].allowContentOf),\n _step187;\n\n try {\n for (_iterator187.s(); !(_step187 = _iterator187.n()).done;) {\n var _n122 = _step187.value;\n\n if (t[_n122]) {\n Ta(t, _n122).forEach(function (t) {\n t.allowIn.push(e);\n });\n }\n }\n } catch (err) {\n _iterator187.e(err);\n } finally {\n _iterator187.f();\n }\n\n delete t[e].allowContentOf;\n }\n\n function _a(t, e) {\n var _iterator188 = _createForOfIteratorHelper(t[e].allowWhere),\n _step188;\n\n try {\n for (_iterator188.s(); !(_step188 = _iterator188.n()).done;) {\n var _n123 = _step188.value;\n var _i93 = t[_n123];\n\n if (_i93) {\n var _t$e$allowIn;\n\n var _n124 = _i93.allowIn;\n\n (_t$e$allowIn = t[e].allowIn).push.apply(_t$e$allowIn, _toConsumableArray(_n124));\n }\n }\n } catch (err) {\n _iterator188.e(err);\n } finally {\n _iterator188.f();\n }\n\n delete t[e].allowWhere;\n }\n\n function va(t, e) {\n var _iterator189 = _createForOfIteratorHelper(t[e].allowAttributesOf),\n _step189;\n\n try {\n for (_iterator189.s(); !(_step189 = _iterator189.n()).done;) {\n var _n125 = _step189.value;\n var _i94 = t[_n125];\n\n if (_i94) {\n var _t$e$allowAttributes;\n\n var _n126 = _i94.allowAttributes;\n\n (_t$e$allowAttributes = t[e].allowAttributes).push.apply(_t$e$allowAttributes, _toConsumableArray(_n126));\n }\n }\n } catch (err) {\n _iterator189.e(err);\n } finally {\n _iterator189.f();\n }\n\n delete t[e].allowAttributesOf;\n }\n\n function ya(t, e) {\n var n = t[e];\n\n var _iterator190 = _createForOfIteratorHelper(n.inheritTypesFrom),\n _step190;\n\n try {\n for (_iterator190.s(); !(_step190 = _iterator190.n()).done;) {\n var _e136 = _step190.value;\n var _i95 = t[_e136];\n\n if (_i95) {\n var _t145 = Object.keys(_i95).filter(function (t) {\n return t.startsWith(\"is\");\n });\n\n var _iterator191 = _createForOfIteratorHelper(_t145),\n _step191;\n\n try {\n for (_iterator191.s(); !(_step191 = _iterator191.n()).done;) {\n var _e137 = _step191.value;\n _e137 in n || (n[_e137] = _i95[_e137]);\n }\n } catch (err) {\n _iterator191.e(err);\n } finally {\n _iterator191.f();\n }\n }\n }\n } catch (err) {\n _iterator190.e(err);\n } finally {\n _iterator190.f();\n }\n\n delete n.inheritTypesFrom;\n }\n\n function xa(t, e) {\n var n = t[e],\n i = n.allowIn.filter(function (e) {\n return t[e];\n });\n n.allowIn = Array.from(new Set(i));\n }\n\n function Aa(t, e) {\n var n = t[e];\n n.allowAttributes = Array.from(new Set(n.allowAttributes));\n }\n\n function Ca(t, e, n) {\n var _iterator192 = _createForOfIteratorHelper(t),\n _step192;\n\n try {\n for (_iterator192.s(); !(_step192 = _iterator192.n()).done;) {\n var _e$n;\n\n var _i96 = _step192.value;\n \"string\" == typeof _i96[n] ? e[n].push(_i96[n]) : Array.isArray(_i96[n]) && (_e$n = e[n]).push.apply(_e$n, _toConsumableArray(_i96[n]));\n }\n } catch (err) {\n _iterator192.e(err);\n } finally {\n _iterator192.f();\n }\n }\n\n function Ta(t, e) {\n var n = t[e];\n return (i = t, Object.keys(i).map(function (t) {\n return i[t];\n })).filter(function (t) {\n return t.allowIn.includes(n.name);\n });\n var i;\n }\n\n function Pa(t) {\n return \"string\" == typeof t ? {\n name: t,\n getAttributeKeys: function getAttributeKeys() {\n return /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context27) {\n while (1) {\n switch (_context27.prev = _context27.next) {\n case 0:\n case \"end\":\n return _context27.stop();\n }\n }\n }, _callee3);\n })();\n },\n getAttribute: function getAttribute() {}\n } : {\n name: t.is(\"element\") ? t.name : \"$text\",\n getAttributeKeys: function getAttributeKeys() {\n return /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context28) {\n while (1) {\n switch (_context28.prev = _context28.next) {\n case 0:\n return _context28.delegateYield(t.getAttributeKeys(), \"t0\", 1);\n\n case 1:\n case \"end\":\n return _context28.stop();\n }\n }\n }, _callee4);\n })();\n },\n getAttribute: function getAttribute(e) {\n return t.getAttribute(e);\n }\n };\n }\n\n function Sa(t, e, n) {\n var _iterator193 = _createForOfIteratorHelper(e.getAttributeKeys()),\n _step193;\n\n try {\n for (_iterator193.s(); !(_step193 = _iterator193.n()).done;) {\n var _i97 = _step193.value;\n t.checkAttribute(e, _i97) || n.removeAttribute(_i97, e);\n }\n } catch (err) {\n _iterator193.e(err);\n } finally {\n _iterator193.f();\n }\n }\n\n var Ea = /*#__PURE__*/function () {\n function Ea() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Ea);\n\n this._splitParts = new Map(), this._cursorParents = new Map(), this._modelCursor = null, this.conversionApi = Object.assign({}, t), 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);\n }\n\n _createClass(Ea, [{\n key: \"convert\",\n value: function convert(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [\"$root\"];\n this.fire(\"viewCleanup\", t), this._modelCursor = function (t, e) {\n var n;\n\n var _iterator194 = _createForOfIteratorHelper(new ba(t)),\n _step194;\n\n try {\n for (_iterator194.s(); !(_step194 = _iterator194.n()).done;) {\n var _i98 = _step194.value;\n var _t146 = {};\n\n var _iterator195 = _createForOfIteratorHelper(_i98.getAttributeKeys()),\n _step195;\n\n try {\n for (_iterator195.s(); !(_step195 = _iterator195.n()).done;) {\n var _e138 = _step195.value;\n _t146[_e138] = _i98.getAttribute(_e138);\n }\n } catch (err) {\n _iterator195.e(err);\n } finally {\n _iterator195.f();\n }\n\n var _o45 = e.createElement(_i98.name, _t146);\n\n n && e.append(_o45, n), n = As._createAt(_o45, 0);\n }\n } catch (err) {\n _iterator194.e(err);\n } finally {\n _iterator194.f();\n }\n\n return n;\n }(n, e), this.conversionApi.writer = e, this.conversionApi.consumable = ma.createFrom(t), this.conversionApi.store = {};\n\n var _this$_convertItem = this._convertItem(t, this._modelCursor),\n i = _this$_convertItem.modelRange,\n o = e.createDocumentFragment();\n\n if (i) {\n this._removeEmptyElements();\n\n for (var _i99 = 0, _Array$from4 = Array.from(this._modelCursor.parent.getChildren()); _i99 < _Array$from4.length; _i99++) {\n var _t147 = _Array$from4[_i99];\n e.append(_t147, o);\n }\n\n o.markers = function (t, e) {\n var n = new Set(),\n i = new Map(),\n o = Ss._createIn(t).getItems();\n\n var _iterator196 = _createForOfIteratorHelper(o),\n _step196;\n\n try {\n for (_iterator196.s(); !(_step196 = _iterator196.n()).done;) {\n var _t148 = _step196.value;\n \"$marker\" == _t148.name && n.add(_t148);\n }\n } catch (err) {\n _iterator196.e(err);\n } finally {\n _iterator196.f();\n }\n\n var _iterator197 = _createForOfIteratorHelper(n),\n _step197;\n\n try {\n for (_iterator197.s(); !(_step197 = _iterator197.n()).done;) {\n var _t149 = _step197.value;\n\n var _n127 = _t149.getAttribute(\"data-name\"),\n _o46 = e.createPositionBefore(_t149);\n\n i.has(_n127) ? i.get(_n127).end = _o46.clone() : i.set(_n127, new Ss(_o46.clone())), e.remove(_t149);\n }\n } catch (err) {\n _iterator197.e(err);\n } finally {\n _iterator197.f();\n }\n\n return i;\n }(o, e);\n }\n\n return this._modelCursor = null, this._splitParts.clear(), this._cursorParents.clear(), this.conversionApi.writer = null, this.conversionApi.store = null, o;\n }\n }, {\n key: \"_convertItem\",\n value: function _convertItem(t, e) {\n var n = Object.assign({\n viewItem: t,\n modelCursor: e,\n modelRange: null\n });\n if (t.is(\"element\") ? this.fire(\"element:\" + t.name, n, this.conversionApi) : t.is(\"$text\") ? this.fire(\"text\", n, this.conversionApi) : this.fire(\"documentFragment\", n, this.conversionApi), n.modelRange && !(n.modelRange instanceof Ss)) throw new hn.a(\"view-conversion-dispatcher-incorrect-result\", this);\n return {\n modelRange: n.modelRange,\n modelCursor: n.modelCursor\n };\n }\n }, {\n key: \"_convertChildren\",\n value: function _convertChildren(t, e) {\n var n = e.is(\"position\") ? e : As._createAt(e, 0);\n var i = new Ss(n);\n\n for (var _i100 = 0, _Array$from5 = Array.from(t.getChildren()); _i100 < _Array$from5.length; _i100++) {\n var _e139 = _Array$from5[_i100];\n\n var _t150 = this._convertItem(_e139, n);\n\n _t150.modelRange instanceof Ss && (i.end = _t150.modelRange.end, n = _t150.modelCursor);\n }\n\n return {\n modelRange: i,\n modelCursor: n\n };\n }\n }, {\n key: \"_safeInsert\",\n value: function _safeInsert(t, e) {\n var n = this._splitToAllowedParent(t, e);\n\n return !!n && (this.conversionApi.writer.insert(t, n.position), !0);\n }\n }, {\n key: \"_updateConversionResult\",\n value: function _updateConversionResult(t, e) {\n var n = this._getSplitParts(t),\n i = this.conversionApi.writer;\n\n e.modelRange || (e.modelRange = i.createRange(i.createPositionBefore(t), i.createPositionAfter(n[n.length - 1])));\n\n var o = this._cursorParents.get(t);\n\n e.modelCursor = o ? i.createPositionAt(o, 0) : e.modelRange.end;\n }\n }, {\n key: \"_splitToAllowedParent\",\n value: function _splitToAllowedParent(t, e) {\n var _this$conversionApi = this.conversionApi,\n n = _this$conversionApi.schema,\n i = _this$conversionApi.writer;\n var o = n.findAllowedParent(e, t);\n\n if (o) {\n if (o === e.parent) return {\n position: e\n };\n this._modelCursor.parent.getAncestors().includes(o) && (o = null);\n }\n\n if (!o) return ia(e, t, n) ? {\n position: oa(e, i)\n } : null;\n var r = this.conversionApi.writer.split(e, o),\n s = [];\n\n var _iterator198 = _createForOfIteratorHelper(r.range.getWalker()),\n _step198;\n\n try {\n for (_iterator198.s(); !(_step198 = _iterator198.n()).done;) {\n var _t151 = _step198.value;\n if (\"elementEnd\" == _t151.type) s.push(_t151.item);else {\n var _e140 = s.pop(),\n _n128 = _t151.item;\n\n this._registerSplitPair(_e140, _n128);\n }\n }\n } catch (err) {\n _iterator198.e(err);\n } finally {\n _iterator198.f();\n }\n\n var a = r.range.end.parent;\n return this._cursorParents.set(t, a), {\n position: r.position,\n cursorParent: a\n };\n }\n }, {\n key: \"_registerSplitPair\",\n value: function _registerSplitPair(t, e) {\n this._splitParts.has(t) || this._splitParts.set(t, [t]);\n\n var n = this._splitParts.get(t);\n\n this._splitParts.set(e, n), n.push(e);\n }\n }, {\n key: \"_getSplitParts\",\n value: function _getSplitParts(t) {\n var e;\n return e = this._splitParts.has(t) ? this._splitParts.get(t) : [t], e;\n }\n }, {\n key: \"_removeEmptyElements\",\n value: function _removeEmptyElements() {\n var t = !1;\n\n var _iterator199 = _createForOfIteratorHelper(this._splitParts.keys()),\n _step199;\n\n try {\n for (_iterator199.s(); !(_step199 = _iterator199.n()).done;) {\n var _e141 = _step199.value;\n _e141.isEmpty && (this.conversionApi.writer.remove(_e141), this._splitParts[\"delete\"](_e141), t = !0);\n }\n } catch (err) {\n _iterator199.e(err);\n } finally {\n _iterator199.f();\n }\n\n t && this._removeEmptyElements();\n }\n }]);\n\n return Ea;\n }();\n\n xn(Ea, gn);\n\n var Ma = /*#__PURE__*/function () {\n function Ma(t, e) {\n var _this53 = this;\n\n _classCallCheck(this, Ma);\n\n this.model = t, this.stylesProcessor = e, this.processor = void 0, this.mapper = new Es(), this.downcastDispatcher = new Ns({\n mapper: this.mapper,\n schema: t.schema\n }), this.downcastDispatcher.on(\"insert:$text\", function (t, e, n) {\n if (!n.consumable.consume(e.item, \"insert\")) return;\n var i = n.writer,\n o = n.mapper.toViewPosition(e.range.start),\n r = i.createText(e.item.data);\n i.insert(o, r);\n }, {\n priority: \"lowest\"\n }), this.upcastDispatcher = new Ea({\n schema: t.schema\n }), this.viewDocument = new oo(e), this._viewWriter = new Eo(this.viewDocument), this.upcastDispatcher.on(\"text\", function (t, e, _ref54) {\n var n = _ref54.schema,\n i = _ref54.consumable,\n o = _ref54.writer;\n var r = e.modelCursor;\n if (!i.test(e.viewItem)) return;\n\n if (!n.checkChild(r, \"$text\")) {\n if (!ia(r, \"$text\", n)) return;\n r = oa(r, o);\n }\n\n i.consume(e.viewItem);\n var s = o.createText(e.viewItem.data);\n o.insert(s, r), e.modelRange = o.createRange(r, r.getShiftedBy(s.offsetSize)), e.modelCursor = e.modelRange.end;\n }, {\n priority: \"lowest\"\n }), this.upcastDispatcher.on(\"element\", function (t, e, n) {\n if (!e.modelRange && n.consumable.consume(e.viewItem, {\n name: !0\n })) {\n var _n$convertChildren = n.convertChildren(e.viewItem, e.modelCursor),\n _t152 = _n$convertChildren.modelRange,\n _i101 = _n$convertChildren.modelCursor;\n\n e.modelRange = _t152, e.modelCursor = _i101;\n }\n }, {\n priority: \"lowest\"\n }), this.upcastDispatcher.on(\"documentFragment\", function (t, e, n) {\n if (!e.modelRange && n.consumable.consume(e.viewItem, {\n name: !0\n })) {\n var _n$convertChildren2 = n.convertChildren(e.viewItem, e.modelCursor),\n _t153 = _n$convertChildren2.modelRange,\n _i102 = _n$convertChildren2.modelCursor;\n\n e.modelRange = _t153, e.modelCursor = _i102;\n }\n }, {\n priority: \"lowest\"\n }), this.decorate(\"init\"), this.decorate(\"set\"), this.on(\"init\", function () {\n _this53.fire(\"ready\");\n }, {\n priority: \"lowest\"\n }), this.on(\"ready\", function () {\n _this53.model.enqueueChange(\"transparent\", na);\n }, {\n priority: \"lowest\"\n });\n }\n\n _createClass(Ma, [{\n key: \"get\",\n value: function get() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _t$rootName = t.rootName,\n e = _t$rootName === void 0 ? \"main\" : _t$rootName,\n _t$trim = t.trim,\n n = _t$trim === void 0 ? \"empty\" : _t$trim;\n if (!this._checkIfRootsExists([e])) throw new hn.a(\"datacontroller-get-non-existent-root\", this);\n var i = this.model.document.getRoot(e);\n return \"empty\" !== n || this.model.hasContent(i, {\n ignoreWhitespaces: !0\n }) ? this.stringify(i, t) : \"\";\n }\n }, {\n key: \"stringify\",\n value: function stringify(t, e) {\n var n = this.toView(t, e);\n return this.processor.toData(n);\n }\n }, {\n key: \"toView\",\n value: function toView(t, e) {\n var n = this.viewDocument,\n i = this._viewWriter;\n this.mapper.clearBindings();\n\n var o = Ss._createIn(t),\n r = new So(n);\n\n if (this.mapper.bindElements(t, r), this.downcastDispatcher.conversionApi.options = e, this.downcastDispatcher.convertInsert(o, i), !t.is(\"documentFragment\")) {\n var _e142 = function (t) {\n var e = [],\n n = t.root.document;\n if (!n) return [];\n\n var i = Ss._createIn(t);\n\n var _iterator200 = _createForOfIteratorHelper(n.model.markers),\n _step200;\n\n try {\n for (_iterator200.s(); !(_step200 = _iterator200.n()).done;) {\n var _t154 = _step200.value;\n\n var _n129 = i.getIntersection(_t154.getRange());\n\n _n129 && e.push([_t154.name, _n129]);\n }\n } catch (err) {\n _iterator200.e(err);\n } finally {\n _iterator200.f();\n }\n\n return e;\n }(t);\n\n var _iterator201 = _createForOfIteratorHelper(_e142),\n _step201;\n\n try {\n for (_iterator201.s(); !(_step201 = _iterator201.n()).done;) {\n var _ref57 = _step201.value;\n\n var _ref56 = _slicedToArray(_ref57, 2);\n\n var _t155 = _ref56[0];\n var _n130 = _ref56[1];\n this.downcastDispatcher.convertMarkerAdd(_t155, _n130, i);\n }\n } catch (err) {\n _iterator201.e(err);\n } finally {\n _iterator201.f();\n }\n }\n\n return delete this.downcastDispatcher.conversionApi.options, r;\n }\n }, {\n key: \"init\",\n value: function init(t) {\n var _this54 = this;\n\n if (this.model.document.version) throw new hn.a(\"datacontroller-init-document-not-empty\", this);\n var e = {};\n if (\"string\" == typeof t ? e.main = t : e = t, !this._checkIfRootsExists(Object.keys(e))) throw new hn.a(\"datacontroller-init-non-existent-root\", this);\n return this.model.enqueueChange(\"transparent\", function (t) {\n for (var _i103 = 0, _Object$keys2 = Object.keys(e); _i103 < _Object$keys2.length; _i103++) {\n var _n131 = _Object$keys2[_i103];\n\n var _i104 = _this54.model.document.getRoot(_n131);\n\n t.insert(_this54.parse(e[_n131], _i104), _i104, 0);\n }\n }), Promise.resolve();\n }\n }, {\n key: \"set\",\n value: function set(t) {\n var _this55 = this;\n\n var e = {};\n if (\"string\" == typeof t ? e.main = t : e = t, !this._checkIfRootsExists(Object.keys(e))) throw new hn.a(\"datacontroller-set-non-existent-root\", this);\n this.model.enqueueChange(\"transparent\", function (t) {\n t.setSelection(null), t.removeSelectionAttribute(_this55.model.document.selection.getAttributeKeys());\n\n for (var _i105 = 0, _Object$keys3 = Object.keys(e); _i105 < _Object$keys3.length; _i105++) {\n var _n132 = _Object$keys3[_i105];\n\n var _i106 = _this55.model.document.getRoot(_n132);\n\n t.remove(t.createRangeIn(_i106)), t.insert(_this55.parse(e[_n132], _i106), _i106, 0);\n }\n });\n }\n }, {\n key: \"parse\",\n value: function parse(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"$root\";\n var n = this.processor.toView(t);\n return this.toModel(n, e);\n }\n }, {\n key: \"toModel\",\n value: function toModel(t) {\n var _this56 = this;\n\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"$root\";\n return this.model.change(function (n) {\n return _this56.upcastDispatcher.convert(t, n, e);\n });\n }\n }, {\n key: \"addStyleProcessorRules\",\n value: function addStyleProcessorRules(t) {\n t(this.stylesProcessor);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }, {\n key: \"_checkIfRootsExists\",\n value: function _checkIfRootsExists(t) {\n var _iterator202 = _createForOfIteratorHelper(t),\n _step202;\n\n try {\n for (_iterator202.s(); !(_step202 = _iterator202.n()).done;) {\n var _e143 = _step202.value;\n if (!this.model.document.getRootNames().includes(_e143)) return !1;\n }\n } catch (err) {\n _iterator202.e(err);\n } finally {\n _iterator202.f();\n }\n\n return !0;\n }\n }]);\n\n return Ma;\n }();\n\n xn(Ma, Ui);\n\n var Ia = /*#__PURE__*/function () {\n function Ia(t, e) {\n _classCallCheck(this, Ia);\n\n this._helpers = new Map(), this._downcast = Array.isArray(t) ? t : [t], this._createConversionHelpers({\n name: \"downcast\",\n dispatchers: this._downcast,\n isDowncast: !0\n }), this._upcast = Array.isArray(e) ? e : [e], this._createConversionHelpers({\n name: \"upcast\",\n dispatchers: this._upcast,\n isDowncast: !1\n });\n }\n\n _createClass(Ia, [{\n key: \"addAlias\",\n value: function addAlias(t, e) {\n var n = this._downcast.includes(e);\n\n if (!this._upcast.includes(e) && !n) throw new hn.a(\"conversion-add-alias-dispatcher-not-registered\", this);\n\n this._createConversionHelpers({\n name: t,\n dispatchers: [e],\n isDowncast: n\n });\n }\n }, {\n key: \"for\",\n value: function _for(t) {\n if (!this._helpers.has(t)) throw new hn.a(\"conversion-for-unknown-group\", this);\n return this._helpers.get(t);\n }\n }, {\n key: \"elementToElement\",\n value: function elementToElement(t) {\n this[\"for\"](\"downcast\").elementToElement(t);\n\n var _iterator203 = _createForOfIteratorHelper(Na(t)),\n _step203;\n\n try {\n for (_iterator203.s(); !(_step203 = _iterator203.n()).done;) {\n var _ref59 = _step203.value;\n var _e144 = _ref59.model;\n var _n133 = _ref59.view;\n this[\"for\"](\"upcast\").elementToElement({\n model: _e144,\n view: _n133,\n converterPriority: t.converterPriority\n });\n }\n } catch (err) {\n _iterator203.e(err);\n } finally {\n _iterator203.f();\n }\n }\n }, {\n key: \"attributeToElement\",\n value: function attributeToElement(t) {\n this[\"for\"](\"downcast\").attributeToElement(t);\n\n var _iterator204 = _createForOfIteratorHelper(Na(t)),\n _step204;\n\n try {\n for (_iterator204.s(); !(_step204 = _iterator204.n()).done;) {\n var _ref61 = _step204.value;\n var _e145 = _ref61.model;\n var _n134 = _ref61.view;\n this[\"for\"](\"upcast\").elementToAttribute({\n view: _n134,\n model: _e145,\n converterPriority: t.converterPriority\n });\n }\n } catch (err) {\n _iterator204.e(err);\n } finally {\n _iterator204.f();\n }\n }\n }, {\n key: \"attributeToAttribute\",\n value: function attributeToAttribute(t) {\n this[\"for\"](\"downcast\").attributeToAttribute(t);\n\n var _iterator205 = _createForOfIteratorHelper(Na(t)),\n _step205;\n\n try {\n for (_iterator205.s(); !(_step205 = _iterator205.n()).done;) {\n var _ref63 = _step205.value;\n var _e146 = _ref63.model;\n var _n135 = _ref63.view;\n this[\"for\"](\"upcast\").attributeToAttribute({\n view: _n135,\n model: _e146\n });\n }\n } catch (err) {\n _iterator205.e(err);\n } finally {\n _iterator205.f();\n }\n }\n }, {\n key: \"_createConversionHelpers\",\n value: function _createConversionHelpers(_ref64) {\n var t = _ref64.name,\n e = _ref64.dispatchers,\n n = _ref64.isDowncast;\n if (this._helpers.has(t)) throw new hn.a(\"conversion-group-exists\", this);\n var i = n ? new Ks(e) : new ra(e);\n\n this._helpers.set(t, i);\n }\n }]);\n\n return Ia;\n }();\n\n function Na(t) {\n var _iterator206, _step206, _e147, _n136, _i107, _o47;\n\n return _regeneratorRuntime.wrap(function Na$(_context29) {\n while (1) {\n switch (_context29.prev = _context29.next) {\n case 0:\n if (!t.model.values) {\n _context29.next = 20;\n break;\n }\n\n _iterator206 = _createForOfIteratorHelper(t.model.values);\n _context29.prev = 2;\n\n _iterator206.s();\n\n case 4:\n if ((_step206 = _iterator206.n()).done) {\n _context29.next = 10;\n break;\n }\n\n _e147 = _step206.value;\n _n136 = {\n key: t.model.key,\n value: _e147\n }, _i107 = t.view[_e147], _o47 = t.upcastAlso ? t.upcastAlso[_e147] : void 0;\n return _context29.delegateYield(Oa(_n136, _i107, _o47), \"t0\", 8);\n\n case 8:\n _context29.next = 4;\n break;\n\n case 10:\n _context29.next = 15;\n break;\n\n case 12:\n _context29.prev = 12;\n _context29.t1 = _context29[\"catch\"](2);\n\n _iterator206.e(_context29.t1);\n\n case 15:\n _context29.prev = 15;\n\n _iterator206.f();\n\n return _context29.finish(15);\n\n case 18:\n _context29.next = 21;\n break;\n\n case 20:\n return _context29.delegateYield(Oa(t.model, t.view, t.upcastAlso), \"t2\", 21);\n\n case 21:\n case \"end\":\n return _context29.stop();\n }\n }\n }, _marked, null, [[2, 12, 15, 18]]);\n }\n\n function Oa(t, e, n) {\n var _iterator207, _step207, _e148;\n\n return _regeneratorRuntime.wrap(function Oa$(_context30) {\n while (1) {\n switch (_context30.prev = _context30.next) {\n case 0:\n _context30.next = 2;\n return {\n model: t,\n view: e\n };\n\n case 2:\n if (!n) {\n _context30.next = 21;\n break;\n }\n\n n = Array.isArray(n) ? n : [n];\n _iterator207 = _createForOfIteratorHelper(n);\n _context30.prev = 5;\n\n _iterator207.s();\n\n case 7:\n if ((_step207 = _iterator207.n()).done) {\n _context30.next = 13;\n break;\n }\n\n _e148 = _step207.value;\n _context30.next = 11;\n return {\n model: t,\n view: _e148\n };\n\n case 11:\n _context30.next = 7;\n break;\n\n case 13:\n _context30.next = 18;\n break;\n\n case 15:\n _context30.prev = 15;\n _context30.t0 = _context30[\"catch\"](5);\n\n _iterator207.e(_context30.t0);\n\n case 18:\n _context30.prev = 18;\n\n _iterator207.f();\n\n return _context30.finish(18);\n\n case 21:\n case \"end\":\n return _context30.stop();\n }\n }\n }, _marked2, null, [[5, 15, 18, 21]]);\n }\n\n var Ra = /*#__PURE__*/function () {\n function Ra() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"default\";\n\n _classCallCheck(this, Ra);\n\n this.operations = [], this.type = t;\n }\n\n _createClass(Ra, [{\n key: \"addOperation\",\n value: function addOperation(t) {\n return t.batch = this, this.operations.push(t), t;\n }\n }, {\n key: \"baseVersion\",\n get: function get() {\n var _iterator208 = _createForOfIteratorHelper(this.operations),\n _step208;\n\n try {\n for (_iterator208.s(); !(_step208 = _iterator208.n()).done;) {\n var _t156 = _step208.value;\n if (null !== _t156.baseVersion) return _t156.baseVersion;\n }\n } catch (err) {\n _iterator208.e(err);\n } finally {\n _iterator208.f();\n }\n\n return null;\n }\n }]);\n\n return Ra;\n }();\n\n var Da = /*#__PURE__*/function () {\n function Da(t) {\n _classCallCheck(this, Da);\n\n this.baseVersion = t, this.isDocumentOperation = null !== this.baseVersion, this.batch = null;\n }\n\n _createClass(Da, [{\n key: \"_validate\",\n value: function _validate() {}\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = Object.assign({}, this);\n return t.__className = this.constructor.className, delete t.batch, delete t.isDocumentOperation, t;\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(t) {\n return new this(t.baseVersion);\n }\n }, {\n key: \"className\",\n get: function get() {\n return \"Operation\";\n }\n }]);\n\n return Da;\n }();\n\n var La = /*#__PURE__*/function () {\n function La(t) {\n _classCallCheck(this, La);\n\n this.markers = new Map(), this._children = new _s(), t && this._insertChild(0, t);\n }\n\n _createClass(La, [{\n key: Symbol.iterator,\n value: function value() {\n return this.getChildren();\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"documentFragment\" === t || \"model:documentFragment\" === t;\n }\n }, {\n key: \"getChild\",\n value: function getChild(t) {\n return this._children.getNode(t);\n }\n }, {\n key: \"getChildren\",\n value: function getChildren() {\n return this._children[Symbol.iterator]();\n }\n }, {\n key: \"getChildIndex\",\n value: function getChildIndex(t) {\n return this._children.getNodeIndex(t);\n }\n }, {\n key: \"getChildStartOffset\",\n value: function getChildStartOffset(t) {\n return this._children.getNodeStartOffset(t);\n }\n }, {\n key: \"getPath\",\n value: function getPath() {\n return [];\n }\n }, {\n key: \"getNodeByPath\",\n value: function getNodeByPath(t) {\n var e = this;\n\n var _iterator209 = _createForOfIteratorHelper(t),\n _step209;\n\n try {\n for (_iterator209.s(); !(_step209 = _iterator209.n()).done;) {\n var _n137 = _step209.value;\n e = e.getChild(e.offsetToIndex(_n137));\n }\n } catch (err) {\n _iterator209.e(err);\n } finally {\n _iterator209.f();\n }\n\n return e;\n }\n }, {\n key: \"offsetToIndex\",\n value: function offsetToIndex(t) {\n return this._children.offsetToIndex(t);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = [];\n\n var _iterator210 = _createForOfIteratorHelper(this._children),\n _step210;\n\n try {\n for (_iterator210.s(); !(_step210 = _iterator210.n()).done;) {\n var _e149 = _step210.value;\n t.push(_e149.toJSON());\n }\n } catch (err) {\n _iterator210.e(err);\n } finally {\n _iterator210.f();\n }\n\n return t;\n }\n }, {\n key: \"_appendChild\",\n value: function _appendChild(t) {\n this._insertChild(this.childCount, t);\n }\n }, {\n key: \"_insertChild\",\n value: function _insertChild(t, e) {\n var n = function (t) {\n if (\"string\" == typeof t) return [new ws(t)];\n yn(t) || (t = [t]);\n return Array.from(t).map(function (t) {\n return \"string\" == typeof t ? new ws(t) : t instanceof ks ? new ws(t.data, t.getAttributes()) : t;\n });\n }(e);\n\n var _iterator211 = _createForOfIteratorHelper(n),\n _step211;\n\n try {\n for (_iterator211.s(); !(_step211 = _iterator211.n()).done;) {\n var _t157 = _step211.value;\n null !== _t157.parent && _t157._remove(), _t157.parent = this;\n }\n } catch (err) {\n _iterator211.e(err);\n } finally {\n _iterator211.f();\n }\n\n this._children._insertNodes(t, n);\n }\n }, {\n key: \"_removeChildren\",\n value: function _removeChildren(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n\n var n = this._children._removeNodes(t, e);\n\n var _iterator212 = _createForOfIteratorHelper(n),\n _step212;\n\n try {\n for (_iterator212.s(); !(_step212 = _iterator212.n()).done;) {\n var _t158 = _step212.value;\n _t158.parent = null;\n }\n } catch (err) {\n _iterator212.e(err);\n } finally {\n _iterator212.f();\n }\n\n return n;\n }\n }, {\n key: \"childCount\",\n get: function get() {\n return this._children.length;\n }\n }, {\n key: \"maxOffset\",\n get: function get() {\n return this._children.maxOffset;\n }\n }, {\n key: \"isEmpty\",\n get: function get() {\n return 0 === this.childCount;\n }\n }, {\n key: \"root\",\n get: function get() {\n return this;\n }\n }, {\n key: \"parent\",\n get: function get() {\n return null;\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(t) {\n var e = [];\n\n var _iterator213 = _createForOfIteratorHelper(t),\n _step213;\n\n try {\n for (_iterator213.s(); !(_step213 = _iterator213.n()).done;) {\n var _n138 = _step213.value;\n _n138.name ? e.push(vs.fromJSON(_n138)) : e.push(ws.fromJSON(_n138));\n }\n } catch (err) {\n _iterator213.e(err);\n } finally {\n _iterator213.f();\n }\n\n return new La(e);\n }\n }]);\n\n return La;\n }();\n\n function Va(t, e) {\n var n = (e = Ba(e)).reduce(function (t, e) {\n return t + e.offsetSize;\n }, 0),\n i = t.parent;\n Ua(t);\n var o = t.index;\n return i._insertChild(o, e), Fa(i, o + e.length), Fa(i, o), new Ss(t, t.getShiftedBy(n));\n }\n\n function ja(t) {\n if (!t.isFlat) throw new hn.a(\"operation-utils-remove-range-not-flat\", this);\n var e = t.start.parent;\n Ua(t.start), Ua(t.end);\n\n var n = e._removeChildren(t.start.index, t.end.index - t.start.index);\n\n return Fa(e, t.start.index), n;\n }\n\n function za(t, e) {\n if (!t.isFlat) throw new hn.a(\"operation-utils-move-range-not-flat\", this);\n var n = ja(t);\n return Va(e = e._getTransformedByDeletion(t.start, t.end.offset - t.start.offset), n);\n }\n\n function Ba(t) {\n var e = [];\n t instanceof Array || (t = [t]);\n\n for (var _n139 = 0; _n139 < t.length; _n139++) {\n if (\"string\" == typeof t[_n139]) e.push(new ws(t[_n139]));else if (t[_n139] instanceof ks) e.push(new ws(t[_n139].data, t[_n139].getAttributes()));else if (t[_n139] instanceof La || t[_n139] instanceof _s) {\n var _iterator214 = _createForOfIteratorHelper(t[_n139]),\n _step214;\n\n try {\n for (_iterator214.s(); !(_step214 = _iterator214.n()).done;) {\n var _i108 = _step214.value;\n e.push(_i108);\n }\n } catch (err) {\n _iterator214.e(err);\n } finally {\n _iterator214.f();\n }\n } else t[_n139] instanceof bs && e.push(t[_n139]);\n }\n\n for (var _t159 = 1; _t159 < e.length; _t159++) {\n var _n140 = e[_t159],\n _i109 = e[_t159 - 1];\n _n140 instanceof ws && _i109 instanceof ws && Ha(_n140, _i109) && (e.splice(_t159 - 1, 2, new ws(_i109.data + _n140.data, _i109.getAttributes())), _t159--);\n }\n\n return e;\n }\n\n function Fa(t, e) {\n var n = t.getChild(e - 1),\n i = t.getChild(e);\n\n if (n && i && n.is(\"$text\") && i.is(\"$text\") && Ha(n, i)) {\n var _o48 = new ws(n.data + i.data, n.getAttributes());\n\n t._removeChildren(e - 1, 2), t._insertChild(e - 1, _o48);\n }\n }\n\n function Ua(t) {\n var e = t.textNode,\n n = t.parent;\n\n if (e) {\n var _i110 = t.offset - e.startOffset,\n _o49 = e.index;\n\n n._removeChildren(_o49, 1);\n\n var _r16 = new ws(e.data.substr(0, _i110), e.getAttributes()),\n _s15 = new ws(e.data.substr(_i110), e.getAttributes());\n\n n._insertChild(_o49, [_r16, _s15]);\n }\n }\n\n function Ha(t, e) {\n var n = t.getAttributes(),\n i = e.getAttributes();\n\n var _iterator215 = _createForOfIteratorHelper(n),\n _step215;\n\n try {\n for (_iterator215.s(); !(_step215 = _iterator215.n()).done;) {\n var _t160 = _step215.value;\n if (_t160[1] !== e.getAttribute(_t160[0])) return !1;\n i.next();\n }\n } catch (err) {\n _iterator215.e(err);\n } finally {\n _iterator215.f();\n }\n\n return i.next().done;\n }\n\n var Wa = function Wa(t, e) {\n return Or(t, e);\n };\n\n var qa = /*#__PURE__*/function (_Da) {\n _inherits(qa, _Da);\n\n var _super25 = _createSuper(qa);\n\n function qa(t, e, n, i, o) {\n var _this57;\n\n _classCallCheck(this, qa);\n\n _this57 = _super25.call(this, o), _this57.range = t.clone(), _this57.key = e, _this57.oldValue = void 0 === n ? null : n, _this57.newValue = void 0 === i ? null : i;\n return _this57;\n }\n\n _createClass(qa, [{\n key: \"clone\",\n value: function clone() {\n return new qa(this.range, this.key, this.oldValue, this.newValue, this.baseVersion);\n }\n }, {\n key: \"getReversed\",\n value: function getReversed() {\n return new qa(this.range, this.key, this.newValue, this.oldValue, this.baseVersion + 1);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = _get(_getPrototypeOf(qa.prototype), \"toJSON\", this).call(this);\n\n return t.range = this.range.toJSON(), t;\n }\n }, {\n key: \"_validate\",\n value: function _validate() {\n if (!this.range.isFlat) throw new hn.a(\"attribute-operation-range-not-flat\", this);\n\n var _iterator216 = _createForOfIteratorHelper(this.range.getItems({\n shallow: !0\n })),\n _step216;\n\n try {\n for (_iterator216.s(); !(_step216 = _iterator216.n()).done;) {\n var _t161 = _step216.value;\n if (null !== this.oldValue && !Wa(_t161.getAttribute(this.key), this.oldValue)) throw new hn.a(\"attribute-operation-wrong-old-value\", this, {\n item: _t161,\n key: this.key,\n value: this.oldValue\n });\n if (null === this.oldValue && null !== this.newValue && _t161.hasAttribute(this.key)) throw new hn.a(\"attribute-operation-attribute-exists\", this, {\n node: _t161,\n key: this.key\n });\n }\n } catch (err) {\n _iterator216.e(err);\n } finally {\n _iterator216.f();\n }\n }\n }, {\n key: \"_execute\",\n value: function _execute() {\n Wa(this.oldValue, this.newValue) || function (t, e, n) {\n Ua(t.start), Ua(t.end);\n\n var _iterator217 = _createForOfIteratorHelper(t.getItems({\n shallow: !0\n })),\n _step217;\n\n try {\n for (_iterator217.s(); !(_step217 = _iterator217.n()).done;) {\n var _i111 = _step217.value;\n\n var _t162 = _i111.is(\"$textProxy\") ? _i111.textNode : _i111;\n\n null !== n ? _t162._setAttribute(e, n) : _t162._removeAttribute(e), Fa(_t162.parent, _t162.index);\n }\n } catch (err) {\n _iterator217.e(err);\n } finally {\n _iterator217.f();\n }\n\n Fa(t.end.parent, t.end.index);\n }(this.range, this.key, this.newValue);\n }\n }, {\n key: \"type\",\n get: function get() {\n return null === this.oldValue ? \"addAttribute\" : null === this.newValue ? \"removeAttribute\" : \"changeAttribute\";\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(t, e) {\n return new qa(Ss.fromJSON(t.range, e), t.key, t.oldValue, t.newValue, t.baseVersion);\n }\n }, {\n key: \"className\",\n get: function get() {\n return \"AttributeOperation\";\n }\n }]);\n\n return qa;\n }(Da);\n\n var $a = /*#__PURE__*/function (_Da2) {\n _inherits($a, _Da2);\n\n var _super26 = _createSuper($a);\n\n function $a(t, e) {\n var _this58;\n\n _classCallCheck(this, $a);\n\n _this58 = _super26.call(this, null), _this58.sourcePosition = t.clone(), _this58.howMany = e;\n return _this58;\n }\n\n _createClass($a, [{\n key: \"toJSON\",\n value: function toJSON() {\n var t = _get(_getPrototypeOf($a.prototype), \"toJSON\", this).call(this);\n\n return t.sourcePosition = this.sourcePosition.toJSON(), t;\n }\n }, {\n key: \"_validate\",\n value: function _validate() {\n if (this.sourcePosition.root.document) throw new hn.a(\"detach-operation-on-document-node\", this);\n }\n }, {\n key: \"_execute\",\n value: function _execute() {\n ja(Ss._createFromPositionAndShift(this.sourcePosition, this.howMany));\n }\n }, {\n key: \"type\",\n get: function get() {\n return \"detach\";\n }\n }], [{\n key: \"className\",\n get: function get() {\n return \"DetachOperation\";\n }\n }]);\n\n return $a;\n }(Da);\n\n var Ya = /*#__PURE__*/function (_Da3) {\n _inherits(Ya, _Da3);\n\n var _super27 = _createSuper(Ya);\n\n function Ya(t, e, n, i) {\n var _this59;\n\n _classCallCheck(this, Ya);\n\n _this59 = _super27.call(this, i), _this59.sourcePosition = t.clone(), _this59.sourcePosition.stickiness = \"toNext\", _this59.howMany = e, _this59.targetPosition = n.clone(), _this59.targetPosition.stickiness = \"toNone\";\n return _this59;\n }\n\n _createClass(Ya, [{\n key: \"clone\",\n value: function clone() {\n return new this.constructor(this.sourcePosition, this.howMany, this.targetPosition, this.baseVersion);\n }\n }, {\n key: \"getMovedRangeStart\",\n value: function getMovedRangeStart() {\n return this.targetPosition._getTransformedByDeletion(this.sourcePosition, this.howMany);\n }\n }, {\n key: \"getReversed\",\n value: function getReversed() {\n var t = this.sourcePosition._getTransformedByInsertion(this.targetPosition, this.howMany);\n\n return new this.constructor(this.getMovedRangeStart(), this.howMany, t, this.baseVersion + 1);\n }\n }, {\n key: \"_validate\",\n value: function _validate() {\n var t = this.sourcePosition.parent,\n e = this.targetPosition.parent,\n n = this.sourcePosition.offset,\n i = this.targetPosition.offset;\n if (n + this.howMany > t.maxOffset) throw new hn.a(\"move-operation-nodes-do-not-exist\", this);\n if (t === e && n < i && i < n + this.howMany) throw new hn.a(\"move-operation-range-into-itself\", this);\n\n if (this.sourcePosition.root == this.targetPosition.root && \"prefix\" == In(this.sourcePosition.getParentPath(), this.targetPosition.getParentPath())) {\n var _t163 = this.sourcePosition.path.length - 1;\n\n if (this.targetPosition.path[_t163] >= n && this.targetPosition.path[_t163] < n + this.howMany) throw new hn.a(\"move-operation-node-into-itself\", this);\n }\n }\n }, {\n key: \"_execute\",\n value: function _execute() {\n za(Ss._createFromPositionAndShift(this.sourcePosition, this.howMany), this.targetPosition);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = _get(_getPrototypeOf(Ya.prototype), \"toJSON\", this).call(this);\n\n return t.sourcePosition = this.sourcePosition.toJSON(), t.targetPosition = this.targetPosition.toJSON(), t;\n }\n }, {\n key: \"type\",\n get: function get() {\n return \"$graveyard\" == this.targetPosition.root.rootName ? \"remove\" : \"$graveyard\" == this.sourcePosition.root.rootName ? \"reinsert\" : \"move\";\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(t, e) {\n var n = As.fromJSON(t.sourcePosition, e),\n i = As.fromJSON(t.targetPosition, e);\n return new this(n, t.howMany, i, t.baseVersion);\n }\n }, {\n key: \"className\",\n get: function get() {\n return \"MoveOperation\";\n }\n }]);\n\n return Ya;\n }(Da);\n\n var Ga = /*#__PURE__*/function (_Da4) {\n _inherits(Ga, _Da4);\n\n var _super28 = _createSuper(Ga);\n\n function Ga(t, e, n) {\n var _this60;\n\n _classCallCheck(this, Ga);\n\n _this60 = _super28.call(this, n), _this60.position = t.clone(), _this60.position.stickiness = \"toNone\", _this60.nodes = new _s(Ba(e)), _this60.shouldReceiveAttributes = !1;\n return _this60;\n }\n\n _createClass(Ga, [{\n key: \"clone\",\n value: function clone() {\n var t = new _s(_toConsumableArray(this.nodes).map(function (t) {\n return t._clone(!0);\n })),\n e = new Ga(this.position, t, this.baseVersion);\n return e.shouldReceiveAttributes = this.shouldReceiveAttributes, e;\n }\n }, {\n key: \"getReversed\",\n value: function getReversed() {\n var t = this.position.root.document.graveyard,\n e = new As(t, [0]);\n return new Ya(this.position, this.nodes.maxOffset, e, this.baseVersion + 1);\n }\n }, {\n key: \"_validate\",\n value: function _validate() {\n var t = this.position.parent;\n if (!t || t.maxOffset < this.position.offset) throw new hn.a(\"insert-operation-position-invalid\", this);\n }\n }, {\n key: \"_execute\",\n value: function _execute() {\n var t = this.nodes;\n this.nodes = new _s(_toConsumableArray(t).map(function (t) {\n return t._clone(!0);\n })), Va(this.position, t);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = _get(_getPrototypeOf(Ga.prototype), \"toJSON\", this).call(this);\n\n return t.position = this.position.toJSON(), t.nodes = this.nodes.toJSON(), t;\n }\n }, {\n key: \"type\",\n get: function get() {\n return \"insert\";\n }\n }, {\n key: \"howMany\",\n get: function get() {\n return this.nodes.maxOffset;\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(t, e) {\n var n = [];\n\n var _iterator218 = _createForOfIteratorHelper(t.nodes),\n _step218;\n\n try {\n for (_iterator218.s(); !(_step218 = _iterator218.n()).done;) {\n var _e150 = _step218.value;\n _e150.name ? n.push(vs.fromJSON(_e150)) : n.push(ws.fromJSON(_e150));\n }\n } catch (err) {\n _iterator218.e(err);\n } finally {\n _iterator218.f();\n }\n\n var i = new Ga(As.fromJSON(t.position, e), n, t.baseVersion);\n return i.shouldReceiveAttributes = t.shouldReceiveAttributes, i;\n }\n }, {\n key: \"className\",\n get: function get() {\n return \"InsertOperation\";\n }\n }]);\n\n return Ga;\n }(Da);\n\n var Ka = /*#__PURE__*/function (_Da5) {\n _inherits(Ka, _Da5);\n\n var _super29 = _createSuper(Ka);\n\n function Ka(t, e, n, i, o, r) {\n var _this61;\n\n _classCallCheck(this, Ka);\n\n _this61 = _super29.call(this, r), _this61.name = t, _this61.oldRange = e ? e.clone() : null, _this61.newRange = n ? n.clone() : null, _this61.affectsData = o, _this61._markers = i;\n return _this61;\n }\n\n _createClass(Ka, [{\n key: \"clone\",\n value: function clone() {\n return new Ka(this.name, this.oldRange, this.newRange, this._markers, this.affectsData, this.baseVersion);\n }\n }, {\n key: \"getReversed\",\n value: function getReversed() {\n return new Ka(this.name, this.newRange, this.oldRange, this._markers, this.affectsData, this.baseVersion + 1);\n }\n }, {\n key: \"_execute\",\n value: function _execute() {\n var t = this.newRange ? \"_set\" : \"_remove\";\n\n this._markers[t](this.name, this.newRange, !0, this.affectsData);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = _get(_getPrototypeOf(Ka.prototype), \"toJSON\", this).call(this);\n\n return this.oldRange && (t.oldRange = this.oldRange.toJSON()), this.newRange && (t.newRange = this.newRange.toJSON()), delete t._markers, t;\n }\n }, {\n key: \"type\",\n get: function get() {\n return \"marker\";\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(t, e) {\n return new Ka(t.name, t.oldRange ? Ss.fromJSON(t.oldRange, e) : null, t.newRange ? Ss.fromJSON(t.newRange, e) : null, e.model.markers, t.affectsData, t.baseVersion);\n }\n }, {\n key: \"className\",\n get: function get() {\n return \"MarkerOperation\";\n }\n }]);\n\n return Ka;\n }(Da);\n\n var Qa = /*#__PURE__*/function (_Da6) {\n _inherits(Qa, _Da6);\n\n var _super30 = _createSuper(Qa);\n\n function Qa(t, e, n, i) {\n var _this62;\n\n _classCallCheck(this, Qa);\n\n _this62 = _super30.call(this, i), _this62.position = t, _this62.position.stickiness = \"toNext\", _this62.oldName = e, _this62.newName = n;\n return _this62;\n }\n\n _createClass(Qa, [{\n key: \"clone\",\n value: function clone() {\n return new Qa(this.position.clone(), this.oldName, this.newName, this.baseVersion);\n }\n }, {\n key: \"getReversed\",\n value: function getReversed() {\n return new Qa(this.position.clone(), this.newName, this.oldName, this.baseVersion + 1);\n }\n }, {\n key: \"_validate\",\n value: function _validate() {\n var t = this.position.nodeAfter;\n if (!(t instanceof vs)) throw new hn.a(\"rename-operation-wrong-position\", this);\n if (t.name !== this.oldName) throw new hn.a(\"rename-operation-wrong-name\", this);\n }\n }, {\n key: \"_execute\",\n value: function _execute() {\n this.position.nodeAfter.name = this.newName;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = _get(_getPrototypeOf(Qa.prototype), \"toJSON\", this).call(this);\n\n return t.position = this.position.toJSON(), t;\n }\n }, {\n key: \"type\",\n get: function get() {\n return \"rename\";\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(t, e) {\n return new Qa(As.fromJSON(t.position, e), t.oldName, t.newName, t.baseVersion);\n }\n }, {\n key: \"className\",\n get: function get() {\n return \"RenameOperation\";\n }\n }]);\n\n return Qa;\n }(Da);\n\n var Ja = /*#__PURE__*/function (_Da7) {\n _inherits(Ja, _Da7);\n\n var _super31 = _createSuper(Ja);\n\n function Ja(t, e, n, i, o) {\n var _this63;\n\n _classCallCheck(this, Ja);\n\n _this63 = _super31.call(this, o), _this63.root = t, _this63.key = e, _this63.oldValue = n, _this63.newValue = i;\n return _this63;\n }\n\n _createClass(Ja, [{\n key: \"clone\",\n value: function clone() {\n return new Ja(this.root, this.key, this.oldValue, this.newValue, this.baseVersion);\n }\n }, {\n key: \"getReversed\",\n value: function getReversed() {\n return new Ja(this.root, this.key, this.newValue, this.oldValue, this.baseVersion + 1);\n }\n }, {\n key: \"_validate\",\n value: function _validate() {\n if (this.root != this.root.root || this.root.is(\"documentFragment\")) throw new hn.a(\"rootattribute-operation-not-a-root\", this, {\n root: this.root,\n key: this.key\n });\n if (null !== this.oldValue && this.root.getAttribute(this.key) !== this.oldValue) throw new hn.a(\"rootattribute-operation-wrong-old-value\", this, {\n root: this.root,\n key: this.key\n });\n if (null === this.oldValue && null !== this.newValue && this.root.hasAttribute(this.key)) throw new hn.a(\"rootattribute-operation-attribute-exists\", this, {\n root: this.root,\n key: this.key\n });\n }\n }, {\n key: \"_execute\",\n value: function _execute() {\n null !== this.newValue ? this.root._setAttribute(this.key, this.newValue) : this.root._removeAttribute(this.key);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = _get(_getPrototypeOf(Ja.prototype), \"toJSON\", this).call(this);\n\n return t.root = this.root.toJSON(), t;\n }\n }, {\n key: \"type\",\n get: function get() {\n return null === this.oldValue ? \"addRootAttribute\" : null === this.newValue ? \"removeRootAttribute\" : \"changeRootAttribute\";\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(t, e) {\n if (!e.getRoot(t.root)) throw new hn.a(\"rootattribute-operation-fromjson-no-root\", this, {\n rootName: t.root\n });\n return new Ja(e.getRoot(t.root), t.key, t.oldValue, t.newValue, t.baseVersion);\n }\n }, {\n key: \"className\",\n get: function get() {\n return \"RootAttributeOperation\";\n }\n }]);\n\n return Ja;\n }(Da);\n\n var Za = /*#__PURE__*/function (_Da8) {\n _inherits(Za, _Da8);\n\n var _super32 = _createSuper(Za);\n\n function Za(t, e, n, i, o) {\n var _this64;\n\n _classCallCheck(this, Za);\n\n _this64 = _super32.call(this, o), _this64.sourcePosition = t.clone(), _this64.sourcePosition.stickiness = \"toPrevious\", _this64.howMany = e, _this64.targetPosition = n.clone(), _this64.targetPosition.stickiness = \"toNext\", _this64.graveyardPosition = i.clone();\n return _this64;\n }\n\n _createClass(Za, [{\n key: \"clone\",\n value: function clone() {\n return new this.constructor(this.sourcePosition, this.howMany, this.targetPosition, this.graveyardPosition, this.baseVersion);\n }\n }, {\n key: \"getReversed\",\n value: function getReversed() {\n var t = this.targetPosition._getTransformedByMergeOperation(this),\n e = this.sourcePosition.path.slice(0, -1),\n n = new As(this.sourcePosition.root, e)._getTransformedByMergeOperation(this),\n i = new Xa(t, this.howMany, this.graveyardPosition, this.baseVersion + 1);\n\n return i.insertionPosition = n, i;\n }\n }, {\n key: \"_validate\",\n value: function _validate() {\n var t = this.sourcePosition.parent,\n e = this.targetPosition.parent;\n if (!t.parent) throw new hn.a(\"merge-operation-source-position-invalid\", this);\n if (!e.parent) throw new hn.a(\"merge-operation-target-position-invalid\", this);\n if (this.howMany != t.maxOffset) throw new hn.a(\"merge-operation-how-many-invalid\", this);\n }\n }, {\n key: \"_execute\",\n value: function _execute() {\n var t = this.sourcePosition.parent;\n za(Ss._createIn(t), this.targetPosition), za(Ss._createOn(t), this.graveyardPosition);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = _get(_getPrototypeOf(Za.prototype), \"toJSON\", this).call(this);\n\n return t.sourcePosition = t.sourcePosition.toJSON(), t.targetPosition = t.targetPosition.toJSON(), t.graveyardPosition = t.graveyardPosition.toJSON(), t;\n }\n }, {\n key: \"type\",\n get: function get() {\n return \"merge\";\n }\n }, {\n key: \"deletionPosition\",\n get: function get() {\n return new As(this.sourcePosition.root, this.sourcePosition.path.slice(0, -1));\n }\n }, {\n key: \"movedRange\",\n get: function get() {\n var t = this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);\n return new Ss(this.sourcePosition, t);\n }\n }], [{\n key: \"fromJSON\",\n value: function fromJSON(t, e) {\n var n = As.fromJSON(t.sourcePosition, e),\n i = As.fromJSON(t.targetPosition, e),\n o = As.fromJSON(t.graveyardPosition, e);\n return new this(n, t.howMany, i, o, t.baseVersion);\n }\n }, {\n key: \"className\",\n get: function get() {\n return \"MergeOperation\";\n }\n }]);\n\n return Za;\n }(Da);\n\n var Xa = /*#__PURE__*/function (_Da9) {\n _inherits(Xa, _Da9);\n\n var _super33 = _createSuper(Xa);\n\n function Xa(t, e, n, i) {\n var _this65;\n\n _classCallCheck(this, Xa);\n\n _this65 = _super33.call(this, i), _this65.splitPosition = t.clone(), _this65.splitPosition.stickiness = \"toNext\", _this65.howMany = e, _this65.insertionPosition = Xa.getInsertionPosition(t), _this65.insertionPosition.stickiness = \"toNone\", _this65.graveyardPosition = n ? n.clone() : null, _this65.graveyardPosition && (_this65.graveyardPosition.stickiness = \"toNext\");\n return _this65;\n }\n\n _createClass(Xa, [{\n key: \"clone\",\n value: function clone() {\n var t = new this.constructor(this.splitPosition, this.howMany, this.graveyardPosition, this.baseVersion);\n return t.insertionPosition = this.insertionPosition, t;\n }\n }, {\n key: \"getReversed\",\n value: function getReversed() {\n var t = this.splitPosition.root.document.graveyard,\n e = new As(t, [0]);\n return new Za(this.moveTargetPosition, this.howMany, this.splitPosition, e, this.baseVersion + 1);\n }\n }, {\n key: \"_validate\",\n value: function _validate() {\n var t = this.splitPosition.parent,\n e = this.splitPosition.offset;\n if (!t || t.maxOffset < e) throw new hn.a(\"split-operation-position-invalid\", this);\n if (!t.parent) throw new hn.a(\"split-operation-split-in-root\", this);\n if (this.howMany != t.maxOffset - this.splitPosition.offset) throw new hn.a(\"split-operation-how-many-invalid\", this);\n if (this.graveyardPosition && !this.graveyardPosition.nodeAfter) throw new hn.a(\"split-operation-graveyard-position-invalid\", this);\n }\n }, {\n key: \"_execute\",\n value: function _execute() {\n var t = this.splitPosition.parent;\n if (this.graveyardPosition) za(Ss._createFromPositionAndShift(this.graveyardPosition, 1), this.insertionPosition);else {\n var _e151 = t._clone();\n\n Va(this.insertionPosition, _e151);\n }\n za(new Ss(As._createAt(t, this.splitPosition.offset), As._createAt(t, t.maxOffset)), this.moveTargetPosition);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = _get(_getPrototypeOf(Xa.prototype), \"toJSON\", this).call(this);\n\n return t.splitPosition = this.splitPosition.toJSON(), t.insertionPosition = this.insertionPosition.toJSON(), this.graveyardPosition && (t.graveyardPosition = this.graveyardPosition.toJSON()), t;\n }\n }, {\n key: \"type\",\n get: function get() {\n return \"split\";\n }\n }, {\n key: \"moveTargetPosition\",\n get: function get() {\n var t = this.insertionPosition.path.slice();\n return t.push(0), new As(this.insertionPosition.root, t);\n }\n }, {\n key: \"movedRange\",\n get: function get() {\n var t = this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);\n return new Ss(this.splitPosition, t);\n }\n }], [{\n key: \"getInsertionPosition\",\n value: function getInsertionPosition(t) {\n var e = t.path.slice(0, -1);\n return e[e.length - 1]++, new As(t.root, e);\n }\n }, {\n key: \"fromJSON\",\n value: function fromJSON(t, e) {\n var n = As.fromJSON(t.splitPosition, e),\n i = As.fromJSON(t.insertionPosition, e),\n o = t.graveyardPosition ? As.fromJSON(t.graveyardPosition, e) : null,\n r = new this(n, t.howMany, o, t.baseVersion);\n return r.insertionPosition = i, r;\n }\n }, {\n key: \"className\",\n get: function get() {\n return \"SplitOperation\";\n }\n }]);\n\n return Xa;\n }(Da);\n\n var tc = /*#__PURE__*/function (_vs) {\n _inherits(tc, _vs);\n\n var _super34 = _createSuper(tc);\n\n function tc(t, e) {\n var _this66;\n\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"main\";\n\n _classCallCheck(this, tc);\n\n _this66 = _super34.call(this, e), _this66._document = t, _this66.rootName = n;\n return _this66;\n }\n\n _createClass(tc, [{\n key: \"is\",\n value: function is(t, e) {\n return e ? e === this.name && (\"rootElement\" === t || \"model:rootElement\" === t || \"element\" === t || \"model:element\" === t) : \"rootElement\" === t || \"model:rootElement\" === t || \"element\" === t || \"model:element\" === t || \"node\" === t || \"model:node\" === t;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.rootName;\n }\n }, {\n key: \"document\",\n get: function get() {\n return this._document;\n }\n }]);\n\n return tc;\n }(vs);\n\n var ec = /*#__PURE__*/function () {\n function ec(t, e) {\n _classCallCheck(this, ec);\n\n this.model = t, this.batch = e;\n }\n\n _createClass(ec, [{\n key: \"createText\",\n value: function createText(t, e) {\n return new ws(t, e);\n }\n }, {\n key: \"createElement\",\n value: function createElement(t, e) {\n return new vs(t, e);\n }\n }, {\n key: \"createDocumentFragment\",\n value: function createDocumentFragment() {\n return new La();\n }\n }, {\n key: \"cloneElement\",\n value: function cloneElement(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n return t._clone(e);\n }\n }, {\n key: \"insert\",\n value: function insert(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n if (this._assertWriterUsedCorrectly(), t instanceof ws && \"\" == t.data) return;\n\n var i = As._createAt(e, n);\n\n if (t.parent) {\n if (sc(t.root, i.root)) return void this.move(Ss._createOn(t), i);\n if (t.root.document) throw new hn.a(\"model-writer-insert-forbidden-move\", this);\n this.remove(t);\n }\n\n var o = i.root.document ? i.root.document.version : null,\n r = new Ga(i, t, o);\n\n if (t instanceof ws && (r.shouldReceiveAttributes = !0), this.batch.addOperation(r), this.model.applyOperation(r), t instanceof La) {\n var _iterator219 = _createForOfIteratorHelper(t.markers),\n _step219;\n\n try {\n for (_iterator219.s(); !(_step219 = _iterator219.n()).done;) {\n var _ref67 = _step219.value;\n\n var _ref66 = _slicedToArray(_ref67, 2);\n\n var _e152 = _ref66[0];\n var _n141 = _ref66[1];\n\n var _t164 = As._createAt(_n141.root, 0),\n _o50 = {\n range: new Ss(_n141.start._getCombined(_t164, i), _n141.end._getCombined(_t164, i)),\n usingOperation: !0,\n affectsData: !0\n };\n\n this.model.markers.has(_e152) ? this.updateMarker(_e152, _o50) : this.addMarker(_e152, _o50);\n }\n } catch (err) {\n _iterator219.e(err);\n } finally {\n _iterator219.f();\n }\n }\n }\n }, {\n key: \"insertText\",\n value: function insertText(t, e, n, i) {\n e instanceof La || e instanceof vs || e instanceof As ? this.insert(this.createText(t), e, n) : this.insert(this.createText(t, e), n, i);\n }\n }, {\n key: \"insertElement\",\n value: function insertElement(t, e, n, i) {\n e instanceof La || e instanceof vs || e instanceof As ? this.insert(this.createElement(t), e, n) : this.insert(this.createElement(t, e), n, i);\n }\n }, {\n key: \"append\",\n value: function append(t, e) {\n this.insert(t, e, \"end\");\n }\n }, {\n key: \"appendText\",\n value: function appendText(t, e, n) {\n e instanceof La || e instanceof vs ? this.insert(this.createText(t), e, \"end\") : this.insert(this.createText(t, e), n, \"end\");\n }\n }, {\n key: \"appendElement\",\n value: function appendElement(t, e, n) {\n e instanceof La || e instanceof vs ? this.insert(this.createElement(t), e, \"end\") : this.insert(this.createElement(t, e), n, \"end\");\n }\n }, {\n key: \"setAttribute\",\n value: function setAttribute(t, e, n) {\n if (this._assertWriterUsedCorrectly(), n instanceof Ss) {\n var _i112 = n.getMinimalFlatRanges();\n\n var _iterator220 = _createForOfIteratorHelper(_i112),\n _step220;\n\n try {\n for (_iterator220.s(); !(_step220 = _iterator220.n()).done;) {\n var _n142 = _step220.value;\n nc(this, t, e, _n142);\n }\n } catch (err) {\n _iterator220.e(err);\n } finally {\n _iterator220.f();\n }\n } else ic(this, t, e, n);\n }\n }, {\n key: \"setAttributes\",\n value: function setAttributes(t, e) {\n var _iterator221 = _createForOfIteratorHelper(Ln(t)),\n _step221;\n\n try {\n for (_iterator221.s(); !(_step221 = _iterator221.n()).done;) {\n var _ref70 = _step221.value;\n\n var _ref69 = _slicedToArray(_ref70, 2);\n\n var _n143 = _ref69[0];\n var _i113 = _ref69[1];\n this.setAttribute(_n143, _i113, e);\n }\n } catch (err) {\n _iterator221.e(err);\n } finally {\n _iterator221.f();\n }\n }\n }, {\n key: \"removeAttribute\",\n value: function removeAttribute(t, e) {\n if (this._assertWriterUsedCorrectly(), e instanceof Ss) {\n var _n144 = e.getMinimalFlatRanges();\n\n var _iterator222 = _createForOfIteratorHelper(_n144),\n _step222;\n\n try {\n for (_iterator222.s(); !(_step222 = _iterator222.n()).done;) {\n var _e153 = _step222.value;\n nc(this, t, null, _e153);\n }\n } catch (err) {\n _iterator222.e(err);\n } finally {\n _iterator222.f();\n }\n } else ic(this, t, null, e);\n }\n }, {\n key: \"clearAttributes\",\n value: function clearAttributes(t) {\n var _this67 = this;\n\n this._assertWriterUsedCorrectly();\n\n var e = function e(t) {\n var _iterator223 = _createForOfIteratorHelper(t.getAttributeKeys()),\n _step223;\n\n try {\n for (_iterator223.s(); !(_step223 = _iterator223.n()).done;) {\n var _e154 = _step223.value;\n\n _this67.removeAttribute(_e154, t);\n }\n } catch (err) {\n _iterator223.e(err);\n } finally {\n _iterator223.f();\n }\n };\n\n if (t instanceof Ss) {\n var _iterator224 = _createForOfIteratorHelper(t.getItems()),\n _step224;\n\n try {\n for (_iterator224.s(); !(_step224 = _iterator224.n()).done;) {\n var _n145 = _step224.value;\n e(_n145);\n }\n } catch (err) {\n _iterator224.e(err);\n } finally {\n _iterator224.f();\n }\n } else e(t);\n }\n }, {\n key: \"move\",\n value: function move(t, e, n) {\n if (this._assertWriterUsedCorrectly(), !(t instanceof Ss)) throw new hn.a(\"writer-move-invalid-range\", this);\n if (!t.isFlat) throw new hn.a(\"writer-move-range-not-flat\", this);\n\n var i = As._createAt(e, n);\n\n if (i.isEqual(t.start)) return;\n if (this._addOperationForAffectedMarkers(\"move\", t), !sc(t.root, i.root)) throw new hn.a(\"writer-move-different-document\", this);\n var o = t.root.document ? t.root.document.version : null,\n r = new Ya(t.start, t.end.offset - t.start.offset, i, o);\n this.batch.addOperation(r), this.model.applyOperation(r);\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n this._assertWriterUsedCorrectly();\n\n var e = (t instanceof Ss ? t : Ss._createOn(t)).getMinimalFlatRanges().reverse();\n\n var _iterator225 = _createForOfIteratorHelper(e),\n _step225;\n\n try {\n for (_iterator225.s(); !(_step225 = _iterator225.n()).done;) {\n var _t165 = _step225.value;\n this._addOperationForAffectedMarkers(\"move\", _t165), rc(_t165.start, _t165.end.offset - _t165.start.offset, this.batch, this.model);\n }\n } catch (err) {\n _iterator225.e(err);\n } finally {\n _iterator225.f();\n }\n }\n }, {\n key: \"merge\",\n value: function merge(t) {\n this._assertWriterUsedCorrectly();\n\n var e = t.nodeBefore,\n n = t.nodeAfter;\n if (this._addOperationForAffectedMarkers(\"merge\", t), !(e instanceof vs)) throw new hn.a(\"writer-merge-no-element-before\", this);\n if (!(n instanceof vs)) throw new hn.a(\"writer-merge-no-element-after\", this);\n t.root.document ? this._merge(t) : this._mergeDetached(t);\n }\n }, {\n key: \"createPositionFromPath\",\n value: function createPositionFromPath(t, e, n) {\n return this.model.createPositionFromPath(t, e, n);\n }\n }, {\n key: \"createPositionAt\",\n value: function createPositionAt(t, e) {\n return this.model.createPositionAt(t, e);\n }\n }, {\n key: \"createPositionAfter\",\n value: function createPositionAfter(t) {\n return this.model.createPositionAfter(t);\n }\n }, {\n key: \"createPositionBefore\",\n value: function createPositionBefore(t) {\n return this.model.createPositionBefore(t);\n }\n }, {\n key: \"createRange\",\n value: function createRange(t, e) {\n return this.model.createRange(t, e);\n }\n }, {\n key: \"createRangeIn\",\n value: function createRangeIn(t) {\n return this.model.createRangeIn(t);\n }\n }, {\n key: \"createRangeOn\",\n value: function createRangeOn(t) {\n return this.model.createRangeOn(t);\n }\n }, {\n key: \"createSelection\",\n value: function createSelection(t, e, n) {\n return this.model.createSelection(t, e, n);\n }\n }, {\n key: \"_mergeDetached\",\n value: function _mergeDetached(t) {\n var e = t.nodeBefore,\n n = t.nodeAfter;\n this.move(Ss._createIn(n), As._createAt(e, \"end\")), this.remove(n);\n }\n }, {\n key: \"_merge\",\n value: function _merge(t) {\n var e = As._createAt(t.nodeBefore, \"end\"),\n n = As._createAt(t.nodeAfter, 0),\n i = t.root.document.graveyard,\n o = new As(i, [0]),\n r = t.root.document.version,\n s = new Za(n, t.nodeAfter.maxOffset, e, o, r);\n\n this.batch.addOperation(s), this.model.applyOperation(s);\n }\n }, {\n key: \"rename\",\n value: function rename(t, e) {\n if (this._assertWriterUsedCorrectly(), !(t instanceof vs)) throw new hn.a(\"writer-rename-not-element-instance\", this);\n var n = t.root.document ? t.root.document.version : null,\n i = new Qa(As._createBefore(t), t.name, e, n);\n this.batch.addOperation(i), this.model.applyOperation(i);\n }\n }, {\n key: \"split\",\n value: function split(t, e) {\n this._assertWriterUsedCorrectly();\n\n var n,\n i,\n o = t.parent;\n if (!o.parent) throw new hn.a(\"writer-split-element-no-parent\", this);\n if (e || (e = o.parent), !t.parent.getAncestors({\n includeSelf: !0\n }).includes(e)) throw new hn.a(\"writer-split-invalid-limit-element\", this);\n\n do {\n var _e155 = o.root.document ? o.root.document.version : null,\n _r17 = o.maxOffset - t.offset,\n _s16 = new Xa(t, _r17, null, _e155);\n\n this.batch.addOperation(_s16), this.model.applyOperation(_s16), n || i || (n = o, i = t.parent.nextSibling), o = (t = this.createPositionAfter(t.parent)).parent;\n } while (o !== e);\n\n return {\n position: t,\n range: new Ss(As._createAt(n, \"end\"), As._createAt(i, 0))\n };\n }\n }, {\n key: \"wrap\",\n value: function wrap(t, e) {\n if (this._assertWriterUsedCorrectly(), !t.isFlat) throw new hn.a(\"writer-wrap-range-not-flat\", this);\n var n = e instanceof vs ? e : new vs(e);\n if (n.childCount > 0) throw new hn.a(\"writer-wrap-element-not-empty\", this);\n if (null !== n.parent) throw new hn.a(\"writer-wrap-element-attached\", this);\n this.insert(n, t.start);\n var i = new Ss(t.start.getShiftedBy(1), t.end.getShiftedBy(1));\n this.move(i, As._createAt(n, 0));\n }\n }, {\n key: \"unwrap\",\n value: function unwrap(t) {\n if (this._assertWriterUsedCorrectly(), null === t.parent) throw new hn.a(\"writer-unwrap-element-no-parent\", this);\n this.move(Ss._createIn(t), this.createPositionAfter(t)), this.remove(t);\n }\n }, {\n key: \"addMarker\",\n value: function addMarker(t, e) {\n if (this._assertWriterUsedCorrectly(), !e || \"boolean\" != typeof e.usingOperation) throw new hn.a(\"writer-addmarker-no-usingoperation\", this);\n var n = e.usingOperation,\n i = e.range,\n o = void 0 !== e.affectsData && e.affectsData;\n if (this.model.markers.has(t)) throw new hn.a(\"writer-addmarker-marker-exists\", this);\n if (!i) throw new hn.a(\"writer-addmarker-no-range\", this);\n return n ? (oc(this, t, null, i, o), this.model.markers.get(t)) : this.model.markers._set(t, i, n, o);\n }\n }, {\n key: \"updateMarker\",\n value: function updateMarker(t, e) {\n this._assertWriterUsedCorrectly();\n\n var n = \"string\" == typeof t ? t : t.name,\n i = this.model.markers.get(n);\n if (!i) throw new hn.a(\"writer-updatemarker-marker-not-exists\", this);\n if (!e) return void this.model.markers._refresh(i);\n var o = \"boolean\" == typeof e.usingOperation,\n r = \"boolean\" == typeof e.affectsData,\n s = r ? e.affectsData : i.affectsData;\n if (!o && !e.range && !r) throw new hn.a(\"writer-updatemarker-wrong-options\", this);\n var a = i.getRange(),\n c = e.range ? e.range : a;\n o && e.usingOperation !== i.managedUsingOperations ? e.usingOperation ? oc(this, n, null, c, s) : (oc(this, n, a, null, s), this.model.markers._set(n, c, void 0, s)) : i.managedUsingOperations ? oc(this, n, a, c, s) : this.model.markers._set(n, c, void 0, s);\n }\n }, {\n key: \"removeMarker\",\n value: function removeMarker(t) {\n this._assertWriterUsedCorrectly();\n\n var e = \"string\" == typeof t ? t : t.name;\n if (!this.model.markers.has(e)) throw new hn.a(\"writer-removemarker-no-marker\", this);\n var n = this.model.markers.get(e);\n if (!n.managedUsingOperations) return void this.model.markers._remove(e);\n oc(this, e, n.getRange(), null, n.affectsData);\n }\n }, {\n key: \"setSelection\",\n value: function setSelection(t, e, n) {\n this._assertWriterUsedCorrectly(), this.model.document.selection._setTo(t, e, n);\n }\n }, {\n key: \"setSelectionFocus\",\n value: function setSelectionFocus(t, e) {\n this._assertWriterUsedCorrectly(), this.model.document.selection._setFocus(t, e);\n }\n }, {\n key: \"setSelectionAttribute\",\n value: function setSelectionAttribute(t, e) {\n if (this._assertWriterUsedCorrectly(), \"string\" == typeof t) this._setSelectionAttribute(t, e);else {\n var _iterator226 = _createForOfIteratorHelper(Ln(t)),\n _step226;\n\n try {\n for (_iterator226.s(); !(_step226 = _iterator226.n()).done;) {\n var _ref73 = _step226.value;\n\n var _ref72 = _slicedToArray(_ref73, 2);\n\n var _e156 = _ref72[0];\n var _n146 = _ref72[1];\n\n this._setSelectionAttribute(_e156, _n146);\n }\n } catch (err) {\n _iterator226.e(err);\n } finally {\n _iterator226.f();\n }\n }\n }\n }, {\n key: \"removeSelectionAttribute\",\n value: function removeSelectionAttribute(t) {\n if (this._assertWriterUsedCorrectly(), \"string\" == typeof t) this._removeSelectionAttribute(t);else {\n var _iterator227 = _createForOfIteratorHelper(t),\n _step227;\n\n try {\n for (_iterator227.s(); !(_step227 = _iterator227.n()).done;) {\n var _e157 = _step227.value;\n\n this._removeSelectionAttribute(_e157);\n }\n } catch (err) {\n _iterator227.e(err);\n } finally {\n _iterator227.f();\n }\n }\n }\n }, {\n key: \"overrideSelectionGravity\",\n value: function overrideSelectionGravity() {\n return this.model.document.selection._overrideGravity();\n }\n }, {\n key: \"restoreSelectionGravity\",\n value: function restoreSelectionGravity(t) {\n this.model.document.selection._restoreGravity(t);\n }\n }, {\n key: \"_setSelectionAttribute\",\n value: function _setSelectionAttribute(t, e) {\n var n = this.model.document.selection;\n\n if (n.isCollapsed && n.anchor.parent.isEmpty) {\n var _i114 = Ws._getStoreAttributeKey(t);\n\n this.setAttribute(_i114, e, n.anchor.parent);\n }\n\n n._setAttribute(t, e);\n }\n }, {\n key: \"_removeSelectionAttribute\",\n value: function _removeSelectionAttribute(t) {\n var e = this.model.document.selection;\n\n if (e.isCollapsed && e.anchor.parent.isEmpty) {\n var _n147 = Ws._getStoreAttributeKey(t);\n\n this.removeAttribute(_n147, e.anchor.parent);\n }\n\n e._removeAttribute(t);\n }\n }, {\n key: \"_assertWriterUsedCorrectly\",\n value: function _assertWriterUsedCorrectly() {\n if (this.model._currentWriter !== this) throw new hn.a(\"writer-incorrect-use\", this);\n }\n }, {\n key: \"_addOperationForAffectedMarkers\",\n value: function _addOperationForAffectedMarkers(t, e) {\n var _iterator228 = _createForOfIteratorHelper(this.model.markers),\n _step228;\n\n try {\n for (_iterator228.s(); !(_step228 = _iterator228.n()).done;) {\n var _n148 = _step228.value;\n if (!_n148.managedUsingOperations) continue;\n\n var _i115 = _n148.getRange();\n\n var _o51 = !1;\n\n if (\"move\" === t) _o51 = e.containsPosition(_i115.start) || e.start.isEqual(_i115.start) || e.containsPosition(_i115.end) || e.end.isEqual(_i115.end);else {\n var _t166 = e.nodeBefore,\n _n149 = e.nodeAfter,\n _r18 = _i115.start.parent == _t166 && _i115.start.isAtEnd,\n _s17 = _i115.end.parent == _n149 && 0 == _i115.end.offset,\n _a8 = _i115.end.nodeAfter == _n149,\n _c3 = _i115.start.nodeAfter == _n149;\n\n _o51 = _r18 || _s17 || _a8 || _c3;\n }\n _o51 && this.updateMarker(_n148.name, {\n range: _i115\n });\n }\n } catch (err) {\n _iterator228.e(err);\n } finally {\n _iterator228.f();\n }\n }\n }]);\n\n return ec;\n }();\n\n function nc(t, e, n, i) {\n var o = t.model,\n r = o.document;\n var s,\n a,\n c,\n l = i.start;\n\n var _iterator229 = _createForOfIteratorHelper(i.getWalker({\n shallow: !0\n })),\n _step229;\n\n try {\n for (_iterator229.s(); !(_step229 = _iterator229.n()).done;) {\n var _t167 = _step229.value;\n c = _t167.item.getAttribute(e), s && a != c && (a != n && d(), l = s), s = _t167.nextPosition, a = c;\n }\n } catch (err) {\n _iterator229.e(err);\n } finally {\n _iterator229.f();\n }\n\n function d() {\n var i = new Ss(l, s),\n c = i.root.document ? r.version : null,\n d = new qa(i, e, a, n, c);\n t.batch.addOperation(d), o.applyOperation(d);\n }\n\n s instanceof As && s != l && a != n && d();\n }\n\n function ic(t, e, n, i) {\n var o = t.model,\n r = o.document,\n s = i.getAttribute(e);\n var a, c;\n\n if (s != n) {\n if (i.root === i) {\n var _t168 = i.document ? r.version : null;\n\n c = new Ja(i, e, s, n, _t168);\n } else {\n a = new Ss(As._createBefore(i), t.createPositionAfter(i));\n\n var _o52 = a.root.document ? r.version : null;\n\n c = new qa(a, e, s, n, _o52);\n }\n\n t.batch.addOperation(c), o.applyOperation(c);\n }\n }\n\n function oc(t, e, n, i, o) {\n var r = t.model,\n s = r.document,\n a = new Ka(e, n, i, r.markers, o, s.version);\n t.batch.addOperation(a), r.applyOperation(a);\n }\n\n function rc(t, e, n, i) {\n var o;\n\n if (t.root.document) {\n var _n150 = i.document,\n _r19 = new As(_n150.graveyard, [0]);\n\n o = new Ya(t, e, _r19, _n150.version);\n } else o = new $a(t, e);\n\n n.addOperation(o), i.applyOperation(o);\n }\n\n function sc(t, e) {\n return t === e || t instanceof tc && e instanceof tc;\n }\n\n var ac = /*#__PURE__*/function () {\n function ac(t) {\n _classCallCheck(this, ac);\n\n this._markerCollection = t, this._changesInElement = new Map(), this._elementSnapshots = new Map(), this._changedMarkers = new Map(), this._changeCount = 0, this._cachedChanges = null, this._cachedChangesWithGraveyard = null;\n }\n\n _createClass(ac, [{\n key: \"refreshItem\",\n value: function refreshItem(t) {\n if (this._isInInsertedElement(t.parent)) return;\n this._markRemove(t.parent, t.startOffset, t.offsetSize), this._markInsert(t.parent, t.startOffset, t.offsetSize);\n\n var e = Ss._createOn(t);\n\n var _iterator230 = _createForOfIteratorHelper(this._markerCollection.getMarkersIntersectingRange(e)),\n _step230;\n\n try {\n for (_iterator230.s(); !(_step230 = _iterator230.n()).done;) {\n var _t169 = _step230.value;\n\n var _e158 = _t169.getRange();\n\n this.bufferMarkerChange(_t169.name, _e158, _e158, _t169.affectsData);\n }\n } catch (err) {\n _iterator230.e(err);\n } finally {\n _iterator230.f();\n }\n\n this._cachedChanges = null;\n }\n }, {\n key: \"bufferOperation\",\n value: function bufferOperation(t) {\n switch (t.type) {\n case \"insert\":\n if (this._isInInsertedElement(t.position.parent)) return;\n\n this._markInsert(t.position.parent, t.position.offset, t.nodes.maxOffset);\n\n break;\n\n case \"addAttribute\":\n case \"removeAttribute\":\n case \"changeAttribute\":\n var _iterator231 = _createForOfIteratorHelper(t.range.getItems({\n shallow: !0\n })),\n _step231;\n\n try {\n for (_iterator231.s(); !(_step231 = _iterator231.n()).done;) {\n var _e159 = _step231.value;\n this._isInInsertedElement(_e159.parent) || this._markAttribute(_e159);\n }\n } catch (err) {\n _iterator231.e(err);\n } finally {\n _iterator231.f();\n }\n\n break;\n\n case \"remove\":\n case \"move\":\n case \"reinsert\":\n {\n if (t.sourcePosition.isEqual(t.targetPosition) || t.sourcePosition.getShiftedBy(t.howMany).isEqual(t.targetPosition)) return;\n\n var _e160 = this._isInInsertedElement(t.sourcePosition.parent),\n _n151 = this._isInInsertedElement(t.targetPosition.parent);\n\n _e160 || this._markRemove(t.sourcePosition.parent, t.sourcePosition.offset, t.howMany), _n151 || this._markInsert(t.targetPosition.parent, t.getMovedRangeStart().offset, t.howMany);\n break;\n }\n\n case \"rename\":\n {\n if (this._isInInsertedElement(t.position.parent)) return;\n this._markRemove(t.position.parent, t.position.offset, 1), this._markInsert(t.position.parent, t.position.offset, 1);\n\n var _e161 = Ss._createFromPositionAndShift(t.position, 1);\n\n var _iterator232 = _createForOfIteratorHelper(this._markerCollection.getMarkersIntersectingRange(_e161)),\n _step232;\n\n try {\n for (_iterator232.s(); !(_step232 = _iterator232.n()).done;) {\n var _t170 = _step232.value;\n\n var _e162 = _t170.getRange();\n\n this.bufferMarkerChange(_t170.name, _e162, _e162, _t170.affectsData);\n }\n } catch (err) {\n _iterator232.e(err);\n } finally {\n _iterator232.f();\n }\n\n break;\n }\n\n case \"split\":\n {\n var _e163 = t.splitPosition.parent;\n this._isInInsertedElement(_e163) || this._markRemove(_e163, t.splitPosition.offset, t.howMany), this._isInInsertedElement(t.insertionPosition.parent) || this._markInsert(t.insertionPosition.parent, t.insertionPosition.offset, 1), t.graveyardPosition && this._markRemove(t.graveyardPosition.parent, t.graveyardPosition.offset, 1);\n break;\n }\n\n case \"merge\":\n {\n var _e164 = t.sourcePosition.parent;\n this._isInInsertedElement(_e164.parent) || this._markRemove(_e164.parent, _e164.startOffset, 1);\n var _n152 = t.graveyardPosition.parent;\n\n this._markInsert(_n152, t.graveyardPosition.offset, 1);\n\n var _i116 = t.targetPosition.parent;\n this._isInInsertedElement(_i116) || this._markInsert(_i116, t.targetPosition.offset, _e164.maxOffset);\n break;\n }\n }\n\n this._cachedChanges = null;\n }\n }, {\n key: \"bufferMarkerChange\",\n value: function bufferMarkerChange(t, e, n, i) {\n var o = this._changedMarkers.get(t);\n\n o ? (o.newRange = n, o.affectsData = i, null == o.oldRange && null == o.newRange && this._changedMarkers[\"delete\"](t)) : this._changedMarkers.set(t, {\n oldRange: e,\n newRange: n,\n affectsData: i\n });\n }\n }, {\n key: \"getMarkersToRemove\",\n value: function getMarkersToRemove() {\n var t = [];\n\n var _iterator233 = _createForOfIteratorHelper(this._changedMarkers),\n _step233;\n\n try {\n for (_iterator233.s(); !(_step233 = _iterator233.n()).done;) {\n var _ref76 = _step233.value;\n\n var _ref75 = _slicedToArray(_ref76, 2);\n\n var _e165 = _ref75[0];\n var _n153 = _ref75[1];\n null != _n153.oldRange && t.push({\n name: _e165,\n range: _n153.oldRange\n });\n }\n } catch (err) {\n _iterator233.e(err);\n } finally {\n _iterator233.f();\n }\n\n return t;\n }\n }, {\n key: \"getMarkersToAdd\",\n value: function getMarkersToAdd() {\n var t = [];\n\n var _iterator234 = _createForOfIteratorHelper(this._changedMarkers),\n _step234;\n\n try {\n for (_iterator234.s(); !(_step234 = _iterator234.n()).done;) {\n var _ref79 = _step234.value;\n\n var _ref78 = _slicedToArray(_ref79, 2);\n\n var _e166 = _ref78[0];\n var _n154 = _ref78[1];\n null != _n154.newRange && t.push({\n name: _e166,\n range: _n154.newRange\n });\n }\n } catch (err) {\n _iterator234.e(err);\n } finally {\n _iterator234.f();\n }\n\n return t;\n }\n }, {\n key: \"getChangedMarkers\",\n value: function getChangedMarkers() {\n return Array.from(this._changedMarkers).map(function (t) {\n return {\n name: t[0],\n data: {\n oldRange: t[1].oldRange,\n newRange: t[1].newRange\n }\n };\n });\n }\n }, {\n key: \"hasDataChanges\",\n value: function hasDataChanges() {\n var _iterator235 = _createForOfIteratorHelper(this._changedMarkers),\n _step235;\n\n try {\n for (_iterator235.s(); !(_step235 = _iterator235.n()).done;) {\n var _ref82 = _step235.value;\n\n var _ref81 = _slicedToArray(_ref82, 2);\n\n var _t171 = _ref81[1];\n if (_t171.affectsData) return !0;\n }\n } catch (err) {\n _iterator235.e(err);\n } finally {\n _iterator235.f();\n }\n\n return this._changesInElement.size > 0;\n }\n }, {\n key: \"getChanges\",\n value: function getChanges() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n includeChangesInGraveyard: !1\n };\n if (this._cachedChanges) return t.includeChangesInGraveyard ? this._cachedChangesWithGraveyard.slice() : this._cachedChanges.slice();\n var e = [];\n\n var _iterator236 = _createForOfIteratorHelper(this._changesInElement.keys()),\n _step236;\n\n try {\n for (_iterator236.s(); !(_step236 = _iterator236.n()).done;) {\n var _t174 = _step236.value;\n\n var _n156 = this._changesInElement.get(_t174).sort(function (t, e) {\n return t.offset === e.offset ? t.type != e.type ? \"remove\" == t.type ? -1 : 1 : 0 : t.offset < e.offset ? -1 : 1;\n }),\n _i119 = this._elementSnapshots.get(_t174),\n _o54 = cc(_t174.getChildren()),\n _r21 = lc(_i119.length, _n156);\n\n var _s19 = 0,\n _a9 = 0;\n\n var _iterator237 = _createForOfIteratorHelper(_r21),\n _step237;\n\n try {\n for (_iterator237.s(); !(_step237 = _iterator237.n()).done;) {\n var _n157 = _step237.value;\n if (\"i\" === _n157) e.push(this._getInsertDiff(_t174, _s19, _o54[_s19].name)), _s19++;else if (\"r\" === _n157) e.push(this._getRemoveDiff(_t174, _s19, _i119[_a9].name)), _a9++;else if (\"a\" === _n157) {\n var _n158 = _o54[_s19].attributes,\n _r22 = _i119[_a9].attributes;\n\n var _c4 = void 0;\n\n if (\"$text\" == _o54[_s19].name) _c4 = new Ss(As._createAt(_t174, _s19), As._createAt(_t174, _s19 + 1));else {\n var _e168 = _t174.offsetToIndex(_s19);\n\n _c4 = new Ss(As._createAt(_t174, _s19), As._createAt(_t174.getChild(_e168), 0));\n }\n e.push.apply(e, _toConsumableArray(this._getAttributesDiff(_c4, _r22, _n158))), _s19++, _a9++;\n } else _s19++, _a9++;\n }\n } catch (err) {\n _iterator237.e(err);\n } finally {\n _iterator237.f();\n }\n }\n } catch (err) {\n _iterator236.e(err);\n } finally {\n _iterator236.f();\n }\n\n e.sort(function (t, e) {\n return t.position.root != e.position.root ? t.position.root.rootName < e.position.root.rootName ? -1 : 1 : t.position.isEqual(e.position) ? t.changeCount - e.changeCount : t.position.isBefore(e.position) ? -1 : 1;\n });\n\n for (var _t172 = 1; _t172 < e.length; _t172++) {\n var _n155 = e[_t172 - 1],\n _i117 = e[_t172],\n _o53 = \"remove\" == _n155.type && \"remove\" == _i117.type && \"$text\" == _n155.name && \"$text\" == _i117.name && _n155.position.isEqual(_i117.position),\n _r20 = \"insert\" == _n155.type && \"insert\" == _i117.type && \"$text\" == _n155.name && \"$text\" == _i117.name && _n155.position.parent == _i117.position.parent && _n155.position.offset + _n155.length == _i117.position.offset,\n _s18 = \"attribute\" == _n155.type && \"attribute\" == _i117.type && _n155.position.parent == _i117.position.parent && _n155.range.isFlat && _i117.range.isFlat && _n155.position.offset + _n155.length == _i117.position.offset && _n155.attributeKey == _i117.attributeKey && _n155.attributeOldValue == _i117.attributeOldValue && _n155.attributeNewValue == _i117.attributeNewValue;\n\n (_o53 || _r20 || _s18) && (e[_t172 - 1].length++, _s18 && (e[_t172 - 1].range.end = e[_t172 - 1].range.end.getShiftedBy(1)), e.splice(_t172, 1), _t172--);\n }\n\n for (var _i118 = 0, _e167 = e; _i118 < _e167.length; _i118++) {\n var _t173 = _e167[_i118];\n delete _t173.changeCount, \"attribute\" == _t173.type && (delete _t173.position, delete _t173.length);\n }\n\n return this._changeCount = 0, this._cachedChangesWithGraveyard = e.slice(), this._cachedChanges = e.slice().filter(dc), t.includeChangesInGraveyard ? this._cachedChangesWithGraveyard : this._cachedChanges;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this._changesInElement.clear(), this._elementSnapshots.clear(), this._changedMarkers.clear(), this._cachedChanges = null;\n }\n }, {\n key: \"_markInsert\",\n value: function _markInsert(t, e, n) {\n var i = {\n type: \"insert\",\n offset: e,\n howMany: n,\n count: this._changeCount++\n };\n\n this._markChange(t, i);\n }\n }, {\n key: \"_markRemove\",\n value: function _markRemove(t, e, n) {\n var i = {\n type: \"remove\",\n offset: e,\n howMany: n,\n count: this._changeCount++\n };\n this._markChange(t, i), this._removeAllNestedChanges(t, e, n);\n }\n }, {\n key: \"_markAttribute\",\n value: function _markAttribute(t) {\n var e = {\n type: \"attribute\",\n offset: t.startOffset,\n howMany: t.offsetSize,\n count: this._changeCount++\n };\n\n this._markChange(t.parent, e);\n }\n }, {\n key: \"_markChange\",\n value: function _markChange(t, e) {\n this._makeSnapshot(t);\n\n var n = this._getChangesForElement(t);\n\n this._handleChange(e, n), n.push(e);\n\n for (var _t175 = 0; _t175 < n.length; _t175++) {\n n[_t175].howMany < 1 && (n.splice(_t175, 1), _t175--);\n }\n }\n }, {\n key: \"_getChangesForElement\",\n value: function _getChangesForElement(t) {\n var e;\n return this._changesInElement.has(t) ? e = this._changesInElement.get(t) : (e = [], this._changesInElement.set(t, e)), e;\n }\n }, {\n key: \"_makeSnapshot\",\n value: function _makeSnapshot(t) {\n this._elementSnapshots.has(t) || this._elementSnapshots.set(t, cc(t.getChildren()));\n }\n }, {\n key: \"_handleChange\",\n value: function _handleChange(t, e) {\n t.nodesToHandle = t.howMany;\n\n var _iterator238 = _createForOfIteratorHelper(e),\n _step238;\n\n try {\n for (_iterator238.s(); !(_step238 = _iterator238.n()).done;) {\n var _n159 = _step238.value;\n\n var _i120 = t.offset + t.howMany,\n _o55 = _n159.offset + _n159.howMany;\n\n if (\"insert\" == t.type && (\"insert\" == _n159.type && (t.offset <= _n159.offset ? _n159.offset += t.howMany : t.offset < _o55 && (_n159.howMany += t.nodesToHandle, t.nodesToHandle = 0)), \"remove\" == _n159.type && t.offset < _n159.offset && (_n159.offset += t.howMany), \"attribute\" == _n159.type)) if (t.offset <= _n159.offset) _n159.offset += t.howMany;else if (t.offset < _o55) {\n var _o56 = _n159.howMany;\n _n159.howMany = t.offset - _n159.offset, e.unshift({\n type: \"attribute\",\n offset: _i120,\n howMany: _o56 - _n159.howMany,\n count: this._changeCount++\n });\n }\n\n if (\"remove\" == t.type) {\n if (\"insert\" == _n159.type) if (_i120 <= _n159.offset) _n159.offset -= t.howMany;else if (_i120 <= _o55) {\n if (t.offset < _n159.offset) {\n var _e169 = _i120 - _n159.offset;\n\n _n159.offset = t.offset, _n159.howMany -= _e169, t.nodesToHandle -= _e169;\n } else _n159.howMany -= t.nodesToHandle, t.nodesToHandle = 0;\n } else if (t.offset <= _n159.offset) t.nodesToHandle -= _n159.howMany, _n159.howMany = 0;else if (t.offset < _o55) {\n var _e170 = _o55 - t.offset;\n\n _n159.howMany -= _e170, t.nodesToHandle -= _e170;\n }\n if (\"remove\" == _n159.type && (_i120 <= _n159.offset ? _n159.offset -= t.howMany : t.offset < _n159.offset && (t.nodesToHandle += _n159.howMany, _n159.howMany = 0)), \"attribute\" == _n159.type) if (_i120 <= _n159.offset) _n159.offset -= t.howMany;else if (t.offset < _n159.offset) {\n var _e171 = _i120 - _n159.offset;\n\n _n159.offset = t.offset, _n159.howMany -= _e171;\n } else if (t.offset < _o55) if (_i120 <= _o55) {\n var _i121 = _n159.howMany;\n _n159.howMany = t.offset - _n159.offset;\n\n var _o57 = _i121 - _n159.howMany - t.nodesToHandle;\n\n e.unshift({\n type: \"attribute\",\n offset: t.offset,\n howMany: _o57,\n count: this._changeCount++\n });\n } else _n159.howMany -= _o55 - t.offset;\n }\n\n if (\"attribute\" == t.type) {\n if (\"insert\" == _n159.type) if (t.offset < _n159.offset && _i120 > _n159.offset) {\n if (_i120 > _o55) {\n var _t176 = {\n type: \"attribute\",\n offset: _o55,\n howMany: _i120 - _o55,\n count: this._changeCount++\n };\n this._handleChange(_t176, e), e.push(_t176);\n }\n\n t.nodesToHandle = _n159.offset - t.offset, t.howMany = t.nodesToHandle;\n } else t.offset >= _n159.offset && t.offset < _o55 && (_i120 > _o55 ? (t.nodesToHandle = _i120 - _o55, t.offset = _o55) : t.nodesToHandle = 0);\n\n if (\"remove\" == _n159.type && t.offset < _n159.offset && _i120 > _n159.offset) {\n var _o58 = {\n type: \"attribute\",\n offset: _n159.offset,\n howMany: _i120 - _n159.offset,\n count: this._changeCount++\n };\n this._handleChange(_o58, e), e.push(_o58), t.nodesToHandle = _n159.offset - t.offset, t.howMany = t.nodesToHandle;\n }\n\n \"attribute\" == _n159.type && (t.offset >= _n159.offset && _i120 <= _o55 ? (t.nodesToHandle = 0, t.howMany = 0, t.offset = 0) : t.offset <= _n159.offset && _i120 >= _o55 && (_n159.howMany = 0));\n }\n }\n } catch (err) {\n _iterator238.e(err);\n } finally {\n _iterator238.f();\n }\n\n t.howMany = t.nodesToHandle, delete t.nodesToHandle;\n }\n }, {\n key: \"_getInsertDiff\",\n value: function _getInsertDiff(t, e, n) {\n return {\n type: \"insert\",\n position: As._createAt(t, e),\n name: n,\n length: 1,\n changeCount: this._changeCount++\n };\n }\n }, {\n key: \"_getRemoveDiff\",\n value: function _getRemoveDiff(t, e, n) {\n return {\n type: \"remove\",\n position: As._createAt(t, e),\n name: n,\n length: 1,\n changeCount: this._changeCount++\n };\n }\n }, {\n key: \"_getAttributesDiff\",\n value: function _getAttributesDiff(t, e, n) {\n var i = [];\n n = new Map(n);\n\n var _iterator239 = _createForOfIteratorHelper(e),\n _step239;\n\n try {\n for (_iterator239.s(); !(_step239 = _iterator239.n()).done;) {\n var _ref87 = _step239.value;\n\n var _ref84 = _slicedToArray(_ref87, 2);\n\n var _o59 = _ref84[0];\n var _r23 = _ref84[1];\n\n var _e172 = n.has(_o59) ? n.get(_o59) : null;\n\n _e172 !== _r23 && i.push({\n type: \"attribute\",\n position: t.start,\n range: t.clone(),\n length: 1,\n attributeKey: _o59,\n attributeOldValue: _r23,\n attributeNewValue: _e172,\n changeCount: this._changeCount++\n }), n[\"delete\"](_o59);\n }\n } catch (err) {\n _iterator239.e(err);\n } finally {\n _iterator239.f();\n }\n\n var _iterator240 = _createForOfIteratorHelper(n),\n _step240;\n\n try {\n for (_iterator240.s(); !(_step240 = _iterator240.n()).done;) {\n var _ref88 = _step240.value;\n\n var _ref86 = _slicedToArray(_ref88, 2);\n\n var _e173 = _ref86[0];\n var _o60 = _ref86[1];\n i.push({\n type: \"attribute\",\n position: t.start,\n range: t.clone(),\n length: 1,\n attributeKey: _e173,\n attributeOldValue: null,\n attributeNewValue: _o60,\n changeCount: this._changeCount++\n });\n }\n } catch (err) {\n _iterator240.e(err);\n } finally {\n _iterator240.f();\n }\n\n return i;\n }\n }, {\n key: \"_isInInsertedElement\",\n value: function _isInInsertedElement(t) {\n var e = t.parent;\n if (!e) return !1;\n\n var n = this._changesInElement.get(e),\n i = t.startOffset;\n\n if (n) {\n var _iterator241 = _createForOfIteratorHelper(n),\n _step241;\n\n try {\n for (_iterator241.s(); !(_step241 = _iterator241.n()).done;) {\n var _t177 = _step241.value;\n if (\"insert\" == _t177.type && i >= _t177.offset && i < _t177.offset + _t177.howMany) return !0;\n }\n } catch (err) {\n _iterator241.e(err);\n } finally {\n _iterator241.f();\n }\n }\n\n return this._isInInsertedElement(e);\n }\n }, {\n key: \"_removeAllNestedChanges\",\n value: function _removeAllNestedChanges(t, e, n) {\n var i = new Ss(As._createAt(t, e), As._createAt(t, e + n));\n\n var _iterator242 = _createForOfIteratorHelper(i.getItems({\n shallow: !0\n })),\n _step242;\n\n try {\n for (_iterator242.s(); !(_step242 = _iterator242.n()).done;) {\n var _t178 = _step242.value;\n _t178.is(\"element\") && (this._elementSnapshots[\"delete\"](_t178), this._changesInElement[\"delete\"](_t178), this._removeAllNestedChanges(_t178, 0, _t178.maxOffset));\n }\n } catch (err) {\n _iterator242.e(err);\n } finally {\n _iterator242.f();\n }\n }\n }, {\n key: \"isEmpty\",\n get: function get() {\n return 0 == this._changesInElement.size && 0 == this._changedMarkers.size;\n }\n }]);\n\n return ac;\n }();\n\n function cc(t) {\n var e = [];\n\n var _iterator243 = _createForOfIteratorHelper(t),\n _step243;\n\n try {\n for (_iterator243.s(); !(_step243 = _iterator243.n()).done;) {\n var _n160 = _step243.value;\n if (_n160.is(\"$text\")) for (var _t179 = 0; _t179 < _n160.data.length; _t179++) {\n e.push({\n name: \"$text\",\n attributes: new Map(_n160.getAttributes())\n });\n } else e.push({\n name: _n160.name,\n attributes: new Map(_n160.getAttributes())\n });\n }\n } catch (err) {\n _iterator243.e(err);\n } finally {\n _iterator243.f();\n }\n\n return e;\n }\n\n function lc(t, e) {\n var n = [];\n var i = 0,\n o = 0;\n\n var _iterator244 = _createForOfIteratorHelper(e),\n _step244;\n\n try {\n for (_iterator244.s(); !(_step244 = _iterator244.n()).done;) {\n var _t180 = _step244.value;\n\n if (_t180.offset > i) {\n for (var _e175 = 0; _e175 < _t180.offset - i; _e175++) {\n n.push(\"e\");\n }\n\n o += _t180.offset - i;\n }\n\n if (\"insert\" == _t180.type) {\n for (var _e176 = 0; _e176 < _t180.howMany; _e176++) {\n n.push(\"i\");\n }\n\n i = _t180.offset + _t180.howMany;\n } else if (\"remove\" == _t180.type) {\n for (var _e177 = 0; _e177 < _t180.howMany; _e177++) {\n n.push(\"r\");\n }\n\n i = _t180.offset, o += _t180.howMany;\n } else n.push.apply(n, _toConsumableArray(\"a\".repeat(_t180.howMany).split(\"\"))), i = _t180.offset + _t180.howMany, o += _t180.howMany;\n }\n } catch (err) {\n _iterator244.e(err);\n } finally {\n _iterator244.f();\n }\n\n if (o < t) for (var _e174 = 0; _e174 < t - o - i; _e174++) {\n n.push(\"e\");\n }\n return n;\n }\n\n function dc(t) {\n var e = t.position && \"$graveyard\" == t.position.root.rootName,\n n = t.range && \"$graveyard\" == t.range.root.rootName;\n return !e && !n;\n }\n\n var uc = /*#__PURE__*/function () {\n function uc() {\n _classCallCheck(this, uc);\n\n this._operations = [], this._undoPairs = new Map(), this._undoneOperations = new Set();\n }\n\n _createClass(uc, [{\n key: \"addOperation\",\n value: function addOperation(t) {\n this._operations.includes(t) || this._operations.push(t);\n }\n }, {\n key: \"getOperations\",\n value: function getOperations() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.NEGATIVE_INFINITY;\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.POSITIVE_INFINITY;\n var n = [];\n\n var _iterator245 = _createForOfIteratorHelper(this._operations),\n _step245;\n\n try {\n for (_iterator245.s(); !(_step245 = _iterator245.n()).done;) {\n var _i122 = _step245.value;\n _i122.baseVersion >= t && _i122.baseVersion < e && n.push(_i122);\n }\n } catch (err) {\n _iterator245.e(err);\n } finally {\n _iterator245.f();\n }\n\n return n;\n }\n }, {\n key: \"getOperation\",\n value: function getOperation(t) {\n var _iterator246 = _createForOfIteratorHelper(this._operations),\n _step246;\n\n try {\n for (_iterator246.s(); !(_step246 = _iterator246.n()).done;) {\n var _e178 = _step246.value;\n if (_e178.baseVersion == t) return _e178;\n }\n } catch (err) {\n _iterator246.e(err);\n } finally {\n _iterator246.f();\n }\n }\n }, {\n key: \"setOperationAsUndone\",\n value: function setOperationAsUndone(t, e) {\n this._undoPairs.set(e, t), this._undoneOperations.add(t);\n }\n }, {\n key: \"isUndoingOperation\",\n value: function isUndoingOperation(t) {\n return this._undoPairs.has(t);\n }\n }, {\n key: \"isUndoneOperation\",\n value: function isUndoneOperation(t) {\n return this._undoneOperations.has(t);\n }\n }, {\n key: \"getUndoneOperation\",\n value: function getUndoneOperation(t) {\n return this._undoPairs.get(t);\n }\n }]);\n\n return uc;\n }();\n\n function hc(t, e) {\n return !!(n = t.charAt(e - 1)) && 1 == n.length && /[\\ud800-\\udbff]/.test(n) && function (t) {\n return !!t && 1 == t.length && /[\\udc00-\\udfff]/.test(t);\n }(t.charAt(e));\n var n;\n }\n\n function fc(t, e) {\n return !!(n = t.charAt(e)) && 1 == n.length && /[\\u0300-\\u036f\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\u20d0-\\u20ff\\ufe20-\\ufe2f]/.test(n);\n var n;\n }\n\n var mc = /*#__PURE__*/function () {\n function mc(t) {\n var _this68 = this;\n\n _classCallCheck(this, mc);\n\n this.model = t, this.version = 0, this.history = new uc(this), this.selection = new Ws(this), this.roots = new An({\n idProperty: \"rootName\"\n }), this.differ = new ac(t.markers), this._postFixers = new Set(), this._hasSelectionChangedFromTheLastChangeBlock = !1, this.createRoot(\"$root\", \"$graveyard\"), this.listenTo(t, \"applyOperation\", function (t, e) {\n var n = e[0];\n if (n.isDocumentOperation && n.baseVersion !== _this68.version) throw new hn.a(\"model-document-applyoperation-wrong-version\", _this68, {\n operation: n\n });\n }, {\n priority: \"highest\"\n }), this.listenTo(t, \"applyOperation\", function (t, e) {\n var n = e[0];\n n.isDocumentOperation && _this68.differ.bufferOperation(n);\n }, {\n priority: \"high\"\n }), this.listenTo(t, \"applyOperation\", function (t, e) {\n var n = e[0];\n n.isDocumentOperation && (_this68.version++, _this68.history.addOperation(n));\n }, {\n priority: \"low\"\n }), this.listenTo(this.selection, \"change\", function () {\n _this68._hasSelectionChangedFromTheLastChangeBlock = !0;\n }), this.listenTo(t.markers, \"update\", function (t, e, n, i) {\n _this68.differ.bufferMarkerChange(e.name, n, i, e.affectsData), null === n && e.on(\"change\", function (t, n) {\n _this68.differ.bufferMarkerChange(e.name, n, e.getRange(), e.affectsData);\n });\n });\n }\n\n _createClass(mc, [{\n key: \"createRoot\",\n value: function createRoot() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"$root\";\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"main\";\n if (this.roots.get(e)) throw new hn.a(\"model-document-createroot-name-exists\", this, {\n name: e\n });\n var n = new tc(this, t, e);\n return this.roots.add(n), n;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.selection.destroy(), this.stopListening();\n }\n }, {\n key: \"getRoot\",\n value: function getRoot() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"main\";\n return this.roots.get(t);\n }\n }, {\n key: \"getRootNames\",\n value: function getRootNames() {\n return Array.from(this.roots, function (t) {\n return t.rootName;\n }).filter(function (t) {\n return \"$graveyard\" != t;\n });\n }\n }, {\n key: \"registerPostFixer\",\n value: function registerPostFixer(t) {\n this._postFixers.add(t);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var t = Nn(this);\n return t.selection = \"[engine.model.DocumentSelection]\", t.model = \"[engine.model.Model]\", t;\n }\n }, {\n key: \"_handleChangeBlock\",\n value: function _handleChangeBlock(t) {\n this._hasDocumentChangedFromTheLastChangeBlock() && (this._callPostFixers(t), this.selection.refresh(), this.differ.hasDataChanges() ? this.fire(\"change:data\", t.batch) : this.fire(\"change\", t.batch), this.selection.refresh(), this.differ.reset()), this._hasSelectionChangedFromTheLastChangeBlock = !1;\n }\n }, {\n key: \"_hasDocumentChangedFromTheLastChangeBlock\",\n value: function _hasDocumentChangedFromTheLastChangeBlock() {\n return !this.differ.isEmpty || this._hasSelectionChangedFromTheLastChangeBlock;\n }\n }, {\n key: \"_getDefaultRoot\",\n value: function _getDefaultRoot() {\n var _iterator247 = _createForOfIteratorHelper(this.roots),\n _step247;\n\n try {\n for (_iterator247.s(); !(_step247 = _iterator247.n()).done;) {\n var _t181 = _step247.value;\n if (_t181 !== this.graveyard) return _t181;\n }\n } catch (err) {\n _iterator247.e(err);\n } finally {\n _iterator247.f();\n }\n\n return this.graveyard;\n }\n }, {\n key: \"_getDefaultRange\",\n value: function _getDefaultRange() {\n var t = this._getDefaultRoot(),\n e = this.model,\n n = e.schema,\n i = e.createPositionFromPath(t, [0]);\n\n return n.getNearestSelectionRange(i) || e.createRange(i);\n }\n }, {\n key: \"_validateSelectionRange\",\n value: function _validateSelectionRange(t) {\n return gc(t.start) && gc(t.end);\n }\n }, {\n key: \"_callPostFixers\",\n value: function _callPostFixers(t) {\n var e = !1;\n\n do {\n var _iterator248 = _createForOfIteratorHelper(this._postFixers),\n _step248;\n\n try {\n for (_iterator248.s(); !(_step248 = _iterator248.n()).done;) {\n var _n161 = _step248.value;\n if (this.selection.refresh(), e = _n161(t), e) break;\n }\n } catch (err) {\n _iterator248.e(err);\n } finally {\n _iterator248.f();\n }\n } while (e);\n }\n }, {\n key: \"graveyard\",\n get: function get() {\n return this.getRoot(\"$graveyard\");\n }\n }]);\n\n return mc;\n }();\n\n function gc(t) {\n var e = t.textNode;\n\n if (e) {\n var _n162 = e.data,\n _i123 = t.offset - e.startOffset;\n\n return !hc(_n162, _i123) && !fc(_n162, _i123);\n }\n\n return !0;\n }\n\n xn(mc, gn);\n\n var pc = /*#__PURE__*/function () {\n function pc() {\n _classCallCheck(this, pc);\n\n this._markers = new Map();\n }\n\n _createClass(pc, [{\n key: Symbol.iterator,\n value: function value() {\n return this._markers.values();\n }\n }, {\n key: \"has\",\n value: function has(t) {\n return this._markers.has(t);\n }\n }, {\n key: \"get\",\n value: function get(t) {\n return this._markers.get(t) || null;\n }\n }, {\n key: \"_set\",\n value: function _set(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n var i = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var o = t instanceof bc ? t.name : t;\n if (o.includes(\",\")) throw new hn.a(\"markercollection-incorrect-marker-name\", this);\n\n var r = this._markers.get(o);\n\n if (r) {\n var _t182 = r.getRange();\n\n var _s20 = !1;\n\n return _t182.isEqual(e) || (r._attachLiveRange(Fs.fromRange(e)), _s20 = !0), n != r.managedUsingOperations && (r._managedUsingOperations = n, _s20 = !0), \"boolean\" == typeof i && i != r.affectsData && (r._affectsData = i, _s20 = !0), _s20 && this.fire(\"update:\" + o, r, _t182, e), r;\n }\n\n var s = Fs.fromRange(e),\n a = new bc(o, s, n, i);\n return this._markers.set(o, a), this.fire(\"update:\" + o, a, null, e), a;\n }\n }, {\n key: \"_remove\",\n value: function _remove(t) {\n var e = t instanceof bc ? t.name : t,\n n = this._markers.get(e);\n\n return !!n && (this._markers[\"delete\"](e), this.fire(\"update:\" + e, n, n.getRange(), null), this._destroyMarker(n), !0);\n }\n }, {\n key: \"_refresh\",\n value: function _refresh(t) {\n var e = t instanceof bc ? t.name : t,\n n = this._markers.get(e);\n\n if (!n) throw new hn.a(\"markercollection-refresh-marker-not-exists\", this);\n var i = n.getRange();\n this.fire(\"update:\" + e, n, i, i, n.managedUsingOperations, n.affectsData);\n }\n }, {\n key: \"getMarkersAtPosition\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getMarkersAtPosition(t) {\n var _iterator249, _step249, _e179;\n\n return _regeneratorRuntime.wrap(function getMarkersAtPosition$(_context31) {\n while (1) {\n switch (_context31.prev = _context31.next) {\n case 0:\n _iterator249 = _createForOfIteratorHelper(this);\n _context31.prev = 1;\n\n _iterator249.s();\n\n case 3:\n if ((_step249 = _iterator249.n()).done) {\n _context31.next = 11;\n break;\n }\n\n _e179 = _step249.value;\n _context31.t0 = _e179.getRange().containsPosition(t);\n\n if (!_context31.t0) {\n _context31.next = 9;\n break;\n }\n\n _context31.next = 9;\n return _e179;\n\n case 9:\n _context31.next = 3;\n break;\n\n case 11:\n _context31.next = 16;\n break;\n\n case 13:\n _context31.prev = 13;\n _context31.t1 = _context31[\"catch\"](1);\n\n _iterator249.e(_context31.t1);\n\n case 16:\n _context31.prev = 16;\n\n _iterator249.f();\n\n return _context31.finish(16);\n\n case 19:\n case \"end\":\n return _context31.stop();\n }\n }\n }, getMarkersAtPosition, this, [[1, 13, 16, 19]]);\n })\n }, {\n key: \"getMarkersIntersectingRange\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getMarkersIntersectingRange(t) {\n var _iterator250, _step250, _e180;\n\n return _regeneratorRuntime.wrap(function getMarkersIntersectingRange$(_context32) {\n while (1) {\n switch (_context32.prev = _context32.next) {\n case 0:\n _iterator250 = _createForOfIteratorHelper(this);\n _context32.prev = 1;\n\n _iterator250.s();\n\n case 3:\n if ((_step250 = _iterator250.n()).done) {\n _context32.next = 11;\n break;\n }\n\n _e180 = _step250.value;\n _context32.t0 = null !== _e180.getRange().getIntersection(t);\n\n if (!_context32.t0) {\n _context32.next = 9;\n break;\n }\n\n _context32.next = 9;\n return _e180;\n\n case 9:\n _context32.next = 3;\n break;\n\n case 11:\n _context32.next = 16;\n break;\n\n case 13:\n _context32.prev = 13;\n _context32.t1 = _context32[\"catch\"](1);\n\n _iterator250.e(_context32.t1);\n\n case 16:\n _context32.prev = 16;\n\n _iterator250.f();\n\n return _context32.finish(16);\n\n case 19:\n case \"end\":\n return _context32.stop();\n }\n }\n }, getMarkersIntersectingRange, this, [[1, 13, 16, 19]]);\n })\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _iterator251 = _createForOfIteratorHelper(this._markers.values()),\n _step251;\n\n try {\n for (_iterator251.s(); !(_step251 = _iterator251.n()).done;) {\n var _t183 = _step251.value;\n\n this._destroyMarker(_t183);\n }\n } catch (err) {\n _iterator251.e(err);\n } finally {\n _iterator251.f();\n }\n\n this._markers = null, this.stopListening();\n }\n }, {\n key: \"getMarkersGroup\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getMarkersGroup(t) {\n var _iterator252, _step252, _e181;\n\n return _regeneratorRuntime.wrap(function getMarkersGroup$(_context33) {\n while (1) {\n switch (_context33.prev = _context33.next) {\n case 0:\n _iterator252 = _createForOfIteratorHelper(this._markers.values());\n _context33.prev = 1;\n\n _iterator252.s();\n\n case 3:\n if ((_step252 = _iterator252.n()).done) {\n _context33.next = 11;\n break;\n }\n\n _e181 = _step252.value;\n _context33.t0 = _e181.name.startsWith(t + \":\");\n\n if (!_context33.t0) {\n _context33.next = 9;\n break;\n }\n\n _context33.next = 9;\n return _e181;\n\n case 9:\n _context33.next = 3;\n break;\n\n case 11:\n _context33.next = 16;\n break;\n\n case 13:\n _context33.prev = 13;\n _context33.t1 = _context33[\"catch\"](1);\n\n _iterator252.e(_context33.t1);\n\n case 16:\n _context33.prev = 16;\n\n _iterator252.f();\n\n return _context33.finish(16);\n\n case 19:\n case \"end\":\n return _context33.stop();\n }\n }\n }, getMarkersGroup, this, [[1, 13, 16, 19]]);\n })\n }, {\n key: \"_destroyMarker\",\n value: function _destroyMarker(t) {\n t.stopListening(), t._detachLiveRange();\n }\n }]);\n\n return pc;\n }();\n\n xn(pc, gn);\n\n var bc = /*#__PURE__*/function () {\n function bc(t, e, n, i) {\n _classCallCheck(this, bc);\n\n this.name = t, this._liveRange = this._attachLiveRange(e), this._managedUsingOperations = n, this._affectsData = i;\n }\n\n _createClass(bc, [{\n key: \"getStart\",\n value: function getStart() {\n if (!this._liveRange) throw new hn.a(\"marker-destroyed\", this);\n return this._liveRange.start.clone();\n }\n }, {\n key: \"getEnd\",\n value: function getEnd() {\n if (!this._liveRange) throw new hn.a(\"marker-destroyed\", this);\n return this._liveRange.end.clone();\n }\n }, {\n key: \"getRange\",\n value: function getRange() {\n if (!this._liveRange) throw new hn.a(\"marker-destroyed\", this);\n return this._liveRange.toRange();\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"marker\" === t || \"model:marker\" === t;\n }\n }, {\n key: \"_attachLiveRange\",\n value: function _attachLiveRange(t) {\n return this._liveRange && this._detachLiveRange(), t.delegate(\"change:range\").to(this), t.delegate(\"change:content\").to(this), this._liveRange = t, t;\n }\n }, {\n key: \"_detachLiveRange\",\n value: function _detachLiveRange() {\n this._liveRange.stopDelegating(\"change:range\", this), this._liveRange.stopDelegating(\"change:content\", this), this._liveRange.detach(), this._liveRange = null;\n }\n }, {\n key: \"managedUsingOperations\",\n get: function get() {\n if (!this._liveRange) throw new hn.a(\"marker-destroyed\", this);\n return this._managedUsingOperations;\n }\n }, {\n key: \"affectsData\",\n get: function get() {\n if (!this._liveRange) throw new hn.a(\"marker-destroyed\", this);\n return this._affectsData;\n }\n }]);\n\n return bc;\n }();\n\n xn(bc, gn);\n\n var wc = /*#__PURE__*/function (_Da10) {\n _inherits(wc, _Da10);\n\n var _super35 = _createSuper(wc);\n\n function wc() {\n _classCallCheck(this, wc);\n\n return _super35.apply(this, arguments);\n }\n\n _createClass(wc, [{\n key: \"clone\",\n value: function clone() {\n return new wc(this.baseVersion);\n }\n }, {\n key: \"getReversed\",\n value: function getReversed() {\n return new wc(this.baseVersion + 1);\n }\n }, {\n key: \"_execute\",\n value: function _execute() {}\n }, {\n key: \"type\",\n get: function get() {\n return \"noop\";\n }\n }], [{\n key: \"className\",\n get: function get() {\n return \"NoOperation\";\n }\n }]);\n\n return wc;\n }(Da);\n\n var kc = {};\n kc[qa.className] = qa, kc[Ga.className] = Ga, kc[Ka.className] = Ka, kc[Ya.className] = Ya, kc[wc.className] = wc, kc[Da.className] = Da, kc[Qa.className] = Qa, kc[Ja.className] = Ja, kc[Xa.className] = Xa, kc[Za.className] = Za;\n\n var _c = /*#__PURE__*/function (_As) {\n _inherits(_c, _As);\n\n var _super36 = _createSuper(_c);\n\n function _c(t, e) {\n var _this69;\n\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"toNone\";\n\n _classCallCheck(this, _c);\n\n if (_this69 = _super36.call(this, t, e, n), !_this69.root.is(\"rootElement\")) throw new hn.a(\"model-liveposition-root-not-rootelement\", t);\n vc.call(_assertThisInitialized(_this69));\n return _possibleConstructorReturn(_this69);\n }\n\n _createClass(_c, [{\n key: \"detach\",\n value: function detach() {\n this.stopListening();\n }\n }, {\n key: \"is\",\n value: function is(t) {\n return \"livePosition\" === t || \"model:livePosition\" === t || \"position\" == t || \"model:position\" === t;\n }\n }, {\n key: \"toPosition\",\n value: function toPosition() {\n return new As(this.root, this.path.slice(), this.stickiness);\n }\n }], [{\n key: \"fromPosition\",\n value: function fromPosition(t, e) {\n return new this(t.root, t.path.slice(), e || t.stickiness);\n }\n }]);\n\n return _c;\n }(As);\n\n function vc() {\n var _this70 = this;\n\n this.listenTo(this.root.document.model, \"applyOperation\", function (t, e) {\n var n = e[0];\n n.isDocumentOperation && yc.call(_this70, n);\n }, {\n priority: \"low\"\n });\n }\n\n function yc(t) {\n var e = this.getTransformedByOperation(t);\n\n if (!this.isEqual(e)) {\n var _t184 = this.toPosition();\n\n this.path = e.path, this.root = e.root, this.fire(\"change\", _t184);\n }\n }\n\n xn(_c, gn);\n\n var xc = /*#__PURE__*/function () {\n function xc(t, e, n) {\n _classCallCheck(this, xc);\n\n this.model = t, this.writer = e, this.position = n, this.canMergeWith = new Set([this.position.parent]), this.schema = t.schema, this._filterAttributesOf = [], this._affectedStart = null, this._affectedEnd = null;\n }\n\n _createClass(xc, [{\n key: \"handleNodes\",\n value: function handleNodes(t, e) {\n t = Array.from(t);\n\n for (var _n163 = 0; _n163 < t.length; _n163++) {\n var _i124 = t[_n163];\n\n this._handleNode(_i124, {\n isFirst: 0 === _n163 && e.isFirst,\n isLast: _n163 === t.length - 1 && e.isLast\n });\n }\n\n this.schema.removeDisallowedAttributes(this._filterAttributesOf, this.writer), this._filterAttributesOf = [];\n }\n }, {\n key: \"getSelectionRange\",\n value: function getSelectionRange() {\n return this.nodeToSelect ? Ss._createOn(this.nodeToSelect) : this.model.schema.getNearestSelectionRange(this.position);\n }\n }, {\n key: \"getAffectedRange\",\n value: function getAffectedRange() {\n return this._affectedStart ? new Ss(this._affectedStart, this._affectedEnd) : null;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._affectedStart && this._affectedStart.detach(), this._affectedEnd && this._affectedEnd.detach();\n }\n }, {\n key: \"_handleNode\",\n value: function _handleNode(t, e) {\n if (this.schema.isObject(t)) return void this._handleObject(t, e);\n this._checkAndSplitToAllowedPosition(t, e) ? (this._insert(t), this._mergeSiblingsOf(t, e)) : this._handleDisallowedNode(t, e);\n }\n }, {\n key: \"_handleObject\",\n value: function _handleObject(t, e) {\n this._checkAndSplitToAllowedPosition(t) ? this._insert(t) : this._tryAutoparagraphing(t, e);\n }\n }, {\n key: \"_handleDisallowedNode\",\n value: function _handleDisallowedNode(t, e) {\n t.is(\"element\") ? this.handleNodes(t.getChildren(), e) : this._tryAutoparagraphing(t, e);\n }\n }, {\n key: \"_insert\",\n value: function _insert(t) {\n if (!this.schema.checkChild(this.position, t)) throw new hn.a(\"insertcontent-wrong-position\", this, {\n node: t,\n position: this.position\n });\n\n var e = _c.fromPosition(this.position, \"toNext\");\n\n this._setAffectedBoundaries(this.position), this.writer.insert(t, this.position), this.position = e.toPosition(), e.detach(), this.schema.isObject(t) && !this.schema.checkChild(this.position, \"$text\") ? this.nodeToSelect = t : this.nodeToSelect = null, this._filterAttributesOf.push(t);\n }\n }, {\n key: \"_setAffectedBoundaries\",\n value: function _setAffectedBoundaries(t) {\n this._affectedStart || (this._affectedStart = _c.fromPosition(t, \"toPrevious\")), this._affectedEnd && !this._affectedEnd.isBefore(t) || (this._affectedEnd && this._affectedEnd.detach(), this._affectedEnd = _c.fromPosition(t, \"toNext\"));\n }\n }, {\n key: \"_mergeSiblingsOf\",\n value: function _mergeSiblingsOf(t, e) {\n if (!(t instanceof vs)) return;\n\n var n = this._canMergeLeft(t, e),\n i = this._canMergeRight(t, e),\n o = _c._createBefore(t);\n\n o.stickiness = \"toNext\";\n\n var r = _c._createAfter(t);\n\n if (r.stickiness = \"toNext\", n) {\n var _t185 = _c.fromPosition(this.position);\n\n _t185.stickiness = \"toNext\", this._affectedStart.isEqual(o) && (this._affectedStart.detach(), this._affectedStart = _c._createAt(o.nodeBefore, \"end\", \"toPrevious\")), this.writer.merge(o), o.isEqual(this._affectedEnd) && e.isLast && (this._affectedEnd.detach(), this._affectedEnd = _c._createAt(o.nodeBefore, \"end\", \"toNext\")), this.position = _t185.toPosition(), _t185.detach();\n }\n\n if (i) {\n if (!this.position.isEqual(r)) throw new hn.a(\"insertcontent-invalid-insertion-position\", this);\n this.position = As._createAt(r.nodeBefore, \"end\");\n\n var _t186 = _c.fromPosition(this.position, \"toPrevious\");\n\n this._affectedEnd.isEqual(r) && (this._affectedEnd.detach(), this._affectedEnd = _c._createAt(r.nodeBefore, \"end\", \"toNext\")), this.writer.merge(r), r.getShiftedBy(-1).isEqual(this._affectedStart) && e.isFirst && (this._affectedStart.detach(), this._affectedStart = _c._createAt(r.nodeBefore, 0, \"toPrevious\")), this.position = _t186.toPosition(), _t186.detach();\n }\n\n (n || i) && this._filterAttributesOf.push(this.position.parent), o.detach(), r.detach();\n }\n }, {\n key: \"_canMergeLeft\",\n value: function _canMergeLeft(t, e) {\n var n = t.previousSibling;\n return e.isFirst && n instanceof vs && this.canMergeWith.has(n) && this.model.schema.checkMerge(n, t);\n }\n }, {\n key: \"_canMergeRight\",\n value: function _canMergeRight(t, e) {\n var n = t.nextSibling;\n return e.isLast && n instanceof vs && this.canMergeWith.has(n) && this.model.schema.checkMerge(t, n);\n }\n }, {\n key: \"_tryAutoparagraphing\",\n value: function _tryAutoparagraphing(t, e) {\n var n = this.writer.createElement(\"paragraph\");\n this._getAllowedIn(n, this.position.parent) && this.schema.checkChild(n, t) && (n._appendChild(t), this._handleNode(n, e));\n }\n }, {\n key: \"_checkAndSplitToAllowedPosition\",\n value: function _checkAndSplitToAllowedPosition(t) {\n var e = this._getAllowedIn(t, this.position.parent);\n\n if (!e) return !1;\n\n for (; e != this.position.parent;) {\n if (this.schema.isLimit(this.position.parent)) return !1;\n\n if (this.position.isAtStart) {\n var _t187 = this.position.parent;\n this.position = this.writer.createPositionBefore(_t187), _t187.isEmpty && _t187.parent === e && this.writer.remove(_t187);\n } else if (this.position.isAtEnd) this.position = this.writer.createPositionAfter(this.position.parent);else {\n var _t188 = this.writer.createPositionAfter(this.position.parent);\n\n this._setAffectedBoundaries(this.position), this.writer.split(this.position), this.position = _t188, this.canMergeWith.add(this.position.nodeAfter);\n }\n }\n\n return !0;\n }\n }, {\n key: \"_getAllowedIn\",\n value: function _getAllowedIn(t, e) {\n return this.schema.checkChild(e, t) ? e : e.parent ? this._getAllowedIn(t, e.parent) : null;\n }\n }]);\n\n return xc;\n }();\n\n function Ac(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (e.isCollapsed) return;\n var i = e.getFirstRange();\n if (\"$graveyard\" == i.root.rootName) return;\n var o = t.schema;\n t.change(function (t) {\n if (!n.doNotResetEntireContent && function (t, e) {\n var n = t.getLimitElement(e);\n if (!e.containsEntireContent(n)) return !1;\n var i = e.getFirstRange();\n if (i.start.parent == i.end.parent) return !1;\n return t.checkChild(n, \"paragraph\");\n }(o, e)) return void function (t, e) {\n var n = t.model.schema.getLimitElement(e);\n t.remove(t.createRangeIn(n)), Tc(t, t.createPositionAt(n, 0), e);\n }(t, e);\n\n var _ref89 = function (t) {\n var e = t.root.document.model,\n n = t.start;\n var i = t.end;\n\n if (e.hasContent(t, {\n ignoreMarkers: !0\n })) {\n var _n164 = function (t) {\n var e = t.parent,\n n = e.root.document.model.schema,\n i = e.getAncestors({\n parentFirst: !0,\n includeSelf: !0\n });\n\n var _iterator253 = _createForOfIteratorHelper(i),\n _step253;\n\n try {\n for (_iterator253.s(); !(_step253 = _iterator253.n()).done;) {\n var _t189 = _step253.value;\n if (n.isLimit(_t189)) return null;\n if (n.isBlock(_t189)) return _t189;\n }\n } catch (err) {\n _iterator253.e(err);\n } finally {\n _iterator253.f();\n }\n }(i);\n\n if (_n164 && i.isTouching(e.createPositionAt(_n164, 0))) {\n var _n165 = e.createSelection(t);\n\n e.modifySelection(_n165, {\n direction: \"backward\"\n }), i = _n165.getLastPosition();\n }\n }\n\n return [_c.fromPosition(n, \"toPrevious\"), _c.fromPosition(i, \"toNext\")];\n }(i),\n _ref90 = _slicedToArray(_ref89, 2),\n r = _ref90[0],\n s = _ref90[1];\n\n r.isTouching(s) || t.remove(t.createRange(r, s)), n.leaveUnmerged || (!function (t, e, n) {\n var i = t.model;\n if (!Cc(t.model.schema, e, n)) return;\n\n var _ref91 = function (t, e) {\n var n = t.getAncestors(),\n i = e.getAncestors();\n var o = 0;\n\n for (; n[o] && n[o] == i[o];) {\n o++;\n }\n\n return [n[o], i[o]];\n }(e, n),\n _ref92 = _slicedToArray(_ref91, 2),\n o = _ref92[0],\n r = _ref92[1];\n\n !i.hasContent(o, {\n ignoreMarkers: !0\n }) && i.hasContent(r, {\n ignoreMarkers: !0\n }) ? function t(e, n, i, o) {\n var r = n.parent,\n s = i.parent;\n if (r == o || s == o) return;\n n = e.createPositionAfter(r), (i = e.createPositionBefore(s)).isEqual(n) || e.insert(r, i);\n\n for (; n.parent.isEmpty;) {\n var _t190 = n.parent;\n n = e.createPositionBefore(_t190), e.remove(_t190);\n }\n\n if (i = e.createPositionBefore(s), function (t, e) {\n var n = e.nodeBefore,\n i = e.nodeAfter;\n n.name != i.name && t.rename(n, i.name);\n t.clearAttributes(n), t.setAttributes(Object.fromEntries(i.getAttributes()), n), t.merge(e);\n }(e, i), !Cc(e.model.schema, n, i)) return;\n t(e, n, i, o);\n }(t, e, n, o.parent) : function t(e, n, i, o) {\n var r = n.parent,\n s = i.parent;\n if (r == o || s == o) return;\n n = e.createPositionAfter(r), (i = e.createPositionBefore(s)).isEqual(n) || e.insert(s, n);\n e.merge(n);\n\n for (; i.parent.isEmpty;) {\n var _t191 = i.parent;\n i = e.createPositionBefore(_t191), e.remove(_t191);\n }\n\n if (!Cc(e.model.schema, n, i)) return;\n t(e, n, i, o);\n }(t, e, n, o.parent);\n }(t, r, s), o.removeDisallowedAttributes(r.parent.getChildren(), t)), Pc(t, e, r), !n.doNotAutoparagraph && function (t, e) {\n var n = t.checkChild(e, \"$text\"),\n i = t.checkChild(e, \"paragraph\");\n return !n && i;\n }(o, r) && Tc(t, r, e), r.detach(), s.detach();\n });\n }\n\n function Cc(t, e, n) {\n var i = e.parent,\n o = n.parent;\n return i != o && !t.isLimit(i) && !t.isLimit(o) && function (t, e, n) {\n var i = new Ss(t, e);\n\n var _iterator254 = _createForOfIteratorHelper(i.getWalker()),\n _step254;\n\n try {\n for (_iterator254.s(); !(_step254 = _iterator254.n()).done;) {\n var _t192 = _step254.value;\n if (n.isLimit(_t192.item)) return !1;\n }\n } catch (err) {\n _iterator254.e(err);\n } finally {\n _iterator254.f();\n }\n\n return !0;\n }(e, n, t);\n }\n\n function Tc(t, e, n) {\n var i = t.createElement(\"paragraph\");\n t.insert(i, e), Pc(t, n, t.createPositionAt(i, 0));\n }\n\n function Pc(t, e, n) {\n e instanceof Ws ? t.setSelection(n) : e.setTo(n);\n }\n\n function Sc(t, e) {\n var n = t.isForward,\n i = t.walker,\n o = t.unit,\n r = t.schema,\n s = e.type,\n a = e.item,\n c = e.nextPosition;\n if (\"text\" == s) return \"word\" === t.unit ? function (t, e) {\n var n = t.position.textNode;\n\n if (n) {\n var _i125 = t.position.offset - n.startOffset;\n\n for (; !Mc(n.data, _i125, e) && !Ic(n, _i125, e);) {\n t.next();\n\n var _o61 = e ? t.position.nodeAfter : t.position.nodeBefore;\n\n if (_o61 && _o61.is(\"$text\")) {\n var _i126 = _o61.data.charAt(e ? 0 : _o61.data.length - 1);\n\n ' ,.?!:;\"-()'.includes(_i126) || (t.next(), n = t.position.textNode);\n }\n\n _i125 = t.position.offset - n.startOffset;\n }\n }\n\n return t.position;\n }(i, n) : function (t, e) {\n var n = t.position.textNode;\n\n if (n) {\n var _i127 = n.data;\n\n var _o62 = t.position.offset - n.startOffset;\n\n for (; hc(_i127, _o62) || \"character\" == e && fc(_i127, _o62);) {\n t.next(), _o62 = t.position.offset - n.startOffset;\n }\n }\n\n return t.position;\n }(i, o);\n\n if (s == (n ? \"elementStart\" : \"elementEnd\")) {\n if (r.isSelectable(a)) return As._createAt(a, n ? \"after\" : \"before\");\n if (r.checkChild(c, \"$text\")) return c;\n } else {\n if (r.isLimit(a)) return void i.skip(function () {\n return !0;\n });\n if (r.checkChild(c, \"$text\")) return c;\n }\n }\n\n function Ec(t, e) {\n var n = t.root,\n i = As._createAt(n, e ? \"end\" : 0);\n\n return e ? new Ss(t, i) : new Ss(i, t);\n }\n\n function Mc(t, e, n) {\n var i = e + (n ? 0 : -1);\n return ' ,.?!:;\"-()'.includes(t.charAt(i));\n }\n\n function Ic(t, e, n) {\n return e === (n ? t.endOffset : 0);\n }\n\n function Nc(t, e) {\n var n = [];\n Array.from(t.getItems({\n direction: \"backward\"\n })).map(function (t) {\n return e.createRangeOn(t);\n }).filter(function (e) {\n return (e.start.isAfter(t.start) || e.start.isEqual(t.start)) && (e.end.isBefore(t.end) || e.end.isEqual(t.end));\n }).forEach(function (t) {\n n.push(t.start.parent), e.remove(t);\n }), n.forEach(function (t) {\n var n = t;\n\n for (; n.parent && n.isEmpty;) {\n var _t193 = e.createRangeOn(n);\n\n n = n.parent, e.remove(_t193);\n }\n });\n }\n\n function Oc(t) {\n t.document.registerPostFixer(function (e) {\n return function (t, e) {\n var n = e.document.selection,\n i = e.schema,\n o = [];\n var r = !1;\n\n var _iterator255 = _createForOfIteratorHelper(n.getRanges()),\n _step255;\n\n try {\n for (_iterator255.s(); !(_step255 = _iterator255.n()).done;) {\n var _t195 = _step255.value;\n\n var _e182 = Rc(_t195, i);\n\n _e182 && !_e182.isEqual(_t195) ? (o.push(_e182), r = !0) : o.push(_t195);\n }\n } catch (err) {\n _iterator255.e(err);\n } finally {\n _iterator255.f();\n }\n\n r && t.setSelection(function (t) {\n var e = [];\n e.push(t.shift());\n\n var _iterator256 = _createForOfIteratorHelper(t),\n _step256;\n\n try {\n for (_iterator256.s(); !(_step256 = _iterator256.n()).done;) {\n var _n166 = _step256.value;\n\n var _t194 = e.pop();\n\n if (_n166.isIntersecting(_t194)) {\n var _i128 = _t194.start.isAfter(_n166.start) ? _n166.start : _t194.start,\n _o63 = _t194.end.isAfter(_n166.end) ? _t194.end : _n166.end,\n _r24 = new Ss(_i128, _o63);\n\n e.push(_r24);\n } else e.push(_t194), e.push(_n166);\n }\n } catch (err) {\n _iterator256.e(err);\n } finally {\n _iterator256.f();\n }\n\n return e;\n }(o), {\n backward: n.isBackward\n });\n }(e, t);\n });\n }\n\n function Rc(t, e) {\n return t.isCollapsed ? function (t, e) {\n var n = t.start,\n i = e.getNearestSelectionRange(n);\n if (!i) return null;\n if (!i.isCollapsed) return i;\n var o = i.start;\n if (n.isEqual(o)) return null;\n return new Ss(o);\n }(t, e) : function (t, e) {\n var n = t.start,\n i = t.end,\n o = e.checkChild(n, \"$text\"),\n r = e.checkChild(i, \"$text\"),\n s = e.getLimitElement(n),\n a = e.getLimitElement(i);\n\n if (s === a) {\n if (o && r) return null;\n\n if (function (t, e, n) {\n var i = t.nodeAfter && !n.isLimit(t.nodeAfter) || n.checkChild(t, \"$text\"),\n o = e.nodeBefore && !n.isLimit(e.nodeBefore) || n.checkChild(e, \"$text\");\n return i || o;\n }(n, i, e)) {\n var _t196 = n.nodeAfter && e.isSelectable(n.nodeAfter) ? null : e.getNearestSelectionRange(n, \"forward\"),\n _o64 = i.nodeBefore && e.isSelectable(i.nodeBefore) ? null : e.getNearestSelectionRange(i, \"backward\"),\n _r25 = _t196 ? _t196.start : n,\n _s21 = _o64 ? _o64.start : i;\n\n return new Ss(_r25, _s21);\n }\n }\n\n var c = s && !s.is(\"rootElement\"),\n l = a && !a.is(\"rootElement\");\n\n if (c || l) {\n var _t197 = n.nodeAfter && i.nodeBefore && n.nodeAfter.parent === i.nodeBefore.parent,\n _o65 = c && (!_t197 || !Lc(n.nodeAfter, e)),\n _r26 = l && (!_t197 || !Lc(i.nodeBefore, e));\n\n var _d2 = n,\n _u2 = i;\n return _o65 && (_d2 = As._createBefore(Dc(s, e))), _r26 && (_u2 = As._createAfter(Dc(a, e))), new Ss(_d2, _u2);\n }\n\n return null;\n }(t, e);\n }\n\n function Dc(t, e) {\n var n = t,\n i = n;\n\n for (; e.isLimit(i) && i.parent;) {\n n = i, i = i.parent;\n }\n\n return n;\n }\n\n function Lc(t, e) {\n return t && e.isSelectable(t);\n }\n\n var Vc = /*#__PURE__*/function () {\n function Vc() {\n var _this71 = this;\n\n _classCallCheck(this, Vc);\n\n this.markers = new pc(), this.document = new mc(this), this.schema = new pa(), this._pendingChanges = [], this._currentWriter = null, [\"insertContent\", \"deleteContent\", \"modifySelection\", \"getSelectedContent\", \"applyOperation\"].forEach(function (t) {\n return _this71.decorate(t);\n }), this.on(\"applyOperation\", function (t, e) {\n e[0]._validate();\n }, {\n priority: \"highest\"\n }), this.schema.register(\"$root\", {\n isLimit: !0\n }), this.schema.register(\"$block\", {\n allowIn: \"$root\",\n isBlock: !0\n }), this.schema.register(\"$text\", {\n allowIn: \"$block\",\n isInline: !0,\n isContent: !0\n }), this.schema.register(\"$clipboardHolder\", {\n allowContentOf: \"$root\",\n isLimit: !0\n }), this.schema.extend(\"$text\", {\n allowIn: \"$clipboardHolder\"\n }), this.schema.register(\"$marker\"), this.schema.addChildCheck(function (t, e) {\n if (\"$marker\" === e.name) return !0;\n }), Oc(this), this.document.registerPostFixer(na);\n }\n\n _createClass(Vc, [{\n key: \"change\",\n value: function change(t) {\n try {\n return 0 === this._pendingChanges.length ? (this._pendingChanges.push({\n batch: new Ra(),\n callback: t\n }), this._runPendingChanges()[0]) : t(this._currentWriter);\n } catch (t) {\n hn.a.rethrowUnexpectedError(t, this);\n }\n }\n }, {\n key: \"enqueueChange\",\n value: function enqueueChange(t, e) {\n try {\n \"string\" == typeof t ? t = new Ra(t) : \"function\" == typeof t && (e = t, t = new Ra()), this._pendingChanges.push({\n batch: t,\n callback: e\n }), 1 == this._pendingChanges.length && this._runPendingChanges();\n } catch (t) {\n hn.a.rethrowUnexpectedError(t, this);\n }\n }\n }, {\n key: \"applyOperation\",\n value: function applyOperation(t) {\n t._execute();\n }\n }, {\n key: \"insertContent\",\n value: function insertContent(t, e, n) {\n return function (t, e, n, i) {\n return t.change(function (o) {\n var r;\n r = n ? n instanceof Ls || n instanceof Ws ? n : o.createSelection(n, i) : t.document.selection, r.isCollapsed || t.deleteContent(r, {\n doNotAutoparagraph: !0\n });\n var s = new xc(t, o, r.anchor);\n var a;\n a = e.is(\"documentFragment\") ? e.getChildren() : [e], s.handleNodes(a, {\n isFirst: !0,\n isLast: !0\n });\n var c = s.getSelectionRange();\n c && (r instanceof Ws ? o.setSelection(c) : r.setTo(c));\n var l = s.getAffectedRange() || t.createRange(r.anchor);\n return s.destroy(), l;\n });\n }(this, t, e, n);\n }\n }, {\n key: \"deleteContent\",\n value: function deleteContent(t, e) {\n Ac(this, t, e);\n }\n }, {\n key: \"modifySelection\",\n value: function modifySelection(t, e) {\n !function (t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i = t.schema,\n o = \"backward\" != n.direction,\n r = n.unit ? n.unit : \"character\",\n s = e.focus,\n a = new ys({\n boundaries: Ec(s, o),\n singleCharacters: !0,\n direction: o ? \"forward\" : \"backward\"\n }),\n c = {\n walker: a,\n schema: i,\n isForward: o,\n unit: r\n };\n var l;\n\n var _loop3 = function _loop3() {\n if (l.done) return {\n v: void 0\n };\n var n = Sc(c, l.value);\n if (n) return {\n v: void (e instanceof Ws ? t.change(function (t) {\n t.setSelectionFocus(n);\n }) : e.setFocus(n))\n };\n };\n\n for (; l = a.next();) {\n var _ret2 = _loop3();\n\n if (_typeof(_ret2) === \"object\") return _ret2.v;\n }\n }(this, t, e);\n }\n }, {\n key: \"getSelectedContent\",\n value: function getSelectedContent(t) {\n return function (t, e) {\n return t.change(function (t) {\n var n = t.createDocumentFragment(),\n i = e.getFirstRange();\n if (!i || i.isCollapsed) return n;\n var o = i.start.root,\n r = i.start.getCommonPath(i.end),\n s = o.getNodeByPath(r);\n var a;\n a = i.start.parent == i.end.parent ? i : t.createRange(t.createPositionAt(s, i.start.path[r.length]), t.createPositionAt(s, i.end.path[r.length] + 1));\n var c = a.end.offset - a.start.offset;\n\n var _iterator257 = _createForOfIteratorHelper(a.getItems({\n shallow: !0\n })),\n _step257;\n\n try {\n for (_iterator257.s(); !(_step257 = _iterator257.n()).done;) {\n var _e184 = _step257.value;\n _e184.is(\"$textProxy\") ? t.appendText(_e184.data, _e184.getAttributes(), n) : t.append(t.cloneElement(_e184, !0), n);\n }\n } catch (err) {\n _iterator257.e(err);\n } finally {\n _iterator257.f();\n }\n\n if (a != i) {\n var _e183 = i._getTransformedByMove(a.start, t.createPositionAt(n, 0), c)[0],\n _o66 = t.createRange(t.createPositionAt(n, 0), _e183.start);\n\n Nc(t.createRange(_e183.end, t.createPositionAt(n, \"end\")), t), Nc(_o66, t);\n }\n\n return n;\n });\n }(this, t);\n }\n }, {\n key: \"hasContent\",\n value: function hasContent(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var n = t instanceof vs ? Ss._createIn(t) : t;\n if (n.isCollapsed) return !1;\n var _e$ignoreWhitespaces = e.ignoreWhitespaces,\n i = _e$ignoreWhitespaces === void 0 ? !1 : _e$ignoreWhitespaces,\n _e$ignoreMarkers = e.ignoreMarkers,\n o = _e$ignoreMarkers === void 0 ? !1 : _e$ignoreMarkers;\n\n if (!o) {\n var _iterator258 = _createForOfIteratorHelper(this.markers.getMarkersIntersectingRange(n)),\n _step258;\n\n try {\n for (_iterator258.s(); !(_step258 = _iterator258.n()).done;) {\n var _t198 = _step258.value;\n if (_t198.affectsData) return !0;\n }\n } catch (err) {\n _iterator258.e(err);\n } finally {\n _iterator258.f();\n }\n }\n\n var _iterator259 = _createForOfIteratorHelper(n.getItems()),\n _step259;\n\n try {\n for (_iterator259.s(); !(_step259 = _iterator259.n()).done;) {\n var _t199 = _step259.value;\n\n if (this.schema.isContent(_t199)) {\n if (!_t199.is(\"$textProxy\")) return !0;\n if (!i) return !0;\n if (-1 !== _t199.data.search(/\\S/)) return !0;\n }\n }\n } catch (err) {\n _iterator259.e(err);\n } finally {\n _iterator259.f();\n }\n\n return !1;\n }\n }, {\n key: \"createPositionFromPath\",\n value: function createPositionFromPath(t, e, n) {\n return new As(t, e, n);\n }\n }, {\n key: \"createPositionAt\",\n value: function createPositionAt(t, e) {\n return As._createAt(t, e);\n }\n }, {\n key: \"createPositionAfter\",\n value: function createPositionAfter(t) {\n return As._createAfter(t);\n }\n }, {\n key: \"createPositionBefore\",\n value: function createPositionBefore(t) {\n return As._createBefore(t);\n }\n }, {\n key: \"createRange\",\n value: function createRange(t, e) {\n return new Ss(t, e);\n }\n }, {\n key: \"createRangeIn\",\n value: function createRangeIn(t) {\n return Ss._createIn(t);\n }\n }, {\n key: \"createRangeOn\",\n value: function createRangeOn(t) {\n return Ss._createOn(t);\n }\n }, {\n key: \"createSelection\",\n value: function createSelection(t, e, n) {\n return new Ls(t, e, n);\n }\n }, {\n key: \"createBatch\",\n value: function createBatch(t) {\n return new Ra(t);\n }\n }, {\n key: \"createOperationFromJSON\",\n value: function createOperationFromJSON(t) {\n return /*#__PURE__*/function () {\n function _class() {\n _classCallCheck(this, _class);\n }\n\n _createClass(_class, null, [{\n key: \"fromJSON\",\n value: function fromJSON(t, e) {\n return kc[t.__className].fromJSON(t, e);\n }\n }]);\n\n return _class;\n }().fromJSON(t, this.document);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.document.destroy(), this.stopListening();\n }\n }, {\n key: \"_runPendingChanges\",\n value: function _runPendingChanges() {\n var t = [];\n\n for (this.fire(\"_beforeChanges\"); this._pendingChanges.length;) {\n var _e185 = this._pendingChanges[0].batch;\n this._currentWriter = new ec(this, _e185);\n\n var _n167 = this._pendingChanges[0].callback(this._currentWriter);\n\n t.push(_n167), this.document._handleChangeBlock(this._currentWriter), this._pendingChanges.shift(), this._currentWriter = null;\n }\n\n return this.fire(\"_afterChanges\"), t;\n }\n }]);\n\n return Vc;\n }();\n\n xn(Vc, Ui);\n\n var jc = /*#__PURE__*/function () {\n function jc() {\n _classCallCheck(this, jc);\n\n this._listener = Object.create(fr);\n }\n\n _createClass(jc, [{\n key: \"listenTo\",\n value: function listenTo(t) {\n var _this72 = this;\n\n this._listener.listenTo(t, \"keydown\", function (t, e) {\n _this72._listener.fire(\"_keydown:\" + po(e), e);\n });\n }\n }, {\n key: \"set\",\n value: function set(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i = bo(t),\n o = n.priority;\n\n this._listener.listenTo(this._listener, \"_keydown:\" + i, function (t, n) {\n e(n, function () {\n n.preventDefault(), n.stopPropagation(), t.stop();\n }), t[\"return\"] = !0;\n }, {\n priority: o\n });\n }\n }, {\n key: \"press\",\n value: function press(t) {\n return !!this._listener.fire(\"_keydown:\" + po(t), t);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._listener.stopListening();\n }\n }]);\n\n return jc;\n }();\n\n var zc = /*#__PURE__*/function (_jc) {\n _inherits(zc, _jc);\n\n var _super37 = _createSuper(zc);\n\n function zc(t) {\n var _this73;\n\n _classCallCheck(this, zc);\n\n _this73 = _super37.call(this), _this73.editor = t;\n return _this73;\n }\n\n _createClass(zc, [{\n key: \"set\",\n value: function set(t, e) {\n var _this74 = this;\n\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (\"string\" == typeof e) {\n var _t200 = e;\n\n e = function e(_e186, n) {\n _this74.editor.execute(_t200), n();\n };\n }\n\n _get(_getPrototypeOf(zc.prototype), \"set\", this).call(this, t, e, n);\n }\n }]);\n\n return zc;\n }(jc);\n\n var Bc = /*#__PURE__*/function () {\n function Bc() {\n var _this75 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Bc);\n\n this._context = t.context || new Mn({\n language: t.language\n }), this._context._addEditor(this, !t.context);\n var e = Array.from(this.constructor.builtinPlugins || []);\n this.config = new on(t, this.constructor.defaultConfig), this.config.define(\"plugins\", e), this.config.define(this._context._getEditorConfig()), this.plugins = new Cn(this, e, this._context.plugins), this.locale = this._context.locale, this.t = this.locale.t, this.commands = new fa(), this.set(\"state\", \"initializing\"), this.once(\"ready\", function () {\n return _this75.state = \"ready\";\n }, {\n priority: \"high\"\n }), this.once(\"destroy\", function () {\n return _this75.state = \"destroyed\";\n }, {\n priority: \"high\"\n }), this.set(\"isReadOnly\", !1), this.model = new Vc();\n var n = new Mi();\n this.data = new Ma(this.model, n), this.editing = new ha(this.model, n), this.editing.view.document.bind(\"isReadOnly\").to(this), this.conversion = new Ia([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 zc(this), this.keystrokes.listenTo(this.editing.view.document);\n }\n\n _createClass(Bc, [{\n key: \"initPlugins\",\n value: function initPlugins() {\n var t = this.config,\n e = t.get(\"plugins\"),\n n = t.get(\"removePlugins\") || [],\n i = t.get(\"extraPlugins\") || [];\n return this.plugins.init(e.concat(i), n);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _this76 = this;\n\n var t = Promise.resolve();\n return \"initializing\" == this.state && (t = new Promise(function (t) {\n return _this76.once(\"ready\", t);\n })), t.then(function () {\n _this76.fire(\"destroy\"), _this76.stopListening(), _this76.commands.destroy();\n }).then(function () {\n return _this76.plugins.destroy();\n }).then(function () {\n _this76.model.destroy(), _this76.data.destroy(), _this76.editing.destroy(), _this76.keystrokes.destroy();\n }).then(function () {\n return _this76._context._removeEditor(_this76);\n });\n }\n }, {\n key: \"execute\",\n value: function execute() {\n try {\n var _this$commands;\n\n return (_this$commands = this.commands).execute.apply(_this$commands, arguments);\n } catch (t) {\n hn.a.rethrowUnexpectedError(t, this);\n }\n }\n }]);\n\n return Bc;\n }();\n\n xn(Bc, Ui);\n var Fc = {\n setData: function setData(t) {\n this.data.set(t);\n },\n getData: function getData(t) {\n return this.data.get(t);\n }\n };\n var Uc = {\n updateSourceElement: function updateSourceElement() {\n if (!this.sourceElement) throw new hn.a(\"editor-missing-sourceelement\", this);\n var t, e;\n t = this.sourceElement, e = this.data.get(), t instanceof HTMLTextAreaElement && (t.value = e), t.innerHTML = e;\n }\n };\n\n var Hc = /*#__PURE__*/function () {\n function Hc() {\n _classCallCheck(this, Hc);\n }\n\n _createClass(Hc, [{\n key: \"getHtml\",\n value: function getHtml(t) {\n var e = document.implementation.createHTMLDocument(\"\").createElement(\"div\");\n return e.appendChild(t), e.innerHTML;\n }\n }]);\n\n return Hc;\n }();\n\n var Wc = /*#__PURE__*/function () {\n function Wc(t) {\n _classCallCheck(this, Wc);\n\n this._domParser = new DOMParser(), this._domConverter = new cr(t, {\n blockFillerMode: \"nbsp\"\n }), this._htmlWriter = new Hc();\n }\n\n _createClass(Wc, [{\n key: \"toData\",\n value: function toData(t) {\n var e = this._domConverter.viewToDom(t, document);\n\n return this._htmlWriter.getHtml(e);\n }\n }, {\n key: \"toView\",\n value: function toView(t) {\n var e = this._toDom(t);\n\n return this._domConverter.domToView(e);\n }\n }, {\n key: \"_toDom\",\n value: function _toDom(t) {\n var e = this._domParser.parseFromString(t, \"text/html\"),\n n = e.createDocumentFragment(),\n i = e.body.childNodes;\n\n for (; i.length > 0;) {\n n.appendChild(i[0]);\n }\n\n return n;\n }\n }]);\n\n return Wc;\n }();\n\n var qc = /*#__PURE__*/function () {\n function qc(t) {\n _classCallCheck(this, qc);\n\n this.editor = t, this._components = new Map();\n }\n\n _createClass(qc, [{\n key: \"names\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function names() {\n var _iterator260, _step260, _t201;\n\n return _regeneratorRuntime.wrap(function names$(_context34) {\n while (1) {\n switch (_context34.prev = _context34.next) {\n case 0:\n _iterator260 = _createForOfIteratorHelper(this._components.values());\n _context34.prev = 1;\n\n _iterator260.s();\n\n case 3:\n if ((_step260 = _iterator260.n()).done) {\n _context34.next = 9;\n break;\n }\n\n _t201 = _step260.value;\n _context34.next = 7;\n return _t201.originalName;\n\n case 7:\n _context34.next = 3;\n break;\n\n case 9:\n _context34.next = 14;\n break;\n\n case 11:\n _context34.prev = 11;\n _context34.t0 = _context34[\"catch\"](1);\n\n _iterator260.e(_context34.t0);\n\n case 14:\n _context34.prev = 14;\n\n _iterator260.f();\n\n return _context34.finish(14);\n\n case 17:\n case \"end\":\n return _context34.stop();\n }\n }\n }, names, this, [[1, 11, 14, 17]]);\n })\n }, {\n key: \"add\",\n value: function add(t, e) {\n this._components.set($c(t), {\n callback: e,\n originalName: t\n });\n }\n }, {\n key: \"create\",\n value: function create(t) {\n if (!this.has(t)) throw new hn.a(\"componentfactory-item-missing\", this, {\n name: t\n });\n return this._components.get($c(t)).callback(this.editor.locale);\n }\n }, {\n key: \"has\",\n value: function has(t) {\n return this._components.has($c(t));\n }\n }]);\n\n return qc;\n }();\n\n function $c(t) {\n return String(t).toLowerCase();\n }\n\n var Yc = /*#__PURE__*/function () {\n function Yc() {\n _classCallCheck(this, Yc);\n\n this.set(\"isFocused\", !1), this.set(\"focusedElement\", null), this._elements = new Set(), this._nextEventLoopTimeout = null;\n }\n\n _createClass(Yc, [{\n key: \"add\",\n value: function add(t) {\n var _this77 = this;\n\n if (this._elements.has(t)) throw new hn.a(\"focustracker-add-element-already-exist\", this);\n this.listenTo(t, \"focus\", function () {\n return _this77._focus(t);\n }, {\n useCapture: !0\n }), this.listenTo(t, \"blur\", function () {\n return _this77._blur();\n }, {\n useCapture: !0\n }), this._elements.add(t);\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n t === this.focusedElement && this._blur(t), this._elements.has(t) && (this.stopListening(t), this._elements[\"delete\"](t));\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }, {\n key: \"_focus\",\n value: function _focus(t) {\n clearTimeout(this._nextEventLoopTimeout), this.focusedElement = t, this.isFocused = !0;\n }\n }, {\n key: \"_blur\",\n value: function _blur() {\n var _this78 = this;\n\n clearTimeout(this._nextEventLoopTimeout), this._nextEventLoopTimeout = setTimeout(function () {\n _this78.focusedElement = null, _this78.isFocused = !1;\n }, 0);\n }\n }]);\n\n return Yc;\n }();\n\n xn(Yc, fr), xn(Yc, Ui);\n\n var Gc = /*#__PURE__*/function () {\n function Gc(t) {\n var _this79 = this;\n\n _classCallCheck(this, Gc);\n\n this.editor = t, this.componentFactory = new qc(t), this.focusTracker = new Yc(), this._editableElementsMap = new Map(), this.listenTo(t.editing.view.document, \"layoutChanged\", function () {\n return _this79.update();\n });\n }\n\n _createClass(Gc, [{\n key: \"update\",\n value: function update() {\n this.fire(\"update\");\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening(), this.focusTracker.destroy();\n\n var _iterator261 = _createForOfIteratorHelper(this._editableElementsMap.values()),\n _step261;\n\n try {\n for (_iterator261.s(); !(_step261 = _iterator261.n()).done;) {\n var _t202 = _step261.value;\n _t202.ckeditorInstance = null;\n }\n } catch (err) {\n _iterator261.e(err);\n } finally {\n _iterator261.f();\n }\n\n this._editableElementsMap = new Map();\n }\n }, {\n key: \"setEditableElement\",\n value: function setEditableElement(t, e) {\n this._editableElementsMap.set(t, e), e.ckeditorInstance || (e.ckeditorInstance = this.editor);\n }\n }, {\n key: \"getEditableElement\",\n value: function getEditableElement() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"main\";\n return this._editableElementsMap.get(t);\n }\n }, {\n key: \"getEditableElementsNames\",\n value: function getEditableElementsNames() {\n return this._editableElementsMap.keys();\n }\n }, {\n key: \"element\",\n get: function get() {\n return null;\n }\n }, {\n key: \"_editableElements\",\n get: function get() {\n return console.warn(\"editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.\", {\n editorUI: this\n }), this._editableElementsMap;\n }\n }]);\n\n return Gc;\n }();\n\n xn(Gc, gn);\n n(14);\n var Kc = new WeakMap();\n\n function Qc(t) {\n var e = t.view,\n n = t.element,\n i = t.text,\n _t$isDirectHost = t.isDirectHost,\n o = _t$isDirectHost === void 0 ? !0 : _t$isDirectHost,\n r = e.document;\n Kc.has(r) || (Kc.set(r, new Map()), r.registerPostFixer(function (t) {\n return Zc(r, t);\n })), Kc.get(r).set(n, {\n text: i,\n isDirectHost: o\n }), e.change(function (t) {\n return Zc(r, t);\n });\n }\n\n function Jc(t, e) {\n return !!e.hasClass(\"ck-placeholder\") && (t.removeClass(\"ck-placeholder\", e), !0);\n }\n\n function Zc(t, e) {\n var n = Kc.get(t);\n var i = !1;\n\n var _iterator262 = _createForOfIteratorHelper(n),\n _step262;\n\n try {\n for (_iterator262.s(); !(_step262 = _iterator262.n()).done;) {\n var _ref95 = _step262.value;\n\n var _ref94 = _slicedToArray(_ref95, 2);\n\n var _t203 = _ref94[0];\n var _o67 = _ref94[1];\n Xc(e, _t203, _o67) && (i = !0);\n }\n } catch (err) {\n _iterator262.e(err);\n } finally {\n _iterator262.f();\n }\n\n return i;\n }\n\n function Xc(t, e, n) {\n var i = n.text,\n o = n.isDirectHost,\n r = o ? e : function (t) {\n if (1 === t.childCount) {\n var _e187 = t.getChild(0);\n\n if (_e187.is(\"element\") && !_e187.is(\"uiElement\")) return _e187;\n }\n\n return null;\n }(e);\n var s = !1;\n return !!r && (n.hostElement = r, r.getAttribute(\"data-placeholder\") !== i && (t.setAttribute(\"data-placeholder\", i, r), s = !0), !function (t) {\n if (!t.isAttached()) return !1;\n var e = !Array.from(t.getChildren()).some(function (t) {\n return !t.is(\"uiElement\");\n }),\n n = t.document;\n if (!n.isFocused && e) return !0;\n var i = n.selection.anchor;\n return !(!e || !i || i.parent === t);\n }(r) ? Jc(t, r) && (s = !0) : function (t, e) {\n return !e.hasClass(\"ck-placeholder\") && (t.addClass(\"ck-placeholder\", e), !0);\n }(t, r) && (s = !0), s);\n }\n\n var tl = /*#__PURE__*/function () {\n function tl() {\n _classCallCheck(this, tl);\n\n this._replacedElements = [];\n }\n\n _createClass(tl, [{\n key: \"replace\",\n value: function replace(t, e) {\n this._replacedElements.push({\n element: t,\n newElement: e\n }), t.style.display = \"none\", e && t.parentNode.insertBefore(e, t.nextSibling);\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this._replacedElements.forEach(function (_ref96) {\n var t = _ref96.element,\n e = _ref96.newElement;\n t.style.display = \"\", e && e.remove();\n }), this._replacedElements = [];\n }\n }]);\n\n return tl;\n }();\n\n var el = /*#__PURE__*/function (_Gc) {\n _inherits(el, _Gc);\n\n var _super38 = _createSuper(el);\n\n function el(t, e) {\n var _this80;\n\n _classCallCheck(this, el);\n\n var n;\n _this80 = _super38.call(this, t), _this80.view = e, _this80._toolbarConfig = (n = t.config.get(\"toolbar\"), Array.isArray(n) ? {\n items: n\n } : n ? Object.assign({\n items: []\n }, n) : {\n items: []\n }), _this80._elementReplacer = new tl();\n return _this80;\n }\n\n _createClass(el, [{\n key: \"init\",\n value: function init(t) {\n var e = this.editor,\n n = this.view,\n i = e.editing.view,\n o = n.editable,\n r = i.document.getRoot();\n o.name = r.rootName, n.render();\n var s = o.element;\n this.setEditableElement(o.name, s), this.focusTracker.add(s), n.editable.bind(\"isFocused\").to(this.focusTracker), i.attachDomRoot(s), t && this._elementReplacer.replace(t, this.element), this._initPlaceholder(), this._initToolbar(), this.fire(\"ready\");\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var t = this.view,\n e = this.editor.editing.view;\n this._elementReplacer.restore(), e.detachDomRoot(t.editable.name), t.destroy(), _get(_getPrototypeOf(el.prototype), \"destroy\", this).call(this);\n }\n }, {\n key: \"_initToolbar\",\n value: function _initToolbar() {\n var t = this.editor,\n e = this.view,\n n = t.editing.view;\n e.stickyPanel.bind(\"isActive\").to(this.focusTracker, \"isFocused\"), e.stickyPanel.limiterElement = e.element, this._toolbarConfig.viewportTopOffset && (e.stickyPanel.viewportTopOffset = this._toolbarConfig.viewportTopOffset), e.toolbar.fillFromConfig(this._toolbarConfig.items, this.componentFactory), function (_ref97) {\n var t = _ref97.origin,\n e = _ref97.originKeystrokeHandler,\n n = _ref97.originFocusTracker,\n i = _ref97.toolbar,\n o = _ref97.beforeFocus,\n r = _ref97.afterBlur;\n n.add(i.element), e.set(\"Alt+F10\", function (t, e) {\n n.isFocused && !i.focusTracker.isFocused && (o && o(), i.focus(), e());\n }), i.keystrokes.set(\"Esc\", function (e, n) {\n i.focusTracker.isFocused && (t.focus(), r && r(), n());\n });\n }({\n origin: n,\n originFocusTracker: this.focusTracker,\n originKeystrokeHandler: t.keystrokes,\n toolbar: e.toolbar\n });\n }\n }, {\n key: \"_initPlaceholder\",\n value: function _initPlaceholder() {\n var t = this.editor,\n e = t.editing.view,\n n = e.document.getRoot(),\n i = t.sourceElement,\n o = t.config.get(\"placeholder\") || i && \"textarea\" === i.tagName.toLowerCase() && i.getAttribute(\"placeholder\");\n o && Qc({\n view: e,\n element: n,\n text: o,\n isDirectHost: !1\n });\n }\n }, {\n key: \"element\",\n get: function get() {\n return this.view.element;\n }\n }]);\n\n return el;\n }(Gc);\n\n var nl = /*#__PURE__*/function (_An) {\n _inherits(nl, _An);\n\n var _super39 = _createSuper(nl);\n\n function nl() {\n var _this81;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n _classCallCheck(this, nl);\n\n _this81 = _super39.call(this, t, {\n idProperty: \"viewUid\"\n }), _this81.on(\"add\", function (t, e, n) {\n _this81._renderViewIntoCollectionParent(e, n);\n }), _this81.on(\"remove\", function (t, e) {\n e.element && _this81._parentElement && e.element.remove();\n }), _this81._parentElement = null;\n return _this81;\n }\n\n _createClass(nl, [{\n key: \"destroy\",\n value: function destroy() {\n this.map(function (t) {\n return t.destroy();\n });\n }\n }, {\n key: \"setParent\",\n value: function setParent(t) {\n this._parentElement = t;\n\n var _iterator263 = _createForOfIteratorHelper(this),\n _step263;\n\n try {\n for (_iterator263.s(); !(_step263 = _iterator263.n()).done;) {\n var _t204 = _step263.value;\n\n this._renderViewIntoCollectionParent(_t204);\n }\n } catch (err) {\n _iterator263.e(err);\n } finally {\n _iterator263.f();\n }\n }\n }, {\n key: \"delegate\",\n value: function delegate() {\n var _this82 = this;\n\n for (var _len17 = arguments.length, t = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) {\n t[_key17] = arguments[_key17];\n }\n\n if (!t.length || !t.every(function (t) {\n return \"string\" == typeof t;\n })) throw new hn.a(\"ui-viewcollection-delegate-wrong-events\", this);\n return {\n to: function to(e) {\n var _iterator264 = _createForOfIteratorHelper(_this82),\n _step264;\n\n try {\n for (_iterator264.s(); !(_step264 = _iterator264.n()).done;) {\n var _n170 = _step264.value;\n\n var _iterator267 = _createForOfIteratorHelper(t),\n _step267;\n\n try {\n for (_iterator267.s(); !(_step267 = _iterator267.n()).done;) {\n var _i129 = _step267.value;\n\n _n170.delegate(_i129).to(e);\n }\n } catch (err) {\n _iterator267.e(err);\n } finally {\n _iterator267.f();\n }\n }\n } catch (err) {\n _iterator264.e(err);\n } finally {\n _iterator264.f();\n }\n\n _this82.on(\"add\", function (n, i) {\n var _iterator265 = _createForOfIteratorHelper(t),\n _step265;\n\n try {\n for (_iterator265.s(); !(_step265 = _iterator265.n()).done;) {\n var _n168 = _step265.value;\n i.delegate(_n168).to(e);\n }\n } catch (err) {\n _iterator265.e(err);\n } finally {\n _iterator265.f();\n }\n }), _this82.on(\"remove\", function (n, i) {\n var _iterator266 = _createForOfIteratorHelper(t),\n _step266;\n\n try {\n for (_iterator266.s(); !(_step266 = _iterator266.n()).done;) {\n var _n169 = _step266.value;\n i.stopDelegating(_n169, e);\n }\n } catch (err) {\n _iterator266.e(err);\n } finally {\n _iterator266.f();\n }\n });\n }\n };\n }\n }, {\n key: \"_renderViewIntoCollectionParent\",\n value: function _renderViewIntoCollectionParent(t, e) {\n t.isRendered || t.render(), t.element && this._parentElement && this._parentElement.insertBefore(t.element, this._parentElement.children[e]);\n }\n }]);\n\n return nl;\n }(An);\n\n var il = /*#__PURE__*/function () {\n function il(t) {\n _classCallCheck(this, il);\n\n Object.assign(this, fl(hl(t))), this._isRendered = !1, this._revertData = null;\n }\n\n _createClass(il, [{\n key: \"render\",\n value: function render() {\n var t = this._renderNode({\n intoFragment: !0\n });\n\n return this._isRendered = !0, t;\n }\n }, {\n key: \"apply\",\n value: function apply(t) {\n return this._revertData = {\n children: [],\n bindings: [],\n attributes: {}\n }, this._renderNode({\n node: t,\n isApplying: !0,\n revertData: this._revertData\n }), t;\n }\n }, {\n key: \"revert\",\n value: function revert(t) {\n if (!this._revertData) throw new hn.a(\"ui-template-revert-not-applied\", [this, t]);\n\n this._revertTemplateFromNode(t, this._revertData);\n }\n }, {\n key: \"getViews\",\n value: /*#__PURE__*/_regeneratorRuntime.mark(function getViews() {\n return _regeneratorRuntime.wrap(function getViews$(_context36) {\n while (1) {\n switch (_context36.prev = _context36.next) {\n case 0:\n return _context36.delegateYield( /*#__PURE__*/_regeneratorRuntime.mark(function t(e) {\n var _iterator268, _step268, _n171;\n\n return _regeneratorRuntime.wrap(function t$(_context35) {\n while (1) {\n switch (_context35.prev = _context35.next) {\n case 0:\n if (!e.children) {\n _context35.next = 24;\n break;\n }\n\n _iterator268 = _createForOfIteratorHelper(e.children);\n _context35.prev = 2;\n\n _iterator268.s();\n\n case 4:\n if ((_step268 = _iterator268.n()).done) {\n _context35.next = 16;\n break;\n }\n\n _n171 = _step268.value;\n\n if (!wl(_n171)) {\n _context35.next = 11;\n break;\n }\n\n _context35.next = 9;\n return _n171;\n\n case 9:\n _context35.next = 14;\n break;\n\n case 11:\n _context35.t0 = kl(_n171);\n\n if (!_context35.t0) {\n _context35.next = 14;\n break;\n }\n\n return _context35.delegateYield(t(_n171), \"t1\", 14);\n\n case 14:\n _context35.next = 4;\n break;\n\n case 16:\n _context35.next = 21;\n break;\n\n case 18:\n _context35.prev = 18;\n _context35.t2 = _context35[\"catch\"](2);\n\n _iterator268.e(_context35.t2);\n\n case 21:\n _context35.prev = 21;\n\n _iterator268.f();\n\n return _context35.finish(21);\n\n case 24:\n case \"end\":\n return _context35.stop();\n }\n }\n }, t, null, [[2, 18, 21, 24]]);\n })(this), \"t0\", 1);\n\n case 1:\n case \"end\":\n return _context36.stop();\n }\n }\n }, getViews, this);\n })\n }, {\n key: \"_renderNode\",\n value: function _renderNode(t) {\n var e;\n if (e = t.node ? this.tag && this.text : this.tag ? this.text : !this.text, e) throw new hn.a(\"ui-template-wrong-syntax\", this);\n return this.text ? this._renderText(t) : this._renderElement(t);\n }\n }, {\n key: \"_renderElement\",\n value: function _renderElement(t) {\n var e = t.node;\n return e || (e = t.node = document.createElementNS(this.ns || \"http://www.w3.org/1999/xhtml\", this.tag)), this._renderAttributes(t), this._renderElementChildren(t), this._setUpListeners(t), e;\n }\n }, {\n key: \"_renderText\",\n value: function _renderText(t) {\n var e = t.node;\n return e ? t.revertData.text = e.textContent : e = t.node = document.createTextNode(\"\"), al(this.text) ? this._bindToObservable({\n schema: this.text,\n updater: ll(e),\n data: t\n }) : e.textContent = this.text.join(\"\"), e;\n }\n }, {\n key: \"_renderAttributes\",\n value: function _renderAttributes(t) {\n var e, n, i, o;\n if (!this.attributes) return;\n var r = t.node,\n s = t.revertData;\n\n for (e in this.attributes) {\n if (i = r.getAttribute(e), n = this.attributes[e], s && (s.attributes[e] = i), o = V(n[0]) && n[0].ns ? n[0].ns : null, al(n)) {\n var _a10 = o ? n[0].value : n;\n\n s && vl(e) && _a10.unshift(i), this._bindToObservable({\n schema: _a10,\n updater: dl(r, e, o),\n data: t\n });\n } else \"style\" == e && \"string\" != typeof n[0] ? this._renderStyleAttribute(n[0], t) : (s && i && vl(e) && n.unshift(i), n = n.map(function (t) {\n return t && t.value || t;\n }).reduce(function (t, e) {\n return t.concat(e);\n }, []).reduce(gl, \"\"), bl(n) || r.setAttributeNS(o, e, n));\n }\n }\n }, {\n key: \"_renderStyleAttribute\",\n value: function _renderStyleAttribute(t, e) {\n var n = e.node;\n\n for (var _i130 in t) {\n var _o68 = t[_i130];\n al(_o68) ? this._bindToObservable({\n schema: [_o68],\n updater: ul(n, _i130),\n data: e\n }) : n.style[_i130] = _o68;\n }\n }\n }, {\n key: \"_renderElementChildren\",\n value: function _renderElementChildren(t) {\n var e = t.node,\n n = t.intoFragment ? document.createDocumentFragment() : e,\n i = t.isApplying;\n var o = 0;\n\n var _iterator269 = _createForOfIteratorHelper(this.children),\n _step269;\n\n try {\n for (_iterator269.s(); !(_step269 = _iterator269.n()).done;) {\n var _r27 = _step269.value;\n\n if (_l(_r27)) {\n if (!i) {\n _r27.setParent(e);\n\n var _iterator270 = _createForOfIteratorHelper(_r27),\n _step270;\n\n try {\n for (_iterator270.s(); !(_step270 = _iterator270.n()).done;) {\n var _t205 = _step270.value;\n n.appendChild(_t205.element);\n }\n } catch (err) {\n _iterator270.e(err);\n } finally {\n _iterator270.f();\n }\n }\n } else if (wl(_r27)) i || (_r27.isRendered || _r27.render(), n.appendChild(_r27.element));else if (Xo(_r27)) n.appendChild(_r27);else if (i) {\n var _e188 = {\n children: [],\n bindings: [],\n attributes: {}\n };\n t.revertData.children.push(_e188), _r27._renderNode({\n node: n.childNodes[o++],\n isApplying: !0,\n revertData: _e188\n });\n } else n.appendChild(_r27.render());\n }\n } catch (err) {\n _iterator269.e(err);\n } finally {\n _iterator269.f();\n }\n\n t.intoFragment && e.appendChild(n);\n }\n }, {\n key: \"_setUpListeners\",\n value: function _setUpListeners(t) {\n var _this83 = this;\n\n if (this.eventListeners) {\n var _loop4 = function _loop4(_e189) {\n var n = _this83.eventListeners[_e189].map(function (n) {\n var _e189$split = _e189.split(\"@\"),\n _e189$split2 = _slicedToArray(_e189$split, 2),\n i = _e189$split2[0],\n o = _e189$split2[1];\n\n return n.activateDomEventListener(i, o, t);\n });\n\n t.revertData && t.revertData.bindings.push(n);\n };\n\n for (var _e189 in this.eventListeners) {\n _loop4(_e189);\n }\n }\n }\n }, {\n key: \"_bindToObservable\",\n value: function _bindToObservable(_ref98) {\n var t = _ref98.schema,\n e = _ref98.updater,\n n = _ref98.data;\n var i = n.revertData;\n cl(t, e, n);\n var o = t.filter(function (t) {\n return !bl(t);\n }).filter(function (t) {\n return t.observable;\n }).map(function (i) {\n return i.activateAttributeListener(t, e, n);\n });\n i && i.bindings.push(o);\n }\n }, {\n key: \"_revertTemplateFromNode\",\n value: function _revertTemplateFromNode(t, e) {\n var _iterator271 = _createForOfIteratorHelper(e.bindings),\n _step271;\n\n try {\n for (_iterator271.s(); !(_step271 = _iterator271.n()).done;) {\n var _t206 = _step271.value;\n\n var _iterator272 = _createForOfIteratorHelper(_t206),\n _step272;\n\n try {\n for (_iterator272.s(); !(_step272 = _iterator272.n()).done;) {\n var _e190 = _step272.value;\n\n _e190();\n }\n } catch (err) {\n _iterator272.e(err);\n } finally {\n _iterator272.f();\n }\n }\n } catch (err) {\n _iterator271.e(err);\n } finally {\n _iterator271.f();\n }\n\n if (e.text) t.textContent = e.text;else {\n for (var _n172 in e.attributes) {\n var _i131 = e.attributes[_n172];\n null === _i131 ? t.removeAttribute(_n172) : t.setAttribute(_n172, _i131);\n }\n\n for (var _n173 = 0; _n173 < e.children.length; ++_n173) {\n this._revertTemplateFromNode(t.childNodes[_n173], e.children[_n173]);\n }\n }\n }\n }], [{\n key: \"bind\",\n value: function bind(t, e) {\n return {\n to: function to(n, i) {\n return new rl({\n eventNameOrFunction: n,\n attribute: n,\n observable: t,\n emitter: e,\n callback: i\n });\n },\n \"if\": function _if(n, i, o) {\n return new sl({\n observable: t,\n emitter: e,\n attribute: n,\n valueIfTrue: i,\n callback: o\n });\n }\n };\n }\n }, {\n key: \"extend\",\n value: function extend(t, e) {\n if (t._isRendered) throw new hn.a(\"template-extend-render\", [this, t]);\n !function t(e, n) {\n var _e$text;\n\n n.attributes && (e.attributes || (e.attributes = {}), pl(e.attributes, n.attributes));\n n.eventListeners && (e.eventListeners || (e.eventListeners = {}), pl(e.eventListeners, n.eventListeners));\n n.text && (_e$text = e.text).push.apply(_e$text, _toConsumableArray(n.text));\n\n if (n.children && n.children.length) {\n if (e.children.length != n.children.length) throw new hn.a(\"ui-template-extend-children-mismatch\", e);\n var _i132 = 0;\n\n var _iterator273 = _createForOfIteratorHelper(n.children),\n _step273;\n\n try {\n for (_iterator273.s(); !(_step273 = _iterator273.n()).done;) {\n var _o69 = _step273.value;\n t(e.children[_i132++], _o69);\n }\n } catch (err) {\n _iterator273.e(err);\n } finally {\n _iterator273.f();\n }\n }\n }(t, fl(hl(e)));\n }\n }]);\n\n return il;\n }();\n\n xn(il, gn);\n\n var ol = /*#__PURE__*/function () {\n function ol(t) {\n _classCallCheck(this, ol);\n\n Object.assign(this, t);\n }\n\n _createClass(ol, [{\n key: \"getValue\",\n value: function getValue(t) {\n var e = this.observable[this.attribute];\n return this.callback ? this.callback(e, t) : e;\n }\n }, {\n key: \"activateAttributeListener\",\n value: function activateAttributeListener(t, e, n) {\n var _this84 = this;\n\n var i = function i() {\n return cl(t, e, n);\n };\n\n return this.emitter.listenTo(this.observable, \"change:\" + this.attribute, i), function () {\n _this84.emitter.stopListening(_this84.observable, \"change:\" + _this84.attribute, i);\n };\n }\n }]);\n\n return ol;\n }();\n\n var rl = /*#__PURE__*/function (_ol) {\n _inherits(rl, _ol);\n\n var _super40 = _createSuper(rl);\n\n function rl() {\n _classCallCheck(this, rl);\n\n return _super40.apply(this, arguments);\n }\n\n _createClass(rl, [{\n key: \"activateDomEventListener\",\n value: function activateDomEventListener(t, e, n) {\n var _this85 = this;\n\n var i = function i(t, n) {\n e && !n.target.matches(e) || (\"function\" == typeof _this85.eventNameOrFunction ? _this85.eventNameOrFunction(n) : _this85.observable.fire(_this85.eventNameOrFunction, n));\n };\n\n return this.emitter.listenTo(n.node, t, i), function () {\n _this85.emitter.stopListening(n.node, t, i);\n };\n }\n }]);\n\n return rl;\n }(ol);\n\n var sl = /*#__PURE__*/function (_ol2) {\n _inherits(sl, _ol2);\n\n var _super41 = _createSuper(sl);\n\n function sl() {\n _classCallCheck(this, sl);\n\n return _super41.apply(this, arguments);\n }\n\n _createClass(sl, [{\n key: \"getValue\",\n value: function getValue(t) {\n return !bl(_get(_getPrototypeOf(sl.prototype), \"getValue\", this).call(this, t)) && (this.valueIfTrue || !0);\n }\n }]);\n\n return sl;\n }(ol);\n\n function al(t) {\n return !!t && (t.value && (t = t.value), Array.isArray(t) ? t.some(al) : t instanceof ol);\n }\n\n function cl(t, e, _ref99) {\n var n = _ref99.node;\n\n var i = function (t, e) {\n return t.map(function (t) {\n return t instanceof ol ? t.getValue(e) : t;\n });\n }(t, n);\n\n i = 1 == t.length && t[0] instanceof sl ? i[0] : i.reduce(gl, \"\"), bl(i) ? e.remove() : e.set(i);\n }\n\n function ll(t) {\n return {\n set: function set(e) {\n t.textContent = e;\n },\n remove: function remove() {\n t.textContent = \"\";\n }\n };\n }\n\n function dl(t, e, n) {\n return {\n set: function set(i) {\n t.setAttributeNS(n, e, i);\n },\n remove: function remove() {\n t.removeAttributeNS(n, e);\n }\n };\n }\n\n function ul(t, e) {\n return {\n set: function set(n) {\n t.style[e] = n;\n },\n remove: function remove() {\n t.style[e] = null;\n }\n };\n }\n\n function hl(t) {\n return en(t, function (t) {\n if (t && (t instanceof ol || kl(t) || wl(t) || _l(t))) return t;\n });\n }\n\n function fl(t) {\n if (\"string\" == typeof t ? t = function (t) {\n return {\n text: [t]\n };\n }(t) : t.text && function (t) {\n Array.isArray(t.text) || (t.text = [t.text]);\n }(t), t.on && (t.eventListeners = function (t) {\n for (var _e191 in t) {\n ml(t, _e191);\n }\n\n return t;\n }(t.on), delete t.on), !t.text) {\n t.attributes && function (t) {\n for (var _e193 in t) {\n t[_e193].value && (t[_e193].value = [].concat(t[_e193].value)), ml(t, _e193);\n }\n }(t.attributes);\n var _e192 = [];\n if (t.children) if (_l(t.children)) _e192.push(t.children);else {\n var _iterator274 = _createForOfIteratorHelper(t.children),\n _step274;\n\n try {\n for (_iterator274.s(); !(_step274 = _iterator274.n()).done;) {\n var _n174 = _step274.value;\n kl(_n174) || wl(_n174) || Xo(_n174) ? _e192.push(_n174) : _e192.push(new il(_n174));\n }\n } catch (err) {\n _iterator274.e(err);\n } finally {\n _iterator274.f();\n }\n }\n t.children = _e192;\n }\n\n return t;\n }\n\n function ml(t, e) {\n Array.isArray(t[e]) || (t[e] = [t[e]]);\n }\n\n function gl(t, e) {\n return bl(e) ? t : bl(t) ? e : \"\".concat(t, \" \").concat(e);\n }\n\n function pl(t, e) {\n for (var _n175 in e) {\n var _t$_n;\n\n t[_n175] ? (_t$_n = t[_n175]).push.apply(_t$_n, _toConsumableArray(e[_n175])) : t[_n175] = e[_n175];\n }\n }\n\n function bl(t) {\n return !t && 0 !== t;\n }\n\n function wl(t) {\n return t instanceof yl;\n }\n\n function kl(t) {\n return t instanceof il;\n }\n\n function _l(t) {\n return t instanceof nl;\n }\n\n function vl(t) {\n return \"class\" == t || \"style\" == t;\n }\n\n n(16);\n\n var yl = /*#__PURE__*/function () {\n function yl(t) {\n _classCallCheck(this, yl);\n\n this.element = null, this.isRendered = !1, this.locale = t, this.t = t && t.t, this._viewCollections = new An(), this._unboundChildren = this.createCollection(), this._viewCollections.on(\"add\", function (e, n) {\n n.locale = t;\n }), this.decorate(\"render\");\n }\n\n _createClass(yl, [{\n key: \"createCollection\",\n value: function createCollection(t) {\n var e = new nl(t);\n return this._viewCollections.add(e), e;\n }\n }, {\n key: \"registerChild\",\n value: function registerChild(t) {\n yn(t) || (t = [t]);\n\n var _iterator275 = _createForOfIteratorHelper(t),\n _step275;\n\n try {\n for (_iterator275.s(); !(_step275 = _iterator275.n()).done;) {\n var _e194 = _step275.value;\n\n this._unboundChildren.add(_e194);\n }\n } catch (err) {\n _iterator275.e(err);\n } finally {\n _iterator275.f();\n }\n }\n }, {\n key: \"deregisterChild\",\n value: function deregisterChild(t) {\n yn(t) || (t = [t]);\n\n var _iterator276 = _createForOfIteratorHelper(t),\n _step276;\n\n try {\n for (_iterator276.s(); !(_step276 = _iterator276.n()).done;) {\n var _e195 = _step276.value;\n\n this._unboundChildren.remove(_e195);\n }\n } catch (err) {\n _iterator276.e(err);\n } finally {\n _iterator276.f();\n }\n }\n }, {\n key: \"setTemplate\",\n value: function setTemplate(t) {\n this.template = new il(t);\n }\n }, {\n key: \"extendTemplate\",\n value: function extendTemplate(t) {\n il.extend(this.template, t);\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this.isRendered) throw new hn.a(\"ui-view-render-already-rendered\", this);\n this.template && (this.element = this.template.render(), this.registerChild(this.template.getViews())), this.isRendered = !0;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening(), this._viewCollections.map(function (t) {\n return t.destroy();\n }), this.template && this.template._revertData && this.template.revert(this.element);\n }\n }, {\n key: \"bindTemplate\",\n get: function get() {\n return this._bindTemplate ? this._bindTemplate : this._bindTemplate = il.bind(this, this);\n }\n }]);\n\n return yl;\n }();\n\n xn(yl, fr), xn(yl, Ui);\n\n var xl = function xl(t) {\n return \"string\" == typeof t || !Dt(t) && p(t) && \"[object String]\" == f(t);\n };\n\n var Al = /*#__PURE__*/function (_nl) {\n _inherits(Al, _nl);\n\n var _super42 = _createSuper(Al);\n\n function Al(t) {\n var _this86;\n\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n _classCallCheck(this, Al);\n\n _this86 = _super42.call(this, e), _this86.locale = t;\n return _this86;\n }\n\n _createClass(Al, [{\n key: \"attachToDom\",\n value: function attachToDom() {\n this._bodyCollectionContainer = new il({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-reset_all\", \"ck-body\", \"ck-rounded-corners\"],\n dir: this.locale.uiLanguageDirection\n },\n children: this\n }).render();\n var t = document.querySelector(\".ck-body-wrapper\");\n t || (t = function (t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var o = n && n.xmlns,\n r = o ? t.createElementNS(o, e) : t.createElement(e);\n\n for (var _t207 in n) {\n r.setAttribute(_t207, n[_t207]);\n }\n\n !xl(i) && yn(i) || (i = [i]);\n\n var _iterator277 = _createForOfIteratorHelper(i),\n _step277;\n\n try {\n for (_iterator277.s(); !(_step277 = _iterator277.n()).done;) {\n var _e196 = _step277.value;\n xl(_e196) && (_e196 = t.createTextNode(_e196)), r.appendChild(_e196);\n }\n } catch (err) {\n _iterator277.e(err);\n } finally {\n _iterator277.f();\n }\n\n return r;\n }(document, \"div\", {\n \"class\": \"ck-body-wrapper\"\n }), document.body.appendChild(t)), t.appendChild(this._bodyCollectionContainer);\n }\n }, {\n key: \"detachFromDom\",\n value: function detachFromDom() {\n _get(_getPrototypeOf(Al.prototype), \"destroy\", this).call(this), this._bodyCollectionContainer && this._bodyCollectionContainer.remove();\n var t = document.querySelector(\".ck-body-wrapper\");\n t && 0 == t.childElementCount && t.remove();\n }\n }]);\n\n return Al;\n }(nl);\n\n n(18);\n\n var Cl = /*#__PURE__*/function (_yl) {\n _inherits(Cl, _yl);\n\n var _super43 = _createSuper(Cl);\n\n function Cl(t) {\n var _this87;\n\n _classCallCheck(this, Cl);\n\n _this87 = _super43.call(this, t), _this87.body = new Al(t);\n return _this87;\n }\n\n _createClass(Cl, [{\n key: \"render\",\n value: function render() {\n _get(_getPrototypeOf(Cl.prototype), \"render\", this).call(this), this.body.attachToDom();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.body.detachFromDom(), _get(_getPrototypeOf(Cl.prototype), \"destroy\", this).call(this);\n }\n }]);\n\n return Cl;\n }(yl);\n\n n(20);\n\n var Tl = /*#__PURE__*/function (_yl2) {\n _inherits(Tl, _yl2);\n\n var _super44 = _createSuper(Tl);\n\n function Tl(t) {\n var _this88;\n\n _classCallCheck(this, Tl);\n\n _this88 = _super44.call(this, t), _this88.set(\"text\"), _this88.set(\"for\"), _this88.id = \"ck-editor__label_\" + dn();\n var e = _this88.bindTemplate;\n\n _this88.setTemplate({\n tag: \"label\",\n attributes: {\n \"class\": [\"ck\", \"ck-label\"],\n id: _this88.id,\n \"for\": e.to(\"for\")\n },\n children: [{\n text: e.to(\"text\")\n }]\n });\n\n return _this88;\n }\n\n return Tl;\n }(yl);\n\n var Pl = /*#__PURE__*/function (_Cl) {\n _inherits(Pl, _Cl);\n\n var _super45 = _createSuper(Pl);\n\n function Pl(t) {\n var _this89;\n\n _classCallCheck(this, Pl);\n\n _this89 = _super45.call(this, t), _this89.top = _this89.createCollection(), _this89.main = _this89.createCollection(), _this89._voiceLabelView = _this89._createVoiceLabel(), _this89.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-reset\", \"ck-editor\", \"ck-rounded-corners\"],\n role: \"application\",\n dir: t.uiLanguageDirection,\n lang: t.uiLanguage,\n \"aria-labelledby\": _this89._voiceLabelView.id\n },\n children: [_this89._voiceLabelView, {\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-editor__top\", \"ck-reset_all\"],\n role: \"presentation\"\n },\n children: _this89.top\n }, {\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-editor__main\"],\n role: \"presentation\"\n },\n children: _this89.main\n }]\n });\n return _this89;\n }\n\n _createClass(Pl, [{\n key: \"_createVoiceLabel\",\n value: function _createVoiceLabel() {\n var t = this.t,\n e = new Tl();\n return e.text = t(\"Rich Text Editor\"), e.extendTemplate({\n attributes: {\n \"class\": \"ck-voice-label\"\n }\n }), e;\n }\n }]);\n\n return Pl;\n }(Cl);\n\n var Sl = /*#__PURE__*/function (_yl3) {\n _inherits(Sl, _yl3);\n\n var _super46 = _createSuper(Sl);\n\n function Sl(t, e, n) {\n var _this90;\n\n _classCallCheck(this, Sl);\n\n _this90 = _super46.call(this, t), _this90.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-content\", \"ck-editor__editable\", \"ck-rounded-corners\"],\n lang: t.contentLanguage,\n dir: t.contentLanguageDirection\n }\n }), _this90.name = null, _this90.set(\"isFocused\", !1), _this90._editableElement = n, _this90._hasExternalElement = !!_this90._editableElement, _this90._editingView = e;\n return _this90;\n }\n\n _createClass(Sl, [{\n key: \"render\",\n value: function render() {\n var _this91 = this;\n\n _get(_getPrototypeOf(Sl.prototype), \"render\", this).call(this), this._hasExternalElement ? this.template.apply(this.element = this._editableElement) : this._editableElement = this.element, this.on(\"change:isFocused\", function () {\n return _this91._updateIsFocusedClasses();\n }), this._updateIsFocusedClasses();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._hasExternalElement && this.template.revert(this._editableElement), _get(_getPrototypeOf(Sl.prototype), \"destroy\", this).call(this);\n }\n }, {\n key: \"_updateIsFocusedClasses\",\n value: function _updateIsFocusedClasses() {\n var t = this._editingView;\n\n function e(e) {\n t.change(function (n) {\n var i = t.document.getRoot(e.name);\n n.addClass(e.isFocused ? \"ck-focused\" : \"ck-blurred\", i), n.removeClass(e.isFocused ? \"ck-blurred\" : \"ck-focused\", i);\n });\n }\n\n t.isRenderingInProgress ? function n(i) {\n t.once(\"change:isRenderingInProgress\", function (t, o, r) {\n r ? n(i) : e(i);\n });\n }(this) : e(this);\n }\n }]);\n\n return Sl;\n }(yl);\n\n var El = /*#__PURE__*/function (_Sl) {\n _inherits(El, _Sl);\n\n var _super47 = _createSuper(El);\n\n function El(t, e, n) {\n var _this92;\n\n _classCallCheck(this, El);\n\n _this92 = _super47.call(this, t, e, n), _this92.extendTemplate({\n attributes: {\n role: \"textbox\",\n \"class\": \"ck-editor__editable_inline\"\n }\n });\n return _this92;\n }\n\n _createClass(El, [{\n key: \"render\",\n value: function render() {\n var _this93 = this;\n\n _get(_getPrototypeOf(El.prototype), \"render\", this).call(this);\n\n var t = this._editingView,\n e = this.t;\n t.change(function (n) {\n var i = t.document.getRoot(_this93.name);\n n.setAttribute(\"aria-label\", e(\"Rich Text Editor, %0\", _this93.name), i);\n });\n }\n }]);\n\n return El;\n }(Sl);\n\n function Ml(t) {\n return function (e) {\n return e + t;\n };\n }\n\n n(22);\n var Il = Ml(\"px\");\n\n var Nl = /*#__PURE__*/function (_yl4) {\n _inherits(Nl, _yl4);\n\n var _super48 = _createSuper(Nl);\n\n function Nl(t) {\n var _this94;\n\n _classCallCheck(this, Nl);\n\n _this94 = _super48.call(this, t);\n var e = _this94.bindTemplate;\n _this94.set(\"isActive\", !1), _this94.set(\"isSticky\", !1), _this94.set(\"limiterElement\", null), _this94.set(\"limiterBottomOffset\", 50), _this94.set(\"viewportTopOffset\", 0), _this94.set(\"_marginLeft\", null), _this94.set(\"_isStickyToTheLimiter\", !1), _this94.set(\"_hasViewportTopOffset\", !1), _this94.content = _this94.createCollection(), _this94._contentPanelPlaceholder = new il({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-sticky-panel__placeholder\"],\n style: {\n display: e.to(\"isSticky\", function (t) {\n return t ? \"block\" : \"none\";\n }),\n height: e.to(\"isSticky\", function (t) {\n return t ? Il(_this94._panelRect.height) : null;\n })\n }\n }\n }).render(), _this94._contentPanel = new il({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-sticky-panel__content\", e[\"if\"](\"isSticky\", \"ck-sticky-panel__content_sticky\"), e[\"if\"](\"_isStickyToTheLimiter\", \"ck-sticky-panel__content_sticky_bottom-limit\")],\n style: {\n width: e.to(\"isSticky\", function (t) {\n return t ? Il(_this94._contentPanelPlaceholder.getBoundingClientRect().width) : null;\n }),\n top: e.to(\"_hasViewportTopOffset\", function (t) {\n return t ? Il(_this94.viewportTopOffset) : null;\n }),\n bottom: e.to(\"_isStickyToTheLimiter\", function (t) {\n return t ? Il(_this94.limiterBottomOffset) : null;\n }),\n marginLeft: e.to(\"_marginLeft\")\n }\n },\n children: _this94.content\n }).render(), _this94.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-sticky-panel\"]\n },\n children: [_this94._contentPanelPlaceholder, _this94._contentPanel]\n });\n return _this94;\n }\n\n _createClass(Nl, [{\n key: \"render\",\n value: function render() {\n var _this95 = this;\n\n _get(_getPrototypeOf(Nl.prototype), \"render\", this).call(this), this._checkIfShouldBeSticky(), this.listenTo(or.window, \"scroll\", function () {\n _this95._checkIfShouldBeSticky();\n }), this.listenTo(this, \"change:isActive\", function () {\n _this95._checkIfShouldBeSticky();\n });\n }\n }, {\n key: \"_checkIfShouldBeSticky\",\n value: function _checkIfShouldBeSticky() {\n var t = this._panelRect = this._contentPanel.getBoundingClientRect();\n\n var e;\n this.limiterElement ? (e = this._limiterRect = this.limiterElement.getBoundingClientRect(), this.isSticky = this.isActive && e.top < this.viewportTopOffset && this._panelRect.height + this.limiterBottomOffset < e.height) : this.isSticky = !1, this.isSticky ? (this._isStickyToTheLimiter = e.bottom < t.height + this.limiterBottomOffset + this.viewportTopOffset, this._hasViewportTopOffset = !this._isStickyToTheLimiter && !!this.viewportTopOffset, this._marginLeft = this._isStickyToTheLimiter ? null : Il(-or.window.scrollX)) : (this._isStickyToTheLimiter = !1, this._hasViewportTopOffset = !1, this._marginLeft = null);\n }\n }]);\n\n return Nl;\n }(yl);\n\n var Ol = /*#__PURE__*/function () {\n function Ol(t) {\n var _this96 = this;\n\n _classCallCheck(this, Ol);\n\n if (Object.assign(this, t), t.actions && t.keystrokeHandler) {\n var _loop5 = function _loop5(_e197) {\n var n = t.actions[_e197];\n \"string\" == typeof n && (n = [n]);\n\n var _iterator278 = _createForOfIteratorHelper(n),\n _step278;\n\n try {\n for (_iterator278.s(); !(_step278 = _iterator278.n()).done;) {\n var _i133 = _step278.value;\n t.keystrokeHandler.set(_i133, function (t, n) {\n _this96[_e197](), n();\n });\n }\n } catch (err) {\n _iterator278.e(err);\n } finally {\n _iterator278.f();\n }\n };\n\n for (var _e197 in t.actions) {\n _loop5(_e197);\n }\n }\n }\n\n _createClass(Ol, [{\n key: \"focusFirst\",\n value: function focusFirst() {\n this._focus(this.first);\n }\n }, {\n key: \"focusLast\",\n value: function focusLast() {\n this._focus(this.last);\n }\n }, {\n key: \"focusNext\",\n value: function focusNext() {\n this._focus(this.next);\n }\n }, {\n key: \"focusPrevious\",\n value: function focusPrevious() {\n this._focus(this.previous);\n }\n }, {\n key: \"_focus\",\n value: function _focus(t) {\n t && t.focus();\n }\n }, {\n key: \"_getFocusableItem\",\n value: function _getFocusableItem(t) {\n var e = this.current,\n n = this.focusables.length;\n if (!n) return null;\n if (null === e) return this[1 === t ? \"first\" : \"last\"];\n var i = (e + n + t) % n;\n\n do {\n var _e198 = this.focusables.get(i);\n\n if (Rl(_e198)) return _e198;\n i = (i + n + t) % n;\n } while (i !== e);\n\n return null;\n }\n }, {\n key: \"first\",\n get: function get() {\n return this.focusables.find(Rl) || null;\n }\n }, {\n key: \"last\",\n get: function get() {\n return this.focusables.filter(Rl).slice(-1)[0] || null;\n }\n }, {\n key: \"next\",\n get: function get() {\n return this._getFocusableItem(1);\n }\n }, {\n key: \"previous\",\n get: function get() {\n return this._getFocusableItem(-1);\n }\n }, {\n key: \"current\",\n get: function get() {\n var _this97 = this;\n\n var t = null;\n return null === this.focusTracker.focusedElement ? null : (this.focusables.find(function (e, n) {\n var i = e.element === _this97.focusTracker.focusedElement;\n return i && (t = n), i;\n }), t);\n }\n }]);\n\n return Ol;\n }();\n\n function Rl(t) {\n return !(!t.focus || \"none\" == or.window.getComputedStyle(t.element).display);\n }\n\n var Dl = /*#__PURE__*/function (_yl5) {\n _inherits(Dl, _yl5);\n\n var _super49 = _createSuper(Dl);\n\n function Dl(t) {\n var _this98;\n\n _classCallCheck(this, Dl);\n\n _this98 = _super49.call(this, t), _this98.setTemplate({\n tag: \"span\",\n attributes: {\n \"class\": [\"ck\", \"ck-toolbar__separator\"]\n }\n });\n return _this98;\n }\n\n return Dl;\n }(yl);\n\n var Ll = /*#__PURE__*/function () {\n function Ll(t, e) {\n _classCallCheck(this, Ll);\n\n Ll._observerInstance || Ll._createObserver(), this._element = t, this._callback = e, Ll._addElementCallback(t, e), Ll._observerInstance.observe(t);\n }\n\n _createClass(Ll, [{\n key: \"destroy\",\n value: function destroy() {\n Ll._deleteElementCallback(this._element, this._callback);\n }\n }], [{\n key: \"_addElementCallback\",\n value: function _addElementCallback(t, e) {\n Ll._elementCallbacks || (Ll._elementCallbacks = new Map());\n\n var n = Ll._elementCallbacks.get(t);\n\n n || (n = new Set(), Ll._elementCallbacks.set(t, n)), n.add(e);\n }\n }, {\n key: \"_deleteElementCallback\",\n value: function _deleteElementCallback(t, e) {\n var n = Ll._getElementCallbacks(t);\n\n n && (n[\"delete\"](e), n.size || (Ll._elementCallbacks[\"delete\"](t), Ll._observerInstance.unobserve(t))), Ll._elementCallbacks && !Ll._elementCallbacks.size && (Ll._observerInstance = null, Ll._elementCallbacks = null);\n }\n }, {\n key: \"_getElementCallbacks\",\n value: function _getElementCallbacks(t) {\n return Ll._elementCallbacks ? Ll._elementCallbacks.get(t) : null;\n }\n }, {\n key: \"_createObserver\",\n value: function _createObserver() {\n var t;\n t = \"function\" == typeof or.window.ResizeObserver ? or.window.ResizeObserver : Vl, Ll._observerInstance = new t(function (t) {\n var _iterator279 = _createForOfIteratorHelper(t),\n _step279;\n\n try {\n for (_iterator279.s(); !(_step279 = _iterator279.n()).done;) {\n var _e199 = _step279.value;\n\n var _t208 = Ll._getElementCallbacks(_e199.target);\n\n if (_t208) {\n var _iterator280 = _createForOfIteratorHelper(_t208),\n _step280;\n\n try {\n for (_iterator280.s(); !(_step280 = _iterator280.n()).done;) {\n var _n176 = _step280.value;\n\n _n176(_e199);\n }\n } catch (err) {\n _iterator280.e(err);\n } finally {\n _iterator280.f();\n }\n }\n }\n } catch (err) {\n _iterator279.e(err);\n } finally {\n _iterator279.f();\n }\n });\n }\n }]);\n\n return Ll;\n }();\n\n Ll._observerInstance = null, Ll._elementCallbacks = null;\n\n var Vl = /*#__PURE__*/function () {\n function Vl(t) {\n _classCallCheck(this, Vl);\n\n this._callback = t, this._elements = new Set(), this._previousRects = new Map(), this._periodicCheckTimeout = null;\n }\n\n _createClass(Vl, [{\n key: \"observe\",\n value: function observe(t) {\n this._elements.add(t), this._checkElementRectsAndExecuteCallback(), 1 === this._elements.size && this._startPeriodicCheck();\n }\n }, {\n key: \"unobserve\",\n value: function unobserve(t) {\n this._elements[\"delete\"](t), this._previousRects[\"delete\"](t), this._elements.size || this._stopPeriodicCheck();\n }\n }, {\n key: \"_startPeriodicCheck\",\n value: function _startPeriodicCheck() {\n var _this99 = this;\n\n var t = function t() {\n _this99._checkElementRectsAndExecuteCallback(), _this99._periodicCheckTimeout = setTimeout(t, 100);\n };\n\n this.listenTo(or.window, \"resize\", function () {\n _this99._checkElementRectsAndExecuteCallback();\n }), this._periodicCheckTimeout = setTimeout(t, 100);\n }\n }, {\n key: \"_stopPeriodicCheck\",\n value: function _stopPeriodicCheck() {\n clearTimeout(this._periodicCheckTimeout), this.stopListening(), this._previousRects.clear();\n }\n }, {\n key: \"_checkElementRectsAndExecuteCallback\",\n value: function _checkElementRectsAndExecuteCallback() {\n var t = [];\n\n var _iterator281 = _createForOfIteratorHelper(this._elements),\n _step281;\n\n try {\n for (_iterator281.s(); !(_step281 = _iterator281.n()).done;) {\n var _e200 = _step281.value;\n this._hasRectChanged(_e200) && t.push({\n target: _e200,\n contentRect: this._previousRects.get(_e200)\n });\n }\n } catch (err) {\n _iterator281.e(err);\n } finally {\n _iterator281.f();\n }\n\n t.length && this._callback(t);\n }\n }, {\n key: \"_hasRectChanged\",\n value: function _hasRectChanged(t) {\n if (!t.ownerDocument.body.contains(t)) return !1;\n\n var e = new is(t),\n n = this._previousRects.get(t),\n i = !n || !n.isEqual(e);\n\n return this._previousRects.set(t, e), i;\n }\n }]);\n\n return Vl;\n }();\n\n xn(Vl, fr);\n\n var jl = /*#__PURE__*/function (_yl6) {\n _inherits(jl, _yl6);\n\n var _super50 = _createSuper(jl);\n\n function jl(t) {\n var _this100;\n\n _classCallCheck(this, jl);\n\n _this100 = _super50.call(this, t);\n var e = _this100.bindTemplate;\n _this100.set(\"isVisible\", !1), _this100.set(\"position\", \"se\"), _this100.children = _this100.createCollection(), _this100.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-reset\", \"ck-dropdown__panel\", e.to(\"position\", function (t) {\n return \"ck-dropdown__panel_\" + t;\n }), e[\"if\"](\"isVisible\", \"ck-dropdown__panel-visible\")]\n },\n children: _this100.children,\n on: {\n selectstart: e.to(function (t) {\n return t.preventDefault();\n })\n }\n });\n return _this100;\n }\n\n _createClass(jl, [{\n key: \"focus\",\n value: function focus() {\n this.children.length && this.children.first.focus();\n }\n }, {\n key: \"focusLast\",\n value: function focusLast() {\n if (this.children.length) {\n var _t209 = this.children.last;\n \"function\" == typeof _t209.focusLast ? _t209.focusLast() : _t209.focus();\n }\n }\n }]);\n\n return jl;\n }(yl);\n\n n(24);\n\n function zl(_ref100) {\n var t = _ref100.element,\n e = _ref100.target,\n n = _ref100.positions,\n i = _ref100.limiter,\n o = _ref100.fitInViewport;\n z(e) && (e = e()), z(i) && (i = i());\n\n var r = function (t) {\n return t && t.parentNode ? t.offsetParent === or.document.body ? null : t.offsetParent : null;\n }(t),\n s = new is(t),\n a = new is(e);\n\n var c, l;\n\n if (i || o) {\n var _t210 = function (t, e) {\n var n = e.elementRect,\n i = e.viewportRect,\n o = n.getArea(),\n r = function (t, _ref101) {\n var e = _ref101.targetRect,\n n = _ref101.elementRect,\n i = _ref101.limiterRect,\n o = _ref101.viewportRect;\n var r = [],\n s = n.getArea();\n\n var _iterator282 = _createForOfIteratorHelper(t),\n _step282;\n\n try {\n for (_iterator282.s(); !(_step282 = _iterator282.n()).done;) {\n var _a11 = _step282.value;\n\n var _t211 = Bl(_a11, e, n);\n\n if (!_t211) continue;\n\n var _t212 = _slicedToArray(_t211, 2),\n _c5 = _t212[0],\n _l3 = _t212[1];\n\n var _d3 = 0,\n _u3 = 0;\n if (i) if (o) {\n var _t213 = i.getIntersection(o);\n\n _t213 && (_d3 = _t213.getIntersectionArea(_l3));\n } else _d3 = i.getIntersectionArea(_l3);\n o && (_u3 = o.getIntersectionArea(_l3));\n var _h2 = {\n positionName: _c5,\n positionRect: _l3,\n limiterIntersectArea: _d3,\n viewportIntersectArea: _u3\n };\n if (_d3 === s) return [_h2];\n r.push(_h2);\n }\n } catch (err) {\n _iterator282.e(err);\n } finally {\n _iterator282.f();\n }\n\n return r;\n }(t, e);\n\n if (i) {\n var _t214 = Fl(r.filter(function (_ref102) {\n var t = _ref102.viewportIntersectArea;\n return t === o;\n }), o);\n\n if (_t214) return _t214;\n }\n\n return Fl(r, o);\n }(n, {\n targetRect: a,\n elementRect: s,\n limiterRect: i && new is(i).getVisible(),\n viewportRect: o && new is(or.window)\n });\n\n var _ref103 = _t210 || Bl(n[0], a, s);\n\n var _ref104 = _slicedToArray(_ref103, 2);\n\n l = _ref104[0];\n c = _ref104[1];\n } else {\n var _Bl = Bl(n[0], a, s);\n\n var _Bl2 = _slicedToArray(_Bl, 2);\n\n l = _Bl2[0];\n c = _Bl2[1];\n }\n\n var d = Ul(c);\n return r && (d = function (_ref105, n) {\n var t = _ref105.left,\n e = _ref105.top;\n var i = Ul(new is(n)),\n o = es(n);\n return t -= i.left, e -= i.top, t += n.scrollLeft, e += n.scrollTop, t -= o.left, e -= o.top, {\n left: t,\n top: e\n };\n }(d, r)), {\n left: d.left,\n top: d.top,\n name: l\n };\n }\n\n function Bl(t, e, n) {\n var i = t(e, n);\n if (!i) return null;\n var o = i.left,\n r = i.top,\n s = i.name;\n return [s, n.clone().moveTo(o, r)];\n }\n\n function Fl(t, e) {\n var n,\n i,\n o = 0;\n\n var _iterator283 = _createForOfIteratorHelper(t),\n _step283;\n\n try {\n for (_iterator283.s(); !(_step283 = _iterator283.n()).done;) {\n var _ref107 = _step283.value;\n var _r28 = _ref107.positionName;\n var _s22 = _ref107.positionRect;\n var _a12 = _ref107.limiterIntersectArea;\n var _c6 = _ref107.viewportIntersectArea;\n if (_a12 === e) return [_r28, _s22];\n\n var _t215 = Math.pow(_c6, 2) + Math.pow(_a12, 2);\n\n _t215 > o && (o = _t215, n = _s22, i = _r28);\n }\n } catch (err) {\n _iterator283.e(err);\n } finally {\n _iterator283.f();\n }\n\n return n ? [i, n] : null;\n }\n\n function Ul(_ref108) {\n var t = _ref108.left,\n e = _ref108.top;\n var _or$window2 = or.window,\n n = _or$window2.scrollX,\n i = _or$window2.scrollY;\n return {\n left: t + n,\n top: e + i\n };\n }\n\n var Hl = /*#__PURE__*/function (_yl7) {\n _inherits(Hl, _yl7);\n\n var _super51 = _createSuper(Hl);\n\n function Hl(t, e, n) {\n var _this101;\n\n _classCallCheck(this, Hl);\n\n _this101 = _super51.call(this, t);\n var i = _this101.bindTemplate;\n _this101.buttonView = e, _this101.panelView = n, _this101.set(\"isOpen\", !1), _this101.set(\"isEnabled\", !0), _this101.set(\"class\"), _this101.set(\"id\"), _this101.set(\"panelPosition\", \"auto\"), _this101.keystrokes = new jc(), _this101.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-dropdown\", i.to(\"class\"), i[\"if\"](\"isEnabled\", \"ck-disabled\", function (t) {\n return !t;\n })],\n id: i.to(\"id\"),\n \"aria-describedby\": i.to(\"ariaDescribedById\")\n },\n children: [e, n]\n }), e.extendTemplate({\n attributes: {\n \"class\": [\"ck-dropdown__button\"]\n }\n });\n return _this101;\n }\n\n _createClass(Hl, [{\n key: \"render\",\n value: function render() {\n var _this102 = this;\n\n _get(_getPrototypeOf(Hl.prototype), \"render\", this).call(this), this.listenTo(this.buttonView, \"open\", function () {\n _this102.isOpen = !_this102.isOpen;\n }), this.panelView.bind(\"isVisible\").to(this, \"isOpen\"), this.on(\"change:isOpen\", function () {\n _this102.isOpen && (\"auto\" === _this102.panelPosition ? _this102.panelView.position = Hl._getOptimalPosition({\n element: _this102.panelView.element,\n target: _this102.buttonView.element,\n fitInViewport: !0,\n positions: _this102._panelPositions\n }).name : _this102.panelView.position = _this102.panelPosition);\n }), this.keystrokes.listenTo(this.element);\n\n var t = function t(_t216, e) {\n _this102.isOpen && (_this102.buttonView.focus(), _this102.isOpen = !1, e());\n };\n\n this.keystrokes.set(\"arrowdown\", function (t, e) {\n _this102.buttonView.isEnabled && !_this102.isOpen && (_this102.isOpen = !0, e());\n }), this.keystrokes.set(\"arrowright\", function (t, e) {\n _this102.isOpen && e();\n }), this.keystrokes.set(\"arrowleft\", t), this.keystrokes.set(\"esc\", t);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.buttonView.focus();\n }\n }, {\n key: \"_panelPositions\",\n get: function get() {\n var _Hl$defaultPanelPosit = Hl.defaultPanelPositions,\n t = _Hl$defaultPanelPosit.southEast,\n e = _Hl$defaultPanelPosit.southWest,\n n = _Hl$defaultPanelPosit.northEast,\n i = _Hl$defaultPanelPosit.northWest;\n return \"ltr\" === this.locale.uiLanguageDirection ? [t, e, n, i] : [e, t, i, n];\n }\n }]);\n\n return Hl;\n }(yl);\n\n Hl.defaultPanelPositions = {\n southEast: function southEast(t) {\n return {\n top: t.bottom,\n left: t.left,\n name: \"se\"\n };\n },\n southWest: function southWest(t, e) {\n return {\n top: t.bottom,\n left: t.left - e.width + t.width,\n name: \"sw\"\n };\n },\n northEast: function northEast(t, e) {\n return {\n top: t.top - e.height,\n left: t.left,\n name: \"ne\"\n };\n },\n northWest: function northWest(t, e) {\n return {\n top: t.bottom - e.height,\n left: t.left - e.width + t.width,\n name: \"nw\"\n };\n }\n }, Hl._getOptimalPosition = zl;\n n(26);\n\n var Wl = /*#__PURE__*/function (_yl8) {\n _inherits(Wl, _yl8);\n\n var _super52 = _createSuper(Wl);\n\n function Wl() {\n var _this103;\n\n _classCallCheck(this, Wl);\n\n _this103 = _super52.call(this);\n var t = _this103.bindTemplate;\n _this103.set(\"content\", \"\"), _this103.set(\"viewBox\", \"0 0 20 20\"), _this103.set(\"fillColor\", \"\"), _this103.setTemplate({\n tag: \"svg\",\n ns: \"http://www.w3.org/2000/svg\",\n attributes: {\n \"class\": [\"ck\", \"ck-icon\"],\n viewBox: t.to(\"viewBox\")\n }\n });\n return _this103;\n }\n\n _createClass(Wl, [{\n key: \"render\",\n value: function render() {\n var _this104 = this;\n\n _get(_getPrototypeOf(Wl.prototype), \"render\", this).call(this), this._updateXMLContent(), this._colorFillPaths(), this.on(\"change:content\", function () {\n _this104._updateXMLContent(), _this104._colorFillPaths();\n }), this.on(\"change:fillColor\", function () {\n _this104._colorFillPaths();\n });\n }\n }, {\n key: \"_updateXMLContent\",\n value: function _updateXMLContent() {\n if (this.content) {\n var _t217 = new DOMParser().parseFromString(this.content.trim(), \"image/svg+xml\").querySelector(\"svg\"),\n _e201 = _t217.getAttribute(\"viewBox\");\n\n for (_e201 && (this.viewBox = _e201), this.element.innerHTML = \"\"; _t217.childNodes.length > 0;) {\n this.element.appendChild(_t217.childNodes[0]);\n }\n }\n }\n }, {\n key: \"_colorFillPaths\",\n value: function _colorFillPaths() {\n var _this105 = this;\n\n this.fillColor && this.element.querySelectorAll(\".ck-icon__fill\").forEach(function (t) {\n t.style.fill = _this105.fillColor;\n });\n }\n }]);\n\n return Wl;\n }(yl);\n\n n(28);\n\n var ql = /*#__PURE__*/function (_yl9) {\n _inherits(ql, _yl9);\n\n var _super53 = _createSuper(ql);\n\n function ql(t) {\n var _this106;\n\n _classCallCheck(this, ql);\n\n _this106 = _super53.call(this, t), _this106.set(\"text\", \"\"), _this106.set(\"position\", \"s\");\n var e = _this106.bindTemplate;\n\n _this106.setTemplate({\n tag: \"span\",\n attributes: {\n \"class\": [\"ck\", \"ck-tooltip\", e.to(\"position\", function (t) {\n return \"ck-tooltip_\" + t;\n }), e[\"if\"](\"text\", \"ck-hidden\", function (t) {\n return !t.trim();\n })]\n },\n children: [{\n tag: \"span\",\n attributes: {\n \"class\": [\"ck\", \"ck-tooltip__text\"]\n },\n children: [{\n text: e.to(\"text\")\n }]\n }]\n });\n\n return _this106;\n }\n\n return ql;\n }(yl);\n\n n(30);\n\n var $l = /*#__PURE__*/function (_yl10) {\n _inherits($l, _yl10);\n\n var _super54 = _createSuper($l);\n\n function $l(t) {\n var _this107;\n\n _classCallCheck(this, $l);\n\n _this107 = _super54.call(this, t);\n var e = _this107.bindTemplate,\n n = dn();\n _this107.set(\"class\"), _this107.set(\"labelStyle\"), _this107.set(\"icon\"), _this107.set(\"isEnabled\", !0), _this107.set(\"isOn\", !1), _this107.set(\"isVisible\", !0), _this107.set(\"isToggleable\", !1), _this107.set(\"keystroke\"), _this107.set(\"label\"), _this107.set(\"tabindex\", -1), _this107.set(\"tooltip\"), _this107.set(\"tooltipPosition\", \"s\"), _this107.set(\"type\", \"button\"), _this107.set(\"withText\", !1), _this107.set(\"withKeystroke\", !1), _this107.children = _this107.createCollection(), _this107.tooltipView = _this107._createTooltipView(), _this107.labelView = _this107._createLabelView(n), _this107.iconView = new Wl(), _this107.iconView.extendTemplate({\n attributes: {\n \"class\": \"ck-button__icon\"\n }\n }), _this107.keystrokeView = _this107._createKeystrokeView(), _this107.bind(\"_tooltipString\").to(_assertThisInitialized(_this107), \"tooltip\", _assertThisInitialized(_this107), \"label\", _assertThisInitialized(_this107), \"keystroke\", _this107._getTooltipString.bind(_assertThisInitialized(_this107))), _this107.setTemplate({\n tag: \"button\",\n attributes: {\n \"class\": [\"ck\", \"ck-button\", e.to(\"class\"), e[\"if\"](\"isEnabled\", \"ck-disabled\", function (t) {\n return !t;\n }), e[\"if\"](\"isVisible\", \"ck-hidden\", function (t) {\n return !t;\n }), e.to(\"isOn\", function (t) {\n return t ? \"ck-on\" : \"ck-off\";\n }), e[\"if\"](\"withText\", \"ck-button_with-text\"), e[\"if\"](\"withKeystroke\", \"ck-button_with-keystroke\")],\n type: e.to(\"type\", function (t) {\n return t || \"button\";\n }),\n tabindex: e.to(\"tabindex\"),\n \"aria-labelledby\": \"ck-editor__aria-label_\" + n,\n \"aria-disabled\": e[\"if\"](\"isEnabled\", !0, function (t) {\n return !t;\n }),\n \"aria-pressed\": e.to(\"isOn\", function (t) {\n return !!_this107.isToggleable && String(t);\n })\n },\n children: _this107.children,\n on: {\n mousedown: e.to(function (t) {\n t.preventDefault();\n }),\n click: e.to(function (t) {\n _this107.isEnabled ? _this107.fire(\"execute\") : t.preventDefault();\n })\n }\n });\n return _this107;\n }\n\n _createClass($l, [{\n key: \"render\",\n value: function render() {\n _get(_getPrototypeOf($l.prototype), \"render\", this).call(this), 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.children.add(this.keystrokeView);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.element.focus();\n }\n }, {\n key: \"_createTooltipView\",\n value: function _createTooltipView() {\n var t = new ql();\n return t.bind(\"text\").to(this, \"_tooltipString\"), t.bind(\"position\").to(this, \"tooltipPosition\"), t;\n }\n }, {\n key: \"_createLabelView\",\n value: function _createLabelView(t) {\n var e = new yl(),\n n = this.bindTemplate;\n return e.setTemplate({\n tag: \"span\",\n attributes: {\n \"class\": [\"ck\", \"ck-button__label\"],\n style: n.to(\"labelStyle\"),\n id: \"ck-editor__aria-label_\" + t\n },\n children: [{\n text: this.bindTemplate.to(\"label\")\n }]\n }), e;\n }\n }, {\n key: \"_createKeystrokeView\",\n value: function _createKeystrokeView() {\n var t = new yl();\n return t.setTemplate({\n tag: \"span\",\n attributes: {\n \"class\": [\"ck\", \"ck-button__keystroke\"]\n },\n children: [{\n text: this.bindTemplate.to(\"keystroke\", function (t) {\n return wo(t);\n })\n }]\n }), t;\n }\n }, {\n key: \"_getTooltipString\",\n value: function _getTooltipString(t, e, n) {\n return t ? \"string\" == typeof t ? t : (n && (n = wo(n)), t instanceof Function ? t(e, n) : \"\".concat(e).concat(n ? \" (\".concat(n, \")\") : \"\")) : \"\";\n }\n }]);\n\n return $l;\n }(yl);\n\n var Yl = '';\n\n var Gl = /*#__PURE__*/function (_$l) {\n _inherits(Gl, _$l);\n\n var _super55 = _createSuper(Gl);\n\n function Gl(t) {\n var _this108;\n\n _classCallCheck(this, Gl);\n\n _this108 = _super55.call(this, t), _this108.arrowView = _this108._createArrowView(), _this108.extendTemplate({\n attributes: {\n \"aria-haspopup\": !0\n }\n }), _this108.delegate(\"execute\").to(_assertThisInitialized(_this108), \"open\");\n return _this108;\n }\n\n _createClass(Gl, [{\n key: \"render\",\n value: function render() {\n _get(_getPrototypeOf(Gl.prototype), \"render\", this).call(this), this.children.add(this.arrowView);\n }\n }, {\n key: \"_createArrowView\",\n value: function _createArrowView() {\n var t = new Wl();\n return t.content = Yl, t.extendTemplate({\n attributes: {\n \"class\": \"ck-dropdown__arrow\"\n }\n }), t;\n }\n }]);\n\n return Gl;\n }($l);\n\n n(32);\n\n var Kl = /*#__PURE__*/function (_yl11) {\n _inherits(Kl, _yl11);\n\n var _super56 = _createSuper(Kl);\n\n function Kl() {\n var _this109;\n\n _classCallCheck(this, Kl);\n\n _this109 = _super56.call(this), _this109.items = _this109.createCollection(), _this109.focusTracker = new Yc(), _this109.keystrokes = new jc(), _this109._focusCycler = new Ol({\n focusables: _this109.items,\n focusTracker: _this109.focusTracker,\n keystrokeHandler: _this109.keystrokes,\n actions: {\n focusPrevious: \"arrowup\",\n focusNext: \"arrowdown\"\n }\n }), _this109.setTemplate({\n tag: \"ul\",\n attributes: {\n \"class\": [\"ck\", \"ck-reset\", \"ck-list\"]\n },\n children: _this109.items\n });\n return _this109;\n }\n\n _createClass(Kl, [{\n key: \"render\",\n value: function render() {\n var _this110 = this;\n\n _get(_getPrototypeOf(Kl.prototype), \"render\", this).call(this);\n\n var _iterator284 = _createForOfIteratorHelper(this.items),\n _step284;\n\n try {\n for (_iterator284.s(); !(_step284 = _iterator284.n()).done;) {\n var _t218 = _step284.value;\n this.focusTracker.add(_t218.element);\n }\n } catch (err) {\n _iterator284.e(err);\n } finally {\n _iterator284.f();\n }\n\n this.items.on(\"add\", function (t, e) {\n _this110.focusTracker.add(e.element);\n }), this.items.on(\"remove\", function (t, e) {\n _this110.focusTracker.remove(e.element);\n }), this.keystrokes.listenTo(this.element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this._focusCycler.focusFirst();\n }\n }, {\n key: \"focusLast\",\n value: function focusLast() {\n this._focusCycler.focusLast();\n }\n }]);\n\n return Kl;\n }(yl);\n\n var Ql = /*#__PURE__*/function (_yl12) {\n _inherits(Ql, _yl12);\n\n var _super57 = _createSuper(Ql);\n\n function Ql(t) {\n var _this111;\n\n _classCallCheck(this, Ql);\n\n _this111 = _super57.call(this, t), _this111.children = _this111.createCollection(), _this111.setTemplate({\n tag: \"li\",\n attributes: {\n \"class\": [\"ck\", \"ck-list__item\"]\n },\n children: _this111.children\n });\n return _this111;\n }\n\n _createClass(Ql, [{\n key: \"focus\",\n value: function focus() {\n this.children.first.focus();\n }\n }]);\n\n return Ql;\n }(yl);\n\n var Jl = /*#__PURE__*/function (_yl13) {\n _inherits(Jl, _yl13);\n\n var _super58 = _createSuper(Jl);\n\n function Jl(t) {\n var _this112;\n\n _classCallCheck(this, Jl);\n\n _this112 = _super58.call(this, t), _this112.setTemplate({\n tag: \"li\",\n attributes: {\n \"class\": [\"ck\", \"ck-list__separator\"]\n }\n });\n return _this112;\n }\n\n return Jl;\n }(yl);\n\n n(34);\n\n var Zl = /*#__PURE__*/function (_$l2) {\n _inherits(Zl, _$l2);\n\n var _super59 = _createSuper(Zl);\n\n function Zl(t) {\n var _this113;\n\n _classCallCheck(this, Zl);\n\n _this113 = _super59.call(this, t), _this113.isToggleable = !0, _this113.toggleSwitchView = _this113._createToggleView(), _this113.extendTemplate({\n attributes: {\n \"class\": \"ck-switchbutton\"\n }\n });\n return _this113;\n }\n\n _createClass(Zl, [{\n key: \"render\",\n value: function render() {\n _get(_getPrototypeOf(Zl.prototype), \"render\", this).call(this), this.children.add(this.toggleSwitchView);\n }\n }, {\n key: \"_createToggleView\",\n value: function _createToggleView() {\n var t = new yl();\n return t.setTemplate({\n tag: \"span\",\n attributes: {\n \"class\": [\"ck\", \"ck-button__toggle\"]\n },\n children: [{\n tag: \"span\",\n attributes: {\n \"class\": [\"ck\", \"ck-button__toggle__inner\"]\n }\n }]\n }), t;\n }\n }]);\n\n return Zl;\n }($l);\n\n function Xl(_ref109) {\n var t = _ref109.emitter,\n e = _ref109.activator,\n n = _ref109.callback,\n i = _ref109.contextElements;\n t.listenTo(document, \"mousedown\", function (t, o) {\n if (!e()) return;\n var r = \"function\" == typeof o.composedPath ? o.composedPath() : [];\n\n var _iterator285 = _createForOfIteratorHelper(i),\n _step285;\n\n try {\n for (_iterator285.s(); !(_step285 = _iterator285.n()).done;) {\n var _t219 = _step285.value;\n if (_t219.contains(o.target) || r.includes(_t219)) return;\n }\n } catch (err) {\n _iterator285.e(err);\n } finally {\n _iterator285.f();\n }\n\n n();\n });\n }\n\n n(36), n(38);\n\n function td(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Gl;\n var n = new e(t),\n i = new jl(t),\n o = new Hl(t, n, i);\n return n.bind(\"isEnabled\").to(o), n instanceof Gl ? n.bind(\"isOn\").to(o, \"isOpen\") : n.arrowView.bind(\"isOn\").to(o, \"isOpen\"), function (t) {\n (function (t) {\n t.on(\"render\", function () {\n Xl({\n emitter: t,\n activator: function activator() {\n return t.isOpen;\n },\n callback: function callback() {\n t.isOpen = !1;\n },\n contextElements: [t.element]\n });\n });\n })(t), function (t) {\n t.on(\"execute\", function (e) {\n e.source instanceof Zl || (t.isOpen = !1);\n });\n }(t), function (t) {\n t.keystrokes.set(\"arrowdown\", function (e, n) {\n t.isOpen && (t.panelView.focus(), n());\n }), t.keystrokes.set(\"arrowup\", function (e, n) {\n t.isOpen && (t.panelView.focusLast(), n());\n });\n }(t);\n }(o), o;\n }\n\n function ed(t, e) {\n var n = t.locale,\n i = t.listView = new Kl(n);\n i.items.bindTo(e).using(function (_ref110) {\n var t = _ref110.type,\n e = _ref110.model;\n if (\"separator\" === t) return new Jl(n);\n\n if (\"button\" === t || \"switchbutton\" === t) {\n var _o71;\n\n var _i134 = new Ql(n);\n\n var _o70;\n\n return _o70 = \"button\" === t ? new $l(n) : new Zl(n), (_o71 = _o70).bind.apply(_o71, _toConsumableArray(Object.keys(e))).to(e), _o70.delegate(\"execute\").to(_i134), _i134.children.add(_o70), _i134;\n }\n }), t.panelView.children.add(i), i.items.delegate(\"execute\").to(t);\n }\n\n n(40);\n\n var nd = /*#__PURE__*/function (_yl14) {\n _inherits(nd, _yl14);\n\n var _super60 = _createSuper(nd);\n\n function nd(t, e) {\n var _this114;\n\n _classCallCheck(this, nd);\n\n _this114 = _super60.call(this, t);\n var n = _this114.bindTemplate,\n i = _this114.t;\n var o;\n _this114.options = e || {}, _this114.set(\"ariaLabel\", i(\"Editor toolbar\")), _this114.set(\"maxWidth\", \"auto\"), _this114.items = _this114.createCollection(), _this114.focusTracker = new Yc(), _this114.keystrokes = new jc(), _this114.set(\"class\"), _this114.set(\"isCompact\", !1), _this114.itemsView = new id(t), _this114.children = _this114.createCollection(), _this114.children.add(_this114.itemsView), _this114.focusables = _this114.createCollection(), _this114._focusCycler = new Ol({\n focusables: _this114.focusables,\n focusTracker: _this114.focusTracker,\n keystrokeHandler: _this114.keystrokes,\n actions: {\n focusPrevious: [\"arrowleft\", \"arrowup\"],\n focusNext: [\"arrowright\", \"arrowdown\"]\n }\n }), _this114.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-toolbar\", n.to(\"class\"), n[\"if\"](\"isCompact\", \"ck-toolbar_compact\")],\n role: \"toolbar\",\n \"aria-label\": n.to(\"ariaLabel\"),\n style: {\n maxWidth: n.to(\"maxWidth\")\n }\n },\n children: _this114.children,\n on: {\n mousedown: (o = _assertThisInitialized(_this114), o.bindTemplate.to(function (t) {\n t.target === o.element && t.preventDefault();\n }))\n }\n }), _this114._behavior = _this114.options.shouldGroupWhenFull ? new rd(_assertThisInitialized(_this114)) : new od(_assertThisInitialized(_this114));\n return _this114;\n }\n\n _createClass(nd, [{\n key: \"render\",\n value: function render() {\n var _this115 = this;\n\n _get(_getPrototypeOf(nd.prototype), \"render\", this).call(this);\n\n var _iterator286 = _createForOfIteratorHelper(this.items),\n _step286;\n\n try {\n for (_iterator286.s(); !(_step286 = _iterator286.n()).done;) {\n var _t220 = _step286.value;\n this.focusTracker.add(_t220.element);\n }\n } catch (err) {\n _iterator286.e(err);\n } finally {\n _iterator286.f();\n }\n\n this.items.on(\"add\", function (t, e) {\n _this115.focusTracker.add(e.element);\n }), this.items.on(\"remove\", function (t, e) {\n _this115.focusTracker.remove(e.element);\n }), this.keystrokes.listenTo(this.element), this._behavior.render(this);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this._behavior.destroy(), _get(_getPrototypeOf(nd.prototype), \"destroy\", this).call(this);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this._focusCycler.focusFirst();\n }\n }, {\n key: \"focusLast\",\n value: function focusLast() {\n this._focusCycler.focusLast();\n }\n }, {\n key: \"fillFromConfig\",\n value: function fillFromConfig(t, e) {\n this.items.addMany(t.map(function (t) {\n return \"|\" == t ? new Dl() : e.has(t) ? e.create(t) : void Object(hn.c)(\"toolbarview-item-unavailable\", {\n name: t\n });\n }).filter(function (t) {\n return void 0 !== t;\n }));\n }\n }]);\n\n return nd;\n }(yl);\n\n var id = /*#__PURE__*/function (_yl15) {\n _inherits(id, _yl15);\n\n var _super61 = _createSuper(id);\n\n function id(t) {\n var _this116;\n\n _classCallCheck(this, id);\n\n _this116 = _super61.call(this, t), _this116.children = _this116.createCollection(), _this116.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-toolbar__items\"]\n },\n children: _this116.children\n });\n return _this116;\n }\n\n return id;\n }(yl);\n\n var od = /*#__PURE__*/function () {\n function od(t) {\n _classCallCheck(this, od);\n\n var e = t.bindTemplate;\n t.set(\"isVertical\", !1), t.itemsView.children.bindTo(t.items).using(function (t) {\n return t;\n }), t.focusables.bindTo(t.items).using(function (t) {\n return t;\n }), t.extendTemplate({\n attributes: {\n \"class\": [e[\"if\"](\"isVertical\", \"ck-toolbar_vertical\")]\n }\n });\n }\n\n _createClass(od, [{\n key: \"render\",\n value: function render() {}\n }, {\n key: \"destroy\",\n value: function destroy() {}\n }]);\n\n return od;\n }();\n\n var rd = /*#__PURE__*/function () {\n function rd(t) {\n var _this117 = this;\n\n _classCallCheck(this, rd);\n\n this.view = t, this.viewChildren = t.children, this.viewFocusables = t.focusables, this.viewItemsView = t.itemsView, this.viewFocusTracker = t.focusTracker, this.viewLocale = t.locale, this.ungroupedItems = t.createCollection(), this.groupedItems = t.createCollection(), this.groupedItemsDropdown = this._createGroupedItemsDropdown(), this.resizeObserver = null, this.cachedPadding = null, this.shouldUpdateGroupingOnNextResize = !1, t.itemsView.children.bindTo(this.ungroupedItems).using(function (t) {\n return t;\n }), this.ungroupedItems.on(\"add\", this._updateFocusCycleableItems.bind(this)), this.ungroupedItems.on(\"remove\", this._updateFocusCycleableItems.bind(this)), t.children.on(\"add\", this._updateFocusCycleableItems.bind(this)), t.children.on(\"remove\", this._updateFocusCycleableItems.bind(this)), t.items.on(\"change\", function (t, e) {\n var n = e.index;\n\n var _iterator287 = _createForOfIteratorHelper(e.removed),\n _step287;\n\n try {\n for (_iterator287.s(); !(_step287 = _iterator287.n()).done;) {\n var _t222 = _step287.value;\n n >= _this117.ungroupedItems.length ? _this117.groupedItems.remove(_t222) : _this117.ungroupedItems.remove(_t222);\n }\n } catch (err) {\n _iterator287.e(err);\n } finally {\n _iterator287.f();\n }\n\n for (var _t221 = n; _t221 < n + e.added.length; _t221++) {\n var _i135 = e.added[_t221 - n];\n _t221 > _this117.ungroupedItems.length ? _this117.groupedItems.add(_i135, _t221 - _this117.ungroupedItems.length) : _this117.ungroupedItems.add(_i135, _t221);\n }\n\n _this117._updateGrouping();\n }), t.extendTemplate({\n attributes: {\n \"class\": [\"ck-toolbar_grouping\"]\n }\n });\n }\n\n _createClass(rd, [{\n key: \"render\",\n value: function render(t) {\n this.viewElement = t.element, this._enableGroupingOnResize(), this._enableGroupingOnMaxWidthChange(t);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.groupedItemsDropdown.destroy(), this.resizeObserver.destroy();\n }\n }, {\n key: \"_updateGrouping\",\n value: function _updateGrouping() {\n if (!this.viewElement.ownerDocument.body.contains(this.viewElement)) return;\n if (!this.viewElement.offsetParent) return void (this.shouldUpdateGroupingOnNextResize = !0);\n var t = this.groupedItems.length;\n var e;\n\n for (; this._areItemsOverflowing;) {\n this._groupLastItem(), e = !0;\n }\n\n if (!e && this.groupedItems.length) {\n for (; this.groupedItems.length && !this._areItemsOverflowing;) {\n this._ungroupFirstItem();\n }\n\n this._areItemsOverflowing && this._groupLastItem();\n }\n\n this.groupedItems.length !== t && this.view.fire(\"groupedItemsUpdate\");\n }\n }, {\n key: \"_enableGroupingOnResize\",\n value: function _enableGroupingOnResize() {\n var _this118 = this;\n\n var t;\n this.resizeObserver = new Ll(this.viewElement, function (e) {\n t && t === e.contentRect.width && !_this118.shouldUpdateGroupingOnNextResize || (_this118.shouldUpdateGroupingOnNextResize = !1, _this118._updateGrouping(), t = e.contentRect.width);\n }), this._updateGrouping();\n }\n }, {\n key: \"_enableGroupingOnMaxWidthChange\",\n value: function _enableGroupingOnMaxWidthChange(t) {\n var _this119 = this;\n\n t.on(\"change:maxWidth\", function () {\n _this119._updateGrouping();\n });\n }\n }, {\n key: \"_groupLastItem\",\n value: function _groupLastItem() {\n this.groupedItems.length || (this.viewChildren.add(new Dl()), this.viewChildren.add(this.groupedItemsDropdown), this.viewFocusTracker.add(this.groupedItemsDropdown.element)), this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last), 0);\n }\n }, {\n key: \"_ungroupFirstItem\",\n value: function _ungroupFirstItem() {\n 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));\n }\n }, {\n key: \"_createGroupedItemsDropdown\",\n value: function _createGroupedItemsDropdown() {\n var t = this.viewLocale,\n e = t.t,\n n = td(t);\n return n[\"class\"] = \"ck-toolbar__grouped-dropdown\", n.panelPosition = \"ltr\" === t.uiLanguageDirection ? \"sw\" : \"se\", function (t, e) {\n var n = t.locale,\n i = n.t,\n o = t.toolbarView = new nd(n);\n o.set(\"ariaLabel\", i(\"Dropdown toolbar\")), t.extendTemplate({\n attributes: {\n \"class\": [\"ck-toolbar-dropdown\"]\n }\n }), e.map(function (t) {\n return o.items.add(t);\n }), t.panelView.children.add(o), o.items.delegate(\"execute\").to(t);\n }(n, []), n.buttonView.set({\n label: e(\"Show more items\"),\n tooltip: !0,\n icon: ''\n }), n.toolbarView.items.bindTo(this.groupedItems).using(function (t) {\n return t;\n }), n;\n }\n }, {\n key: \"_updateFocusCycleableItems\",\n value: function _updateFocusCycleableItems() {\n var _this120 = this;\n\n this.viewFocusables.clear(), this.ungroupedItems.map(function (t) {\n _this120.viewFocusables.add(t);\n }), this.groupedItems.length && this.viewFocusables.add(this.groupedItemsDropdown);\n }\n }, {\n key: \"_areItemsOverflowing\",\n get: function get() {\n if (!this.ungroupedItems.length) return !1;\n var t = this.viewElement,\n e = this.viewLocale.uiLanguageDirection,\n n = new is(t.lastChild),\n i = new is(t);\n\n if (!this.cachedPadding) {\n var _n177 = or.window.getComputedStyle(t),\n _i136 = \"ltr\" === e ? \"paddingRight\" : \"paddingLeft\";\n\n this.cachedPadding = Number.parseInt(_n177[_i136]);\n }\n\n return \"ltr\" === e ? n.right > i.right - this.cachedPadding : n.left < i.left + this.cachedPadding;\n }\n }]);\n\n return rd;\n }();\n\n n(42);\n\n var sd = /*#__PURE__*/function (_Pl) {\n _inherits(sd, _Pl);\n\n var _super62 = _createSuper(sd);\n\n function sd(t, e) {\n var _this121;\n\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n _classCallCheck(this, sd);\n\n _this121 = _super62.call(this, t), _this121.stickyPanel = new Nl(t), _this121.toolbar = new nd(t, {\n shouldGroupWhenFull: n.shouldToolbarGroupWhenFull\n }), _this121.editable = new El(t, e);\n return _this121;\n }\n\n _createClass(sd, [{\n key: \"render\",\n value: function render() {\n _get(_getPrototypeOf(sd.prototype), \"render\", this).call(this), this.stickyPanel.content.add(this.toolbar), this.top.add(this.stickyPanel), this.main.add(this.editable);\n }\n }]);\n\n return sd;\n }(Pl);\n\n var ad = /*#__PURE__*/function (_Bc) {\n _inherits(ad, _Bc);\n\n var _super63 = _createSuper(ad);\n\n function ad(t, e) {\n var _this122;\n\n _classCallCheck(this, ad);\n\n _this122 = _super63.call(this, e), nn(t) && (_this122.sourceElement = t), _this122.data.processor = new Wc(_this122.data.viewDocument), _this122.model.document.createRoot();\n var n = !_this122.config.get(\"toolbar.shouldNotGroupWhenFull\"),\n i = new sd(_this122.locale, _this122.editing.view, {\n shouldToolbarGroupWhenFull: n\n });\n _this122.ui = new el(_assertThisInitialized(_this122), i), function (t) {\n if (!z(t.updateSourceElement)) throw new hn.a(\"attachtoform-missing-elementapi-interface\", t);\n var e = t.sourceElement;\n\n if (e && \"textarea\" === e.tagName.toLowerCase() && e.form) {\n var _n178;\n\n var _i137 = e.form,\n _o72 = function _o72() {\n return t.updateSourceElement();\n };\n\n z(_i137.submit) && (_n178 = _i137.submit, _i137.submit = function () {\n _o72(), _n178.apply(_i137);\n }), _i137.addEventListener(\"submit\", _o72), t.on(\"destroy\", function () {\n _i137.removeEventListener(\"submit\", _o72), _n178 && (_i137.submit = _n178);\n });\n }\n }(_assertThisInitialized(_this122));\n return _this122;\n }\n\n _createClass(ad, [{\n key: \"destroy\",\n value: function destroy() {\n return this.sourceElement && this.updateSourceElement(), this.ui.destroy(), _get(_getPrototypeOf(ad.prototype), \"destroy\", this).call(this);\n }\n }], [{\n key: \"create\",\n value: function create(t) {\n var _this123 = this;\n\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return new Promise(function (n) {\n var i = new _this123(t, e);\n n(i.initPlugins().then(function () {\n return i.ui.init(nn(t) ? t : null);\n }).then(function () {\n if (!nn(t) && e.initialData) throw new hn.a(\"editor-create-initial-data\", null);\n\n var n = e.initialData || function (t) {\n return nn(t) ? (e = t, e instanceof HTMLTextAreaElement ? e.value : e.innerHTML) : t;\n var e;\n }(t);\n\n return i.data.init(n);\n }).then(function () {\n return i.fire(\"ready\");\n }).then(function () {\n return i;\n }));\n });\n }\n }]);\n\n return ad;\n }(Bc);\n\n xn(ad, Fc), xn(ad, Uc);\n\n var cd = /*#__PURE__*/function () {\n function cd(t) {\n _classCallCheck(this, cd);\n\n this.editor = t, this.set(\"isEnabled\", !0), this._disableStack = new Set();\n }\n\n _createClass(cd, [{\n key: \"forceDisabled\",\n value: function forceDisabled(t) {\n this._disableStack.add(t), 1 == this._disableStack.size && (this.on(\"set:isEnabled\", ld, {\n priority: \"highest\"\n }), this.isEnabled = !1);\n }\n }, {\n key: \"clearForceDisabled\",\n value: function clearForceDisabled(t) {\n this._disableStack[\"delete\"](t), 0 == this._disableStack.size && (this.off(\"set:isEnabled\", ld), this.isEnabled = !0);\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }], [{\n key: \"isContextPlugin\",\n get: function get() {\n return !1;\n }\n }]);\n\n return cd;\n }();\n\n function ld(t) {\n t[\"return\"] = !1, t.stop();\n }\n\n xn(cd, Ui);\n\n var dd = /*#__PURE__*/function () {\n function dd(t) {\n _classCallCheck(this, dd);\n\n this.files = function (t) {\n var e = t.files ? Array.from(t.files) : [],\n n = t.items ? Array.from(t.items) : [];\n if (e.length) return e;\n return n.filter(function (t) {\n return \"file\" === t.kind;\n }).map(function (t) {\n return t.getAsFile();\n });\n }(t), this._native = t;\n }\n\n _createClass(dd, [{\n key: \"getData\",\n value: function getData(t) {\n return this._native.getData(t);\n }\n }, {\n key: \"setData\",\n value: function setData(t, e) {\n this._native.setData(t, e);\n }\n }, {\n key: \"types\",\n get: function get() {\n return this._native.types;\n }\n }]);\n\n return dd;\n }();\n\n var ud = /*#__PURE__*/function (_Vr5) {\n _inherits(ud, _Vr5);\n\n var _super64 = _createSuper(ud);\n\n function ud(t) {\n var _this124;\n\n _classCallCheck(this, ud);\n\n _this124 = _super64.call(this, t);\n var e = _this124.document;\n\n function n(t, n) {\n n.preventDefault();\n var i = n.dropRange ? [n.dropRange] : Array.from(e.selection.getRanges()),\n o = new cn(e, \"clipboardInput\");\n e.fire(o, {\n dataTransfer: n.dataTransfer,\n targetRanges: i\n }), o.stop.called && n.stopPropagation();\n }\n\n _this124.domEventType = [\"paste\", \"copy\", \"cut\", \"drop\", \"dragover\"], _this124.listenTo(e, \"paste\", n, {\n priority: \"low\"\n }), _this124.listenTo(e, \"drop\", n, {\n priority: \"low\"\n });\n return _this124;\n }\n\n _createClass(ud, [{\n key: \"onDomEvent\",\n value: function onDomEvent(t) {\n var e = {\n dataTransfer: new dd(t.clipboardData ? t.clipboardData : t.dataTransfer)\n };\n \"drop\" == t.type && (e.dropRange = function (t, e) {\n var n = e.target.ownerDocument,\n i = e.clientX,\n o = e.clientY;\n var r;\n n.caretRangeFromPoint && n.caretRangeFromPoint(i, o) ? r = n.caretRangeFromPoint(i, o) : e.rangeParent && (r = n.createRange(), r.setStart(e.rangeParent, e.rangeOffset), r.collapse(!0));\n return r ? t.domConverter.domRangeToView(r) : t.document.selection.getFirstRange();\n }(this.view, t)), this.fire(t.type, t, e);\n }\n }]);\n\n return ud;\n }(Vr);\n\n var hd = /*#__PURE__*/function (_cd) {\n _inherits(hd, _cd);\n\n var _super65 = _createSuper(hd);\n\n function hd() {\n _classCallCheck(this, hd);\n\n return _super65.apply(this, arguments);\n }\n\n _createClass(hd, [{\n key: \"init\",\n value: function init() {\n var t = this.editor.editing.view,\n e = t.document;\n var n = !1;\n t.addObserver(ud), this.listenTo(e, \"keydown\", function (t, e) {\n n = e.shiftKey;\n }), this.listenTo(e, \"clipboardInput\", function (t, e) {\n n && (e.asPlainText = !0);\n }, {\n priority: \"high\"\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"PastePlainText\";\n }\n }]);\n\n return hd;\n }(cd);\n\n var fd = [\"figcaption\", \"li\"];\n\n var md = /*#__PURE__*/function (_cd2) {\n _inherits(md, _cd2);\n\n var _super66 = _createSuper(md);\n\n function md() {\n _classCallCheck(this, md);\n\n return _super66.apply(this, arguments);\n }\n\n _createClass(md, [{\n key: \"init\",\n value: function init() {\n var _this125 = this;\n\n var t = this.editor,\n e = t.model.document,\n n = t.editing.view,\n i = n.document;\n\n function o(n, o) {\n var r = o.dataTransfer;\n o.preventDefault();\n var s = t.data.toView(t.model.getSelectedContent(e.selection));\n i.fire(\"clipboardOutput\", {\n dataTransfer: r,\n content: s,\n method: n.name\n });\n }\n\n this._htmlDataProcessor = new Wc(i), n.addObserver(ud), this.listenTo(i, \"clipboardInput\", function (e) {\n t.isReadOnly && e.stop();\n }, {\n priority: \"highest\"\n }), this.listenTo(i, \"clipboardInput\", function (t, e) {\n var i = e.dataTransfer;\n var o = \"\";\n var r;\n i.getData(\"text/html\") ? o = function (t) {\n return t.replace(/(\\s+)<\\/span>/g, function (t, e) {\n return 1 == e.length ? \" \" : e;\n });\n }(i.getData(\"text/html\")) : i.getData(\"text/plain\") && (((r = (r = i.getData(\"text/plain\")).replace(//g, \">\").replace(/\\r?\\n\\r?\\n/g, \"

\").replace(/\\r?\\n/g, \"
\").replace(/^\\s/, \" \").replace(/\\s$/, \" \").replace(/\\s\\s/g, \"  \")).includes(\"

\") || r.includes(\"
\")) && (r = \"

\".concat(r, \"

\")), o = r), o = _this125._htmlDataProcessor.toView(o);\n var s = new cn(_this125, \"inputTransformation\");\n _this125.fire(s, {\n content: o,\n dataTransfer: i,\n asPlainText: e.asPlainText\n }), s.stop.called && t.stop(), n.scrollToTheSelection();\n }, {\n priority: \"low\"\n }), this.listenTo(this, \"inputTransformation\", function (n, i) {\n if (!i.content.isEmpty) {\n var _o73 = _this125.editor.data,\n _r29 = _this125.editor.model,\n _s23 = _o73.toModel(i.content, \"$clipboardHolder\");\n\n if (0 == _s23.childCount) return;\n\n if (i.asPlainText || function (t) {\n if (t.childCount > 1) return !1;\n return 0 == _toConsumableArray(t.getChild(0).getAttributeKeys()).length;\n }(_s23)) {\n var _n179 = new Map(Array.from(e.selection.getAttributes()).filter(function (e) {\n return t.model.schema.getAttributeProperties(e[0]).isFormatting;\n }));\n\n _r29.change(function (t) {\n var e = t.createRangeIn(_s23);\n\n var _iterator288 = _createForOfIteratorHelper(e.getItems()),\n _step288;\n\n try {\n for (_iterator288.s(); !(_step288 = _iterator288.n()).done;) {\n var _i138 = _step288.value;\n (_i138.is(\"$text\") || _i138.is(\"$textProxy\")) && t.setAttributes(_n179, _i138);\n }\n } catch (err) {\n _iterator288.e(err);\n } finally {\n _iterator288.f();\n }\n });\n }\n\n _r29.insertContent(_s23), n.stop();\n }\n }, {\n priority: \"low\"\n }), this.listenTo(i, \"copy\", o, {\n priority: \"low\"\n }), this.listenTo(i, \"cut\", function (e, n) {\n t.isReadOnly ? n.preventDefault() : o(e, n);\n }, {\n priority: \"low\"\n }), this.listenTo(i, \"clipboardOutput\", function (n, i) {\n i.content.isEmpty || (i.dataTransfer.setData(\"text/html\", _this125._htmlDataProcessor.toData(i.content)), i.dataTransfer.setData(\"text/plain\", function t(e) {\n var n = \"\";\n if (e.is(\"$text\") || e.is(\"$textProxy\")) n = e.data;else if (e.is(\"element\", \"img\") && e.hasAttribute(\"alt\")) n = e.getAttribute(\"alt\");else if (e.is(\"element\", \"br\")) n = \"\\n\";else {\n var _i139 = null;\n\n var _iterator289 = _createForOfIteratorHelper(e.getChildren()),\n _step289;\n\n try {\n for (_iterator289.s(); !(_step289 = _iterator289.n()).done;) {\n var _o74 = _step289.value;\n\n var _e202 = t(_o74);\n\n _i139 && (_i139.is(\"containerElement\") || _o74.is(\"containerElement\")) && (fd.includes(_i139.name) || fd.includes(_o74.name) ? n += \"\\n\" : n += \"\\n\\n\"), n += _e202, _i139 = _o74;\n }\n } catch (err) {\n _iterator289.e(err);\n } finally {\n _iterator289.f();\n }\n }\n return n;\n }(i.content))), \"cut\" == i.method && t.model.deleteContent(e.selection);\n }, {\n priority: \"low\"\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Clipboard\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [hd];\n }\n }]);\n\n return md;\n }(cd);\n\n var gd = /*#__PURE__*/function () {\n function gd(t) {\n var _this126 = this;\n\n _classCallCheck(this, gd);\n\n this.editor = t, this.set(\"value\", void 0), this.set(\"isEnabled\", !1), this._disableStack = new Set(), this.decorate(\"execute\"), this.listenTo(this.editor.model.document, \"change\", function () {\n _this126.refresh();\n }), this.on(\"execute\", function (t) {\n _this126.isEnabled || t.stop();\n }, {\n priority: \"high\"\n }), this.listenTo(t, \"change:isReadOnly\", function (t, e, n) {\n n ? _this126.forceDisabled(\"readOnlyMode\") : _this126.clearForceDisabled(\"readOnlyMode\");\n });\n }\n\n _createClass(gd, [{\n key: \"refresh\",\n value: function refresh() {\n this.isEnabled = !0;\n }\n }, {\n key: \"forceDisabled\",\n value: function forceDisabled(t) {\n this._disableStack.add(t), 1 == this._disableStack.size && (this.on(\"set:isEnabled\", pd, {\n priority: \"highest\"\n }), this.isEnabled = !1);\n }\n }, {\n key: \"clearForceDisabled\",\n value: function clearForceDisabled(t) {\n this._disableStack[\"delete\"](t), 0 == this._disableStack.size && (this.off(\"set:isEnabled\", pd), this.refresh());\n }\n }, {\n key: \"execute\",\n value: function execute() {}\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }]);\n\n return gd;\n }();\n\n function pd(t) {\n t[\"return\"] = !1, t.stop();\n }\n\n function bd(t, e) {\n var _iterator290, _step290, _n180;\n\n return _regeneratorRuntime.wrap(function bd$(_context37) {\n while (1) {\n switch (_context37.prev = _context37.next) {\n case 0:\n _iterator290 = _createForOfIteratorHelper(e);\n _context37.prev = 1;\n\n _iterator290.s();\n\n case 3:\n if ((_step290 = _iterator290.n()).done) {\n _context37.next = 11;\n break;\n }\n\n _n180 = _step290.value;\n _context37.t0 = _n180 && t.getAttributeProperties(_n180[0]).copyOnEnter;\n\n if (!_context37.t0) {\n _context37.next = 9;\n break;\n }\n\n _context37.next = 9;\n return _n180;\n\n case 9:\n _context37.next = 3;\n break;\n\n case 11:\n _context37.next = 16;\n break;\n\n case 13:\n _context37.prev = 13;\n _context37.t1 = _context37[\"catch\"](1);\n\n _iterator290.e(_context37.t1);\n\n case 16:\n _context37.prev = 16;\n\n _iterator290.f();\n\n return _context37.finish(16);\n\n case 19:\n case \"end\":\n return _context37.stop();\n }\n }\n }, _marked3, null, [[1, 13, 16, 19]]);\n }\n\n xn(gd, Ui);\n\n var wd = /*#__PURE__*/function (_gd) {\n _inherits(wd, _gd);\n\n var _super67 = _createSuper(wd);\n\n function wd() {\n _classCallCheck(this, wd);\n\n return _super67.apply(this, arguments);\n }\n\n _createClass(wd, [{\n key: \"execute\",\n value: function execute() {\n var _this127 = this;\n\n var t = this.editor.model,\n e = t.document;\n t.change(function (n) {\n !function (t, e, n, i) {\n var o = n.isCollapsed,\n r = n.getFirstRange(),\n s = r.start.parent,\n a = r.end.parent;\n if (i.isLimit(s) || i.isLimit(a)) return void (o || s != a || t.deleteContent(n));\n\n if (o) {\n var _t223 = bd(e.model.schema, n.getAttributes());\n\n kd(e, r.start), e.setSelectionAttribute(_t223);\n } else {\n var _i140 = !(r.start.isAtStart && r.end.isAtEnd),\n _o75 = s == a;\n\n t.deleteContent(n, {\n leaveUnmerged: _i140\n }), _i140 && (_o75 ? kd(e, n.focus) : e.setSelection(a, 0));\n }\n }(_this127.editor.model, n, e.selection, t.schema), _this127.fire(\"afterExecute\", {\n writer: n\n });\n });\n }\n }]);\n\n return wd;\n }(gd);\n\n function kd(t, e) {\n t.split(e), t.setSelection(e.parent.nextSibling, 0);\n }\n\n var _d = /*#__PURE__*/function (_pr5) {\n _inherits(_d, _pr5);\n\n var _super68 = _createSuper(_d);\n\n function _d(t) {\n var _this128;\n\n _classCallCheck(this, _d);\n\n _this128 = _super68.call(this, t);\n var e = _this128.document;\n e.on(\"keydown\", function (t, n) {\n if (_this128.isEnabled && n.keyCode == go.enter) {\n var _i141;\n\n e.once(\"enter\", function (t) {\n return _i141 = t;\n }, {\n priority: \"highest\"\n }), e.fire(\"enter\", new Lr(e, n.domEvent, {\n isSoft: n.shiftKey\n })), _i141 && _i141.stop.called && t.stop();\n }\n });\n return _this128;\n }\n\n _createClass(_d, [{\n key: \"observe\",\n value: function observe() {}\n }]);\n\n return _d;\n }(pr);\n\n var vd = /*#__PURE__*/function (_cd3) {\n _inherits(vd, _cd3);\n\n var _super69 = _createSuper(vd);\n\n function vd() {\n _classCallCheck(this, vd);\n\n return _super69.apply(this, arguments);\n }\n\n _createClass(vd, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.editing.view,\n n = e.document;\n e.addObserver(_d), t.commands.add(\"enter\", new wd(t)), this.listenTo(n, \"enter\", function (n, i) {\n i.preventDefault(), i.isSoft || (t.execute(\"enter\"), e.scrollToTheSelection());\n }, {\n priority: \"low\"\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Enter\";\n }\n }]);\n\n return vd;\n }(cd);\n\n var yd = /*#__PURE__*/function (_gd2) {\n _inherits(yd, _gd2);\n\n var _super70 = _createSuper(yd);\n\n function yd() {\n _classCallCheck(this, yd);\n\n return _super70.apply(this, arguments);\n }\n\n _createClass(yd, [{\n key: \"execute\",\n value: function execute() {\n var _this129 = this;\n\n var t = this.editor.model,\n e = t.document;\n t.change(function (n) {\n !function (t, e, n) {\n var i = n.isCollapsed,\n o = n.getFirstRange(),\n r = o.start.parent,\n s = o.end.parent,\n a = r == s;\n\n if (i) {\n var _i142 = bd(t.schema, n.getAttributes());\n\n xd(t, e, o.end), e.removeSelectionAttribute(n.getAttributeKeys()), e.setSelectionAttribute(_i142);\n } else {\n var _i143 = !(o.start.isAtStart && o.end.isAtEnd);\n\n t.deleteContent(n, {\n leaveUnmerged: _i143\n }), a ? xd(t, e, n.focus) : _i143 && e.setSelection(s, 0);\n }\n }(t, n, e.selection), _this129.fire(\"afterExecute\", {\n writer: n\n });\n });\n }\n }, {\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = t.document;\n\n this.isEnabled = function (t, e) {\n if (e.rangeCount > 1) return !1;\n var n = e.anchor;\n if (!n || !t.checkChild(n, \"softBreak\")) return !1;\n var i = e.getFirstRange(),\n o = i.start.parent,\n r = i.end.parent;\n if ((Ad(o, t) || Ad(r, t)) && o !== r) return !1;\n return !0;\n }(t.schema, e.selection);\n }\n }]);\n\n return yd;\n }(gd);\n\n function xd(t, e, n) {\n var i = e.createElement(\"softBreak\");\n t.insertContent(i, n), e.setSelection(i, \"after\");\n }\n\n function Ad(t, e) {\n return !t.is(\"rootElement\") && (e.isLimit(t) || Ad(t.parent, e));\n }\n\n var Cd = /*#__PURE__*/function (_cd4) {\n _inherits(Cd, _cd4);\n\n var _super71 = _createSuper(Cd);\n\n function Cd() {\n _classCallCheck(this, Cd);\n\n return _super71.apply(this, arguments);\n }\n\n _createClass(Cd, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model.schema,\n n = t.conversion,\n i = t.editing.view,\n o = i.document;\n e.register(\"softBreak\", {\n allowWhere: \"$text\",\n isInline: !0\n }), n[\"for\"](\"upcast\").elementToElement({\n model: \"softBreak\",\n view: \"br\"\n }), n[\"for\"](\"downcast\").elementToElement({\n model: \"softBreak\",\n view: function view(t, _ref111) {\n var e = _ref111.writer;\n return e.createEmptyElement(\"br\");\n }\n }), i.addObserver(_d), t.commands.add(\"shiftEnter\", new yd(t)), this.listenTo(o, \"enter\", function (e, n) {\n n.preventDefault(), n.isSoft && (t.execute(\"shiftEnter\"), i.scrollToTheSelection());\n }, {\n priority: \"low\"\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ShiftEnter\";\n }\n }]);\n\n return Cd;\n }(cd);\n\n var Td = /*#__PURE__*/function (_gd3) {\n _inherits(Td, _gd3);\n\n var _super72 = _createSuper(Td);\n\n function Td() {\n _classCallCheck(this, Td);\n\n return _super72.apply(this, arguments);\n }\n\n _createClass(Td, [{\n key: \"execute\",\n value: function execute() {\n var t = this.editor.model,\n e = t.document.selection;\n var n = t.schema.getLimitElement(e);\n if (e.containsEntireContent(n) || !Pd(t.schema, n)) do {\n if (n = n.parent, !n) return;\n } while (!Pd(t.schema, n));\n t.change(function (t) {\n t.setSelection(n, \"in\");\n });\n }\n }]);\n\n return Td;\n }(gd);\n\n function Pd(t, e) {\n return t.isLimit(e) && (t.checkChild(e, \"$text\") || t.checkChild(e, \"paragraph\"));\n }\n\n var Sd = bo(\"Ctrl+A\");\n\n var Ed = /*#__PURE__*/function (_cd5) {\n _inherits(Ed, _cd5);\n\n var _super73 = _createSuper(Ed);\n\n function Ed() {\n _classCallCheck(this, Ed);\n\n return _super73.apply(this, arguments);\n }\n\n _createClass(Ed, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.editing.view.document;\n t.commands.add(\"selectAll\", new Td(t)), this.listenTo(e, \"keydown\", function (e, n) {\n po(n) === Sd && (t.execute(\"selectAll\"), n.preventDefault());\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"SelectAllEditing\";\n }\n }]);\n\n return Ed;\n }(cd);\n\n var Md = /*#__PURE__*/function (_cd6) {\n _inherits(Md, _cd6);\n\n var _super74 = _createSuper(Md);\n\n function Md() {\n _classCallCheck(this, Md);\n\n return _super74.apply(this, arguments);\n }\n\n _createClass(Md, [{\n key: \"init\",\n value: function init() {\n var _this130 = this;\n\n var t = this.editor;\n t.ui.componentFactory.add(\"selectAll\", function (e) {\n var n = t.commands.get(\"selectAll\"),\n i = new $l(e),\n o = e.t;\n return i.set({\n label: o(\"Select all\"),\n icon: '',\n keystroke: \"Ctrl+A\",\n tooltip: !0\n }), i.bind(\"isOn\", \"isEnabled\").to(n, \"value\", \"isEnabled\"), _this130.listenTo(i, \"execute\", function () {\n t.execute(\"selectAll\"), t.editing.view.focus();\n }), i;\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"SelectAllUI\";\n }\n }]);\n\n return Md;\n }(cd);\n\n var Id = /*#__PURE__*/function (_cd7) {\n _inherits(Id, _cd7);\n\n var _super75 = _createSuper(Id);\n\n function Id() {\n _classCallCheck(this, Id);\n\n return _super75.apply(this, arguments);\n }\n\n _createClass(Id, null, [{\n key: \"requires\",\n get: function get() {\n return [Ed, Md];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"SelectAll\";\n }\n }]);\n\n return Id;\n }(cd);\n\n var Nd = /*#__PURE__*/function () {\n function Nd(t) {\n var _this131 = this;\n\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20;\n\n _classCallCheck(this, Nd);\n\n this.model = t, this.size = 0, this.limit = e, this.isLocked = !1, this._changeCallback = function (t, e) {\n \"transparent\" != e.type && e !== _this131._batch && _this131._reset(!0);\n }, this._selectionChangeCallback = function () {\n _this131._reset();\n }, 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);\n }\n\n _createClass(Nd, [{\n key: \"input\",\n value: function input(t) {\n this.size += t, this.size >= this.limit && this._reset(!0);\n }\n }, {\n key: \"lock\",\n value: function lock() {\n this.isLocked = !0;\n }\n }, {\n key: \"unlock\",\n value: function unlock() {\n this.isLocked = !1;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n 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);\n }\n }, {\n key: \"_reset\",\n value: function _reset(t) {\n this.isLocked && !t || (this._batch = null, this.size = 0);\n }\n }, {\n key: \"batch\",\n get: function get() {\n return this._batch || (this._batch = this.model.createBatch()), this._batch;\n }\n }]);\n\n return Nd;\n }();\n\n var Od = /*#__PURE__*/function (_gd4) {\n _inherits(Od, _gd4);\n\n var _super76 = _createSuper(Od);\n\n function Od(t, e) {\n var _this132;\n\n _classCallCheck(this, Od);\n\n _this132 = _super76.call(this, t), _this132._buffer = new Nd(t.model, e), _this132._batches = new WeakSet();\n return _this132;\n }\n\n _createClass(Od, [{\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(Od.prototype), \"destroy\", this).call(this), this._buffer.destroy();\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var _this133 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var e = this.editor.model,\n n = e.document,\n i = t.text || \"\",\n o = i.length,\n r = t.range ? e.createSelection(t.range) : n.selection,\n s = t.resultRange;\n e.enqueueChange(this._buffer.batch, function (t) {\n _this133._buffer.lock(), _this133._batches.add(_this133._buffer.batch), e.deleteContent(r), i && e.insertContent(t.createText(i, n.selection.getAttributes()), r), s ? t.setSelection(s) : r.is(\"documentSelection\") || t.setSelection(r), _this133._buffer.unlock(), _this133._buffer.input(o);\n });\n }\n }, {\n key: \"buffer\",\n get: function get() {\n return this._buffer;\n }\n }]);\n\n return Od;\n }(gd);\n\n var Rd = [po(\"arrowUp\"), po(\"arrowRight\"), po(\"arrowDown\"), po(\"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];\n\n for (var _t224 = 112; _t224 <= 135; _t224++) {\n Rd.push(_t224);\n }\n\n function Dd(t) {\n return !!t.ctrlKey || Rd.includes(t.keyCode);\n }\n\n function Ld(t) {\n if (t.newChildren.length - t.oldChildren.length != 1) return;\n\n var e = function (t, e) {\n var n = [];\n var i,\n o = 0;\n return t.forEach(function (t) {\n \"equal\" == t ? (r(), o++) : \"insert\" == t ? (s(\"insert\") ? i.values.push(e[o]) : (r(), i = {\n type: \"insert\",\n index: o,\n values: [e[o]]\n }), o++) : s(\"delete\") ? i.howMany++ : (r(), i = {\n type: \"delete\",\n index: o,\n howMany: 1\n });\n }), r(), n;\n\n function r() {\n i && (n.push(i), i = null);\n }\n\n function s(t) {\n return i && i.type == t;\n }\n }(Qo(t.oldChildren, t.newChildren, Vd), t.newChildren);\n\n if (e.length > 1) return;\n var n = e[0];\n return n.values[0] && n.values[0].is(\"$text\") ? n : void 0;\n }\n\n function Vd(t, e) {\n return t && t.is(\"$text\") && e && e.is(\"$text\") ? t.data === e.data : t === e;\n }\n\n var jd = /*#__PURE__*/function () {\n function jd(t) {\n _classCallCheck(this, jd);\n\n this.editor = t, this.editing = this.editor.editing;\n }\n\n _createClass(jd, [{\n key: \"handle\",\n value: function handle(t, e) {\n if (function (t) {\n if (0 == t.length) return !1;\n\n var _iterator291 = _createForOfIteratorHelper(t),\n _step291;\n\n try {\n for (_iterator291.s(); !(_step291 = _iterator291.n()).done;) {\n var _e203 = _step291.value;\n if (\"children\" === _e203.type && !Ld(_e203)) return !0;\n }\n } catch (err) {\n _iterator291.e(err);\n } finally {\n _iterator291.f();\n }\n\n return !1;\n }(t)) this._handleContainerChildrenMutations(t, e);else {\n var _iterator292 = _createForOfIteratorHelper(t),\n _step292;\n\n try {\n for (_iterator292.s(); !(_step292 = _iterator292.n()).done;) {\n var _n181 = _step292.value;\n this._handleTextMutation(_n181, e), this._handleTextNodeInsertion(_n181);\n }\n } catch (err) {\n _iterator292.e(err);\n } finally {\n _iterator292.f();\n }\n }\n }\n }, {\n key: \"_handleContainerChildrenMutations\",\n value: function _handleContainerChildrenMutations(t, e) {\n var n = function (t) {\n var e = t.map(function (t) {\n return t.node;\n }).reduce(function (t, e) {\n return t.getCommonAncestor(e, {\n includeSelf: !0\n });\n });\n if (!e) return;\n return e.getAncestors({\n includeSelf: !0,\n parentFirst: !0\n }).find(function (t) {\n return t.is(\"containerElement\") || t.is(\"rootElement\");\n });\n }(t);\n\n if (!n) return;\n var i = this.editor.editing.view.domConverter.mapViewToDom(n),\n o = new cr(this.editor.editing.view.document),\n r = this.editor.data.toModel(o.domToView(i)).getChild(0),\n s = this.editor.editing.mapper.toModelElement(n);\n if (!s) return;\n var a = Array.from(r.getChildren()),\n c = Array.from(s.getChildren()),\n l = a[a.length - 1],\n d = c[c.length - 1],\n u = l && l.is(\"element\", \"softBreak\"),\n h = d && !d.is(\"element\", \"softBreak\");\n u && h && a.pop();\n var f = this.editor.model.schema;\n if (!zd(a, f) || !zd(c, f)) return;\n var m = a.map(function (t) {\n return t.is(\"$text\") ? t.data : \"@\";\n }).join(\"\").replace(/\\u00A0/g, \" \"),\n g = c.map(function (t) {\n return t.is(\"$text\") ? t.data : \"@\";\n }).join(\"\").replace(/\\u00A0/g, \" \");\n if (g === m) return;\n\n var p = Qo(g, m),\n _Bd = Bd(p),\n b = _Bd.firstChangeAt,\n w = _Bd.insertions,\n k = _Bd.deletions;\n\n var _ = null;\n e && (_ = this.editing.mapper.toModelRange(e.getFirstRange()));\n var v = m.substr(b, w),\n y = this.editor.model.createRange(this.editor.model.createPositionAt(s, b), this.editor.model.createPositionAt(s, b + k));\n this.editor.execute(\"input\", {\n text: v,\n range: y,\n resultRange: _\n });\n }\n }, {\n key: \"_handleTextMutation\",\n value: function _handleTextMutation(t, e) {\n if (\"text\" != t.type) return;\n var n = t.newText.replace(/\\u00A0/g, \" \"),\n i = t.oldText.replace(/\\u00A0/g, \" \");\n if (i === n) return;\n\n var o = Qo(i, n),\n _Bd2 = Bd(o),\n r = _Bd2.firstChangeAt,\n s = _Bd2.insertions,\n a = _Bd2.deletions;\n\n var c = null;\n e && (c = this.editing.mapper.toModelRange(e.getFirstRange()));\n var l = this.editing.view.createPositionAt(t.node, r),\n d = this.editing.mapper.toModelPosition(l),\n u = this.editor.model.createRange(d, d.getShiftedBy(a)),\n h = n.substr(r, s);\n this.editor.execute(\"input\", {\n text: h,\n range: u,\n resultRange: c\n });\n }\n }, {\n key: \"_handleTextNodeInsertion\",\n value: function _handleTextNodeInsertion(t) {\n if (\"children\" != t.type) return;\n var e = Ld(t),\n n = this.editing.view.createPositionAt(t.node, e.index),\n i = this.editing.mapper.toModelPosition(n),\n o = e.values[0].data;\n this.editor.execute(\"input\", {\n text: o.replace(/\\u00A0/g, \" \"),\n range: this.editor.model.createRange(i)\n });\n }\n }]);\n\n return jd;\n }();\n\n function zd(t, e) {\n return t.every(function (t) {\n return e.isInline(t);\n });\n }\n\n function Bd(t) {\n var e = null,\n n = null;\n\n for (var _i144 = 0; _i144 < t.length; _i144++) {\n \"equal\" != t[_i144] && (e = null === e ? _i144 : e, n = _i144);\n }\n\n var i = 0,\n o = 0;\n\n for (var _r30 = e; _r30 <= n; _r30++) {\n \"insert\" != t[_r30] && i++, \"delete\" != t[_r30] && o++;\n }\n\n return {\n insertions: o,\n deletions: i,\n firstChangeAt: e\n };\n }\n\n var Fd = /*#__PURE__*/function (_cd8) {\n _inherits(Fd, _cd8);\n\n var _super77 = _createSuper(Fd);\n\n function Fd() {\n _classCallCheck(this, Fd);\n\n return _super77.apply(this, arguments);\n }\n\n _createClass(Fd, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = new Od(t, t.config.get(\"typing.undoStep\") || 20);\n t.commands.add(\"input\", e), function (t) {\n var e = null;\n var n = t.model,\n i = t.editing.view,\n o = t.commands.get(\"input\");\n\n function r(t) {\n var r = n.document,\n a = i.document.isComposing,\n c = e && e.isEqual(r.selection);\n e = null, o.isEnabled && (Dd(t) || r.selection.isCollapsed || a && 229 === t.keyCode || !a && 229 === t.keyCode && c || s());\n }\n\n function s() {\n var t = o.buffer;\n t.lock();\n var e = t.batch;\n o._batches.add(e), n.enqueueChange(e, function () {\n n.deleteContent(n.document.selection);\n }), t.unlock();\n }\n\n ho.isAndroid ? i.document.on(\"beforeinput\", function (t, e) {\n return r(e);\n }, {\n priority: \"lowest\"\n }) : i.document.on(\"keydown\", function (t, e) {\n return r(e);\n }, {\n priority: \"lowest\"\n }), i.document.on(\"compositionstart\", function () {\n var t = n.document,\n e = 1 !== t.selection.rangeCount || t.selection.getFirstRange().isFlat;\n if (t.selection.isCollapsed || e) return;\n s();\n }, {\n priority: \"lowest\"\n }), i.document.on(\"compositionend\", function () {\n e = n.createSelection(n.document.selection);\n }, {\n priority: \"lowest\"\n });\n }(t), function (t) {\n t.editing.view.document.on(\"mutations\", function (e, n, i) {\n new jd(t).handle(n, i);\n });\n }(t);\n }\n }, {\n key: \"isInput\",\n value: function isInput(t) {\n return this.editor.commands.get(\"input\")._batches.has(t);\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Input\";\n }\n }]);\n\n return Fd;\n }(cd);\n\n var Ud = /*#__PURE__*/function (_gd5) {\n _inherits(Ud, _gd5);\n\n var _super78 = _createSuper(Ud);\n\n function Ud(t, e) {\n var _this134;\n\n _classCallCheck(this, Ud);\n\n _this134 = _super78.call(this, t), _this134.direction = e, _this134._buffer = new Nd(t.model, t.config.get(\"typing.undoStep\"));\n return _this134;\n }\n\n _createClass(Ud, [{\n key: \"execute\",\n value: function execute() {\n var _this135 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var e = this.editor.model,\n n = e.document;\n e.enqueueChange(this._buffer.batch, function (i) {\n _this135._buffer.lock();\n\n var o = i.createSelection(t.selection || n.selection),\n r = o.isCollapsed;\n if (o.isCollapsed && e.modifySelection(o, {\n direction: _this135.direction,\n unit: t.unit\n }), _this135._shouldEntireContentBeReplacedWithParagraph(t.sequence || 1)) return void _this135._replaceEntireContentWithParagraph(i);\n if (o.isCollapsed) return;\n var s = 0;\n o.getFirstRange().getMinimalFlatRanges().forEach(function (t) {\n s += eo(t.getWalker({\n singleCharacters: !0,\n ignoreElementEnd: !0,\n shallow: !0\n }));\n }), e.deleteContent(o, {\n doNotResetEntireContent: r,\n direction: _this135.direction\n }), _this135._buffer.input(s), i.setSelection(o), _this135._buffer.unlock();\n });\n }\n }, {\n key: \"_shouldEntireContentBeReplacedWithParagraph\",\n value: function _shouldEntireContentBeReplacedWithParagraph(t) {\n if (t > 1) return !1;\n var e = this.editor.model,\n n = e.document.selection,\n i = e.schema.getLimitElement(n);\n if (!(n.isCollapsed && n.containsEntireContent(i))) return !1;\n if (!e.schema.checkChild(i, \"paragraph\")) return !1;\n var o = i.getChild(0);\n return !o || \"paragraph\" !== o.name;\n }\n }, {\n key: \"_replaceEntireContentWithParagraph\",\n value: function _replaceEntireContentWithParagraph(t) {\n var e = this.editor.model,\n n = e.document.selection,\n i = e.schema.getLimitElement(n),\n o = t.createElement(\"paragraph\");\n t.remove(t.createRangeIn(i)), t.insert(o, i), t.setSelection(o, 0);\n }\n }, {\n key: \"buffer\",\n get: function get() {\n return this._buffer;\n }\n }]);\n\n return Ud;\n }(gd);\n\n var Hd = /*#__PURE__*/function (_pr6) {\n _inherits(Hd, _pr6);\n\n var _super79 = _createSuper(Hd);\n\n function Hd(t) {\n var _this136;\n\n _classCallCheck(this, Hd);\n\n _this136 = _super79.call(this, t);\n var e = t.document;\n var n = 0;\n\n function i(t, n, i) {\n var o;\n e.once(\"delete\", function (t) {\n return o = t;\n }, {\n priority: Number.POSITIVE_INFINITY\n }), e.fire(\"delete\", new Lr(e, n, i)), o && o.stop.called && t.stop();\n }\n\n e.on(\"keyup\", function (t, e) {\n e.keyCode != go[\"delete\"] && e.keyCode != go.backspace || (n = 0);\n }), e.on(\"keydown\", function (t, e) {\n var o = {};\n if (e.keyCode == go[\"delete\"]) o.direction = \"forward\", o.unit = \"character\";else {\n if (e.keyCode != go.backspace) return;\n o.direction = \"backward\", o.unit = \"codePoint\";\n }\n var r = ho.isMac ? e.altKey : e.ctrlKey;\n o.unit = r ? \"word\" : o.unit, o.sequence = ++n, i(t, e.domEvent, o);\n }), ho.isAndroid && e.on(\"beforeinput\", function (e, n) {\n if (\"deleteContentBackward\" != n.domEvent.inputType) return;\n var o = {\n unit: \"codepoint\",\n direction: \"backward\",\n sequence: 1\n },\n r = n.domTarget.ownerDocument.defaultView.getSelection();\n r.anchorNode == r.focusNode && r.anchorOffset + 1 != r.focusOffset && (o.selectionToRemove = t.domConverter.domSelectionToView(r)), i(e, n.domEvent, o);\n });\n return _this136;\n }\n\n _createClass(Hd, [{\n key: \"observe\",\n value: function observe() {}\n }]);\n\n return Hd;\n }(pr);\n\n var Wd = /*#__PURE__*/function (_cd9) {\n _inherits(Wd, _cd9);\n\n var _super80 = _createSuper(Wd);\n\n function Wd() {\n _classCallCheck(this, Wd);\n\n return _super80.apply(this, arguments);\n }\n\n _createClass(Wd, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.editing.view,\n n = e.document;\n\n if (e.addObserver(Hd), t.commands.add(\"forwardDelete\", new Ud(t, \"forward\")), t.commands.add(\"delete\", new Ud(t, \"backward\")), this.listenTo(n, \"delete\", function (n, i) {\n var o = {\n unit: i.unit,\n sequence: i.sequence\n };\n\n if (i.selectionToRemove) {\n var _e204 = t.model.createSelection(),\n _n182 = [];\n\n var _iterator293 = _createForOfIteratorHelper(i.selectionToRemove.getRanges()),\n _step293;\n\n try {\n for (_iterator293.s(); !(_step293 = _iterator293.n()).done;) {\n var _e205 = _step293.value;\n\n _n182.push(t.editing.mapper.toModelRange(_e205));\n }\n } catch (err) {\n _iterator293.e(err);\n } finally {\n _iterator293.f();\n }\n\n _e204.setTo(_n182), o.selection = _e204;\n }\n\n t.execute(\"forward\" == i.direction ? \"forwardDelete\" : \"delete\", o), i.preventDefault(), e.scrollToTheSelection();\n }), ho.isAndroid) {\n var _t225 = null;\n this.listenTo(n, \"delete\", function (e, n) {\n var i = n.domTarget.ownerDocument.defaultView.getSelection();\n _t225 = {\n anchorNode: i.anchorNode,\n anchorOffset: i.anchorOffset,\n focusNode: i.focusNode,\n focusOffset: i.focusOffset\n };\n }, {\n priority: \"lowest\"\n }), this.listenTo(n, \"keyup\", function (e, n) {\n if (_t225) {\n var _e206 = n.domTarget.ownerDocument.defaultView.getSelection();\n\n _e206.collapse(_t225.anchorNode, _t225.anchorOffset), _e206.extend(_t225.focusNode, _t225.focusOffset), _t225 = null;\n }\n });\n }\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Delete\";\n }\n }]);\n\n return Wd;\n }(cd);\n\n var qd = /*#__PURE__*/function (_cd10) {\n _inherits(qd, _cd10);\n\n var _super81 = _createSuper(qd);\n\n function qd() {\n _classCallCheck(this, qd);\n\n return _super81.apply(this, arguments);\n }\n\n _createClass(qd, null, [{\n key: \"requires\",\n get: function get() {\n return [Fd, Wd];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"Typing\";\n }\n }]);\n\n return qd;\n }(cd);\n\n var $d = new Map();\n\n function Yd(t, e, n) {\n var i = $d.get(t);\n i || (i = new Map(), $d.set(t, i)), i.set(e, n);\n }\n\n function Gd(t) {\n return [t];\n }\n\n function Kd(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var i = function (t, e) {\n var n = $d.get(t);\n return n && n.has(e) ? n.get(e) : Gd;\n }(t.constructor, e.constructor);\n\n try {\n return i(t = t.clone(), e, n);\n } catch (t) {\n throw t;\n }\n }\n\n function Qd(t, e, n) {\n t = t.slice(), e = e.slice();\n var i = new Jd(n.document, n.useRelations, n.forceWeakRemove);\n i.setOriginalOperations(t), i.setOriginalOperations(e);\n var o = i.originalOperations;\n if (0 == t.length || 0 == e.length) return {\n operationsA: t,\n operationsB: e,\n originalOperations: o\n };\n var r = new WeakMap();\n\n var _iterator294 = _createForOfIteratorHelper(t),\n _step294;\n\n try {\n for (_iterator294.s(); !(_step294 = _iterator294.n()).done;) {\n var _e208 = _step294.value;\n r.set(_e208, 0);\n }\n } catch (err) {\n _iterator294.e(err);\n } finally {\n _iterator294.f();\n }\n\n var s = {\n nextBaseVersionA: t[t.length - 1].baseVersion + 1,\n nextBaseVersionB: e[e.length - 1].baseVersion + 1,\n originalOperationsACount: t.length,\n originalOperationsBCount: e.length\n };\n var a = 0;\n\n for (; a < t.length;) {\n var _t226, _e207;\n\n var _n183 = t[a],\n _o76 = r.get(_n183);\n\n if (_o76 == e.length) {\n a++;\n continue;\n }\n\n var _s24 = e[_o76],\n _c7 = Kd(_n183, _s24, i.getContext(_n183, _s24, !0)),\n _l4 = Kd(_s24, _n183, i.getContext(_s24, _n183, !1));\n\n i.updateRelation(_n183, _s24), i.setOriginalOperations(_c7, _n183), i.setOriginalOperations(_l4, _s24);\n\n var _iterator295 = _createForOfIteratorHelper(_c7),\n _step295;\n\n try {\n for (_iterator295.s(); !(_step295 = _iterator295.n()).done;) {\n var _t227 = _step295.value;\n r.set(_t227, _o76 + _l4.length);\n }\n } catch (err) {\n _iterator295.e(err);\n } finally {\n _iterator295.f();\n }\n\n (_t226 = t).splice.apply(_t226, [a, 1].concat(_toConsumableArray(_c7))), (_e207 = e).splice.apply(_e207, [_o76, 1].concat(_toConsumableArray(_l4)));\n }\n\n if (n.padWithNoOps) {\n var _n184 = t.length - s.originalOperationsACount,\n _i145 = e.length - s.originalOperationsBCount;\n\n Xd(t, _i145 - _n184), Xd(e, _n184 - _i145);\n }\n\n return Zd(t, s.nextBaseVersionB), Zd(e, s.nextBaseVersionA), {\n operationsA: t,\n operationsB: e,\n originalOperations: o\n };\n }\n\n var Jd = /*#__PURE__*/function () {\n function Jd(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n\n _classCallCheck(this, Jd);\n\n this.originalOperations = new Map(), this._history = t.history, this._useRelations = e, this._forceWeakRemove = !!n, this._relations = new Map();\n }\n\n _createClass(Jd, [{\n key: \"setOriginalOperations\",\n value: function setOriginalOperations(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var n = e ? this.originalOperations.get(e) : null;\n\n var _iterator296 = _createForOfIteratorHelper(t),\n _step296;\n\n try {\n for (_iterator296.s(); !(_step296 = _iterator296.n()).done;) {\n var _e209 = _step296.value;\n this.originalOperations.set(_e209, n || _e209);\n }\n } catch (err) {\n _iterator296.e(err);\n } finally {\n _iterator296.f();\n }\n }\n }, {\n key: \"updateRelation\",\n value: function updateRelation(t, e) {\n switch (t.constructor) {\n case Ya:\n switch (e.constructor) {\n case Za:\n t.targetPosition.isEqual(e.sourcePosition) || e.movedRange.containsPosition(t.targetPosition) ? this._setRelation(t, e, \"insertAtSource\") : t.targetPosition.isEqual(e.deletionPosition) ? this._setRelation(t, e, \"insertBetween\") : t.targetPosition.isAfter(e.sourcePosition) && this._setRelation(t, e, \"moveTargetAfter\");\n break;\n\n case Ya:\n t.targetPosition.isEqual(e.sourcePosition) || t.targetPosition.isBefore(e.sourcePosition) ? this._setRelation(t, e, \"insertBefore\") : this._setRelation(t, e, \"insertAfter\");\n }\n\n break;\n\n case Xa:\n switch (e.constructor) {\n case Za:\n t.splitPosition.isBefore(e.sourcePosition) && this._setRelation(t, e, \"splitBefore\");\n break;\n\n case Ya:\n (t.splitPosition.isEqual(e.sourcePosition) || t.splitPosition.isBefore(e.sourcePosition)) && this._setRelation(t, e, \"splitBefore\");\n }\n\n break;\n\n case Za:\n switch (e.constructor) {\n case Za:\n t.targetPosition.isEqual(e.sourcePosition) || this._setRelation(t, e, \"mergeTargetNotMoved\"), t.sourcePosition.isEqual(e.targetPosition) && this._setRelation(t, e, \"mergeSourceNotMoved\"), t.sourcePosition.isEqual(e.sourcePosition) && this._setRelation(t, e, \"mergeSameElement\");\n break;\n\n case Xa:\n t.sourcePosition.isEqual(e.splitPosition) && this._setRelation(t, e, \"splitAtSource\");\n }\n\n break;\n\n case Ka:\n {\n var _n185 = t.newRange;\n if (!_n185) return;\n\n switch (e.constructor) {\n case Ya:\n {\n var _i146 = Ss._createFromPositionAndShift(e.sourcePosition, e.howMany),\n _o77 = _i146.containsPosition(_n185.start) || _i146.start.isEqual(_n185.start),\n _r31 = _i146.containsPosition(_n185.end) || _i146.end.isEqual(_n185.end);\n\n !_o77 && !_r31 || _i146.containsRange(_n185) || this._setRelation(t, e, {\n side: _o77 ? \"left\" : \"right\",\n path: _o77 ? _n185.start.path.slice() : _n185.end.path.slice()\n });\n break;\n }\n\n case Za:\n {\n var _i147 = _n185.start.isEqual(e.targetPosition),\n _o78 = _n185.start.isEqual(e.deletionPosition),\n _r32 = _n185.end.isEqual(e.deletionPosition),\n _s25 = _n185.end.isEqual(e.sourcePosition);\n\n (_i147 || _o78 || _r32 || _s25) && this._setRelation(t, e, {\n wasInLeftElement: _i147,\n wasStartBeforeMergedElement: _o78,\n wasEndBeforeMergedElement: _r32,\n wasInRightElement: _s25\n });\n break;\n }\n }\n\n break;\n }\n }\n }\n }, {\n key: \"getContext\",\n value: function getContext(t, e, n) {\n return {\n aIsStrong: n,\n aWasUndone: this._wasUndone(t),\n bWasUndone: this._wasUndone(e),\n abRelation: this._useRelations ? this._getRelation(t, e) : null,\n baRelation: this._useRelations ? this._getRelation(e, t) : null,\n forceWeakRemove: this._forceWeakRemove\n };\n }\n }, {\n key: \"_wasUndone\",\n value: function _wasUndone(t) {\n var e = this.originalOperations.get(t);\n return e.wasUndone || this._history.isUndoneOperation(e);\n }\n }, {\n key: \"_getRelation\",\n value: function _getRelation(t, e) {\n var n = this.originalOperations.get(e),\n i = this._history.getUndoneOperation(n);\n\n if (!i) return null;\n\n var o = this.originalOperations.get(t),\n r = this._relations.get(o);\n\n return r && r.get(i) || null;\n }\n }, {\n key: \"_setRelation\",\n value: function _setRelation(t, e, n) {\n var i = this.originalOperations.get(t),\n o = this.originalOperations.get(e);\n\n var r = this._relations.get(i);\n\n r || (r = new Map(), this._relations.set(i, r)), r.set(o, n);\n }\n }]);\n\n return Jd;\n }();\n\n function Zd(t, e) {\n var _iterator297 = _createForOfIteratorHelper(t),\n _step297;\n\n try {\n for (_iterator297.s(); !(_step297 = _iterator297.n()).done;) {\n var _n186 = _step297.value;\n _n186.baseVersion = e++;\n }\n } catch (err) {\n _iterator297.e(err);\n } finally {\n _iterator297.f();\n }\n }\n\n function Xd(t, e) {\n for (var _n187 = 0; _n187 < e; _n187++) {\n t.push(new wc(0));\n }\n }\n\n function tu(t, e, n) {\n var i = t.nodes.getNode(0).getAttribute(e);\n if (i == n) return null;\n var o = new Ss(t.position, t.position.getShiftedBy(t.howMany));\n return new qa(o, e, i, n, 0);\n }\n\n function eu(t, e) {\n return null === t.targetPosition._getTransformedByDeletion(e.sourcePosition, e.howMany);\n }\n\n function nu(t, e) {\n var n = [];\n\n for (var _i148 = 0; _i148 < t.length; _i148++) {\n var _o79 = t[_i148],\n _r33 = new Ya(_o79.start, _o79.end.offset - _o79.start.offset, e, 0);\n\n n.push(_r33);\n\n for (var _e210 = _i148 + 1; _e210 < t.length; _e210++) {\n t[_e210] = t[_e210]._getTransformedByMove(_r33.sourcePosition, _r33.targetPosition, _r33.howMany)[0];\n }\n\n e = e._getTransformedByMove(_r33.sourcePosition, _r33.targetPosition, _r33.howMany);\n }\n\n return n;\n }\n\n Yd(qa, qa, function (t, e, n) {\n if (t.key === e.key && t.range.start.hasSameParentAs(e.range.start)) {\n var _i149 = t.range.getDifference(e.range).map(function (e) {\n return new qa(e, t.key, t.oldValue, t.newValue, 0);\n }),\n _o80 = t.range.getIntersection(e.range);\n\n return _o80 && n.aIsStrong && _i149.push(new qa(_o80, e.key, e.newValue, t.newValue, 0)), 0 == _i149.length ? [new wc(0)] : _i149;\n }\n\n return [t];\n }), Yd(qa, Ga, function (t, e) {\n if (t.range.start.hasSameParentAs(e.position) && t.range.containsPosition(e.position)) {\n var _n188 = t.range._getTransformedByInsertion(e.position, e.howMany, !e.shouldReceiveAttributes).map(function (e) {\n return new qa(e, t.key, t.oldValue, t.newValue, t.baseVersion);\n });\n\n if (e.shouldReceiveAttributes) {\n var _i150 = tu(e, t.key, t.oldValue);\n\n _i150 && _n188.unshift(_i150);\n }\n\n return _n188;\n }\n\n return t.range = t.range._getTransformedByInsertion(e.position, e.howMany, !1)[0], [t];\n }), Yd(qa, Za, function (t, e) {\n var n = [];\n t.range.start.hasSameParentAs(e.deletionPosition) && (t.range.containsPosition(e.deletionPosition) || t.range.start.isEqual(e.deletionPosition)) && n.push(Ss._createFromPositionAndShift(e.graveyardPosition, 1));\n\n var i = t.range._getTransformedByMergeOperation(e);\n\n return i.isCollapsed || n.push(i), n.map(function (e) {\n return new qa(e, t.key, t.oldValue, t.newValue, t.baseVersion);\n });\n }), Yd(qa, Ya, function (t, e) {\n return function (t, e) {\n var n = Ss._createFromPositionAndShift(e.sourcePosition, e.howMany);\n\n var i = null,\n o = [];\n n.containsRange(t, !0) ? i = t : t.start.hasSameParentAs(n.start) ? (o = t.getDifference(n), i = t.getIntersection(n)) : o = [t];\n var r = [];\n\n var _iterator298 = _createForOfIteratorHelper(o),\n _step298;\n\n try {\n for (_iterator298.s(); !(_step298 = _iterator298.n()).done;) {\n var _t228 = _step298.value;\n _t228 = _t228._getTransformedByDeletion(e.sourcePosition, e.howMany);\n\n var _n189 = e.getMovedRangeStart(),\n _i151 = _t228.start.hasSameParentAs(_n189);\n\n _t228 = _t228._getTransformedByInsertion(_n189, e.howMany, _i151), r.push.apply(r, _toConsumableArray(_t228));\n }\n } catch (err) {\n _iterator298.e(err);\n } finally {\n _iterator298.f();\n }\n\n i && r.push(i._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany, !1)[0]);\n return r;\n }(t.range, e).map(function (e) {\n return new qa(e, t.key, t.oldValue, t.newValue, t.baseVersion);\n });\n }), Yd(qa, Xa, function (t, e) {\n if (t.range.end.isEqual(e.insertionPosition)) return e.graveyardPosition || t.range.end.offset++, [t];\n\n if (t.range.start.hasSameParentAs(e.splitPosition) && t.range.containsPosition(e.splitPosition)) {\n var _n190 = t.clone();\n\n return _n190.range = new Ss(e.moveTargetPosition.clone(), t.range.end._getCombined(e.splitPosition, e.moveTargetPosition)), t.range.end = e.splitPosition.clone(), t.range.end.stickiness = \"toPrevious\", [t, _n190];\n }\n\n return t.range = t.range._getTransformedBySplitOperation(e), [t];\n }), Yd(Ga, qa, function (t, e) {\n var n = [t];\n\n if (t.shouldReceiveAttributes && t.position.hasSameParentAs(e.range.start) && e.range.containsPosition(t.position)) {\n var _i152 = tu(t, e.key, e.newValue);\n\n _i152 && n.push(_i152);\n }\n\n return n;\n }), Yd(Ga, Ga, function (t, e, n) {\n return t.position.isEqual(e.position) && n.aIsStrong || (t.position = t.position._getTransformedByInsertOperation(e)), [t];\n }), Yd(Ga, Ya, function (t, e) {\n return t.position = t.position._getTransformedByMoveOperation(e), [t];\n }), Yd(Ga, Xa, function (t, e) {\n return t.position = t.position._getTransformedBySplitOperation(e), [t];\n }), Yd(Ga, Za, function (t, e) {\n return t.position = t.position._getTransformedByMergeOperation(e), [t];\n }), Yd(Ka, Ga, function (t, e) {\n return t.oldRange && (t.oldRange = t.oldRange._getTransformedByInsertOperation(e)[0]), t.newRange && (t.newRange = t.newRange._getTransformedByInsertOperation(e)[0]), [t];\n }), Yd(Ka, Ka, function (t, e, n) {\n if (t.name == e.name) {\n if (!n.aIsStrong) return [new wc(0)];\n t.oldRange = e.newRange ? e.newRange.clone() : null;\n }\n\n return [t];\n }), Yd(Ka, Za, function (t, e) {\n return t.oldRange && (t.oldRange = t.oldRange._getTransformedByMergeOperation(e)), t.newRange && (t.newRange = t.newRange._getTransformedByMergeOperation(e)), [t];\n }), Yd(Ka, Ya, function (t, e, n) {\n if (t.oldRange && (t.oldRange = Ss._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))), t.newRange) {\n if (n.abRelation) {\n var _i153 = Ss._createFromRanges(t.newRange._getTransformedByMoveOperation(e));\n\n if (\"left\" == n.abRelation.side && e.targetPosition.isEqual(t.newRange.start)) return t.newRange.start.path = n.abRelation.path, t.newRange.end = _i153.end, [t];\n if (\"right\" == n.abRelation.side && e.targetPosition.isEqual(t.newRange.end)) return t.newRange.start = _i153.start, t.newRange.end.path = n.abRelation.path, [t];\n }\n\n t.newRange = Ss._createFromRanges(t.newRange._getTransformedByMoveOperation(e));\n }\n\n return [t];\n }), Yd(Ka, Xa, function (t, e, n) {\n if (t.oldRange && (t.oldRange = t.oldRange._getTransformedBySplitOperation(e)), t.newRange) {\n if (n.abRelation) {\n var _i154 = t.newRange._getTransformedBySplitOperation(e);\n\n return t.newRange.start.isEqual(e.splitPosition) && n.abRelation.wasStartBeforeMergedElement ? t.newRange.start = As._createAt(e.insertionPosition) : t.newRange.start.isEqual(e.splitPosition) && !n.abRelation.wasInLeftElement && (t.newRange.start = As._createAt(e.moveTargetPosition)), t.newRange.end.isEqual(e.splitPosition) && n.abRelation.wasInRightElement ? t.newRange.end = As._createAt(e.moveTargetPosition) : t.newRange.end.isEqual(e.splitPosition) && n.abRelation.wasEndBeforeMergedElement ? t.newRange.end = As._createAt(e.insertionPosition) : t.newRange.end = _i154.end, [t];\n }\n\n t.newRange = t.newRange._getTransformedBySplitOperation(e);\n }\n\n return [t];\n }), Yd(Za, Ga, function (t, e) {\n return t.sourcePosition.hasSameParentAs(e.position) && (t.howMany += e.howMany), t.sourcePosition = t.sourcePosition._getTransformedByInsertOperation(e), t.targetPosition = t.targetPosition._getTransformedByInsertOperation(e), [t];\n }), Yd(Za, Za, function (t, e, n) {\n if (t.sourcePosition.isEqual(e.sourcePosition) && t.targetPosition.isEqual(e.targetPosition)) {\n if (n.bWasUndone) {\n var _n191 = e.graveyardPosition.path.slice();\n\n return _n191.push(0), t.sourcePosition = new As(e.graveyardPosition.root, _n191), t.howMany = 0, [t];\n }\n\n return [new wc(0)];\n }\n\n if (t.sourcePosition.isEqual(e.sourcePosition) && !t.targetPosition.isEqual(e.targetPosition) && !n.bWasUndone && \"splitAtSource\" != n.abRelation) {\n var _i155 = \"$graveyard\" == t.targetPosition.root.rootName,\n _o81 = \"$graveyard\" == e.targetPosition.root.rootName,\n _r34 = _i155 && !_o81;\n\n if (_o81 && !_i155 || !_r34 && n.aIsStrong) {\n var _n192 = e.targetPosition._getTransformedByMergeOperation(e),\n _i156 = t.targetPosition._getTransformedByMergeOperation(e);\n\n return [new Ya(_n192, t.howMany, _i156, 0)];\n }\n\n return [new wc(0)];\n }\n\n return t.sourcePosition.hasSameParentAs(e.targetPosition) && (t.howMany += e.howMany), t.sourcePosition = t.sourcePosition._getTransformedByMergeOperation(e), t.targetPosition = t.targetPosition._getTransformedByMergeOperation(e), t.graveyardPosition.isEqual(e.graveyardPosition) && n.aIsStrong || (t.graveyardPosition = t.graveyardPosition._getTransformedByMergeOperation(e)), [t];\n }), Yd(Za, Ya, function (t, e, n) {\n var i = Ss._createFromPositionAndShift(e.sourcePosition, e.howMany);\n\n return \"remove\" == e.type && !n.bWasUndone && !n.forceWeakRemove && t.deletionPosition.hasSameParentAs(e.sourcePosition) && i.containsPosition(t.sourcePosition) ? [new wc(0)] : (t.sourcePosition.hasSameParentAs(e.targetPosition) && (t.howMany += e.howMany), t.sourcePosition.hasSameParentAs(e.sourcePosition) && (t.howMany -= e.howMany), t.sourcePosition = t.sourcePosition._getTransformedByMoveOperation(e), t.targetPosition = t.targetPosition._getTransformedByMoveOperation(e), t.graveyardPosition.isEqual(e.targetPosition) || (t.graveyardPosition = t.graveyardPosition._getTransformedByMoveOperation(e)), [t]);\n }), Yd(Za, Xa, function (t, e, n) {\n if (e.graveyardPosition && (t.graveyardPosition = t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition, 1), t.deletionPosition.isEqual(e.graveyardPosition) && (t.howMany = e.howMany)), t.targetPosition.isEqual(e.splitPosition)) {\n var _i157 = 0 != e.howMany,\n _o82 = e.graveyardPosition && t.deletionPosition.isEqual(e.graveyardPosition);\n\n if (_i157 || _o82 || \"mergeTargetNotMoved\" == n.abRelation) return t.sourcePosition = t.sourcePosition._getTransformedBySplitOperation(e), [t];\n }\n\n if (t.sourcePosition.isEqual(e.splitPosition)) {\n if (\"mergeSourceNotMoved\" == n.abRelation) return t.howMany = 0, t.targetPosition = t.targetPosition._getTransformedBySplitOperation(e), [t];\n if (\"mergeSameElement\" == n.abRelation || t.sourcePosition.offset > 0) return t.sourcePosition = e.moveTargetPosition.clone(), t.targetPosition = t.targetPosition._getTransformedBySplitOperation(e), [t];\n }\n\n return t.sourcePosition.hasSameParentAs(e.splitPosition) && (t.howMany = e.splitPosition.offset), t.sourcePosition = t.sourcePosition._getTransformedBySplitOperation(e), t.targetPosition = t.targetPosition._getTransformedBySplitOperation(e), [t];\n }), Yd(Ya, Ga, function (t, e) {\n var n = Ss._createFromPositionAndShift(t.sourcePosition, t.howMany)._getTransformedByInsertOperation(e, !1)[0];\n\n return t.sourcePosition = n.start, t.howMany = n.end.offset - n.start.offset, t.targetPosition.isEqual(e.position) || (t.targetPosition = t.targetPosition._getTransformedByInsertOperation(e)), [t];\n }), Yd(Ya, Ya, function (t, e, n) {\n var i = Ss._createFromPositionAndShift(t.sourcePosition, t.howMany),\n o = Ss._createFromPositionAndShift(e.sourcePosition, e.howMany);\n\n var r,\n s = n.aIsStrong,\n a = !n.aIsStrong;\n if (\"insertBefore\" == n.abRelation || \"insertAfter\" == n.baRelation ? a = !0 : \"insertAfter\" != n.abRelation && \"insertBefore\" != n.baRelation || (a = !1), r = t.targetPosition.isEqual(e.targetPosition) && a ? t.targetPosition._getTransformedByDeletion(e.sourcePosition, e.howMany) : t.targetPosition._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany), eu(t, e) && eu(e, t)) return [e.getReversed()];\n if (i.containsPosition(e.targetPosition) && i.containsRange(o, !0)) return i.start = i.start._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany), i.end = i.end._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany), nu([i], r);\n if (o.containsPosition(t.targetPosition) && o.containsRange(i, !0)) return i.start = i.start._getCombined(e.sourcePosition, e.getMovedRangeStart()), i.end = i.end._getCombined(e.sourcePosition, e.getMovedRangeStart()), nu([i], r);\n var c = In(t.sourcePosition.getParentPath(), e.sourcePosition.getParentPath());\n if (\"prefix\" == c || \"extension\" == c) return i.start = i.start._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany), i.end = i.end._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany), nu([i], r);\n \"remove\" != t.type || \"remove\" == e.type || n.aWasUndone || n.forceWeakRemove ? \"remove\" == t.type || \"remove\" != e.type || n.bWasUndone || n.forceWeakRemove || (s = !1) : s = !0;\n var l = [],\n d = i.getDifference(o);\n\n var _iterator299 = _createForOfIteratorHelper(d),\n _step299;\n\n try {\n for (_iterator299.s(); !(_step299 = _iterator299.n()).done;) {\n var _t229 = _step299.value;\n _t229.start = _t229.start._getTransformedByDeletion(e.sourcePosition, e.howMany), _t229.end = _t229.end._getTransformedByDeletion(e.sourcePosition, e.howMany);\n\n var _n193 = \"same\" == In(_t229.start.getParentPath(), e.getMovedRangeStart().getParentPath()),\n _i158 = _t229._getTransformedByInsertion(e.getMovedRangeStart(), e.howMany, _n193);\n\n l.push.apply(l, _toConsumableArray(_i158));\n }\n } catch (err) {\n _iterator299.e(err);\n } finally {\n _iterator299.f();\n }\n\n var u = i.getIntersection(o);\n return null !== u && s && (u.start = u.start._getCombined(e.sourcePosition, e.getMovedRangeStart()), u.end = u.end._getCombined(e.sourcePosition, e.getMovedRangeStart()), 0 === l.length ? l.push(u) : 1 == l.length ? o.start.isBefore(i.start) || o.start.isEqual(i.start) ? l.unshift(u) : l.push(u) : l.splice(1, 0, u)), 0 === l.length ? [new wc(t.baseVersion)] : nu(l, r);\n }), Yd(Ya, Xa, function (t, e, n) {\n var i = t.targetPosition.clone();\n t.targetPosition.isEqual(e.insertionPosition) && e.graveyardPosition && \"moveTargetAfter\" != n.abRelation || (i = t.targetPosition._getTransformedBySplitOperation(e));\n\n var o = Ss._createFromPositionAndShift(t.sourcePosition, t.howMany);\n\n if (o.end.isEqual(e.insertionPosition)) return e.graveyardPosition || t.howMany++, t.targetPosition = i, [t];\n\n if (o.start.hasSameParentAs(e.splitPosition) && o.containsPosition(e.splitPosition)) {\n var _t230 = new Ss(e.splitPosition, o.end);\n\n _t230 = _t230._getTransformedBySplitOperation(e);\n return nu([new Ss(o.start, e.splitPosition), _t230], i);\n }\n\n t.targetPosition.isEqual(e.splitPosition) && \"insertAtSource\" == n.abRelation && (i = e.moveTargetPosition), t.targetPosition.isEqual(e.insertionPosition) && \"insertBetween\" == n.abRelation && (i = t.targetPosition);\n var r = [o._getTransformedBySplitOperation(e)];\n\n if (e.graveyardPosition) {\n var _i159 = o.start.isEqual(e.graveyardPosition) || o.containsPosition(e.graveyardPosition);\n\n t.howMany > 1 && _i159 && !n.aWasUndone && r.push(Ss._createFromPositionAndShift(e.insertionPosition, 1));\n }\n\n return nu(r, i);\n }), Yd(Ya, Za, function (t, e, n) {\n var i = Ss._createFromPositionAndShift(t.sourcePosition, t.howMany);\n\n if (e.deletionPosition.hasSameParentAs(t.sourcePosition) && i.containsPosition(e.sourcePosition)) if (\"remove\" != t.type || n.forceWeakRemove) {\n if (1 == t.howMany) return n.bWasUndone ? (t.sourcePosition = e.graveyardPosition.clone(), t.targetPosition = t.targetPosition._getTransformedByMergeOperation(e), [t]) : [new wc(0)];\n } else if (!n.aWasUndone) {\n var _n194 = [];\n\n var _i160 = e.graveyardPosition.clone(),\n _o83 = e.targetPosition._getTransformedByMergeOperation(e);\n\n t.howMany > 1 && (_n194.push(new Ya(t.sourcePosition, t.howMany - 1, t.targetPosition, 0)), _i160 = _i160._getTransformedByMove(t.sourcePosition, t.targetPosition, t.howMany - 1), _o83 = _o83._getTransformedByMove(t.sourcePosition, t.targetPosition, t.howMany - 1));\n\n var _r35 = e.deletionPosition._getCombined(t.sourcePosition, t.targetPosition),\n _s26 = new Ya(_i160, 1, _r35, 0),\n _a13 = _s26.getMovedRangeStart().path.slice();\n\n _a13.push(0);\n\n var _c8 = new As(_s26.targetPosition.root, _a13);\n\n _o83 = _o83._getTransformedByMove(_i160, _r35, 1);\n\n var _l5 = new Ya(_o83, e.howMany, _c8, 0);\n\n return _n194.push(_s26), _n194.push(_l5), _n194;\n }\n\n var o = Ss._createFromPositionAndShift(t.sourcePosition, t.howMany)._getTransformedByMergeOperation(e);\n\n return t.sourcePosition = o.start, t.howMany = o.end.offset - o.start.offset, t.targetPosition = t.targetPosition._getTransformedByMergeOperation(e), [t];\n }), Yd(Qa, Ga, function (t, e) {\n return t.position = t.position._getTransformedByInsertOperation(e), [t];\n }), Yd(Qa, Za, function (t, e) {\n return t.position.isEqual(e.deletionPosition) ? (t.position = e.graveyardPosition.clone(), t.position.stickiness = \"toNext\", [t]) : (t.position = t.position._getTransformedByMergeOperation(e), [t]);\n }), Yd(Qa, Ya, function (t, e) {\n return t.position = t.position._getTransformedByMoveOperation(e), [t];\n }), Yd(Qa, Qa, function (t, e, n) {\n if (t.position.isEqual(e.position)) {\n if (!n.aIsStrong) return [new wc(0)];\n t.oldName = e.newName;\n }\n\n return [t];\n }), Yd(Qa, Xa, function (t, e) {\n if (\"same\" == In(t.position.path, e.splitPosition.getParentPath()) && !e.graveyardPosition) {\n var _e211 = new Qa(t.position.getShiftedBy(1), t.oldName, t.newName, 0);\n\n return [t, _e211];\n }\n\n return t.position = t.position._getTransformedBySplitOperation(e), [t];\n }), Yd(Ja, Ja, function (t, e, n) {\n if (t.root === e.root && t.key === e.key) {\n if (!n.aIsStrong || t.newValue === e.newValue) return [new wc(0)];\n t.oldValue = e.newValue;\n }\n\n return [t];\n }), Yd(Xa, Ga, function (t, e) {\n return t.splitPosition.hasSameParentAs(e.position) && t.splitPosition.offset < e.position.offset && (t.howMany += e.howMany), t.splitPosition = t.splitPosition._getTransformedByInsertOperation(e), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), [t];\n }), Yd(Xa, Za, function (t, e, n) {\n if (!t.graveyardPosition && !n.bWasUndone && t.splitPosition.hasSameParentAs(e.sourcePosition)) {\n var _n195 = e.graveyardPosition.path.slice();\n\n _n195.push(0);\n\n var _i161 = new As(e.graveyardPosition.root, _n195),\n _o84 = Xa.getInsertionPosition(new As(e.graveyardPosition.root, _n195)),\n _r36 = new Xa(_i161, 0, null, 0);\n\n return _r36.insertionPosition = _o84, t.splitPosition = t.splitPosition._getTransformedByMergeOperation(e), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), t.graveyardPosition = _r36.insertionPosition.clone(), t.graveyardPosition.stickiness = \"toNext\", [_r36, t];\n }\n\n return t.splitPosition.hasSameParentAs(e.deletionPosition) && !t.splitPosition.isAfter(e.deletionPosition) && t.howMany--, t.splitPosition.hasSameParentAs(e.targetPosition) && (t.howMany += e.howMany), t.splitPosition = t.splitPosition._getTransformedByMergeOperation(e), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), t.graveyardPosition && (t.graveyardPosition = t.graveyardPosition._getTransformedByMergeOperation(e)), [t];\n }), Yd(Xa, Ya, function (t, e, n) {\n var i = Ss._createFromPositionAndShift(e.sourcePosition, e.howMany);\n\n if (t.graveyardPosition) {\n var _o85 = i.start.isEqual(t.graveyardPosition) || i.containsPosition(t.graveyardPosition);\n\n if (!n.bWasUndone && _o85) {\n var _n196 = t.splitPosition._getTransformedByMoveOperation(e),\n _i162 = t.graveyardPosition._getTransformedByMoveOperation(e),\n _o86 = _i162.path.slice();\n\n _o86.push(0);\n\n var _r37 = new As(_i162.root, _o86);\n\n return [new Ya(_n196, t.howMany, _r37, 0)];\n }\n\n t.graveyardPosition = t.graveyardPosition._getTransformedByMoveOperation(e);\n }\n\n if (t.splitPosition.hasSameParentAs(e.sourcePosition) && i.containsPosition(t.splitPosition)) {\n var _n197 = e.howMany - (t.splitPosition.offset - e.sourcePosition.offset);\n\n return t.howMany -= _n197, t.splitPosition.hasSameParentAs(e.targetPosition) && t.splitPosition.offset < e.targetPosition.offset && (t.howMany += e.howMany), t.splitPosition = e.sourcePosition.clone(), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), [t];\n }\n\n return !t.splitPosition.isEqual(e.targetPosition) || \"insertAtSource\" != n.baRelation && \"splitBefore\" != n.abRelation ? (e.sourcePosition.isEqual(e.targetPosition) || (t.splitPosition.hasSameParentAs(e.sourcePosition) && t.splitPosition.offset <= e.sourcePosition.offset && (t.howMany -= e.howMany), t.splitPosition.hasSameParentAs(e.targetPosition) && t.splitPosition.offset < e.targetPosition.offset && (t.howMany += e.howMany)), t.splitPosition.stickiness = \"toNone\", t.splitPosition = t.splitPosition._getTransformedByMoveOperation(e), t.splitPosition.stickiness = \"toNext\", t.graveyardPosition ? t.insertionPosition = t.insertionPosition._getTransformedByMoveOperation(e) : t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), [t]) : (t.howMany += e.howMany, t.splitPosition = t.splitPosition._getTransformedByDeletion(e.sourcePosition, e.howMany), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), [t]);\n }), Yd(Xa, Xa, function (t, e, n) {\n if (t.splitPosition.isEqual(e.splitPosition)) {\n if (!t.graveyardPosition && !e.graveyardPosition) return [new wc(0)];\n if (t.graveyardPosition && e.graveyardPosition && t.graveyardPosition.isEqual(e.graveyardPosition)) return [new wc(0)];\n if (\"splitBefore\" == n.abRelation) return t.howMany = 0, t.graveyardPosition = t.graveyardPosition._getTransformedBySplitOperation(e), [t];\n }\n\n if (t.graveyardPosition && e.graveyardPosition && t.graveyardPosition.isEqual(e.graveyardPosition)) {\n var _i163 = \"$graveyard\" == t.splitPosition.root.rootName,\n _o87 = \"$graveyard\" == e.splitPosition.root.rootName,\n _r38 = _i163 && !_o87;\n\n if (_o87 && !_i163 || !_r38 && n.aIsStrong) {\n var _n198 = [];\n return e.howMany && _n198.push(new Ya(e.moveTargetPosition, e.howMany, e.splitPosition, 0)), t.howMany && _n198.push(new Ya(t.splitPosition, t.howMany, t.moveTargetPosition, 0)), _n198;\n }\n\n return [new wc(0)];\n }\n\n if (t.graveyardPosition && (t.graveyardPosition = t.graveyardPosition._getTransformedBySplitOperation(e)), t.splitPosition.isEqual(e.insertionPosition) && \"splitBefore\" == n.abRelation) return t.howMany++, [t];\n\n if (e.splitPosition.isEqual(t.insertionPosition) && \"splitBefore\" == n.baRelation) {\n var _n199 = e.insertionPosition.path.slice();\n\n _n199.push(0);\n\n var _i164 = new As(e.insertionPosition.root, _n199);\n\n return [t, new Ya(t.insertionPosition, 1, _i164, 0)];\n }\n\n return t.splitPosition.hasSameParentAs(e.splitPosition) && t.splitPosition.offset < e.splitPosition.offset && (t.howMany -= e.howMany), t.splitPosition = t.splitPosition._getTransformedBySplitOperation(e), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), [t];\n });\n\n var iu = /*#__PURE__*/function (_gd6) {\n _inherits(iu, _gd6);\n\n var _super82 = _createSuper(iu);\n\n function iu(t) {\n var _this137;\n\n _classCallCheck(this, iu);\n\n _this137 = _super82.call(this, t), _this137._stack = [], _this137._createdBatches = new WeakSet(), _this137.refresh(), _this137.listenTo(t.data, \"set\", function () {\n return _this137.clearStack();\n });\n return _this137;\n }\n\n _createClass(iu, [{\n key: \"refresh\",\n value: function refresh() {\n this.isEnabled = this._stack.length > 0;\n }\n }, {\n key: \"addBatch\",\n value: function addBatch(t) {\n var e = this.editor.model.document.selection,\n n = {\n ranges: e.hasOwnRange ? Array.from(e.getRanges()) : [],\n isBackward: e.isBackward\n };\n this._stack.push({\n batch: t,\n selection: n\n }), this.refresh();\n }\n }, {\n key: \"clearStack\",\n value: function clearStack() {\n this._stack = [], this.refresh();\n }\n }, {\n key: \"_restoreSelection\",\n value: function _restoreSelection(t, e, n) {\n var i = this.editor.model,\n o = i.document,\n r = [],\n s = t.map(function (t) {\n return t.getTransformedByOperations(n);\n }),\n a = s.flat();\n\n var _iterator300 = _createForOfIteratorHelper(s),\n _step300;\n\n try {\n for (_iterator300.s(); !(_step300 = _iterator300.n()).done;) {\n var _t231 = _step300.value;\n\n var _e212 = _t231.filter(function (t) {\n return !ru(t, a);\n });\n\n ou(_e212);\n\n var _n200 = _e212.find(function (t) {\n return t.root != o.graveyard;\n });\n\n _n200 && r.push(_n200);\n }\n } catch (err) {\n _iterator300.e(err);\n } finally {\n _iterator300.f();\n }\n\n r.length && i.change(function (t) {\n t.setSelection(r, {\n backward: e\n });\n });\n }\n }, {\n key: \"_undo\",\n value: function _undo(t, e) {\n var n = this.editor.model,\n i = n.document;\n\n this._createdBatches.add(e);\n\n var o = t.operations.slice().filter(function (t) {\n return t.isDocumentOperation;\n });\n o.reverse();\n\n var _iterator301 = _createForOfIteratorHelper(o),\n _step301;\n\n try {\n for (_iterator301.s(); !(_step301 = _iterator301.n()).done;) {\n var _t232 = _step301.value;\n\n var _o88 = _t232.baseVersion + 1,\n _r39 = Array.from(i.history.getOperations(_o88)),\n _s27 = Qd([_t232.getReversed()], _r39, {\n useRelations: !0,\n document: this.editor.model.document,\n padWithNoOps: !1,\n forceWeakRemove: !0\n }).operationsA;\n\n var _iterator302 = _createForOfIteratorHelper(_s27),\n _step302;\n\n try {\n for (_iterator302.s(); !(_step302 = _iterator302.n()).done;) {\n var _o89 = _step302.value;\n e.addOperation(_o89), n.applyOperation(_o89), i.history.setOperationAsUndone(_t232, _o89);\n }\n } catch (err) {\n _iterator302.e(err);\n } finally {\n _iterator302.f();\n }\n }\n } catch (err) {\n _iterator301.e(err);\n } finally {\n _iterator301.f();\n }\n }\n }]);\n\n return iu;\n }(gd);\n\n function ou(t) {\n t.sort(function (t, e) {\n return t.start.isBefore(e.start) ? -1 : 1;\n });\n\n for (var _e213 = 1; _e213 < t.length; _e213++) {\n var _n201 = t[_e213 - 1].getJoined(t[_e213], !0);\n\n _n201 && (_e213--, t.splice(_e213, 2, _n201));\n }\n }\n\n function ru(t, e) {\n return e.some(function (e) {\n return e !== t && e.containsRange(t, !0);\n });\n }\n\n var su = /*#__PURE__*/function (_iu) {\n _inherits(su, _iu);\n\n var _super83 = _createSuper(su);\n\n function su() {\n _classCallCheck(this, su);\n\n return _super83.apply(this, arguments);\n }\n\n _createClass(su, [{\n key: \"execute\",\n value: function execute() {\n var _this138 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var e = t ? this._stack.findIndex(function (e) {\n return e.batch == t;\n }) : this._stack.length - 1,\n n = this._stack.splice(e, 1)[0],\n i = this.editor.model.createBatch(\"transparent\");\n\n this.editor.model.enqueueChange(i, function () {\n _this138._undo(n.batch, i);\n\n var t = _this138.editor.model.document.history.getOperations(n.batch.baseVersion);\n\n _this138._restoreSelection(n.selection.ranges, n.selection.isBackward, t), _this138.fire(\"revert\", n.batch, i);\n }), this.refresh();\n }\n }]);\n\n return su;\n }(iu);\n\n var au = /*#__PURE__*/function (_iu2) {\n _inherits(au, _iu2);\n\n var _super84 = _createSuper(au);\n\n function au() {\n _classCallCheck(this, au);\n\n return _super84.apply(this, arguments);\n }\n\n _createClass(au, [{\n key: \"execute\",\n value: function execute() {\n var _this139 = this;\n\n var t = this._stack.pop(),\n e = this.editor.model.createBatch(\"transparent\");\n\n this.editor.model.enqueueChange(e, function () {\n var n = t.batch.operations[t.batch.operations.length - 1].baseVersion + 1,\n i = _this139.editor.model.document.history.getOperations(n);\n\n _this139._restoreSelection(t.selection.ranges, t.selection.isBackward, i), _this139._undo(t.batch, e);\n }), this.refresh();\n }\n }]);\n\n return au;\n }(iu);\n\n var cu = /*#__PURE__*/function (_cd11) {\n _inherits(cu, _cd11);\n\n var _super85 = _createSuper(cu);\n\n _createClass(cu, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"UndoEditing\";\n }\n }]);\n\n function cu(t) {\n var _this140;\n\n _classCallCheck(this, cu);\n\n _this140 = _super85.call(this, t), _this140._batchRegistry = new WeakSet();\n return _this140;\n }\n\n _createClass(cu, [{\n key: \"init\",\n value: function init() {\n var _this141 = this;\n\n var t = this.editor;\n this._undoCommand = new su(t), this._redoCommand = new au(t), t.commands.add(\"undo\", this._undoCommand), t.commands.add(\"redo\", this._redoCommand), this.listenTo(t.model, \"applyOperation\", function (t, e) {\n var n = e[0];\n if (!n.isDocumentOperation) return;\n\n var i = n.batch,\n o = _this141._redoCommand._createdBatches.has(i),\n r = _this141._undoCommand._createdBatches.has(i);\n\n _this141._batchRegistry.has(i) || \"transparent\" == i.type && !o && !r || (o ? _this141._undoCommand.addBatch(i) : r || (_this141._undoCommand.addBatch(i), _this141._redoCommand.clearStack()), _this141._batchRegistry.add(i));\n }, {\n priority: \"highest\"\n }), this.listenTo(this._undoCommand, \"revert\", function (t, e, n) {\n _this141._redoCommand.addBatch(n);\n }), t.keystrokes.set(\"CTRL+Z\", \"undo\"), t.keystrokes.set(\"CTRL+Y\", \"redo\"), t.keystrokes.set(\"CTRL+SHIFT+Z\", \"redo\");\n }\n }]);\n\n return cu;\n }(cd);\n\n var lu = '',\n du = '';\n\n var uu = /*#__PURE__*/function (_cd12) {\n _inherits(uu, _cd12);\n\n var _super86 = _createSuper(uu);\n\n function uu() {\n _classCallCheck(this, uu);\n\n return _super86.apply(this, arguments);\n }\n\n _createClass(uu, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.locale,\n n = t.t,\n i = \"ltr\" == e.uiLanguageDirection ? lu : du,\n o = \"ltr\" == e.uiLanguageDirection ? du : lu;\n this._addButton(\"undo\", n(\"Undo\"), \"CTRL+Z\", i), this._addButton(\"redo\", n(\"Redo\"), \"CTRL+Y\", o);\n }\n }, {\n key: \"_addButton\",\n value: function _addButton(t, e, n, i) {\n var _this142 = this;\n\n var o = this.editor;\n o.ui.componentFactory.add(t, function (r) {\n var s = o.commands.get(t),\n a = new $l(r);\n return a.set({\n label: e,\n icon: i,\n keystroke: n,\n tooltip: !0\n }), a.bind(\"isEnabled\").to(s, \"isEnabled\"), _this142.listenTo(a, \"execute\", function () {\n o.execute(t), o.editing.view.focus();\n }), a;\n });\n }\n }]);\n\n return uu;\n }(cd);\n\n var hu = /*#__PURE__*/function (_cd13) {\n _inherits(hu, _cd13);\n\n var _super87 = _createSuper(hu);\n\n function hu() {\n _classCallCheck(this, hu);\n\n return _super87.apply(this, arguments);\n }\n\n _createClass(hu, null, [{\n key: \"requires\",\n get: function get() {\n return [cu, uu];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"Undo\";\n }\n }]);\n\n return hu;\n }(cd);\n\n var fu = /*#__PURE__*/function () {\n function fu(t) {\n _classCallCheck(this, fu);\n\n this.context = t;\n }\n\n _createClass(fu, [{\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }], [{\n key: \"isContextPlugin\",\n get: function get() {\n return !0;\n }\n }]);\n\n return fu;\n }();\n\n xn(fu, Ui);\n\n var mu = /*#__PURE__*/function (_fu) {\n _inherits(mu, _fu);\n\n var _super88 = _createSuper(mu);\n\n function mu() {\n _classCallCheck(this, mu);\n\n return _super88.apply(this, arguments);\n }\n\n _createClass(mu, [{\n key: \"init\",\n value: function init() {\n this.set(\"hasAny\", !1), this._actions = new An({\n idProperty: \"_id\"\n }), this._actions.delegate(\"add\", \"remove\").to(this);\n }\n }, {\n key: \"add\",\n value: function add(t) {\n if (\"string\" != typeof t) throw new hn.a(\"pendingactions-add-invalid-message\", this);\n var e = Object.create(Ui);\n return e.set(\"message\", t), this._actions.add(e), this.hasAny = !0, e;\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n this._actions.remove(t), this.hasAny = !!this._actions.length;\n }\n }, {\n key: Symbol.iterator,\n value: function value() {\n return this._actions[Symbol.iterator]();\n }\n }, {\n key: \"first\",\n get: function get() {\n return this._actions.get(0);\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"PendingActions\";\n }\n }]);\n\n return mu;\n }(fu);\n\n var gu = /*#__PURE__*/function () {\n function gu() {\n var _this143 = this;\n\n _classCallCheck(this, gu);\n\n var t = new window.FileReader();\n this._reader = t, this._data = void 0, this.set(\"loaded\", 0), t.onprogress = function (t) {\n _this143.loaded = t.loaded;\n };\n }\n\n _createClass(gu, [{\n key: \"read\",\n value: function read(t) {\n var _this144 = this;\n\n var e = this._reader;\n return this.total = t.size, new Promise(function (n, i) {\n e.onload = function () {\n var t = e.result;\n _this144._data = t, n(t);\n }, e.onerror = function () {\n i(\"error\");\n }, e.onabort = function () {\n i(\"aborted\");\n }, _this144._reader.readAsDataURL(t);\n });\n }\n }, {\n key: \"abort\",\n value: function abort() {\n this._reader.abort();\n }\n }, {\n key: \"error\",\n get: function get() {\n return this._reader.error;\n }\n }, {\n key: \"data\",\n get: function get() {\n return this._data;\n }\n }]);\n\n return gu;\n }();\n\n xn(gu, Ui);\n\n var pu = /*#__PURE__*/function (_cd14) {\n _inherits(pu, _cd14);\n\n var _super89 = _createSuper(pu);\n\n function pu() {\n _classCallCheck(this, pu);\n\n return _super89.apply(this, arguments);\n }\n\n _createClass(pu, [{\n key: \"init\",\n value: function init() {\n var _this145 = this;\n\n this.loaders = new An(), this.loaders.on(\"add\", function () {\n return _this145._updatePendingAction();\n }), this.loaders.on(\"remove\", function () {\n return _this145._updatePendingAction();\n }), this._loadersMap = new Map(), this._pendingAction = null, this.set(\"uploaded\", 0), this.set(\"uploadTotal\", null), this.bind(\"uploadedPercent\").to(this, \"uploaded\", this, \"uploadTotal\", function (t, e) {\n return e ? t / e * 100 : 0;\n });\n }\n }, {\n key: \"getLoader\",\n value: function getLoader(t) {\n return this._loadersMap.get(t) || null;\n }\n }, {\n key: \"createLoader\",\n value: function createLoader(t) {\n var _this146 = this;\n\n if (!this.createUploadAdapter) return Object(hn.c)(\"filerepository-no-upload-adapter\"), null;\n var e = new bu(Promise.resolve(t), this.createUploadAdapter);\n return this.loaders.add(e), this._loadersMap.set(t, e), t instanceof Promise && e.file.then(function (t) {\n _this146._loadersMap.set(t, e);\n })[\"catch\"](function () {}), e.on(\"change:uploaded\", function () {\n var t = 0;\n\n var _iterator303 = _createForOfIteratorHelper(_this146.loaders),\n _step303;\n\n try {\n for (_iterator303.s(); !(_step303 = _iterator303.n()).done;) {\n var _e214 = _step303.value;\n t += _e214.uploaded;\n }\n } catch (err) {\n _iterator303.e(err);\n } finally {\n _iterator303.f();\n }\n\n _this146.uploaded = t;\n }), e.on(\"change:uploadTotal\", function () {\n var t = 0;\n\n var _iterator304 = _createForOfIteratorHelper(_this146.loaders),\n _step304;\n\n try {\n for (_iterator304.s(); !(_step304 = _iterator304.n()).done;) {\n var _e215 = _step304.value;\n _e215.uploadTotal && (t += _e215.uploadTotal);\n }\n } catch (err) {\n _iterator304.e(err);\n } finally {\n _iterator304.f();\n }\n\n _this146.uploadTotal = t;\n }), e;\n }\n }, {\n key: \"destroyLoader\",\n value: function destroyLoader(t) {\n var _this147 = this;\n\n var e = t instanceof bu ? t : this.getLoader(t);\n e._destroy(), this.loaders.remove(e), this._loadersMap.forEach(function (t, n) {\n t === e && _this147._loadersMap[\"delete\"](n);\n });\n }\n }, {\n key: \"_updatePendingAction\",\n value: function _updatePendingAction() {\n var t = this.editor.plugins.get(mu);\n\n if (this.loaders.length) {\n if (!this._pendingAction) {\n var _e216 = this.editor.t,\n _n202 = function _n202(t) {\n return \"\".concat(_e216(\"Upload in progress\"), \" \").concat(parseInt(t), \"%.\");\n };\n\n this._pendingAction = t.add(_n202(this.uploadedPercent)), this._pendingAction.bind(\"message\").to(this, \"uploadedPercent\", _n202);\n }\n } else t.remove(this._pendingAction), this._pendingAction = null;\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"FileRepository\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [mu];\n }\n }]);\n\n return pu;\n }(cd);\n\n xn(pu, Ui);\n\n var bu = /*#__PURE__*/function () {\n function bu(t, e) {\n _classCallCheck(this, bu);\n\n this.id = dn(), this._filePromiseWrapper = this._createFilePromiseWrapper(t), this._adapter = e(this), this._reader = new gu(), this.set(\"status\", \"idle\"), this.set(\"uploaded\", 0), this.set(\"uploadTotal\", null), this.bind(\"uploadedPercent\").to(this, \"uploaded\", this, \"uploadTotal\", function (t, e) {\n return e ? t / e * 100 : 0;\n }), this.set(\"uploadResponse\", null);\n }\n\n _createClass(bu, [{\n key: \"read\",\n value: function read() {\n var _this148 = this;\n\n if (\"idle\" != this.status) throw new hn.a(\"filerepository-read-wrong-status\", this);\n return this.status = \"reading\", this.file.then(function (t) {\n return _this148._reader.read(t);\n }).then(function (t) {\n if (\"reading\" !== _this148.status) throw _this148.status;\n return _this148.status = \"idle\", t;\n })[\"catch\"](function (t) {\n if (\"aborted\" === t) throw _this148.status = \"aborted\", \"aborted\";\n throw _this148.status = \"error\", _this148._reader.error ? _this148._reader.error : t;\n });\n }\n }, {\n key: \"upload\",\n value: function upload() {\n var _this149 = this;\n\n if (\"idle\" != this.status) throw new hn.a(\"filerepository-upload-wrong-status\", this);\n return this.status = \"uploading\", this.file.then(function () {\n return _this149._adapter.upload();\n }).then(function (t) {\n return _this149.uploadResponse = t, _this149.status = \"idle\", t;\n })[\"catch\"](function (t) {\n if (\"aborted\" === _this149.status) throw \"aborted\";\n throw _this149.status = \"error\", t;\n });\n }\n }, {\n key: \"abort\",\n value: function abort() {\n var t = this.status;\n this.status = \"aborted\", this._filePromiseWrapper.isFulfilled ? \"reading\" == t ? this._reader.abort() : \"uploading\" == t && this._adapter.abort && this._adapter.abort() : (this._filePromiseWrapper.promise[\"catch\"](function () {}), this._filePromiseWrapper.rejecter(\"aborted\")), this._destroy();\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this._filePromiseWrapper = void 0, this._reader = void 0, this._adapter = void 0, this.uploadResponse = void 0;\n }\n }, {\n key: \"_createFilePromiseWrapper\",\n value: function _createFilePromiseWrapper(t) {\n var e = {};\n return e.promise = new Promise(function (n, i) {\n e.rejecter = i, e.isFulfilled = !1, t.then(function (t) {\n e.isFulfilled = !0, n(t);\n })[\"catch\"](function (t) {\n e.isFulfilled = !0, i(t);\n });\n }), e;\n }\n }, {\n key: \"file\",\n get: function get() {\n var _this150 = this;\n\n return this._filePromiseWrapper ? this._filePromiseWrapper.promise.then(function (t) {\n return _this150._filePromiseWrapper ? t : null;\n }) : Promise.resolve(null);\n }\n }, {\n key: \"data\",\n get: function get() {\n return this._reader.data;\n }\n }]);\n\n return bu;\n }();\n\n xn(bu, Ui);\n\n function wu() {\n var t = function (t) {\n t = t.toLowerCase();\n var e = document.cookie.split(\";\");\n\n var _iterator305 = _createForOfIteratorHelper(e),\n _step305;\n\n try {\n for (_iterator305.s(); !(_step305 = _iterator305.n()).done;) {\n var _n203 = _step305.value;\n\n var _e217 = _n203.split(\"=\");\n\n if (decodeURIComponent(_e217[0].trim().toLowerCase()) === t) return decodeURIComponent(_e217[1]);\n }\n } catch (err) {\n _iterator305.e(err);\n } finally {\n _iterator305.f();\n }\n\n return null;\n }(\"ckCsrfToken\");\n\n var e, n;\n return t && 40 == t.length || (t = function (t) {\n var e = \"\";\n var n = new Uint8Array(t);\n window.crypto.getRandomValues(n);\n\n for (var _t233 = 0; _t233 < n.length; _t233++) {\n var _i165 = \"abcdefghijklmnopqrstuvwxyz0123456789\".charAt(n[_t233] % \"abcdefghijklmnopqrstuvwxyz0123456789\".length);\n\n e += Math.random() > .5 ? _i165.toUpperCase() : _i165;\n }\n\n return e;\n }(40), e = \"ckCsrfToken\", n = t, document.cookie = encodeURIComponent(e) + \"=\" + encodeURIComponent(n) + \";path=/\"), t;\n }\n\n var ku = /*#__PURE__*/function (_cd15) {\n _inherits(ku, _cd15);\n\n var _super90 = _createSuper(ku);\n\n function ku() {\n _classCallCheck(this, ku);\n\n return _super90.apply(this, arguments);\n }\n\n _createClass(ku, [{\n key: \"init\",\n value: function init() {\n var _this151 = this;\n\n var t = this.editor.config.get(\"ckfinder.uploadUrl\");\n t && (this.editor.plugins.get(pu).createUploadAdapter = function (e) {\n return new _u(e, t, _this151.editor.t);\n });\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [pu];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"CKFinderUploadAdapter\";\n }\n }]);\n\n return ku;\n }(cd);\n\n var _u = /*#__PURE__*/function () {\n function _u(t, e, n) {\n _classCallCheck(this, _u);\n\n this.loader = t, this.url = e, this.t = n;\n }\n\n _createClass(_u, [{\n key: \"upload\",\n value: function upload() {\n var _this152 = this;\n\n return this.loader.file.then(function (t) {\n return new Promise(function (e, n) {\n _this152._initRequest(), _this152._initListeners(e, n, t), _this152._sendRequest(t);\n });\n });\n }\n }, {\n key: \"abort\",\n value: function abort() {\n this.xhr && this.xhr.abort();\n }\n }, {\n key: \"_initRequest\",\n value: function _initRequest() {\n var t = this.xhr = new XMLHttpRequest();\n t.open(\"POST\", this.url, !0), t.responseType = \"json\";\n }\n }, {\n key: \"_initListeners\",\n value: function _initListeners(t, e, n) {\n var i = this.xhr,\n o = this.loader,\n r = (0, this.t)(\"Cannot upload file:\") + \" \".concat(n.name, \".\");\n i.addEventListener(\"error\", function () {\n return e(r);\n }), i.addEventListener(\"abort\", function () {\n return e();\n }), i.addEventListener(\"load\", function () {\n var n = i.response;\n if (!n || !n.uploaded) return e(n && n.error && n.error.message ? n.error.message : r);\n t({\n \"default\": n.url\n });\n }), i.upload && i.upload.addEventListener(\"progress\", function (t) {\n t.lengthComputable && (o.uploadTotal = t.total, o.uploaded = t.loaded);\n });\n }\n }, {\n key: \"_sendRequest\",\n value: function _sendRequest(t) {\n var e = new FormData();\n e.append(\"upload\", t), e.append(\"ckCsrfToken\", wu()), this.xhr.send(e);\n }\n }]);\n\n return _u;\n }();\n\n function vu(t) {\n var e = t.next();\n return e.done ? null : e.value;\n }\n\n function yu(t, e, n, i) {\n var o,\n r = null;\n \"function\" == typeof i ? o = i : (r = t.commands.get(i), o = function o() {\n t.execute(i);\n }), t.model.document.on(\"change:data\", function (i, s) {\n if (r && !r.isEnabled || !e.isEnabled) return;\n var a = vu(t.model.document.selection.getRanges());\n if (!a.isCollapsed) return;\n if (\"transparent\" == s.type) return;\n var c = Array.from(t.model.document.differ.getChanges()),\n l = c[0];\n if (1 != c.length || \"insert\" !== l.type || \"$text\" != l.name || 1 != l.length) return;\n var d = l.position.parent;\n if (d.is(\"element\", \"codeBlock\")) return;\n if (r && !0 === r.value) return;\n var u = d.getChild(0),\n h = t.model.createRangeOn(u);\n if (!h.containsRange(a) && !a.end.isEqual(h.end)) return;\n var f = n.exec(u.data.substr(0, a.end.offset));\n f && t.model.enqueueChange(function (t) {\n var e = t.createPositionAt(d, 0),\n n = t.createPositionAt(d, f[0].length),\n i = new Fs(e, n);\n !1 !== o({\n match: f\n }) && t.remove(i), i.detach();\n });\n });\n }\n\n function xu(t, e, n, i) {\n var o, r;\n n instanceof RegExp ? o = n : r = n, r = r || function (t) {\n var e;\n var n = [],\n i = [];\n\n for (; null !== (e = o.exec(t)) && !(e && e.length < 4);) {\n var _e218 = e,\n _t234 = _e218.index,\n _o90 = _e218[1],\n _r40 = _e218[2],\n _s28 = _e218[3];\n\n var _a14 = _o90 + _r40 + _s28;\n\n _t234 += e[0].length - _a14.length;\n var _c9 = [_t234, _t234 + _o90.length],\n _l6 = [_t234 + _o90.length + _r40.length, _t234 + _o90.length + _r40.length + _s28.length];\n n.push(_c9), n.push(_l6), i.push([_t234 + _o90.length, _t234 + _o90.length + _r40.length]);\n }\n\n return {\n remove: n,\n format: i\n };\n }, t.model.document.on(\"change:data\", function (n, o) {\n if (\"transparent\" == o.type || !e.isEnabled) return;\n var s = t.model,\n a = s.document.selection;\n if (!a.isCollapsed) return;\n var c = Array.from(s.document.differ.getChanges()),\n l = c[0];\n if (1 != c.length || \"insert\" !== l.type || \"$text\" != l.name || 1 != l.length) return;\n\n var d = a.focus,\n u = d.parent,\n _ref112 = function (t, e) {\n var n = t.start;\n return {\n text: Array.from(t.getItems()).reduce(function (t, i) {\n return !i.is(\"$text\") && !i.is(\"$textProxy\") || i.getAttribute(\"code\") ? (n = e.createPositionAfter(i), \"\") : t + i.data;\n }, \"\"),\n range: e.createRange(n, t.end)\n };\n }(s.createRange(s.createPositionAt(u, 0), d), s),\n h = _ref112.text,\n f = _ref112.range,\n m = r(h),\n g = Au(f.start, m.format, s),\n p = Au(f.start, m.remove, s);\n\n g.length && p.length && s.enqueueChange(function (t) {\n if (!1 !== i(t, g)) {\n var _iterator306 = _createForOfIteratorHelper(p.reverse()),\n _step306;\n\n try {\n for (_iterator306.s(); !(_step306 = _iterator306.n()).done;) {\n var _e219 = _step306.value;\n t.remove(_e219);\n }\n } catch (err) {\n _iterator306.e(err);\n } finally {\n _iterator306.f();\n }\n }\n });\n });\n }\n\n function Au(t, e, n) {\n return e.filter(function (t) {\n return void 0 !== t[0] && void 0 !== t[1];\n }).map(function (e) {\n return n.createRange(t.getShiftedBy(e[0]), t.getShiftedBy(e[1]));\n });\n }\n\n function Cu(t, e) {\n return function (n, i) {\n if (!t.commands.get(e).isEnabled) return !1;\n var o = t.model.schema.getValidRanges(i, e);\n\n var _iterator307 = _createForOfIteratorHelper(o),\n _step307;\n\n try {\n for (_iterator307.s(); !(_step307 = _iterator307.n()).done;) {\n var _t235 = _step307.value;\n n.setAttribute(e, !0, _t235);\n }\n } catch (err) {\n _iterator307.e(err);\n } finally {\n _iterator307.f();\n }\n\n n.removeSelectionAttribute(e);\n };\n }\n\n var Tu = /*#__PURE__*/function (_gd7) {\n _inherits(Tu, _gd7);\n\n var _super91 = _createSuper(Tu);\n\n function Tu(t, e) {\n var _this153;\n\n _classCallCheck(this, Tu);\n\n _this153 = _super91.call(this, t), _this153.attributeKey = e;\n return _this153;\n }\n\n _createClass(Tu, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = t.document;\n this.value = this._getValueFromFirstAllowedNode(), this.isEnabled = t.schema.checkAttributeInSelection(e.selection, this.attributeKey);\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var _this154 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var e = this.editor.model,\n n = e.document.selection,\n i = void 0 === t.forceValue ? !this.value : t.forceValue;\n e.change(function (t) {\n if (n.isCollapsed) i ? t.setSelectionAttribute(_this154.attributeKey, !0) : t.removeSelectionAttribute(_this154.attributeKey);else {\n var _o91 = e.schema.getValidRanges(n.getRanges(), _this154.attributeKey);\n\n var _iterator308 = _createForOfIteratorHelper(_o91),\n _step308;\n\n try {\n for (_iterator308.s(); !(_step308 = _iterator308.n()).done;) {\n var _e220 = _step308.value;\n i ? t.setAttribute(_this154.attributeKey, i, _e220) : t.removeAttribute(_this154.attributeKey, _e220);\n }\n } catch (err) {\n _iterator308.e(err);\n } finally {\n _iterator308.f();\n }\n }\n });\n }\n }, {\n key: \"_getValueFromFirstAllowedNode\",\n value: function _getValueFromFirstAllowedNode() {\n var t = this.editor.model,\n e = t.schema,\n n = t.document.selection;\n if (n.isCollapsed) return n.hasAttribute(this.attributeKey);\n\n var _iterator309 = _createForOfIteratorHelper(n.getRanges()),\n _step309;\n\n try {\n for (_iterator309.s(); !(_step309 = _iterator309.n()).done;) {\n var _t236 = _step309.value;\n\n var _iterator310 = _createForOfIteratorHelper(_t236.getItems()),\n _step310;\n\n try {\n for (_iterator310.s(); !(_step310 = _iterator310.n()).done;) {\n var _n204 = _step310.value;\n if (e.checkAttribute(_n204, this.attributeKey)) return _n204.hasAttribute(this.attributeKey);\n }\n } catch (err) {\n _iterator310.e(err);\n } finally {\n _iterator310.f();\n }\n }\n } catch (err) {\n _iterator309.e(err);\n } finally {\n _iterator309.f();\n }\n\n return !1;\n }\n }]);\n\n return Tu;\n }(gd);\n\n var Pu = /*#__PURE__*/function (_cd16) {\n _inherits(Pu, _cd16);\n\n var _super92 = _createSuper(Pu);\n\n function Pu() {\n _classCallCheck(this, Pu);\n\n return _super92.apply(this, arguments);\n }\n\n _createClass(Pu, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.model.schema.extend(\"$text\", {\n allowAttributes: \"bold\"\n }), t.model.schema.setAttributeProperties(\"bold\", {\n isFormatting: !0,\n copyOnEnter: !0\n }), t.conversion.attributeToElement({\n model: \"bold\",\n view: \"strong\",\n upcastAlso: [\"b\", function (t) {\n var e = t.getStyle(\"font-weight\");\n return e ? \"bold\" == e || Number(e) >= 600 ? {\n name: !0,\n styles: [\"font-weight\"]\n } : void 0 : null;\n }]\n }), t.commands.add(\"bold\", new Tu(t, \"bold\")), t.keystrokes.set(\"CTRL+B\", \"bold\");\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"BoldEditing\";\n }\n }]);\n\n return Pu;\n }(cd);\n\n var Su = /*#__PURE__*/function (_cd17) {\n _inherits(Su, _cd17);\n\n var _super93 = _createSuper(Su);\n\n function Su() {\n _classCallCheck(this, Su);\n\n return _super93.apply(this, arguments);\n }\n\n _createClass(Su, [{\n key: \"init\",\n value: function init() {\n var _this155 = this;\n\n var t = this.editor,\n e = t.t;\n t.ui.componentFactory.add(\"bold\", function (n) {\n var i = t.commands.get(\"bold\"),\n o = new $l(n);\n return o.set({\n label: e(\"Bold\"),\n icon: '',\n keystroke: \"CTRL+B\",\n tooltip: !0,\n isToggleable: !0\n }), o.bind(\"isOn\", \"isEnabled\").to(i, \"value\", \"isEnabled\"), _this155.listenTo(o, \"execute\", function () {\n t.execute(\"bold\"), t.editing.view.focus();\n }), o;\n });\n }\n }]);\n\n return Su;\n }(cd);\n\n var Eu = /*#__PURE__*/function (_cd18) {\n _inherits(Eu, _cd18);\n\n var _super94 = _createSuper(Eu);\n\n function Eu() {\n _classCallCheck(this, Eu);\n\n return _super94.apply(this, arguments);\n }\n\n _createClass(Eu, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.model.schema.extend(\"$text\", {\n allowAttributes: \"italic\"\n }), t.model.schema.setAttributeProperties(\"italic\", {\n isFormatting: !0,\n copyOnEnter: !0\n }), t.conversion.attributeToElement({\n model: \"italic\",\n view: \"i\",\n upcastAlso: [\"em\", {\n styles: {\n \"font-style\": \"italic\"\n }\n }]\n }), t.commands.add(\"italic\", new Tu(t, \"italic\")), t.keystrokes.set(\"CTRL+I\", \"italic\");\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ItalicEditing\";\n }\n }]);\n\n return Eu;\n }(cd);\n\n var Mu = /*#__PURE__*/function (_cd19) {\n _inherits(Mu, _cd19);\n\n var _super95 = _createSuper(Mu);\n\n function Mu() {\n _classCallCheck(this, Mu);\n\n return _super95.apply(this, arguments);\n }\n\n _createClass(Mu, [{\n key: \"init\",\n value: function init() {\n var _this156 = this;\n\n var t = this.editor,\n e = t.t;\n t.ui.componentFactory.add(\"italic\", function (n) {\n var i = t.commands.get(\"italic\"),\n o = new $l(n);\n return o.set({\n label: e(\"Italic\"),\n icon: '',\n keystroke: \"CTRL+I\",\n tooltip: !0,\n isToggleable: !0\n }), o.bind(\"isOn\", \"isEnabled\").to(i, \"value\", \"isEnabled\"), _this156.listenTo(o, \"execute\", function () {\n t.execute(\"italic\"), t.editing.view.focus();\n }), o;\n });\n }\n }]);\n\n return Mu;\n }(cd);\n\n var Iu = /*#__PURE__*/function (_gd8) {\n _inherits(Iu, _gd8);\n\n var _super96 = _createSuper(Iu);\n\n function Iu() {\n _classCallCheck(this, Iu);\n\n return _super96.apply(this, arguments);\n }\n\n _createClass(Iu, [{\n key: \"refresh\",\n value: function refresh() {\n this.value = this._getValue(), this.isEnabled = this._checkEnabled();\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var _this157 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var e = this.editor.model,\n n = e.schema,\n i = e.document.selection,\n o = Array.from(i.getSelectedBlocks()),\n r = void 0 === t.forceValue ? !this.value : t.forceValue;\n e.change(function (t) {\n if (r) {\n var _e221 = o.filter(function (t) {\n return Nu(t) || Ru(n, t);\n });\n\n _this157._applyQuote(t, _e221);\n } else _this157._removeQuote(t, o.filter(Nu));\n });\n }\n }, {\n key: \"_getValue\",\n value: function _getValue() {\n var t = vu(this.editor.model.document.selection.getSelectedBlocks());\n return !(!t || !Nu(t));\n }\n }, {\n key: \"_checkEnabled\",\n value: function _checkEnabled() {\n if (this.value) return !0;\n var t = this.editor.model.document.selection,\n e = this.editor.model.schema,\n n = vu(t.getSelectedBlocks());\n return !!n && Ru(e, n);\n }\n }, {\n key: \"_removeQuote\",\n value: function _removeQuote(t, e) {\n Ou(t, e).reverse().forEach(function (e) {\n if (e.start.isAtStart && e.end.isAtEnd) return void t.unwrap(e.start.parent);\n\n if (e.start.isAtStart) {\n var _n205 = t.createPositionBefore(e.start.parent);\n\n return void t.move(e, _n205);\n }\n\n e.end.isAtEnd || t.split(e.end);\n var n = t.createPositionAfter(e.end.parent);\n t.move(e, n);\n });\n }\n }, {\n key: \"_applyQuote\",\n value: function _applyQuote(t, e) {\n var n = [];\n Ou(t, e).reverse().forEach(function (e) {\n var i = Nu(e.start);\n i || (i = t.createElement(\"blockQuote\"), t.wrap(e, i)), n.push(i);\n }), n.reverse().reduce(function (e, n) {\n return e.nextSibling == n ? (t.merge(t.createPositionAfter(e)), e) : n;\n });\n }\n }]);\n\n return Iu;\n }(gd);\n\n function Nu(t) {\n return \"blockQuote\" == t.parent.name ? t.parent : null;\n }\n\n function Ou(t, e) {\n var n,\n i = 0;\n var o = [];\n\n for (; i < e.length;) {\n var _r41 = e[i],\n _s29 = e[i + 1];\n n || (n = t.createPositionBefore(_r41)), _s29 && _r41.nextSibling == _s29 || (o.push(t.createRange(n, t.createPositionAfter(_r41))), n = null), i++;\n }\n\n return o;\n }\n\n function Ru(t, e) {\n var n = t.checkChild(e.parent, \"blockQuote\"),\n i = t.checkChild([\"$root\", \"blockQuote\"], e);\n return n && i;\n }\n\n var Du = /*#__PURE__*/function (_cd20) {\n _inherits(Du, _cd20);\n\n var _super97 = _createSuper(Du);\n\n function Du() {\n _classCallCheck(this, Du);\n\n return _super97.apply(this, arguments);\n }\n\n _createClass(Du, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model.schema;\n t.commands.add(\"blockQuote\", new Iu(t)), e.register(\"blockQuote\", {\n allowWhere: \"$block\",\n allowContentOf: \"$root\"\n }), e.addChildCheck(function (t, e) {\n if (t.endsWith(\"blockQuote\") && \"blockQuote\" == e.name) return !1;\n }), t.conversion.elementToElement({\n model: \"blockQuote\",\n view: \"blockquote\"\n }), t.model.document.registerPostFixer(function (n) {\n var i = t.model.document.differ.getChanges();\n\n var _iterator311 = _createForOfIteratorHelper(i),\n _step311;\n\n try {\n for (_iterator311.s(); !(_step311 = _iterator311.n()).done;) {\n var _t237 = _step311.value;\n\n if (\"insert\" == _t237.type) {\n var _i166 = _t237.position.nodeAfter;\n if (!_i166) continue;\n if (_i166.is(\"element\", \"blockQuote\") && _i166.isEmpty) return n.remove(_i166), !0;\n if (_i166.is(\"element\", \"blockQuote\") && !e.checkChild(_t237.position, _i166)) return n.unwrap(_i166), !0;\n\n if (_i166.is(\"element\")) {\n var _t238 = n.createRangeIn(_i166);\n\n var _iterator312 = _createForOfIteratorHelper(_t238.getItems()),\n _step312;\n\n try {\n for (_iterator312.s(); !(_step312 = _iterator312.n()).done;) {\n var _i167 = _step312.value;\n if (_i167.is(\"element\", \"blockQuote\") && !e.checkChild(n.createPositionBefore(_i167), _i167)) return n.unwrap(_i167), !0;\n }\n } catch (err) {\n _iterator312.e(err);\n } finally {\n _iterator312.f();\n }\n }\n } else if (\"remove\" == _t237.type) {\n var _e222 = _t237.position.parent;\n if (_e222.is(\"element\", \"blockQuote\") && _e222.isEmpty) return n.remove(_e222), !0;\n }\n }\n } catch (err) {\n _iterator311.e(err);\n } finally {\n _iterator311.f();\n }\n\n return !1;\n });\n }\n }, {\n key: \"afterInit\",\n value: function afterInit() {\n var _this158 = this;\n\n var t = this.editor.commands.get(\"blockQuote\");\n this.listenTo(this.editor.editing.view.document, \"enter\", function (e, n) {\n var i = _this158.editor.model.document,\n o = i.selection.getLastPosition().parent;\n i.selection.isCollapsed && o.isEmpty && t.value && (_this158.editor.execute(\"blockQuote\"), _this158.editor.editing.view.scrollToTheSelection(), n.preventDefault(), e.stop());\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"BlockQuoteEditing\";\n }\n }]);\n\n return Du;\n }(cd);\n\n n(44);\n\n var Lu = /*#__PURE__*/function (_cd21) {\n _inherits(Lu, _cd21);\n\n var _super98 = _createSuper(Lu);\n\n function Lu() {\n _classCallCheck(this, Lu);\n\n return _super98.apply(this, arguments);\n }\n\n _createClass(Lu, [{\n key: \"init\",\n value: function init() {\n var _this159 = this;\n\n var t = this.editor,\n e = t.t;\n t.ui.componentFactory.add(\"blockQuote\", function (n) {\n var i = t.commands.get(\"blockQuote\"),\n o = new $l(n);\n return o.set({\n label: e(\"Block quote\"),\n icon: '',\n tooltip: !0,\n isToggleable: !0\n }), o.bind(\"isOn\", \"isEnabled\").to(i, \"value\", \"isEnabled\"), _this159.listenTo(o, \"execute\", function () {\n t.execute(\"blockQuote\"), t.editing.view.focus();\n }), o;\n });\n }\n }]);\n\n return Lu;\n }(cd);\n\n var Vu = /*#__PURE__*/function (_cd22) {\n _inherits(Vu, _cd22);\n\n var _super99 = _createSuper(Vu);\n\n function Vu() {\n _classCallCheck(this, Vu);\n\n return _super99.apply(this, arguments);\n }\n\n _createClass(Vu, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.ui.componentFactory,\n n = t.t;\n e.add(\"ckfinder\", function (e) {\n var i = t.commands.get(\"ckfinder\"),\n o = new $l(e);\n return o.set({\n label: n(\"Insert image or file\"),\n icon: '',\n tooltip: !0\n }), o.bind(\"isEnabled\").to(i), o.on(\"execute\", function () {\n t.execute(\"ckfinder\"), t.editing.view.focus();\n }), o;\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"CKFinderUI\";\n }\n }]);\n\n return Vu;\n }(cd);\n\n var ju = /*#__PURE__*/function (_pr7) {\n _inherits(ju, _pr7);\n\n var _super100 = _createSuper(ju);\n\n function ju() {\n _classCallCheck(this, ju);\n\n return _super100.apply(this, arguments);\n }\n\n _createClass(ju, [{\n key: \"observe\",\n value: function observe(t) {\n var _this160 = this;\n\n this.listenTo(t, \"load\", function (t, e) {\n var n = e.target;\n _this160.checkShouldIgnoreEventFromTarget(n) || \"IMG\" == n.tagName && _this160._fireEvents(e);\n }, {\n useCapture: !0\n });\n }\n }, {\n key: \"_fireEvents\",\n value: function _fireEvents(t) {\n this.isEnabled && (this.document.fire(\"layoutChanged\"), this.document.fire(\"imageLoaded\", t));\n }\n }]);\n\n return ju;\n }(pr);\n\n var zu = /*#__PURE__*/function () {\n function zu() {\n _classCallCheck(this, zu);\n\n this._stack = [];\n }\n\n _createClass(zu, [{\n key: \"add\",\n value: function add(t, e) {\n var n = this._stack,\n i = n[0];\n\n this._insertDescriptor(t);\n\n var o = n[0];\n i === o || Bu(i, o) || this.fire(\"change:top\", {\n oldDescriptor: i,\n newDescriptor: o,\n writer: e\n });\n }\n }, {\n key: \"remove\",\n value: function remove(t, e) {\n var n = this._stack,\n i = n[0];\n\n this._removeDescriptor(t);\n\n var o = n[0];\n i === o || Bu(i, o) || this.fire(\"change:top\", {\n oldDescriptor: i,\n newDescriptor: o,\n writer: e\n });\n }\n }, {\n key: \"_insertDescriptor\",\n value: function _insertDescriptor(t) {\n var e = this._stack,\n n = e.findIndex(function (e) {\n return e.id === t.id;\n });\n if (Bu(t, e[n])) return;\n n > -1 && e.splice(n, 1);\n var i = 0;\n\n for (; e[i] && Fu(e[i], t);) {\n i++;\n }\n\n e.splice(i, 0, t);\n }\n }, {\n key: \"_removeDescriptor\",\n value: function _removeDescriptor(t) {\n var e = this._stack,\n n = e.findIndex(function (e) {\n return e.id === t;\n });\n n > -1 && e.splice(n, 1);\n }\n }]);\n\n return zu;\n }();\n\n function Bu(t, e) {\n return t && e && t.priority == e.priority && Uu(t.classes) == Uu(e.classes);\n }\n\n function Fu(t, e) {\n return t.priority > e.priority || !(t.priority < e.priority) && Uu(t.classes) > Uu(e.classes);\n }\n\n function Uu(t) {\n return Array.isArray(t) ? t.sort().join(\",\") : t;\n }\n\n xn(zu, gn);\n n(46);\n var Hu = Ml(\"px\"),\n Wu = or.document.body;\n\n var qu = /*#__PURE__*/function (_yl16) {\n _inherits(qu, _yl16);\n\n var _super101 = _createSuper(qu);\n\n function qu(t) {\n var _this161;\n\n _classCallCheck(this, qu);\n\n _this161 = _super101.call(this, t);\n var e = _this161.bindTemplate;\n _this161.set(\"top\", 0), _this161.set(\"left\", 0), _this161.set(\"position\", \"arrow_nw\"), _this161.set(\"isVisible\", !1), _this161.set(\"withArrow\", !0), _this161.set(\"class\"), _this161.content = _this161.createCollection(), _this161.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-balloon-panel\", e.to(\"position\", function (t) {\n return \"ck-balloon-panel_\" + t;\n }), e[\"if\"](\"isVisible\", \"ck-balloon-panel_visible\"), e[\"if\"](\"withArrow\", \"ck-balloon-panel_with-arrow\"), e.to(\"class\")],\n style: {\n top: e.to(\"top\", Hu),\n left: e.to(\"left\", Hu)\n }\n },\n children: _this161.content\n });\n return _this161;\n }\n\n _createClass(qu, [{\n key: \"show\",\n value: function show() {\n this.isVisible = !0;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n this.isVisible = !1;\n }\n }, {\n key: \"attachTo\",\n value: function attachTo(t) {\n this.show();\n\n var e = qu.defaultPositions,\n n = Object.assign({}, {\n element: this.element,\n positions: [e.southArrowNorth, e.southArrowNorthMiddleWest, e.southArrowNorthMiddleEast, e.southArrowNorthWest, e.southArrowNorthEast, e.northArrowSouth, e.northArrowSouthMiddleWest, e.northArrowSouthMiddleEast, e.northArrowSouthWest, e.northArrowSouthEast],\n limiter: Wu,\n fitInViewport: !0\n }, t),\n i = qu._getOptimalPosition(n),\n o = parseInt(i.left),\n r = parseInt(i.top),\n s = i.name;\n\n Object.assign(this, {\n top: r,\n left: o,\n position: s\n });\n }\n }, {\n key: \"pin\",\n value: function pin(t) {\n var _this162 = this;\n\n this.unpin(), this._pinWhenIsVisibleCallback = function () {\n _this162.isVisible ? _this162._startPinning(t) : _this162._stopPinning();\n }, this._startPinning(t), this.listenTo(this, \"change:isVisible\", this._pinWhenIsVisibleCallback);\n }\n }, {\n key: \"unpin\",\n value: function unpin() {\n this._pinWhenIsVisibleCallback && (this._stopPinning(), this.stopListening(this, \"change:isVisible\", this._pinWhenIsVisibleCallback), this._pinWhenIsVisibleCallback = null, this.hide());\n }\n }, {\n key: \"_startPinning\",\n value: function _startPinning(t) {\n var _this163 = this;\n\n this.attachTo(t);\n var e = $u(t.target),\n n = t.limiter ? $u(t.limiter) : Wu;\n this.listenTo(or.document, \"scroll\", function (i, o) {\n var r = o.target,\n s = e && r.contains(e),\n a = n && r.contains(n);\n !s && !a && e && n || _this163.attachTo(t);\n }, {\n useCapture: !0\n }), this.listenTo(or.window, \"resize\", function () {\n _this163.attachTo(t);\n });\n }\n }, {\n key: \"_stopPinning\",\n value: function _stopPinning() {\n this.stopListening(or.document, \"scroll\"), this.stopListening(or.window, \"resize\");\n }\n }]);\n\n return qu;\n }(yl);\n\n function $u(t) {\n return nn(t) ? t : ts(t) ? t.commonAncestorContainer : \"function\" == typeof t ? $u(t()) : null;\n }\n\n function Yu(t, e) {\n return t.top - e.height - qu.arrowVerticalOffset;\n }\n\n function Gu(t) {\n return t.bottom + qu.arrowVerticalOffset;\n }\n\n qu.arrowHorizontalOffset = 25, qu.arrowVerticalOffset = 10, qu._getOptimalPosition = zl, qu.defaultPositions = {\n northWestArrowSouthWest: function northWestArrowSouthWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.left - qu.arrowHorizontalOffset,\n name: \"arrow_sw\"\n };\n },\n northWestArrowSouthMiddleWest: function northWestArrowSouthMiddleWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.left - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_smw\"\n };\n },\n northWestArrowSouth: function northWestArrowSouth(t, e) {\n return {\n top: Yu(t, e),\n left: t.left - e.width / 2,\n name: \"arrow_s\"\n };\n },\n northWestArrowSouthMiddleEast: function northWestArrowSouthMiddleEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.left - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_sme\"\n };\n },\n northWestArrowSouthEast: function northWestArrowSouthEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.left - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_se\"\n };\n },\n northArrowSouthWest: function northArrowSouthWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.left + t.width / 2 - qu.arrowHorizontalOffset,\n name: \"arrow_sw\"\n };\n },\n northArrowSouthMiddleWest: function northArrowSouthMiddleWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.left + t.width / 2 - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_smw\"\n };\n },\n northArrowSouth: function northArrowSouth(t, e) {\n return {\n top: Yu(t, e),\n left: t.left + t.width / 2 - e.width / 2,\n name: \"arrow_s\"\n };\n },\n northArrowSouthMiddleEast: function northArrowSouthMiddleEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.left + t.width / 2 - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_sme\"\n };\n },\n northArrowSouthEast: function northArrowSouthEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.left + t.width / 2 - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_se\"\n };\n },\n northEastArrowSouthWest: function northEastArrowSouthWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.right - qu.arrowHorizontalOffset,\n name: \"arrow_sw\"\n };\n },\n northEastArrowSouthMiddleWest: function northEastArrowSouthMiddleWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.right - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_smw\"\n };\n },\n northEastArrowSouth: function northEastArrowSouth(t, e) {\n return {\n top: Yu(t, e),\n left: t.right - e.width / 2,\n name: \"arrow_s\"\n };\n },\n northEastArrowSouthMiddleEast: function northEastArrowSouthMiddleEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.right - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_sme\"\n };\n },\n northEastArrowSouthEast: function northEastArrowSouthEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.right - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_se\"\n };\n },\n southWestArrowNorthWest: function southWestArrowNorthWest(t, e) {\n return {\n top: Gu(t),\n left: t.left - qu.arrowHorizontalOffset,\n name: \"arrow_nw\"\n };\n },\n southWestArrowNorthMiddleWest: function southWestArrowNorthMiddleWest(t, e) {\n return {\n top: Gu(t),\n left: t.left - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_nmw\"\n };\n },\n southWestArrowNorth: function southWestArrowNorth(t, e) {\n return {\n top: Gu(t),\n left: t.left - e.width / 2,\n name: \"arrow_n\"\n };\n },\n southWestArrowNorthMiddleEast: function southWestArrowNorthMiddleEast(t, e) {\n return {\n top: Gu(t),\n left: t.left - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_nme\"\n };\n },\n southWestArrowNorthEast: function southWestArrowNorthEast(t, e) {\n return {\n top: Gu(t),\n left: t.left - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_ne\"\n };\n },\n southArrowNorthWest: function southArrowNorthWest(t, e) {\n return {\n top: Gu(t),\n left: t.left + t.width / 2 - qu.arrowHorizontalOffset,\n name: \"arrow_nw\"\n };\n },\n southArrowNorthMiddleWest: function southArrowNorthMiddleWest(t, e) {\n return {\n top: Gu(t),\n left: t.left + t.width / 2 - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_nmw\"\n };\n },\n southArrowNorth: function southArrowNorth(t, e) {\n return {\n top: Gu(t),\n left: t.left + t.width / 2 - e.width / 2,\n name: \"arrow_n\"\n };\n },\n southArrowNorthMiddleEast: function southArrowNorthMiddleEast(t, e) {\n return {\n top: Gu(t),\n left: t.left + t.width / 2 - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_nme\"\n };\n },\n southArrowNorthEast: function southArrowNorthEast(t, e) {\n return {\n top: Gu(t),\n left: t.left + t.width / 2 - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_ne\"\n };\n },\n southEastArrowNorthWest: function southEastArrowNorthWest(t, e) {\n return {\n top: Gu(t),\n left: t.right - qu.arrowHorizontalOffset,\n name: \"arrow_nw\"\n };\n },\n southEastArrowNorthMiddleWest: function southEastArrowNorthMiddleWest(t, e) {\n return {\n top: Gu(t),\n left: t.right - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_nmw\"\n };\n },\n southEastArrowNorth: function southEastArrowNorth(t, e) {\n return {\n top: Gu(t),\n left: t.right - e.width / 2,\n name: \"arrow_n\"\n };\n },\n southEastArrowNorthMiddleEast: function southEastArrowNorthMiddleEast(t, e) {\n return {\n top: Gu(t),\n left: t.right - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_nme\"\n };\n },\n southEastArrowNorthEast: function southEastArrowNorthEast(t, e) {\n return {\n top: Gu(t),\n left: t.right - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_ne\"\n };\n }\n };\n\n function Ku(t, e, n) {\n return t && Ju(t) && !n.isInline(e);\n }\n\n function Qu(t) {\n return t.getAttribute(\"widget-type-around\");\n }\n\n function Ju(t) {\n return !!t.is(\"element\") && !!t.getCustomProperty(\"widget\");\n }\n\n function Zu(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!t.is(\"containerElement\")) throw new hn.a(\"widget-to-widget-wrong-element-type\", null, {\n element: t\n });\n return e.setAttribute(\"contenteditable\", \"false\", t), e.addClass(\"ck-widget\", t), e.setCustomProperty(\"widget\", !0, t), t.getFillerOffset = oh, n.label && function (t, e, n) {\n n.setCustomProperty(\"widgetLabel\", e, t);\n }(t, n.label, e), n.hasSelectionHandle && function (t, e) {\n var n = e.createUIElement(\"div\", {\n \"class\": \"ck ck-widget__selection-handle\"\n }, function (t) {\n var e = this.toDomElement(t),\n n = new Wl();\n return n.set(\"content\", ''), n.render(), e.appendChild(n.element), e;\n });\n e.insert(e.createPositionAt(t, 0), n), e.addClass([\"ck-widget_with-selection-handle\"], t);\n }(t, e), Xu(t, e, function (t, e, n) {\n return n.addClass(i(e.classes), t);\n }, function (t, e, n) {\n return n.removeClass(i(e.classes), t);\n }), t;\n\n function i(t) {\n return Array.isArray(t) ? t : [t];\n }\n }\n\n function Xu(t, e, n, i) {\n var o = new zu();\n o.on(\"change:top\", function (e, o) {\n o.oldDescriptor && i(t, o.oldDescriptor, o.writer), o.newDescriptor && n(t, o.newDescriptor, o.writer);\n }), e.setCustomProperty(\"addHighlight\", function (t, e, n) {\n return o.add(e, n);\n }, t), e.setCustomProperty(\"removeHighlight\", function (t, e, n) {\n return o.remove(e, n);\n }, t);\n }\n\n function th(t) {\n var e = t.getCustomProperty(\"widgetLabel\");\n return e ? \"function\" == typeof e ? e() : e : \"\";\n }\n\n function eh(t, e) {\n return e.addClass([\"ck-editor__editable\", \"ck-editor__nested-editable\"], t), e.setAttribute(\"contenteditable\", t.isReadOnly ? \"false\" : \"true\", t), t.on(\"change:isReadOnly\", function (n, i, o) {\n e.setAttribute(\"contenteditable\", o ? \"false\" : \"true\", t);\n }), t.on(\"change:isFocused\", function (n, i, o) {\n o ? e.addClass(\"ck-editor__nested-editable_focused\", t) : e.removeClass(\"ck-editor__nested-editable_focused\", t);\n }), t;\n }\n\n function nh(t, e) {\n var n = t.getSelectedElement();\n\n if (n) {\n var _i168 = Qu(t);\n\n if (_i168) return e.createPositionAt(n, _i168);\n if (e.schema.isBlock(n)) return e.createPositionAfter(n);\n }\n\n var i = t.getSelectedBlocks().next().value;\n\n if (i) {\n if (i.isEmpty) return e.createPositionAt(i, 0);\n\n var _n206 = e.createPositionAfter(i);\n\n return t.focus.isTouching(_n206) ? _n206 : e.createPositionBefore(i);\n }\n\n return t.focus;\n }\n\n function ih(t, e) {\n var n = new is(or.window),\n i = n.getIntersection(t),\n o = e.height + qu.arrowVerticalOffset;\n if (t.top - o > n.top || t.bottom + o < n.bottom) return null;\n var r = i || t,\n s = r.left + r.width / 2 - e.width / 2;\n return {\n top: Math.max(t.top, 0) + qu.arrowVerticalOffset,\n left: s,\n name: \"arrow_n\"\n };\n }\n\n function oh() {\n return null;\n }\n\n function rh(t) {\n var e = t.getSelectedElement();\n return e && function (t) {\n return !!t.getCustomProperty(\"image\") && Ju(t);\n }(e) ? e : null;\n }\n\n function sh(t) {\n return !!t && t.is(\"element\", \"image\");\n }\n\n function ah(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i = t.createElement(\"image\", n),\n o = nh(e.document.selection, e);\n e.insertContent(i, o), i.parent && t.setSelection(i, \"on\");\n }\n\n function ch(t) {\n var e = t.schema,\n n = t.document.selection;\n return function (t, e, n) {\n var i = function (t, e) {\n var n = nh(t, e).parent;\n if (n.isEmpty && !n.is(\"element\", \"$root\")) return n.parent;\n return n;\n }(t, n);\n\n return e.checkChild(i, \"image\");\n }(n, e, t) && !function (t, e) {\n var n = t.getSelectedElement();\n return n && e.isObject(n);\n }(n, e) && function (t) {\n return _toConsumableArray(t.focus.getAncestors()).every(function (t) {\n return !t.is(\"element\", \"image\");\n });\n }(n);\n }\n\n function lh(t) {\n var e = [];\n\n var _iterator313 = _createForOfIteratorHelper(t.getChildren()),\n _step313;\n\n try {\n for (_iterator313.s(); !(_step313 = _iterator313.n()).done;) {\n var _n207 = _step313.value;\n e.push(_n207), _n207.is(\"element\") && e.push.apply(e, _toConsumableArray(_n207.getChildren()));\n }\n } catch (err) {\n _iterator313.e(err);\n } finally {\n _iterator313.f();\n }\n\n return e.find(function (t) {\n return t.is(\"element\", \"img\");\n });\n }\n\n function dh(t) {\n return function (n) {\n n.on(\"attribute:\".concat(t, \":image\"), e);\n };\n\n function e(t, e, n) {\n if (!n.consumable.consume(e.item, t.name)) return;\n var i = n.writer,\n o = lh(n.mapper.toViewElement(e.item));\n i.setAttribute(e.attributeKey, e.attributeNewValue || \"\", o);\n }\n }\n\n var uh = /*#__PURE__*/function (_gd9) {\n _inherits(uh, _gd9);\n\n var _super102 = _createSuper(uh);\n\n function uh() {\n _classCallCheck(this, uh);\n\n return _super102.apply(this, arguments);\n }\n\n _createClass(uh, [{\n key: \"refresh\",\n value: function refresh() {\n this.isEnabled = ch(this.editor.model);\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor.model;\n e.change(function (n) {\n var i = Array.isArray(t.source) ? t.source : [t.source];\n\n var _iterator314 = _createForOfIteratorHelper(i),\n _step314;\n\n try {\n for (_iterator314.s(); !(_step314 = _iterator314.n()).done;) {\n var _t239 = _step314.value;\n ah(n, e, {\n src: _t239\n });\n }\n } catch (err) {\n _iterator314.e(err);\n } finally {\n _iterator314.f();\n }\n });\n }\n }]);\n\n return uh;\n }(gd);\n\n var hh = /*#__PURE__*/function (_cd23) {\n _inherits(hh, _cd23);\n\n var _super103 = _createSuper(hh);\n\n function hh() {\n _classCallCheck(this, hh);\n\n return _super103.apply(this, arguments);\n }\n\n _createClass(hh, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model.schema,\n n = t.t,\n i = t.conversion;\n t.editing.view.addObserver(ju), e.register(\"image\", {\n isObject: !0,\n isBlock: !0,\n allowWhere: \"$block\",\n allowAttributes: [\"alt\", \"src\", \"srcset\"]\n }), i[\"for\"](\"dataDowncast\").elementToElement({\n model: \"image\",\n view: function view(t, _ref113) {\n var e = _ref113.writer;\n return fh(e);\n }\n }), i[\"for\"](\"editingDowncast\").elementToElement({\n model: \"image\",\n view: function view(t, _ref114) {\n var e = _ref114.writer;\n return function (t, e, n) {\n return e.setCustomProperty(\"image\", !0, t), Zu(t, e, {\n label: function label() {\n var e = lh(t).getAttribute(\"alt\");\n return e ? \"\".concat(e, \" \").concat(n) : n;\n }\n });\n }(fh(e), e, n(\"image widget\"));\n }\n }), i[\"for\"](\"downcast\").add(dh(\"src\")).add(dh(\"alt\")).add(function () {\n return function (e) {\n e.on(\"attribute:srcset:image\", t);\n };\n\n function t(t, e, n) {\n if (!n.consumable.consume(e.item, t.name)) return;\n var i = n.writer,\n o = lh(n.mapper.toViewElement(e.item));\n\n if (null === e.attributeNewValue) {\n var _t240 = e.attributeOldValue;\n _t240.data && (i.removeAttribute(\"srcset\", o), i.removeAttribute(\"sizes\", o), _t240.width && i.removeAttribute(\"width\", o));\n } else {\n var _t241 = e.attributeNewValue;\n _t241.data && (i.setAttribute(\"srcset\", _t241.data, o), i.setAttribute(\"sizes\", \"100vw\", o), _t241.width && i.setAttribute(\"width\", _t241.width, o));\n }\n }\n }()), i[\"for\"](\"upcast\").elementToElement({\n view: {\n name: \"img\",\n attributes: {\n src: !0\n }\n },\n model: function model(t, _ref115) {\n var e = _ref115.writer;\n return e.createElement(\"image\", {\n src: t.getAttribute(\"src\")\n });\n }\n }).attributeToAttribute({\n view: {\n name: \"img\",\n key: \"alt\"\n },\n model: \"alt\"\n }).attributeToAttribute({\n view: {\n name: \"img\",\n key: \"srcset\"\n },\n model: {\n key: \"srcset\",\n value: function value(t) {\n var e = {\n data: t.getAttribute(\"srcset\")\n };\n return t.hasAttribute(\"width\") && (e.width = t.getAttribute(\"width\")), e;\n }\n }\n }).add(function () {\n return function (e) {\n e.on(\"element:figure\", t);\n };\n\n function t(t, e, n) {\n if (!n.consumable.test(e.viewItem, {\n name: !0,\n classes: \"image\"\n })) return;\n var i = lh(e.viewItem);\n if (!i || !i.hasAttribute(\"src\") || !n.consumable.test(i, {\n name: !0\n })) return;\n var o = vu(n.convertItem(i, e.modelCursor).modelRange.getItems());\n o && (n.convertChildren(e.viewItem, o), n.updateConversionResult(o, e));\n }\n }()), t.commands.add(\"imageInsert\", new uh(t));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageEditing\";\n }\n }]);\n\n return hh;\n }(cd);\n\n function fh(t) {\n var e = t.createEmptyElement(\"img\"),\n n = t.createContainerElement(\"figure\", {\n \"class\": \"image\"\n });\n return t.insert(t.createPositionAt(n, 0), e), n;\n }\n\n var mh = /*#__PURE__*/function (_Vr6) {\n _inherits(mh, _Vr6);\n\n var _super104 = _createSuper(mh);\n\n function mh(t) {\n var _this164;\n\n _classCallCheck(this, mh);\n\n _this164 = _super104.call(this, t), _this164.domEventType = \"mousedown\";\n return _this164;\n }\n\n _createClass(mh, [{\n key: \"onDomEvent\",\n value: function onDomEvent(t) {\n this.fire(t.type, t);\n }\n }]);\n\n return mh;\n }(Vr);\n\n var gh = /*#__PURE__*/function (_cd24) {\n _inherits(gh, _cd24);\n\n var _super105 = _createSuper(gh);\n\n _createClass(gh, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"TwoStepCaretMovement\";\n }\n }]);\n\n function gh(t) {\n var _this165;\n\n _classCallCheck(this, gh);\n\n _this165 = _super105.call(this, t), _this165.attributes = new Set(), _this165._overrideUid = null;\n return _this165;\n }\n\n _createClass(gh, [{\n key: \"init\",\n value: function init() {\n var _this166 = this;\n\n var t = this.editor,\n e = t.model,\n n = t.editing.view,\n i = t.locale,\n o = e.document.selection;\n this.listenTo(n.document, \"keydown\", function (t, e) {\n if (!o.isCollapsed) return;\n if (e.shiftKey || e.altKey || e.ctrlKey) return;\n var n = e.keyCode == go.arrowright,\n r = e.keyCode == go.arrowleft;\n if (!n && !r) return;\n var s = i.contentLanguageDirection;\n var a = !1;\n a = \"ltr\" === s && n || \"rtl\" === s && r ? _this166._handleForwardMovement(e) : _this166._handleBackwardMovement(e), !0 === a && t.stop();\n }, {\n priority: un.get(\"high\") + 1\n }), this._isNextGravityRestorationSkipped = !1, this.listenTo(o, \"change:range\", function (t, e) {\n _this166._isNextGravityRestorationSkipped ? _this166._isNextGravityRestorationSkipped = !1 : _this166._isGravityOverridden && (!e.directChange && kh(o.getFirstPosition(), _this166.attributes) || _this166._restoreGravity());\n });\n }\n }, {\n key: \"registerAttribute\",\n value: function registerAttribute(t) {\n this.attributes.add(t);\n }\n }, {\n key: \"_handleForwardMovement\",\n value: function _handleForwardMovement(t) {\n var e = this.attributes,\n n = this.editor.model.document.selection,\n i = n.getFirstPosition();\n return !this._isGravityOverridden && (!i.isAtStart || !ph(n, e)) && (kh(i, e) ? (wh(t), this._overrideGravity(), !0) : void 0);\n }\n }, {\n key: \"_handleBackwardMovement\",\n value: function _handleBackwardMovement(t) {\n var e = this.attributes,\n n = this.editor.model,\n i = n.document.selection,\n o = i.getFirstPosition();\n return this._isGravityOverridden ? (wh(t), this._restoreGravity(), bh(n, e, o), !0) : o.isAtStart ? !!ph(i, e) && (wh(t), bh(n, e, o), !0) : function (t, e) {\n return kh(t.getShiftedBy(-1), e);\n }(o, e) ? o.isAtEnd && !ph(i, e) && kh(o, e) ? (wh(t), bh(n, e, o), !0) : (this._isNextGravityRestorationSkipped = !0, this._overrideGravity(), !1) : void 0;\n }\n }, {\n key: \"_overrideGravity\",\n value: function _overrideGravity() {\n this._overrideUid = this.editor.model.change(function (t) {\n return t.overrideSelectionGravity();\n });\n }\n }, {\n key: \"_restoreGravity\",\n value: function _restoreGravity() {\n var _this167 = this;\n\n this.editor.model.change(function (t) {\n t.restoreSelectionGravity(_this167._overrideUid), _this167._overrideUid = null;\n });\n }\n }, {\n key: \"_isGravityOverridden\",\n get: function get() {\n return !!this._overrideUid;\n }\n }]);\n\n return gh;\n }(cd);\n\n function ph(t, e) {\n var _iterator315 = _createForOfIteratorHelper(e),\n _step315;\n\n try {\n for (_iterator315.s(); !(_step315 = _iterator315.n()).done;) {\n var _n208 = _step315.value;\n if (t.hasAttribute(_n208)) return !0;\n }\n } catch (err) {\n _iterator315.e(err);\n } finally {\n _iterator315.f();\n }\n\n return !1;\n }\n\n function bh(t, e, n) {\n var i = n.nodeBefore;\n t.change(function (t) {\n i ? t.setSelectionAttribute(i.getAttributes()) : t.removeSelectionAttribute(e);\n });\n }\n\n function wh(t) {\n t.preventDefault();\n }\n\n function kh(t, e) {\n var n = t.nodeBefore,\n i = t.nodeAfter;\n\n var _iterator316 = _createForOfIteratorHelper(e),\n _step316;\n\n try {\n for (_iterator316.s(); !(_step316 = _iterator316.n()).done;) {\n var _t242 = _step316.value;\n\n var _e223 = n ? n.getAttribute(_t242) : void 0;\n\n if ((i ? i.getAttribute(_t242) : void 0) !== _e223) return !0;\n }\n } catch (err) {\n _iterator316.e(err);\n } finally {\n _iterator316.f();\n }\n\n return !1;\n }\n\n function _h(t, e, n, i) {\n return i.createRange(vh(t, e, n, !0, i), vh(t, e, n, !1, i));\n }\n\n function vh(t, e, n, i, o) {\n var r = t.textNode || (i ? t.nodeBefore : t.nodeAfter),\n s = null;\n\n for (; r && r.getAttribute(e) == n;) {\n s = r, r = i ? r.previousSibling : r.nextSibling;\n }\n\n return s ? o.createPositionAt(s, i ? \"before\" : \"after\") : t;\n }\n\n var yh = /*#__PURE__*/function () {\n function yh() {\n _classCallCheck(this, yh);\n\n this._definitions = new Set();\n }\n\n _createClass(yh, [{\n key: \"add\",\n value: function add(t) {\n var _this168 = this;\n\n Array.isArray(t) ? t.forEach(function (t) {\n return _this168._definitions.add(t);\n }) : this._definitions.add(t);\n }\n }, {\n key: \"getDispatcher\",\n value: function getDispatcher() {\n var _this169 = this;\n\n return function (t) {\n t.on(\"attribute:linkHref\", function (t, e, n) {\n if (!n.consumable.test(e.item, \"attribute:linkHref\")) return;\n var i = n.writer,\n o = i.document.selection;\n\n var _iterator317 = _createForOfIteratorHelper(_this169._definitions),\n _step317;\n\n try {\n for (_iterator317.s(); !(_step317 = _iterator317.n()).done;) {\n var _t243 = _step317.value;\n\n var _r42 = i.createAttributeElement(\"a\", _t243.attributes, {\n priority: 5\n });\n\n i.setCustomProperty(\"link\", !0, _r42), _t243.callback(e.attributeNewValue) ? e.item.is(\"selection\") ? i.wrap(o.getFirstRange(), _r42) : i.wrap(n.mapper.toViewRange(e.range), _r42) : i.unwrap(n.mapper.toViewRange(e.range), _r42);\n }\n } catch (err) {\n _iterator317.e(err);\n } finally {\n _iterator317.f();\n }\n }, {\n priority: \"high\"\n });\n };\n }\n }, {\n key: \"getDispatcherForLinkedImage\",\n value: function getDispatcherForLinkedImage() {\n var _this170 = this;\n\n return function (t) {\n t.on(\"attribute:linkHref:image\", function (t, e, n) {\n var i = n.mapper.toViewElement(e.item),\n o = Array.from(i.getChildren()).find(function (t) {\n return \"a\" === t.name;\n });\n\n var _iterator318 = _createForOfIteratorHelper(_this170._definitions),\n _step318;\n\n try {\n for (_iterator318.s(); !(_step318 = _iterator318.n()).done;) {\n var _t244 = _step318.value;\n\n var _i169 = Ln(_t244.attributes);\n\n if (_t244.callback(e.attributeNewValue)) {\n var _iterator319 = _createForOfIteratorHelper(_i169),\n _step319;\n\n try {\n for (_iterator319.s(); !(_step319 = _iterator319.n()).done;) {\n var _ref118 = _step319.value;\n\n var _ref117 = _slicedToArray(_ref118, 2);\n\n var _t245 = _ref117[0];\n var _e224 = _ref117[1];\n \"class\" === _t245 ? n.writer.addClass(_e224, o) : n.writer.setAttribute(_t245, _e224, o);\n }\n } catch (err) {\n _iterator319.e(err);\n } finally {\n _iterator319.f();\n }\n } else {\n var _iterator320 = _createForOfIteratorHelper(_i169),\n _step320;\n\n try {\n for (_iterator320.s(); !(_step320 = _iterator320.n()).done;) {\n var _ref121 = _step320.value;\n\n var _ref120 = _slicedToArray(_ref121, 2);\n\n var _t246 = _ref120[0];\n var _e225 = _ref120[1];\n \"class\" === _t246 ? n.writer.removeClass(_e225, o) : n.writer.removeAttribute(_t246, o);\n }\n } catch (err) {\n _iterator320.e(err);\n } finally {\n _iterator320.f();\n }\n }\n }\n } catch (err) {\n _iterator318.e(err);\n } finally {\n _iterator318.f();\n }\n });\n };\n }\n }, {\n key: \"length\",\n get: function get() {\n return this._definitions.size;\n }\n }]);\n\n return yh;\n }();\n\n var xh = function xh(t, e, n) {\n var i = t.length;\n return n = void 0 === n ? i : n, !e && n >= i ? t : ii(t, e, n);\n },\n Ah = RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\\\\ufe0e\\\\ufe0f]\");\n\n var Ch = function Ch(t) {\n return Ah.test(t);\n };\n\n var Th = function Th(t) {\n return t.split(\"\");\n },\n Ph = \"[\\\\ud800-\\\\udfff]\",\n Sh = \"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",\n Eh = \"\\\\ud83c[\\\\udffb-\\\\udfff]\",\n Mh = \"[^\\\\ud800-\\\\udfff]\",\n Ih = \"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",\n Nh = \"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",\n Oh = \"(?:\" + Sh + \"|\" + Eh + \")\" + \"?\",\n Rh = \"[\\\\ufe0e\\\\ufe0f]?\" + Oh + (\"(?:\\\\u200d(?:\" + [Mh, Ih, Nh].join(\"|\") + \")[\\\\ufe0e\\\\ufe0f]?\" + Oh + \")*\"),\n Dh = \"(?:\" + [Mh + Sh + \"?\", Sh, Ih, Nh, Ph].join(\"|\") + \")\",\n Lh = RegExp(Eh + \"(?=\" + Eh + \")|\" + Dh + Rh, \"g\");\n\n var Vh = function Vh(t) {\n return t.match(Lh) || [];\n };\n\n var jh = function jh(t) {\n return Ch(t) ? Vh(t) : Th(t);\n };\n\n var zh = function (t) {\n return function (e) {\n e = Zn(e);\n var n = Ch(e) ? jh(e) : void 0,\n i = n ? n[0] : e.charAt(0),\n o = n ? xh(n, 1).join(\"\") : e.slice(1);\n return i[t]() + o;\n };\n }(\"toUpperCase\");\n\n var Bh = /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g,\n Fh = /^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,\n Uh = /^[\\S]+@((?![-_])(?:[-\\w\\u00a1-\\uffff]{0,63}[^-_]\\.))+(?:[a-z\\u00a1-\\uffff]{2,})$/i,\n Hh = /^((\\w+:(\\/{2,})?)|(\\W))/i;\n\n function Wh(t, _ref122) {\n var e = _ref122.writer;\n var n = e.createAttributeElement(\"a\", {\n href: t\n }, {\n priority: 5\n });\n return e.setCustomProperty(\"link\", !0, n), n;\n }\n\n function qh(t) {\n return function (t) {\n return t.replace(Bh, \"\").match(Fh);\n }(t = String(t)) ? t : \"#\";\n }\n\n function $h(t, e) {\n return !!t && t.is(\"element\", \"image\") && e.checkAttribute(\"image\", \"linkHref\");\n }\n\n function Yh(t, e) {\n var n = (i = t, Uh.test(i) ? \"mailto:\" : e);\n var i;\n var o = !!n && !Hh.test(t);\n return t && o ? n + t : t;\n }\n\n var Gh = /*#__PURE__*/function (_gd10) {\n _inherits(Gh, _gd10);\n\n var _super106 = _createSuper(Gh);\n\n function Gh(t) {\n var _this171;\n\n _classCallCheck(this, Gh);\n\n _this171 = _super106.call(this, t), _this171.manualDecorators = new An(), _this171.automaticDecorators = new yh();\n return _this171;\n }\n\n _createClass(Gh, [{\n key: \"restoreManualDecoratorStates\",\n value: function restoreManualDecoratorStates() {\n var _iterator321 = _createForOfIteratorHelper(this.manualDecorators),\n _step321;\n\n try {\n for (_iterator321.s(); !(_step321 = _iterator321.n()).done;) {\n var _t247 = _step321.value;\n _t247.value = this._getDecoratorStateFromModel(_t247.id);\n }\n } catch (err) {\n _iterator321.e(err);\n } finally {\n _iterator321.f();\n }\n }\n }, {\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = t.document,\n n = vu(e.selection.getSelectedBlocks());\n $h(n, t.schema) ? (this.value = n.getAttribute(\"linkHref\"), this.isEnabled = t.schema.checkAttribute(n, \"linkHref\")) : (this.value = e.selection.getAttribute(\"linkHref\"), this.isEnabled = t.schema.checkAttributeInSelection(e.selection, \"linkHref\"));\n\n var _iterator322 = _createForOfIteratorHelper(this.manualDecorators),\n _step322;\n\n try {\n for (_iterator322.s(); !(_step322 = _iterator322.n()).done;) {\n var _t248 = _step322.value;\n _t248.value = this._getDecoratorStateFromModel(_t248.id);\n }\n } catch (err) {\n _iterator322.e(err);\n } finally {\n _iterator322.f();\n }\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var _this172 = this;\n\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var n = this.editor.model,\n i = n.document.selection,\n o = [],\n r = [];\n\n for (var _t249 in e) {\n e[_t249] ? o.push(_t249) : r.push(_t249);\n }\n\n n.change(function (e) {\n if (i.isCollapsed) {\n var _s30 = i.getFirstPosition();\n\n if (i.hasAttribute(\"linkHref\")) {\n var _a15 = _h(_s30, \"linkHref\", i.getAttribute(\"linkHref\"), n);\n\n e.setAttribute(\"linkHref\", t, _a15), o.forEach(function (t) {\n e.setAttribute(t, !0, _a15);\n }), r.forEach(function (t) {\n e.removeAttribute(t, _a15);\n }), e.setSelection(e.createPositionAfter(_a15.end.nodeBefore));\n } else if (\"\" !== t) {\n var _r43 = Ln(i.getAttributes());\n\n _r43.set(\"linkHref\", t), o.forEach(function (t) {\n _r43.set(t, !0);\n });\n\n var _a16 = e.createText(t, _r43);\n\n n.insertContent(_a16, _s30), e.setSelection(e.createPositionAfter(_a16));\n }\n\n [\"linkHref\"].concat(o, r).forEach(function (t) {\n e.removeSelectionAttribute(t);\n });\n } else {\n var _s31 = n.schema.getValidRanges(i.getRanges(), \"linkHref\"),\n _a17 = [];\n\n var _iterator323 = _createForOfIteratorHelper(i.getSelectedBlocks()),\n _step323;\n\n try {\n for (_iterator323.s(); !(_step323 = _iterator323.n()).done;) {\n var _t250 = _step323.value;\n n.schema.checkAttribute(_t250, \"linkHref\") && _a17.push(e.createRangeOn(_t250));\n }\n } catch (err) {\n _iterator323.e(err);\n } finally {\n _iterator323.f();\n }\n\n var _c10 = _a17.slice();\n\n var _iterator324 = _createForOfIteratorHelper(_s31),\n _step324;\n\n try {\n for (_iterator324.s(); !(_step324 = _iterator324.n()).done;) {\n var _t251 = _step324.value;\n _this172._isRangeToUpdate(_t251, _a17) && _c10.push(_t251);\n }\n } catch (err) {\n _iterator324.e(err);\n } finally {\n _iterator324.f();\n }\n\n var _iterator325 = _createForOfIteratorHelper(_c10),\n _step325;\n\n try {\n var _loop6 = function _loop6() {\n var n = _step325.value;\n e.setAttribute(\"linkHref\", t, n), o.forEach(function (t) {\n e.setAttribute(t, !0, n);\n }), r.forEach(function (t) {\n e.removeAttribute(t, n);\n });\n };\n\n for (_iterator325.s(); !(_step325 = _iterator325.n()).done;) {\n _loop6();\n }\n } catch (err) {\n _iterator325.e(err);\n } finally {\n _iterator325.f();\n }\n }\n });\n }\n }, {\n key: \"_getDecoratorStateFromModel\",\n value: function _getDecoratorStateFromModel(t) {\n var e = this.editor.model,\n n = e.document,\n i = vu(n.selection.getSelectedBlocks());\n return $h(i, e.schema) ? i.getAttribute(t) : n.selection.getAttribute(t);\n }\n }, {\n key: \"_isRangeToUpdate\",\n value: function _isRangeToUpdate(t, e) {\n var _iterator326 = _createForOfIteratorHelper(e),\n _step326;\n\n try {\n for (_iterator326.s(); !(_step326 = _iterator326.n()).done;) {\n var _n209 = _step326.value;\n if (_n209.containsRange(t)) return !1;\n }\n } catch (err) {\n _iterator326.e(err);\n } finally {\n _iterator326.f();\n }\n\n return !0;\n }\n }]);\n\n return Gh;\n }(gd);\n\n var Kh = /*#__PURE__*/function (_gd11) {\n _inherits(Kh, _gd11);\n\n var _super107 = _createSuper(Kh);\n\n function Kh() {\n _classCallCheck(this, Kh);\n\n return _super107.apply(this, arguments);\n }\n\n _createClass(Kh, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = t.document,\n n = vu(e.selection.getSelectedBlocks());\n $h(n, t.schema) ? this.isEnabled = t.schema.checkAttribute(n, \"linkHref\") : this.isEnabled = t.schema.checkAttributeInSelection(e.selection, \"linkHref\");\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var t = this.editor,\n e = this.editor.model,\n n = e.document.selection,\n i = t.commands.get(\"link\");\n e.change(function (t) {\n var o = n.isCollapsed ? [_h(n.getFirstPosition(), \"linkHref\", n.getAttribute(\"linkHref\"), e)] : n.getRanges();\n\n var _iterator327 = _createForOfIteratorHelper(o),\n _step327;\n\n try {\n for (_iterator327.s(); !(_step327 = _iterator327.n()).done;) {\n var _e226 = _step327.value;\n\n if (t.removeAttribute(\"linkHref\", _e226), i) {\n var _iterator328 = _createForOfIteratorHelper(i.manualDecorators),\n _step328;\n\n try {\n for (_iterator328.s(); !(_step328 = _iterator328.n()).done;) {\n var _n210 = _step328.value;\n t.removeAttribute(_n210.id, _e226);\n }\n } catch (err) {\n _iterator328.e(err);\n } finally {\n _iterator328.f();\n }\n }\n }\n } catch (err) {\n _iterator327.e(err);\n } finally {\n _iterator327.f();\n }\n });\n }\n }]);\n\n return Kh;\n }(gd);\n\n var Qh = function Qh(_ref123) {\n var t = _ref123.id,\n e = _ref123.label,\n n = _ref123.attributes,\n i = _ref123.defaultValue;\n\n _classCallCheck(this, Qh);\n\n this.id = t, this.set(\"value\"), this.defaultValue = i, this.label = e, this.attributes = n;\n };\n\n xn(Qh, Ui);\n n(48);\n var Jh = /^(https?:)?\\/\\//;\n\n var Zh = /*#__PURE__*/function (_cd25) {\n _inherits(Zh, _cd25);\n\n var _super108 = _createSuper(Zh);\n\n _createClass(Zh, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"LinkEditing\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [gh, Fd, md];\n }\n }]);\n\n function Zh(t) {\n var _this173;\n\n _classCallCheck(this, Zh);\n\n _this173 = _super108.call(this, t), t.config.define(\"link\", {\n addTargetToExternalLinks: !1\n });\n return _this173;\n }\n\n _createClass(Zh, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.model.schema.extend(\"$text\", {\n allowAttributes: \"linkHref\"\n }), t.conversion[\"for\"](\"dataDowncast\").attributeToElement({\n model: \"linkHref\",\n view: Wh\n }), t.conversion[\"for\"](\"editingDowncast\").attributeToElement({\n model: \"linkHref\",\n view: function view(t, e) {\n return Wh(qh(t), e);\n }\n }), t.conversion[\"for\"](\"upcast\").elementToAttribute({\n view: {\n name: \"a\",\n attributes: {\n href: !0\n }\n },\n model: {\n key: \"linkHref\",\n value: function value(t) {\n return t.getAttribute(\"href\");\n }\n }\n }), t.commands.add(\"link\", new Gh(t)), t.commands.add(\"unlink\", new Kh(t));\n\n var e = function (t, e) {\n var n = {\n \"Open in a new tab\": t(\"Open in a new tab\"),\n Downloadable: t(\"Downloadable\")\n };\n return e.forEach(function (t) {\n return t.label && n[t.label] && (t.label = n[t.label]), t;\n }), e;\n }(t.t, function (t) {\n var e = [];\n if (t) for (var _i170 = 0, _Object$entries2 = Object.entries(t); _i170 < _Object$entries2.length; _i170++) {\n var _ref126 = _Object$entries2[_i170];\n\n var _ref125 = _slicedToArray(_ref126, 2);\n\n var _n211 = _ref125[0];\n var _i171 = _ref125[1];\n\n var _t252 = Object.assign({}, _i171, {\n id: \"link\" + zh(_n211)\n });\n\n e.push(_t252);\n }\n return e;\n }(t.config.get(\"link.decorators\")));\n\n this._enableAutomaticDecorators(e.filter(function (t) {\n return \"automatic\" === t.mode;\n })), this._enableManualDecorators(e.filter(function (t) {\n return \"manual\" === t.mode;\n }));\n t.plugins.get(gh).registerAttribute(\"linkHref\"), function (t, e, n, i) {\n var o = t.editing.view,\n r = new Set();\n o.document.registerPostFixer(function (o) {\n var s = t.model.document.selection;\n var a = !1;\n\n if (s.hasAttribute(e)) {\n var _c11 = _h(s.getFirstPosition(), e, s.getAttribute(e), t.model),\n _l7 = t.editing.mapper.toViewRange(_c11);\n\n var _iterator329 = _createForOfIteratorHelper(_l7.getItems()),\n _step329;\n\n try {\n for (_iterator329.s(); !(_step329 = _iterator329.n()).done;) {\n var _t253 = _step329.value;\n _t253.is(\"element\", n) && !_t253.hasClass(i) && (o.addClass(i, _t253), r.add(_t253), a = !0);\n }\n } catch (err) {\n _iterator329.e(err);\n } finally {\n _iterator329.f();\n }\n }\n\n return a;\n }), t.conversion[\"for\"](\"editingDowncast\").add(function (t) {\n function e() {\n o.change(function (t) {\n var _iterator330 = _createForOfIteratorHelper(r.values()),\n _step330;\n\n try {\n for (_iterator330.s(); !(_step330 = _iterator330.n()).done;) {\n var _e227 = _step330.value;\n t.removeClass(i, _e227), r[\"delete\"](_e227);\n }\n } catch (err) {\n _iterator330.e(err);\n } finally {\n _iterator330.f();\n }\n });\n }\n\n t.on(\"insert\", e, {\n priority: \"highest\"\n }), t.on(\"remove\", e, {\n priority: \"highest\"\n }), t.on(\"attribute\", e, {\n priority: \"highest\"\n }), t.on(\"selection\", e, {\n priority: \"highest\"\n });\n });\n }(t, \"linkHref\", \"a\", \"ck-link_selected\"), this._enableInsertContentSelectionAttributesFixer(), this._enableClickingAfterLink(), this._enableTypingOverLink(), this._handleDeleteContentAfterLink();\n }\n }, {\n key: \"_enableAutomaticDecorators\",\n value: function _enableAutomaticDecorators(t) {\n var e = this.editor,\n n = e.commands.get(\"link\").automaticDecorators;\n e.config.get(\"link.addTargetToExternalLinks\") && n.add({\n id: \"linkIsExternal\",\n mode: \"automatic\",\n callback: function callback(t) {\n return Jh.test(t);\n },\n attributes: {\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n }), n.add(t), n.length && e.conversion[\"for\"](\"downcast\").add(n.getDispatcher());\n }\n }, {\n key: \"_enableManualDecorators\",\n value: function _enableManualDecorators(t) {\n if (!t.length) return;\n var e = this.editor,\n n = e.commands.get(\"link\").manualDecorators;\n t.forEach(function (t) {\n e.model.schema.extend(\"$text\", {\n allowAttributes: t.id\n }), n.add(new Qh(t)), e.conversion[\"for\"](\"downcast\").attributeToElement({\n model: t.id,\n view: function view(e, _ref127) {\n var i = _ref127.writer;\n\n if (e) {\n var _e228 = n.get(t.id).attributes,\n _o92 = i.createAttributeElement(\"a\", _e228, {\n priority: 5\n });\n\n return i.setCustomProperty(\"link\", !0, _o92), _o92;\n }\n }\n }), e.conversion[\"for\"](\"upcast\").elementToAttribute({\n view: {\n name: \"a\",\n attributes: n.get(t.id).attributes\n },\n model: {\n key: t.id\n }\n });\n });\n }\n }, {\n key: \"_enableInsertContentSelectionAttributesFixer\",\n value: function _enableInsertContentSelectionAttributesFixer() {\n var t = this.editor,\n e = t.model,\n n = e.document.selection,\n i = t.commands.get(\"link\");\n this.listenTo(e, \"insertContent\", function () {\n var t = n.anchor.nodeBefore,\n o = n.anchor.nodeAfter;\n n.hasAttribute(\"linkHref\") && t && t.hasAttribute(\"linkHref\") && (o && o.hasAttribute(\"linkHref\") || e.change(function (t) {\n Xh(t, i.manualDecorators);\n }));\n }, {\n priority: \"low\"\n });\n }\n }, {\n key: \"_enableClickingAfterLink\",\n value: function _enableClickingAfterLink() {\n var t = this.editor,\n e = t.commands.get(\"link\");\n t.editing.view.addObserver(mh);\n var n = !1;\n this.listenTo(t.editing.view.document, \"mousedown\", function () {\n n = !0;\n }), this.listenTo(t.editing.view.document, \"selectionChange\", function () {\n if (!n) return;\n n = !1;\n var i = t.model.document.selection;\n if (!i.isCollapsed) return;\n if (!i.hasAttribute(\"linkHref\")) return;\n\n var o = i.getFirstPosition(),\n r = _h(o, \"linkHref\", i.getAttribute(\"linkHref\"), t.model);\n\n (o.isTouching(r.start) || o.isTouching(r.end)) && t.model.change(function (t) {\n Xh(t, e.manualDecorators);\n });\n });\n }\n }, {\n key: \"_enableTypingOverLink\",\n value: function _enableTypingOverLink() {\n var t = this.editor,\n e = t.editing.view;\n var n, i;\n this.listenTo(e.document, \"delete\", function () {\n i = !0;\n }, {\n priority: \"high\"\n }), this.listenTo(t.model, \"deleteContent\", function () {\n var e = t.model.document.selection;\n e.isCollapsed || (i ? i = !1 : tf(t) && function (t) {\n var e = t.document.selection,\n n = e.getFirstPosition(),\n i = e.getLastPosition(),\n o = n.nodeAfter;\n if (!o) return !1;\n if (!o.is(\"$text\")) return !1;\n if (!o.hasAttribute(\"linkHref\")) return !1;\n var r = i.textNode || i.nodeBefore;\n if (o === r) return !0;\n return _h(n, \"linkHref\", o.getAttribute(\"linkHref\"), t).containsRange(t.createRange(n, i), !0);\n }(t.model) && (n = e.getAttributes()));\n }, {\n priority: \"high\"\n }), this.listenTo(t.model, \"insertContent\", function (e, _ref128) {\n var _ref129 = _slicedToArray(_ref128, 1),\n o = _ref129[0];\n\n i = !1, tf(t) && n && (t.model.change(function (t) {\n var _iterator331 = _createForOfIteratorHelper(n),\n _step331;\n\n try {\n for (_iterator331.s(); !(_step331 = _iterator331.n()).done;) {\n var _ref132 = _step331.value;\n\n var _ref131 = _slicedToArray(_ref132, 2);\n\n var _e229 = _ref131[0];\n var _i172 = _ref131[1];\n t.setAttribute(_e229, _i172, o);\n }\n } catch (err) {\n _iterator331.e(err);\n } finally {\n _iterator331.f();\n }\n }), n = null);\n }, {\n priority: \"high\"\n });\n }\n }, {\n key: \"_handleDeleteContentAfterLink\",\n value: function _handleDeleteContentAfterLink() {\n var t = this.editor,\n e = t.model,\n n = e.document.selection,\n i = t.editing.view,\n o = t.commands.get(\"link\");\n var r = !1,\n s = !1;\n this.listenTo(i.document, \"delete\", function (t, e) {\n s = e.domEvent.keyCode === go.backspace;\n }, {\n priority: \"high\"\n }), this.listenTo(e, \"deleteContent\", function () {\n r = !1;\n var t = n.getFirstPosition(),\n i = n.getAttribute(\"linkHref\");\n if (!i) return;\n\n var o = _h(t, \"linkHref\", i, e);\n\n r = o.containsPosition(t) || o.end.isEqual(t);\n }, {\n priority: \"high\"\n }), this.listenTo(e, \"deleteContent\", function () {\n s && (s = !1, r || t.model.enqueueChange(function (t) {\n Xh(t, o.manualDecorators);\n }));\n }, {\n priority: \"low\"\n });\n }\n }]);\n\n return Zh;\n }(cd);\n\n function Xh(t, e) {\n t.removeSelectionAttribute(\"linkHref\");\n\n var _iterator332 = _createForOfIteratorHelper(e),\n _step332;\n\n try {\n for (_iterator332.s(); !(_step332 = _iterator332.n()).done;) {\n var _n212 = _step332.value;\n t.removeSelectionAttribute(_n212.id);\n }\n } catch (err) {\n _iterator332.e(err);\n } finally {\n _iterator332.f();\n }\n }\n\n function tf(t) {\n return t.plugins.get(\"Input\").isInput(t.model.change(function (t) {\n return t.batch;\n }));\n }\n\n var ef = /*#__PURE__*/function (_fu2) {\n _inherits(ef, _fu2);\n\n var _super109 = _createSuper(ef);\n\n function ef() {\n _classCallCheck(this, ef);\n\n return _super109.apply(this, arguments);\n }\n\n _createClass(ef, [{\n key: \"init\",\n value: function init() {\n this.on(\"show:warning\", function (t, e) {\n window.alert(e.message);\n }, {\n priority: \"lowest\"\n });\n }\n }, {\n key: \"showSuccess\",\n value: function showSuccess(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this._showNotification({\n message: t,\n type: \"success\",\n namespace: e.namespace,\n title: e.title\n });\n }\n }, {\n key: \"showInfo\",\n value: function showInfo(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this._showNotification({\n message: t,\n type: \"info\",\n namespace: e.namespace,\n title: e.title\n });\n }\n }, {\n key: \"showWarning\",\n value: function showWarning(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this._showNotification({\n message: t,\n type: \"warning\",\n namespace: e.namespace,\n title: e.title\n });\n }\n }, {\n key: \"_showNotification\",\n value: function _showNotification(t) {\n var e = \"show:\" + t.type + (t.namespace ? \":\" + t.namespace : \"\");\n this.fire(e, {\n message: t.message,\n type: t.type,\n title: t.title || \"\"\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Notification\";\n }\n }]);\n\n return ef;\n }(fu);\n\n var nf = /*#__PURE__*/function (_gd12) {\n _inherits(nf, _gd12);\n\n var _super110 = _createSuper(nf);\n\n function nf(t) {\n var _this174;\n\n _classCallCheck(this, nf);\n\n _this174 = _super110.call(this, t), _this174.stopListening(_this174.editor.model.document, \"change\"), _this174.listenTo(_this174.editor.model.document, \"change\", function () {\n return _this174.refresh();\n }, {\n priority: \"low\"\n });\n return _this174;\n }\n\n _createClass(nf, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.commands.get(\"imageInsert\"),\n e = this.editor.commands.get(\"link\");\n this.isEnabled = t.isEnabled || e.isEnabled;\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var t = this.editor,\n e = this.editor.config.get(\"ckfinder.openerMethod\") || \"modal\";\n if (\"popup\" != e && \"modal\" != e) throw new hn.a(\"ckfinder-unknown-openermethod\", t);\n var n = this.editor.config.get(\"ckfinder.options\") || {};\n n.chooseFiles = !0;\n var i = n.onInit;\n n.language || (n.language = t.locale.uiLanguage), n.onInit = function (e) {\n i && i(e), e.on(\"files:choose\", function (n) {\n var i = n.data.files.toArray(),\n o = i.filter(function (t) {\n return !t.isImage();\n }),\n r = i.filter(function (t) {\n return t.isImage();\n });\n\n var _iterator333 = _createForOfIteratorHelper(o),\n _step333;\n\n try {\n for (_iterator333.s(); !(_step333 = _iterator333.n()).done;) {\n var _e230 = _step333.value;\n t.execute(\"link\", _e230.getUrl());\n }\n } catch (err) {\n _iterator333.e(err);\n } finally {\n _iterator333.f();\n }\n\n var s = [];\n\n var _iterator334 = _createForOfIteratorHelper(r),\n _step334;\n\n try {\n for (_iterator334.s(); !(_step334 = _iterator334.n()).done;) {\n var _t254 = _step334.value;\n\n var _n213 = _t254.getUrl();\n\n s.push(_n213 || e.request(\"file:getProxyUrl\", {\n file: _t254\n }));\n }\n } catch (err) {\n _iterator334.e(err);\n } finally {\n _iterator334.f();\n }\n\n s.length && of(t, s);\n }), e.on(\"file:choose:resizedImage\", function (e) {\n var n = e.data.resizedUrl;\n if (n) of(t, [n]);else {\n var _e231 = t.plugins.get(\"Notification\"),\n _n214 = t.locale.t;\n\n _e231.showWarning(_n214(\"Could not obtain resized image URL.\"), {\n title: _n214(\"Selecting resized image failed\"),\n namespace: \"ckfinder\"\n });\n }\n });\n }, window.CKFinder[e](n);\n }\n }]);\n\n return nf;\n }(gd);\n\n function of(t, e) {\n if (t.commands.get(\"imageInsert\").isEnabled) t.execute(\"imageInsert\", {\n source: e\n });else {\n var _e232 = t.plugins.get(\"Notification\"),\n _n215 = t.locale.t;\n\n _e232.showWarning(_n215(\"Could not insert image at the current position.\"), {\n title: _n215(\"Inserting image failed\"),\n namespace: \"ckfinder\"\n });\n }\n }\n\n var rf = /*#__PURE__*/function (_cd26) {\n _inherits(rf, _cd26);\n\n var _super111 = _createSuper(rf);\n\n function rf() {\n _classCallCheck(this, rf);\n\n return _super111.apply(this, arguments);\n }\n\n _createClass(rf, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.commands.add(\"ckfinder\", new nf(t));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"CKFinderEditing\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [ef, hh, Zh];\n }\n }]);\n\n return rf;\n }(cd);\n\n var sf = /^data:(\\S*?);base64,/;\n\n var af = /*#__PURE__*/function () {\n function af(t, e, n) {\n _classCallCheck(this, af);\n\n if (!t) throw new hn.a(\"fileuploader-missing-file\", null);\n if (!e) throw new hn.a(\"fileuploader-missing-token\", null);\n if (!n) throw new hn.a(\"fileuploader-missing-api-address\", null);\n this.file = function (t) {\n if (\"string\" != typeof t) return !1;\n var e = t.match(sf);\n return !(!e || !e.length);\n }(t) ? function (t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 512;\n\n try {\n var _n216 = t.match(sf)[1],\n _i173 = atob(t.replace(sf, \"\")),\n _o93 = [];\n\n for (var _t255 = 0; _t255 < _i173.length; _t255 += e) {\n var _n217 = _i173.slice(_t255, _t255 + e),\n _r44 = new Array(_n217.length);\n\n for (var _t256 = 0; _t256 < _n217.length; _t256++) {\n _r44[_t256] = _n217.charCodeAt(_t256);\n }\n\n _o93.push(new Uint8Array(_r44));\n }\n\n return new Blob(_o93, {\n type: _n216\n });\n } catch (t) {\n throw new hn.a(\"fileuploader-decoding-image-data-error\", null);\n }\n }(t) : t, this._token = e, this._apiAddress = n;\n }\n\n _createClass(af, [{\n key: \"onProgress\",\n value: function onProgress(t) {\n return this.on(\"progress\", function (e, n) {\n return t(n);\n }), this;\n }\n }, {\n key: \"onError\",\n value: function onError(t) {\n return this.once(\"error\", function (e, n) {\n return t(n);\n }), this;\n }\n }, {\n key: \"abort\",\n value: function abort() {\n this.xhr.abort();\n }\n }, {\n key: \"send\",\n value: function send() {\n return this._prepareRequest(), this._attachXHRListeners(), this._sendRequest();\n }\n }, {\n key: \"_prepareRequest\",\n value: function _prepareRequest() {\n var t = new XMLHttpRequest();\n t.open(\"POST\", this._apiAddress), t.setRequestHeader(\"Authorization\", this._token.value), t.responseType = \"json\", this.xhr = t;\n }\n }, {\n key: \"_attachXHRListeners\",\n value: function _attachXHRListeners() {\n var _this175 = this;\n\n var t = this,\n e = this.xhr;\n\n function n(e) {\n return function () {\n return t.fire(\"error\", e);\n };\n }\n\n e.addEventListener(\"error\", n(\"Network Error\")), e.addEventListener(\"abort\", n(\"Abort\")), e.upload && e.upload.addEventListener(\"progress\", function (t) {\n t.lengthComputable && _this175.fire(\"progress\", {\n total: t.total,\n uploaded: t.loaded\n });\n }), e.addEventListener(\"load\", function () {\n var t = e.status,\n n = e.response;\n if (t < 200 || t > 299) return _this175.fire(\"error\", n.message || n.error);\n });\n }\n }, {\n key: \"_sendRequest\",\n value: function _sendRequest() {\n var _this176 = this;\n\n var t = new FormData(),\n e = this.xhr;\n return t.append(\"file\", this.file), new Promise(function (n, i) {\n e.addEventListener(\"load\", function () {\n var t = e.status,\n o = e.response;\n return t < 200 || t > 299 ? o.message ? i(new hn.a(\"fileuploader-uploading-data-failed\", _this176, {\n message: o.message\n })) : i(o.error) : n(o);\n }), e.addEventListener(\"error\", function () {\n return i(new Error(\"Network Error\"));\n }), e.addEventListener(\"abort\", function () {\n return i(new Error(\"Abort\"));\n }), e.send(t);\n });\n }\n }]);\n\n return af;\n }();\n\n xn(af, gn);\n var cf = {\n autoRefresh: !0\n };\n\n var lf = /*#__PURE__*/function () {\n function lf(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : cf;\n\n _classCallCheck(this, lf);\n\n if (!t) throw new hn.a(\"token-missing-token-url\", this);\n e.initValue && this._validateTokenValue(e.initValue), this.set(\"value\", e.initValue), this._refresh = \"function\" == typeof t ? t : function () {\n return e = t, new Promise(function (t, n) {\n var i = new XMLHttpRequest();\n i.open(\"GET\", e), i.addEventListener(\"load\", function () {\n var e = i.status,\n o = i.response;\n return e < 200 || e > 299 ? n(new hn.a(\"token-cannot-download-new-token\", null)) : t(o);\n }), i.addEventListener(\"error\", function () {\n return n(new Error(\"Network Error\"));\n }), i.addEventListener(\"abort\", function () {\n return n(new Error(\"Abort\"));\n }), i.send();\n });\n var e;\n }, this._options = Object.assign({}, cf, e);\n }\n\n _createClass(lf, [{\n key: \"init\",\n value: function init() {\n var _this177 = this;\n\n return new Promise(function (t, e) {\n _this177.value ? (_this177._options.autoRefresh && _this177._registerRefreshTokenTimeout(), t(_this177)) : _this177.refreshToken().then(t)[\"catch\"](e);\n });\n }\n }, {\n key: \"refreshToken\",\n value: function refreshToken() {\n var _this178 = this;\n\n return this._refresh().then(function (t) {\n _this178._validateTokenValue(t), _this178.set(\"value\", t), _this178._options.autoRefresh && _this178._registerRefreshTokenTimeout();\n }).then(function () {\n return _this178;\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n clearTimeout(this._tokenRefreshTimeout);\n }\n }, {\n key: \"_validateTokenValue\",\n value: function _validateTokenValue(t) {\n var e = \"string\" == typeof t,\n n = !/^\".*\"$/.test(t),\n i = e && 3 === t.split(\".\").length;\n if (!n || !i) throw new hn.a(\"token-not-in-jwt-format\", this);\n }\n }, {\n key: \"_registerRefreshTokenTimeout\",\n value: function _registerRefreshTokenTimeout() {\n var _this179 = this;\n\n var t = this._getTokenRefreshTimeoutTime();\n\n clearTimeout(this._tokenRefreshTimeout), this._tokenRefreshTimeout = setTimeout(function () {\n _this179.refreshToken();\n }, t);\n }\n }, {\n key: \"_getTokenRefreshTimeoutTime\",\n value: function _getTokenRefreshTimeoutTime() {\n try {\n var _this$value$split = this.value.split(\".\"),\n _this$value$split2 = _slicedToArray(_this$value$split, 2),\n _t257 = _this$value$split2[1],\n _JSON$parse = JSON.parse(atob(_t257)),\n _e233 = _JSON$parse.exp;\n\n if (!_e233) return 36e5;\n return Math.floor((1e3 * _e233 - Date.now()) / 2);\n } catch (t) {\n return 36e5;\n }\n }\n }], [{\n key: \"create\",\n value: function create(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : cf;\n return new lf(t, e).init();\n }\n }]);\n\n return lf;\n }();\n\n xn(lf, Ui);\n var df = lf;\n\n var uf = /*#__PURE__*/function (_fu3) {\n _inherits(uf, _fu3);\n\n var _super112 = _createSuper(uf);\n\n function uf() {\n _classCallCheck(this, uf);\n\n return _super112.apply(this, arguments);\n }\n\n _createClass(uf, [{\n key: \"init\",\n value: function init() {\n var t = this.context.config.get(\"cloudServices\") || {};\n\n for (var _e234 in t) {\n this[_e234] = t[_e234];\n }\n\n if (this.tokenUrl) return this.token = new uf.Token(this.tokenUrl), this.token.init();\n this.token = null;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(uf.prototype), \"destroy\", this).call(this), this.token && this.token.destroy();\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"CloudServices\";\n }\n }]);\n\n return uf;\n }(fu);\n\n uf.Token = df;\n\n var hf = /*#__PURE__*/function (_cd27) {\n _inherits(hf, _cd27);\n\n var _super113 = _createSuper(hf);\n\n function hf() {\n _classCallCheck(this, hf);\n\n return _super113.apply(this, arguments);\n }\n\n _createClass(hf, [{\n key: \"init\",\n value: function init() {\n var _this180 = this;\n\n var t = this.editor,\n e = t.plugins.get(uf),\n n = e.token,\n i = e.uploadUrl;\n n && (this._uploadGateway = new hf._UploadGateway(n, i), t.plugins.get(pu).createUploadAdapter = function (t) {\n return new ff(_this180._uploadGateway, t);\n });\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [pu, uf];\n }\n }]);\n\n return hf;\n }(cd);\n\n var ff = /*#__PURE__*/function () {\n function ff(t, e) {\n _classCallCheck(this, ff);\n\n this.uploadGateway = t, this.loader = e;\n }\n\n _createClass(ff, [{\n key: \"upload\",\n value: function upload() {\n var _this181 = this;\n\n return this.loader.file.then(function (t) {\n return _this181.fileUploader = _this181.uploadGateway.upload(t), _this181.fileUploader.on(\"progress\", function (t, e) {\n _this181.loader.uploadTotal = e.total, _this181.loader.uploaded = e.uploaded;\n }), _this181.fileUploader.send();\n });\n }\n }, {\n key: \"abort\",\n value: function abort() {\n this.fileUploader.abort();\n }\n }]);\n\n return ff;\n }();\n\n hf._UploadGateway = /*#__PURE__*/function () {\n function _class2(t, e) {\n _classCallCheck(this, _class2);\n\n if (!t) throw new hn.a(\"uploadgateway-missing-token\", null);\n if (!e) throw new hn.a(\"uploadgateway-missing-api-address\", null);\n this._token = t, this._apiAddress = e;\n }\n\n _createClass(_class2, [{\n key: \"upload\",\n value: function upload(t) {\n return new af(t, this._token, this._apiAddress);\n }\n }]);\n\n return _class2;\n }();\n\n n(50);\n var mf = [\"before\", \"after\"],\n gf = new DOMParser().parseFromString('', \"image/svg+xml\").firstChild;\n\n var pf = /*#__PURE__*/function (_cd28) {\n _inherits(pf, _cd28);\n\n var _super114 = _createSuper(pf);\n\n _createClass(pf, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"WidgetTypeAround\";\n }\n }]);\n\n function pf(t) {\n var _this182;\n\n _classCallCheck(this, pf);\n\n _this182 = _super114.call(this, t), _this182._currentFakeCaretModelElement = null;\n return _this182;\n }\n\n _createClass(pf, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.editing.view;\n this.on(\"change:isEnabled\", function (n, i, o) {\n e.change(function (t) {\n var _iterator335 = _createForOfIteratorHelper(e.document.roots),\n _step335;\n\n try {\n for (_iterator335.s(); !(_step335 = _iterator335.n()).done;) {\n var _n218 = _step335.value;\n o ? t.removeClass(\"ck-widget__type-around_disabled\", _n218) : t.addClass(\"ck-widget__type-around_disabled\", _n218);\n }\n } catch (err) {\n _iterator335.e(err);\n } finally {\n _iterator335.f();\n }\n }), o || t.model.change(function (t) {\n t.removeSelectionAttribute(\"widget-type-around\");\n });\n }), this._enableTypeAroundUIInjection(), this._enableInsertingParagraphsOnButtonClick(), this._enableInsertingParagraphsOnEnterKeypress(), this._enableInsertingParagraphsOnTypingKeystroke(), this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(), this._enableDeleteIntegration(), this._enableInsertContentIntegration();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._currentFakeCaretModelElement = null;\n }\n }, {\n key: \"_insertParagraph\",\n value: function _insertParagraph(t, e) {\n var n = this.editor,\n i = n.editing.view;\n n.execute(\"insertParagraph\", {\n position: n.model.createPositionAt(t, e)\n }), i.focus(), i.scrollToTheSelection();\n }\n }, {\n key: \"_listenToIfEnabled\",\n value: function _listenToIfEnabled(t, e, n, i) {\n var _this183 = this;\n\n this.listenTo(t, e, function () {\n _this183.isEnabled && n.apply(void 0, arguments);\n }, i);\n }\n }, {\n key: \"_insertParagraphAccordingToFakeCaretPosition\",\n value: function _insertParagraphAccordingToFakeCaretPosition() {\n var t = this.editor.model.document.selection,\n e = Qu(t);\n if (!e) return !1;\n var n = t.getSelectedElement();\n return this._insertParagraph(n, e), !0;\n }\n }, {\n key: \"_enableTypeAroundUIInjection\",\n value: function _enableTypeAroundUIInjection() {\n var t = this.editor,\n e = t.model.schema,\n n = t.locale.t,\n i = {\n before: n(\"Insert paragraph before block\"),\n after: n(\"Insert paragraph after block\")\n };\n t.editing.downcastDispatcher.on(\"insert\", function (t, n, o) {\n var r = o.mapper.toViewElement(n.item);\n Ku(r, n.item, e) && function (t, e, n) {\n var i = t.createUIElement(\"div\", {\n \"class\": \"ck ck-reset_all ck-widget__type-around\"\n }, function (t) {\n var n = this.toDomElement(t);\n return function (t, e) {\n var _iterator336 = _createForOfIteratorHelper(mf),\n _step336;\n\n try {\n for (_iterator336.s(); !(_step336 = _iterator336.n()).done;) {\n var _n219 = _step336.value;\n\n var _i174 = new il({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-widget__type-around__button\", \"ck-widget__type-around__button_\" + _n219],\n title: e[_n219]\n },\n children: [t.ownerDocument.importNode(gf, !0)]\n });\n\n t.appendChild(_i174.render());\n }\n } catch (err) {\n _iterator336.e(err);\n } finally {\n _iterator336.f();\n }\n }(n, e), function (t) {\n var e = new il({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-widget__type-around__fake-caret\"]\n }\n });\n t.appendChild(e.render());\n }(n), n;\n });\n t.insert(t.createPositionAt(n, \"end\"), i);\n }(o.writer, i, r);\n }, {\n priority: \"low\"\n });\n }\n }, {\n key: \"_enableTypeAroundFakeCaretActivationUsingKeyboardArrows\",\n value: function _enableTypeAroundFakeCaretActivationUsingKeyboardArrows() {\n var _this184 = this;\n\n var t = this.editor,\n e = t.model,\n n = e.document.selection,\n i = e.schema,\n o = t.editing.view;\n\n function r(t) {\n return \"ck-widget_type-around_show-fake-caret_\" + t;\n }\n\n this._listenToIfEnabled(o.document, \"keydown\", function (t, e) {\n ko(e.keyCode) && _this184._handleArrowKeyPress(t, e);\n }, {\n priority: un.get(\"high\") + 10\n }), this._listenToIfEnabled(n, \"change:range\", function (e, n) {\n n.directChange && t.model.change(function (t) {\n t.removeSelectionAttribute(\"widget-type-around\");\n });\n }), this._listenToIfEnabled(e.document, \"change:data\", function () {\n var e = n.getSelectedElement();\n\n if (e) {\n if (Ku(t.editing.mapper.toViewElement(e), e, i)) return;\n }\n\n t.model.change(function (t) {\n t.removeSelectionAttribute(\"widget-type-around\");\n });\n }), this._listenToIfEnabled(t.editing.downcastDispatcher, \"selection\", function (t, e, n) {\n var o = n.writer;\n\n if (_this184._currentFakeCaretModelElement) {\n var _t258 = n.mapper.toViewElement(_this184._currentFakeCaretModelElement);\n\n _t258 && (o.removeClass(mf.map(r), _t258), _this184._currentFakeCaretModelElement = null);\n }\n\n var s = e.selection.getSelectedElement();\n if (!s) return;\n var a = n.mapper.toViewElement(s);\n if (!Ku(a, s, i)) return;\n var c = Qu(e.selection);\n c && (o.addClass(r(c), a), _this184._currentFakeCaretModelElement = s);\n }), this._listenToIfEnabled(t.ui.focusTracker, \"change:isFocused\", function (e, n, i) {\n i || t.model.change(function (t) {\n t.removeSelectionAttribute(\"widget-type-around\");\n });\n });\n }\n }, {\n key: \"_handleArrowKeyPress\",\n value: function _handleArrowKeyPress(t, e) {\n var n = this.editor,\n i = n.model,\n o = i.document.selection,\n r = i.schema,\n s = n.editing.view,\n a = vo(e.keyCode, n.locale.contentLanguageDirection),\n c = s.document.selection.getSelectedElement();\n var l;\n Ku(c, n.editing.mapper.toModelElement(c), r) ? l = this._handleArrowKeyPressOnSelectedWidget(a) : o.isCollapsed && (l = this._handleArrowKeyPressWhenSelectionNextToAWidget(a)), l && (e.preventDefault(), t.stop());\n }\n }, {\n key: \"_handleArrowKeyPressOnSelectedWidget\",\n value: function _handleArrowKeyPressOnSelectedWidget(t) {\n var e = this.editor.model,\n n = Qu(e.document.selection);\n return e.change(function (e) {\n if (!n) return e.setSelectionAttribute(\"widget-type-around\", t ? \"after\" : \"before\"), !0;\n if (!(n === (t ? \"after\" : \"before\"))) return e.removeSelectionAttribute(\"widget-type-around\"), !0;\n return !1;\n });\n }\n }, {\n key: \"_handleArrowKeyPressWhenSelectionNextToAWidget\",\n value: function _handleArrowKeyPressWhenSelectionNextToAWidget(t) {\n var e = this.editor,\n n = e.model,\n i = n.schema,\n o = e.plugins.get(\"Widget\"),\n r = o._getObjectElementNextToSelection(t);\n\n return !!Ku(e.editing.mapper.toViewElement(r), r, i) && (n.change(function (e) {\n o._setSelectionOverElement(r), e.setSelectionAttribute(\"widget-type-around\", t ? \"before\" : \"after\");\n }), !0);\n }\n }, {\n key: \"_enableInsertingParagraphsOnButtonClick\",\n value: function _enableInsertingParagraphsOnButtonClick() {\n var _this185 = this;\n\n var t = this.editor,\n e = t.editing.view;\n\n this._listenToIfEnabled(e.document, \"mousedown\", function (n, i) {\n var o = i.domTarget.closest(\".ck-widget__type-around__button\");\n if (!o) return;\n\n var r = function (t) {\n return t.classList.contains(\"ck-widget__type-around__button_before\") ? \"before\" : \"after\";\n }(o),\n s = function (t, e) {\n var n = t.closest(\".ck-widget\");\n return e.mapDomToView(n);\n }(o, e.domConverter),\n a = t.editing.mapper.toModelElement(s);\n\n _this185._insertParagraph(a, r), i.preventDefault(), n.stop();\n });\n }\n }, {\n key: \"_enableInsertingParagraphsOnEnterKeypress\",\n value: function _enableInsertingParagraphsOnEnterKeypress() {\n var _this186 = this;\n\n var t = this.editor,\n e = t.editing.view;\n\n this._listenToIfEnabled(e.document, \"enter\", function (n, i) {\n var o = e.document.selection.getSelectedElement(),\n r = t.editing.mapper.toModelElement(o),\n s = t.model.schema;\n var a;\n _this186._insertParagraphAccordingToFakeCaretPosition() ? a = !0 : Ku(o, r, s) && (_this186._insertParagraph(r, i.isSoft ? \"before\" : \"after\"), a = !0), a && (i.preventDefault(), n.stop());\n });\n }\n }, {\n key: \"_enableInsertingParagraphsOnTypingKeystroke\",\n value: function _enableInsertingParagraphsOnTypingKeystroke() {\n var _this187 = this;\n\n var t = this.editor.editing.view,\n e = [go.enter, go[\"delete\"], go.backspace];\n\n this._listenToIfEnabled(t.document, \"keydown\", function (t, n) {\n e.includes(n.keyCode) || Dd(n) || _this187._insertParagraphAccordingToFakeCaretPosition();\n }, {\n priority: un.get(\"high\") + 1\n });\n }\n }, {\n key: \"_enableDeleteIntegration\",\n value: function _enableDeleteIntegration() {\n var t = this.editor,\n e = t.editing.view,\n n = t.model,\n i = n.schema;\n\n this._listenToIfEnabled(e.document, \"delete\", function (e, o) {\n var r = Qu(n.document.selection);\n if (!r) return;\n var s = o.direction,\n a = n.document.selection.getSelectedElement(),\n c = \"forward\" == s;\n if (\"before\" === r === c) t.execute(\"delete\", {\n selection: n.createSelection(a, \"on\")\n });else {\n var _e235 = i.getNearestSelectionRange(n.createPositionAt(a, r), s);\n\n if (_e235) if (_e235.isCollapsed) {\n var _o94 = n.createSelection(_e235.start);\n\n if (n.modifySelection(_o94, {\n direction: s\n }), _o94.focus.isEqual(_e235.start)) {\n var _t259 = function (t, e) {\n var n = e;\n\n var _iterator337 = _createForOfIteratorHelper(e.getAncestors({\n parentFirst: !0\n })),\n _step337;\n\n try {\n for (_iterator337.s(); !(_step337 = _iterator337.n()).done;) {\n var _i175 = _step337.value;\n if (_i175.childCount > 1 || t.isLimit(_i175)) break;\n n = _i175;\n }\n } catch (err) {\n _iterator337.e(err);\n } finally {\n _iterator337.f();\n }\n\n return n;\n }(i, _e235.start.parent);\n\n n.deleteContent(n.createSelection(_t259, \"on\"), {\n doNotAutoparagraph: !0\n });\n } else n.change(function (n) {\n n.setSelection(_e235), t.execute(c ? \"forwardDelete\" : \"delete\");\n });\n } else n.change(function (n) {\n n.setSelection(_e235), t.execute(c ? \"forwardDelete\" : \"delete\");\n });\n }\n o.preventDefault(), e.stop();\n }, {\n priority: un.get(\"high\") + 1\n });\n }\n }, {\n key: \"_enableInsertContentIntegration\",\n value: function _enableInsertContentIntegration() {\n var t = this.editor,\n e = this.editor.model,\n n = e.document.selection;\n\n this._listenToIfEnabled(t.model, \"insertContent\", function (t, _ref133) {\n var _ref134 = _slicedToArray(_ref133, 2),\n i = _ref134[0],\n o = _ref134[1];\n\n if (o && !o.is(\"documentSelection\")) return;\n var r = Qu(n);\n return r ? (t.stop(), e.change(function (t) {\n var o = n.getSelectedElement(),\n s = e.createPositionAt(o, r),\n a = t.createSelection(s),\n c = e.insertContent(i, a);\n return t.setSelection(a), c;\n })) : void 0;\n }, {\n priority: \"high\"\n });\n }\n }]);\n\n return pf;\n }(cd);\n\n n(52);\n\n function bf(t) {\n var e = t.model;\n return function (n, i) {\n var o = i.keyCode == go.arrowup,\n r = i.keyCode == go.arrowdown,\n s = i.shiftKey,\n a = e.document.selection;\n if (!o && !r) return;\n var c = r;\n if (s && function (t, e) {\n return !t.isCollapsed && t.isBackward == e;\n }(a, c)) return;\n\n var l = function (t, e, n) {\n var i = t.model;\n\n if (n) {\n var _t260 = e.isCollapsed ? e.focus : e.getLastPosition(),\n _n220 = wf(i, _t260, \"forward\");\n\n if (!_n220) return null;\n\n var _o95 = i.createRange(_t260, _n220),\n _r45 = kf(i.schema, _o95, \"backward\");\n\n return _r45 && _t260.isBefore(_r45) ? i.createRange(_t260, _r45) : null;\n }\n\n {\n var _t261 = e.isCollapsed ? e.focus : e.getFirstPosition(),\n _n221 = wf(i, _t261, \"backward\");\n\n if (!_n221) return null;\n\n var _o96 = i.createRange(_n221, _t261),\n _r46 = kf(i.schema, _o96, \"forward\");\n\n return _r46 && _t261.isAfter(_r46) ? i.createRange(_r46, _t261) : null;\n }\n }(t, a, c);\n\n l && !l.isCollapsed && function (t, e, n) {\n var i = t.model,\n o = t.view.domConverter;\n\n if (n) {\n var _t262 = i.createSelection(e.start);\n\n i.modifySelection(_t262), _t262.focus.isAtEnd || e.start.isEqual(_t262.focus) || (e = i.createRange(_t262.focus, e.end));\n }\n\n var r = t.mapper.toViewRange(e),\n s = o.viewRangeToDom(r),\n a = is.getDomRangeRects(s);\n var c;\n\n var _iterator338 = _createForOfIteratorHelper(a),\n _step338;\n\n try {\n for (_iterator338.s(); !(_step338 = _iterator338.n()).done;) {\n var _t263 = _step338.value;\n\n if (void 0 !== c) {\n if (Math.round(_t263.top) >= c) return !1;\n c = Math.max(c, Math.round(_t263.bottom));\n } else c = Math.round(_t263.bottom);\n }\n } catch (err) {\n _iterator338.e(err);\n } finally {\n _iterator338.f();\n }\n\n return !0;\n }(t, l, c) && (e.change(function (t) {\n var n = c ? l.end : l.start;\n\n if (s) {\n var _i176 = e.createSelection(a.anchor);\n\n _i176.setFocus(n), t.setSelection(_i176);\n } else t.setSelection(n);\n }), n.stop(), i.preventDefault(), i.stopPropagation());\n };\n }\n\n function wf(t, e, n) {\n var i = t.schema,\n o = t.createRangeIn(e.root),\n r = \"forward\" == n ? \"elementStart\" : \"elementEnd\";\n\n var _iterator339 = _createForOfIteratorHelper(o.getWalker({\n startPosition: e,\n direction: n\n })),\n _step339;\n\n try {\n for (_iterator339.s(); !(_step339 = _iterator339.n()).done;) {\n var _ref136 = _step339.value;\n var _t264 = _ref136.previousPosition;\n var _s32 = _ref136.item;\n var _a18 = _ref136.type;\n if (i.isLimit(_s32) && !i.isInline(_s32)) return _t264;\n if (_a18 == r && i.isBlock(_s32)) return null;\n }\n } catch (err) {\n _iterator339.e(err);\n } finally {\n _iterator339.f();\n }\n\n return null;\n }\n\n function kf(t, e, n) {\n var i = \"backward\" == n ? e.end : e.start;\n if (t.checkChild(i, \"$text\")) return i;\n\n var _iterator340 = _createForOfIteratorHelper(e.getWalker({\n direction: n\n })),\n _step340;\n\n try {\n for (_iterator340.s(); !(_step340 = _iterator340.n()).done;) {\n var _ref138 = _step340.value;\n var _i177 = _ref138.nextPosition;\n if (t.checkChild(_i177, \"$text\")) return _i177;\n }\n } catch (err) {\n _iterator340.e(err);\n } finally {\n _iterator340.f();\n }\n }\n\n var _f = /*#__PURE__*/function (_cd29) {\n _inherits(_f, _cd29);\n\n var _super115 = _createSuper(_f);\n\n function _f() {\n _classCallCheck(this, _f);\n\n return _super115.apply(this, arguments);\n }\n\n _createClass(_f, [{\n key: \"init\",\n value: function init() {\n var _this188 = this;\n\n var t = this.editor.editing.view,\n e = t.document;\n this._previouslySelected = new Set(), this.editor.editing.downcastDispatcher.on(\"selection\", function (t, e, n) {\n _this188._clearPreviouslySelectedWidgets(n.writer);\n\n var i = n.writer,\n o = i.document.selection,\n r = o.getSelectedElement();\n var s = null;\n\n var _iterator341 = _createForOfIteratorHelper(o.getRanges()),\n _step341;\n\n try {\n for (_iterator341.s(); !(_step341 = _iterator341.n()).done;) {\n var _t265 = _step341.value;\n\n var _iterator342 = _createForOfIteratorHelper(_t265),\n _step342;\n\n try {\n for (_iterator342.s(); !(_step342 = _iterator342.n()).done;) {\n var _e236 = _step342.value;\n var _t266 = _e236.item;\n Ju(_t266) && !vf(_t266, s) && (i.addClass(\"ck-widget_selected\", _t266), _this188._previouslySelected.add(_t266), s = _t266, _t266 == r && i.setSelection(o.getRanges(), {\n fake: !0,\n label: th(r)\n }));\n }\n } catch (err) {\n _iterator342.e(err);\n } finally {\n _iterator342.f();\n }\n }\n } catch (err) {\n _iterator341.e(err);\n } finally {\n _iterator341.f();\n }\n }, {\n priority: \"low\"\n }), t.addObserver(mh), this.listenTo(e, \"mousedown\", function () {\n return _this188._onMousedown.apply(_this188, arguments);\n }), this.listenTo(e, \"keydown\", function () {\n _this188._handleSelectionChangeOnArrowKeyPress.apply(_this188, arguments);\n }, {\n priority: \"high\"\n }), this.listenTo(e, \"keydown\", function () {\n _this188._preventDefaultOnArrowKeyPress.apply(_this188, arguments);\n }, {\n priority: un.get(\"high\") - 20\n }), this.listenTo(e, \"keydown\", bf(this.editor.editing)), this.listenTo(e, \"delete\", function (t, e) {\n _this188._handleDelete(\"forward\" == e.direction) && (e.preventDefault(), t.stop());\n }, {\n priority: \"high\"\n });\n }\n }, {\n key: \"_onMousedown\",\n value: function _onMousedown(t, e) {\n var n = this.editor,\n i = n.editing.view,\n o = i.document;\n var r = e.target;\n\n if (function (t) {\n for (; t;) {\n if (t.is(\"editableElement\") && !t.is(\"rootElement\")) return !0;\n if (Ju(t)) return !1;\n t = t.parent;\n }\n\n return !1;\n }(r)) {\n if ((ho.isSafari || ho.isGecko) && e.domEvent.detail >= 3) {\n var _t267 = n.editing.mapper,\n _i178 = r.is(\"attributeElement\") ? r.findAncestor(function (t) {\n return !t.is(\"attributeElement\");\n }) : r,\n _o97 = _t267.toModelElement(_i178);\n\n e.preventDefault(), this.editor.model.change(function (t) {\n t.setSelection(_o97, \"in\");\n });\n }\n\n return;\n }\n\n if (!Ju(r) && (r = r.findAncestor(Ju), !r)) return;\n e.preventDefault(), o.isFocused || i.focus();\n var s = n.editing.mapper.toModelElement(r);\n\n this._setSelectionOverElement(s);\n }\n }, {\n key: \"_handleSelectionChangeOnArrowKeyPress\",\n value: function _handleSelectionChangeOnArrowKeyPress(t, e) {\n var n = e.keyCode;\n if (!ko(n)) return;\n var i = this.editor.model,\n o = i.schema,\n r = i.document.selection,\n s = r.getSelectedElement(),\n a = vo(n, this.editor.locale.contentLanguageDirection);\n\n if (s && o.isObject(s)) {\n var _n222 = a ? r.getLastPosition() : r.getFirstPosition(),\n _s33 = o.getNearestSelectionRange(_n222, a ? \"forward\" : \"backward\");\n\n return void (_s33 && (i.change(function (t) {\n t.setSelection(_s33);\n }), e.preventDefault(), t.stop()));\n }\n\n if (!r.isCollapsed) return;\n\n var c = this._getObjectElementNextToSelection(a);\n\n c && o.isObject(c) && (this._setSelectionOverElement(c), e.preventDefault(), t.stop());\n }\n }, {\n key: \"_preventDefaultOnArrowKeyPress\",\n value: function _preventDefaultOnArrowKeyPress(t, e) {\n if (!ko(e.keyCode)) return;\n var n = this.editor.model,\n i = n.schema,\n o = n.document.selection.getSelectedElement();\n o && i.isObject(o) && (e.preventDefault(), t.stop());\n }\n }, {\n key: \"_handleDelete\",\n value: function _handleDelete(t) {\n var _this189 = this;\n\n if (this.editor.isReadOnly) return;\n var e = this.editor.model.document.selection;\n if (!e.isCollapsed) return;\n\n var n = this._getObjectElementNextToSelection(t);\n\n return n ? (this.editor.model.change(function (t) {\n var i = e.anchor.parent;\n\n for (; i.isEmpty;) {\n var _e237 = i;\n i = _e237.parent, t.remove(_e237);\n }\n\n _this189._setSelectionOverElement(n);\n }), !0) : void 0;\n }\n }, {\n key: \"_setSelectionOverElement\",\n value: function _setSelectionOverElement(t) {\n this.editor.model.change(function (e) {\n e.setSelection(e.createRangeOn(t));\n });\n }\n }, {\n key: \"_getObjectElementNextToSelection\",\n value: function _getObjectElementNextToSelection(t) {\n var e = this.editor.model,\n n = e.schema,\n i = e.document.selection,\n o = e.createSelection(i);\n e.modifySelection(o, {\n direction: t ? \"forward\" : \"backward\"\n });\n var r = t ? o.focus.nodeBefore : o.focus.nodeAfter;\n return r && n.isObject(r) ? r : null;\n }\n }, {\n key: \"_clearPreviouslySelectedWidgets\",\n value: function _clearPreviouslySelectedWidgets(t) {\n var _iterator343 = _createForOfIteratorHelper(this._previouslySelected),\n _step343;\n\n try {\n for (_iterator343.s(); !(_step343 = _iterator343.n()).done;) {\n var _e238 = _step343.value;\n t.removeClass(\"ck-widget_selected\", _e238);\n }\n } catch (err) {\n _iterator343.e(err);\n } finally {\n _iterator343.f();\n }\n\n this._previouslySelected.clear();\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Widget\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [pf];\n }\n }]);\n\n return _f;\n }(cd);\n\n function vf(t, e) {\n return !!e && Array.from(t.getAncestors()).includes(e);\n }\n\n var yf = /*#__PURE__*/function (_gd13) {\n _inherits(yf, _gd13);\n\n var _super116 = _createSuper(yf);\n\n function yf() {\n _classCallCheck(this, yf);\n\n return _super116.apply(this, arguments);\n }\n\n _createClass(yf, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model.document.selection.getSelectedElement();\n this.isEnabled = sh(t), sh(t) && t.hasAttribute(\"alt\") ? this.value = t.getAttribute(\"alt\") : this.value = !1;\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor.model,\n n = e.document.selection.getSelectedElement();\n e.change(function (e) {\n e.setAttribute(\"alt\", t.newValue, n);\n });\n }\n }]);\n\n return yf;\n }(gd);\n\n var xf = /*#__PURE__*/function (_cd30) {\n _inherits(xf, _cd30);\n\n var _super117 = _createSuper(xf);\n\n function xf() {\n _classCallCheck(this, xf);\n\n return _super117.apply(this, arguments);\n }\n\n _createClass(xf, [{\n key: \"init\",\n value: function init() {\n this.editor.commands.add(\"imageTextAlternative\", new yf(this.editor));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageTextAlternativeEditing\";\n }\n }]);\n\n return xf;\n }(cd);\n\n n(54);\n\n var Af = /*#__PURE__*/function (_yl17) {\n _inherits(Af, _yl17);\n\n var _super118 = _createSuper(Af);\n\n function Af(t, e) {\n var _this190;\n\n _classCallCheck(this, Af);\n\n _this190 = _super118.call(this, t);\n var n = \"ck-labeled-field-view-\" + dn(),\n i = \"ck-labeled-field-view-status-\" + dn();\n _this190.fieldView = e(_assertThisInitialized(_this190), n, i), _this190.set(\"label\"), _this190.set(\"isEnabled\", !0), _this190.set(\"errorText\", null), _this190.set(\"infoText\", null), _this190.set(\"class\"), _this190.labelView = _this190._createLabelView(n), _this190.statusView = _this190._createStatusView(i), _this190.bind(\"_statusText\").to(_assertThisInitialized(_this190), \"errorText\", _assertThisInitialized(_this190), \"infoText\", function (t, e) {\n return t || e;\n });\n var o = _this190.bindTemplate;\n\n _this190.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-labeled-field-view\", o.to(\"class\"), o[\"if\"](\"isEnabled\", \"ck-disabled\", function (t) {\n return !t;\n })]\n },\n children: [_this190.labelView, _this190.fieldView, _this190.statusView]\n });\n\n return _this190;\n }\n\n _createClass(Af, [{\n key: \"_createLabelView\",\n value: function _createLabelView(t) {\n var e = new Tl(this.locale);\n return e[\"for\"] = t, e.bind(\"text\").to(this, \"label\"), e;\n }\n }, {\n key: \"_createStatusView\",\n value: function _createStatusView(t) {\n var e = new yl(this.locale),\n n = this.bindTemplate;\n return e.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-labeled-field-view__status\", n[\"if\"](\"errorText\", \"ck-labeled-field-view__status_error\"), n[\"if\"](\"_statusText\", \"ck-hidden\", function (t) {\n return !t;\n })],\n id: t,\n role: n[\"if\"](\"errorText\", \"alert\")\n },\n children: [{\n text: n.to(\"_statusText\")\n }]\n }), e;\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.fieldView.focus();\n }\n }]);\n\n return Af;\n }(yl);\n\n n(56);\n\n var Cf = /*#__PURE__*/function (_yl18) {\n _inherits(Cf, _yl18);\n\n var _super119 = _createSuper(Cf);\n\n function Cf(t) {\n var _this191;\n\n _classCallCheck(this, Cf);\n\n _this191 = _super119.call(this, t), _this191.set(\"value\"), _this191.set(\"id\"), _this191.set(\"placeholder\"), _this191.set(\"isReadOnly\", !1), _this191.set(\"hasError\", !1), _this191.set(\"ariaDescribedById\");\n var e = _this191.bindTemplate;\n\n _this191.setTemplate({\n tag: \"input\",\n attributes: {\n type: \"text\",\n \"class\": [\"ck\", \"ck-input\", \"ck-input-text\", e[\"if\"](\"hasError\", \"ck-error\")],\n id: e.to(\"id\"),\n placeholder: e.to(\"placeholder\"),\n readonly: e.to(\"isReadOnly\"),\n \"aria-invalid\": e[\"if\"](\"hasError\", !0),\n \"aria-describedby\": e.to(\"ariaDescribedById\")\n },\n on: {\n input: e.to(\"input\")\n }\n });\n\n return _this191;\n }\n\n _createClass(Cf, [{\n key: \"render\",\n value: function render() {\n var _this192 = this;\n\n _get(_getPrototypeOf(Cf.prototype), \"render\", this).call(this);\n\n var t = function t(_t268) {\n _this192.element.value = _t268 || 0 === _t268 ? _t268 : \"\";\n };\n\n t(this.value), this.on(\"change:value\", function (e, n, i) {\n t(i);\n });\n }\n }, {\n key: \"select\",\n value: function select() {\n this.element.select();\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.element.focus();\n }\n }]);\n\n return Cf;\n }(yl);\n\n function Tf(t, e, n) {\n var i = new Cf(t.locale);\n return i.set({\n id: e,\n ariaDescribedById: n\n }), i.bind(\"isReadOnly\").to(t, \"isEnabled\", function (t) {\n return !t;\n }), i.bind(\"hasError\").to(t, \"errorText\", function (t) {\n return !!t;\n }), i.on(\"input\", function () {\n t.errorText = null;\n }), i;\n }\n\n function Pf(_ref139) {\n var t = _ref139.view;\n t.listenTo(t.element, \"submit\", function (e, n) {\n n.preventDefault(), t.fire(\"submit\");\n }, {\n useCapture: !0\n });\n }\n\n var Sf = '',\n Ef = '';\n n(58), n(7);\n\n var Mf = /*#__PURE__*/function (_yl19) {\n _inherits(Mf, _yl19);\n\n var _super120 = _createSuper(Mf);\n\n function Mf(t) {\n var _this193;\n\n _classCallCheck(this, Mf);\n\n _this193 = _super120.call(this, t);\n var e = _this193.locale.t;\n _this193.focusTracker = new Yc(), _this193.keystrokes = new jc(), _this193.labeledInput = _this193._createLabeledInputView(), _this193.saveButtonView = _this193._createButton(e(\"Save\"), Sf, \"ck-button-save\"), _this193.saveButtonView.type = \"submit\", _this193.cancelButtonView = _this193._createButton(e(\"Cancel\"), Ef, \"ck-button-cancel\", \"cancel\"), _this193._focusables = new nl(), _this193._focusCycler = new Ol({\n focusables: _this193._focusables,\n focusTracker: _this193.focusTracker,\n keystrokeHandler: _this193.keystrokes,\n actions: {\n focusPrevious: \"shift + tab\",\n focusNext: \"tab\"\n }\n }), _this193.setTemplate({\n tag: \"form\",\n attributes: {\n \"class\": [\"ck\", \"ck-text-alternative-form\", \"ck-responsive-form\"],\n tabindex: \"-1\"\n },\n children: [_this193.labeledInput, _this193.saveButtonView, _this193.cancelButtonView]\n });\n return _this193;\n }\n\n _createClass(Mf, [{\n key: \"render\",\n value: function render() {\n var _this194 = this;\n\n _get(_getPrototypeOf(Mf.prototype), \"render\", this).call(this), this.keystrokes.listenTo(this.element), Pf({\n view: this\n }), [this.labeledInput, this.saveButtonView, this.cancelButtonView].forEach(function (t) {\n _this194._focusables.add(t), _this194.focusTracker.add(t.element);\n });\n }\n }, {\n key: \"_createButton\",\n value: function _createButton(t, e, n, i) {\n var o = new $l(this.locale);\n return o.set({\n label: t,\n icon: e,\n tooltip: !0\n }), o.extendTemplate({\n attributes: {\n \"class\": n\n }\n }), i && o.delegate(\"execute\").to(this, i), o;\n }\n }, {\n key: \"_createLabeledInputView\",\n value: function _createLabeledInputView() {\n var t = this.locale.t,\n e = new Af(this.locale, Tf);\n return e.label = t(\"Text alternative\"), e.fieldView.placeholder = t(\"Text alternative\"), e;\n }\n }]);\n\n return Mf;\n }(yl);\n\n n(61), n(63);\n var If = Ml(\"px\");\n\n var Nf = /*#__PURE__*/function (_cd31) {\n _inherits(Nf, _cd31);\n\n var _super121 = _createSuper(Nf);\n\n _createClass(Nf, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"ContextualBalloon\";\n }\n }]);\n\n function Nf(t) {\n var _this195;\n\n _classCallCheck(this, Nf);\n\n _this195 = _super121.call(this, t), _this195.positionLimiter = function () {\n var t = _this195.editor.editing.view,\n e = t.document.selection.editableElement;\n return e ? t.domConverter.mapViewToDom(e.root) : null;\n }, _this195.set(\"visibleView\", null), _this195.view = new qu(t.locale), t.ui.view.body.add(_this195.view), t.ui.focusTracker.add(_this195.view.element), _this195._viewToStack = new Map(), _this195._idToStack = new Map(), _this195.set(\"_numberOfStacks\", 0), _this195.set(\"_singleViewMode\", !1), _this195._rotatorView = _this195._createRotatorView(), _this195._fakePanelsView = _this195._createFakePanelsView();\n return _this195;\n }\n\n _createClass(Nf, [{\n key: \"hasView\",\n value: function hasView(t) {\n return Array.from(this._viewToStack.keys()).includes(t);\n }\n }, {\n key: \"add\",\n value: function add(t) {\n if (this.hasView(t.view)) throw new hn.a(\"contextualballoon-add-view-exist\", [this, t]);\n var e = t.stackId || \"main\";\n if (!this._idToStack.has(e)) return this._idToStack.set(e, new Map([[t.view, t]])), this._viewToStack.set(t.view, this._idToStack.get(e)), this._numberOfStacks = this._idToStack.size, void (this._visibleStack && !t.singleViewMode || this.showStack(e));\n\n var n = this._idToStack.get(e);\n\n t.singleViewMode && this.showStack(e), n.set(t.view, t), this._viewToStack.set(t.view, n), n === this._visibleStack && this._showView(t);\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n if (!this.hasView(t)) throw new hn.a(\"contextualballoon-remove-view-not-exist\", [this, t]);\n\n var e = this._viewToStack.get(t);\n\n this._singleViewMode && this.visibleView === t && (this._singleViewMode = !1), this.visibleView === t && (1 === e.size ? this._idToStack.size > 1 ? this._showNextStack() : (this.view.hide(), this.visibleView = null, this._rotatorView.hideView()) : this._showView(Array.from(e.values())[e.size - 2])), 1 === e.size ? (this._idToStack[\"delete\"](this._getStackId(e)), this._numberOfStacks = this._idToStack.size) : e[\"delete\"](t), this._viewToStack[\"delete\"](t);\n }\n }, {\n key: \"updatePosition\",\n value: function updatePosition(t) {\n t && (this._visibleStack.get(this.visibleView).position = t), this.view.pin(this._getBalloonPosition()), this._fakePanelsView.updatePosition();\n }\n }, {\n key: \"showStack\",\n value: function showStack(t) {\n this.visibleStack = t;\n\n var e = this._idToStack.get(t);\n\n if (!e) throw new hn.a(\"contextualballoon-showstack-stack-not-exist\", this);\n this._visibleStack !== e && this._showView(Array.from(e.values()).pop());\n }\n }, {\n key: \"_getStackId\",\n value: function _getStackId(t) {\n return Array.from(this._idToStack.entries()).find(function (e) {\n return e[1] === t;\n })[0];\n }\n }, {\n key: \"_showNextStack\",\n value: function _showNextStack() {\n var t = Array.from(this._idToStack.values());\n var e = t.indexOf(this._visibleStack) + 1;\n t[e] || (e = 0), this.showStack(this._getStackId(t[e]));\n }\n }, {\n key: \"_showPrevStack\",\n value: function _showPrevStack() {\n var t = Array.from(this._idToStack.values());\n var e = t.indexOf(this._visibleStack) - 1;\n t[e] || (e = t.length - 1), this.showStack(this._getStackId(t[e]));\n }\n }, {\n key: \"_createRotatorView\",\n value: function _createRotatorView() {\n var _this196 = this;\n\n var t = new Of(this.editor.locale),\n e = this.editor.locale.t;\n return this.view.content.add(t), t.bind(\"isNavigationVisible\").to(this, \"_numberOfStacks\", this, \"_singleViewMode\", function (t, e) {\n return !e && t > 1;\n }), t.on(\"change:isNavigationVisible\", function () {\n return _this196.updatePosition();\n }, {\n priority: \"low\"\n }), t.bind(\"counter\").to(this, \"visibleView\", this, \"_numberOfStacks\", function (t, n) {\n if (n < 2) return \"\";\n var i = Array.from(_this196._idToStack.values()).indexOf(_this196._visibleStack) + 1;\n return e(\"%0 of %1\", [i, n]);\n }), t.buttonNextView.on(\"execute\", function () {\n t.focusTracker.isFocused && _this196.editor.editing.view.focus(), _this196._showNextStack();\n }), t.buttonPrevView.on(\"execute\", function () {\n t.focusTracker.isFocused && _this196.editor.editing.view.focus(), _this196._showPrevStack();\n }), t;\n }\n }, {\n key: \"_createFakePanelsView\",\n value: function _createFakePanelsView() {\n var t = new Rf(this.editor.locale, this.view);\n return t.bind(\"numberOfPanels\").to(this, \"_numberOfStacks\", this, \"_singleViewMode\", function (t, e) {\n return !e && t >= 2 ? Math.min(t - 1, 2) : 0;\n }), t.listenTo(this.view, \"change:top\", function () {\n return t.updatePosition();\n }), t.listenTo(this.view, \"change:left\", function () {\n return t.updatePosition();\n }), this.editor.ui.view.body.add(t), t;\n }\n }, {\n key: \"_showView\",\n value: function _showView(_ref140) {\n var t = _ref140.view,\n _ref140$balloonClassN = _ref140.balloonClassName,\n e = _ref140$balloonClassN === void 0 ? \"\" : _ref140$balloonClassN,\n _ref140$withArrow = _ref140.withArrow,\n n = _ref140$withArrow === void 0 ? !0 : _ref140$withArrow,\n _ref140$singleViewMod = _ref140.singleViewMode,\n i = _ref140$singleViewMod === void 0 ? !1 : _ref140$singleViewMod;\n this.view[\"class\"] = e, this.view.withArrow = n, this._rotatorView.showView(t), this.visibleView = t, this.view.pin(this._getBalloonPosition()), this._fakePanelsView.updatePosition(), i && (this._singleViewMode = !0);\n }\n }, {\n key: \"_getBalloonPosition\",\n value: function _getBalloonPosition() {\n var t = Array.from(this._visibleStack.values()).pop().position;\n return t && !t.limiter && (t = Object.assign({}, t, {\n limiter: this.positionLimiter\n })), t;\n }\n }, {\n key: \"_visibleStack\",\n get: function get() {\n return this._viewToStack.get(this.visibleView);\n }\n }]);\n\n return Nf;\n }(cd);\n\n var Of = /*#__PURE__*/function (_yl20) {\n _inherits(Of, _yl20);\n\n var _super122 = _createSuper(Of);\n\n function Of(t) {\n var _this197;\n\n _classCallCheck(this, Of);\n\n _this197 = _super122.call(this, t);\n var e = t.t,\n n = _this197.bindTemplate;\n _this197.set(\"isNavigationVisible\", !0), _this197.focusTracker = new Yc(), _this197.buttonPrevView = _this197._createButtonView(e(\"Previous\"), ''), _this197.buttonNextView = _this197._createButtonView(e(\"Next\"), ''), _this197.content = _this197.createCollection(), _this197.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-balloon-rotator\"],\n \"z-index\": \"-1\"\n },\n children: [{\n tag: \"div\",\n attributes: {\n \"class\": [\"ck-balloon-rotator__navigation\", n.to(\"isNavigationVisible\", function (t) {\n return t ? \"\" : \"ck-hidden\";\n })]\n },\n children: [_this197.buttonPrevView, {\n tag: \"span\",\n attributes: {\n \"class\": [\"ck-balloon-rotator__counter\"]\n },\n children: [{\n text: n.to(\"counter\")\n }]\n }, _this197.buttonNextView]\n }, {\n tag: \"div\",\n attributes: {\n \"class\": \"ck-balloon-rotator__content\"\n },\n children: _this197.content\n }]\n });\n return _this197;\n }\n\n _createClass(Of, [{\n key: \"render\",\n value: function render() {\n _get(_getPrototypeOf(Of.prototype), \"render\", this).call(this), this.focusTracker.add(this.element);\n }\n }, {\n key: \"showView\",\n value: function showView(t) {\n this.hideView(), this.content.add(t);\n }\n }, {\n key: \"hideView\",\n value: function hideView() {\n this.content.clear();\n }\n }, {\n key: \"_createButtonView\",\n value: function _createButtonView(t, e) {\n var n = new $l(this.locale);\n return n.set({\n label: t,\n icon: e,\n tooltip: !0\n }), n;\n }\n }]);\n\n return Of;\n }(yl);\n\n var Rf = /*#__PURE__*/function (_yl21) {\n _inherits(Rf, _yl21);\n\n var _super123 = _createSuper(Rf);\n\n function Rf(t, e) {\n var _this198;\n\n _classCallCheck(this, Rf);\n\n _this198 = _super123.call(this, t);\n var n = _this198.bindTemplate;\n _this198.set(\"top\", 0), _this198.set(\"left\", 0), _this198.set(\"height\", 0), _this198.set(\"width\", 0), _this198.set(\"numberOfPanels\", 0), _this198.content = _this198.createCollection(), _this198._balloonPanelView = e, _this198.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck-fake-panel\", n.to(\"numberOfPanels\", function (t) {\n return t ? \"\" : \"ck-hidden\";\n })],\n style: {\n top: n.to(\"top\", If),\n left: n.to(\"left\", If),\n width: n.to(\"width\", If),\n height: n.to(\"height\", If)\n }\n },\n children: _this198.content\n }), _this198.on(\"change:numberOfPanels\", function (t, e, n, i) {\n n > i ? _this198._addPanels(n - i) : _this198._removePanels(i - n), _this198.updatePosition();\n });\n return _this198;\n }\n\n _createClass(Rf, [{\n key: \"_addPanels\",\n value: function _addPanels(t) {\n for (; t--;) {\n var _t269 = new yl();\n\n _t269.setTemplate({\n tag: \"div\"\n }), this.content.add(_t269), this.registerChild(_t269);\n }\n }\n }, {\n key: \"_removePanels\",\n value: function _removePanels(t) {\n for (; t--;) {\n var _t270 = this.content.last;\n this.content.remove(_t270), this.deregisterChild(_t270), _t270.destroy();\n }\n }\n }, {\n key: \"updatePosition\",\n value: function updatePosition() {\n if (this.numberOfPanels) {\n var _this$_balloonPanelVi = this._balloonPanelView,\n _t271 = _this$_balloonPanelVi.top,\n _e239 = _this$_balloonPanelVi.left,\n _is = new is(this._balloonPanelView.element),\n _n223 = _is.width,\n _i179 = _is.height;\n\n Object.assign(this, {\n top: _t271,\n left: _e239,\n width: _n223,\n height: _i179\n });\n }\n }\n }]);\n\n return Rf;\n }(yl);\n\n function Df(t) {\n var e = t.editing.view,\n n = qu.defaultPositions;\n return {\n target: e.domConverter.viewToDom(e.document.selection.getSelectedElement()),\n positions: [n.northArrowSouth, n.northArrowSouthWest, n.northArrowSouthEast, n.southArrowNorth, n.southArrowNorthWest, n.southArrowNorthEast]\n };\n }\n\n var Lf = /*#__PURE__*/function (_cd32) {\n _inherits(Lf, _cd32);\n\n var _super124 = _createSuper(Lf);\n\n function Lf() {\n _classCallCheck(this, Lf);\n\n return _super124.apply(this, arguments);\n }\n\n _createClass(Lf, [{\n key: \"init\",\n value: function init() {\n this._createButton(), this._createForm();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(Lf.prototype), \"destroy\", this).call(this), this._form.destroy();\n }\n }, {\n key: \"_createButton\",\n value: function _createButton() {\n var _this199 = this;\n\n var t = this.editor,\n e = t.t;\n t.ui.componentFactory.add(\"imageTextAlternative\", function (n) {\n var i = t.commands.get(\"imageTextAlternative\"),\n o = new $l(n);\n return o.set({\n label: e(\"Change image text alternative\"),\n icon: '',\n tooltip: !0\n }), o.bind(\"isEnabled\").to(i, \"isEnabled\"), _this199.listenTo(o, \"execute\", function () {\n _this199._showForm();\n }), o;\n });\n }\n }, {\n key: \"_createForm\",\n value: function _createForm() {\n var _this200 = this;\n\n var t = this.editor,\n e = t.editing.view.document;\n this._balloon = this.editor.plugins.get(\"ContextualBalloon\"), this._form = new Mf(t.locale), this._form.render(), this.listenTo(this._form, \"submit\", function () {\n t.execute(\"imageTextAlternative\", {\n newValue: _this200._form.labeledInput.fieldView.element.value\n }), _this200._hideForm(!0);\n }), this.listenTo(this._form, \"cancel\", function () {\n _this200._hideForm(!0);\n }), this._form.keystrokes.set(\"Esc\", function (t, e) {\n _this200._hideForm(!0), e();\n }), this.listenTo(t.ui, \"update\", function () {\n rh(e.selection) ? _this200._isVisible && function (t) {\n var e = t.plugins.get(\"ContextualBalloon\");\n\n if (rh(t.editing.view.document.selection)) {\n var _n224 = Df(t);\n\n e.updatePosition(_n224);\n }\n }(t) : _this200._hideForm(!0);\n }), Xl({\n emitter: this._form,\n activator: function activator() {\n return _this200._isVisible;\n },\n contextElements: [this._balloon.view.element],\n callback: function callback() {\n return _this200._hideForm();\n }\n });\n }\n }, {\n key: \"_showForm\",\n value: function _showForm() {\n if (this._isVisible) return;\n var t = this.editor,\n e = t.commands.get(\"imageTextAlternative\"),\n n = this._form.labeledInput;\n this._isInBalloon || this._balloon.add({\n view: this._form,\n position: Df(t)\n }), n.fieldView.value = n.fieldView.element.value = e.value || \"\", this._form.labeledInput.fieldView.select();\n }\n }, {\n key: \"_hideForm\",\n value: function _hideForm(t) {\n this._isInBalloon && (this._form.focusTracker.isFocused && this._form.saveButtonView.focus(), this._balloon.remove(this._form), t && this.editor.editing.view.focus());\n }\n }, {\n key: \"_isVisible\",\n get: function get() {\n return this._balloon.visibleView === this._form;\n }\n }, {\n key: \"_isInBalloon\",\n get: function get() {\n return this._balloon.hasView(this._form);\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [Nf];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"ImageTextAlternativeUI\";\n }\n }]);\n\n return Lf;\n }(cd);\n\n var Vf = /*#__PURE__*/function (_cd33) {\n _inherits(Vf, _cd33);\n\n var _super125 = _createSuper(Vf);\n\n function Vf() {\n _classCallCheck(this, Vf);\n\n return _super125.apply(this, arguments);\n }\n\n _createClass(Vf, null, [{\n key: \"requires\",\n get: function get() {\n return [xf, Lf];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"ImageTextAlternative\";\n }\n }]);\n\n return Vf;\n }(cd);\n\n n(65);\n\n var jf = /*#__PURE__*/function (_cd34) {\n _inherits(jf, _cd34);\n\n var _super126 = _createSuper(jf);\n\n function jf() {\n _classCallCheck(this, jf);\n\n return _super126.apply(this, arguments);\n }\n\n _createClass(jf, null, [{\n key: \"requires\",\n get: function get() {\n return [hh, _f, Vf];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"Image\";\n }\n }]);\n\n return jf;\n }(cd);\n\n var zf = /*#__PURE__*/function (_yl22) {\n _inherits(zf, _yl22);\n\n var _super127 = _createSuper(zf);\n\n function zf(t) {\n var _this201;\n\n _classCallCheck(this, zf);\n\n _this201 = _super127.call(this, t), _this201.buttonView = new $l(t), _this201._fileInputView = new Bf(t), _this201._fileInputView.bind(\"acceptedType\").to(_assertThisInitialized(_this201)), _this201._fileInputView.bind(\"allowMultipleFiles\").to(_assertThisInitialized(_this201)), _this201._fileInputView.delegate(\"done\").to(_assertThisInitialized(_this201)), _this201.setTemplate({\n tag: \"span\",\n attributes: {\n \"class\": \"ck-file-dialog-button\"\n },\n children: [_this201.buttonView, _this201._fileInputView]\n }), _this201.buttonView.on(\"execute\", function () {\n _this201._fileInputView.open();\n });\n return _this201;\n }\n\n _createClass(zf, [{\n key: \"focus\",\n value: function focus() {\n this.buttonView.focus();\n }\n }]);\n\n return zf;\n }(yl);\n\n var Bf = /*#__PURE__*/function (_yl23) {\n _inherits(Bf, _yl23);\n\n var _super128 = _createSuper(Bf);\n\n function Bf(t) {\n var _this202;\n\n _classCallCheck(this, Bf);\n\n _this202 = _super128.call(this, t), _this202.set(\"acceptedType\"), _this202.set(\"allowMultipleFiles\", !1);\n var e = _this202.bindTemplate;\n\n _this202.setTemplate({\n tag: \"input\",\n attributes: {\n \"class\": [\"ck-hidden\"],\n type: \"file\",\n tabindex: \"-1\",\n accept: e.to(\"acceptedType\"),\n multiple: e.to(\"allowMultipleFiles\")\n },\n on: {\n change: e.to(function () {\n _this202.element && _this202.element.files && _this202.element.files.length && _this202.fire(\"done\", _this202.element.files), _this202.element.value = \"\";\n })\n }\n });\n\n return _this202;\n }\n\n _createClass(Bf, [{\n key: \"open\",\n value: function open() {\n this.element.click();\n }\n }]);\n\n return Bf;\n }(yl);\n\n function Ff(t) {\n var e = t.map(function (t) {\n return t.replace(\"+\", \"\\\\+\");\n });\n return new RegExp(\"^image\\\\/(\".concat(e.join(\"|\"), \")$\"));\n }\n\n var Uf = /*#__PURE__*/function (_cd35) {\n _inherits(Uf, _cd35);\n\n var _super129 = _createSuper(Uf);\n\n function Uf() {\n _classCallCheck(this, Uf);\n\n return _super129.apply(this, arguments);\n }\n\n _createClass(Uf, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.t;\n t.ui.componentFactory.add(\"imageUpload\", function (n) {\n var i = new zf(n),\n o = t.commands.get(\"imageUpload\"),\n r = t.config.get(\"image.upload.types\"),\n s = Ff(r);\n return i.set({\n acceptedType: r.map(function (t) {\n return \"image/\" + t;\n }).join(\",\"),\n allowMultipleFiles: !0\n }), i.buttonView.set({\n label: e(\"Insert image\"),\n icon: '',\n tooltip: !0\n }), i.buttonView.bind(\"isEnabled\").to(o), i.on(\"done\", function (e, n) {\n var i = Array.from(n).filter(function (t) {\n return s.test(t.type);\n });\n i.length && t.execute(\"imageUpload\", {\n file: i\n });\n }), i;\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageUploadUI\";\n }\n }]);\n\n return Uf;\n }(cd);\n\n n(67), n(69), n(71);\n\n var Hf = /*#__PURE__*/function (_cd36) {\n _inherits(Hf, _cd36);\n\n var _super130 = _createSuper(Hf);\n\n function Hf(t) {\n var _this203;\n\n _classCallCheck(this, Hf);\n\n _this203 = _super130.call(this, t), _this203.placeholder = \"data:image/svg+xml;utf8,\" + encodeURIComponent('');\n return _this203;\n }\n\n _createClass(Hf, [{\n key: \"init\",\n value: function init() {\n var _this204 = this;\n\n this.editor.editing.downcastDispatcher.on(\"attribute:uploadStatus:image\", function () {\n return _this204.uploadStatusChange.apply(_this204, arguments);\n });\n }\n }, {\n key: \"uploadStatusChange\",\n value: function uploadStatusChange(t, e, n) {\n var i = this.editor,\n o = e.item,\n r = o.getAttribute(\"uploadId\");\n if (!n.consumable.consume(e.item, t.name)) return;\n var s = i.plugins.get(pu),\n a = r ? e.attributeNewValue : null,\n c = this.placeholder,\n l = i.editing.mapper.toViewElement(o),\n d = n.writer;\n if (\"reading\" == a) return Wf(l, d), void qf(c, l, d);\n\n if (\"uploading\" == a) {\n var _t272 = s.loaders.get(r);\n\n return Wf(l, d), void (_t272 ? ($f(l, d), function (t, e, n, i) {\n var o = function (t) {\n var e = t.createUIElement(\"div\", {\n \"class\": \"ck-progress-bar\"\n });\n return t.setCustomProperty(\"progressBar\", !0, e), e;\n }(e);\n\n e.insert(e.createPositionAt(t, \"end\"), o), n.on(\"change:uploadedPercent\", function (t, e, n) {\n i.change(function (t) {\n t.setStyle(\"width\", n + \"%\", o);\n });\n });\n }(l, d, _t272, i.editing.view), function (t, e, n) {\n if (n.data) {\n var _i180 = lh(t);\n\n e.setAttribute(\"src\", n.data, _i180);\n }\n }(l, d, _t272)) : qf(c, l, d));\n }\n\n \"complete\" == a && s.loaders.get(r) && function (t, e, n) {\n var i = e.createUIElement(\"div\", {\n \"class\": \"ck-image-upload-complete-icon\"\n });\n e.insert(e.createPositionAt(t, \"end\"), i), setTimeout(function () {\n n.change(function (t) {\n return t.remove(t.createRangeOn(i));\n });\n }, 3e3);\n }(l, d, i.editing.view), function (t, e) {\n Gf(t, e, \"progressBar\");\n }(l, d), $f(l, d), function (t, e) {\n e.removeClass(\"ck-appear\", t);\n }(l, d);\n }\n }]);\n\n return Hf;\n }(cd);\n\n function Wf(t, e) {\n t.hasClass(\"ck-appear\") || e.addClass(\"ck-appear\", t);\n }\n\n function qf(t, e, n) {\n e.hasClass(\"ck-image-upload-placeholder\") || n.addClass(\"ck-image-upload-placeholder\", e);\n var i = lh(e);\n i.getAttribute(\"src\") !== t && n.setAttribute(\"src\", t, i), Yf(e, \"placeholder\") || n.insert(n.createPositionAfter(i), function (t) {\n var e = t.createUIElement(\"div\", {\n \"class\": \"ck-upload-placeholder-loader\"\n });\n return t.setCustomProperty(\"placeholder\", !0, e), e;\n }(n));\n }\n\n function $f(t, e) {\n t.hasClass(\"ck-image-upload-placeholder\") && e.removeClass(\"ck-image-upload-placeholder\", t), Gf(t, e, \"placeholder\");\n }\n\n function Yf(t, e) {\n var _iterator344 = _createForOfIteratorHelper(t.getChildren()),\n _step344;\n\n try {\n for (_iterator344.s(); !(_step344 = _iterator344.n()).done;) {\n var _n225 = _step344.value;\n if (_n225.getCustomProperty(e)) return _n225;\n }\n } catch (err) {\n _iterator344.e(err);\n } finally {\n _iterator344.f();\n }\n }\n\n function Gf(t, e, n) {\n var i = Yf(t, n);\n i && e.remove(e.createRangeOn(i));\n }\n\n var Kf = /*#__PURE__*/function () {\n function Kf(t) {\n _classCallCheck(this, Kf);\n\n this.document = t;\n }\n\n _createClass(Kf, [{\n key: \"createDocumentFragment\",\n value: function createDocumentFragment(t) {\n return new So(this.document, t);\n }\n }, {\n key: \"createElement\",\n value: function createElement(t, e, n) {\n return new Oi(this.document, t, e, n);\n }\n }, {\n key: \"createText\",\n value: function createText(t) {\n return new Rn(this.document, t);\n }\n }, {\n key: \"clone\",\n value: function clone(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n return t._clone(e);\n }\n }, {\n key: \"appendChild\",\n value: function appendChild(t, e) {\n return e._appendChild(t);\n }\n }, {\n key: \"insertChild\",\n value: function insertChild(t, e, n) {\n return n._insertChild(t, e);\n }\n }, {\n key: \"removeChildren\",\n value: function removeChildren(t, e, n) {\n return n._removeChildren(t, e);\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n var e = t.parent;\n return e ? this.removeChildren(e.getChildIndex(t), 1, e) : [];\n }\n }, {\n key: \"replace\",\n value: function replace(t, e) {\n var n = t.parent;\n\n if (n) {\n var _i181 = n.getChildIndex(t);\n\n return this.removeChildren(_i181, 1, n), this.insertChild(_i181, e, n), !0;\n }\n\n return !1;\n }\n }, {\n key: \"unwrapElement\",\n value: function unwrapElement(t) {\n var e = t.parent;\n\n if (e) {\n var _n226 = e.getChildIndex(t);\n\n this.remove(t), this.insertChild(_n226, t.getChildren(), e);\n }\n }\n }, {\n key: \"rename\",\n value: function rename(t, e) {\n var n = new Oi(this.document, t, e.getAttributes(), e.getChildren());\n return this.replace(e, n) ? n : null;\n }\n }, {\n key: \"setAttribute\",\n value: function setAttribute(t, e, n) {\n n._setAttribute(t, e);\n }\n }, {\n key: \"removeAttribute\",\n value: function removeAttribute(t, e) {\n e._removeAttribute(t);\n }\n }, {\n key: \"addClass\",\n value: function addClass(t, e) {\n e._addClass(t);\n }\n }, {\n key: \"removeClass\",\n value: function removeClass(t, e) {\n e._removeClass(t);\n }\n }, {\n key: \"setStyle\",\n value: function setStyle(t, e, n) {\n y(t) && void 0 === n && (n = e), n._setStyle(t, e);\n }\n }, {\n key: \"removeStyle\",\n value: function removeStyle(t, e) {\n e._removeStyle(t);\n }\n }, {\n key: \"setCustomProperty\",\n value: function setCustomProperty(t, e, n) {\n n._setCustomProperty(t, e);\n }\n }, {\n key: \"removeCustomProperty\",\n value: function removeCustomProperty(t, e) {\n return e._removeCustomProperty(t);\n }\n }, {\n key: \"createPositionAt\",\n value: function createPositionAt(t, e) {\n return Zi._createAt(t, e);\n }\n }, {\n key: \"createPositionAfter\",\n value: function createPositionAfter(t) {\n return Zi._createAfter(t);\n }\n }, {\n key: \"createPositionBefore\",\n value: function createPositionBefore(t) {\n return Zi._createBefore(t);\n }\n }, {\n key: \"createRange\",\n value: function createRange(t, e) {\n return new Xi(t, e);\n }\n }, {\n key: \"createRangeOn\",\n value: function createRangeOn(t) {\n return Xi._createOn(t);\n }\n }, {\n key: \"createRangeIn\",\n value: function createRangeIn(t) {\n return Xi._createIn(t);\n }\n }, {\n key: \"createSelection\",\n value: function createSelection(t, e, n) {\n return new no(t, e, n);\n }\n }]);\n\n return Kf;\n }();\n\n var Qf = /*#__PURE__*/function (_gd14) {\n _inherits(Qf, _gd14);\n\n var _super131 = _createSuper(Qf);\n\n function Qf() {\n _classCallCheck(this, Qf);\n\n return _super131.apply(this, arguments);\n }\n\n _createClass(Qf, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model.document.selection.getSelectedElement(),\n e = t && \"image\" === t.name || !1;\n this.isEnabled = ch(this.editor.model) || e;\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor,\n n = e.model,\n i = e.plugins.get(pu);\n n.change(function (e) {\n var o = Array.isArray(t.file) ? t.file : [t.file];\n\n var _iterator345 = _createForOfIteratorHelper(o),\n _step345;\n\n try {\n for (_iterator345.s(); !(_step345 = _iterator345.n()).done;) {\n var _t273 = _step345.value;\n Jf(e, n, i, _t273);\n }\n } catch (err) {\n _iterator345.e(err);\n } finally {\n _iterator345.f();\n }\n });\n }\n }]);\n\n return Qf;\n }(gd);\n\n function Jf(t, e, n, i) {\n var o = n.createLoader(i);\n o && ah(t, e, {\n uploadId: o.id\n });\n }\n\n var Zf = /*#__PURE__*/function (_cd37) {\n _inherits(Zf, _cd37);\n\n var _super132 = _createSuper(Zf);\n\n _createClass(Zf, null, [{\n key: \"requires\",\n get: function get() {\n return [pu, ef, md];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"ImageUploadEditing\";\n }\n }]);\n\n function Zf(t) {\n var _this205;\n\n _classCallCheck(this, Zf);\n\n _this205 = _super132.call(this, t), t.config.define(\"image\", {\n upload: {\n types: [\"jpeg\", \"png\", \"gif\", \"bmp\", \"webp\", \"tiff\"]\n }\n });\n return _this205;\n }\n\n _createClass(Zf, [{\n key: \"init\",\n value: function init() {\n var _this206 = this;\n\n var t = this.editor,\n e = t.model.document,\n n = t.model.schema,\n i = t.conversion,\n o = t.plugins.get(pu),\n r = Ff(t.config.get(\"image.upload.types\"));\n n.extend(\"image\", {\n allowAttributes: [\"uploadId\", \"uploadStatus\"]\n }), t.commands.add(\"imageUpload\", new Qf(t)), i[\"for\"](\"upcast\").attributeToAttribute({\n view: {\n name: \"img\",\n key: \"uploadId\"\n },\n model: \"uploadId\"\n }), this.listenTo(t.editing.view.document, \"clipboardInput\", function (e, n) {\n if (i = n.dataTransfer, Array.from(i.types).includes(\"text/html\") && \"\" !== i.getData(\"text/html\")) return;\n var i;\n var o = Array.from(n.dataTransfer.files).filter(function (t) {\n return !!t && r.test(t.type);\n }),\n s = n.targetRanges.map(function (e) {\n return t.editing.mapper.toModelRange(e);\n });\n t.model.change(function (n) {\n n.setSelection(s), o.length && (e.stop(), t.model.enqueueChange(\"default\", function () {\n t.execute(\"imageUpload\", {\n file: o\n });\n }));\n });\n }), this.listenTo(t.plugins.get(md), \"inputTransformation\", function (e, n) {\n var i = Array.from(t.editing.view.createRangeIn(n.content)).filter(function (t) {\n return !(!(e = t.item).is(\"element\", \"img\") || !e.getAttribute(\"src\")) && (e.getAttribute(\"src\").match(/^data:image\\/\\w+;base64,/g) || e.getAttribute(\"src\").match(/^blob:/g)) && !t.item.getAttribute(\"uploadProcessed\");\n var e;\n }).map(function (t) {\n return {\n promise: (e = t.item, new Promise(function (t, n) {\n var i = e.getAttribute(\"src\");\n fetch(i).then(function (t) {\n return t.blob();\n }).then(function (e) {\n var n = function (t, e) {\n return t.type ? t.type : e.match(/data:(image\\/\\w+);base64/) ? e.match(/data:(image\\/\\w+);base64/)[1].toLowerCase() : \"image/jpeg\";\n }(e, i),\n o = n.replace(\"image/\", \"\"),\n r = new File([e], \"image.\" + o, {\n type: n\n });\n\n t(r);\n })[\"catch\"](n);\n })),\n imageElement: t.item\n };\n var e;\n });\n if (!i.length) return;\n var r = new Kf(t.editing.view.document);\n\n var _iterator346 = _createForOfIteratorHelper(i),\n _step346;\n\n try {\n for (_iterator346.s(); !(_step346 = _iterator346.n()).done;) {\n var _t274 = _step346.value;\n r.setAttribute(\"uploadProcessed\", !0, _t274.imageElement);\n\n var _e240 = o.createLoader(_t274.promise);\n\n _e240 && (r.setAttribute(\"src\", \"\", _t274.imageElement), r.setAttribute(\"uploadId\", _e240.id, _t274.imageElement));\n }\n } catch (err) {\n _iterator346.e(err);\n } finally {\n _iterator346.f();\n }\n }), t.editing.view.document.on(\"dragover\", function (t, e) {\n e.preventDefault();\n }), e.on(\"change\", function () {\n var n = e.differ.getChanges({\n includeChangesInGraveyard: !0\n });\n\n var _iterator347 = _createForOfIteratorHelper(n),\n _step347;\n\n try {\n for (_iterator347.s(); !(_step347 = _iterator347.n()).done;) {\n var _e241 = _step347.value;\n\n if (\"insert\" == _e241.type && \"$text\" != _e241.name) {\n var _n227 = _e241.position.nodeAfter,\n _i182 = \"$graveyard\" == _e241.position.root.rootName;\n\n var _iterator348 = _createForOfIteratorHelper(Xf(t, _n227)),\n _step348;\n\n try {\n for (_iterator348.s(); !(_step348 = _iterator348.n()).done;) {\n var _e242 = _step348.value;\n\n var _t275 = _e242.getAttribute(\"uploadId\");\n\n if (!_t275) continue;\n\n var _n228 = o.loaders.get(_t275);\n\n _n228 && (_i182 ? _n228.abort() : \"idle\" == _n228.status && _this206._readAndUpload(_n228, _e242));\n }\n } catch (err) {\n _iterator348.e(err);\n } finally {\n _iterator348.f();\n }\n }\n }\n } catch (err) {\n _iterator347.e(err);\n } finally {\n _iterator347.f();\n }\n });\n }\n }, {\n key: \"_readAndUpload\",\n value: function _readAndUpload(t, e) {\n var _this207 = this;\n\n var n = this.editor,\n i = n.model,\n o = n.locale.t,\n r = n.plugins.get(pu),\n s = n.plugins.get(ef);\n return i.enqueueChange(\"transparent\", function (t) {\n t.setAttribute(\"uploadStatus\", \"reading\", e);\n }), t.read().then(function () {\n var o = t.upload();\n\n if (ho.isSafari) {\n var _t276 = lh(n.editing.mapper.toViewElement(e));\n\n n.editing.view.once(\"render\", function () {\n if (!_t276.parent) return;\n var e = n.editing.view.domConverter.mapViewToDom(_t276.parent);\n if (!e) return;\n var i = e.style.display;\n e.style.display = \"none\", e._ckHack = e.offsetHeight, e.style.display = i;\n });\n }\n\n return i.enqueueChange(\"transparent\", function (t) {\n t.setAttribute(\"uploadStatus\", \"uploading\", e);\n }), o;\n }).then(function (t) {\n i.enqueueChange(\"transparent\", function (n) {\n n.setAttributes({\n uploadStatus: \"complete\",\n src: t[\"default\"]\n }, e), _this207._parseAndSetSrcsetAttributeOnImage(t, e, n);\n }), a();\n })[\"catch\"](function (n) {\n if (\"error\" !== t.status && \"aborted\" !== t.status) throw n;\n \"error\" == t.status && n && s.showWarning(n, {\n title: o(\"Upload failed\"),\n namespace: \"upload\"\n }), a(), i.enqueueChange(\"transparent\", function (t) {\n t.remove(e);\n });\n });\n\n function a() {\n i.enqueueChange(\"transparent\", function (t) {\n t.removeAttribute(\"uploadId\", e), t.removeAttribute(\"uploadStatus\", e);\n }), r.destroyLoader(t);\n }\n }\n }, {\n key: \"_parseAndSetSrcsetAttributeOnImage\",\n value: function _parseAndSetSrcsetAttributeOnImage(t, e, n) {\n var i = 0;\n var o = Object.keys(t).filter(function (t) {\n var e = parseInt(t, 10);\n if (!isNaN(e)) return i = Math.max(i, e), !0;\n }).map(function (e) {\n return \"\".concat(t[e], \" \").concat(e, \"w\");\n }).join(\", \");\n \"\" != o && n.setAttribute(\"srcset\", {\n data: o,\n width: i\n }, e);\n }\n }]);\n\n return Zf;\n }(cd);\n\n function Xf(t, e) {\n return Array.from(t.model.createRangeOn(e)).filter(function (t) {\n return t.item.is(\"element\", \"image\");\n }).map(function (t) {\n return t.item;\n });\n }\n\n var tm = /*#__PURE__*/function (_cd38) {\n _inherits(tm, _cd38);\n\n var _super133 = _createSuper(tm);\n\n function tm() {\n _classCallCheck(this, tm);\n\n return _super133.apply(this, arguments);\n }\n\n _createClass(tm, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageUpload\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [Zf, Uf, Hf];\n }\n }]);\n\n return tm;\n }(cd);\n\n var em = /*#__PURE__*/function (_gd15) {\n _inherits(em, _gd15);\n\n var _super134 = _createSuper(em);\n\n function em() {\n _classCallCheck(this, em);\n\n return _super134.apply(this, arguments);\n }\n\n _createClass(em, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = vu(t.document.selection.getSelectedBlocks());\n this.value = !!e && e.is(\"element\", \"paragraph\"), this.isEnabled = !!e && nm(e, t.schema);\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var e = this.editor.model,\n n = e.document;\n e.change(function (i) {\n var o = (t.selection || n.selection).getSelectedBlocks();\n\n var _iterator349 = _createForOfIteratorHelper(o),\n _step349;\n\n try {\n for (_iterator349.s(); !(_step349 = _iterator349.n()).done;) {\n var _t277 = _step349.value;\n !_t277.is(\"element\", \"paragraph\") && nm(_t277, e.schema) && i.rename(_t277, \"paragraph\");\n }\n } catch (err) {\n _iterator349.e(err);\n } finally {\n _iterator349.f();\n }\n });\n }\n }]);\n\n return em;\n }(gd);\n\n function nm(t, e) {\n return e.checkChild(t.parent, \"paragraph\") && !e.isObject(t);\n }\n\n var im = /*#__PURE__*/function (_gd16) {\n _inherits(im, _gd16);\n\n var _super135 = _createSuper(im);\n\n function im() {\n _classCallCheck(this, im);\n\n return _super135.apply(this, arguments);\n }\n\n _createClass(im, [{\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor.model;\n var n = t.position;\n e.change(function (t) {\n var i = t.createElement(\"paragraph\");\n\n if (!e.schema.checkChild(n.parent, i)) {\n var _o98 = e.schema.findAllowedParent(n, i);\n\n if (!_o98) return;\n n = t.split(n, _o98).position;\n }\n\n e.insertContent(i, n), t.setSelection(i, \"in\");\n });\n }\n }]);\n\n return im;\n }(gd);\n\n var om = /*#__PURE__*/function (_cd39) {\n _inherits(om, _cd39);\n\n var _super136 = _createSuper(om);\n\n function om() {\n _classCallCheck(this, om);\n\n return _super136.apply(this, arguments);\n }\n\n _createClass(om, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model;\n t.commands.add(\"paragraph\", new em(t)), t.commands.add(\"insertParagraph\", new im(t)), e.schema.register(\"paragraph\", {\n inheritAllFrom: \"$block\"\n }), t.conversion.elementToElement({\n model: \"paragraph\",\n view: \"p\"\n }), t.conversion[\"for\"](\"upcast\").elementToElement({\n model: function model(t, _ref141) {\n var e = _ref141.writer;\n return om.paragraphLikeElements.has(t.name) ? t.isEmpty ? null : e.createElement(\"paragraph\") : null;\n },\n view: /.+/,\n converterPriority: \"low\"\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Paragraph\";\n }\n }]);\n\n return om;\n }(cd);\n\n om.paragraphLikeElements = new Set([\"blockquote\", \"dd\", \"div\", \"dt\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"li\", \"p\", \"td\", \"th\"]);\n\n var rm = /*#__PURE__*/function (_gd17) {\n _inherits(rm, _gd17);\n\n var _super137 = _createSuper(rm);\n\n function rm(t, e) {\n var _this208;\n\n _classCallCheck(this, rm);\n\n _this208 = _super137.call(this, t), _this208.modelElements = e;\n return _this208;\n }\n\n _createClass(rm, [{\n key: \"refresh\",\n value: function refresh() {\n var _this209 = this;\n\n var t = vu(this.editor.model.document.selection.getSelectedBlocks());\n this.value = !!t && this.modelElements.includes(t.name) && t.name, this.isEnabled = !!t && this.modelElements.some(function (e) {\n return sm(t, e, _this209.editor.model.schema);\n });\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor.model,\n n = e.document,\n i = t.value;\n e.change(function (t) {\n var o = Array.from(n.selection.getSelectedBlocks()).filter(function (t) {\n return sm(t, i, e.schema);\n });\n\n var _iterator350 = _createForOfIteratorHelper(o),\n _step350;\n\n try {\n for (_iterator350.s(); !(_step350 = _iterator350.n()).done;) {\n var _e243 = _step350.value;\n _e243.is(\"element\", i) || t.rename(_e243, i);\n }\n } catch (err) {\n _iterator350.e(err);\n } finally {\n _iterator350.f();\n }\n });\n }\n }]);\n\n return rm;\n }(gd);\n\n function sm(t, e, n) {\n return n.checkChild(t.parent, e) && !n.isObject(t);\n }\n\n var am = /*#__PURE__*/function (_cd40) {\n _inherits(am, _cd40);\n\n var _super138 = _createSuper(am);\n\n _createClass(am, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"HeadingEditing\";\n }\n }]);\n\n function am(t) {\n var _this210;\n\n _classCallCheck(this, am);\n\n _this210 = _super138.call(this, t), t.config.define(\"heading\", {\n options: [{\n model: \"paragraph\",\n title: \"Paragraph\",\n \"class\": \"ck-heading_paragraph\"\n }, {\n model: \"heading1\",\n view: \"h2\",\n title: \"Heading 1\",\n \"class\": \"ck-heading_heading1\"\n }, {\n model: \"heading2\",\n view: \"h3\",\n title: \"Heading 2\",\n \"class\": \"ck-heading_heading2\"\n }, {\n model: \"heading3\",\n view: \"h4\",\n title: \"Heading 3\",\n \"class\": \"ck-heading_heading3\"\n }]\n });\n return _this210;\n }\n\n _createClass(am, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.config.get(\"heading.options\"),\n n = [];\n\n var _iterator351 = _createForOfIteratorHelper(e),\n _step351;\n\n try {\n for (_iterator351.s(); !(_step351 = _iterator351.n()).done;) {\n var _i183 = _step351.value;\n \"paragraph\" !== _i183.model && (t.model.schema.register(_i183.model, {\n inheritAllFrom: \"$block\"\n }), t.conversion.elementToElement(_i183), n.push(_i183.model));\n }\n } catch (err) {\n _iterator351.e(err);\n } finally {\n _iterator351.f();\n }\n\n this._addDefaultH1Conversion(t), t.commands.add(\"heading\", new rm(t, n));\n }\n }, {\n key: \"afterInit\",\n value: function afterInit() {\n var t = this.editor,\n e = t.commands.get(\"enter\"),\n n = t.config.get(\"heading.options\");\n e && this.listenTo(e, \"afterExecute\", function (e, i) {\n var o = t.model.document.selection.getFirstPosition().parent;\n n.some(function (t) {\n return o.is(\"element\", t.model);\n }) && !o.is(\"element\", \"paragraph\") && 0 === o.childCount && i.writer.rename(o, \"paragraph\");\n });\n }\n }, {\n key: \"_addDefaultH1Conversion\",\n value: function _addDefaultH1Conversion(t) {\n t.conversion[\"for\"](\"upcast\").elementToElement({\n model: \"heading1\",\n view: \"h1\",\n converterPriority: un.get(\"low\") + 1\n });\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [om];\n }\n }]);\n\n return am;\n }(cd);\n\n var cm = function cm(t, e) {\n _classCallCheck(this, cm);\n\n e && Vi(this, e), t && this.set(t);\n };\n\n xn(cm, Ui);\n n(12);\n\n var lm = /*#__PURE__*/function (_cd41) {\n _inherits(lm, _cd41);\n\n var _super139 = _createSuper(lm);\n\n function lm() {\n _classCallCheck(this, lm);\n\n return _super139.apply(this, arguments);\n }\n\n _createClass(lm, [{\n key: \"init\",\n value: function init() {\n var _this211 = this;\n\n var t = this.editor,\n e = t.t,\n n = function (t) {\n var e = t.t,\n n = {\n Paragraph: e(\"Paragraph\"),\n \"Heading 1\": e(\"Heading 1\"),\n \"Heading 2\": e(\"Heading 2\"),\n \"Heading 3\": e(\"Heading 3\"),\n \"Heading 4\": e(\"Heading 4\"),\n \"Heading 5\": e(\"Heading 5\"),\n \"Heading 6\": e(\"Heading 6\")\n };\n return t.config.get(\"heading.options\").map(function (t) {\n var e = n[t.title];\n return e && e != t.title && (t.title = e), t;\n });\n }(t),\n i = e(\"Choose heading\"),\n o = e(\"Heading\");\n\n t.ui.componentFactory.add(\"heading\", function (e) {\n var r = {},\n s = new An(),\n a = t.commands.get(\"heading\"),\n c = t.commands.get(\"paragraph\"),\n l = [a];\n\n var _iterator352 = _createForOfIteratorHelper(n),\n _step352;\n\n try {\n var _loop7 = function _loop7() {\n var t = _step352.value;\n var e = {\n type: \"button\",\n model: new cm({\n label: t.title,\n \"class\": t[\"class\"],\n withText: !0\n })\n };\n \"paragraph\" === t.model ? (e.model.bind(\"isOn\").to(c, \"value\"), e.model.set(\"commandName\", \"paragraph\"), l.push(c)) : (e.model.bind(\"isOn\").to(a, \"value\", function (e) {\n return e === t.model;\n }), e.model.set({\n commandName: \"heading\",\n commandValue: t.model\n })), s.add(e), r[t.model] = t.title;\n };\n\n for (_iterator352.s(); !(_step352 = _iterator352.n()).done;) {\n _loop7();\n }\n } catch (err) {\n _iterator352.e(err);\n } finally {\n _iterator352.f();\n }\n\n var d = td(e);\n return ed(d, s), d.buttonView.set({\n isOn: !1,\n withText: !0,\n tooltip: o\n }), d.extendTemplate({\n attributes: {\n \"class\": [\"ck-heading-dropdown\"]\n }\n }), d.bind(\"isEnabled\").toMany(l, \"isEnabled\", function () {\n for (var _len18 = arguments.length, t = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) {\n t[_key18] = arguments[_key18];\n }\n\n return t.some(function (t) {\n return t;\n });\n }), d.buttonView.bind(\"label\").to(a, \"value\", c, \"value\", function (t, e) {\n var n = t || e && \"paragraph\";\n return r[n] ? r[n] : i;\n }), _this211.listenTo(d, \"execute\", function (e) {\n t.execute(e.source.commandName, e.source.commandValue ? {\n value: e.source.commandValue\n } : void 0), t.editing.view.focus();\n }), d;\n });\n }\n }]);\n\n return lm;\n }(cd);\n\n function dm(t) {\n var _iterator353 = _createForOfIteratorHelper(t.getChildren()),\n _step353;\n\n try {\n for (_iterator353.s(); !(_step353 = _iterator353.n()).done;) {\n var _e244 = _step353.value;\n if (_e244 && _e244.is(\"element\", \"caption\")) return _e244;\n }\n } catch (err) {\n _iterator353.e(err);\n } finally {\n _iterator353.f();\n }\n\n return null;\n }\n\n function um(t) {\n var e = t.parent;\n return \"figcaption\" == t.name && e && \"figure\" == e.name && e.hasClass(\"image\") ? {\n name: !0\n } : null;\n }\n\n var hm = /*#__PURE__*/function (_cd42) {\n _inherits(hm, _cd42);\n\n var _super140 = _createSuper(hm);\n\n function hm() {\n _classCallCheck(this, hm);\n\n return _super140.apply(this, arguments);\n }\n\n _createClass(hm, [{\n key: \"init\",\n value: function init() {\n var _this212 = this;\n\n var t = this.editor,\n e = t.editing.view,\n n = t.model.schema,\n i = t.data,\n o = t.editing,\n r = t.t;\n n.register(\"caption\", {\n allowIn: \"image\",\n allowContentOf: \"$block\",\n isLimit: !0\n }), t.model.document.registerPostFixer(function (t) {\n return _this212._insertMissingModelCaptionElement(t);\n }), t.conversion[\"for\"](\"upcast\").elementToElement({\n view: um,\n model: \"caption\"\n });\n i.downcastDispatcher.on(\"insert:caption\", fm(function (t) {\n return t.createContainerElement(\"figcaption\");\n }, !1));\n\n var s = function (t, e) {\n return function (n) {\n var i = n.createEditableElement(\"figcaption\");\n return n.setCustomProperty(\"imageCaption\", !0, i), Qc({\n view: t,\n element: i,\n text: e\n }), eh(i, n);\n };\n }(e, r(\"Enter image caption\"));\n\n o.downcastDispatcher.on(\"insert:caption\", fm(s)), o.downcastDispatcher.on(\"insert\", this._fixCaptionVisibility(function (t) {\n return t.item;\n }), {\n priority: \"high\"\n }), o.downcastDispatcher.on(\"remove\", this._fixCaptionVisibility(function (t) {\n return t.position.parent;\n }), {\n priority: \"high\"\n }), e.document.registerPostFixer(function (t) {\n return _this212._updateCaptionVisibility(t);\n });\n }\n }, {\n key: \"_updateCaptionVisibility\",\n value: function _updateCaptionVisibility(t) {\n var e = this.editor.editing.mapper,\n n = this._lastSelectedCaption;\n var i;\n var o = this.editor.model.document.selection,\n r = o.getSelectedElement();\n\n if (r && r.is(\"element\", \"image\")) {\n var _t278 = dm(r);\n\n i = e.toViewElement(_t278);\n }\n\n var s = mm(o.getFirstPosition().parent);\n if (s && (i = e.toViewElement(s)), i) return n ? (n === i || (gm(n, t), this._lastSelectedCaption = i), pm(i, t)) : (this._lastSelectedCaption = i, pm(i, t));\n\n if (n) {\n var _e245 = gm(n, t);\n\n return this._lastSelectedCaption = null, _e245;\n }\n\n return !1;\n }\n }, {\n key: \"_fixCaptionVisibility\",\n value: function _fixCaptionVisibility(t) {\n var _this213 = this;\n\n return function (e, n, i) {\n var o = mm(t(n)),\n r = _this213.editor.editing.mapper,\n s = i.writer;\n\n if (o) {\n var _t279 = r.toViewElement(o);\n\n _t279 && (o.childCount ? s.removeClass(\"ck-hidden\", _t279) : s.addClass(\"ck-hidden\", _t279));\n }\n };\n }\n }, {\n key: \"_insertMissingModelCaptionElement\",\n value: function _insertMissingModelCaptionElement(t) {\n var e = this.editor.model,\n n = e.document.differ.getChanges(),\n i = [];\n\n var _iterator354 = _createForOfIteratorHelper(n),\n _step354;\n\n try {\n for (_iterator354.s(); !(_step354 = _iterator354.n()).done;) {\n var _t280 = _step354.value;\n\n if (\"insert\" == _t280.type && \"$text\" != _t280.name) {\n var _n229 = _t280.position.nodeAfter;\n\n if (_n229.is(\"element\", \"image\") && !dm(_n229) && i.push(_n229), !_n229.is(\"element\", \"image\") && _n229.childCount) {\n var _iterator355 = _createForOfIteratorHelper(e.createRangeIn(_n229).getItems()),\n _step355;\n\n try {\n for (_iterator355.s(); !(_step355 = _iterator355.n()).done;) {\n var _t281 = _step355.value;\n _t281.is(\"element\", \"image\") && !dm(_t281) && i.push(_t281);\n }\n } catch (err) {\n _iterator355.e(err);\n } finally {\n _iterator355.f();\n }\n }\n }\n }\n } catch (err) {\n _iterator354.e(err);\n } finally {\n _iterator354.f();\n }\n\n for (var _i185 = 0, _i184 = i; _i185 < _i184.length; _i185++) {\n var _e246 = _i184[_i185];\n t.appendElement(\"caption\", _e246);\n }\n\n return !!i.length;\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageCaptionEditing\";\n }\n }]);\n\n return hm;\n }(cd);\n\n function fm(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n return function (n, i, o) {\n var r = i.item;\n\n if ((r.childCount || e) && sh(r.parent)) {\n if (!o.consumable.consume(i.item, \"insert\")) return;\n\n var _e247 = o.mapper.toViewElement(i.range.start.parent),\n _n230 = t(o.writer),\n _s34 = o.writer;\n\n r.childCount || _s34.addClass(\"ck-hidden\", _n230), function (t, e, n, i) {\n var o = i.writer.createPositionAt(n, \"end\");\n i.writer.insert(o, t), i.mapper.bindElements(e, t);\n }(_n230, i.item, _e247, o);\n }\n };\n }\n\n function mm(t) {\n var e = t.getAncestors({\n includeSelf: !0\n }).find(function (t) {\n return \"caption\" == t.name;\n });\n return e && e.parent && \"image\" == e.parent.name ? e : null;\n }\n\n function gm(t, e) {\n return !t.childCount && !t.hasClass(\"ck-hidden\") && (e.addClass(\"ck-hidden\", t), !0);\n }\n\n function pm(t, e) {\n return !!t.hasClass(\"ck-hidden\") && (e.removeClass(\"ck-hidden\", t), !0);\n }\n\n n(74);\n\n var bm = /*#__PURE__*/function (_gd18) {\n _inherits(bm, _gd18);\n\n var _super141 = _createSuper(bm);\n\n function bm(t, e) {\n var _this214;\n\n _classCallCheck(this, bm);\n\n _this214 = _super141.call(this, t), _this214.defaultStyle = !1, _this214.styles = e.reduce(function (t, e) {\n return t[e.name] = e, e.isDefault && (_this214.defaultStyle = e.name), t;\n }, {});\n return _this214;\n }\n\n _createClass(bm, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model.document.selection.getSelectedElement();\n if (this.isEnabled = sh(t), t) {\n if (t.hasAttribute(\"imageStyle\")) {\n var _e248 = t.getAttribute(\"imageStyle\");\n\n this.value = !!this.styles[_e248] && _e248;\n } else this.value = this.defaultStyle;\n } else this.value = !1;\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var _this215 = this;\n\n var e = t.value,\n n = this.editor.model,\n i = n.document.selection.getSelectedElement();\n n.change(function (t) {\n _this215.styles[e].isDefault ? t.removeAttribute(\"imageStyle\", i) : t.setAttribute(\"imageStyle\", e, i);\n });\n }\n }]);\n\n return bm;\n }(gd);\n\n function wm(t, e) {\n var _iterator356 = _createForOfIteratorHelper(e),\n _step356;\n\n try {\n for (_iterator356.s(); !(_step356 = _iterator356.n()).done;) {\n var _n231 = _step356.value;\n if (_n231.name === t) return _n231;\n }\n } catch (err) {\n _iterator356.e(err);\n } finally {\n _iterator356.f();\n }\n }\n\n var km = '',\n _m = '',\n vm = '',\n ym = '';\n var xm = {\n full: {\n name: \"full\",\n title: \"Full size image\",\n icon: km,\n isDefault: !0\n },\n side: {\n name: \"side\",\n title: \"Side image\",\n icon: ym,\n className: \"image-style-side\"\n },\n alignLeft: {\n name: \"alignLeft\",\n title: \"Left aligned image\",\n icon: _m,\n className: \"image-style-align-left\"\n },\n alignCenter: {\n name: \"alignCenter\",\n title: \"Centered image\",\n icon: vm,\n className: \"image-style-align-center\"\n },\n alignRight: {\n name: \"alignRight\",\n title: \"Right aligned image\",\n icon: ym,\n className: \"image-style-align-right\"\n }\n },\n Am = {\n full: km,\n left: _m,\n right: ym,\n center: vm\n };\n\n function Cm() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return t.map(Tm);\n }\n\n function Tm(t) {\n if (\"string\" == typeof t) {\n var _e249 = t;\n xm[_e249] ? t = Object.assign({}, xm[_e249]) : (Object(hn.c)(\"image-style-not-found\", {\n name: _e249\n }), t = {\n name: _e249\n });\n } else if (xm[t.name]) {\n var _e250 = xm[t.name],\n _n232 = Object.assign({}, t);\n\n for (var _i186 in _e250) {\n Object.prototype.hasOwnProperty.call(t, _i186) || (_n232[_i186] = _e250[_i186]);\n }\n\n t = _n232;\n }\n\n return \"string\" == typeof t.icon && Am[t.icon] && (t.icon = Am[t.icon]), t;\n }\n\n var Pm = /*#__PURE__*/function (_cd43) {\n _inherits(Pm, _cd43);\n\n var _super142 = _createSuper(Pm);\n\n function Pm() {\n _classCallCheck(this, Pm);\n\n return _super142.apply(this, arguments);\n }\n\n _createClass(Pm, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model.schema,\n n = t.data,\n i = t.editing;\n t.config.define(\"image.styles\", [\"full\", \"side\"]);\n var o = Cm(t.config.get(\"image.styles\"));\n e.extend(\"image\", {\n allowAttributes: \"imageStyle\"\n });\n\n var r = function (t) {\n return function (e, n, i) {\n if (!i.consumable.consume(n.item, e.name)) return;\n var o = wm(n.attributeNewValue, t),\n r = wm(n.attributeOldValue, t),\n s = i.mapper.toViewElement(n.item),\n a = i.writer;\n r && a.removeClass(r.className, s), o && a.addClass(o.className, s);\n };\n }(o);\n\n i.downcastDispatcher.on(\"attribute:imageStyle:image\", r), n.downcastDispatcher.on(\"attribute:imageStyle:image\", r), n.upcastDispatcher.on(\"element:figure\", function (t) {\n var e = t.filter(function (t) {\n return !t.isDefault;\n });\n return function (t, n, i) {\n if (!n.modelRange) return;\n var o = n.viewItem,\n r = vu(n.modelRange.getItems());\n\n if (i.schema.checkAttribute(r, \"imageStyle\")) {\n var _iterator357 = _createForOfIteratorHelper(e),\n _step357;\n\n try {\n for (_iterator357.s(); !(_step357 = _iterator357.n()).done;) {\n var _t282 = _step357.value;\n i.consumable.consume(o, {\n classes: _t282.className\n }) && i.writer.setAttribute(\"imageStyle\", _t282.name, r);\n }\n } catch (err) {\n _iterator357.e(err);\n } finally {\n _iterator357.f();\n }\n }\n };\n }(o), {\n priority: \"low\"\n }), t.commands.add(\"imageStyle\", new bm(t, o));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageStyleEditing\";\n }\n }]);\n\n return Pm;\n }(cd);\n\n n(76);\n\n var Sm = /*#__PURE__*/function (_cd44) {\n _inherits(Sm, _cd44);\n\n var _super143 = _createSuper(Sm);\n\n function Sm() {\n _classCallCheck(this, Sm);\n\n return _super143.apply(this, arguments);\n }\n\n _createClass(Sm, [{\n key: \"init\",\n value: function init() {\n var t = function (t, e) {\n var _iterator358 = _createForOfIteratorHelper(t),\n _step358;\n\n try {\n for (_iterator358.s(); !(_step358 = _iterator358.n()).done;) {\n var _n233 = _step358.value;\n e[_n233.title] && (_n233.title = e[_n233.title]);\n }\n } catch (err) {\n _iterator358.e(err);\n } finally {\n _iterator358.f();\n }\n\n return t;\n }(Cm(this.editor.config.get(\"image.styles\")), this.localizedDefaultStylesTitles);\n\n var _iterator359 = _createForOfIteratorHelper(t),\n _step359;\n\n try {\n for (_iterator359.s(); !(_step359 = _iterator359.n()).done;) {\n var _e251 = _step359.value;\n\n this._createButton(_e251);\n }\n } catch (err) {\n _iterator359.e(err);\n } finally {\n _iterator359.f();\n }\n }\n }, {\n key: \"_createButton\",\n value: function _createButton(t) {\n var _this216 = this;\n\n var e = this.editor,\n n = \"imageStyle:\" + t.name;\n e.ui.componentFactory.add(n, function (n) {\n var i = e.commands.get(\"imageStyle\"),\n o = new $l(n);\n return o.set({\n label: t.title,\n icon: t.icon,\n tooltip: !0,\n isToggleable: !0\n }), o.bind(\"isEnabled\").to(i, \"isEnabled\"), o.bind(\"isOn\").to(i, \"value\", function (e) {\n return e === t.name;\n }), _this216.listenTo(o, \"execute\", function () {\n e.execute(\"imageStyle\", {\n value: t.name\n }), e.editing.view.focus();\n }), o;\n });\n }\n }, {\n key: \"localizedDefaultStylesTitles\",\n get: function get() {\n var t = this.editor.t;\n return {\n \"Full size image\": t(\"Full size image\"),\n \"Side image\": t(\"Side image\"),\n \"Left aligned image\": t(\"Left aligned image\"),\n \"Centered image\": t(\"Centered image\"),\n \"Right aligned image\": t(\"Right aligned image\")\n };\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageStyleUI\";\n }\n }]);\n\n return Sm;\n }(cd);\n\n var Em = /*#__PURE__*/function (_cd45) {\n _inherits(Em, _cd45);\n\n var _super144 = _createSuper(Em);\n\n function Em() {\n _classCallCheck(this, Em);\n\n return _super144.apply(this, arguments);\n }\n\n _createClass(Em, [{\n key: \"init\",\n value: function init() {\n var _this217 = this;\n\n var t = this.editor;\n\n if (t.plugins.has(\"BalloonToolbar\")) {\n var _e252 = t.plugins.get(\"BalloonToolbar\");\n\n this.listenTo(_e252, \"show\", function (e) {\n (function (t) {\n var e = t.getSelectedElement();\n return !(!e || !Ju(e));\n })(t.editing.view.document.selection) && e.stop();\n }, {\n priority: \"high\"\n });\n }\n\n this._toolbarDefinitions = new Map(), this._balloon = this.editor.plugins.get(\"ContextualBalloon\"), this.on(\"change:isEnabled\", function () {\n _this217._updateToolbarsVisibility();\n }), this.listenTo(t.ui, \"update\", function () {\n _this217._updateToolbarsVisibility();\n }), this.listenTo(t.ui.focusTracker, \"change:isFocused\", function () {\n _this217._updateToolbarsVisibility();\n }, {\n priority: \"low\"\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(Em.prototype), \"destroy\", this).call(this);\n\n var _iterator360 = _createForOfIteratorHelper(this._toolbarDefinitions.values()),\n _step360;\n\n try {\n for (_iterator360.s(); !(_step360 = _iterator360.n()).done;) {\n var _t283 = _step360.value;\n\n _t283.view.destroy();\n }\n } catch (err) {\n _iterator360.e(err);\n } finally {\n _iterator360.f();\n }\n }\n }, {\n key: \"register\",\n value: function register(t, _ref142) {\n var e = _ref142.ariaLabel,\n n = _ref142.items,\n i = _ref142.getRelatedElement,\n _ref142$balloonClassN = _ref142.balloonClassName,\n o = _ref142$balloonClassN === void 0 ? \"ck-toolbar-container\" : _ref142$balloonClassN;\n if (!n.length) return void Object(hn.c)(\"widget-toolbar-no-items\", {\n toolbarId: t\n });\n var r = this.editor,\n s = r.t,\n a = new nd(r.locale);\n if (a.ariaLabel = e || s(\"Widget toolbar\"), this._toolbarDefinitions.has(t)) throw new hn.a(\"widget-toolbar-duplicated\", this, {\n toolbarId: t\n });\n a.fillFromConfig(n, r.ui.componentFactory), this._toolbarDefinitions.set(t, {\n view: a,\n getRelatedElement: i,\n balloonClassName: o\n });\n }\n }, {\n key: \"_updateToolbarsVisibility\",\n value: function _updateToolbarsVisibility() {\n var t = 0,\n e = null,\n n = null;\n\n var _iterator361 = _createForOfIteratorHelper(this._toolbarDefinitions.values()),\n _step361;\n\n try {\n for (_iterator361.s(); !(_step361 = _iterator361.n()).done;) {\n var _i187 = _step361.value;\n\n var _o99 = _i187.getRelatedElement(this.editor.editing.view.document.selection);\n\n if (this.isEnabled && _o99) {\n if (this.editor.ui.focusTracker.isFocused) {\n var _r47 = _o99.getAncestors().length;\n\n _r47 > t && (t = _r47, e = _o99, n = _i187);\n } else this._isToolbarVisible(_i187) && this._hideToolbar(_i187);\n } else this._isToolbarInBalloon(_i187) && this._hideToolbar(_i187);\n }\n } catch (err) {\n _iterator361.e(err);\n } finally {\n _iterator361.f();\n }\n\n n && this._showToolbar(n, e);\n }\n }, {\n key: \"_hideToolbar\",\n value: function _hideToolbar(t) {\n this._balloon.remove(t.view), this.stopListening(this._balloon, \"change:visibleView\");\n }\n }, {\n key: \"_showToolbar\",\n value: function _showToolbar(t, e) {\n var _this218 = this;\n\n this._isToolbarVisible(t) ? Mm(this.editor, e) : this._isToolbarInBalloon(t) || (this._balloon.add({\n view: t.view,\n position: Im(this.editor, e),\n balloonClassName: t.balloonClassName\n }), this.listenTo(this._balloon, \"change:visibleView\", function () {\n var _iterator362 = _createForOfIteratorHelper(_this218._toolbarDefinitions.values()),\n _step362;\n\n try {\n for (_iterator362.s(); !(_step362 = _iterator362.n()).done;) {\n var _t284 = _step362.value;\n\n if (_this218._isToolbarVisible(_t284)) {\n var _e253 = _t284.getRelatedElement(_this218.editor.editing.view.document.selection);\n\n Mm(_this218.editor, _e253);\n }\n }\n } catch (err) {\n _iterator362.e(err);\n } finally {\n _iterator362.f();\n }\n }));\n }\n }, {\n key: \"_isToolbarVisible\",\n value: function _isToolbarVisible(t) {\n return this._balloon.visibleView === t.view;\n }\n }, {\n key: \"_isToolbarInBalloon\",\n value: function _isToolbarInBalloon(t) {\n return this._balloon.hasView(t.view);\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [Nf];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"WidgetToolbarRepository\";\n }\n }]);\n\n return Em;\n }(cd);\n\n function Mm(t, e) {\n var n = t.plugins.get(\"ContextualBalloon\"),\n i = Im(t, e);\n n.updatePosition(i);\n }\n\n function Im(t, e) {\n var n = t.editing.view,\n i = qu.defaultPositions;\n return {\n target: n.domConverter.mapViewToDom(e),\n positions: [i.northArrowSouth, i.northArrowSouthWest, i.northArrowSouthEast, i.southArrowNorth, i.southArrowNorthWest, i.southArrowNorthEast, ih]\n };\n }\n\n var Nm = /*#__PURE__*/function (_gd19) {\n _inherits(Nm, _gd19);\n\n var _super145 = _createSuper(Nm);\n\n function Nm(t) {\n var _this219;\n\n _classCallCheck(this, Nm);\n\n _this219 = _super145.call(this, t), _this219._childCommands = [];\n return _this219;\n }\n\n _createClass(Nm, [{\n key: \"refresh\",\n value: function refresh() {}\n }, {\n key: \"execute\",\n value: function execute() {\n for (var _len19 = arguments.length, t = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) {\n t[_key19] = arguments[_key19];\n }\n\n return this._getFirstEnabledCommand().execute(t);\n }\n }, {\n key: \"registerChildCommand\",\n value: function registerChildCommand(t) {\n var _this220 = this;\n\n this._childCommands.push(t), t.on(\"change:isEnabled\", function () {\n return _this220._checkEnabled();\n }), this._checkEnabled();\n }\n }, {\n key: \"_checkEnabled\",\n value: function _checkEnabled() {\n this.isEnabled = !!this._getFirstEnabledCommand();\n }\n }, {\n key: \"_getFirstEnabledCommand\",\n value: function _getFirstEnabledCommand() {\n return this._childCommands.find(function (t) {\n return t.isEnabled;\n });\n }\n }]);\n\n return Nm;\n }(gd);\n\n var Om = /*#__PURE__*/function (_cd46) {\n _inherits(Om, _cd46);\n\n var _super146 = _createSuper(Om);\n\n function Om() {\n _classCallCheck(this, Om);\n\n return _super146.apply(this, arguments);\n }\n\n _createClass(Om, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.commands.add(\"indent\", new Nm(t)), t.commands.add(\"outdent\", new Nm(t));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"IndentEditing\";\n }\n }]);\n\n return Om;\n }(cd);\n\n var Rm = '',\n Dm = '';\n\n var Lm = /*#__PURE__*/function (_cd47) {\n _inherits(Lm, _cd47);\n\n var _super147 = _createSuper(Lm);\n\n function Lm() {\n _classCallCheck(this, Lm);\n\n return _super147.apply(this, arguments);\n }\n\n _createClass(Lm, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.locale,\n n = t.t,\n i = \"ltr\" == e.uiLanguageDirection ? Rm : Dm,\n o = \"ltr\" == e.uiLanguageDirection ? Dm : Rm;\n this._defineButton(\"indent\", n(\"Increase indent\"), i), this._defineButton(\"outdent\", n(\"Decrease indent\"), o);\n }\n }, {\n key: \"_defineButton\",\n value: function _defineButton(t, e, n) {\n var _this221 = this;\n\n var i = this.editor;\n i.ui.componentFactory.add(t, function (o) {\n var r = i.commands.get(t),\n s = new $l(o);\n return s.set({\n label: e,\n icon: n,\n tooltip: !0\n }), s.bind(\"isOn\", \"isEnabled\").to(r, \"value\", \"isEnabled\"), _this221.listenTo(s, \"execute\", function () {\n i.execute(t), i.editing.view.focus();\n }), s;\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"IndentUI\";\n }\n }]);\n\n return Lm;\n }(cd);\n\n var Vm = /*#__PURE__*/function (_Vr7) {\n _inherits(Vm, _Vr7);\n\n var _super148 = _createSuper(Vm);\n\n function Vm(t) {\n var _this222;\n\n _classCallCheck(this, Vm);\n\n _this222 = _super148.call(this, t), _this222.domEventType = \"click\";\n return _this222;\n }\n\n _createClass(Vm, [{\n key: \"onDomEvent\",\n value: function onDomEvent(t) {\n this.fire(t.type, t);\n }\n }]);\n\n return Vm;\n }(Vr);\n\n n(78);\n\n var jm = /*#__PURE__*/function (_yl24) {\n _inherits(jm, _yl24);\n\n var _super149 = _createSuper(jm);\n\n function jm(t, e, n) {\n var _this223;\n\n _classCallCheck(this, jm);\n\n _this223 = _super149.call(this, t);\n var i = t.t;\n _this223.focusTracker = new Yc(), _this223.keystrokes = new jc(), _this223.urlInputView = _this223._createUrlInput(n), _this223.saveButtonView = _this223._createButton(i(\"Save\"), Sf, \"ck-button-save\"), _this223.saveButtonView.type = \"submit\", _this223.cancelButtonView = _this223._createButton(i(\"Cancel\"), Ef, \"ck-button-cancel\", \"cancel\"), _this223._manualDecoratorSwitches = _this223._createManualDecoratorSwitches(e), _this223.children = _this223._createFormChildren(e.manualDecorators), _this223._focusables = new nl(), _this223._focusCycler = new Ol({\n focusables: _this223._focusables,\n focusTracker: _this223.focusTracker,\n keystrokeHandler: _this223.keystrokes,\n actions: {\n focusPrevious: \"shift + tab\",\n focusNext: \"tab\"\n }\n });\n var o = [\"ck\", \"ck-link-form\", \"ck-responsive-form\"];\n e.manualDecorators.length && o.push(\"ck-link-form_layout-vertical\", \"ck-vertical-form\"), _this223.setTemplate({\n tag: \"form\",\n attributes: {\n \"class\": o,\n tabindex: \"-1\"\n },\n children: _this223.children\n });\n return _this223;\n }\n\n _createClass(jm, [{\n key: \"getDecoratorSwitchesState\",\n value: function getDecoratorSwitchesState() {\n return Array.from(this._manualDecoratorSwitches).reduce(function (t, e) {\n return t[e.name] = e.isOn, t;\n }, {});\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this224 = this;\n\n _get(_getPrototypeOf(jm.prototype), \"render\", this).call(this), Pf({\n view: this\n });\n [this.urlInputView].concat(_toConsumableArray(this._manualDecoratorSwitches), [this.saveButtonView, this.cancelButtonView]).forEach(function (t) {\n _this224._focusables.add(t), _this224.focusTracker.add(t.element);\n }), this.keystrokes.listenTo(this.element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this._focusCycler.focusFirst();\n }\n }, {\n key: \"_createUrlInput\",\n value: function _createUrlInput() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"https://\";\n var e = this.locale.t,\n n = new Af(this.locale, Tf);\n return n.label = e(\"Link URL\"), n.fieldView.placeholder = t + \"example.com\", n;\n }\n }, {\n key: \"_createButton\",\n value: function _createButton(t, e, n, i) {\n var o = new $l(this.locale);\n return o.set({\n label: t,\n icon: e,\n tooltip: !0\n }), o.extendTemplate({\n attributes: {\n \"class\": n\n }\n }), i && o.delegate(\"execute\").to(this, i), o;\n }\n }, {\n key: \"_createManualDecoratorSwitches\",\n value: function _createManualDecoratorSwitches(t) {\n var _this225 = this;\n\n var e = this.createCollection();\n\n var _iterator363 = _createForOfIteratorHelper(t.manualDecorators),\n _step363;\n\n try {\n var _loop8 = function _loop8() {\n var n = _step363.value;\n var i = new Zl(_this225.locale);\n i.set({\n name: n.id,\n label: n.label,\n withText: !0\n }), i.bind(\"isOn\").toMany([n, t], \"value\", function (t, e) {\n return void 0 === e && void 0 === t ? n.defaultValue : t;\n }), i.on(\"execute\", function () {\n n.set(\"value\", !i.isOn);\n }), e.add(i);\n };\n\n for (_iterator363.s(); !(_step363 = _iterator363.n()).done;) {\n _loop8();\n }\n } catch (err) {\n _iterator363.e(err);\n } finally {\n _iterator363.f();\n }\n\n return e;\n }\n }, {\n key: \"_createFormChildren\",\n value: function _createFormChildren(t) {\n var e = this.createCollection();\n\n if (e.add(this.urlInputView), t.length) {\n var _t285 = new yl();\n\n _t285.setTemplate({\n tag: \"ul\",\n children: this._manualDecoratorSwitches.map(function (t) {\n return {\n tag: \"li\",\n children: [t],\n attributes: {\n \"class\": [\"ck\", \"ck-list__item\"]\n }\n };\n }),\n attributes: {\n \"class\": [\"ck\", \"ck-reset\", \"ck-list\"]\n }\n }), e.add(_t285);\n }\n\n return e.add(this.saveButtonView), e.add(this.cancelButtonView), e;\n }\n }]);\n\n return jm;\n }(yl);\n\n n(80);\n\n var zm = /*#__PURE__*/function (_yl25) {\n _inherits(zm, _yl25);\n\n var _super150 = _createSuper(zm);\n\n function zm(t) {\n var _this226;\n\n _classCallCheck(this, zm);\n\n _this226 = _super150.call(this, t);\n var e = t.t;\n _this226.focusTracker = new Yc(), _this226.keystrokes = new jc(), _this226.previewButtonView = _this226._createPreviewButton(), _this226.unlinkButtonView = _this226._createButton(e(\"Unlink\"), '', \"unlink\"), _this226.editButtonView = _this226._createButton(e(\"Edit link\"), '', \"edit\"), _this226.set(\"href\"), _this226._focusables = new nl(), _this226._focusCycler = new Ol({\n focusables: _this226._focusables,\n focusTracker: _this226.focusTracker,\n keystrokeHandler: _this226.keystrokes,\n actions: {\n focusPrevious: \"shift + tab\",\n focusNext: \"tab\"\n }\n }), _this226.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-link-actions\", \"ck-responsive-form\"],\n tabindex: \"-1\"\n },\n children: [_this226.previewButtonView, _this226.editButtonView, _this226.unlinkButtonView]\n });\n return _this226;\n }\n\n _createClass(zm, [{\n key: \"render\",\n value: function render() {\n var _this227 = this;\n\n _get(_getPrototypeOf(zm.prototype), \"render\", this).call(this);\n\n [this.previewButtonView, this.editButtonView, this.unlinkButtonView].forEach(function (t) {\n _this227._focusables.add(t), _this227.focusTracker.add(t.element);\n }), this.keystrokes.listenTo(this.element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this._focusCycler.focusFirst();\n }\n }, {\n key: \"_createButton\",\n value: function _createButton(t, e, n) {\n var i = new $l(this.locale);\n return i.set({\n label: t,\n icon: e,\n tooltip: !0\n }), i.delegate(\"execute\").to(this, n), i;\n }\n }, {\n key: \"_createPreviewButton\",\n value: function _createPreviewButton() {\n var t = new $l(this.locale),\n e = this.bindTemplate,\n n = this.t;\n return t.set({\n withText: !0,\n tooltip: n(\"Open link in new tab\")\n }), t.extendTemplate({\n attributes: {\n \"class\": [\"ck\", \"ck-link-actions__preview\"],\n href: e.to(\"href\", function (t) {\n return t && qh(t);\n }),\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n }), t.bind(\"label\").to(this, \"href\", function (t) {\n return t || n(\"This link has no URL\");\n }), t.bind(\"isEnabled\").to(this, \"href\", function (t) {\n return !!t;\n }), t.template.tag = \"a\", t.template.eventListeners = {}, t;\n }\n }]);\n\n return zm;\n }(yl);\n\n var Bm = /*#__PURE__*/function (_cd48) {\n _inherits(Bm, _cd48);\n\n var _super151 = _createSuper(Bm);\n\n function Bm() {\n _classCallCheck(this, Bm);\n\n return _super151.apply(this, arguments);\n }\n\n _createClass(Bm, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.editing.view.addObserver(Vm), this.actionsView = this._createActionsView(), this.formView = this._createFormView(), this._balloon = t.plugins.get(Nf), this._createToolbarLinkButton(), this._enableUserBalloonInteractions(), t.conversion[\"for\"](\"editingDowncast\").markerToHighlight({\n model: \"link-ui\",\n view: {\n classes: [\"ck-fake-link-selection\"]\n }\n }), t.conversion[\"for\"](\"editingDowncast\").markerToElement({\n model: \"link-ui\",\n view: {\n name: \"span\",\n classes: [\"ck-fake-link-selection\", \"ck-fake-link-selection_collapsed\"]\n }\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(Bm.prototype), \"destroy\", this).call(this), this.formView.destroy();\n }\n }, {\n key: \"_createActionsView\",\n value: function _createActionsView() {\n var _this228 = this;\n\n var t = this.editor,\n e = new zm(t.locale),\n n = t.commands.get(\"link\"),\n i = t.commands.get(\"unlink\");\n return e.bind(\"href\").to(n, \"value\"), e.editButtonView.bind(\"isEnabled\").to(n), e.unlinkButtonView.bind(\"isEnabled\").to(i), this.listenTo(e, \"edit\", function () {\n _this228._addFormView();\n }), this.listenTo(e, \"unlink\", function () {\n t.execute(\"unlink\"), _this228._hideUI();\n }), e.keystrokes.set(\"Esc\", function (t, e) {\n _this228._hideUI(), e();\n }), e.keystrokes.set(\"Ctrl+K\", function (t, e) {\n _this228._addFormView(), e();\n }), e;\n }\n }, {\n key: \"_createFormView\",\n value: function _createFormView() {\n var _this229 = this;\n\n var t = this.editor,\n e = t.commands.get(\"link\"),\n n = t.config.get(\"link.defaultProtocol\"),\n i = new jm(t.locale, e, n);\n return i.urlInputView.fieldView.bind(\"value\").to(e, \"value\"), i.urlInputView.bind(\"isReadOnly\").to(e, \"isEnabled\", function (t) {\n return !t;\n }), i.saveButtonView.bind(\"isEnabled\").to(e), this.listenTo(i, \"submit\", function () {\n var e = i.urlInputView.fieldView.element.value,\n o = Yh(e, n);\n t.execute(\"link\", o, i.getDecoratorSwitchesState()), _this229._closeFormView();\n }), this.listenTo(i, \"cancel\", function () {\n _this229._closeFormView();\n }), i.keystrokes.set(\"Esc\", function (t, e) {\n _this229._closeFormView(), e();\n }), i;\n }\n }, {\n key: \"_createToolbarLinkButton\",\n value: function _createToolbarLinkButton() {\n var _this230 = this;\n\n var t = this.editor,\n e = t.commands.get(\"link\"),\n n = t.t;\n t.keystrokes.set(\"Ctrl+K\", function (t, n) {\n n(), e.isEnabled && _this230._showUI(!0);\n }), t.ui.componentFactory.add(\"link\", function (t) {\n var i = new $l(t);\n return i.isEnabled = !0, i.label = n(\"Link\"), i.icon = '', i.keystroke = \"Ctrl+K\", i.tooltip = !0, i.isToggleable = !0, i.bind(\"isEnabled\").to(e, \"isEnabled\"), i.bind(\"isOn\").to(e, \"value\", function (t) {\n return !!t;\n }), _this230.listenTo(i, \"execute\", function () {\n return _this230._showUI(!0);\n }), i;\n });\n }\n }, {\n key: \"_enableUserBalloonInteractions\",\n value: function _enableUserBalloonInteractions() {\n var _this231 = this;\n\n var t = this.editor.editing.view.document;\n this.listenTo(t, \"click\", function () {\n _this231._getSelectedLinkElement() && _this231._showUI();\n }), this.editor.keystrokes.set(\"Tab\", function (t, e) {\n _this231._areActionsVisible && !_this231.actionsView.focusTracker.isFocused && (_this231.actionsView.focus(), e());\n }, {\n priority: \"high\"\n }), this.editor.keystrokes.set(\"Esc\", function (t, e) {\n _this231._isUIVisible && (_this231._hideUI(), e());\n }), Xl({\n emitter: this.formView,\n activator: function activator() {\n return _this231._isUIInPanel;\n },\n contextElements: [this._balloon.view.element],\n callback: function callback() {\n return _this231._hideUI();\n }\n });\n }\n }, {\n key: \"_addActionsView\",\n value: function _addActionsView() {\n this._areActionsInPanel || this._balloon.add({\n view: this.actionsView,\n position: this._getBalloonPositionData()\n });\n }\n }, {\n key: \"_addFormView\",\n value: function _addFormView() {\n if (this._isFormInPanel) return;\n var t = this.editor.commands.get(\"link\");\n this._balloon.add({\n view: this.formView,\n position: this._getBalloonPositionData()\n }), this._balloon.visibleView === this.formView && this.formView.urlInputView.fieldView.select(), this.formView.urlInputView.fieldView.element.value = t.value || \"\";\n }\n }, {\n key: \"_closeFormView\",\n value: function _closeFormView() {\n var t = this.editor.commands.get(\"link\");\n t.restoreManualDecoratorStates(), void 0 !== t.value ? this._removeFormView() : this._hideUI();\n }\n }, {\n key: \"_removeFormView\",\n value: function _removeFormView() {\n this._isFormInPanel && (this.formView.saveButtonView.focus(), this._balloon.remove(this.formView), this.editor.editing.view.focus(), this._hideFakeVisualSelection());\n }\n }, {\n key: \"_showUI\",\n value: function _showUI() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n this._getSelectedLinkElement() ? (this._areActionsVisible ? this._addFormView() : this._addActionsView(), t && this._balloon.showStack(\"main\")) : (this._showFakeVisualSelection(), this._addActionsView(), t && this._balloon.showStack(\"main\"), this._addFormView()), this._startUpdatingUI();\n }\n }, {\n key: \"_hideUI\",\n value: function _hideUI() {\n if (!this._isUIInPanel) return;\n var t = this.editor;\n this.stopListening(t.ui, \"update\"), this.stopListening(this._balloon, \"change:visibleView\"), t.editing.view.focus(), this._removeFormView(), this._balloon.remove(this.actionsView), this._hideFakeVisualSelection();\n }\n }, {\n key: \"_startUpdatingUI\",\n value: function _startUpdatingUI() {\n var _this232 = this;\n\n var t = this.editor,\n e = t.editing.view.document;\n\n var n = this._getSelectedLinkElement(),\n i = r();\n\n var o = function o() {\n var t = _this232._getSelectedLinkElement(),\n e = r();\n\n n && !t || !n && e !== i ? _this232._hideUI() : _this232._isUIVisible && _this232._balloon.updatePosition(_this232._getBalloonPositionData()), n = t, i = e;\n };\n\n function r() {\n return e.selection.focus.getAncestors().reverse().find(function (t) {\n return t.is(\"element\");\n });\n }\n\n this.listenTo(t.ui, \"update\", o), this.listenTo(this._balloon, \"change:visibleView\", o);\n }\n }, {\n key: \"_getBalloonPositionData\",\n value: function _getBalloonPositionData() {\n var t = this.editor.editing.view,\n e = this.editor.model,\n n = t.document;\n var i = null;\n\n if (e.markers.has(\"link-ui\")) {\n var _e254 = Array.from(this.editor.editing.mapper.markerNameToElements(\"link-ui\")),\n _n234 = t.createRange(t.createPositionBefore(_e254[0]), t.createPositionAfter(_e254[_e254.length - 1]));\n\n i = t.domConverter.viewRangeToDom(_n234);\n } else {\n var _e255 = this._getSelectedLinkElement(),\n _o100 = n.selection.getFirstRange();\n\n i = _e255 ? t.domConverter.mapViewToDom(_e255) : t.domConverter.viewRangeToDom(_o100);\n }\n\n return {\n target: i\n };\n }\n }, {\n key: \"_getSelectedLinkElement\",\n value: function _getSelectedLinkElement() {\n var t = this.editor.editing.view,\n e = t.document.selection;\n if (e.isCollapsed) return Fm(e.getFirstPosition());\n {\n var _n235 = e.getFirstRange().getTrimmed(),\n _i188 = Fm(_n235.start),\n _o101 = Fm(_n235.end);\n\n return _i188 && _i188 == _o101 && t.createRangeIn(_i188).getTrimmed().isEqual(_n235) ? _i188 : null;\n }\n }\n }, {\n key: \"_showFakeVisualSelection\",\n value: function _showFakeVisualSelection() {\n var t = this.editor.model;\n t.change(function (e) {\n var n = t.document.selection.getFirstRange();\n if (t.markers.has(\"link-ui\")) e.updateMarker(\"link-ui\", {\n range: n\n });else if (n.start.isAtEnd) {\n var _i189 = function t(e, n, i) {\n var o = [e.start.path[0] + 1, 0],\n r = i.createPositionFromPath(e.start.root, o, \"toNext\"),\n s = i.createRange(r, e.end);\n if (s.start.path[0] > e.end.path[0]) return i.createRange(n);\n if (r.isAtStart && r.isAtEnd) return t(s, n, i);\n return s;\n }(n, t.document.selection.focus, e);\n\n e.addMarker(\"link-ui\", {\n usingOperation: !1,\n affectsData: !1,\n range: _i189\n });\n } else e.addMarker(\"link-ui\", {\n usingOperation: !1,\n affectsData: !1,\n range: n\n });\n });\n }\n }, {\n key: \"_hideFakeVisualSelection\",\n value: function _hideFakeVisualSelection() {\n var t = this.editor.model;\n t.markers.has(\"link-ui\") && t.change(function (t) {\n t.removeMarker(\"link-ui\");\n });\n }\n }, {\n key: \"_isFormInPanel\",\n get: function get() {\n return this._balloon.hasView(this.formView);\n }\n }, {\n key: \"_areActionsInPanel\",\n get: function get() {\n return this._balloon.hasView(this.actionsView);\n }\n }, {\n key: \"_areActionsVisible\",\n get: function get() {\n return this._balloon.visibleView === this.actionsView;\n }\n }, {\n key: \"_isUIInPanel\",\n get: function get() {\n return this._isFormInPanel || this._areActionsInPanel;\n }\n }, {\n key: \"_isUIVisible\",\n get: function get() {\n return this._balloon.visibleView == this.formView || this._areActionsVisible;\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [Nf];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"LinkUI\";\n }\n }]);\n\n return Bm;\n }(cd);\n\n function Fm(t) {\n return t.getAncestors().find(function (t) {\n return (e = t).is(\"attributeElement\") && !!e.getCustomProperty(\"link\");\n var e;\n });\n }\n\n function Um(t, e) {\n var n = t.start;\n return {\n text: Array.from(t.getItems()).reduce(function (t, i) {\n return i.is(\"$text\") || i.is(\"$textProxy\") ? t + i.data : (n = e.createPositionAfter(i), \"\");\n }, \"\"),\n range: e.createRange(n, t.end)\n };\n }\n\n var Hm = /*#__PURE__*/function () {\n function Hm(t, e) {\n var _this233 = this;\n\n _classCallCheck(this, Hm);\n\n this.model = t, this.testCallback = e, this.hasMatch = !1, this.set(\"isEnabled\", !0), this.on(\"change:isEnabled\", function () {\n _this233.isEnabled ? _this233._startListening() : (_this233.stopListening(t.document.selection), _this233.stopListening(t.document));\n }), this._startListening();\n }\n\n _createClass(Hm, [{\n key: \"_startListening\",\n value: function _startListening() {\n var _this234 = this;\n\n var t = this.model.document;\n this.listenTo(t.selection, \"change:range\", function (e, _ref143) {\n var n = _ref143.directChange;\n n && (t.selection.isCollapsed ? _this234._evaluateTextBeforeSelection(\"selection\") : _this234.hasMatch && (_this234.fire(\"unmatched\"), _this234.hasMatch = !1));\n }), this.listenTo(t, \"change:data\", function (t, e) {\n \"transparent\" != e.type && _this234._evaluateTextBeforeSelection(\"data\", {\n batch: e\n });\n });\n }\n }, {\n key: \"_evaluateTextBeforeSelection\",\n value: function _evaluateTextBeforeSelection(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var n = this.model,\n i = n.document.selection,\n o = n.createRange(n.createPositionAt(i.focus.parent, 0), i.focus),\n _Um = Um(o, n),\n r = _Um.text,\n s = _Um.range,\n a = this.testCallback(r);\n\n if (!a && this.hasMatch && this.fire(\"unmatched\"), this.hasMatch = !!a, a) {\n var _n236 = Object.assign(e, {\n text: r,\n range: s\n });\n\n \"object\" == _typeof(a) && Object.assign(_n236, a), this.fire(\"matched:\" + t, _n236);\n }\n }\n }]);\n\n return Hm;\n }();\n\n xn(Hm, Ui);\n var Wm = new RegExp(\"(^|\\\\s)(((?:(?:(?:https?|ftp):)?\\\\/\\\\/)(?:\\\\S+(?::\\\\S*)?@)?(?:(?![-_])(?:[-\\\\w\\\\u00a1-\\\\uffff]{0,63}[^-_]\\\\.)+(?:[a-z\\\\u00a1-\\\\uffff]{2,}))(?::\\\\d{2,5})?(?:[/?#]\\\\S*)?)|((www.|(\\\\S+@))((?![-_])(?:[-\\\\w\\\\u00a1-\\\\uffff]{0,63}[^-_]\\\\.))+(?:[a-z\\\\u00a1-\\\\uffff]{2,})))$\", \"i\");\n\n var qm = /*#__PURE__*/function (_cd49) {\n _inherits(qm, _cd49);\n\n var _super152 = _createSuper(qm);\n\n function qm() {\n _classCallCheck(this, qm);\n\n return _super152.apply(this, arguments);\n }\n\n _createClass(qm, [{\n key: \"init\",\n value: function init() {\n var _this235 = this;\n\n var t = this.editor.model.document.selection;\n t.on(\"change:range\", function () {\n _this235.isEnabled = !t.anchor.parent.is(\"element\", \"codeBlock\");\n }), this._enableTypingHandling();\n }\n }, {\n key: \"afterInit\",\n value: function afterInit() {\n this._enableEnterHandling(), this._enableShiftEnterHandling();\n }\n }, {\n key: \"_enableTypingHandling\",\n value: function _enableTypingHandling() {\n var _this236 = this;\n\n var t = this.editor,\n e = new Hm(t.model, function (t) {\n if (!function (t) {\n return t.length > 4 && \" \" === t[t.length - 1] && \" \" !== t[t.length - 2];\n }(t)) return;\n var e = $m(t.substr(0, t.length - 1));\n return e ? {\n url: e\n } : void 0;\n }),\n n = t.plugins.get(\"Input\");\n e.on(\"matched:data\", function (e, i) {\n var o = i.batch,\n r = i.range,\n s = i.url;\n if (!n.isInput(o)) return;\n var a = r.end.getShiftedBy(-1),\n c = a.getShiftedBy(-s.length),\n l = t.model.createRange(c, a);\n\n _this236._applyAutoLink(s, l);\n }), e.bind(\"isEnabled\").to(this);\n }\n }, {\n key: \"_enableEnterHandling\",\n value: function _enableEnterHandling() {\n var _this237 = this;\n\n var t = this.editor,\n e = t.model,\n n = t.commands.get(\"enter\");\n n && n.on(\"execute\", function () {\n var t = e.document.selection.getFirstPosition();\n if (!t.parent.previousSibling) return;\n var n = e.createRangeIn(t.parent.previousSibling);\n\n _this237._checkAndApplyAutoLinkOnRange(n);\n });\n }\n }, {\n key: \"_enableShiftEnterHandling\",\n value: function _enableShiftEnterHandling() {\n var _this238 = this;\n\n var t = this.editor,\n e = t.model,\n n = t.commands.get(\"shiftEnter\");\n n && n.on(\"execute\", function () {\n var t = e.document.selection.getFirstPosition(),\n n = e.createRange(e.createPositionAt(t.parent, 0), t.getShiftedBy(-1));\n\n _this238._checkAndApplyAutoLinkOnRange(n);\n });\n }\n }, {\n key: \"_checkAndApplyAutoLinkOnRange\",\n value: function _checkAndApplyAutoLinkOnRange(t) {\n var e = this.editor.model,\n _Um2 = Um(t, e),\n n = _Um2.text,\n i = _Um2.range,\n o = $m(n);\n\n if (o) {\n var _t286 = e.createRange(i.end.getShiftedBy(-o.length), i.end);\n\n this._applyAutoLink(o, _t286);\n }\n }\n }, {\n key: \"_applyAutoLink\",\n value: function _applyAutoLink(t, e) {\n var _this239 = this;\n\n var n = this.editor.model;\n this.isEnabled && function (t, e) {\n return e.schema.checkAttributeInSelection(e.createSelection(t), \"linkHref\");\n }(e, n) && n.enqueueChange(function (n) {\n var i = _this239.editor.config.get(\"link.defaultProtocol\"),\n o = Yh(t, i);\n\n n.setAttribute(\"linkHref\", o, e);\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"AutoLink\";\n }\n }]);\n\n return qm;\n }(cd);\n\n function $m(t) {\n var e = Wm.exec(t);\n return e ? e[2] : null;\n }\n\n var Ym = /*#__PURE__*/function (_gd20) {\n _inherits(Ym, _gd20);\n\n var _super153 = _createSuper(Ym);\n\n function Ym(t, e) {\n var _this240;\n\n _classCallCheck(this, Ym);\n\n _this240 = _super153.call(this, t), _this240.type = e;\n return _this240;\n }\n\n _createClass(Ym, [{\n key: \"refresh\",\n value: function refresh() {\n this.value = this._getValue(), this.isEnabled = this._checkEnabled();\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var _this241 = this;\n\n var t = this.editor.model,\n e = t.document,\n n = Array.from(e.selection.getSelectedBlocks()).filter(function (e) {\n return Km(e, t.schema);\n }),\n i = !0 === this.value;\n t.change(function (t) {\n if (i) {\n var _e256 = n[n.length - 1].nextSibling,\n _i190 = Number.POSITIVE_INFINITY,\n _o102 = [];\n\n for (; _e256 && \"listItem\" == _e256.name && 0 !== _e256.getAttribute(\"listIndent\");) {\n var _t287 = _e256.getAttribute(\"listIndent\");\n\n _t287 < _i190 && (_i190 = _t287);\n\n var _n237 = _t287 - _i190;\n\n _o102.push({\n element: _e256,\n listIndent: _n237\n }), _e256 = _e256.nextSibling;\n }\n\n _o102 = _o102.reverse();\n\n var _iterator364 = _createForOfIteratorHelper(_o102),\n _step364;\n\n try {\n for (_iterator364.s(); !(_step364 = _iterator364.n()).done;) {\n var _e257 = _step364.value;\n t.setAttribute(\"listIndent\", _e257.listIndent, _e257.element);\n }\n } catch (err) {\n _iterator364.e(err);\n } finally {\n _iterator364.f();\n }\n }\n\n if (!i) {\n var _t288 = Number.POSITIVE_INFINITY;\n\n var _iterator365 = _createForOfIteratorHelper(n),\n _step365;\n\n try {\n for (_iterator365.s(); !(_step365 = _iterator365.n()).done;) {\n var _e258 = _step365.value;\n _e258.is(\"element\", \"listItem\") && _e258.getAttribute(\"listIndent\") < _t288 && (_t288 = _e258.getAttribute(\"listIndent\"));\n }\n } catch (err) {\n _iterator365.e(err);\n } finally {\n _iterator365.f();\n }\n\n _t288 = 0 === _t288 ? 1 : _t288, Gm(n, !0, _t288), Gm(n, !1, _t288);\n }\n\n var _iterator366 = _createForOfIteratorHelper(n.reverse()),\n _step366;\n\n try {\n for (_iterator366.s(); !(_step366 = _iterator366.n()).done;) {\n var _e259 = _step366.value;\n i && \"listItem\" == _e259.name ? t.rename(_e259, \"paragraph\") : i || \"listItem\" == _e259.name ? i || \"listItem\" != _e259.name || _e259.getAttribute(\"listType\") == _this241.type || t.setAttribute(\"listType\", _this241.type, _e259) : (t.setAttributes({\n listType: _this241.type,\n listIndent: 0\n }, _e259), t.rename(_e259, \"listItem\"));\n }\n } catch (err) {\n _iterator366.e(err);\n } finally {\n _iterator366.f();\n }\n\n _this241.fire(\"_executeCleanup\", n);\n });\n }\n }, {\n key: \"_getValue\",\n value: function _getValue() {\n var t = vu(this.editor.model.document.selection.getSelectedBlocks());\n return !!t && t.is(\"element\", \"listItem\") && t.getAttribute(\"listType\") == this.type;\n }\n }, {\n key: \"_checkEnabled\",\n value: function _checkEnabled() {\n if (this.value) return !0;\n var t = this.editor.model.document.selection,\n e = this.editor.model.schema,\n n = vu(t.getSelectedBlocks());\n return !!n && Km(n, e);\n }\n }]);\n\n return Ym;\n }(gd);\n\n function Gm(t, e, n) {\n var i = e ? t[0] : t[t.length - 1];\n\n if (i.is(\"element\", \"listItem\")) {\n var _o103 = i[e ? \"previousSibling\" : \"nextSibling\"],\n _r48 = i.getAttribute(\"listIndent\");\n\n for (; _o103 && _o103.is(\"element\", \"listItem\") && _o103.getAttribute(\"listIndent\") >= n;) {\n _r48 > _o103.getAttribute(\"listIndent\") && (_r48 = _o103.getAttribute(\"listIndent\")), _o103.getAttribute(\"listIndent\") == _r48 && t[e ? \"unshift\" : \"push\"](_o103), _o103 = _o103[e ? \"previousSibling\" : \"nextSibling\"];\n }\n }\n }\n\n function Km(t, e) {\n return e.checkChild(t.parent, \"listItem\") && !e.isObject(t);\n }\n\n var Qm = /*#__PURE__*/function (_gd21) {\n _inherits(Qm, _gd21);\n\n var _super154 = _createSuper(Qm);\n\n function Qm(t, e) {\n var _this242;\n\n _classCallCheck(this, Qm);\n\n _this242 = _super154.call(this, t), _this242._indentBy = \"forward\" == e ? 1 : -1;\n return _this242;\n }\n\n _createClass(Qm, [{\n key: \"refresh\",\n value: function refresh() {\n this.isEnabled = this._checkEnabled();\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var _this243 = this;\n\n var t = this.editor.model,\n e = t.document;\n var n = Array.from(e.selection.getSelectedBlocks());\n t.change(function (t) {\n var e = n[n.length - 1];\n var i = e.nextSibling;\n\n for (; i && \"listItem\" == i.name && i.getAttribute(\"listIndent\") > e.getAttribute(\"listIndent\");) {\n n.push(i), i = i.nextSibling;\n }\n\n _this243._indentBy < 0 && (n = n.reverse());\n\n var _iterator367 = _createForOfIteratorHelper(n),\n _step367;\n\n try {\n for (_iterator367.s(); !(_step367 = _iterator367.n()).done;) {\n var _e260 = _step367.value;\n\n var _n238 = _e260.getAttribute(\"listIndent\") + _this243._indentBy;\n\n _n238 < 0 ? t.rename(_e260, \"paragraph\") : t.setAttribute(\"listIndent\", _n238, _e260);\n }\n } catch (err) {\n _iterator367.e(err);\n } finally {\n _iterator367.f();\n }\n\n _this243.fire(\"_executeCleanup\", n);\n });\n }\n }, {\n key: \"_checkEnabled\",\n value: function _checkEnabled() {\n var t = vu(this.editor.model.document.selection.getSelectedBlocks());\n if (!t || !t.is(\"element\", \"listItem\")) return !1;\n\n if (this._indentBy > 0) {\n var _e261 = t.getAttribute(\"listIndent\"),\n _n239 = t.getAttribute(\"listType\");\n\n var _i191 = t.previousSibling;\n\n for (; _i191 && _i191.is(\"element\", \"listItem\") && _i191.getAttribute(\"listIndent\") >= _e261;) {\n if (_i191.getAttribute(\"listIndent\") == _e261) return _i191.getAttribute(\"listType\") == _n239;\n _i191 = _i191.previousSibling;\n }\n\n return !1;\n }\n\n return !0;\n }\n }]);\n\n return Qm;\n }(gd);\n\n function Jm(t, e) {\n var n = e.mapper,\n i = e.writer,\n o = \"numbered\" == t.getAttribute(\"listType\") ? \"ol\" : \"ul\",\n r = function (t) {\n var e = t.createContainerElement(\"li\");\n return e.getFillerOffset = ig, e;\n }(i),\n s = i.createContainerElement(o, null);\n\n return i.insert(i.createPositionAt(s, 0), r), n.bindElements(t, r), r;\n }\n\n function Zm(t, e, n, i) {\n var o = e.parent,\n r = n.mapper,\n s = n.writer;\n var a = r.toViewPosition(i.createPositionBefore(t));\n var c = eg(t.previousSibling, {\n sameIndent: !0,\n smallerIndent: !0,\n listIndent: t.getAttribute(\"listIndent\")\n }),\n l = t.previousSibling;\n\n if (c && c.getAttribute(\"listIndent\") == t.getAttribute(\"listIndent\")) {\n var _t289 = r.toViewElement(c);\n\n a = s.breakContainer(s.createPositionAfter(_t289));\n } else if (l && \"listItem\" == l.name) {\n a = r.toViewPosition(i.createPositionAt(l, \"end\"));\n\n var _t290 = r.findMappedViewAncestor(a),\n _e262 = function (t) {\n var _iterator368 = _createForOfIteratorHelper(t.getChildren()),\n _step368;\n\n try {\n for (_iterator368.s(); !(_step368 = _iterator368.n()).done;) {\n var _e263 = _step368.value;\n if (\"ul\" == _e263.name || \"ol\" == _e263.name) return _e263;\n }\n } catch (err) {\n _iterator368.e(err);\n } finally {\n _iterator368.f();\n }\n\n return null;\n }(_t290);\n\n a = _e262 ? s.createPositionBefore(_e262) : s.createPositionAt(_t290, \"end\");\n } else a = r.toViewPosition(i.createPositionBefore(t));\n\n if (a = tg(a), s.insert(a, o), l && \"listItem\" == l.name) {\n var _t291 = r.toViewElement(l),\n _n240 = s.createRange(s.createPositionAt(_t291, 0), a).getWalker({\n ignoreElementEnd: !0\n });\n\n var _iterator369 = _createForOfIteratorHelper(_n240),\n _step369;\n\n try {\n for (_iterator369.s(); !(_step369 = _iterator369.n()).done;) {\n var _t292 = _step369.value;\n\n if (_t292.item.is(\"element\", \"li\")) {\n var _i192 = s.breakContainer(s.createPositionBefore(_t292.item)),\n _o104 = _t292.item.parent,\n _r49 = s.createPositionAt(e, \"end\");\n\n Xm(s, _r49.nodeBefore, _r49.nodeAfter), s.move(s.createRangeOn(_o104), _r49), _n240.position = _i192;\n }\n }\n } catch (err) {\n _iterator369.e(err);\n } finally {\n _iterator369.f();\n }\n } else {\n var _n241 = o.nextSibling;\n\n if (_n241 && (_n241.is(\"element\", \"ul\") || _n241.is(\"element\", \"ol\"))) {\n var _i193 = null;\n\n var _iterator370 = _createForOfIteratorHelper(_n241.getChildren()),\n _step370;\n\n try {\n for (_iterator370.s(); !(_step370 = _iterator370.n()).done;) {\n var _e264 = _step370.value;\n\n var _n242 = r.toModelElement(_e264);\n\n if (!(_n242 && _n242.getAttribute(\"listIndent\") > t.getAttribute(\"listIndent\"))) break;\n _i193 = _e264;\n }\n } catch (err) {\n _iterator370.e(err);\n } finally {\n _iterator370.f();\n }\n\n _i193 && (s.breakContainer(s.createPositionAfter(_i193)), s.move(s.createRangeOn(_i193.parent), s.createPositionAt(e, \"end\")));\n }\n }\n\n Xm(s, o, o.nextSibling), Xm(s, o.previousSibling, o);\n }\n\n function Xm(t, e, n) {\n return !e || !n || \"ul\" != e.name && \"ol\" != e.name || e.name != n.name || e.getAttribute(\"class\") !== n.getAttribute(\"class\") ? null : t.mergeContainers(t.createPositionAfter(e));\n }\n\n function tg(t) {\n return t.getLastMatchingPosition(function (t) {\n return t.item.is(\"uiElement\");\n });\n }\n\n function eg(t, e) {\n var n = !!e.sameIndent,\n i = !!e.smallerIndent,\n o = e.listIndent;\n var r = t;\n\n for (; r && \"listItem\" == r.name;) {\n var _t293 = r.getAttribute(\"listIndent\");\n\n if (n && o == _t293 || i && o > _t293) return r;\n r = \"forward\" === e.direction ? r.nextSibling : r.previousSibling;\n }\n\n return null;\n }\n\n function ng(t, e, n, i) {\n t.ui.componentFactory.add(e, function (o) {\n var r = t.commands.get(e),\n s = new $l(o);\n return s.set({\n label: n,\n icon: i,\n tooltip: !0,\n isToggleable: !0\n }), s.bind(\"isOn\", \"isEnabled\").to(r, \"value\", \"isEnabled\"), s.on(\"execute\", function () {\n t.execute(e), t.editing.view.focus();\n }), s;\n });\n }\n\n function ig() {\n var t = !this.isEmpty && (\"ul\" == this.getChild(0).name || \"ol\" == this.getChild(0).name);\n return this.isEmpty || t ? 0 : Li.call(this);\n }\n\n function og(t) {\n return function (e, n, i) {\n var o = i.consumable;\n if (!o.test(n.item, \"insert\") || !o.test(n.item, \"attribute:listType\") || !o.test(n.item, \"attribute:listIndent\")) return;\n o.consume(n.item, \"insert\"), o.consume(n.item, \"attribute:listType\"), o.consume(n.item, \"attribute:listIndent\");\n var r = n.item;\n Zm(r, Jm(r, i), i, t);\n };\n }\n\n function rg(t, e, n) {\n if (!n.consumable.consume(e.item, \"attribute:listType\")) return;\n var i = n.mapper.toViewElement(e.item),\n o = n.writer;\n o.breakContainer(o.createPositionBefore(i)), o.breakContainer(o.createPositionAfter(i));\n var r = i.parent,\n s = \"numbered\" == e.attributeNewValue ? \"ol\" : \"ul\";\n o.rename(s, r);\n }\n\n function sg(t, e, n) {\n var i = n.mapper.toViewElement(e.item).parent,\n o = n.writer;\n Xm(o, i, i.nextSibling), Xm(o, i.previousSibling, i);\n\n var _iterator371 = _createForOfIteratorHelper(e.item.getChildren()),\n _step371;\n\n try {\n for (_iterator371.s(); !(_step371 = _iterator371.n()).done;) {\n var _t294 = _step371.value;\n n.consumable.consume(_t294, \"insert\");\n }\n } catch (err) {\n _iterator371.e(err);\n } finally {\n _iterator371.f();\n }\n }\n\n function ag(t, e, n) {\n if (\"listItem\" != e.item.name) {\n var _t295 = n.mapper.toViewPosition(e.range.start);\n\n var _i194 = n.writer,\n _o105 = [];\n\n for (; (\"ul\" == _t295.parent.name || \"ol\" == _t295.parent.name) && (_t295 = _i194.breakContainer(_t295), \"li\" == _t295.parent.name);) {\n var _e265 = _t295,\n _n243 = _i194.createPositionAt(_t295.parent, \"end\");\n\n if (!_e265.isEqual(_n243)) {\n var _t296 = _i194.remove(_i194.createRange(_e265, _n243));\n\n _o105.push(_t296);\n }\n\n _t295 = _i194.createPositionAfter(_t295.parent);\n }\n\n if (_o105.length > 0) {\n for (var _e266 = 0; _e266 < _o105.length; _e266++) {\n var _n244 = _t295.nodeBefore;\n\n if (_t295 = _i194.insert(_t295, _o105[_e266]).end, _e266 > 0) {\n var _e267 = Xm(_i194, _n244, _n244.nextSibling);\n\n _e267 && _e267.parent == _n244 && _t295.offset--;\n }\n }\n\n Xm(_i194, _t295.nodeBefore, _t295.nodeAfter);\n }\n }\n }\n\n function cg(t, e, n) {\n var i = n.mapper.toViewPosition(e.position),\n o = i.nodeBefore,\n r = i.nodeAfter;\n Xm(n.writer, o, r);\n }\n\n function lg(t, e, n) {\n if (n.consumable.consume(e.viewItem, {\n name: !0\n })) {\n var _t297 = n.writer,\n _i195 = _t297.createElement(\"listItem\"),\n _o106 = function (t) {\n var e = 0,\n n = t.parent;\n\n for (; n;) {\n if (n.is(\"element\", \"li\")) e++;else {\n var _t298 = n.previousSibling;\n _t298 && _t298.is(\"element\", \"li\") && e++;\n }\n n = n.parent;\n }\n\n return e;\n }(e.viewItem);\n\n _t297.setAttribute(\"listIndent\", _o106, _i195);\n\n var _r50 = e.viewItem.parent && \"ol\" == e.viewItem.parent.name ? \"numbered\" : \"bulleted\";\n\n if (_t297.setAttribute(\"listType\", _r50, _i195), !n.safeInsert(_i195, e.modelCursor)) return;\n\n var _s35 = function (t, e, n) {\n var i = n.writer,\n o = n.schema;\n var r = i.createPositionAfter(t);\n\n var _iterator372 = _createForOfIteratorHelper(e),\n _step372;\n\n try {\n for (_iterator372.s(); !(_step372 = _iterator372.n()).done;) {\n var _s36 = _step372.value;\n if (\"ul\" == _s36.name || \"ol\" == _s36.name) r = n.convertItem(_s36, r).modelCursor;else {\n var _e268 = n.convertItem(_s36, i.createPositionAt(t, \"end\")),\n _a19 = _e268.modelRange.start.nodeAfter;\n\n _a19 && _a19.is(\"element\") && !o.checkChild(t, _a19.name) && (t = _e268.modelCursor.parent.is(\"element\", \"listItem\") ? _e268.modelCursor.parent : mg(_e268.modelCursor), r = i.createPositionAfter(t));\n }\n }\n } catch (err) {\n _iterator372.e(err);\n } finally {\n _iterator372.f();\n }\n\n return r;\n }(_i195, e.viewItem.getChildren(), n);\n\n e.modelRange = _t297.createRange(e.modelCursor, _s35), n.updateConversionResult(_i195, e);\n }\n }\n\n function dg(t, e, n) {\n if (n.consumable.test(e.viewItem, {\n name: !0\n })) {\n var _t299 = Array.from(e.viewItem.getChildren());\n\n for (var _i196 = 0, _t300 = _t299; _i196 < _t300.length; _i196++) {\n var _e269 = _t300[_i196];\n !(_e269.is(\"element\", \"li\") || pg(_e269)) && _e269._remove();\n }\n }\n }\n\n function ug(t, e, n) {\n if (n.consumable.test(e.viewItem, {\n name: !0\n })) {\n if (0 === e.viewItem.childCount) return;\n\n var _t301 = _toConsumableArray(e.viewItem.getChildren());\n\n var _n245 = !1,\n _i197 = !0;\n\n var _iterator373 = _createForOfIteratorHelper(_t301),\n _step373;\n\n try {\n for (_iterator373.s(); !(_step373 = _iterator373.n()).done;) {\n var _e270 = _step373.value;\n _n245 && !pg(_e270) && _e270._remove(), _e270.is(\"$text\") ? (_i197 && (_e270._data = _e270.data.replace(/^\\s+/, \"\")), _e270.nextSibling && !pg(_e270.nextSibling) || (_e270._data = _e270.data.replace(/\\s+$/, \"\"))) : pg(_e270) && (_n245 = !0), _i197 = !1;\n }\n } catch (err) {\n _iterator373.e(err);\n } finally {\n _iterator373.f();\n }\n }\n }\n\n function hg(t) {\n return function (e, n) {\n if (n.isPhantom) return;\n var i = n.modelPosition.nodeBefore;\n\n if (i && i.is(\"element\", \"listItem\")) {\n var _e271 = n.mapper.toViewElement(i),\n _o107 = _e271.getAncestors().find(pg),\n _r51 = t.createPositionAt(_e271, 0).getWalker();\n\n var _iterator374 = _createForOfIteratorHelper(_r51),\n _step374;\n\n try {\n for (_iterator374.s(); !(_step374 = _iterator374.n()).done;) {\n var _t302 = _step374.value;\n\n if (\"elementStart\" == _t302.type && _t302.item.is(\"element\", \"li\")) {\n n.viewPosition = _t302.previousPosition;\n break;\n }\n\n if (\"elementEnd\" == _t302.type && _t302.item == _o107) {\n n.viewPosition = _t302.nextPosition;\n break;\n }\n }\n } catch (err) {\n _iterator374.e(err);\n } finally {\n _iterator374.f();\n }\n }\n };\n }\n\n function fg(t, _ref144) {\n var _ref145 = _slicedToArray(_ref144, 2),\n e = _ref145[0],\n n = _ref145[1];\n\n var i,\n o = e.is(\"documentFragment\") ? e.getChild(0) : e;\n\n if (i = n ? this.createSelection(n) : this.document.selection, o && o.is(\"element\", \"listItem\")) {\n var _t303 = i.getFirstPosition();\n\n var _e272 = null;\n\n if (_t303.parent.is(\"element\", \"listItem\") ? _e272 = _t303.parent : _t303.nodeBefore && _t303.nodeBefore.is(\"element\", \"listItem\") && (_e272 = _t303.nodeBefore), _e272) {\n var _t304 = _e272.getAttribute(\"listIndent\");\n\n if (_t304 > 0) for (; o && o.is(\"element\", \"listItem\");) {\n o._setAttribute(\"listIndent\", o.getAttribute(\"listIndent\") + _t304), o = o.nextSibling;\n }\n }\n }\n }\n\n function mg(t) {\n var e = new ys({\n startPosition: t\n });\n var n;\n\n do {\n n = e.next();\n } while (!n.value.item.is(\"element\", \"listItem\"));\n\n return n.value.item;\n }\n\n function gg(t, e, n, i, o, r) {\n var s = eg(e.nodeBefore, {\n sameIndent: !0,\n smallerIndent: !0,\n listIndent: t,\n foo: \"b\"\n }),\n a = o.mapper,\n c = o.writer,\n l = s ? s.getAttribute(\"listIndent\") : null;\n var d;\n if (s) {\n if (l == t) {\n var _t305 = a.toViewElement(s).parent;\n d = c.createPositionAfter(_t305);\n } else {\n var _t306 = r.createPositionAt(s, \"end\");\n\n d = a.toViewPosition(_t306);\n }\n } else d = n;\n d = tg(d);\n\n for (var _i198 = 0, _arr2 = _toConsumableArray(i.getChildren()); _i198 < _arr2.length; _i198++) {\n var _t307 = _arr2[_i198];\n pg(_t307) && (d = c.move(c.createRangeOn(_t307), d).end, Xm(c, _t307, _t307.nextSibling), Xm(c, _t307.previousSibling, _t307));\n }\n }\n\n function pg(t) {\n return t.is(\"element\", \"ol\") || t.is(\"element\", \"ul\");\n }\n\n var bg = /*#__PURE__*/function (_cd50) {\n _inherits(bg, _cd50);\n\n var _super155 = _createSuper(bg);\n\n function bg() {\n _classCallCheck(this, bg);\n\n return _super155.apply(this, arguments);\n }\n\n _createClass(bg, [{\n key: \"init\",\n value: function init() {\n var _this244 = this;\n\n var t = this.editor;\n t.model.schema.register(\"listItem\", {\n inheritAllFrom: \"$block\",\n allowAttributes: [\"listType\", \"listIndent\"]\n });\n var e = t.data,\n n = t.editing;\n var i;\n t.model.document.registerPostFixer(function (e) {\n return function (t, e) {\n var n = t.document.differ.getChanges(),\n i = new Map();\n var o = !1;\n\n var _iterator375 = _createForOfIteratorHelper(n),\n _step375;\n\n try {\n for (_iterator375.s(); !(_step375 = _iterator375.n()).done;) {\n var _i200 = _step375.value;\n if (\"insert\" == _i200.type && \"listItem\" == _i200.name) r(_i200.position);else if (\"insert\" == _i200.type && \"listItem\" != _i200.name) {\n if (\"$text\" != _i200.name) {\n var _n246 = _i200.position.nodeAfter;\n _n246.hasAttribute(\"listIndent\") && (e.removeAttribute(\"listIndent\", _n246), o = !0), _n246.hasAttribute(\"listType\") && (e.removeAttribute(\"listType\", _n246), o = !0), _n246.hasAttribute(\"listStyle\") && (e.removeAttribute(\"listStyle\", _n246), o = !0);\n\n var _iterator377 = _createForOfIteratorHelper(Array.from(t.createRangeIn(_n246)).filter(function (t) {\n return t.item.is(\"element\", \"listItem\");\n })),\n _step377;\n\n try {\n for (_iterator377.s(); !(_step377 = _iterator377.n()).done;) {\n var _e275 = _step377.value;\n r(_e275.previousPosition);\n }\n } catch (err) {\n _iterator377.e(err);\n } finally {\n _iterator377.f();\n }\n }\n\n r(_i200.position.getShiftedBy(_i200.length));\n } else \"remove\" == _i200.type && \"listItem\" == _i200.name ? r(_i200.position) : (\"attribute\" == _i200.type && \"listIndent\" == _i200.attributeKey || \"attribute\" == _i200.type && \"listType\" == _i200.attributeKey) && r(_i200.range.start);\n }\n } catch (err) {\n _iterator375.e(err);\n } finally {\n _iterator375.f();\n }\n\n var _iterator376 = _createForOfIteratorHelper(i.values()),\n _step376;\n\n try {\n for (_iterator376.s(); !(_step376 = _iterator376.n()).done;) {\n var _t309 = _step376.value;\n s(_t309), a(_t309);\n }\n } catch (err) {\n _iterator376.e(err);\n } finally {\n _iterator376.f();\n }\n\n return o;\n\n function r(t) {\n var e = t.nodeBefore;\n\n if (e && e.is(\"element\", \"listItem\")) {\n var _t308 = e;\n if (i.has(_t308)) return;\n\n for (var _e273 = _t308.previousSibling; _e273 && _e273.is(\"element\", \"listItem\"); _e273 = _t308.previousSibling) {\n if (_t308 = _e273, i.has(_t308)) return;\n }\n\n i.set(e, _t308);\n } else {\n var _e274 = t.nodeAfter;\n _e274 && _e274.is(\"element\", \"listItem\") && i.set(_e274, _e274);\n }\n }\n\n function s(t) {\n var n = 0,\n i = null;\n\n for (; t && t.is(\"element\", \"listItem\");) {\n var _r52 = t.getAttribute(\"listIndent\");\n\n if (_r52 > n) {\n var _s37 = void 0;\n\n null === i ? (i = _r52 - n, _s37 = n) : (i > _r52 && (i = _r52), _s37 = _r52 - i), e.setAttribute(\"listIndent\", _s37, t), o = !0;\n } else i = null, n = t.getAttribute(\"listIndent\") + 1;\n\n t = t.nextSibling;\n }\n }\n\n function a(t) {\n var n = [],\n i = null;\n\n for (; t && t.is(\"element\", \"listItem\");) {\n var _r53 = t.getAttribute(\"listIndent\");\n\n if (i && i.getAttribute(\"listIndent\") > _r53 && (n = n.slice(0, _r53 + 1)), 0 != _r53) if (n[_r53]) {\n var _i199 = n[_r53];\n t.getAttribute(\"listType\") != _i199 && (e.setAttribute(\"listType\", _i199, t), o = !0);\n } else n[_r53] = t.getAttribute(\"listType\");\n i = t, t = t.nextSibling;\n }\n }\n }(t.model, e);\n }), n.mapper.registerViewToModelLength(\"li\", wg), e.mapper.registerViewToModelLength(\"li\", wg), n.mapper.on(\"modelToViewPosition\", hg(n.view)), n.mapper.on(\"viewToModelPosition\", (i = t.model, function (t, e) {\n var n = e.viewPosition,\n o = n.parent,\n r = e.mapper;\n\n if (\"ul\" == o.name || \"ol\" == o.name) {\n if (n.isAtEnd) {\n var _t310 = r.toModelElement(n.nodeBefore),\n _o108 = r.getModelLength(n.nodeBefore);\n\n e.modelPosition = i.createPositionBefore(_t310).getShiftedBy(_o108);\n } else {\n var _t311 = r.toModelElement(n.nodeAfter);\n\n e.modelPosition = i.createPositionBefore(_t311);\n }\n\n t.stop();\n } else if (\"li\" == o.name && n.nodeBefore && (\"ul\" == n.nodeBefore.name || \"ol\" == n.nodeBefore.name)) {\n var _s38 = r.toModelElement(o);\n\n var _a20 = 1,\n _c12 = n.nodeBefore;\n\n for (; _c12 && pg(_c12);) {\n _a20 += r.getModelLength(_c12), _c12 = _c12.previousSibling;\n }\n\n e.modelPosition = i.createPositionBefore(_s38).getShiftedBy(_a20), t.stop();\n }\n })), e.mapper.on(\"modelToViewPosition\", hg(n.view)), t.conversion[\"for\"](\"editingDowncast\").add(function (e) {\n e.on(\"insert\", ag, {\n priority: \"high\"\n }), e.on(\"insert:listItem\", og(t.model)), e.on(\"attribute:listType:listItem\", rg, {\n priority: \"high\"\n }), e.on(\"attribute:listType:listItem\", sg, {\n priority: \"low\"\n }), e.on(\"attribute:listIndent:listItem\", function (t) {\n return function (e, n, i) {\n if (!i.consumable.consume(n.item, \"attribute:listIndent\")) return;\n var o = i.mapper.toViewElement(n.item),\n r = i.writer;\n r.breakContainer(r.createPositionBefore(o)), r.breakContainer(r.createPositionAfter(o));\n var s = o.parent,\n a = s.previousSibling,\n c = r.createRangeOn(s);\n r.remove(c), a && a.nextSibling && Xm(r, a, a.nextSibling), gg(n.attributeOldValue + 1, n.range.start, c.start, o, i, t), Zm(n.item, o, i, t);\n\n var _iterator378 = _createForOfIteratorHelper(n.item.getChildren()),\n _step378;\n\n try {\n for (_iterator378.s(); !(_step378 = _iterator378.n()).done;) {\n var _t312 = _step378.value;\n i.consumable.consume(_t312, \"insert\");\n }\n } catch (err) {\n _iterator378.e(err);\n } finally {\n _iterator378.f();\n }\n };\n }(t.model)), e.on(\"remove:listItem\", function (t) {\n return function (e, n, i) {\n var o = i.mapper.toViewPosition(n.position).getLastMatchingPosition(function (t) {\n return !t.item.is(\"element\", \"li\");\n }).nodeAfter,\n r = i.writer;\n r.breakContainer(r.createPositionBefore(o)), r.breakContainer(r.createPositionAfter(o));\n var s = o.parent,\n a = s.previousSibling,\n c = r.createRangeOn(s),\n l = r.remove(c);\n a && a.nextSibling && Xm(r, a, a.nextSibling);\n gg(i.mapper.toModelElement(o).getAttribute(\"listIndent\") + 1, n.position, c.start, o, i, t);\n\n var _iterator379 = _createForOfIteratorHelper(r.createRangeIn(l).getItems()),\n _step379;\n\n try {\n for (_iterator379.s(); !(_step379 = _iterator379.n()).done;) {\n var _t313 = _step379.value;\n i.mapper.unbindViewElement(_t313);\n }\n } catch (err) {\n _iterator379.e(err);\n } finally {\n _iterator379.f();\n }\n\n e.stop();\n };\n }(t.model)), e.on(\"remove\", cg, {\n priority: \"low\"\n });\n }), t.conversion[\"for\"](\"dataDowncast\").add(function (e) {\n e.on(\"insert\", ag, {\n priority: \"high\"\n }), e.on(\"insert:listItem\", og(t.model));\n }), t.conversion[\"for\"](\"upcast\").add(function (t) {\n t.on(\"element:ul\", dg, {\n priority: \"high\"\n }), t.on(\"element:ol\", dg, {\n priority: \"high\"\n }), t.on(\"element:li\", ug, {\n priority: \"high\"\n }), t.on(\"element:li\", lg);\n }), t.model.on(\"insertContent\", fg, {\n priority: \"high\"\n }), t.commands.add(\"numberedList\", new Ym(t, \"numbered\")), t.commands.add(\"bulletedList\", new Ym(t, \"bulleted\")), t.commands.add(\"indentList\", new Qm(t, \"forward\")), t.commands.add(\"outdentList\", new Qm(t, \"backward\"));\n var o = n.view.document;\n this.listenTo(o, \"enter\", function (t, e) {\n var n = _this244.editor.model.document,\n i = n.selection.getLastPosition().parent;\n n.selection.isCollapsed && \"listItem\" == i.name && i.isEmpty && (_this244.editor.execute(\"outdentList\"), e.preventDefault(), t.stop());\n }), this.listenTo(o, \"delete\", function (t, e) {\n if (\"backward\" !== e.direction) return;\n var n = _this244.editor.model.document.selection;\n if (!n.isCollapsed) return;\n var i = n.getFirstPosition();\n if (!i.isAtStart) return;\n var o = i.parent;\n if (\"listItem\" !== o.name) return;\n o.previousSibling && \"listItem\" === o.previousSibling.name || (_this244.editor.execute(\"outdentList\"), e.preventDefault(), t.stop());\n }, {\n priority: \"high\"\n });\n\n var r = function r(t) {\n return function (e, n) {\n _this244.editor.commands.get(t).isEnabled && (_this244.editor.execute(t), n());\n };\n };\n\n t.keystrokes.set(\"Tab\", r(\"indentList\")), t.keystrokes.set(\"Shift+Tab\", r(\"outdentList\"));\n }\n }, {\n key: \"afterInit\",\n value: function afterInit() {\n var t = this.editor.commands,\n e = t.get(\"indent\"),\n n = t.get(\"outdent\");\n e && e.registerChildCommand(t.get(\"indentList\")), n && n.registerChildCommand(t.get(\"outdentList\"));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ListEditing\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [om];\n }\n }]);\n\n return bg;\n }(cd);\n\n function wg(t) {\n var e = 1;\n\n var _iterator380 = _createForOfIteratorHelper(t.getChildren()),\n _step380;\n\n try {\n for (_iterator380.s(); !(_step380 = _iterator380.n()).done;) {\n var _n247 = _step380.value;\n\n if (\"ul\" == _n247.name || \"ol\" == _n247.name) {\n var _iterator381 = _createForOfIteratorHelper(_n247.getChildren()),\n _step381;\n\n try {\n for (_iterator381.s(); !(_step381 = _iterator381.n()).done;) {\n var _t314 = _step381.value;\n e += wg(_t314);\n }\n } catch (err) {\n _iterator381.e(err);\n } finally {\n _iterator381.f();\n }\n }\n }\n } catch (err) {\n _iterator380.e(err);\n } finally {\n _iterator380.f();\n }\n\n return e;\n }\n\n var kg = /*#__PURE__*/function (_cd51) {\n _inherits(kg, _cd51);\n\n var _super156 = _createSuper(kg);\n\n function kg() {\n _classCallCheck(this, kg);\n\n return _super156.apply(this, arguments);\n }\n\n _createClass(kg, [{\n key: \"init\",\n value: function init() {\n var t = this.editor.t;\n ng(this.editor, \"numberedList\", t(\"Numbered List\"), ''), ng(this.editor, \"bulletedList\", t(\"Bulleted List\"), '');\n }\n }]);\n\n return kg;\n }(cd);\n\n function _g(t, e) {\n return function (t) {\n t.on(\"attribute:url:media\", n);\n };\n\n function n(n, i, o) {\n if (!o.consumable.consume(i.item, n.name)) return;\n\n var r = i.attributeNewValue,\n s = o.writer,\n a = o.mapper.toViewElement(i.item),\n c = _toConsumableArray(a.getChildren()).find(function (t) {\n return t.getCustomProperty(\"media-content\");\n });\n\n s.remove(c);\n var l = t.getMediaViewElement(s, r, e);\n s.insert(s.createPositionAt(a, 0), l);\n }\n }\n\n function vg(t, e, n, i) {\n var o = t.createContainerElement(\"figure\", {\n \"class\": \"media\"\n });\n return t.insert(t.createPositionAt(o, 0), e.getMediaViewElement(t, n, i)), o;\n }\n\n function yg(t) {\n var e = t.getSelectedElement();\n return e && e.is(\"element\", \"media\") ? e : null;\n }\n\n function xg(t, e, n) {\n t.change(function (i) {\n var o = i.createElement(\"media\", {\n url: e\n });\n t.insertContent(o, n), i.setSelection(o, \"on\");\n });\n }\n\n var Ag = /*#__PURE__*/function (_gd22) {\n _inherits(Ag, _gd22);\n\n var _super157 = _createSuper(Ag);\n\n function Ag() {\n _classCallCheck(this, Ag);\n\n return _super157.apply(this, arguments);\n }\n\n _createClass(Ag, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = t.document.selection,\n n = t.schema,\n i = nh(e, t),\n o = yg(e);\n var r = i.parent;\n r.isEmpty && !t.schema.isLimit(r) && (r = r.parent), this.value = o ? o.getAttribute(\"url\") : null, this.isEnabled = n.checkChild(r, \"media\");\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor.model,\n n = e.document.selection,\n i = yg(n);\n if (i) e.change(function (e) {\n e.setAttribute(\"url\", t, i);\n });else {\n var _i201 = nh(n, e);\n\n xg(e, t, _i201);\n }\n }\n }]);\n\n return Ag;\n }(gd);\n\n var Cg = /*#__PURE__*/function () {\n function Cg(t, e) {\n _classCallCheck(this, Cg);\n\n var n = e.providers,\n i = e.extraProviders || [],\n o = new Set(e.removeProviders),\n r = n.concat(i).filter(function (t) {\n var e = t.name;\n return e ? !o.has(e) : (Object(hn.c)(\"media-embed-no-provider-name\", {\n provider: t\n }), !1);\n });\n this.locale = t, this.providerDefinitions = r;\n }\n\n _createClass(Cg, [{\n key: \"hasMedia\",\n value: function hasMedia(t) {\n return !!this._getMedia(t);\n }\n }, {\n key: \"getMediaViewElement\",\n value: function getMediaViewElement(t, e, n) {\n return this._getMedia(e).getViewElement(t, n);\n }\n }, {\n key: \"_getMedia\",\n value: function _getMedia(t) {\n if (!t) return new Tg(this.locale);\n t = t.trim();\n\n var _iterator382 = _createForOfIteratorHelper(this.providerDefinitions),\n _step382;\n\n try {\n for (_iterator382.s(); !(_step382 = _iterator382.n()).done;) {\n var _e276 = _step382.value;\n var _n248 = _e276.html;\n var _i202 = _e276.url;\n Array.isArray(_i202) || (_i202 = [_i202]);\n\n var _iterator383 = _createForOfIteratorHelper(_i202),\n _step383;\n\n try {\n for (_iterator383.s(); !(_step383 = _iterator383.n()).done;) {\n var _e277 = _step383.value;\n\n var _i203 = this._getUrlMatches(t, _e277);\n\n if (_i203) return new Tg(this.locale, t, _i203, _n248);\n }\n } catch (err) {\n _iterator383.e(err);\n } finally {\n _iterator383.f();\n }\n }\n } catch (err) {\n _iterator382.e(err);\n } finally {\n _iterator382.f();\n }\n\n return null;\n }\n }, {\n key: \"_getUrlMatches\",\n value: function _getUrlMatches(t, e) {\n var n = t.match(e);\n if (n) return n;\n var i = t.replace(/^https?:\\/\\//, \"\");\n return n = i.match(e), n || (i = i.replace(/^www\\./, \"\"), n = i.match(e), n || null);\n }\n }]);\n\n return Cg;\n }();\n\n var Tg = /*#__PURE__*/function () {\n function Tg(t, e, n, i) {\n _classCallCheck(this, Tg);\n\n this.url = this._getValidUrl(e), this._t = t.t, this._match = n, this._previewRenderer = i;\n }\n\n _createClass(Tg, [{\n key: \"getViewElement\",\n value: function getViewElement(t, e) {\n var n = {};\n var i;\n\n if (e.renderForEditingView || e.renderMediaPreview && this.url && this._previewRenderer) {\n this.url && (n[\"data-oembed-url\"] = this.url), e.renderForEditingView && (n[\"class\"] = \"ck-media__wrapper\");\n\n var _o109 = this._getPreviewHtml(e);\n\n i = t.createRawElement(\"div\", n, function (t) {\n t.innerHTML = _o109;\n });\n } else this.url && (n.url = this.url), i = t.createEmptyElement(\"oembed\", n);\n\n return t.setCustomProperty(\"media-content\", !0, i), i;\n }\n }, {\n key: \"_getPreviewHtml\",\n value: function _getPreviewHtml(t) {\n return this._previewRenderer ? this._previewRenderer(this._match) : this.url && t.renderForEditingView ? this._getPlaceholderHtml() : \"\";\n }\n }, {\n key: \"_getPlaceholderHtml\",\n value: function _getPlaceholderHtml() {\n var t = new ql(),\n e = new Wl();\n t.text = this._t(\"Open media in new tab\"), e.content = '', e.viewBox = \"0 0 64 42\";\n return new il({\n tag: \"div\",\n attributes: {\n \"class\": \"ck ck-reset_all ck-media__placeholder\"\n },\n children: [{\n tag: \"div\",\n attributes: {\n \"class\": \"ck-media__placeholder__icon\"\n },\n children: [e]\n }, {\n tag: \"a\",\n attributes: {\n \"class\": \"ck-media__placeholder__url\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: this.url\n },\n children: [{\n tag: \"span\",\n attributes: {\n \"class\": \"ck-media__placeholder__url__text\"\n },\n children: [this.url]\n }, t]\n }]\n }).render().outerHTML;\n }\n }, {\n key: \"_getValidUrl\",\n value: function _getValidUrl(t) {\n return t ? t.match(/^https?/) ? t : \"https://\" + t : null;\n }\n }]);\n\n return Tg;\n }();\n\n n(82);\n\n var Pg = /*#__PURE__*/function (_cd52) {\n _inherits(Pg, _cd52);\n\n var _super158 = _createSuper(Pg);\n\n _createClass(Pg, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"MediaEmbedEditing\";\n }\n }]);\n\n function Pg(t) {\n var _this245;\n\n _classCallCheck(this, Pg);\n\n _this245 = _super158.call(this, t), t.config.define(\"mediaEmbed\", {\n providers: [{\n name: \"dailymotion\",\n url: /^dailymotion\\.com\\/video\\/(\\w+)/,\n html: function html(t) {\n return \"
\");\n }\n }, {\n name: \"spotify\",\n url: [/^open\\.spotify\\.com\\/(artist\\/\\w+)/, /^open\\.spotify\\.com\\/(album\\/\\w+)/, /^open\\.spotify\\.com\\/(track\\/\\w+)/],\n html: function html(t) {\n return \"
\");\n }\n }, {\n name: \"youtube\",\n url: [/^(?:m\\.)?youtube\\.com\\/watch\\?v=([\\w-]+)/, /^(?:m\\.)?youtube\\.com\\/v\\/([\\w-]+)/, /^youtube\\.com\\/embed\\/([\\w-]+)/, /^youtu\\.be\\/([\\w-]+)/],\n html: function html(t) {\n return \"
\");\n }\n }, {\n name: \"vimeo\",\n url: [/^vimeo\\.com\\/(\\d+)/, /^vimeo\\.com\\/[^/]+\\/[^/]+\\/video\\/(\\d+)/, /^vimeo\\.com\\/album\\/[^/]+\\/video\\/(\\d+)/, /^vimeo\\.com\\/channels\\/[^/]+\\/(\\d+)/, /^vimeo\\.com\\/groups\\/[^/]+\\/videos\\/(\\d+)/, /^vimeo\\.com\\/ondemand\\/[^/]+\\/(\\d+)/, /^player\\.vimeo\\.com\\/video\\/(\\d+)/],\n html: function html(t) {\n return \"
\");\n }\n }, {\n name: \"instagram\",\n url: /^instagram\\.com\\/p\\/(\\w+)/\n }, {\n name: \"twitter\",\n url: /^twitter\\.com/\n }, {\n name: \"googleMaps\",\n url: /^google\\.com\\/maps/\n }, {\n name: \"flickr\",\n url: /^flickr\\.com/\n }, {\n name: \"facebook\",\n url: /^facebook\\.com/\n }]\n }), _this245.registry = new Cg(t.locale, t.config.get(\"mediaEmbed\"));\n return _this245;\n }\n\n _createClass(Pg, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model.schema,\n n = t.t,\n i = t.conversion,\n o = t.config.get(\"mediaEmbed.previewsInData\"),\n r = this.registry;\n t.commands.add(\"mediaEmbed\", new Ag(t)), e.register(\"media\", {\n isObject: !0,\n isBlock: !0,\n allowWhere: \"$block\",\n allowAttributes: [\"url\"]\n }), i[\"for\"](\"dataDowncast\").elementToElement({\n model: \"media\",\n view: function view(t, _ref146) {\n var e = _ref146.writer;\n var n = t.getAttribute(\"url\");\n return vg(e, r, n, {\n renderMediaPreview: n && o\n });\n }\n }), i[\"for\"](\"dataDowncast\").add(_g(r, {\n renderMediaPreview: o\n })), i[\"for\"](\"editingDowncast\").elementToElement({\n model: \"media\",\n view: function view(t, _ref147) {\n var e = _ref147.writer;\n var i = t.getAttribute(\"url\");\n return function (t, e, n) {\n return e.setCustomProperty(\"media\", !0, t), Zu(t, e, {\n label: n\n });\n }(vg(e, r, i, {\n renderForEditingView: !0\n }), e, n(\"media widget\"));\n }\n }), i[\"for\"](\"editingDowncast\").add(_g(r, {\n renderForEditingView: !0\n })), i[\"for\"](\"upcast\").elementToElement({\n view: {\n name: \"oembed\",\n attributes: {\n url: !0\n }\n },\n model: function model(t, _ref148) {\n var e = _ref148.writer;\n var n = t.getAttribute(\"url\");\n if (r.hasMedia(n)) return e.createElement(\"media\", {\n url: n\n });\n }\n }).elementToElement({\n view: {\n name: \"div\",\n attributes: {\n \"data-oembed-url\": !0\n }\n },\n model: function model(t, _ref149) {\n var e = _ref149.writer;\n var n = t.getAttribute(\"data-oembed-url\");\n if (r.hasMedia(n)) return e.createElement(\"media\", {\n url: n\n });\n }\n });\n }\n }]);\n\n return Pg;\n }(cd);\n\n var Sg = /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w.-]+)+[\\w\\-._~:/?#[\\]@!$&'()*+,;=%]+$/;\n\n var Eg = /*#__PURE__*/function (_cd53) {\n _inherits(Eg, _cd53);\n\n var _super159 = _createSuper(Eg);\n\n _createClass(Eg, null, [{\n key: \"requires\",\n get: function get() {\n return [md, hu];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"AutoMediaEmbed\";\n }\n }]);\n\n function Eg(t) {\n var _this246;\n\n _classCallCheck(this, Eg);\n\n _this246 = _super159.call(this, t), _this246._timeoutId = null, _this246._positionToInsert = null;\n return _this246;\n }\n\n _createClass(Eg, [{\n key: \"init\",\n value: function init() {\n var _this247 = this;\n\n var t = this.editor,\n e = t.model.document;\n this.listenTo(t.plugins.get(md), \"inputTransformation\", function () {\n var t = e.selection.getFirstRange(),\n n = _c.fromPosition(t.start);\n\n n.stickiness = \"toPrevious\";\n\n var i = _c.fromPosition(t.end);\n\n i.stickiness = \"toNext\", e.once(\"change:data\", function () {\n _this247._embedMediaBetweenPositions(n, i), n.detach(), i.detach();\n }, {\n priority: \"high\"\n });\n }), t.commands.get(\"undo\").on(\"execute\", function () {\n _this247._timeoutId && (or.window.clearTimeout(_this247._timeoutId), _this247._positionToInsert.detach(), _this247._timeoutId = null, _this247._positionToInsert = null);\n }, {\n priority: \"high\"\n });\n }\n }, {\n key: \"_embedMediaBetweenPositions\",\n value: function _embedMediaBetweenPositions(t, e) {\n var _this248 = this;\n\n var n = this.editor,\n i = n.plugins.get(Pg).registry,\n o = new Fs(t, e),\n r = o.getWalker({\n ignoreElementEnd: !0\n });\n var s = \"\";\n\n var _iterator384 = _createForOfIteratorHelper(r),\n _step384;\n\n try {\n for (_iterator384.s(); !(_step384 = _iterator384.n()).done;) {\n var _t315 = _step384.value;\n _t315.item.is(\"$textProxy\") && (s += _t315.item.data);\n }\n } catch (err) {\n _iterator384.e(err);\n } finally {\n _iterator384.f();\n }\n\n if (s = s.trim(), !s.match(Sg)) return void o.detach();\n if (!i.hasMedia(s)) return void o.detach();\n n.commands.get(\"mediaEmbed\").isEnabled ? (this._positionToInsert = _c.fromPosition(t), this._timeoutId = or.window.setTimeout(function () {\n n.model.change(function (t) {\n var e;\n _this248._timeoutId = null, t.remove(o), o.detach(), \"$graveyard\" !== _this248._positionToInsert.root.rootName && (e = _this248._positionToInsert), xg(n.model, s, e), _this248._positionToInsert.detach(), _this248._positionToInsert = null;\n });\n }, 100)) : o.detach();\n }\n }]);\n\n return Eg;\n }(cd);\n\n n(84);\n\n var Mg = /*#__PURE__*/function (_yl26) {\n _inherits(Mg, _yl26);\n\n var _super160 = _createSuper(Mg);\n\n function Mg(t, e) {\n var _this249;\n\n _classCallCheck(this, Mg);\n\n _this249 = _super160.call(this, e);\n var n = e.t;\n _this249.focusTracker = new Yc(), _this249.keystrokes = new jc(), _this249.set(\"mediaURLInputValue\", \"\"), _this249.urlInputView = _this249._createUrlInput(), _this249.saveButtonView = _this249._createButton(n(\"Save\"), Sf, \"ck-button-save\"), _this249.saveButtonView.type = \"submit\", _this249.saveButtonView.bind(\"isEnabled\").to(_assertThisInitialized(_this249), \"mediaURLInputValue\", function (t) {\n return !!t;\n }), _this249.cancelButtonView = _this249._createButton(n(\"Cancel\"), Ef, \"ck-button-cancel\", \"cancel\"), _this249._focusables = new nl(), _this249._focusCycler = new Ol({\n focusables: _this249._focusables,\n focusTracker: _this249.focusTracker,\n keystrokeHandler: _this249.keystrokes,\n actions: {\n focusPrevious: \"shift + tab\",\n focusNext: \"tab\"\n }\n }), _this249._validators = t, _this249.setTemplate({\n tag: \"form\",\n attributes: {\n \"class\": [\"ck\", \"ck-media-form\", \"ck-responsive-form\"],\n tabindex: \"-1\"\n },\n children: [_this249.urlInputView, _this249.saveButtonView, _this249.cancelButtonView]\n });\n return _this249;\n }\n\n _createClass(Mg, [{\n key: \"render\",\n value: function render() {\n var _this250 = this;\n\n _get(_getPrototypeOf(Mg.prototype), \"render\", this).call(this), Pf({\n view: this\n });\n [this.urlInputView, this.saveButtonView, this.cancelButtonView].forEach(function (t) {\n _this250._focusables.add(t), _this250.focusTracker.add(t.element);\n }), this.keystrokes.listenTo(this.element);\n\n var t = function t(_t316) {\n return _t316.stopPropagation();\n };\n\n this.keystrokes.set(\"arrowright\", t), this.keystrokes.set(\"arrowleft\", t), this.keystrokes.set(\"arrowup\", t), this.keystrokes.set(\"arrowdown\", t), this.listenTo(this.urlInputView.element, \"selectstart\", function (t, e) {\n e.stopPropagation();\n }, {\n priority: \"high\"\n });\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this._focusCycler.focusFirst();\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n this.resetFormStatus();\n\n var _iterator385 = _createForOfIteratorHelper(this._validators),\n _step385;\n\n try {\n for (_iterator385.s(); !(_step385 = _iterator385.n()).done;) {\n var _t317 = _step385.value;\n\n var _e278 = _t317(this);\n\n if (_e278) return this.urlInputView.errorText = _e278, !1;\n }\n } catch (err) {\n _iterator385.e(err);\n } finally {\n _iterator385.f();\n }\n\n return !0;\n }\n }, {\n key: \"resetFormStatus\",\n value: function resetFormStatus() {\n this.urlInputView.errorText = null, this.urlInputView.infoText = this._urlInputViewInfoDefault;\n }\n }, {\n key: \"_createUrlInput\",\n value: function _createUrlInput() {\n var _this251 = this;\n\n var t = this.locale.t,\n e = new Af(this.locale, Tf),\n n = e.fieldView;\n return this._urlInputViewInfoDefault = t(\"Paste the media URL in the input.\"), this._urlInputViewInfoTip = t(\"Tip: Paste the URL into the content to embed faster.\"), e.label = t(\"Media URL\"), e.infoText = this._urlInputViewInfoDefault, n.placeholder = \"https://example.com\", n.on(\"input\", function () {\n e.infoText = n.element.value ? _this251._urlInputViewInfoTip : _this251._urlInputViewInfoDefault, _this251.mediaURLInputValue = n.element.value.trim();\n }), e;\n }\n }, {\n key: \"_createButton\",\n value: function _createButton(t, e, n, i) {\n var o = new $l(this.locale);\n return o.set({\n label: t,\n icon: e,\n tooltip: !0\n }), o.extendTemplate({\n attributes: {\n \"class\": n\n }\n }), i && o.delegate(\"execute\").to(this, i), o;\n }\n }, {\n key: \"url\",\n get: function get() {\n return this.urlInputView.fieldView.element.value.trim();\n },\n set: function set(t) {\n this.urlInputView.fieldView.element.value = t.trim();\n }\n }]);\n\n return Mg;\n }(yl);\n\n var Ig = /*#__PURE__*/function (_cd54) {\n _inherits(Ig, _cd54);\n\n var _super161 = _createSuper(Ig);\n\n function Ig() {\n _classCallCheck(this, Ig);\n\n return _super161.apply(this, arguments);\n }\n\n _createClass(Ig, [{\n key: \"init\",\n value: function init() {\n var _this252 = this;\n\n var t = this.editor,\n e = t.commands.get(\"mediaEmbed\"),\n n = t.plugins.get(Pg).registry;\n t.ui.componentFactory.add(\"mediaEmbed\", function (i) {\n var o = td(i),\n r = new Mg(function (t, e) {\n return [function (e) {\n if (!e.url.length) return t(\"The URL must not be empty.\");\n }, function (n) {\n if (!e.hasMedia(n.url)) return t(\"This media URL is not supported.\");\n }];\n }(t.t, n), t.locale);\n return _this252._setUpDropdown(o, r, e, t), _this252._setUpForm(o, r, e), o;\n });\n }\n }, {\n key: \"_setUpDropdown\",\n value: function _setUpDropdown(t, e, n) {\n var i = this.editor,\n o = i.t,\n r = t.buttonView;\n\n function s() {\n i.editing.view.focus(), t.isOpen = !1;\n }\n\n t.bind(\"isEnabled\").to(n), t.panelView.children.add(e), r.set({\n label: o(\"Insert media\"),\n icon: '',\n tooltip: !0\n }), r.on(\"open\", function () {\n e.url = n.value || \"\", e.urlInputView.fieldView.select(), e.focus();\n }, {\n priority: \"low\"\n }), t.on(\"submit\", function () {\n e.isValid() && (i.execute(\"mediaEmbed\", e.url), s());\n }), t.on(\"change:isOpen\", function () {\n return e.resetFormStatus();\n }), t.on(\"cancel\", function () {\n return s();\n });\n }\n }, {\n key: \"_setUpForm\",\n value: function _setUpForm(t, e, n) {\n e.delegate(\"submit\", \"cancel\").to(t), e.urlInputView.bind(\"value\").to(n, \"value\"), e.urlInputView.bind(\"isReadOnly\").to(n, \"isEnabled\", function (t) {\n return !t;\n });\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [Pg];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"MediaEmbedUI\";\n }\n }]);\n\n return Ig;\n }(cd);\n\n n(86);\n\n function Ng(t, e) {\n if (!t.childCount) return;\n\n var n = new Kf(t.document),\n i = function (t, e) {\n var n = e.createRangeIn(t),\n i = new Vn({\n name: /^p|h\\d+$/,\n styles: {\n \"mso-list\": /.*/\n }\n }),\n o = [];\n\n var _iterator386 = _createForOfIteratorHelper(n),\n _step386;\n\n try {\n for (_iterator386.s(); !(_step386 = _iterator386.n()).done;) {\n var _t318 = _step386.value;\n\n if (\"elementStart\" === _t318.type && i.match(_t318.item)) {\n var _e279 = Rg(_t318.item);\n\n o.push({\n element: _t318.item,\n id: _e279.id,\n order: _e279.order,\n indent: _e279.indent\n });\n }\n }\n } catch (err) {\n _iterator386.e(err);\n } finally {\n _iterator386.f();\n }\n\n return o;\n }(t, n);\n\n if (!i.length) return;\n var o = null,\n r = 1;\n i.forEach(function (t, s) {\n var a = function (t, e) {\n if (!t) return !0;\n if (t.id !== e.id) return !0;\n var n = e.element.previousSibling;\n if (!n) return !0;\n return i = n, !(i.is(\"element\", \"ol\") || i.is(\"element\", \"ul\"));\n var i;\n }(i[s - 1], t),\n c = a ? null : i[s - 1],\n l = (u = t, (d = c) ? u.indent - d.indent : u.indent - 1);\n\n var d, u;\n\n if (a && (o = null, r = 1), !o || 0 !== l) {\n var _i204 = function (t, e) {\n var n = new RegExp(\"@list l\".concat(t.id, \":level\").concat(t.indent, \"\\\\s*({[^}]*)\"), \"gi\"),\n i = /mso-level-number-format:([^;]*);/gi,\n o = n.exec(e);\n var r = \"decimal\";\n\n if (o && o[1]) {\n var _t319 = i.exec(o[1]);\n\n _t319 && _t319[1] && (r = _t319[1].trim());\n }\n\n return {\n type: \"bullet\" !== r && \"image\" !== r ? \"ol\" : \"ul\",\n style: r\n };\n }(t, e);\n\n if (o) {\n if (t.indent > r) {\n var _t320 = o.getChild(o.childCount - 1),\n _e280 = _t320.getChild(_t320.childCount - 1);\n\n o = Og(_i204, _e280, n), r += 1;\n } else if (t.indent < r) {\n var _e281 = r - t.indent;\n\n o = function (t, e) {\n var n = t.getAncestors({\n parentFirst: !0\n });\n var i = null,\n o = 0;\n\n var _iterator387 = _createForOfIteratorHelper(n),\n _step387;\n\n try {\n for (_iterator387.s(); !(_step387 = _iterator387.n()).done;) {\n var _t321 = _step387.value;\n\n if (\"ul\" !== _t321.name && \"ol\" !== _t321.name || o++, o === e) {\n i = _t321;\n break;\n }\n }\n } catch (err) {\n _iterator387.e(err);\n } finally {\n _iterator387.f();\n }\n\n return i;\n }(o, _e281), r = parseInt(t.indent);\n }\n } else o = Og(_i204, t.element, n);\n\n t.indent <= r && (o.is(\"element\", _i204.type) || (o = n.rename(_i204.type, o)));\n }\n\n var h = function (t, e) {\n return function (t, e) {\n var n = new Vn({\n name: \"span\",\n styles: {\n \"mso-list\": \"Ignore\"\n }\n }),\n i = e.createRangeIn(t);\n\n var _iterator388 = _createForOfIteratorHelper(i),\n _step388;\n\n try {\n for (_iterator388.s(); !(_step388 = _iterator388.n()).done;) {\n var _t322 = _step388.value;\n \"elementStart\" === _t322.type && n.match(_t322.item) && e.remove(_t322.item);\n }\n } catch (err) {\n _iterator388.e(err);\n } finally {\n _iterator388.f();\n }\n }(t, e), e.rename(\"li\", t);\n }(t.element, n);\n\n n.appendChild(h, o);\n });\n }\n\n function Og(t, e, n) {\n var i = e.parent,\n o = n.createElement(t.type),\n r = i.getChildIndex(e) + 1;\n return n.insertChild(r, o, i), o;\n }\n\n function Rg(t) {\n var e = {},\n n = t.getStyle(\"mso-list\");\n\n if (n) {\n var _t323 = n.match(/(^|\\s+)l(\\d+)/i),\n _i205 = n.match(/\\s*lfo(\\d+)/i),\n _o110 = n.match(/\\s*level(\\d+)/i);\n\n _t323 && _i205 && _o110 && (e.id = _t323[2], e.order = _i205[1], e.indent = _o110[1]);\n }\n\n return e;\n }\n\n var Dg = /id=(\"|')docs-internal-guid-[-0-9a-f]+(\"|')/i;\n\n var Lg = /*#__PURE__*/function () {\n function Lg(t) {\n _classCallCheck(this, Lg);\n\n this.document = t;\n }\n\n _createClass(Lg, [{\n key: \"isActive\",\n value: function isActive(t) {\n return Dg.test(t);\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = new Kf(this.document);\n !function (t, e) {\n var _iterator389 = _createForOfIteratorHelper(t.getChildren()),\n _step389;\n\n try {\n for (_iterator389.s(); !(_step389 = _iterator389.n()).done;) {\n var _n249 = _step389.value;\n\n if (_n249.is(\"element\", \"b\") && \"normal\" === _n249.getStyle(\"font-weight\")) {\n var _i206 = t.getChildIndex(_n249);\n\n e.remove(_n249), e.insertChild(_i206, _n249.getChildren(), t);\n }\n }\n } catch (err) {\n _iterator389.e(err);\n } finally {\n _iterator389.f();\n }\n }(t.content, e), function (t, e) {\n var _iterator390 = _createForOfIteratorHelper(e.createRangeIn(t)),\n _step390;\n\n try {\n for (_iterator390.s(); !(_step390 = _iterator390.n()).done;) {\n var _n250 = _step390.value;\n var _t324 = _n250.item;\n\n if (_t324.is(\"element\", \"li\")) {\n var _n251 = _t324.getChild(0);\n\n _n251 && _n251.is(\"element\", \"p\") && e.unwrapElement(_n251);\n }\n }\n } catch (err) {\n _iterator390.e(err);\n } finally {\n _iterator390.f();\n }\n }(t.content, e);\n }\n }]);\n\n return Lg;\n }();\n\n function Vg(t) {\n return t.replace(/(\\s+)<\\/span>/g, function (t, e) {\n return 1 === e.length ? \" \" : Array(e.length + 1).join(\"  \").substr(0, e.length);\n });\n }\n\n function jg(t, e) {\n var n = new DOMParser(),\n i = function (t) {\n return Vg(Vg(t)).replace(/([\\s]*?)[\\r\\n]+(\\s*<\\/span>)/g, \"$1$2\").replace(/<\\/span>/g, \"\").replace(/ <\\//g, \" <\\/o:p>/g, \" \").replace(/( |\\u00A0)<\\/o:p>/g, \"\").replace(/>(\\s*[\\r\\n]\\s*)<\");\n }(function (t) {\n var e = t.match(/<\\/body>(.*?)(<\\/html>|$)/);\n e && e[1] && (t = t.slice(0, e.index) + t.slice(e.index).replace(e[1], \"\"));\n return t;\n }(t = t.replace(/\", \"g\"), e.extend({\n serializers: {\n \"application/json\": function applicationJson(t) {\n var n;\n if (t instanceof e.Document) n = t;else {\n if (!(t instanceof HTMLElement)) throw new Error(\"unserializable object\");\n n = e.Document.fromHTML(t.innerHTML);\n }\n return n.toSerializableDocument().toJSONString();\n },\n \"text/html\": function textHtml(s) {\n var a, u, c, l, h, p, d, f, g, m, v, y, b, A, C, x, w;\n if (s instanceof e.Document) l = e.DocumentView.render(s);else {\n if (!(s instanceof HTMLElement)) throw new Error(\"unserializable object\");\n l = s.cloneNode(!0);\n }\n\n for (A = l.querySelectorAll(r), h = 0, g = A.length; g > h; h++) {\n c = A[h], e.removeNode(c);\n }\n\n for (p = 0, m = o.length; m > p; p++) {\n for (a = o[p], C = l.querySelectorAll(\"[\" + a + \"]\"), d = 0, v = C.length; v > d; d++) {\n c = C[d], c.removeAttribute(a);\n }\n }\n\n for (x = l.querySelectorAll(i), f = 0, y = x.length; y > f; f++) {\n c = x[f];\n\n try {\n u = JSON.parse(c.getAttribute(n)), c.removeAttribute(n);\n\n for (b in u) {\n w = u[b], c.setAttribute(b, w);\n }\n } catch (E) {}\n }\n\n return l.innerHTML.replace(t, \"\");\n }\n },\n deserializers: {\n \"application/json\": function applicationJson(t) {\n return e.Document.fromJSONString(t);\n },\n \"text/html\": function textHtml(t) {\n return e.Document.fromHTML(t);\n }\n },\n serializeToContentType: function serializeToContentType(t, n) {\n var i;\n if (i = e.serializers[n]) return i(t);\n throw new Error(\"unknown content type: \" + n);\n },\n deserializeFromContentType: function deserializeFromContentType(t, n) {\n var i;\n if (i = e.deserializers[n]) return i(t);\n throw new Error(\"unknown content type: \" + n);\n }\n });\n }.call(this), function () {\n var t;\n t = e.config.lang, e.config.toolbar = {\n getDefaultHTML: function getDefaultHTML() {\n return '
\\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n
\\n
';\n }\n };\n }.call(this), function () {\n e.config.undoInterval = 5e3;\n }.call(this), function () {\n e.config.attachments = {\n preview: {\n presentation: \"gallery\",\n caption: {\n name: !0,\n size: !0\n }\n },\n file: {\n caption: {\n size: !0\n }\n }\n };\n }.call(this), function () {\n e.config.keyNames = {\n 8: \"backspace\",\n 9: \"tab\",\n 13: \"return\",\n 27: \"escape\",\n 37: \"left\",\n 39: \"right\",\n 46: \"delete\",\n 68: \"d\",\n 72: \"h\",\n 79: \"o\"\n };\n }.call(this), function () {\n e.config.input = {\n level2Enabled: !0,\n getLevel: function getLevel() {\n return this.level2Enabled && e.browser.supportsInputEvents ? 2 : 0;\n },\n pickFiles: function pickFiles(t) {\n var n;\n return n = e.makeElement(\"input\", {\n type: \"file\",\n multiple: !0,\n hidden: !0,\n id: this.fileInputId\n }), n.addEventListener(\"change\", function () {\n return t(n.files), e.removeNode(n);\n }), e.removeNode(document.getElementById(this.fileInputId)), document.body.appendChild(n), n.click();\n },\n fileInputId: \"trix-file-input-\" + Date.now().toString(16)\n };\n }.call(this), function () {}.call(this), function () {\n e.registerElement(\"trix-toolbar\", {\n defaultCSS: \"%t {\\n display: block;\\n}\\n\\n%t {\\n white-space: nowrap;\\n}\\n\\n%t [data-trix-dialog] {\\n display: none;\\n}\\n\\n%t [data-trix-dialog][data-trix-active] {\\n display: block;\\n}\\n\\n%t [data-trix-dialog] [data-trix-validate]:invalid {\\n background-color: #ffdddd;\\n}\",\n initialize: function initialize() {\n return \"\" === this.innerHTML ? this.innerHTML = e.config.toolbar.getDefaultHTML() : void 0;\n }\n });\n }.call(this), function () {\n var t = function t(_t7, e) {\n function i() {\n this.constructor = _t7;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t7[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t7.prototype = new i(), _t7.__super__ = e.prototype, _t7;\n },\n n = {}.hasOwnProperty,\n i = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n e.ObjectView = function (n) {\n function o(t, e) {\n this.object = t, this.options = null != e ? e : {}, this.childViews = [], this.rootView = this;\n }\n\n return t(o, n), o.prototype.getNodes = function () {\n var t, e, n, i, o;\n\n for (null == this.nodes && (this.nodes = this.createNodes()), i = this.nodes, o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.cloneNode(!0));\n }\n\n return o;\n }, o.prototype.invalidate = function () {\n var t;\n return this.nodes = null, this.childViews = [], null != (t = this.parentView) ? t.invalidate() : void 0;\n }, o.prototype.invalidateViewForObject = function (t) {\n var e;\n return null != (e = this.findViewForObject(t)) ? e.invalidate() : void 0;\n }, o.prototype.findOrCreateCachedChildView = function (t, e) {\n var n;\n return (n = this.getCachedViewForObject(e)) ? this.recordChildView(n) : (n = this.createChildView.apply(this, arguments), this.cacheViewForObject(n, e)), n;\n }, o.prototype.createChildView = function (t, n, i) {\n var o;\n return null == i && (i = {}), n instanceof e.ObjectGroup && (i.viewClass = t, t = e.ObjectGroupView), o = new t(n, i), this.recordChildView(o);\n }, o.prototype.recordChildView = function (t) {\n return t.parentView = this, t.rootView = this.rootView, this.childViews.push(t), t;\n }, o.prototype.getAllChildViews = function () {\n var t, e, n, i, o;\n\n for (o = [], i = this.childViews, e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t), o = o.concat(t.getAllChildViews());\n }\n\n return o;\n }, o.prototype.findElement = function () {\n return this.findElementForObject(this.object);\n }, o.prototype.findElementForObject = function (t) {\n var e;\n return (e = null != t ? t.id : void 0) ? this.rootView.element.querySelector(\"[data-trix-id='\" + e + \"']\") : void 0;\n }, o.prototype.findViewForObject = function (t) {\n var e, n, i, o;\n\n for (i = this.getAllChildViews(), e = 0, n = i.length; n > e; e++) {\n if (o = i[e], o.object === t) return o;\n }\n }, o.prototype.getViewCache = function () {\n return this.rootView !== this ? this.rootView.getViewCache() : this.isViewCachingEnabled() ? null != this.viewCache ? this.viewCache : this.viewCache = {} : void 0;\n }, o.prototype.isViewCachingEnabled = function () {\n return this.shouldCacheViews !== !1;\n }, o.prototype.enableViewCaching = function () {\n return this.shouldCacheViews = !0;\n }, o.prototype.disableViewCaching = function () {\n return this.shouldCacheViews = !1;\n }, o.prototype.getCachedViewForObject = function (t) {\n var e;\n return null != (e = this.getViewCache()) ? e[t.getCacheKey()] : void 0;\n }, o.prototype.cacheViewForObject = function (t, e) {\n var n;\n return null != (n = this.getViewCache()) ? n[e.getCacheKey()] = t : void 0;\n }, o.prototype.garbageCollectCachedViews = function () {\n var t, e, n, o, r, s;\n\n if (t = this.getViewCache()) {\n s = this.getAllChildViews().concat(this), n = function () {\n var t, e, n;\n\n for (n = [], t = 0, e = s.length; e > t; t++) {\n r = s[t], n.push(r.object.getCacheKey());\n }\n\n return n;\n }(), o = [];\n\n for (e in t) {\n i.call(n, e) < 0 && o.push(delete t[e]);\n }\n\n return o;\n }\n }, o;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t8, e) {\n function i() {\n this.constructor = _t8;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t8[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t8.prototype = new i(), _t8.__super__ = e.prototype, _t8;\n },\n n = {}.hasOwnProperty;\n\n e.ObjectGroupView = function (e) {\n function n() {\n n.__super__.constructor.apply(this, arguments), this.objectGroup = this.object, this.viewClass = this.options.viewClass, delete this.options.viewClass;\n }\n\n return t(n, e), n.prototype.getChildViews = function () {\n var t, e, n, i;\n if (!this.childViews.length) for (i = this.objectGroup.getObjects(), t = 0, e = i.length; e > t; t++) {\n n = i[t], this.findOrCreateCachedChildView(this.viewClass, n, this.options);\n }\n return this.childViews;\n }, n.prototype.createNodes = function () {\n var t, e, n, i, o, r, s, a, u;\n\n for (t = this.createContainerElement(), s = this.getChildViews(), e = 0, i = s.length; i > e; e++) {\n for (u = s[e], a = u.getNodes(), n = 0, o = a.length; o > n; n++) {\n r = a[n], t.appendChild(r);\n }\n }\n\n return [t];\n }, n.prototype.createContainerElement = function (t) {\n return null == t && (t = this.objectGroup.getDepth()), this.getChildViews()[0].createContainerElement(t);\n }, n;\n }(e.ObjectView);\n }.call(this), function () {\n var t = function t(_t9, e) {\n function i() {\n this.constructor = _t9;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t9[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t9.prototype = new i(), _t9.__super__ = e.prototype, _t9;\n },\n n = {}.hasOwnProperty;\n\n e.Controller = function (e) {\n function n() {\n return n.__super__.constructor.apply(this, arguments);\n }\n\n return t(n, e), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a = function a(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n u = function u(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n c.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n c = {}.hasOwnProperty,\n l = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.findClosestElementFromNode, i = e.nodeIsEmptyTextNode, n = e.nodeIsBlockStartComment, o = e.normalizeSpaces, r = e.summarizeStringChange, s = e.tagName, e.MutationObserver = function (e) {\n function c(t) {\n this.element = t, this.didMutate = a(this.didMutate, this), this.observer = new window.MutationObserver(this.didMutate), this.start();\n }\n\n var _h, p, d, f;\n\n return u(c, e), p = \"data-trix-mutable\", d = \"[\" + p + \"]\", f = {\n attributes: !0,\n childList: !0,\n characterData: !0,\n characterDataOldValue: !0,\n subtree: !0\n }, c.prototype.start = function () {\n return this.reset(), this.observer.observe(this.element, f);\n }, c.prototype.stop = function () {\n return this.observer.disconnect();\n }, c.prototype.didMutate = function (t) {\n var e, n;\n return (e = this.mutations).push.apply(e, this.findSignificantMutations(t)), this.mutations.length ? (null != (n = this.delegate) && \"function\" == typeof n.elementDidMutate && n.elementDidMutate(this.getMutationSummary()), this.reset()) : void 0;\n }, c.prototype.reset = function () {\n return this.mutations = [];\n }, c.prototype.findSignificantMutations = function (t) {\n var e, n, i, o;\n\n for (o = [], e = 0, n = t.length; n > e; e++) {\n i = t[e], this.mutationIsSignificant(i) && o.push(i);\n }\n\n return o;\n }, c.prototype.mutationIsSignificant = function (t) {\n var e, n, i, o;\n if (this.nodeIsMutable(t.target)) return !1;\n\n for (o = this.nodesModifiedByMutation(t), e = 0, n = o.length; n > e; e++) {\n if (i = o[e], this.nodeIsSignificant(i)) return !0;\n }\n\n return !1;\n }, c.prototype.nodeIsSignificant = function (t) {\n return t !== this.element && !this.nodeIsMutable(t) && !i(t);\n }, c.prototype.nodeIsMutable = function (e) {\n return t(e, {\n matchingSelector: d\n });\n }, c.prototype.nodesModifiedByMutation = function (t) {\n var e;\n\n switch (e = [], t.type) {\n case \"attributes\":\n t.attributeName !== p && e.push(t.target);\n break;\n\n case \"characterData\":\n e.push(t.target.parentNode), e.push(t.target);\n break;\n\n case \"childList\":\n e.push.apply(e, t.addedNodes), e.push.apply(e, t.removedNodes);\n }\n\n return e;\n }, c.prototype.getMutationSummary = function () {\n return this.getTextMutationSummary();\n }, c.prototype.getTextMutationSummary = function () {\n var t, e, n, i, o, r, s, a, u, c, h;\n\n for (a = this.getTextChangesFromCharacterData(), n = a.additions, o = a.deletions, h = this.getTextChangesFromChildList(), u = h.additions, r = 0, s = u.length; s > r; r++) {\n e = u[r], l.call(n, e) < 0 && n.push(e);\n }\n\n return o.push.apply(o, h.deletions), c = {}, (t = n.join(\"\")) && (c.textAdded = t), (i = o.join(\"\")) && (c.textDeleted = i), c;\n }, c.prototype.getMutationsByType = function (t) {\n var e, n, i, o, r;\n\n for (o = this.mutations, r = [], e = 0, n = o.length; n > e; e++) {\n i = o[e], i.type === t && r.push(i);\n }\n\n return r;\n }, c.prototype.getTextChangesFromChildList = function () {\n var t, e, i, r, s, a, u, c, l, p, d;\n\n for (t = [], u = [], a = this.getMutationsByType(\"childList\"), e = 0, r = a.length; r > e; e++) {\n s = a[e], t.push.apply(t, s.addedNodes), u.push.apply(u, s.removedNodes);\n }\n\n return c = 0 === t.length && 1 === u.length && n(u[0]), c ? (p = [], d = [\"\\n\"]) : (p = _h(t), d = _h(u)), {\n additions: function () {\n var t, e, n;\n\n for (n = [], i = t = 0, e = p.length; e > t; i = ++t) {\n l = p[i], l !== d[i] && n.push(o(l));\n }\n\n return n;\n }(),\n deletions: function () {\n var t, e, n;\n\n for (n = [], i = t = 0, e = d.length; e > t; i = ++t) {\n l = d[i], l !== p[i] && n.push(o(l));\n }\n\n return n;\n }()\n };\n }, c.prototype.getTextChangesFromCharacterData = function () {\n var t, e, n, i, s, a, u, c;\n return e = this.getMutationsByType(\"characterData\"), e.length && (c = e[0], n = e[e.length - 1], s = o(c.oldValue), i = o(n.target.data), a = r(s, i), t = a.added, u = a.removed), {\n additions: t ? [t] : [],\n deletions: u ? [u] : []\n };\n }, _h = function h(t) {\n var e, n, i, o;\n\n for (null == t && (t = []), o = [], e = 0, n = t.length; n > e; e++) {\n switch (i = t[e], i.nodeType) {\n case Node.TEXT_NODE:\n o.push(i.data);\n break;\n\n case Node.ELEMENT_NODE:\n \"br\" === s(i) ? o.push(\"\\n\") : o.push.apply(o, _h(i.childNodes));\n }\n }\n\n return o;\n }, c;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t10, e) {\n function i() {\n this.constructor = _t10;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t10[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t10.prototype = new i(), _t10.__super__ = e.prototype, _t10;\n },\n n = {}.hasOwnProperty;\n\n e.FileVerificationOperation = function (e) {\n function n(t) {\n this.file = t;\n }\n\n return t(n, e), n.prototype.perform = function (t) {\n var e;\n return e = new FileReader(), e.onerror = function () {\n return t(!1);\n }, e.onload = function (n) {\n return function () {\n e.onerror = null;\n\n try {\n e.abort();\n } catch (i) {}\n\n return t(!0, n.file);\n };\n }(this), e.readAsArrayBuffer(this.file);\n }, n;\n }(e.Operation);\n }.call(this), function () {\n var t,\n n,\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n t = e.handleEvent, n = e.innerElementIsActive, e.InputController = function (o) {\n function r(n) {\n var i;\n this.element = n, this.mutationObserver = new e.MutationObserver(this.element), this.mutationObserver.delegate = this;\n\n for (i in this.events) {\n t(i, {\n onElement: this.element,\n withCallback: this.handlerFor(i)\n });\n }\n }\n\n return i(r, o), r.prototype.events = {}, r.prototype.elementDidMutate = function () {}, r.prototype.editorWillSyncDocumentView = function () {\n return this.mutationObserver.stop();\n }, r.prototype.editorDidSyncDocumentView = function () {\n return this.mutationObserver.start();\n }, r.prototype.requestRender = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidRequestRender ? t.inputControllerDidRequestRender() : void 0;\n }, r.prototype.requestReparse = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidRequestReparse && t.inputControllerDidRequestReparse(), this.requestRender();\n }, r.prototype.attachFiles = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(new e.FileVerificationOperation(n));\n }\n\n return r;\n }(), Promise.all(i).then(function (t) {\n return function (e) {\n return t.handleInput(function () {\n var t, n;\n return null != (t = this.delegate) && t.inputControllerWillAttachFiles(), null != (n = this.responder) && n.insertFiles(e), this.requestRender();\n });\n };\n }(this));\n }, r.prototype.handlerFor = function (t) {\n return function (e) {\n return function (i) {\n return i.defaultPrevented ? void 0 : e.handleInput(function () {\n return n(this.element) ? void 0 : (this.eventName = t, this.events[t].call(this, i));\n });\n };\n }(this);\n }, r.prototype.handleInput = function (t) {\n var e, n;\n\n try {\n return null != (e = this.delegate) && e.inputControllerWillHandleInput(), t.call(this);\n } finally {\n null != (n = this.delegate) && n.inputControllerDidHandleInput();\n }\n }, r.prototype.createLinkHTML = function (t, e) {\n var n;\n return n = document.createElement(\"a\"), n.href = t, n.textContent = null != e ? e : t, n.outerHTML;\n }, r;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h,\n p,\n d,\n f = function f(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n g.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n g = {}.hasOwnProperty,\n m = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n c = e.makeElement, l = e.objectsAreEqual, d = e.tagName, n = e.browser, a = e.keyEventIsKeyboardCommand, o = e.dataTransferIsWritable, i = e.dataTransferIsPlainText, u = e.config.keyNames, e.Level0InputController = function (n) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.resetInputSummary();\n }\n\n var d;\n return f(s, n), d = 0, s.prototype.setInputSummary = function (t) {\n var e, n;\n null == t && (t = {}), this.inputSummary.eventName = this.eventName;\n\n for (e in t) {\n n = t[e], this.inputSummary[e] = n;\n }\n\n return this.inputSummary;\n }, s.prototype.resetInputSummary = function () {\n return this.inputSummary = {};\n }, s.prototype.reset = function () {\n return this.resetInputSummary(), e.selectionChangeObserver.reset();\n }, s.prototype.elementDidMutate = function (t) {\n var e;\n return this.isComposing() ? null != (e = this.delegate) && \"function\" == typeof e.inputControllerDidAllowUnhandledInput ? e.inputControllerDidAllowUnhandledInput() : void 0 : this.handleInput(function () {\n return this.mutationIsSignificant(t) && (this.mutationIsExpected(t) ? this.requestRender() : this.requestReparse()), this.reset();\n });\n }, s.prototype.mutationIsExpected = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n return a = t.textAdded, u = t.textDeleted, this.inputSummary.preferDocument ? !0 : (e = null != a ? a === this.inputSummary.textAdded : !this.inputSummary.textAdded, n = null != u ? this.inputSummary.didDelete : !this.inputSummary.didDelete, c = (\"\\n\" === a || \" \\n\" === a) && !e, l = \"\\n\" === u && !n, s = c && !l || l && !c, s && (o = this.getSelectedRange()) && (i = c ? a.replace(/\\n$/, \"\").length || -1 : (null != a ? a.length : void 0) || 1, null != (r = this.responder) ? r.positionIsBlockBreak(o[1] + i) : void 0) ? !0 : e && n);\n }, s.prototype.mutationIsSignificant = function (t) {\n var e, n, i;\n return i = Object.keys(t).length > 0, e = \"\" === (null != (n = this.compositionInput) ? n.getEndData() : void 0), i || !e;\n }, s.prototype.events = {\n keydown: function keydown(t) {\n var n, i, o, r, s, c, l, h, p;\n\n if (this.isComposing() || this.resetInputSummary(), this.inputSummary.didInput = !0, r = u[t.keyCode]) {\n for (i = this.keys, h = [\"ctrl\", \"alt\", \"shift\", \"meta\"], o = 0, c = h.length; c > o; o++) {\n l = h[o], t[l + \"Key\"] && (\"ctrl\" === l && (l = \"control\"), i = null != i ? i[l] : void 0);\n }\n\n null != (null != i ? i[r] : void 0) && (this.setInputSummary({\n keyName: r\n }), e.selectionChangeObserver.reset(), i[r].call(this, t));\n }\n\n return a(t) && (n = String.fromCharCode(t.keyCode).toLowerCase()) && (s = function () {\n var e, n, i, o;\n\n for (i = [\"alt\", \"shift\"], o = [], e = 0, n = i.length; n > e; e++) {\n l = i[e], t[l + \"Key\"] && o.push(l);\n }\n\n return o;\n }(), s.push(n), null != (p = this.delegate) ? p.inputControllerDidReceiveKeyboardCommand(s) : void 0) ? t.preventDefault() : void 0;\n },\n keypress: function keypress(t) {\n var e, n, i;\n if (null == this.inputSummary.eventName && !t.metaKey && (!t.ctrlKey || t.altKey)) return (i = p(t)) ? (null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(i), this.setInputSummary({\n textAdded: i,\n didDelete: this.selectionIsExpanded()\n })) : void 0;\n },\n textInput: function textInput(t) {\n var e, n, i, o;\n return e = t.data, o = this.inputSummary.textAdded, o && o !== e && o.toUpperCase() === e ? (n = this.getSelectedRange(), this.setSelectedRange([n[0], n[1] + o.length]), null != (i = this.responder) && i.insertString(e), this.setInputSummary({\n textAdded: e\n }), this.setSelectedRange(n)) : void 0;\n },\n dragenter: function dragenter(t) {\n return t.preventDefault();\n },\n dragstart: function dragstart(t) {\n var e, n;\n return n = t.target, this.serializeSelectionToDataTransfer(t.dataTransfer), this.draggedRange = this.getSelectedRange(), null != (e = this.delegate) && \"function\" == typeof e.inputControllerDidStartDrag ? e.inputControllerDidStartDrag() : void 0;\n },\n dragover: function dragover(t) {\n var e, n;\n return !this.draggedRange && !this.canAcceptDataTransfer(t.dataTransfer) || (t.preventDefault(), e = {\n x: t.clientX,\n y: t.clientY\n }, l(e, this.draggingPoint)) ? void 0 : (this.draggingPoint = e, null != (n = this.delegate) && \"function\" == typeof n.inputControllerDidReceiveDragOverPoint ? n.inputControllerDidReceiveDragOverPoint(this.draggingPoint) : void 0);\n },\n dragend: function dragend() {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidCancelDrag && t.inputControllerDidCancelDrag(), this.draggedRange = null, this.draggingPoint = null;\n },\n drop: function drop(t) {\n var n, i, o, r, s, a, u, c, l;\n return t.preventDefault(), o = null != (s = t.dataTransfer) ? s.files : void 0, r = {\n x: t.clientX,\n y: t.clientY\n }, null != (a = this.responder) && a.setLocationRangeFromPointRange(r), (null != o ? o.length : void 0) ? this.attachFiles(o) : this.draggedRange ? (null != (u = this.delegate) && u.inputControllerWillMoveText(), null != (c = this.responder) && c.moveTextFromRange(this.draggedRange), this.draggedRange = null, this.requestRender()) : (i = t.dataTransfer.getData(\"application/x-trix-document\")) && (n = e.Document.fromJSONString(i), null != (l = this.responder) && l.insertDocument(n), this.requestRender()), this.draggedRange = null, this.draggingPoint = null;\n },\n cut: function cut(t) {\n var e, n;\n return (null != (e = this.responder) ? e.selectionIsExpanded() : void 0) && (this.serializeSelectionToDataTransfer(t.clipboardData) && t.preventDefault(), null != (n = this.delegate) && n.inputControllerWillCutText(), this.deleteInDirection(\"backward\"), t.defaultPrevented) ? this.requestRender() : void 0;\n },\n copy: function copy(t) {\n var e;\n return (null != (e = this.responder) ? e.selectionIsExpanded() : void 0) && this.serializeSelectionToDataTransfer(t.clipboardData) ? t.preventDefault() : void 0;\n },\n paste: function paste(t) {\n var n, o, s, a, u, c, l, p, f, g, v, y, b, A, C, x, w, E, S, R, k, D, L;\n return n = null != (p = t.clipboardData) ? p : t.testClipboardData, l = {\n clipboard: n\n }, null == n || h(t) ? void this.getPastedHTMLUsingHiddenElement(function (t) {\n return function (e) {\n var n, i, o;\n return l.type = \"text/html\", l.html = e, null != (n = t.delegate) && n.inputControllerWillPaste(l), null != (i = t.responder) && i.insertHTML(l.html), t.requestRender(), null != (o = t.delegate) ? o.inputControllerDidPaste(l) : void 0;\n };\n }(this)) : ((a = n.getData(\"URL\")) ? (l.type = \"text/html\", L = (c = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(c).trim() : a, l.html = this.createLinkHTML(a, L), null != (f = this.delegate) && f.inputControllerWillPaste(l), this.setInputSummary({\n textAdded: L,\n didDelete: this.selectionIsExpanded()\n }), null != (C = this.responder) && C.insertHTML(l.html), this.requestRender(), null != (x = this.delegate) && x.inputControllerDidPaste(l)) : i(n) ? (l.type = \"text/plain\", l.string = n.getData(\"text/plain\"), null != (w = this.delegate) && w.inputControllerWillPaste(l), this.setInputSummary({\n textAdded: l.string,\n didDelete: this.selectionIsExpanded()\n }), null != (E = this.responder) && E.insertString(l.string), this.requestRender(), null != (S = this.delegate) && S.inputControllerDidPaste(l)) : (u = n.getData(\"text/html\")) ? (l.type = \"text/html\", l.html = u, null != (R = this.delegate) && R.inputControllerWillPaste(l), null != (k = this.responder) && k.insertHTML(l.html), this.requestRender(), null != (D = this.delegate) && D.inputControllerDidPaste(l)) : m.call(n.types, \"Files\") >= 0 && (s = null != (g = n.items) && null != (v = g[0]) && \"function\" == typeof v.getAsFile ? v.getAsFile() : void 0) && (!s.name && (o = r(s)) && (s.name = \"pasted-file-\" + ++d + \".\" + o), l.type = \"File\", l.file = s, null != (y = this.delegate) && y.inputControllerWillAttachFiles(), null != (b = this.responder) && b.insertFile(l.file), this.requestRender(), null != (A = this.delegate) && A.inputControllerDidPaste(l)), t.preventDefault());\n },\n compositionstart: function compositionstart(t) {\n return this.getCompositionInput().start(t.data);\n },\n compositionupdate: function compositionupdate(t) {\n return this.getCompositionInput().update(t.data);\n },\n compositionend: function compositionend(t) {\n return this.getCompositionInput().end(t.data);\n },\n beforeinput: function beforeinput() {\n return this.inputSummary.didInput = !0;\n },\n input: function input(t) {\n return this.inputSummary.didInput = !0, t.stopPropagation();\n }\n }, s.prototype.keys = {\n backspace: function backspace(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n \"delete\": function _delete(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n \"return\": function _return() {\n var t, e;\n return this.setInputSummary({\n preferDocument: !0\n }), null != (t = this.delegate) && t.inputControllerWillPerformTyping(), null != (e = this.responder) ? e.insertLineBreak() : void 0;\n },\n tab: function tab(t) {\n var e, n;\n return (null != (e = this.responder) ? e.canIncreaseNestingLevel() : void 0) ? (null != (n = this.responder) && n.increaseNestingLevel(), this.requestRender(), t.preventDefault()) : void 0;\n },\n left: function left(t) {\n var e;\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"backward\") : void 0) : void 0;\n },\n right: function right(t) {\n var e;\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"forward\") : void 0) : void 0;\n },\n control: {\n d: function d(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"forward\", t);\n },\n h: function h(t) {\n var e;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), this.deleteInDirection(\"backward\", t);\n },\n o: function o(t) {\n var e, n;\n return t.preventDefault(), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(\"\\n\", {\n updatePosition: !1\n }), this.requestRender();\n }\n },\n shift: {\n \"return\": function _return(t) {\n var e, n;\n return null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.insertString(\"\\n\"), this.requestRender(), t.preventDefault();\n },\n tab: function tab(t) {\n var e, n;\n return (null != (e = this.responder) ? e.canDecreaseNestingLevel() : void 0) ? (null != (n = this.responder) && n.decreaseNestingLevel(), this.requestRender(), t.preventDefault()) : void 0;\n },\n left: function left(t) {\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), this.expandSelectionInDirection(\"backward\")) : void 0;\n },\n right: function right(t) {\n return this.selectionIsInCursorTarget() ? (t.preventDefault(), this.expandSelectionInDirection(\"forward\")) : void 0;\n }\n },\n alt: {\n backspace: function backspace() {\n var t;\n return this.setInputSummary({\n preferDocument: !1\n }), null != (t = this.delegate) ? t.inputControllerWillPerformTyping() : void 0;\n }\n },\n meta: {\n backspace: function backspace() {\n var t;\n return this.setInputSummary({\n preferDocument: !1\n }), null != (t = this.delegate) ? t.inputControllerWillPerformTyping() : void 0;\n }\n }\n }, s.prototype.getCompositionInput = function () {\n return this.isComposing() ? this.compositionInput : this.compositionInput = new t(this);\n }, s.prototype.isComposing = function () {\n return null != this.compositionInput && !this.compositionInput.isEnded();\n }, s.prototype.deleteInDirection = function (t, e) {\n var n;\n return (null != (n = this.responder) ? n.deleteInDirection(t) : void 0) !== !1 ? this.setInputSummary({\n didDelete: !0\n }) : e ? (e.preventDefault(), this.requestRender()) : void 0;\n }, s.prototype.serializeSelectionToDataTransfer = function (t) {\n var n, i;\n if (o(t)) return n = null != (i = this.responder) ? i.getSelectedDocument().toSerializableDocument() : void 0, t.setData(\"application/x-trix-document\", JSON.stringify(n)), t.setData(\"text/html\", e.DocumentView.render(n).innerHTML), t.setData(\"text/plain\", n.toString().replace(/\\n$/, \"\")), !0;\n }, s.prototype.canAcceptDataTransfer = function (t) {\n var e, n, i, o, r, s;\n\n for (s = {}, o = null != (i = null != t ? t.types : void 0) ? i : [], e = 0, n = o.length; n > e; e++) {\n r = o[e], s[r] = !0;\n }\n\n return s.Files || s[\"application/x-trix-document\"] || s[\"text/html\"] || s[\"text/plain\"];\n }, s.prototype.getPastedHTMLUsingHiddenElement = function (t) {\n var n, i, o;\n return i = this.getSelectedRange(), o = {\n position: \"absolute\",\n left: window.pageXOffset + \"px\",\n top: window.pageYOffset + \"px\",\n opacity: 0\n }, n = c({\n style: o,\n tagName: \"div\",\n editable: !0\n }), document.body.appendChild(n), n.focus(), requestAnimationFrame(function (o) {\n return function () {\n var r;\n return r = n.innerHTML, e.removeNode(n), o.setSelectedRange(i), t(r);\n };\n }(this));\n }, s.proxyMethod(\"responder?.getSelectedRange\"), s.proxyMethod(\"responder?.setSelectedRange\"), s.proxyMethod(\"responder?.expandSelectionInDirection\"), s.proxyMethod(\"responder?.selectionIsInCursorTarget\"), s.proxyMethod(\"responder?.selectionIsExpanded\"), s;\n }(e.InputController), r = function r(t) {\n var e, n;\n return null != (e = t.type) && null != (n = e.match(/\\/(\\w+)$/)) ? n[1] : void 0;\n }, s = null != (\"function\" == typeof \" \".codePointAt ? \" \".codePointAt(0) : void 0), p = function p(t) {\n var n;\n return t.key && s && t.key.codePointAt(0) === t.keyCode ? t.key : (null === t.which ? n = t.keyCode : 0 !== t.which && 0 !== t.charCode && (n = t.charCode), null != n && \"escape\" !== u[n] ? e.UTF16String.fromCodepoints([n]).toString() : void 0);\n }, h = function h(t) {\n var e, n, i, o, r, s, a, u, c, l;\n\n if (u = t.clipboardData) {\n if (m.call(u.types, \"text/html\") >= 0) {\n for (c = u.types, i = 0, s = c.length; s > i; i++) {\n if (l = c[i], e = /^CorePasteboardFlavorType/.test(l), n = /^dyn\\./.test(l) && u.getData(l), a = e || n) return !0;\n }\n\n return !1;\n }\n\n return o = m.call(u.types, \"com.apple.webarchive\") >= 0, r = m.call(u.types, \"com.apple.flat-rtfd\") >= 0, o || r;\n }\n }, t = function (t) {\n function e(t) {\n var e;\n this.inputController = t, e = this.inputController, this.responder = e.responder, this.delegate = e.delegate, this.inputSummary = e.inputSummary, this.data = {};\n }\n\n return f(e, t), e.prototype.start = function (t) {\n var e, n;\n return this.data.start = t, this.isSignificant() ? (\"keypress\" === this.inputSummary.eventName && this.inputSummary.textAdded && null != (e = this.responder) && e.deleteInDirection(\"left\"), this.selectionIsExpanded() || (this.insertPlaceholder(), this.requestRender()), this.range = null != (n = this.responder) ? n.getSelectedRange() : void 0) : void 0;\n }, e.prototype.update = function (t) {\n var e;\n return this.data.update = t, this.isSignificant() && (e = this.selectPlaceholder()) ? (this.forgetPlaceholder(), this.range = e) : void 0;\n }, e.prototype.end = function (t) {\n var e, n, i, o;\n return this.data.end = t, this.isSignificant() ? (this.forgetPlaceholder(), this.canApplyToDocument() ? (this.setInputSummary({\n preferDocument: !0,\n didInput: !1\n }), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.setSelectedRange(this.range), null != (i = this.responder) && i.insertString(this.data.end), null != (o = this.responder) ? o.setSelectedRange(this.range[0] + this.data.end.length) : void 0) : null != this.data.start || null != this.data.update ? (this.requestReparse(), this.inputController.reset()) : void 0) : this.inputController.reset();\n }, e.prototype.getEndData = function () {\n return this.data.end;\n }, e.prototype.isEnded = function () {\n return null != this.getEndData();\n }, e.prototype.isSignificant = function () {\n return n.composesExistingText ? this.inputSummary.didInput : !0;\n }, e.prototype.canApplyToDocument = function () {\n var t, e;\n return 0 === (null != (t = this.data.start) ? t.length : void 0) && (null != (e = this.data.end) ? e.length : void 0) > 0 && null != this.range;\n }, e.proxyMethod(\"inputController.setInputSummary\"), e.proxyMethod(\"inputController.requestRender\"), e.proxyMethod(\"inputController.requestReparse\"), e.proxyMethod(\"responder?.selectionIsExpanded\"), e.proxyMethod(\"responder?.insertPlaceholder\"), e.proxyMethod(\"responder?.selectPlaceholder\"), e.proxyMethod(\"responder?.forgetPlaceholder\"), e;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.dataTransferIsPlainText, n = e.keyEventIsKeyboardCommand, i = e.objectsAreEqual, e.Level2InputController = function (s) {\n function u() {\n return this.render = o(this.render, this), u.__super__.constructor.apply(this, arguments);\n }\n\n var c, l, h, p, d, f;\n return r(u, s), u.prototype.elementDidMutate = function () {\n var t;\n return this.scheduledRender ? this.composing && null != (t = this.delegate) && \"function\" == typeof t.inputControllerDidAllowUnhandledInput ? t.inputControllerDidAllowUnhandledInput() : void 0 : this.reparse();\n }, u.prototype.scheduleRender = function () {\n return null != this.scheduledRender ? this.scheduledRender : this.scheduledRender = requestAnimationFrame(this.render);\n }, u.prototype.render = function () {\n var t;\n return cancelAnimationFrame(this.scheduledRender), this.scheduledRender = null, this.composing || null != (t = this.delegate) && t.render(), \"function\" == typeof this.afterRender && this.afterRender(), this.afterRender = null;\n }, u.prototype.reparse = function () {\n var t;\n return null != (t = this.delegate) ? t.reparse() : void 0;\n }, u.prototype.events = {\n keydown: function keydown(t) {\n var e, i, o, r;\n\n if (n(t)) {\n if (e = l(t), null != (r = this.delegate) ? r.inputControllerDidReceiveKeyboardCommand(e) : void 0) return t.preventDefault();\n } else if (o = t.key, t.altKey && (o += \"+Alt\"), t.shiftKey && (o += \"+Shift\"), i = this.keys[o]) return this.withEvent(t, i);\n },\n paste: function paste(t) {\n var e, n, i, o, r, s, a, u, c;\n return h(t) ? (t.preventDefault(), this.attachFiles(t.clipboardData.files)) : p(t) ? (t.preventDefault(), n = {\n type: \"text/plain\",\n string: t.clipboardData.getData(\"text/plain\")\n }, null != (i = this.delegate) && i.inputControllerWillPaste(n), null != (o = this.responder) && o.insertString(n.string), this.render(), null != (r = this.delegate) ? r.inputControllerDidPaste(n) : void 0) : (e = null != (s = t.clipboardData) ? s.getData(\"URL\") : void 0) ? (t.preventDefault(), n = {\n type: \"text/html\",\n html: this.createLinkHTML(e)\n }, null != (a = this.delegate) && a.inputControllerWillPaste(n), null != (u = this.responder) && u.insertHTML(n.html), this.render(), null != (c = this.delegate) ? c.inputControllerDidPaste(n) : void 0) : void 0;\n },\n beforeinput: function beforeinput(t) {\n var e;\n return (e = this.inputTypes[t.inputType]) ? (this.withEvent(t, e), this.scheduleRender()) : void 0;\n },\n input: function input() {\n return e.selectionChangeObserver.reset();\n },\n dragstart: function dragstart(t) {\n var e, n;\n return (null != (e = this.responder) ? e.selectionContainsAttachments() : void 0) ? (t.dataTransfer.setData(\"application/x-trix-dragging\", !0), this.dragging = {\n range: null != (n = this.responder) ? n.getSelectedRange() : void 0,\n point: d(t)\n }) : void 0;\n },\n dragenter: function dragenter(t) {\n return c(t) ? t.preventDefault() : void 0;\n },\n dragover: function dragover(t) {\n var e, n;\n\n if (this.dragging) {\n if (t.preventDefault(), e = d(t), !i(e, this.dragging.point)) return this.dragging.point = e, null != (n = this.responder) ? n.setLocationRangeFromPointRange(e) : void 0;\n } else if (c(t)) return t.preventDefault();\n },\n drop: function drop(t) {\n var e, n, i, o;\n return this.dragging ? (t.preventDefault(), null != (n = this.delegate) && n.inputControllerWillMoveText(), null != (i = this.responder) && i.moveTextFromRange(this.dragging.range), this.dragging = null, this.scheduleRender()) : c(t) ? (t.preventDefault(), e = d(t), null != (o = this.responder) && o.setLocationRangeFromPointRange(e), this.attachFiles(t.dataTransfer.files)) : void 0;\n },\n dragend: function dragend() {\n var t;\n return this.dragging ? (null != (t = this.responder) && t.setSelectedRange(this.dragging.range), this.dragging = null) : void 0;\n },\n compositionend: function compositionend() {\n return this.composing ? (this.composing = !1, this.scheduleRender()) : void 0;\n }\n }, u.prototype.keys = {\n ArrowLeft: function ArrowLeft() {\n var t, e;\n return (null != (t = this.responder) ? t.shouldManageMovingCursorInDirection(\"backward\") : void 0) ? (this.event.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"backward\") : void 0) : void 0;\n },\n ArrowRight: function ArrowRight() {\n var t, e;\n return (null != (t = this.responder) ? t.shouldManageMovingCursorInDirection(\"forward\") : void 0) ? (this.event.preventDefault(), null != (e = this.responder) ? e.moveCursorInDirection(\"forward\") : void 0) : void 0;\n },\n Backspace: function Backspace() {\n var t, e, n;\n return (null != (t = this.responder) ? t.shouldManageDeletingInDirection(\"backward\") : void 0) ? (this.event.preventDefault(), null != (e = this.delegate) && e.inputControllerWillPerformTyping(), null != (n = this.responder) && n.deleteInDirection(\"backward\"), this.render()) : void 0;\n },\n Tab: function Tab() {\n var t, e;\n return (null != (t = this.responder) ? t.canIncreaseNestingLevel() : void 0) ? (this.event.preventDefault(), null != (e = this.responder) && e.increaseNestingLevel(), this.render()) : void 0;\n },\n \"Tab+Shift\": function TabShift() {\n var t, e;\n return (null != (t = this.responder) ? t.canDecreaseNestingLevel() : void 0) ? (this.event.preventDefault(), null != (e = this.responder) && e.decreaseNestingLevel(), this.render()) : void 0;\n }\n }, u.prototype.inputTypes = {\n deleteByComposition: function deleteByComposition() {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteByCut: function deleteByCut() {\n return this.deleteInDirection(\"backward\");\n },\n deleteByDrag: function deleteByDrag() {\n return this.event.preventDefault(), this.withTargetDOMRange(function () {\n var t;\n return this.deleteByDragRange = null != (t = this.responder) ? t.getSelectedRange() : void 0;\n });\n },\n deleteCompositionText: function deleteCompositionText() {\n return this.deleteInDirection(\"backward\", {\n recordUndoEntry: !1\n });\n },\n deleteContent: function deleteContent() {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentBackward: function deleteContentBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteContentForward: function deleteContentForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteEntireSoftLine: function deleteEntireSoftLine() {\n return this.deleteInDirection(\"forward\");\n },\n deleteHardLineBackward: function deleteHardLineBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteHardLineForward: function deleteHardLineForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteSoftLineBackward: function deleteSoftLineBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteSoftLineForward: function deleteSoftLineForward() {\n return this.deleteInDirection(\"forward\");\n },\n deleteWordBackward: function deleteWordBackward() {\n return this.deleteInDirection(\"backward\");\n },\n deleteWordForward: function deleteWordForward() {\n return this.deleteInDirection(\"forward\");\n },\n formatBackColor: function formatBackColor() {\n return this.activateAttributeIfSupported(\"backgroundColor\", this.event.data);\n },\n formatBold: function formatBold() {\n return this.toggleAttributeIfSupported(\"bold\");\n },\n formatFontColor: function formatFontColor() {\n return this.activateAttributeIfSupported(\"color\", this.event.data);\n },\n formatFontName: function formatFontName() {\n return this.activateAttributeIfSupported(\"font\", this.event.data);\n },\n formatIndent: function formatIndent() {\n var t;\n return (null != (t = this.responder) ? t.canIncreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.increaseNestingLevel() : void 0;\n }) : void 0;\n },\n formatItalic: function formatItalic() {\n return this.toggleAttributeIfSupported(\"italic\");\n },\n formatJustifyCenter: function formatJustifyCenter() {\n return this.toggleAttributeIfSupported(\"justifyCenter\");\n },\n formatJustifyFull: function formatJustifyFull() {\n return this.toggleAttributeIfSupported(\"justifyFull\");\n },\n formatJustifyLeft: function formatJustifyLeft() {\n return this.toggleAttributeIfSupported(\"justifyLeft\");\n },\n formatJustifyRight: function formatJustifyRight() {\n return this.toggleAttributeIfSupported(\"justifyRight\");\n },\n formatOutdent: function formatOutdent() {\n var t;\n return (null != (t = this.responder) ? t.canDecreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.decreaseNestingLevel() : void 0;\n }) : void 0;\n },\n formatRemove: function formatRemove() {\n return this.withTargetDOMRange(function () {\n var t, e, n, i;\n i = [];\n\n for (t in null != (e = this.responder) ? e.getCurrentAttributes() : void 0) {\n i.push(null != (n = this.responder) ? n.removeCurrentAttribute(t) : void 0);\n }\n\n return i;\n });\n },\n formatSetBlockTextDirection: function formatSetBlockTextDirection() {\n return this.activateAttributeIfSupported(\"blockDir\", this.event.data);\n },\n formatSetInlineTextDirection: function formatSetInlineTextDirection() {\n return this.activateAttributeIfSupported(\"textDir\", this.event.data);\n },\n formatStrikeThrough: function formatStrikeThrough() {\n return this.toggleAttributeIfSupported(\"strike\");\n },\n formatSubscript: function formatSubscript() {\n return this.toggleAttributeIfSupported(\"sub\");\n },\n formatSuperscript: function formatSuperscript() {\n return this.toggleAttributeIfSupported(\"sup\");\n },\n formatUnderline: function formatUnderline() {\n return this.toggleAttributeIfSupported(\"underline\");\n },\n historyRedo: function historyRedo() {\n var t;\n return null != (t = this.delegate) ? t.inputControllerWillPerformRedo() : void 0;\n },\n historyUndo: function historyUndo() {\n var t;\n return null != (t = this.delegate) ? t.inputControllerWillPerformUndo() : void 0;\n },\n insertCompositionText: function insertCompositionText() {\n return this.composing = !0, this.insertString(this.event.data);\n },\n insertFromComposition: function insertFromComposition() {\n return this.composing = !1, this.insertString(this.event.data);\n },\n insertFromDrop: function insertFromDrop() {\n var t, e;\n return (t = this.deleteByDragRange) ? (this.deleteByDragRange = null, null != (e = this.delegate) && e.inputControllerWillMoveText(), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.moveTextFromRange(t) : void 0;\n })) : void 0;\n },\n insertFromPaste: function insertFromPaste() {\n var n, i, o, r, s, a, u, c, l, h, p;\n return n = this.event.dataTransfer, s = {\n dataTransfer: n\n }, (i = n.getData(\"URL\")) ? (this.event.preventDefault(), s.type = \"text/html\", p = (r = n.getData(\"public.url-name\")) ? e.squishBreakableWhitespace(r).trim() : i, s.html = this.createLinkHTML(i, p), null != (a = this.delegate) && a.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertHTML(s.html) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : t(n) ? (s.type = \"text/plain\", s.string = n.getData(\"text/plain\"), null != (u = this.delegate) && u.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertString(s.string) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : (o = n.getData(\"text/html\")) ? (this.event.preventDefault(), s.type = \"text/html\", s.html = o, null != (c = this.delegate) && c.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertHTML(s.html) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : (null != (l = n.files) ? l.length : void 0) ? (s.type = \"File\", s.file = n.files[0], null != (h = this.delegate) && h.inputControllerWillPaste(s), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertFile(s.file) : void 0;\n }), this.afterRender = function (t) {\n return function () {\n var e;\n return null != (e = t.delegate) ? e.inputControllerDidPaste(s) : void 0;\n };\n }(this)) : void 0;\n },\n insertFromYank: function insertFromYank() {\n return this.insertString(this.event.data);\n },\n insertLineBreak: function insertLineBreak() {\n return this.insertString(\"\\n\");\n },\n insertLink: function insertLink() {\n return this.activateAttributeIfSupported(\"href\", this.event.data);\n },\n insertOrderedList: function insertOrderedList() {\n return this.toggleAttributeIfSupported(\"number\");\n },\n insertParagraph: function insertParagraph() {\n var t;\n return null != (t = this.delegate) && t.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var t;\n return null != (t = this.responder) ? t.insertLineBreak() : void 0;\n });\n },\n insertReplacementText: function insertReplacementText() {\n return this.insertString(this.event.dataTransfer.getData(\"text/plain\"), {\n updatePosition: !1\n });\n },\n insertText: function insertText() {\n var t, e;\n return this.insertString(null != (t = this.event.data) ? t : null != (e = this.event.dataTransfer) ? e.getData(\"text/plain\") : void 0);\n },\n insertTranspose: function insertTranspose() {\n return this.insertString(this.event.data);\n },\n insertUnorderedList: function insertUnorderedList() {\n return this.toggleAttributeIfSupported(\"bullet\");\n }\n }, u.prototype.insertString = function (t, e) {\n var n;\n return null == t && (t = \"\"), null != (n = this.delegate) && n.inputControllerWillPerformTyping(), this.withTargetDOMRange(function () {\n var n;\n return null != (n = this.responder) ? n.insertString(t, e) : void 0;\n });\n }, u.prototype.toggleAttributeIfSupported = function (t) {\n var n;\n return a.call(e.getAllAttributeNames(), t) >= 0 ? (null != (n = this.delegate) && n.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.toggleCurrentAttribute(t) : void 0;\n })) : void 0;\n }, u.prototype.activateAttributeIfSupported = function (t, n) {\n var i;\n return a.call(e.getAllAttributeNames(), t) >= 0 ? (null != (i = this.delegate) && i.inputControllerWillPerformFormatting(t), this.withTargetDOMRange(function () {\n var e;\n return null != (e = this.responder) ? e.setCurrentAttribute(t, n) : void 0;\n })) : void 0;\n }, u.prototype.deleteInDirection = function (t, e) {\n var n, i, o, r;\n return o = (null != e ? e : {\n recordUndoEntry: !0\n }).recordUndoEntry, o && null != (r = this.delegate) && r.inputControllerWillPerformTyping(), i = function (e) {\n return function () {\n var n;\n return null != (n = e.responder) ? n.deleteInDirection(t) : void 0;\n };\n }(this), (n = this.getTargetDOMRange({\n minLength: 2\n })) ? this.withTargetDOMRange(n, i) : i();\n }, u.prototype.withTargetDOMRange = function (t, n) {\n var i;\n return \"function\" == typeof t && (n = t, t = this.getTargetDOMRange()), t ? null != (i = this.responder) ? i.withTargetDOMRange(t, n.bind(this)) : void 0 : (e.selectionChangeObserver.reset(), n.call(this));\n }, u.prototype.getTargetDOMRange = function (t) {\n var e, n, i, o;\n return i = (null != t ? t : {\n minLength: 0\n }).minLength, (o = \"function\" == typeof (e = this.event).getTargetRanges ? e.getTargetRanges() : void 0) && o.length && (n = f(o[0]), 0 === i || n.toString().length >= i) ? n : void 0;\n }, f = function f(t) {\n var e;\n return e = document.createRange(), e.setStart(t.startContainer, t.startOffset), e.setEnd(t.endContainer, t.endOffset), e;\n }, u.prototype.withEvent = function (t, e) {\n var n;\n this.event = t;\n\n try {\n n = e.call(this);\n } finally {\n this.event = null;\n }\n\n return n;\n }, c = function c(t) {\n var e, n;\n return a.call(null != (e = null != (n = t.dataTransfer) ? n.types : void 0) ? e : [], \"Files\") >= 0;\n }, h = function h(t) {\n var e;\n return (e = t.clipboardData) ? a.call(e.types, \"Files\") >= 0 && 1 === e.types.length && e.files.length >= 1 : void 0;\n }, p = function p(t) {\n var e;\n return (e = t.clipboardData) ? a.call(e.types, \"text/plain\") >= 0 && 1 === e.types.length : void 0;\n }, l = function l(t) {\n var e;\n return e = [], t.altKey && e.push(\"alt\"), t.shiftKey && e.push(\"shift\"), e.push(t.key), e;\n }, d = function d(t) {\n return {\n x: t.clientX,\n y: t.clientY\n };\n }, u;\n }(e.InputController);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c = function c(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n l = function l(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n h.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n h = {}.hasOwnProperty;\n\n n = e.defer, i = e.handleEvent, s = e.makeElement, u = e.tagName, a = e.config, r = a.lang, t = a.css, o = a.keyNames, e.AttachmentEditorController = function (a) {\n function h(t, e, n, i) {\n this.attachmentPiece = t, this.element = e, this.container = n, this.options = null != i ? i : {}, this.didBlurCaption = c(this.didBlurCaption, this), this.didChangeCaption = c(this.didChangeCaption, this), this.didInputCaption = c(this.didInputCaption, this), this.didKeyDownCaption = c(this.didKeyDownCaption, this), this.didClickActionButton = c(this.didClickActionButton, this), this.didClickToolbar = c(this.didClickToolbar, this), this.attachment = this.attachmentPiece.attachment, \"a\" === u(this.element) && (this.element = this.element.firstChild), this.install();\n }\n\n var p;\n return l(h, a), p = function p(t) {\n return function () {\n var e;\n return e = t.apply(this, arguments), e[\"do\"](), null == this.undos && (this.undos = []), this.undos.push(e.undo);\n };\n }, h.prototype.install = function () {\n return this.makeElementMutable(), this.addToolbar(), this.attachment.isPreviewable() ? this.installCaptionEditor() : void 0;\n }, h.prototype.uninstall = function () {\n var t, e;\n\n for (this.savePendingCaption(); e = this.undos.pop();) {\n e();\n }\n\n return null != (t = this.delegate) ? t.didUninstallAttachmentEditor(this) : void 0;\n }, h.prototype.savePendingCaption = function () {\n var t, e, n;\n return null != this.pendingCaption ? (t = this.pendingCaption, this.pendingCaption = null, t ? null != (e = this.delegate) && \"function\" == typeof e.attachmentEditorDidRequestUpdatingAttributesForAttachment ? e.attachmentEditorDidRequestUpdatingAttributesForAttachment({\n caption: t\n }, this.attachment) : void 0 : null != (n = this.delegate) && \"function\" == typeof n.attachmentEditorDidRequestRemovingAttributeForAttachment ? n.attachmentEditorDidRequestRemovingAttributeForAttachment(\"caption\", this.attachment) : void 0) : void 0;\n }, h.prototype.makeElementMutable = p(function () {\n return {\n \"do\": function (t) {\n return function () {\n return t.element.dataset.trixMutable = !0;\n };\n }(this),\n undo: function (t) {\n return function () {\n return delete t.element.dataset.trixMutable;\n };\n }(this)\n };\n }), h.prototype.addToolbar = p(function () {\n var n;\n return n = s({\n tagName: \"div\",\n className: t.attachmentToolbar,\n data: {\n trixMutable: !0\n },\n childNodes: s({\n tagName: \"div\",\n className: \"trix-button-row\",\n childNodes: s({\n tagName: \"span\",\n className: \"trix-button-group trix-button-group--actions\",\n childNodes: s({\n tagName: \"button\",\n className: \"trix-button trix-button--remove\",\n textContent: r.remove,\n attributes: {\n title: r.remove\n },\n data: {\n trixAction: \"remove\"\n }\n })\n })\n })\n }), this.attachment.isPreviewable() && n.appendChild(s({\n tagName: \"div\",\n className: t.attachmentMetadataContainer,\n childNodes: s({\n tagName: \"span\",\n className: t.attachmentMetadata,\n childNodes: [s({\n tagName: \"span\",\n className: t.attachmentName,\n textContent: this.attachment.getFilename(),\n attributes: {\n title: this.attachment.getFilename()\n }\n }), s({\n tagName: \"span\",\n className: t.attachmentSize,\n textContent: this.attachment.getFormattedFilesize()\n })]\n })\n })), i(\"click\", {\n onElement: n,\n withCallback: this.didClickToolbar\n }), i(\"click\", {\n onElement: n,\n matchingSelector: \"[data-trix-action]\",\n withCallback: this.didClickActionButton\n }), {\n \"do\": function (t) {\n return function () {\n return t.element.appendChild(n);\n };\n }(this),\n undo: function () {\n return function () {\n return e.removeNode(n);\n };\n }(this)\n };\n }), h.prototype.installCaptionEditor = p(function () {\n var o, a, u, c, l;\n return c = s({\n tagName: \"textarea\",\n className: t.attachmentCaptionEditor,\n attributes: {\n placeholder: r.captionPlaceholder\n },\n data: {\n trixMutable: !0\n }\n }), c.value = this.attachmentPiece.getCaption(), l = c.cloneNode(), l.classList.add(\"trix-autoresize-clone\"), l.tabIndex = -1, o = function o() {\n return l.value = c.value, c.style.height = l.scrollHeight + \"px\";\n }, i(\"input\", {\n onElement: c,\n withCallback: o\n }), i(\"input\", {\n onElement: c,\n withCallback: this.didInputCaption\n }), i(\"keydown\", {\n onElement: c,\n withCallback: this.didKeyDownCaption\n }), i(\"change\", {\n onElement: c,\n withCallback: this.didChangeCaption\n }), i(\"blur\", {\n onElement: c,\n withCallback: this.didBlurCaption\n }), u = this.element.querySelector(\"figcaption\"), a = u.cloneNode(), {\n \"do\": function (e) {\n return function () {\n return u.style.display = \"none\", a.appendChild(c), a.appendChild(l), a.classList.add(t.attachmentCaption + \"--editing\"), u.parentElement.insertBefore(a, u), o(), e.options.editCaption ? n(function () {\n return c.focus();\n }) : void 0;\n };\n }(this),\n undo: function undo() {\n return e.removeNode(a), u.style.display = null;\n }\n };\n }), h.prototype.didClickToolbar = function (t) {\n return t.preventDefault(), t.stopPropagation();\n }, h.prototype.didClickActionButton = function (t) {\n var e, n;\n\n switch (e = t.target.getAttribute(\"data-trix-action\")) {\n case \"remove\":\n return null != (n = this.delegate) ? n.attachmentEditorDidRequestRemovalOfAttachment(this.attachment) : void 0;\n }\n }, h.prototype.didKeyDownCaption = function (t) {\n var e;\n return \"return\" === o[t.keyCode] ? (t.preventDefault(), this.savePendingCaption(), null != (e = this.delegate) && \"function\" == typeof e.attachmentEditorDidRequestDeselectingAttachment ? e.attachmentEditorDidRequestDeselectingAttachment(this.attachment) : void 0) : void 0;\n }, h.prototype.didInputCaption = function (t) {\n return this.pendingCaption = t.target.value.replace(/\\s/g, \" \").trim();\n }, h.prototype.didChangeCaption = function () {\n return this.savePendingCaption();\n }, h.prototype.didBlurCaption = function () {\n return this.savePendingCaption();\n }, h;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, t = e.config.css, e.AttachmentView = function (r) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.attachment = this.object, this.attachment.uploadProgressDelegate = this, this.attachmentPiece = this.options.piece;\n }\n\n var a;\n return o(s, r), s.attachmentSelector = \"[data-trix-attachment]\", s.prototype.createContentNodes = function () {\n return [];\n }, s.prototype.createNodes = function () {\n var e, n, o, r, s, u, c;\n if (e = r = i({\n tagName: \"figure\",\n className: this.getClassName(),\n data: this.getData(),\n editable: !1\n }), (n = this.getHref()) && (r = i({\n tagName: \"a\",\n editable: !1,\n attributes: {\n href: n,\n tabindex: -1\n }\n }), e.appendChild(r)), this.attachment.hasContent()) r.innerHTML = this.attachment.getContent();else for (c = this.createContentNodes(), o = 0, s = c.length; s > o; o++) {\n u = c[o], r.appendChild(u);\n }\n return r.appendChild(this.createCaptionElement()), this.attachment.isPending() && (this.progressElement = i({\n tagName: \"progress\",\n attributes: {\n \"class\": t.attachmentProgress,\n value: this.attachment.getUploadProgress(),\n max: 100\n },\n data: {\n trixMutable: !0,\n trixStoreKey: [\"progressElement\", this.attachment.id].join(\"/\")\n }\n }), e.appendChild(this.progressElement)), [a(\"left\"), e, a(\"right\")];\n }, s.prototype.createCaptionElement = function () {\n var e, n, o, r, s, a, u;\n return o = i({\n tagName: \"figcaption\",\n className: t.attachmentCaption\n }), (e = this.attachmentPiece.getCaption()) ? (o.classList.add(t.attachmentCaption + \"--edited\"), o.textContent = e) : (n = this.getCaptionConfig(), n.name && (r = this.attachment.getFilename()), n.size && (a = this.attachment.getFormattedFilesize()), r && (s = i({\n tagName: \"span\",\n className: t.attachmentName,\n textContent: r\n }), o.appendChild(s)), a && (r && o.appendChild(document.createTextNode(\" \")), u = i({\n tagName: \"span\",\n className: t.attachmentSize,\n textContent: a\n }), o.appendChild(u))), o;\n }, s.prototype.getClassName = function () {\n var e, n;\n return n = [t.attachment, t.attachment + \"--\" + this.attachment.getType()], (e = this.attachment.getExtension()) && n.push(t.attachment + \"--\" + e), n.join(\" \");\n }, s.prototype.getData = function () {\n var t, e;\n return e = {\n trixAttachment: JSON.stringify(this.attachment),\n trixContentType: this.attachment.getContentType(),\n trixId: this.attachment.id\n }, t = this.attachmentPiece.attributes, t.isEmpty() || (e.trixAttributes = JSON.stringify(t)), this.attachment.isPending() && (e.trixSerialize = !1), e;\n }, s.prototype.getHref = function () {\n return n(this.attachment.getContent(), \"a\") ? void 0 : this.attachment.getHref();\n }, s.prototype.getCaptionConfig = function () {\n var t, n, i;\n return i = this.attachment.getType(), t = e.copyObject(null != (n = e.config.attachments[i]) ? n.caption : void 0), \"file\" === i && (t.name = !0), t;\n }, s.prototype.findProgressElement = function () {\n var t;\n return null != (t = this.findElement()) ? t.querySelector(\"progress\") : void 0;\n }, a = function a(t) {\n return i({\n tagName: \"span\",\n textContent: e.ZERO_WIDTH_SPACE,\n data: {\n trixCursorTarget: t,\n trixSerialize: !1\n }\n });\n }, s.prototype.attachmentDidChangeUploadProgress = function () {\n var t, e;\n return e = this.attachment.getUploadProgress(), null != (t = this.findProgressElement()) ? t.value = e : void 0;\n }, s;\n }(e.ObjectView), n = function n(t, e) {\n var n;\n return n = i(\"div\"), n.innerHTML = null != t ? t : \"\", n.querySelector(e);\n };\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.makeElement, e.PreviewableAttachmentView = function (i) {\n function o() {\n o.__super__.constructor.apply(this, arguments), this.attachment.previewDelegate = this;\n }\n\n return n(o, i), o.prototype.createContentNodes = function () {\n return this.image = t({\n tagName: \"img\",\n attributes: {\n src: \"\"\n },\n data: {\n trixMutable: !0\n }\n }), this.refresh(this.image), [this.image];\n }, o.prototype.createCaptionElement = function () {\n var t;\n return t = o.__super__.createCaptionElement.apply(this, arguments), t.textContent || t.setAttribute(\"data-trix-placeholder\", e.config.lang.captionPlaceholder), t;\n }, o.prototype.refresh = function (t) {\n var e;\n return null == t && (t = null != (e = this.findElement()) ? e.querySelector(\"img\") : void 0), t ? this.updateAttributesForImage(t) : void 0;\n }, o.prototype.updateAttributesForImage = function (t) {\n var e, n, i, o, r, s;\n return r = this.attachment.getURL(), n = this.attachment.getPreviewURL(), t.src = n || r, n === r ? t.removeAttribute(\"data-trix-serialized-attributes\") : (i = JSON.stringify({\n src: r\n }), t.setAttribute(\"data-trix-serialized-attributes\", i)), s = this.attachment.getWidth(), e = this.attachment.getHeight(), null != s && (t.width = s), null != e && (t.height = e), o = [\"imageElement\", this.attachment.id, t.src, t.width, t.height].join(\"/\"), t.dataset.trixStoreKey = o;\n }, o.prototype.attachmentDidChangeAttributes = function () {\n return this.refresh(this.image), this.refresh();\n }, o;\n }(e.AttachmentView);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, t = e.findInnerElement, n = e.getTextConfig, e.PieceView = function (r) {\n function s() {\n var t;\n s.__super__.constructor.apply(this, arguments), this.piece = this.object, this.attributes = this.piece.getAttributes(), t = this.options, this.textConfig = t.textConfig, this.context = t.context, this.piece.attachment ? this.attachment = this.piece.attachment : this.string = this.piece.toString();\n }\n\n var a;\n return o(s, r), s.prototype.createNodes = function () {\n var e, n, i, o, r, s;\n\n if (s = this.attachment ? this.createAttachmentNodes() : this.createStringNodes(), e = this.createElement()) {\n for (i = t(e), n = 0, o = s.length; o > n; n++) {\n r = s[n], i.appendChild(r);\n }\n\n s = [e];\n }\n\n return s;\n }, s.prototype.createAttachmentNodes = function () {\n var t, n;\n return t = this.attachment.isPreviewable() ? e.PreviewableAttachmentView : e.AttachmentView, n = this.createChildView(t, this.piece.attachment, {\n piece: this.piece\n }), n.getNodes();\n }, s.prototype.createStringNodes = function () {\n var t, e, n, o, r, s, a, u, c, l;\n if (null != (u = this.textConfig) ? u.plaintext : void 0) return [document.createTextNode(this.string)];\n\n for (a = [], c = this.string.split(\"\\n\"), n = e = 0, o = c.length; o > e; n = ++e) {\n l = c[n], n > 0 && (t = i(\"br\"), a.push(t)), (r = l.length) && (s = document.createTextNode(this.preserveSpaces(l)), a.push(s));\n }\n\n return a;\n }, s.prototype.createElement = function () {\n var t, e, o, r, s, a, u, c, l;\n c = {}, a = this.attributes;\n\n for (r in a) {\n if (l = a[r], (t = n(r)) && (t.tagName && (s = i(t.tagName), o ? (o.appendChild(s), o = s) : e = o = s), t.styleProperty && (c[t.styleProperty] = l), t.style)) {\n u = t.style;\n\n for (r in u) {\n l = u[r], c[r] = l;\n }\n }\n }\n\n if (Object.keys(c).length) {\n null == e && (e = i(\"span\"));\n\n for (r in c) {\n l = c[r], e.style[r] = l;\n }\n }\n\n return e;\n }, s.prototype.createContainerElement = function () {\n var t, e, o, r, s;\n r = this.attributes;\n\n for (o in r) {\n if (s = r[o], (e = n(o)) && e.groupTagName) return t = {}, t[o] = s, i(e.groupTagName, t);\n }\n }, a = e.NON_BREAKING_SPACE, s.prototype.preserveSpaces = function (t) {\n return this.context.isLast && (t = t.replace(/\\ $/, a)), t = t.replace(/(\\S)\\ {3}(\\S)/g, \"$1 \" + a + \" $2\").replace(/\\ {2}/g, a + \" \").replace(/\\ {2}/g, \" \" + a), (this.context.isFirst || this.context.followsWhitespace) && (t = t.replace(/^\\ /, a)), t;\n }, s;\n }(e.ObjectView);\n }.call(this), function () {\n var t = function t(_t11, e) {\n function i() {\n this.constructor = _t11;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t11[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t11.prototype = new i(), _t11.__super__ = e.prototype, _t11;\n },\n n = {}.hasOwnProperty;\n\n e.TextView = function (n) {\n function i() {\n i.__super__.constructor.apply(this, arguments), this.text = this.object, this.textConfig = this.options.textConfig;\n }\n\n var o;\n return t(i, n), i.prototype.createNodes = function () {\n var t, n, i, r, s, a, u, c, l, h;\n\n for (a = [], c = e.ObjectGroup.groupObjects(this.getPieces()), r = c.length - 1, i = n = 0, s = c.length; s > n; i = ++n) {\n u = c[i], t = {}, 0 === i && (t.isFirst = !0), i === r && (t.isLast = !0), o(l) && (t.followsWhitespace = !0), h = this.findOrCreateCachedChildView(e.PieceView, u, {\n textConfig: this.textConfig,\n context: t\n }), a.push.apply(a, h.getNodes()), l = u;\n }\n\n return a;\n }, i.prototype.getPieces = function () {\n var t, e, n, i, o;\n\n for (i = this.text.getPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], n.hasAttribute(\"blockBreak\") || o.push(n);\n }\n\n return o;\n }, o = function o(t) {\n return /\\s$/.test(null != t ? t.toString() : void 0);\n }, i;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty;\n\n i = e.makeElement, n = e.getBlockConfig, t = e.config.css, e.BlockView = function (r) {\n function s() {\n s.__super__.constructor.apply(this, arguments), this.block = this.object, this.attributes = this.block.getAttributes();\n }\n\n return o(s, r), s.prototype.createNodes = function () {\n var t, o, r, s, a, u, c, l, h, p, d;\n if (o = document.createComment(\"block\"), c = [o], this.block.isEmpty() ? c.push(i(\"br\")) : (p = null != (l = n(this.block.getLastAttribute())) ? l.text : void 0, d = this.findOrCreateCachedChildView(e.TextView, this.block.text, {\n textConfig: p\n }), c.push.apply(c, d.getNodes()), this.shouldAddExtraNewlineElement() && c.push(i(\"br\"))), this.attributes.length) return c;\n\n for (h = e.config.blockAttributes[\"default\"].tagName, this.block.isRTL() && (t = {\n dir: \"rtl\"\n }), r = i({\n tagName: h,\n attributes: t\n }), s = 0, a = c.length; a > s; s++) {\n u = c[s], r.appendChild(u);\n }\n\n return [r];\n }, s.prototype.createContainerElement = function (e) {\n var o, r, s, a, u;\n return o = this.attributes[e], u = n(o).tagName, 0 === e && this.block.isRTL() && (r = {\n dir: \"rtl\"\n }), \"attachmentGallery\" === o && (a = this.block.getBlockBreakPosition(), s = t.attachmentGallery + \" \" + t.attachmentGallery + \"--\" + a), i({\n tagName: u,\n className: s,\n attributes: r\n });\n }, s.prototype.shouldAddExtraNewlineElement = function () {\n return /\\n\\n$/.test(this.block.toString());\n }, s;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty;\n\n t = e.defer, n = e.makeElement, e.DocumentView = function (o) {\n function r() {\n r.__super__.constructor.apply(this, arguments), this.element = this.options.element, this.elementStore = new e.ElementStore(), this.setDocument(this.object);\n }\n\n var s, a, u;\n return i(r, o), r.render = function (t) {\n var e, i;\n return e = n(\"div\"), i = new this(t, {\n element: e\n }), i.render(), i.sync(), e;\n }, r.prototype.setDocument = function (t) {\n return t.isEqualTo(this.document) ? void 0 : this.document = this.object = t;\n }, r.prototype.render = function () {\n var t, i, o, r, s, a, u;\n\n if (this.childViews = [], this.shadowElement = n(\"div\"), !this.document.isEmpty()) {\n for (s = e.ObjectGroup.groupObjects(this.document.getBlocks(), {\n asTree: !0\n }), a = [], t = 0, i = s.length; i > t; t++) {\n r = s[t], u = this.findOrCreateCachedChildView(e.BlockView, r), a.push(function () {\n var t, e, n, i;\n\n for (n = u.getNodes(), i = [], t = 0, e = n.length; e > t; t++) {\n o = n[t], i.push(this.shadowElement.appendChild(o));\n }\n\n return i;\n }.call(this));\n }\n\n return a;\n }\n }, r.prototype.isSynced = function () {\n return s(this.shadowElement, this.element);\n }, r.prototype.sync = function () {\n var t;\n\n for (t = this.createDocumentFragmentForSync(); this.element.lastChild;) {\n this.element.removeChild(this.element.lastChild);\n }\n\n return this.element.appendChild(t), this.didSync();\n }, r.prototype.didSync = function () {\n return this.elementStore.reset(a(this.element)), t(function (t) {\n return function () {\n return t.garbageCollectCachedViews();\n };\n }(this));\n }, r.prototype.createDocumentFragmentForSync = function () {\n var t, e, n, i, o, r, s, u, c, l;\n\n for (e = document.createDocumentFragment(), u = this.shadowElement.childNodes, n = 0, o = u.length; o > n; n++) {\n s = u[n], e.appendChild(s.cloneNode(!0));\n }\n\n for (c = a(e), i = 0, r = c.length; r > i; i++) {\n t = c[i], (l = this.elementStore.remove(t)) && t.parentNode.replaceChild(l, t);\n }\n\n return e;\n }, a = function a(t) {\n return t.querySelectorAll(\"[data-trix-store-key]\");\n }, s = function s(t, e) {\n return u(t.innerHTML) === u(e.innerHTML);\n }, u = function u(t) {\n return t.replace(/ /g, \" \");\n }, r;\n }(e.ObjectView);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function s(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n a = function a(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n u.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n u = {}.hasOwnProperty;\n\n i = e.findClosestElementFromNode, o = e.handleEvent, r = e.innerElementIsActive, n = e.defer, t = e.AttachmentView.attachmentSelector, e.CompositionController = function (u) {\n function c(n, i) {\n this.element = n, this.composition = i, this.didClickAttachment = s(this.didClickAttachment, this), this.didBlur = s(this.didBlur, this), this.didFocus = s(this.didFocus, this), this.documentView = new e.DocumentView(this.composition.document, {\n element: this.element\n }), o(\"focus\", {\n onElement: this.element,\n withCallback: this.didFocus\n }), o(\"blur\", {\n onElement: this.element,\n withCallback: this.didBlur\n }), o(\"click\", {\n onElement: this.element,\n matchingSelector: \"a[contenteditable=false]\",\n preventDefault: !0\n }), o(\"mousedown\", {\n onElement: this.element,\n matchingSelector: t,\n withCallback: this.didClickAttachment\n }), o(\"click\", {\n onElement: this.element,\n matchingSelector: \"a\" + t,\n preventDefault: !0\n });\n }\n\n return a(c, u), c.prototype.didFocus = function () {\n var t, e, n;\n return t = function (t) {\n return function () {\n var e;\n return t.focused ? void 0 : (t.focused = !0, null != (e = t.delegate) && \"function\" == typeof e.compositionControllerDidFocus ? e.compositionControllerDidFocus() : void 0);\n };\n }(this), null != (e = null != (n = this.blurPromise) ? n.then(t) : void 0) ? e : t();\n }, c.prototype.didBlur = function () {\n return this.blurPromise = new Promise(function (t) {\n return function (e) {\n return n(function () {\n var n;\n return r(t.element) || (t.focused = null, null != (n = t.delegate) && \"function\" == typeof n.compositionControllerDidBlur && n.compositionControllerDidBlur()), t.blurPromise = null, e();\n });\n };\n }(this));\n }, c.prototype.didClickAttachment = function (t, e) {\n var n, o, r;\n return n = this.findAttachmentForElement(e), o = null != i(t.target, {\n matchingSelector: \"figcaption\"\n }), null != (r = this.delegate) && \"function\" == typeof r.compositionControllerDidSelectAttachment ? r.compositionControllerDidSelectAttachment(n, {\n editCaption: o\n }) : void 0;\n }, c.prototype.getSerializableElement = function () {\n return this.isEditingAttachment() ? this.documentView.shadowElement : this.element;\n }, c.prototype.render = function () {\n var t, e, n;\n return this.revision !== this.composition.revision && (this.documentView.setDocument(this.composition.document), this.documentView.render(), this.revision = this.composition.revision), this.canSyncDocumentView() && !this.documentView.isSynced() && (null != (t = this.delegate) && \"function\" == typeof t.compositionControllerWillSyncDocumentView && t.compositionControllerWillSyncDocumentView(), this.documentView.sync(), null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidSyncDocumentView && e.compositionControllerDidSyncDocumentView()), null != (n = this.delegate) && \"function\" == typeof n.compositionControllerDidRender ? n.compositionControllerDidRender() : void 0;\n }, c.prototype.rerenderViewForObject = function (t) {\n return this.invalidateViewForObject(t), this.render();\n }, c.prototype.invalidateViewForObject = function (t) {\n return this.documentView.invalidateViewForObject(t);\n }, c.prototype.isViewCachingEnabled = function () {\n return this.documentView.isViewCachingEnabled();\n }, c.prototype.enableViewCaching = function () {\n return this.documentView.enableViewCaching();\n }, c.prototype.disableViewCaching = function () {\n return this.documentView.disableViewCaching();\n }, c.prototype.refreshViewCache = function () {\n return this.documentView.garbageCollectCachedViews();\n }, c.prototype.isEditingAttachment = function () {\n return null != this.attachmentEditor;\n }, c.prototype.installAttachmentEditorForAttachment = function (t, n) {\n var i, o, r;\n if ((null != (r = this.attachmentEditor) ? r.attachment : void 0) !== t && (o = this.documentView.findElementForObject(t))) return this.uninstallAttachmentEditor(), i = this.composition.document.getAttachmentPieceForAttachment(t), this.attachmentEditor = new e.AttachmentEditorController(i, o, this.element, n), this.attachmentEditor.delegate = this;\n }, c.prototype.uninstallAttachmentEditor = function () {\n var t;\n return null != (t = this.attachmentEditor) ? t.uninstall() : void 0;\n }, c.prototype.didUninstallAttachmentEditor = function () {\n return this.attachmentEditor = null, this.render();\n }, c.prototype.attachmentEditorDidRequestUpdatingAttributesForAttachment = function (t, e) {\n var n;\n return null != (n = this.delegate) && \"function\" == typeof n.compositionControllerWillUpdateAttachment && n.compositionControllerWillUpdateAttachment(e), this.composition.updateAttributesForAttachment(t, e);\n }, c.prototype.attachmentEditorDidRequestRemovingAttributeForAttachment = function (t, e) {\n var n;\n return null != (n = this.delegate) && \"function\" == typeof n.compositionControllerWillUpdateAttachment && n.compositionControllerWillUpdateAttachment(e), this.composition.removeAttributeForAttachment(t, e);\n }, c.prototype.attachmentEditorDidRequestRemovalOfAttachment = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidRequestRemovalOfAttachment ? e.compositionControllerDidRequestRemovalOfAttachment(t) : void 0;\n }, c.prototype.attachmentEditorDidRequestDeselectingAttachment = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionControllerDidRequestDeselectingAttachment ? e.compositionControllerDidRequestDeselectingAttachment(t) : void 0;\n }, c.prototype.canSyncDocumentView = function () {\n return !this.isEditingAttachment();\n }, c.prototype.findAttachmentForElement = function (t) {\n return this.composition.document.getAttachmentById(parseInt(t.dataset.trixId, 10));\n }, c;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty;\n\n n = e.handleEvent, i = e.triggerEvent, t = e.findClosestElementFromNode, e.ToolbarController = function (e) {\n function s(t) {\n this.element = t, this.didKeyDownDialogInput = o(this.didKeyDownDialogInput, this), this.didClickDialogButton = o(this.didClickDialogButton, this), this.didClickAttributeButton = o(this.didClickAttributeButton, this), this.didClickActionButton = o(this.didClickActionButton, this), this.attributes = {}, this.actions = {}, this.resetDialogInputs(), n(\"mousedown\", {\n onElement: this.element,\n matchingSelector: a,\n withCallback: this.didClickActionButton\n }), n(\"mousedown\", {\n onElement: this.element,\n matchingSelector: c,\n withCallback: this.didClickAttributeButton\n }), n(\"click\", {\n onElement: this.element,\n matchingSelector: v,\n preventDefault: !0\n }), n(\"click\", {\n onElement: this.element,\n matchingSelector: l,\n withCallback: this.didClickDialogButton\n }), n(\"keydown\", {\n onElement: this.element,\n matchingSelector: h,\n withCallback: this.didKeyDownDialogInput\n });\n }\n\n var a, u, c, l, h, p, d, f, g, m, v;\n return r(s, e), c = \"[data-trix-attribute]\", a = \"[data-trix-action]\", v = c + \", \" + a, p = \"[data-trix-dialog]\", u = p + \"[data-trix-active]\", l = p + \" [data-trix-method]\", h = p + \" [data-trix-input]\", s.prototype.didClickActionButton = function (t, e) {\n var n, i, o;\n return null != (i = this.delegate) && i.toolbarDidClickButton(), t.preventDefault(), n = d(e), this.getDialog(n) ? this.toggleDialog(n) : null != (o = this.delegate) ? o.toolbarDidInvokeAction(n) : void 0;\n }, s.prototype.didClickAttributeButton = function (t, e) {\n var n, i, o;\n return null != (i = this.delegate) && i.toolbarDidClickButton(), t.preventDefault(), n = f(e), this.getDialog(n) ? this.toggleDialog(n) : null != (o = this.delegate) && o.toolbarDidToggleAttribute(n), this.refreshAttributeButtons();\n }, s.prototype.didClickDialogButton = function (e, n) {\n var i, o;\n return i = t(n, {\n matchingSelector: p\n }), o = n.getAttribute(\"data-trix-method\"), this[o].call(this, i);\n }, s.prototype.didKeyDownDialogInput = function (t, e) {\n var n, i;\n return 13 === t.keyCode && (t.preventDefault(), n = e.getAttribute(\"name\"), i = this.getDialog(n), this.setAttribute(i)), 27 === t.keyCode ? (t.preventDefault(), this.hideDialog()) : void 0;\n }, s.prototype.updateActions = function (t) {\n return this.actions = t, this.refreshActionButtons();\n }, s.prototype.refreshActionButtons = function () {\n return this.eachActionButton(function (t) {\n return function (e, n) {\n return e.disabled = t.actions[n] === !1;\n };\n }(this));\n }, s.prototype.eachActionButton = function (t) {\n var e, n, i, o, r;\n\n for (o = this.element.querySelectorAll(a), r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], r.push(t(e, d(e)));\n }\n\n return r;\n }, s.prototype.updateAttributes = function (t) {\n return this.attributes = t, this.refreshAttributeButtons();\n }, s.prototype.refreshAttributeButtons = function () {\n return this.eachAttributeButton(function (t) {\n return function (e, n) {\n return e.disabled = t.attributes[n] === !1, t.attributes[n] || t.dialogIsVisible(n) ? (e.setAttribute(\"data-trix-active\", \"\"), e.classList.add(\"trix-active\")) : (e.removeAttribute(\"data-trix-active\"), e.classList.remove(\"trix-active\"));\n };\n }(this));\n }, s.prototype.eachAttributeButton = function (t) {\n var e, n, i, o, r;\n\n for (o = this.element.querySelectorAll(c), r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], r.push(t(e, f(e)));\n }\n\n return r;\n }, s.prototype.applyKeyboardCommand = function (t) {\n var e, n, o, r, s, a, u;\n\n for (s = JSON.stringify(t.sort()), u = this.element.querySelectorAll(\"[data-trix-key]\"), r = 0, a = u.length; a > r; r++) {\n if (e = u[r], o = e.getAttribute(\"data-trix-key\").split(\"+\"), n = JSON.stringify(o.sort()), n === s) return i(\"mousedown\", {\n onElement: e\n }), !0;\n }\n\n return !1;\n }, s.prototype.dialogIsVisible = function (t) {\n var e;\n return (e = this.getDialog(t)) ? e.hasAttribute(\"data-trix-active\") : void 0;\n }, s.prototype.toggleDialog = function (t) {\n return this.dialogIsVisible(t) ? this.hideDialog() : this.showDialog(t);\n }, s.prototype.showDialog = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n\n for (this.hideDialog(), null != (a = this.delegate) && a.toolbarWillShowDialog(), i = this.getDialog(t), i.setAttribute(\"data-trix-active\", \"\"), i.classList.add(\"trix-active\"), u = i.querySelectorAll(\"input[disabled]\"), o = 0, s = u.length; s > o; o++) {\n n = u[o], n.removeAttribute(\"disabled\");\n }\n\n return (e = f(i)) && (r = m(i, t)) && (r.value = null != (c = this.attributes[e]) ? c : \"\", r.select()), null != (l = this.delegate) ? l.toolbarDidShowDialog(t) : void 0;\n }, s.prototype.setAttribute = function (t) {\n var e, n, i;\n return e = f(t), n = m(t, e), n.willValidate && !n.checkValidity() ? (n.setAttribute(\"data-trix-validate\", \"\"), n.classList.add(\"trix-validate\"), n.focus()) : (null != (i = this.delegate) && i.toolbarDidUpdateAttribute(e, n.value), this.hideDialog());\n }, s.prototype.removeAttribute = function (t) {\n var e, n;\n return e = f(t), null != (n = this.delegate) && n.toolbarDidRemoveAttribute(e), this.hideDialog();\n }, s.prototype.hideDialog = function () {\n var t, e;\n return (t = this.element.querySelector(u)) ? (t.removeAttribute(\"data-trix-active\"), t.classList.remove(\"trix-active\"), this.resetDialogInputs(), null != (e = this.delegate) ? e.toolbarDidHideDialog(g(t)) : void 0) : void 0;\n }, s.prototype.resetDialogInputs = function () {\n var t, e, n, i, o;\n\n for (i = this.element.querySelectorAll(h), o = [], t = 0, n = i.length; n > t; t++) {\n e = i[t], e.setAttribute(\"disabled\", \"disabled\"), e.removeAttribute(\"data-trix-validate\"), o.push(e.classList.remove(\"trix-validate\"));\n }\n\n return o;\n }, s.prototype.getDialog = function (t) {\n return this.element.querySelector(\"[data-trix-dialog=\" + t + \"]\");\n }, m = function m(t, e) {\n return null == e && (e = f(t)), t.querySelector(\"[data-trix-input][name='\" + e + \"']\");\n }, d = function d(t) {\n return t.getAttribute(\"data-trix-action\");\n }, f = function f(t) {\n var e;\n return null != (e = t.getAttribute(\"data-trix-attribute\")) ? e : t.getAttribute(\"data-trix-dialog-attribute\");\n }, g = function g(t) {\n return t.getAttribute(\"data-trix-dialog\");\n }, s;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t12, e) {\n function i() {\n this.constructor = _t12;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t12[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t12.prototype = new i(), _t12.__super__ = e.prototype, _t12;\n },\n n = {}.hasOwnProperty;\n\n e.ImagePreloadOperation = function (e) {\n function n(t) {\n this.url = t;\n }\n\n return t(n, e), n.prototype.perform = function (t) {\n var e;\n return e = new Image(), e.onload = function (n) {\n return function () {\n return e.width = n.width = e.naturalWidth, e.height = n.height = e.naturalHeight, t(!0, e);\n };\n }(this), e.onerror = function () {\n return t(!1);\n }, e.src = this.url;\n }, n;\n }(e.Operation);\n }.call(this), function () {\n var t = function t(_t13, e) {\n return function () {\n return _t13.apply(e, arguments);\n };\n },\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n e.Attachment = function (i) {\n function o(n) {\n null == n && (n = {}), this.releaseFile = t(this.releaseFile, this), o.__super__.constructor.apply(this, arguments), this.attributes = e.Hash.box(n), this.didChangeAttributes();\n }\n\n return n(o, i), o.previewablePattern = /^image(\\/(gif|png|jpe?g)|$)/, o.attachmentForFile = function (t) {\n var e, n;\n return n = this.attributesForFile(t), e = new this(n), e.setFile(t), e;\n }, o.attributesForFile = function (t) {\n return new e.Hash({\n filename: t.name,\n filesize: t.size,\n contentType: t.type\n });\n }, o.fromJSON = function (t) {\n return new this(t);\n }, o.prototype.getAttribute = function (t) {\n return this.attributes.get(t);\n }, o.prototype.hasAttribute = function (t) {\n return this.attributes.has(t);\n }, o.prototype.getAttributes = function () {\n return this.attributes.toObject();\n }, o.prototype.setAttributes = function (t) {\n var e, n, i;\n return null == t && (t = {}), e = this.attributes.merge(t), this.attributes.isEqualTo(e) ? void 0 : (this.attributes = e, this.didChangeAttributes(), null != (n = this.previewDelegate) && \"function\" == typeof n.attachmentDidChangeAttributes && n.attachmentDidChangeAttributes(this), null != (i = this.delegate) && \"function\" == typeof i.attachmentDidChangeAttributes ? i.attachmentDidChangeAttributes(this) : void 0);\n }, o.prototype.didChangeAttributes = function () {\n return this.isPreviewable() ? this.preloadURL() : void 0;\n }, o.prototype.isPending = function () {\n return null != this.file && !(this.getURL() || this.getHref());\n }, o.prototype.isPreviewable = function () {\n return this.attributes.has(\"previewable\") ? this.attributes.get(\"previewable\") : this.constructor.previewablePattern.test(this.getContentType());\n }, o.prototype.getType = function () {\n return this.hasContent() ? \"content\" : this.isPreviewable() ? \"preview\" : \"file\";\n }, o.prototype.getURL = function () {\n return this.attributes.get(\"url\");\n }, o.prototype.getHref = function () {\n return this.attributes.get(\"href\");\n }, o.prototype.getFilename = function () {\n var t;\n return null != (t = this.attributes.get(\"filename\")) ? t : \"\";\n }, o.prototype.getFilesize = function () {\n return this.attributes.get(\"filesize\");\n }, o.prototype.getFormattedFilesize = function () {\n var t;\n return t = this.attributes.get(\"filesize\"), \"number\" == typeof t ? e.config.fileSize.formatter(t) : \"\";\n }, o.prototype.getExtension = function () {\n var t;\n return null != (t = this.getFilename().match(/\\.(\\w+)$/)) ? t[1].toLowerCase() : void 0;\n }, o.prototype.getContentType = function () {\n return this.attributes.get(\"contentType\");\n }, o.prototype.hasContent = function () {\n return this.attributes.has(\"content\");\n }, o.prototype.getContent = function () {\n return this.attributes.get(\"content\");\n }, o.prototype.getWidth = function () {\n return this.attributes.get(\"width\");\n }, o.prototype.getHeight = function () {\n return this.attributes.get(\"height\");\n }, o.prototype.getFile = function () {\n return this.file;\n }, o.prototype.setFile = function (t) {\n return this.file = t, this.isPreviewable() ? this.preloadFile() : void 0;\n }, o.prototype.releaseFile = function () {\n return this.releasePreloadedFile(), this.file = null;\n }, o.prototype.getUploadProgress = function () {\n var t;\n return null != (t = this.uploadProgress) ? t : 0;\n }, o.prototype.setUploadProgress = function (t) {\n var e;\n return this.uploadProgress !== t ? (this.uploadProgress = t, null != (e = this.uploadProgressDelegate) && \"function\" == typeof e.attachmentDidChangeUploadProgress ? e.attachmentDidChangeUploadProgress(this) : void 0) : void 0;\n }, o.prototype.toJSON = function () {\n return this.getAttributes();\n }, o.prototype.getCacheKey = function () {\n return [o.__super__.getCacheKey.apply(this, arguments), this.attributes.getCacheKey(), this.getPreviewURL()].join(\"/\");\n }, o.prototype.getPreviewURL = function () {\n return this.previewURL || this.preloadingURL;\n }, o.prototype.setPreviewURL = function (t) {\n var e, n;\n return t !== this.getPreviewURL() ? (this.previewURL = t, null != (e = this.previewDelegate) && \"function\" == typeof e.attachmentDidChangeAttributes && e.attachmentDidChangeAttributes(this), null != (n = this.delegate) && \"function\" == typeof n.attachmentDidChangePreviewURL ? n.attachmentDidChangePreviewURL(this) : void 0) : void 0;\n }, o.prototype.preloadURL = function () {\n return this.preload(this.getURL(), this.releaseFile);\n }, o.prototype.preloadFile = function () {\n return this.file ? (this.fileObjectURL = URL.createObjectURL(this.file), this.preload(this.fileObjectURL)) : void 0;\n }, o.prototype.releasePreloadedFile = function () {\n return this.fileObjectURL ? (URL.revokeObjectURL(this.fileObjectURL), this.fileObjectURL = null) : void 0;\n }, o.prototype.preload = function (t, n) {\n var i;\n return t && t !== this.getPreviewURL() ? (this.preloadingURL = t, i = new e.ImagePreloadOperation(t), i.then(function (e) {\n return function (i) {\n var o, r;\n return r = i.width, o = i.height, e.getWidth() && e.getHeight() || e.setAttributes({\n width: r,\n height: o\n }), e.preloadingURL = null, e.setPreviewURL(t), \"function\" == typeof n ? n() : void 0;\n };\n }(this))[\"catch\"](function (t) {\n return function () {\n return t.preloadingURL = null, \"function\" == typeof n ? n() : void 0;\n };\n }(this))) : void 0;\n }, o;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t14, e) {\n function i() {\n this.constructor = _t14;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t14[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t14.prototype = new i(), _t14.__super__ = e.prototype, _t14;\n },\n n = {}.hasOwnProperty;\n\n e.Piece = function (n) {\n function i(t, n) {\n null == n && (n = {}), i.__super__.constructor.apply(this, arguments), this.attributes = e.Hash.box(n);\n }\n\n return t(i, n), i.types = {}, i.registerType = function (t, e) {\n return e.type = t, this.types[t] = e;\n }, i.fromJSON = function (t) {\n var e;\n return (e = this.types[t.type]) ? e.fromJSON(t) : void 0;\n }, i.prototype.copyWithAttributes = function (t) {\n return new this.constructor(this.getValue(), t);\n }, i.prototype.copyWithAdditionalAttributes = function (t) {\n return this.copyWithAttributes(this.attributes.merge(t));\n }, i.prototype.copyWithoutAttribute = function (t) {\n return this.copyWithAttributes(this.attributes.remove(t));\n }, i.prototype.copy = function () {\n return this.copyWithAttributes(this.attributes);\n }, i.prototype.getAttribute = function (t) {\n return this.attributes.get(t);\n }, i.prototype.getAttributesHash = function () {\n return this.attributes;\n }, i.prototype.getAttributes = function () {\n return this.attributes.toObject();\n }, i.prototype.getCommonAttributes = function () {\n var t, e, n;\n return (n = pieceList.getPieceAtIndex(0)) ? (t = n.attributes, e = t.getKeys(), pieceList.eachPiece(function (n) {\n return e = t.getKeysCommonToHash(n.attributes), t = t.slice(e);\n }), t.toObject()) : {};\n }, i.prototype.hasAttribute = function (t) {\n return this.attributes.has(t);\n }, i.prototype.hasSameStringValueAsPiece = function (t) {\n return null != t && this.toString() === t.toString();\n }, i.prototype.hasSameAttributesAsPiece = function (t) {\n return null != t && (this.attributes === t.attributes || this.attributes.isEqualTo(t.attributes));\n }, i.prototype.isBlockBreak = function () {\n return !1;\n }, i.prototype.isEqualTo = function (t) {\n return i.__super__.isEqualTo.apply(this, arguments) || this.hasSameConstructorAs(t) && this.hasSameStringValueAsPiece(t) && this.hasSameAttributesAsPiece(t);\n }, i.prototype.isEmpty = function () {\n return 0 === this.length;\n }, i.prototype.isSerializable = function () {\n return !0;\n }, i.prototype.toJSON = function () {\n return {\n type: this.constructor.type,\n attributes: this.getAttributes()\n };\n }, i.prototype.contentsForInspection = function () {\n return {\n type: this.constructor.type,\n attributes: this.attributes.inspect()\n };\n }, i.prototype.canBeGrouped = function () {\n return this.hasAttribute(\"href\");\n }, i.prototype.canBeGroupedWith = function (t) {\n return this.getAttribute(\"href\") === t.getAttribute(\"href\");\n }, i.prototype.getLength = function () {\n return this.length;\n }, i.prototype.canBeConsolidatedWith = function () {\n return !1;\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t15, e) {\n function i() {\n this.constructor = _t15;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t15[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t15.prototype = new i(), _t15.__super__ = e.prototype, _t15;\n },\n n = {}.hasOwnProperty;\n\n e.Piece.registerType(\"attachment\", e.AttachmentPiece = function (n) {\n function i(t) {\n this.attachment = t, i.__super__.constructor.apply(this, arguments), this.length = 1, this.ensureAttachmentExclusivelyHasAttribute(\"href\"), this.attachment.hasContent() || this.removeProhibitedAttributes();\n }\n\n return t(i, n), i.fromJSON = function (t) {\n return new this(e.Attachment.fromJSON(t.attachment), t.attributes);\n }, i.permittedAttributes = [\"caption\", \"presentation\"], i.prototype.ensureAttachmentExclusivelyHasAttribute = function (t) {\n return this.hasAttribute(t) ? (this.attachment.hasAttribute(t) || this.attachment.setAttributes(this.attributes.slice(t)), this.attributes = this.attributes.remove(t)) : void 0;\n }, i.prototype.removeProhibitedAttributes = function () {\n var t;\n return t = this.attributes.slice(this.constructor.permittedAttributes), t.isEqualTo(this.attributes) ? void 0 : this.attributes = t;\n }, i.prototype.getValue = function () {\n return this.attachment;\n }, i.prototype.isSerializable = function () {\n return !this.attachment.isPending();\n }, i.prototype.getCaption = function () {\n var t;\n return null != (t = this.attributes.get(\"caption\")) ? t : \"\";\n }, i.prototype.isEqualTo = function (t) {\n var e;\n return i.__super__.isEqualTo.apply(this, arguments) && this.attachment.id === (null != t && null != (e = t.attachment) ? e.id : void 0);\n }, i.prototype.toString = function () {\n return e.OBJECT_REPLACEMENT_CHARACTER;\n }, i.prototype.toJSON = function () {\n var t;\n return t = i.__super__.toJSON.apply(this, arguments), t.attachment = this.attachment, t;\n }, i.prototype.getCacheKey = function () {\n return [i.__super__.getCacheKey.apply(this, arguments), this.attachment.getCacheKey()].join(\"/\");\n }, i.prototype.toConsole = function () {\n return JSON.stringify(this.toString());\n }, i;\n }(e.Piece));\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty;\n\n t = e.normalizeNewlines, e.Piece.registerType(\"string\", e.StringPiece = function (e) {\n function i(e) {\n i.__super__.constructor.apply(this, arguments), this.string = t(e), this.length = this.string.length;\n }\n\n return n(i, e), i.fromJSON = function (t) {\n return new this(t.string, t.attributes);\n }, i.prototype.getValue = function () {\n return this.string;\n }, i.prototype.toString = function () {\n return this.string.toString();\n }, i.prototype.isBlockBreak = function () {\n return \"\\n\" === this.toString() && this.getAttribute(\"blockBreak\") === !0;\n }, i.prototype.toJSON = function () {\n var t;\n return t = i.__super__.toJSON.apply(this, arguments), t.string = this.string, t;\n }, i.prototype.canBeConsolidatedWith = function (t) {\n return null != t && this.hasSameConstructorAs(t) && this.hasSameAttributesAsPiece(t);\n }, i.prototype.consolidateWith = function (t) {\n return new this.constructor(this.toString() + t.toString(), this.attributes);\n }, i.prototype.splitAtOffset = function (t) {\n var e, n;\n return 0 === t ? (e = null, n = this) : t === this.length ? (e = this, n = null) : (e = new this.constructor(this.string.slice(0, t), this.attributes), n = new this.constructor(this.string.slice(t), this.attributes)), [e, n];\n }, i.prototype.toConsole = function () {\n var t;\n return t = this.string, t.length > 15 && (t = t.slice(0, 14) + \"\\u2026\"), JSON.stringify(t.toString());\n }, i;\n }(e.Piece));\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var o in e) {\n i.call(e, o) && (t[o] = e[o]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n i = {}.hasOwnProperty,\n o = [].slice;\n\n t = e.spliceArray, e.SplittableList = function (e) {\n function i(t) {\n null == t && (t = []), i.__super__.constructor.apply(this, arguments), this.objects = t.slice(0), this.length = this.objects.length;\n }\n\n var r, s, a;\n return n(i, e), i.box = function (t) {\n return t instanceof this ? t : new this(t);\n }, i.prototype.indexOf = function (t) {\n return this.objects.indexOf(t);\n }, i.prototype.splice = function () {\n var e;\n return e = 1 <= arguments.length ? o.call(arguments, 0) : [], new this.constructor(t.apply(null, [this.objects].concat(o.call(e))));\n }, i.prototype.eachObject = function (t) {\n var e, n, i, o, r, s;\n\n for (r = this.objects, s = [], n = e = 0, i = r.length; i > e; n = ++e) {\n o = r[n], s.push(t(o, n));\n }\n\n return s;\n }, i.prototype.insertObjectAtIndex = function (t, e) {\n return this.splice(e, 0, t);\n }, i.prototype.insertSplittableListAtIndex = function (t, e) {\n return this.splice.apply(this, [e, 0].concat(o.call(t.objects)));\n }, i.prototype.insertSplittableListAtPosition = function (t, e) {\n var n, i, o;\n return o = this.splitObjectAtPosition(e), i = o[0], n = o[1], new this.constructor(i).insertSplittableListAtIndex(t, n);\n }, i.prototype.editObjectAtIndex = function (t, e) {\n return this.replaceObjectAtIndex(e(this.objects[t]), t);\n }, i.prototype.replaceObjectAtIndex = function (t, e) {\n return this.splice(e, 1, t);\n }, i.prototype.removeObjectAtIndex = function (t) {\n return this.splice(t, 1);\n }, i.prototype.getObjectAtIndex = function (t) {\n return this.objects[t];\n }, i.prototype.getSplittableListInRange = function (t) {\n var e, n, i, o;\n return i = this.splitObjectsAtRange(t), n = i[0], e = i[1], o = i[2], new this.constructor(n.slice(e, o + 1));\n }, i.prototype.selectSplittableList = function (t) {\n var e, n;\n return n = function () {\n var n, i, o, r;\n\n for (o = this.objects, r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], t(e) && r.push(e);\n }\n\n return r;\n }.call(this), new this.constructor(n);\n }, i.prototype.removeObjectsInRange = function (t) {\n var e, n, i, o;\n return i = this.splitObjectsAtRange(t), n = i[0], e = i[1], o = i[2], new this.constructor(n).splice(e, o - e + 1);\n }, i.prototype.transformObjectsInRange = function (t, e) {\n var n, i, o, r, s, a, u;\n return s = this.splitObjectsAtRange(t), r = s[0], i = s[1], a = s[2], u = function () {\n var t, s, u;\n\n for (u = [], n = t = 0, s = r.length; s > t; n = ++t) {\n o = r[n], u.push(n >= i && a >= n ? e(o) : o);\n }\n\n return u;\n }(), new this.constructor(u);\n }, i.prototype.splitObjectsAtRange = function (t) {\n var e, n, i, o, s, u;\n return o = this.splitObjectAtPosition(a(t)), n = o[0], e = o[1], i = o[2], s = new this.constructor(n).splitObjectAtPosition(r(t) + i), n = s[0], u = s[1], [n, e, u - 1];\n }, i.prototype.getObjectAtPosition = function (t) {\n var e, n, i;\n return i = this.findIndexAndOffsetAtPosition(t), e = i.index, n = i.offset, this.objects[e];\n }, i.prototype.splitObjectAtPosition = function (t) {\n var e, n, i, o, r, s, a, u, c, l;\n return s = this.findIndexAndOffsetAtPosition(t), e = s.index, r = s.offset, o = this.objects.slice(0), null != e ? 0 === r ? (c = e, l = 0) : (i = this.getObjectAtIndex(e), a = i.splitAtOffset(r), n = a[0], u = a[1], o.splice(e, 1, n, u), c = e + 1, l = n.getLength() - r) : (c = o.length, l = 0), [o, c, l];\n }, i.prototype.consolidate = function () {\n var t, e, n, i, o, r;\n\n for (i = [], o = this.objects[0], r = this.objects.slice(1), t = 0, e = r.length; e > t; t++) {\n n = r[t], (\"function\" == typeof o.canBeConsolidatedWith ? o.canBeConsolidatedWith(n) : void 0) ? o = o.consolidateWith(n) : (i.push(o), o = n);\n }\n\n return null != o && i.push(o), new this.constructor(i);\n }, i.prototype.consolidateFromIndexToIndex = function (t, e) {\n var n, i, r;\n return i = this.objects.slice(0), r = i.slice(t, e + 1), n = new this.constructor(r).consolidate().toArray(), this.splice.apply(this, [t, r.length].concat(o.call(n)));\n }, i.prototype.findIndexAndOffsetAtPosition = function (t) {\n var e, n, i, o, r, s, a;\n\n for (e = 0, a = this.objects, i = n = 0, o = a.length; o > n; i = ++n) {\n if (s = a[i], r = e + s.getLength(), t >= e && r > t) return {\n index: i,\n offset: t - e\n };\n e = r;\n }\n\n return {\n index: null,\n offset: null\n };\n }, i.prototype.findPositionAtIndexAndOffset = function (t, e) {\n var n, i, o, r, s, a;\n\n for (s = 0, a = this.objects, n = i = 0, o = a.length; o > i; n = ++i) {\n if (r = a[n], t > n) s += r.getLength();else if (n === t) {\n s += e;\n break;\n }\n }\n\n return s;\n }, i.prototype.getEndPosition = function () {\n var t, e;\n return null != this.endPosition ? this.endPosition : this.endPosition = function () {\n var n, i, o;\n\n for (e = 0, o = this.objects, n = 0, i = o.length; i > n; n++) {\n t = o[n], e += t.getLength();\n }\n\n return e;\n }.call(this);\n }, i.prototype.toString = function () {\n return this.objects.join(\"\");\n }, i.prototype.toArray = function () {\n return this.objects.slice(0);\n }, i.prototype.toJSON = function () {\n return this.toArray();\n }, i.prototype.isEqualTo = function (t) {\n return i.__super__.isEqualTo.apply(this, arguments) || s(this.objects, null != t ? t.objects : void 0);\n }, s = function s(t, e) {\n var n, i, o, r, s;\n if (null == e && (e = []), t.length !== e.length) return !1;\n\n for (s = !0, i = n = 0, o = t.length; o > n; i = ++n) {\n r = t[i], s && !r.isEqualTo(e[i]) && (s = !1);\n }\n\n return s;\n }, i.prototype.contentsForInspection = function () {\n var t;\n return {\n objects: \"[\" + function () {\n var e, n, i, o;\n\n for (i = this.objects, o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t.inspect());\n }\n\n return o;\n }.call(this).join(\", \") + \"]\"\n };\n }, a = function a(t) {\n return t[0];\n }, r = function r(t) {\n return t[1];\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t = function t(_t16, e) {\n function i() {\n this.constructor = _t16;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t16[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t16.prototype = new i(), _t16.__super__ = e.prototype, _t16;\n },\n n = {}.hasOwnProperty;\n\n e.Text = function (n) {\n function i(t) {\n var n;\n null == t && (t = []), i.__super__.constructor.apply(this, arguments), this.pieceList = new e.SplittableList(function () {\n var e, i, o;\n\n for (o = [], e = 0, i = t.length; i > e; e++) {\n n = t[e], n.isEmpty() || o.push(n);\n }\n\n return o;\n }());\n }\n\n return t(i, n), i.textForAttachmentWithAttributes = function (t, n) {\n var i;\n return i = new e.AttachmentPiece(t, n), new this([i]);\n }, i.textForStringWithAttributes = function (t, n) {\n var i;\n return i = new e.StringPiece(t, n), new this([i]);\n }, i.fromJSON = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(e.Piece.fromJSON(n));\n }\n\n return r;\n }(), new this(i);\n }, i.prototype.copy = function () {\n return this.copyWithPieceList(this.pieceList);\n }, i.prototype.copyWithPieceList = function (t) {\n return new this.constructor(t.consolidate().toArray());\n }, i.prototype.copyUsingObjectMap = function (t) {\n var e, n;\n return n = function () {\n var n, i, o, r, s;\n\n for (o = this.getPieces(), s = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], s.push(null != (r = t.find(e)) ? r : e);\n }\n\n return s;\n }.call(this), new this.constructor(n);\n }, i.prototype.appendText = function (t) {\n return this.insertTextAtPosition(t, this.getLength());\n }, i.prototype.insertTextAtPosition = function (t, e) {\n return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t.pieceList, e));\n }, i.prototype.removeTextAtRange = function (t) {\n return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t));\n }, i.prototype.replaceTextAtRange = function (t, e) {\n return this.removeTextAtRange(e).insertTextAtPosition(t, e[0]);\n }, i.prototype.moveTextFromRangeToPosition = function (t, e) {\n var n, i;\n if (!(t[0] <= e && e <= t[1])) return i = this.getTextAtRange(t), n = i.getLength(), t[0] < e && (e -= n), this.removeTextAtRange(t).insertTextAtPosition(i, e);\n }, i.prototype.addAttributeAtRange = function (t, e, n) {\n var i;\n return i = {}, i[t] = e, this.addAttributesAtRange(i, n);\n }, i.prototype.addAttributesAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithAdditionalAttributes(t);\n }));\n }, i.prototype.removeAttributeAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithoutAttribute(t);\n }));\n }, i.prototype.setAttributesAtRange = function (t, e) {\n return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e, function (e) {\n return e.copyWithAttributes(t);\n }));\n }, i.prototype.getAttributesAtPosition = function (t) {\n var e, n;\n return null != (e = null != (n = this.pieceList.getObjectAtPosition(t)) ? n.getAttributes() : void 0) ? e : {};\n }, i.prototype.getCommonAttributes = function () {\n var t, n;\n return t = function () {\n var t, e, i, o;\n\n for (i = this.pieceList.toArray(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.getAttributes());\n }\n\n return o;\n }.call(this), e.Hash.fromCommonAttributesOfObjects(t).toObject();\n }, i.prototype.getCommonAttributesAtRange = function (t) {\n var e;\n return null != (e = this.getTextAtRange(t).getCommonAttributes()) ? e : {};\n }, i.prototype.getExpandedRangeForAttributeAtOffset = function (t, e) {\n var n, i, o;\n\n for (n = o = e, i = this.getLength(); n > 0 && this.getCommonAttributesAtRange([n - 1, o])[t];) {\n n--;\n }\n\n for (; i > o && this.getCommonAttributesAtRange([e, o + 1])[t];) {\n o++;\n }\n\n return [n, o];\n }, i.prototype.getTextAtRange = function (t) {\n return this.copyWithPieceList(this.pieceList.getSplittableListInRange(t));\n }, i.prototype.getStringAtRange = function (t) {\n return this.pieceList.getSplittableListInRange(t).toString();\n }, i.prototype.getStringAtPosition = function (t) {\n return this.getStringAtRange([t, t + 1]);\n }, i.prototype.startsWithString = function (t) {\n return this.getStringAtRange([0, t.length]) === t;\n }, i.prototype.endsWithString = function (t) {\n var e;\n return e = this.getLength(), this.getStringAtRange([e - t.length, e]) === t;\n }, i.prototype.getAttachmentPieces = function () {\n var t, e, n, i, o;\n\n for (i = this.pieceList.toArray(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], null != n.attachment && o.push(n);\n }\n\n return o;\n }, i.prototype.getAttachments = function () {\n var t, e, n, i, o;\n\n for (i = this.getAttachmentPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.attachment);\n }\n\n return o;\n }, i.prototype.getAttachmentAndPositionById = function (t) {\n var e, n, i, o, r, s;\n\n for (o = 0, r = this.pieceList.toArray(), e = 0, n = r.length; n > e; e++) {\n if (i = r[e], (null != (s = i.attachment) ? s.id : void 0) === t) return {\n attachment: i.attachment,\n position: o\n };\n o += i.length;\n }\n\n return {\n attachment: null,\n position: null\n };\n }, i.prototype.getAttachmentById = function (t) {\n var e, n, i;\n return i = this.getAttachmentAndPositionById(t), e = i.attachment, n = i.position, e;\n }, i.prototype.getRangeOfAttachment = function (t) {\n var e, n;\n return n = this.getAttachmentAndPositionById(t.id), t = n.attachment, e = n.position, null != t ? [e, e + 1] : void 0;\n }, i.prototype.updateAttributesForAttachment = function (t, e) {\n var n;\n return (n = this.getRangeOfAttachment(e)) ? this.addAttributesAtRange(t, n) : this;\n }, i.prototype.getLength = function () {\n return this.pieceList.getEndPosition();\n }, i.prototype.isEmpty = function () {\n return 0 === this.getLength();\n }, i.prototype.isEqualTo = function (t) {\n var e;\n return i.__super__.isEqualTo.apply(this, arguments) || (null != t && null != (e = t.pieceList) ? e.isEqualTo(this.pieceList) : void 0);\n }, i.prototype.isBlockBreak = function () {\n return 1 === this.getLength() && this.pieceList.getObjectAtIndex(0).isBlockBreak();\n }, i.prototype.eachPiece = function (t) {\n return this.pieceList.eachObject(t);\n }, i.prototype.getPieces = function () {\n return this.pieceList.toArray();\n }, i.prototype.getPieceAtPosition = function (t) {\n return this.pieceList.getObjectAtPosition(t);\n }, i.prototype.contentsForInspection = function () {\n return {\n pieceList: this.pieceList.inspect()\n };\n }, i.prototype.toSerializableText = function () {\n var t;\n return t = this.pieceList.selectSplittableList(function (t) {\n return t.isSerializable();\n }), this.copyWithPieceList(t);\n }, i.prototype.toString = function () {\n return this.pieceList.toString();\n }, i.prototype.toJSON = function () {\n return this.pieceList.toJSON();\n }, i.prototype.toConsole = function () {\n var t;\n return JSON.stringify(function () {\n var e, n, i, o;\n\n for (i = this.pieceList.toArray(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(JSON.parse(t.toConsole()));\n }\n\n return o;\n }.call(this));\n }, i.prototype.getDirection = function () {\n return e.getDirection(this.toString());\n }, i.prototype.isRTL = function () {\n return \"rtl\" === this.getDirection();\n }, i;\n }(e.Object);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s = function s(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n a.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n a = {}.hasOwnProperty,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n },\n c = [].slice;\n\n t = e.arraysAreEqual, r = e.spliceArray, i = e.getBlockConfig, n = e.getBlockAttributeNames, o = e.getListAttributeNames, e.Block = function (n) {\n function a(t, n) {\n null == t && (t = new e.Text()), null == n && (n = []), a.__super__.constructor.apply(this, arguments), this.text = h(t), this.attributes = n;\n }\n\n var l, h, p, d, f, g, m, v, y;\n return s(a, n), a.fromJSON = function (t) {\n var n;\n return n = e.Text.fromJSON(t.text), new this(n, t.attributes);\n }, a.prototype.isEmpty = function () {\n return this.text.isBlockBreak();\n }, a.prototype.isEqualTo = function (e) {\n return a.__super__.isEqualTo.apply(this, arguments) || this.text.isEqualTo(null != e ? e.text : void 0) && t(this.attributes, null != e ? e.attributes : void 0);\n }, a.prototype.copyWithText = function (t) {\n return new this.constructor(t, this.attributes);\n }, a.prototype.copyWithoutText = function () {\n return this.copyWithText(null);\n }, a.prototype.copyWithAttributes = function (t) {\n return new this.constructor(this.text, t);\n }, a.prototype.copyWithoutAttributes = function () {\n return this.copyWithAttributes(null);\n }, a.prototype.copyUsingObjectMap = function (t) {\n var e;\n return this.copyWithText((e = t.find(this.text)) ? e : this.text.copyUsingObjectMap(t));\n }, a.prototype.addAttribute = function (t) {\n var e;\n return e = this.attributes.concat(d(t)), this.copyWithAttributes(e);\n }, a.prototype.removeAttribute = function (t) {\n var e, n;\n return n = i(t).listAttribute, e = g(g(this.attributes, t), n), this.copyWithAttributes(e);\n }, a.prototype.removeLastAttribute = function () {\n return this.removeAttribute(this.getLastAttribute());\n }, a.prototype.getLastAttribute = function () {\n return f(this.attributes);\n }, a.prototype.getAttributes = function () {\n return this.attributes.slice(0);\n }, a.prototype.getAttributeLevel = function () {\n return this.attributes.length;\n }, a.prototype.getAttributeAtLevel = function (t) {\n return this.attributes[t - 1];\n }, a.prototype.hasAttribute = function (t) {\n return u.call(this.attributes, t) >= 0;\n }, a.prototype.hasAttributes = function () {\n return this.getAttributeLevel() > 0;\n }, a.prototype.getLastNestableAttribute = function () {\n return f(this.getNestableAttributes());\n }, a.prototype.getNestableAttributes = function () {\n var t, e, n, o, r;\n\n for (o = this.attributes, r = [], e = 0, n = o.length; n > e; e++) {\n t = o[e], i(t).nestable && r.push(t);\n }\n\n return r;\n }, a.prototype.getNestingLevel = function () {\n return this.getNestableAttributes().length;\n }, a.prototype.decreaseNestingLevel = function () {\n var t;\n return (t = this.getLastNestableAttribute()) ? this.removeAttribute(t) : this;\n }, a.prototype.increaseNestingLevel = function () {\n var t, e, n;\n return (t = this.getLastNestableAttribute()) ? (n = this.attributes.lastIndexOf(t), e = r.apply(null, [this.attributes, n + 1, 0].concat(c.call(d(t)))), this.copyWithAttributes(e)) : this;\n }, a.prototype.getListItemAttributes = function () {\n var t, e, n, o, r;\n\n for (o = this.attributes, r = [], e = 0, n = o.length; n > e; e++) {\n t = o[e], i(t).listAttribute && r.push(t);\n }\n\n return r;\n }, a.prototype.isListItem = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.listAttribute : void 0;\n }, a.prototype.isTerminalBlock = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.terminal : void 0;\n }, a.prototype.breaksOnReturn = function () {\n var t;\n return null != (t = i(this.getLastAttribute())) ? t.breakOnReturn : void 0;\n }, a.prototype.findLineBreakInDirectionFromPosition = function (t, e) {\n var n, i;\n return i = this.toString(), n = function () {\n switch (t) {\n case \"forward\":\n return i.indexOf(\"\\n\", e);\n\n case \"backward\":\n return i.slice(0, e).lastIndexOf(\"\\n\");\n }\n }(), -1 !== n ? n : void 0;\n }, a.prototype.contentsForInspection = function () {\n return {\n text: this.text.inspect(),\n attributes: this.attributes\n };\n }, a.prototype.toString = function () {\n return this.text.toString();\n }, a.prototype.toJSON = function () {\n return {\n text: this.text,\n attributes: this.attributes\n };\n }, a.prototype.getDirection = function () {\n return this.text.getDirection();\n }, a.prototype.isRTL = function () {\n return this.text.isRTL();\n }, a.prototype.getLength = function () {\n return this.text.getLength();\n }, a.prototype.canBeConsolidatedWith = function (t) {\n return !this.hasAttributes() && !t.hasAttributes() && this.getDirection() === t.getDirection();\n }, a.prototype.consolidateWith = function (t) {\n var n, i;\n return n = e.Text.textForStringWithAttributes(\"\\n\"), i = this.getTextWithoutBlockBreak().appendText(n), this.copyWithText(i.appendText(t.text));\n }, a.prototype.splitAtOffset = function (t) {\n var e, n;\n return 0 === t ? (e = null, n = this) : t === this.getLength() ? (e = this, n = null) : (e = this.copyWithText(this.text.getTextAtRange([0, t])), n = this.copyWithText(this.text.getTextAtRange([t, this.getLength()]))), [e, n];\n }, a.prototype.getBlockBreakPosition = function () {\n return this.text.getLength() - 1;\n }, a.prototype.getTextWithoutBlockBreak = function () {\n return m(this.text) ? this.text.getTextAtRange([0, this.getBlockBreakPosition()]) : this.text.copy();\n }, a.prototype.canBeGrouped = function (t) {\n return this.attributes[t];\n }, a.prototype.canBeGroupedWith = function (t, e) {\n var n, r, s, a;\n return s = t.getAttributes(), r = s[e], n = this.attributes[e], !(n !== r || i(n).group === !1 && (a = s[e + 1], u.call(o(), a) < 0) || this.getDirection() !== t.getDirection() && !t.isEmpty());\n }, h = function h(t) {\n return t = y(t), t = l(t);\n }, y = function y(t) {\n var n, i, o, r, s, a;\n return r = !1, a = t.getPieces(), i = 2 <= a.length ? c.call(a, 0, n = a.length - 1) : (n = 0, []), o = a[n++], null == o ? t : (i = function () {\n var t, e, n;\n\n for (n = [], t = 0, e = i.length; e > t; t++) {\n s = i[t], s.isBlockBreak() ? (r = !0, n.push(v(s))) : n.push(s);\n }\n\n return n;\n }(), r ? new e.Text(c.call(i).concat([o])) : t);\n }, p = e.Text.textForStringWithAttributes(\"\\n\", {\n blockBreak: !0\n }), l = function l(t) {\n return m(t) ? t : t.appendText(p);\n }, m = function m(t) {\n var e, n;\n return n = t.getLength(), 0 === n ? !1 : (e = t.getTextAtRange([n - 1, n]), e.isBlockBreak());\n }, v = function v(t) {\n return t.copyWithoutAttribute(\"blockBreak\");\n }, d = function d(t) {\n var e;\n return e = i(t).listAttribute, null != e ? [e, t] : [t];\n }, f = function f(t) {\n return t.slice(-1)[0];\n }, g = function g(t, e) {\n var n;\n return n = t.lastIndexOf(e), -1 === n ? t : r(t, n, 1);\n }, a;\n }(e.Object);\n }.call(this), function () {\n var t,\n n,\n i,\n o = function o(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n r.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n r = {}.hasOwnProperty,\n s = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n },\n a = [].slice;\n\n n = e.tagName, i = e.walkTree, t = e.nodeIsAttachmentElement, e.HTMLSanitizer = function (r) {\n function u(t, e) {\n var n;\n n = null != e ? e : {}, this.allowedAttributes = n.allowedAttributes, this.forbiddenProtocols = n.forbiddenProtocols, this.forbiddenElements = n.forbiddenElements, null == this.allowedAttributes && (this.allowedAttributes = c), null == this.forbiddenProtocols && (this.forbiddenProtocols = h), null == this.forbiddenElements && (this.forbiddenElements = l), this.body = p(t);\n }\n\n var c, l, h, p;\n return o(u, r), c = \"style href src width height class\".split(\" \"), h = \"javascript:\".split(\" \"), l = \"script iframe\".split(\" \"), u.sanitize = function (t, e) {\n var n;\n return n = new this(t, e), n.sanitize(), n;\n }, u.prototype.sanitize = function () {\n return this.sanitizeElements(), this.normalizeListElementNesting();\n }, u.prototype.getHTML = function () {\n return this.body.innerHTML;\n }, u.prototype.getBody = function () {\n return this.body;\n }, u.prototype.sanitizeElements = function () {\n var t, n, o, r, s;\n\n for (s = i(this.body), r = []; s.nextNode();) {\n switch (o = s.currentNode, o.nodeType) {\n case Node.ELEMENT_NODE:\n this.elementIsRemovable(o) ? r.push(o) : this.sanitizeElement(o);\n break;\n\n case Node.COMMENT_NODE:\n r.push(o);\n }\n }\n\n for (t = 0, n = r.length; n > t; t++) {\n o = r[t], e.removeNode(o);\n }\n\n return this.body;\n }, u.prototype.sanitizeElement = function (t) {\n var e, n, i, o, r;\n\n for (t.hasAttribute(\"href\") && (o = t.protocol, s.call(this.forbiddenProtocols, o) >= 0 && t.removeAttribute(\"href\")), r = a.call(t.attributes), e = 0, n = r.length; n > e; e++) {\n i = r[e].name, s.call(this.allowedAttributes, i) >= 0 || 0 === i.indexOf(\"data-trix\") || t.removeAttribute(i);\n }\n\n return t;\n }, u.prototype.normalizeListElementNesting = function () {\n var t, e, i, o, r;\n\n for (r = a.call(this.body.querySelectorAll(\"ul,ol\")), t = 0, e = r.length; e > t; t++) {\n i = r[t], (o = i.previousElementSibling) && \"li\" === n(o) && o.appendChild(i);\n }\n\n return this.body;\n }, u.prototype.elementIsRemovable = function (t) {\n return (null != t ? t.nodeType : void 0) === Node.ELEMENT_NODE ? this.elementIsForbidden(t) || this.elementIsntSerializable(t) : void 0;\n }, u.prototype.elementIsForbidden = function (t) {\n var e;\n return e = n(t), s.call(this.forbiddenElements, e) >= 0;\n }, u.prototype.elementIsntSerializable = function (e) {\n return \"false\" === e.getAttribute(\"data-trix-serialize\") && !t(e);\n }, p = function p(t) {\n var e, n, i, o, r;\n\n for (null == t && (t = \"\"), t = t.replace(/<\\/html[^>]*>[^]*$/i, \"\"), e = document.implementation.createHTMLDocument(\"\"), e.documentElement.innerHTML = t, r = e.head.querySelectorAll(\"style\"), i = 0, o = r.length; o > i; i++) {\n n = r[i], e.body.appendChild(n);\n }\n\n return e.body;\n }, u;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h,\n p = function p(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n d.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n d = {}.hasOwnProperty,\n f = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.arraysAreEqual, s = e.makeElement, l = e.tagName, r = e.getBlockTagNames, h = e.walkTree, o = e.findClosestElementFromNode, i = e.elementContainsNode, a = e.nodeIsAttachmentElement, u = e.normalizeSpaces, n = e.breakableWhitespacePattern, c = e.squishBreakableWhitespace, e.HTMLParser = function (d) {\n function g(t, e) {\n this.html = t, this.referenceElement = (null != e ? e : {}).referenceElement, this.blocks = [], this.blockElements = [], this.processedElements = [];\n }\n\n var m, v, y, b, A, C, x, w, E, S, R, k;\n return p(g, d), g.parse = function (t, e) {\n var n;\n return n = new this(t, e), n.parse(), n;\n }, g.prototype.getDocument = function () {\n return e.Document.fromJSON(this.blocks);\n }, g.prototype.parse = function () {\n var t, n;\n\n try {\n for (this.createHiddenContainer(), t = e.HTMLSanitizer.sanitize(this.html).getHTML(), this.containerElement.innerHTML = t, n = h(this.containerElement, {\n usingFilter: x\n }); n.nextNode();) {\n this.processNode(n.currentNode);\n }\n\n return this.translateBlockElementMarginsToNewlines();\n } finally {\n this.removeHiddenContainer();\n }\n }, g.prototype.createHiddenContainer = function () {\n return this.referenceElement ? (this.containerElement = this.referenceElement.cloneNode(!1), this.containerElement.removeAttribute(\"id\"), this.containerElement.setAttribute(\"data-trix-internal\", \"\"), this.containerElement.style.display = \"none\", this.referenceElement.parentNode.insertBefore(this.containerElement, this.referenceElement.nextSibling)) : (this.containerElement = s({\n tagName: \"div\",\n style: {\n display: \"none\"\n }\n }), document.body.appendChild(this.containerElement));\n }, g.prototype.removeHiddenContainer = function () {\n return e.removeNode(this.containerElement);\n }, x = function x(t) {\n return \"style\" === l(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, g.prototype.processNode = function (t) {\n switch (t.nodeType) {\n case Node.TEXT_NODE:\n if (!this.isInsignificantTextNode(t)) return this.appendBlockForTextNode(t), this.processTextNode(t);\n break;\n\n case Node.ELEMENT_NODE:\n return this.appendBlockForElement(t), this.processElement(t);\n }\n }, g.prototype.appendBlockForTextNode = function (e) {\n var n, i, o;\n return i = e.parentNode, i === this.currentBlockElement && this.isBlockElement(e.previousSibling) ? this.appendStringWithAttributes(\"\\n\") : i !== this.containerElement && !this.isBlockElement(i) || (n = this.getBlockAttributes(i), t(n, null != (o = this.currentBlock) ? o.attributes : void 0)) ? void 0 : (this.currentBlock = this.appendBlockForAttributesWithElement(n, i), this.currentBlockElement = i);\n }, g.prototype.appendBlockForElement = function (e) {\n var n, o, r, s;\n\n if (r = this.isBlockElement(e), o = i(this.currentBlockElement, e), r && !this.isBlockElement(e.firstChild)) {\n if ((!this.isInsignificantTextNode(e.firstChild) || !this.isBlockElement(e.firstElementChild)) && (n = this.getBlockAttributes(e), e.firstChild)) return o && t(n, this.currentBlock.attributes) ? this.appendStringWithAttributes(\"\\n\") : (this.currentBlock = this.appendBlockForAttributesWithElement(n, e), this.currentBlockElement = e);\n } else if (this.currentBlockElement && !o && !r) return (s = this.findParentBlockElement(e)) ? this.appendBlockForElement(s) : (this.currentBlock = this.appendEmptyBlock(), this.currentBlockElement = null);\n }, g.prototype.findParentBlockElement = function (t) {\n var e;\n\n for (e = t.parentElement; e && e !== this.containerElement;) {\n if (this.isBlockElement(e) && f.call(this.blockElements, e) >= 0) return e;\n e = e.parentElement;\n }\n\n return null;\n }, g.prototype.processTextNode = function (t) {\n var e, n;\n return n = t.data, v(t.parentNode) || (n = c(n), R(null != (e = t.previousSibling) ? e.textContent : void 0) && (n = A(n))), this.appendStringWithAttributes(n, this.getTextAttributes(t.parentNode));\n }, g.prototype.processElement = function (t) {\n var e, n, i, o, r;\n if (a(t)) return e = w(t, \"attachment\"), Object.keys(e).length && (o = this.getTextAttributes(t), this.appendAttachmentWithAttributes(e, o), t.innerHTML = \"\"), this.processedElements.push(t);\n\n switch (l(t)) {\n case \"br\":\n return this.isExtraBR(t) || this.isBlockElement(t.nextSibling) || this.appendStringWithAttributes(\"\\n\", this.getTextAttributes(t)), this.processedElements.push(t);\n\n case \"img\":\n e = {\n url: t.getAttribute(\"src\"),\n contentType: \"image\"\n }, i = b(t);\n\n for (n in i) {\n r = i[n], e[n] = r;\n }\n\n return this.appendAttachmentWithAttributes(e, this.getTextAttributes(t)), this.processedElements.push(t);\n\n case \"tr\":\n if (t.parentNode.firstChild !== t) return this.appendStringWithAttributes(\"\\n\");\n break;\n\n case \"td\":\n if (t.parentNode.firstChild !== t) return this.appendStringWithAttributes(\" | \");\n }\n }, g.prototype.appendBlockForAttributesWithElement = function (t, e) {\n var n;\n return this.blockElements.push(e), n = m(t), this.blocks.push(n), n;\n }, g.prototype.appendEmptyBlock = function () {\n return this.appendBlockForAttributesWithElement([], null);\n }, g.prototype.appendStringWithAttributes = function (t, e) {\n return this.appendPiece(S(t, e));\n }, g.prototype.appendAttachmentWithAttributes = function (t, e) {\n return this.appendPiece(E(t, e));\n }, g.prototype.appendPiece = function (t) {\n return 0 === this.blocks.length && this.appendEmptyBlock(), this.blocks[this.blocks.length - 1].text.push(t);\n }, g.prototype.appendStringToTextAtIndex = function (t, e) {\n var n, i;\n return i = this.blocks[e].text, n = i[i.length - 1], \"string\" === (null != n ? n.type : void 0) ? n.string += t : i.push(S(t));\n }, g.prototype.prependStringToTextAtIndex = function (t, e) {\n var n, i;\n return i = this.blocks[e].text, n = i[0], \"string\" === (null != n ? n.type : void 0) ? n.string = t + n.string : i.unshift(S(t));\n }, S = function S(t, e) {\n var n;\n return null == e && (e = {}), n = \"string\", t = u(t), {\n string: t,\n attributes: e,\n type: n\n };\n }, E = function E(t, e) {\n var n;\n return null == e && (e = {}), n = \"attachment\", {\n attachment: t,\n attributes: e,\n type: n\n };\n }, m = function m(t) {\n var e;\n return null == t && (t = {}), e = [], {\n text: e,\n attributes: t\n };\n }, g.prototype.getTextAttributes = function (t) {\n var n, i, r, s, u, c, l, h, p, d, f, g;\n r = {}, p = e.config.textAttributes;\n\n for (n in p) {\n if (u = p[n], u.tagName && o(t, {\n matchingSelector: u.tagName,\n untilNode: this.containerElement\n })) r[n] = !0;else if (u.parser) {\n if (g = u.parser(t)) {\n for (i = !1, d = this.findBlockElementAncestors(t), c = 0, h = d.length; h > c; c++) {\n if (s = d[c], u.parser(s) === g) {\n i = !0;\n break;\n }\n }\n\n i || (r[n] = g);\n }\n } else u.styleProperty && (g = t.style[u.styleProperty]) && (r[n] = g);\n }\n\n if (a(t)) {\n f = w(t, \"attributes\");\n\n for (l in f) {\n g = f[l], r[l] = g;\n }\n }\n\n return r;\n }, g.prototype.getBlockAttributes = function (t) {\n var n, i, o, r;\n\n for (i = []; t && t !== this.containerElement;) {\n r = e.config.blockAttributes;\n\n for (n in r) {\n o = r[n], o.parse !== !1 && l(t) === o.tagName && ((\"function\" == typeof o.test ? o.test(t) : void 0) || !o.test) && (i.push(n), o.listAttribute && i.push(o.listAttribute));\n }\n\n t = t.parentNode;\n }\n\n return i.reverse();\n }, g.prototype.findBlockElementAncestors = function (t) {\n var e, n;\n\n for (e = []; t && t !== this.containerElement;) {\n n = l(t), f.call(r(), n) >= 0 && e.push(t), t = t.parentNode;\n }\n\n return e;\n }, w = function w(t, e) {\n try {\n return JSON.parse(t.getAttribute(\"data-trix-\" + e));\n } catch (n) {\n return {};\n }\n }, b = function b(t) {\n var e, n, i;\n return i = t.getAttribute(\"width\"), n = t.getAttribute(\"height\"), e = {}, i && (e.width = parseInt(i, 10)), n && (e.height = parseInt(n, 10)), e;\n }, g.prototype.isBlockElement = function (t) {\n var e;\n if ((null != t ? t.nodeType : void 0) === Node.ELEMENT_NODE && !a(t) && !o(t, {\n matchingSelector: \"td\",\n untilNode: this.containerElement\n })) return e = l(t), f.call(r(), e) >= 0 || \"block\" === window.getComputedStyle(t).display;\n }, g.prototype.isInsignificantTextNode = function (t) {\n var e, n, i;\n if ((null != t ? t.nodeType : void 0) === Node.TEXT_NODE && k(t.data) && (n = t.parentNode, i = t.previousSibling, e = t.nextSibling, (!C(n.previousSibling) || this.isBlockElement(n.previousSibling)) && !v(n))) return !i || this.isBlockElement(i) || !e || this.isBlockElement(e);\n }, g.prototype.isExtraBR = function (t) {\n return \"br\" === l(t) && this.isBlockElement(t.parentNode) && t.parentNode.lastChild === t;\n }, v = function v(t) {\n var e;\n return e = window.getComputedStyle(t).whiteSpace, \"pre\" === e || \"pre-wrap\" === e || \"pre-line\" === e;\n }, C = function C(t) {\n return t && !R(t.textContent);\n }, g.prototype.translateBlockElementMarginsToNewlines = function () {\n var t, e, n, i, o, r, s, a;\n\n for (e = this.getMarginOfDefaultBlockElement(), s = this.blocks, a = [], i = n = 0, o = s.length; o > n; i = ++n) {\n t = s[i], (r = this.getMarginOfBlockElementAtIndex(i)) && (r.top > 2 * e.top && this.prependStringToTextAtIndex(\"\\n\", i), a.push(r.bottom > 2 * e.bottom ? this.appendStringToTextAtIndex(\"\\n\", i) : void 0));\n }\n\n return a;\n }, g.prototype.getMarginOfBlockElementAtIndex = function (t) {\n var e, n;\n return !(e = this.blockElements[t]) || !e.textContent || (n = l(e), f.call(r(), n) >= 0 || f.call(this.processedElements, e) >= 0) ? void 0 : y(e);\n }, g.prototype.getMarginOfDefaultBlockElement = function () {\n var t;\n return t = s(e.config.blockAttributes[\"default\"].tagName), this.containerElement.appendChild(t), y(t);\n }, y = function y(t) {\n var e;\n return e = window.getComputedStyle(t), \"block\" === e.display ? {\n top: parseInt(e.marginTop),\n bottom: parseInt(e.marginBottom)\n } : void 0;\n }, A = function A(t) {\n return t.replace(RegExp(\"^\" + n.source + \"+\"), \"\");\n }, k = function k(t) {\n return RegExp(\"^\" + n.source + \"*$\").test(t);\n }, R = function R(t) {\n return /\\s$/.test(t);\n }, g;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].slice,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.arraysAreEqual, i = e.normalizeRange, o = e.rangeIsCollapsed, n = e.getBlockConfig, e.Document = function (s) {\n function c(t) {\n null == t && (t = []), c.__super__.constructor.apply(this, arguments), 0 === t.length && (t = [new e.Block()]), this.blockList = e.SplittableList.box(t);\n }\n\n var l;\n return r(c, s), c.fromJSON = function (t) {\n var n, i;\n return i = function () {\n var i, o, r;\n\n for (r = [], i = 0, o = t.length; o > i; i++) {\n n = t[i], r.push(e.Block.fromJSON(n));\n }\n\n return r;\n }(), new this(i);\n }, c.fromHTML = function (t, n) {\n return e.HTMLParser.parse(t, n).getDocument();\n }, c.fromString = function (t, n) {\n var i;\n return i = e.Text.textForStringWithAttributes(t, n), new this([new e.Block(i)]);\n }, c.prototype.isEmpty = function () {\n var t;\n return 1 === this.blockList.length && (t = this.getBlockAtIndex(0), t.isEmpty() && !t.hasAttributes());\n }, c.prototype.copy = function (t) {\n var e;\n return null == t && (t = {}), e = t.consolidateBlocks ? this.blockList.consolidate().toArray() : this.blockList.toArray(), new this.constructor(e);\n }, c.prototype.copyUsingObjectsFromDocument = function (t) {\n var n;\n return n = new e.ObjectMap(t.getObjects()), this.copyUsingObjectMap(n);\n }, c.prototype.copyUsingObjectMap = function (t) {\n var e, n, i;\n return n = function () {\n var n, o, r, s;\n\n for (r = this.getBlocks(), s = [], n = 0, o = r.length; o > n; n++) {\n e = r[n], s.push((i = t.find(e)) ? i : e.copyUsingObjectMap(t));\n }\n\n return s;\n }.call(this), new this.constructor(n);\n }, c.prototype.copyWithBaseBlockAttributes = function (t) {\n var e, n, i;\n return null == t && (t = []), i = function () {\n var i, o, r, s;\n\n for (r = this.getBlocks(), s = [], i = 0, o = r.length; o > i; i++) {\n n = r[i], e = t.concat(n.getAttributes()), s.push(n.copyWithAttributes(e));\n }\n\n return s;\n }.call(this), new this.constructor(i);\n }, c.prototype.replaceBlock = function (t, e) {\n var n;\n return n = this.blockList.indexOf(t), -1 === n ? this : new this.constructor(this.blockList.replaceObjectAtIndex(e, n));\n }, c.prototype.insertDocumentAtRange = function (t, e) {\n var n, r, s, a, u, c, l;\n return r = t.blockList, u = (e = i(e))[0], c = this.locationFromPosition(u), s = c.index, a = c.offset, l = this, n = this.getBlockAtPosition(u), o(e) && n.isEmpty() && !n.hasAttributes() ? l = new this.constructor(l.blockList.removeObjectAtIndex(s)) : n.getBlockBreakPosition() === a && u++, l = l.removeTextAtRange(e), new this.constructor(l.blockList.insertSplittableListAtPosition(r, u));\n }, c.prototype.mergeDocumentAtRange = function (e, n) {\n var o, r, s, a, u, c, l, h, p, d, f, g;\n return f = (n = i(n))[0], d = this.locationFromPosition(f), r = this.getBlockAtIndex(d.index).getAttributes(), o = e.getBaseBlockAttributes(), g = r.slice(-o.length), t(o, g) ? (l = r.slice(0, -o.length), c = e.copyWithBaseBlockAttributes(l)) : c = e.copy({\n consolidateBlocks: !0\n }).copyWithBaseBlockAttributes(r), s = c.getBlockCount(), a = c.getBlockAtIndex(0), t(r, a.getAttributes()) ? (u = a.getTextWithoutBlockBreak(), p = this.insertTextAtRange(u, n), s > 1 && (c = new this.constructor(c.getBlocks().slice(1)), h = f + u.getLength(), p = p.insertDocumentAtRange(c, h))) : p = this.insertDocumentAtRange(c, n), p;\n }, c.prototype.insertTextAtRange = function (t, e) {\n var n, o, r, s, a;\n return a = (e = i(e))[0], s = this.locationFromPosition(a), o = s.index, r = s.offset, n = this.removeTextAtRange(e), new this.constructor(n.blockList.editObjectAtIndex(o, function (e) {\n return e.copyWithText(e.text.insertTextAtPosition(t, r));\n }));\n }, c.prototype.removeTextAtRange = function (t) {\n var e, n, r, s, a, u, c, l, h, p, d, f, g, m, v, y, b, A, C, x, w;\n return p = t = i(t), l = p[0], A = p[1], o(t) ? this : (d = this.locationRangeFromRange(t), u = d[0], y = d[1], a = u.index, c = u.offset, s = this.getBlockAtIndex(a), v = y.index, b = y.offset, m = this.getBlockAtIndex(v), f = A - l === 1 && s.getBlockBreakPosition() === c && m.getBlockBreakPosition() !== b && \"\\n\" === m.text.getStringAtPosition(b), f ? r = this.blockList.editObjectAtIndex(v, function (t) {\n return t.copyWithText(t.text.removeTextAtRange([b, b + 1]));\n }) : (h = s.text.getTextAtRange([0, c]), C = m.text.getTextAtRange([b, m.getLength()]), x = h.appendText(C), g = a !== v && 0 === c, w = g && s.getAttributeLevel() >= m.getAttributeLevel(), n = w ? m.copyWithText(x) : s.copyWithText(x), e = v + 1 - a, r = this.blockList.splice(a, e, n)), new this.constructor(r));\n }, c.prototype.moveTextFromRangeToPosition = function (t, e) {\n var n, o, r, s, u, c, l, h, p, d;\n return c = t = i(t), p = c[0], r = c[1], e >= p && r >= e ? this : (o = this.getDocumentAtRange(t), h = this.removeTextAtRange(t), u = e > p, u && (e -= o.getLength()), l = o.getBlocks(), s = l[0], n = 2 <= l.length ? a.call(l, 1) : [], 0 === n.length ? (d = s.getTextWithoutBlockBreak(), u && (e += 1)) : d = s.text, h = h.insertTextAtRange(d, e), 0 === n.length ? h : (o = new this.constructor(n), e += d.getLength(), h.insertDocumentAtRange(o, e)));\n }, c.prototype.addAttributeAtRange = function (t, e, i) {\n var o;\n return o = this.blockList, this.eachBlockAtRange(i, function (i, r, s) {\n return o = o.editObjectAtIndex(s, function () {\n return n(t) ? i.addAttribute(t, e) : r[0] === r[1] ? i : i.copyWithText(i.text.addAttributeAtRange(t, e, r));\n });\n }), new this.constructor(o);\n }, c.prototype.addAttribute = function (t, e) {\n var n;\n return n = this.blockList, this.eachBlock(function (i, o) {\n return n = n.editObjectAtIndex(o, function () {\n return i.addAttribute(t, e);\n });\n }), new this.constructor(n);\n }, c.prototype.removeAttributeAtRange = function (t, e) {\n var i;\n return i = this.blockList, this.eachBlockAtRange(e, function (e, o, r) {\n return n(t) ? i = i.editObjectAtIndex(r, function () {\n return e.removeAttribute(t);\n }) : o[0] !== o[1] ? i = i.editObjectAtIndex(r, function () {\n return e.copyWithText(e.text.removeAttributeAtRange(t, o));\n }) : void 0;\n }), new this.constructor(i);\n }, c.prototype.updateAttributesForAttachment = function (t, e) {\n var n, i, o, r;\n return o = (i = this.getRangeOfAttachment(e))[0], n = this.locationFromPosition(o).index, r = this.getTextAtIndex(n), new this.constructor(this.blockList.editObjectAtIndex(n, function (n) {\n return n.copyWithText(r.updateAttributesForAttachment(t, e));\n }));\n }, c.prototype.removeAttributeForAttachment = function (t, e) {\n var n;\n return n = this.getRangeOfAttachment(e), this.removeAttributeAtRange(t, n);\n }, c.prototype.insertBlockBreakAtRange = function (t) {\n var n, o, r, s;\n return s = (t = i(t))[0], r = this.locationFromPosition(s).offset, o = this.removeTextAtRange(t), 0 === r && (n = [new e.Block()]), new this.constructor(o.blockList.insertSplittableListAtPosition(new e.SplittableList(n), s));\n }, c.prototype.applyBlockAttributeAtRange = function (t, e, i) {\n var o, r, s, a;\n return s = this.expandRangeToLineBreaksAndSplitBlocks(i), r = s.document, i = s.range, o = n(t), o.listAttribute ? (r = r.removeLastListAttributeAtRange(i, {\n exceptAttributeName: t\n }), a = r.convertLineBreaksToBlockBreaksInRange(i), r = a.document, i = a.range) : r = o.exclusive ? r.removeBlockAttributesAtRange(i) : o.terminal ? r.removeLastTerminalAttributeAtRange(i) : r.consolidateBlocksAtRange(i), r.addAttributeAtRange(t, e, i);\n }, c.prototype.removeLastListAttributeAtRange = function (t, e) {\n var i;\n return null == e && (e = {}), i = this.blockList, this.eachBlockAtRange(t, function (t, o, r) {\n var s;\n if ((s = t.getLastAttribute()) && n(s).listAttribute && s !== e.exceptAttributeName) return i = i.editObjectAtIndex(r, function () {\n return t.removeAttribute(s);\n });\n }), new this.constructor(i);\n }, c.prototype.removeLastTerminalAttributeAtRange = function (t) {\n var e;\n return e = this.blockList, this.eachBlockAtRange(t, function (t, i, o) {\n var r;\n if ((r = t.getLastAttribute()) && n(r).terminal) return e = e.editObjectAtIndex(o, function () {\n return t.removeAttribute(r);\n });\n }), new this.constructor(e);\n }, c.prototype.removeBlockAttributesAtRange = function (t) {\n var e;\n return e = this.blockList, this.eachBlockAtRange(t, function (t, n, i) {\n return t.hasAttributes() ? e = e.editObjectAtIndex(i, function () {\n return t.copyWithoutAttributes();\n }) : void 0;\n }), new this.constructor(e);\n }, c.prototype.expandRangeToLineBreaksAndSplitBlocks = function (t) {\n var e, n, o, r, s, a, u, c, l;\n return a = t = i(t), l = a[0], r = a[1], c = this.locationFromPosition(l), o = this.locationFromPosition(r), e = this, u = e.getBlockAtIndex(c.index), null != (c.offset = u.findLineBreakInDirectionFromPosition(\"backward\", c.offset)) && (s = e.positionFromLocation(c), e = e.insertBlockBreakAtRange([s, s + 1]), o.index += 1, o.offset -= e.getBlockAtIndex(c.index).getLength(), c.index += 1), c.offset = 0, 0 === o.offset && o.index > c.index ? (o.index -= 1, o.offset = e.getBlockAtIndex(o.index).getBlockBreakPosition()) : (n = e.getBlockAtIndex(o.index), \"\\n\" === n.text.getStringAtRange([o.offset - 1, o.offset]) ? o.offset -= 1 : o.offset = n.findLineBreakInDirectionFromPosition(\"forward\", o.offset), o.offset !== n.getBlockBreakPosition() && (s = e.positionFromLocation(o), e = e.insertBlockBreakAtRange([s, s + 1]))), l = e.positionFromLocation(c), r = e.positionFromLocation(o), t = i([l, r]), {\n document: e,\n range: t\n };\n }, c.prototype.convertLineBreaksToBlockBreaksInRange = function (t) {\n var e, n, o;\n return n = (t = i(t))[0], o = this.getStringAtRange(t).slice(0, -1), e = this, o.replace(/.*?\\n/g, function (t) {\n return n += t.length, e = e.insertBlockBreakAtRange([n - 1, n]);\n }), {\n document: e,\n range: t\n };\n }, c.prototype.consolidateBlocksAtRange = function (t) {\n var e, n, o, r, s;\n return o = t = i(t), s = o[0], n = o[1], r = this.locationFromPosition(s).index, e = this.locationFromPosition(n).index, new this.constructor(this.blockList.consolidateFromIndexToIndex(r, e));\n }, c.prototype.getDocumentAtRange = function (t) {\n var e;\n return t = i(t), e = this.blockList.getSplittableListInRange(t).toArray(), new this.constructor(e);\n }, c.prototype.getStringAtRange = function (t) {\n var e, n, o;\n return o = t = i(t), n = o[o.length - 1], n !== this.getLength() && (e = -1), this.getDocumentAtRange(t).toString().slice(0, e);\n }, c.prototype.getBlockAtIndex = function (t) {\n return this.blockList.getObjectAtIndex(t);\n }, c.prototype.getBlockAtPosition = function (t) {\n var e;\n return e = this.locationFromPosition(t).index, this.getBlockAtIndex(e);\n }, c.prototype.getTextAtIndex = function (t) {\n var e;\n return null != (e = this.getBlockAtIndex(t)) ? e.text : void 0;\n }, c.prototype.getTextAtPosition = function (t) {\n var e;\n return e = this.locationFromPosition(t).index, this.getTextAtIndex(e);\n }, c.prototype.getPieceAtPosition = function (t) {\n var e, n, i;\n return i = this.locationFromPosition(t), e = i.index, n = i.offset, this.getTextAtIndex(e).getPieceAtPosition(n);\n }, c.prototype.getCharacterAtPosition = function (t) {\n var e, n, i;\n return i = this.locationFromPosition(t), e = i.index, n = i.offset, this.getTextAtIndex(e).getStringAtRange([n, n + 1]);\n }, c.prototype.getLength = function () {\n return this.blockList.getEndPosition();\n }, c.prototype.getBlocks = function () {\n return this.blockList.toArray();\n }, c.prototype.getBlockCount = function () {\n return this.blockList.length;\n }, c.prototype.getEditCount = function () {\n return this.editCount;\n }, c.prototype.eachBlock = function (t) {\n return this.blockList.eachObject(t);\n }, c.prototype.eachBlockAtRange = function (t, e) {\n var n, o, r, s, a, u, c, l, h, p, d, f;\n if (u = t = i(t), d = u[0], r = u[1], p = this.locationFromPosition(d), o = this.locationFromPosition(r), p.index === o.index) return n = this.getBlockAtIndex(p.index), f = [p.offset, o.offset], e(n, f, p.index);\n\n for (h = [], a = s = c = p.index, l = o.index; l >= c ? l >= s : s >= l; a = l >= c ? ++s : --s) {\n (n = this.getBlockAtIndex(a)) ? (f = function () {\n switch (a) {\n case p.index:\n return [p.offset, n.text.getLength()];\n\n case o.index:\n return [0, o.offset];\n\n default:\n return [0, n.text.getLength()];\n }\n }(), h.push(e(n, f, a))) : h.push(void 0);\n }\n\n return h;\n }, c.prototype.getCommonAttributesAtRange = function (t) {\n var n, r, s;\n return r = (t = i(t))[0], o(t) ? this.getCommonAttributesAtPosition(r) : (s = [], n = [], this.eachBlockAtRange(t, function (t, e) {\n return e[0] !== e[1] ? (s.push(t.text.getCommonAttributesAtRange(e)), n.push(l(t))) : void 0;\n }), e.Hash.fromCommonAttributesOfObjects(s).merge(e.Hash.fromCommonAttributesOfObjects(n)).toObject());\n }, c.prototype.getCommonAttributesAtPosition = function (t) {\n var n, i, o, r, s, a, c, h, p, d;\n if (p = this.locationFromPosition(t), s = p.index, h = p.offset, o = this.getBlockAtIndex(s), !o) return {};\n r = l(o), n = o.text.getAttributesAtPosition(h), i = o.text.getAttributesAtPosition(h - 1), a = function () {\n var t, n;\n t = e.config.textAttributes, n = [];\n\n for (c in t) {\n d = t[c], d.inheritable && n.push(c);\n }\n\n return n;\n }();\n\n for (c in i) {\n d = i[c], (d === n[c] || u.call(a, c) >= 0) && (r[c] = d);\n }\n\n return r;\n }, c.prototype.getRangeOfCommonAttributeAtPosition = function (t, e) {\n var n, o, r, s, a, u, c, l, h;\n return a = this.locationFromPosition(e), r = a.index, s = a.offset, h = this.getTextAtIndex(r), u = h.getExpandedRangeForAttributeAtOffset(t, s), l = u[0], o = u[1], c = this.positionFromLocation({\n index: r,\n offset: l\n }), n = this.positionFromLocation({\n index: r,\n offset: o\n }), i([c, n]);\n }, c.prototype.getBaseBlockAttributes = function () {\n var t, e, n, i, o, r, s;\n\n for (t = this.getBlockAtIndex(0).getAttributes(), n = i = 1, s = this.getBlockCount(); s >= 1 ? s > i : i > s; n = s >= 1 ? ++i : --i) {\n e = this.getBlockAtIndex(n).getAttributes(), r = Math.min(t.length, e.length), t = function () {\n var n, i, s;\n\n for (s = [], o = n = 0, i = r; (i >= 0 ? i > n : n > i) && e[o] === t[o]; o = i >= 0 ? ++n : --n) {\n s.push(e[o]);\n }\n\n return s;\n }();\n }\n\n return t;\n }, l = function l(t) {\n var e, n;\n return n = {}, (e = t.getLastAttribute()) && (n[e] = !0), n;\n }, c.prototype.getAttachmentById = function (t) {\n var e, n, i, o;\n\n for (o = this.getAttachments(), n = 0, i = o.length; i > n; n++) {\n if (e = o[n], e.id === t) return e;\n }\n }, c.prototype.getAttachmentPieces = function () {\n var t;\n return t = [], this.blockList.eachObject(function (e) {\n var n;\n return n = e.text, t = t.concat(n.getAttachmentPieces());\n }), t;\n }, c.prototype.getAttachments = function () {\n var t, e, n, i, o;\n\n for (i = this.getAttachmentPieces(), o = [], t = 0, e = i.length; e > t; t++) {\n n = i[t], o.push(n.attachment);\n }\n\n return o;\n }, c.prototype.getRangeOfAttachment = function (t) {\n var e, n, o, r, s, a, u;\n\n for (r = 0, s = this.blockList.toArray(), n = e = 0, o = s.length; o > e; n = ++e) {\n if (a = s[n].text, u = a.getRangeOfAttachment(t)) return i([r + u[0], r + u[1]]);\n r += a.getLength();\n }\n }, c.prototype.getLocationRangeOfAttachment = function (t) {\n var e;\n return e = this.getRangeOfAttachment(t), this.locationRangeFromRange(e);\n }, c.prototype.getAttachmentPieceForAttachment = function (t) {\n var e, n, i, o;\n\n for (o = this.getAttachmentPieces(), e = 0, n = o.length; n > e; e++) {\n if (i = o[e], i.attachment === t) return i;\n }\n }, c.prototype.findRangesForBlockAttribute = function (t) {\n var e, n, i, o, r, s, a;\n\n for (r = 0, s = [], a = this.getBlocks(), n = 0, i = a.length; i > n; n++) {\n e = a[n], o = e.getLength(), e.hasAttribute(t) && s.push([r, r + o]), r += o;\n }\n\n return s;\n }, c.prototype.findRangesForTextAttribute = function (t, e) {\n var n, i, o, r, s, a, u, c, l, h;\n\n for (h = (null != e ? e : {}).withValue, a = 0, u = [], c = [], r = function r(e) {\n return null != h ? e.getAttribute(t) === h : e.hasAttribute(t);\n }, l = this.getPieces(), n = 0, i = l.length; i > n; n++) {\n s = l[n], o = s.getLength(), r(s) && (u[1] === a ? u[1] = a + o : c.push(u = [a, a + o])), a += o;\n }\n\n return c;\n }, c.prototype.locationFromPosition = function (t) {\n var e, n;\n return n = this.blockList.findIndexAndOffsetAtPosition(Math.max(0, t)), null != n.index ? n : (e = this.getBlocks(), {\n index: e.length - 1,\n offset: e[e.length - 1].getLength()\n });\n }, c.prototype.positionFromLocation = function (t) {\n return this.blockList.findPositionAtIndexAndOffset(t.index, t.offset);\n }, c.prototype.locationRangeFromPosition = function (t) {\n return i(this.locationFromPosition(t));\n }, c.prototype.locationRangeFromRange = function (t) {\n var e, n, o, r;\n if (t = i(t)) return r = t[0], n = t[1], o = this.locationFromPosition(r), e = this.locationFromPosition(n), i([o, e]);\n }, c.prototype.rangeFromLocationRange = function (t) {\n var e, n;\n return t = i(t), e = this.positionFromLocation(t[0]), o(t) || (n = this.positionFromLocation(t[1])), i([e, n]);\n }, c.prototype.isEqualTo = function (t) {\n return this.blockList.isEqualTo(null != t ? t.blockList : void 0);\n }, c.prototype.getTexts = function () {\n var t, e, n, i, o;\n\n for (i = this.getBlocks(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(t.text);\n }\n\n return o;\n }, c.prototype.getPieces = function () {\n var t, e, n, i, o;\n\n for (n = [], i = this.getTexts(), t = 0, e = i.length; e > t; t++) {\n o = i[t], n.push.apply(n, o.getPieces());\n }\n\n return n;\n }, c.prototype.getObjects = function () {\n return this.getBlocks().concat(this.getTexts()).concat(this.getPieces());\n }, c.prototype.toSerializableDocument = function () {\n var t;\n return t = [], this.blockList.eachObject(function (e) {\n return t.push(e.copyWithText(e.text.toSerializableText()));\n }), new this.constructor(t);\n }, c.prototype.toString = function () {\n return this.blockList.toString();\n }, c.prototype.toJSON = function () {\n return this.blockList.toJSON();\n }, c.prototype.toConsole = function () {\n var t;\n return JSON.stringify(function () {\n var e, n, i, o;\n\n for (i = this.blockList.toArray(), o = [], e = 0, n = i.length; n > e; e++) {\n t = i[e], o.push(JSON.parse(t.text.toConsole()));\n }\n\n return o;\n }.call(this));\n }, c;\n }(e.Object);\n }.call(this), function () {\n e.LineBreakInsertion = function () {\n function t(t) {\n var e;\n this.composition = t, this.document = this.composition.document, e = this.composition.getSelectedRange(), this.startPosition = e[0], this.endPosition = e[1], this.startLocation = this.document.locationFromPosition(this.startPosition), this.endLocation = this.document.locationFromPosition(this.endPosition), this.block = this.document.getBlockAtIndex(this.endLocation.index), this.breaksOnReturn = this.block.breaksOnReturn(), this.previousCharacter = this.block.text.getStringAtPosition(this.endLocation.offset - 1), this.nextCharacter = this.block.text.getStringAtPosition(this.endLocation.offset);\n }\n\n return t.prototype.shouldInsertBlockBreak = function () {\n return this.block.hasAttributes() && this.block.isListItem() && !this.block.isEmpty() ? 0 !== this.startLocation.offset : this.breaksOnReturn && \"\\n\" !== this.nextCharacter;\n }, t.prototype.shouldBreakFormattedBlock = function () {\n return this.block.hasAttributes() && !this.block.isListItem() && (this.breaksOnReturn && \"\\n\" === this.nextCharacter || \"\\n\" === this.previousCharacter);\n }, t.prototype.shouldDecreaseListLevel = function () {\n return this.block.hasAttributes() && this.block.isListItem() && this.block.isEmpty();\n }, t.prototype.shouldPrependListItem = function () {\n return this.block.isListItem() && 0 === this.startLocation.offset && !this.block.isEmpty();\n }, t.prototype.shouldRemoveLastBlockAttribute = function () {\n return this.block.hasAttributes() && !this.block.isListItem() && this.block.isEmpty();\n }, t;\n }();\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h = function h(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n p.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n p = {}.hasOwnProperty;\n\n s = e.normalizeRange, c = e.rangesAreEqual, u = e.rangeIsCollapsed, a = e.objectsAreEqual, t = e.arrayStartsWith, l = e.summarizeArrayChange, i = e.getAllAttributeNames, o = e.getBlockConfig, r = e.getTextConfig, n = e.extend, e.Composition = function (p) {\n function d() {\n this.document = new e.Document(), this.attachments = [], this.currentAttributes = {}, this.revision = 0;\n }\n\n var f;\n return h(d, p), d.prototype.setDocument = function (t) {\n var e;\n return t.isEqualTo(this.document) ? void 0 : (this.document = t, this.refreshAttachments(), this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidChangeDocument ? e.compositionDidChangeDocument(t) : void 0);\n }, d.prototype.getSnapshot = function () {\n return {\n document: this.document,\n selectedRange: this.getSelectedRange()\n };\n }, d.prototype.loadSnapshot = function (t) {\n var n, i, o, r;\n return n = t.document, r = t.selectedRange, null != (i = this.delegate) && \"function\" == typeof i.compositionWillLoadSnapshot && i.compositionWillLoadSnapshot(), this.setDocument(null != n ? n : new e.Document()), this.setSelection(null != r ? r : [0, 0]), null != (o = this.delegate) && \"function\" == typeof o.compositionDidLoadSnapshot ? o.compositionDidLoadSnapshot() : void 0;\n }, d.prototype.insertText = function (t, e) {\n var n, i, o, r;\n return r = (null != e ? e : {\n updatePosition: !0\n }).updatePosition, i = this.getSelectedRange(), this.setDocument(this.document.insertTextAtRange(t, i)), o = i[0], n = o + t.getLength(), r && this.setSelection(n), this.notifyDelegateOfInsertionAtRange([o, n]);\n }, d.prototype.insertBlock = function (t) {\n var n;\n return null == t && (t = new e.Block()), n = new e.Document([t]), this.insertDocument(n);\n }, d.prototype.insertDocument = function (t) {\n var n, i, o;\n return null == t && (t = new e.Document()), i = this.getSelectedRange(), this.setDocument(this.document.insertDocumentAtRange(t, i)), o = i[0], n = o + t.getLength(), this.setSelection(n), this.notifyDelegateOfInsertionAtRange([o, n]);\n }, d.prototype.insertString = function (t, n) {\n var i, o;\n return i = this.getCurrentTextAttributes(), o = e.Text.textForStringWithAttributes(t, i), this.insertText(o, n);\n }, d.prototype.insertBlockBreak = function () {\n var t, e, n;\n return e = this.getSelectedRange(), this.setDocument(this.document.insertBlockBreakAtRange(e)), n = e[0], t = n + 1, this.setSelection(t), this.notifyDelegateOfInsertionAtRange([n, t]);\n }, d.prototype.insertLineBreak = function () {\n var t, n;\n return n = new e.LineBreakInsertion(this), n.shouldDecreaseListLevel() ? (this.decreaseListLevel(), this.setSelection(n.startPosition)) : n.shouldPrependListItem() ? (t = new e.Document([n.block.copyWithoutText()]), this.insertDocument(t)) : n.shouldInsertBlockBreak() ? this.insertBlockBreak() : n.shouldRemoveLastBlockAttribute() ? this.removeLastBlockAttribute() : n.shouldBreakFormattedBlock() ? this.breakFormattedBlock(n) : this.insertString(\"\\n\");\n }, d.prototype.insertHTML = function (t) {\n var n, i, o, r;\n return n = e.Document.fromHTML(t), o = this.getSelectedRange(), this.setDocument(this.document.mergeDocumentAtRange(n, o)), r = o[0], i = r + n.getLength() - 1, this.setSelection(i), this.notifyDelegateOfInsertionAtRange([r, i]);\n }, d.prototype.replaceHTML = function (t) {\n var n, i, o;\n return n = e.Document.fromHTML(t).copyUsingObjectsFromDocument(this.document), i = this.getLocationRange({\n strict: !1\n }), o = this.document.rangeFromLocationRange(i), this.setDocument(n), this.setSelection(o);\n }, d.prototype.insertFile = function (t) {\n return this.insertFiles([t]);\n }, d.prototype.insertFiles = function (t) {\n var n, i, o, r, s, a;\n\n for (i = [], r = 0, s = t.length; s > r; r++) {\n o = t[r], (null != (a = this.delegate) ? a.compositionShouldAcceptFile(o) : void 0) && (n = e.Attachment.attachmentForFile(o), i.push(n));\n }\n\n return this.insertAttachments(i);\n }, d.prototype.insertAttachment = function (t) {\n return this.insertAttachments([t]);\n }, d.prototype.insertAttachments = function (t) {\n var n, i, o, r, s, a, u, c, l;\n\n for (c = new e.Text(), r = 0, s = t.length; s > r; r++) {\n n = t[r], l = n.getType(), a = null != (u = e.config.attachments[l]) ? u.presentation : void 0, o = this.getCurrentTextAttributes(), a && (o.presentation = a), i = e.Text.textForAttachmentWithAttributes(n, o), c = c.appendText(i);\n }\n\n return this.insertText(c);\n }, d.prototype.shouldManageDeletingInDirection = function (t) {\n var e;\n\n if (e = this.getLocationRange(), u(e)) {\n if (\"backward\" === t && 0 === e[0].offset) return !0;\n if (this.shouldManageMovingCursorInDirection(t)) return !0;\n } else if (e[0].index !== e[1].index) return !0;\n\n return !1;\n }, d.prototype.deleteInDirection = function (t, e) {\n var n, i, o, r, s, a, c, l;\n return r = (null != e ? e : {}).length, s = this.getLocationRange(), a = this.getSelectedRange(), c = u(a), c ? o = \"backward\" === t && 0 === s[0].offset : l = s[0].index !== s[1].index, o && this.canDecreaseBlockAttributeLevel() && (i = this.getBlock(), i.isListItem() ? this.decreaseListLevel() : this.decreaseBlockAttributeLevel(), this.setSelection(a[0]), i.isEmpty()) ? !1 : (c && (a = this.getExpandedRangeInDirection(t, {\n length: r\n }), \"backward\" === t && (n = this.getAttachmentAtRange(a))), n ? (this.editAttachment(n), !1) : (this.setDocument(this.document.removeTextAtRange(a)), this.setSelection(a[0]), o || l ? !1 : void 0));\n }, d.prototype.moveTextFromRange = function (t) {\n var e;\n return e = this.getSelectedRange()[0], this.setDocument(this.document.moveTextFromRangeToPosition(t, e)), this.setSelection(e);\n }, d.prototype.removeAttachment = function (t) {\n var e;\n return (e = this.document.getRangeOfAttachment(t)) ? (this.stopEditingAttachment(), this.setDocument(this.document.removeTextAtRange(e)), this.setSelection(e[0])) : void 0;\n }, d.prototype.removeLastBlockAttribute = function () {\n var t, e, n, i;\n return n = this.getSelectedRange(), i = n[0], e = n[1], t = this.document.getBlockAtPosition(e), this.removeCurrentAttribute(t.getLastAttribute()), this.setSelection(i);\n }, f = \" \", d.prototype.insertPlaceholder = function () {\n return this.placeholderPosition = this.getPosition(), this.insertString(f);\n }, d.prototype.selectPlaceholder = function () {\n return null != this.placeholderPosition ? (this.setSelectedRange([this.placeholderPosition, this.placeholderPosition + f.length]), this.getSelectedRange()) : void 0;\n }, d.prototype.forgetPlaceholder = function () {\n return this.placeholderPosition = null;\n }, d.prototype.hasCurrentAttribute = function (t) {\n var e;\n return e = this.currentAttributes[t], null != e && e !== !1;\n }, d.prototype.toggleCurrentAttribute = function (t) {\n var e;\n return (e = !this.currentAttributes[t]) ? this.setCurrentAttribute(t, e) : this.removeCurrentAttribute(t);\n }, d.prototype.canSetCurrentAttribute = function (t) {\n return o(t) ? this.canSetCurrentBlockAttribute(t) : this.canSetCurrentTextAttribute(t);\n }, d.prototype.canSetCurrentTextAttribute = function () {\n var t, e, n, i, o;\n\n if (e = this.getSelectedDocument()) {\n for (o = e.getAttachments(), n = 0, i = o.length; i > n; n++) {\n if (t = o[n], !t.hasContent()) return !1;\n }\n\n return !0;\n }\n }, d.prototype.canSetCurrentBlockAttribute = function () {\n var t;\n if (t = this.getBlock()) return !t.isTerminalBlock();\n }, d.prototype.setCurrentAttribute = function (t, e) {\n return o(t) ? this.setBlockAttribute(t, e) : (this.setTextAttribute(t, e), this.currentAttributes[t] = e, this.notifyDelegateOfCurrentAttributesChange());\n }, d.prototype.setTextAttribute = function (t, n) {\n var i, o, r, s;\n if (o = this.getSelectedRange()) return r = o[0], i = o[1], r !== i ? this.setDocument(this.document.addAttributeAtRange(t, n, o)) : \"href\" === t ? (s = e.Text.textForStringWithAttributes(n, {\n href: n\n }), this.insertText(s)) : void 0;\n }, d.prototype.setBlockAttribute = function (t, e) {\n var n, i;\n if (i = this.getSelectedRange()) return this.canSetCurrentAttribute(t) ? (n = this.getBlock(), this.setDocument(this.document.applyBlockAttributeAtRange(t, e, i)), this.setSelection(i)) : void 0;\n }, d.prototype.removeCurrentAttribute = function (t) {\n return o(t) ? (this.removeBlockAttribute(t), this.updateCurrentAttributes()) : (this.removeTextAttribute(t), delete this.currentAttributes[t], this.notifyDelegateOfCurrentAttributesChange());\n }, d.prototype.removeTextAttribute = function (t) {\n var e;\n if (e = this.getSelectedRange()) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }, d.prototype.removeBlockAttribute = function (t) {\n var e;\n if (e = this.getSelectedRange()) return this.setDocument(this.document.removeAttributeAtRange(t, e));\n }, d.prototype.canDecreaseNestingLevel = function () {\n var t;\n return (null != (t = this.getBlock()) ? t.getNestingLevel() : void 0) > 0;\n }, d.prototype.canIncreaseNestingLevel = function () {\n var e, n, i;\n if (e = this.getBlock()) return (null != (i = o(e.getLastNestableAttribute())) ? i.listAttribute : 0) ? (n = this.getPreviousBlock()) ? t(n.getListItemAttributes(), e.getListItemAttributes()) : void 0 : e.getNestingLevel() > 0;\n }, d.prototype.decreaseNestingLevel = function () {\n var t;\n if (t = this.getBlock()) return this.setDocument(this.document.replaceBlock(t, t.decreaseNestingLevel()));\n }, d.prototype.increaseNestingLevel = function () {\n var t;\n if (t = this.getBlock()) return this.setDocument(this.document.replaceBlock(t, t.increaseNestingLevel()));\n }, d.prototype.canDecreaseBlockAttributeLevel = function () {\n var t;\n return (null != (t = this.getBlock()) ? t.getAttributeLevel() : void 0) > 0;\n }, d.prototype.decreaseBlockAttributeLevel = function () {\n var t, e;\n return (t = null != (e = this.getBlock()) ? e.getLastAttribute() : void 0) ? this.removeCurrentAttribute(t) : void 0;\n }, d.prototype.decreaseListLevel = function () {\n var t, e, n, i, o, r;\n\n for (r = this.getSelectedRange()[0], o = this.document.locationFromPosition(r).index, n = o, t = this.getBlock().getAttributeLevel(); (e = this.document.getBlockAtIndex(n + 1)) && e.isListItem() && e.getAttributeLevel() > t;) {\n n++;\n }\n\n return r = this.document.positionFromLocation({\n index: o,\n offset: 0\n }), i = this.document.positionFromLocation({\n index: n,\n offset: 0\n }), this.setDocument(this.document.removeLastListAttributeAtRange([r, i]));\n }, d.prototype.updateCurrentAttributes = function () {\n var t, e, n, o, r, s;\n\n if (s = this.getSelectedRange({\n ignoreLock: !0\n })) {\n for (e = this.document.getCommonAttributesAtRange(s), r = i(), n = 0, o = r.length; o > n; n++) {\n t = r[n], e[t] || this.canSetCurrentAttribute(t) || (e[t] = !1);\n }\n\n if (!a(e, this.currentAttributes)) return this.currentAttributes = e, this.notifyDelegateOfCurrentAttributesChange();\n }\n }, d.prototype.getCurrentAttributes = function () {\n return n.call({}, this.currentAttributes);\n }, d.prototype.getCurrentTextAttributes = function () {\n var t, e, n, i;\n t = {}, n = this.currentAttributes;\n\n for (e in n) {\n i = n[e], i !== !1 && r(e) && (t[e] = i);\n }\n\n return t;\n }, d.prototype.freezeSelection = function () {\n return this.setCurrentAttribute(\"frozen\", !0);\n }, d.prototype.thawSelection = function () {\n return this.removeCurrentAttribute(\"frozen\");\n }, d.prototype.hasFrozenSelection = function () {\n return this.hasCurrentAttribute(\"frozen\");\n }, d.proxyMethod(\"getSelectionManager().getPointRange\"), d.proxyMethod(\"getSelectionManager().setLocationRangeFromPointRange\"), d.proxyMethod(\"getSelectionManager().createLocationRangeFromDOMRange\"), d.proxyMethod(\"getSelectionManager().locationIsCursorTarget\"), d.proxyMethod(\"getSelectionManager().selectionIsExpanded\"), d.proxyMethod(\"delegate?.getSelectionManager\"), d.prototype.setSelection = function (t) {\n var e, n;\n return e = this.document.locationRangeFromRange(t), null != (n = this.delegate) ? n.compositionDidRequestChangingSelectionToLocationRange(e) : void 0;\n }, d.prototype.getSelectedRange = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.rangeFromLocationRange(t) : void 0;\n }, d.prototype.setSelectedRange = function (t) {\n var e;\n return e = this.document.locationRangeFromRange(t), this.getSelectionManager().setLocationRange(e);\n }, d.prototype.getPosition = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.positionFromLocation(t[0]) : void 0;\n }, d.prototype.getLocationRange = function (t) {\n var e, n;\n return null != (e = null != (n = this.targetLocationRange) ? n : this.getSelectionManager().getLocationRange(t)) ? e : s({\n index: 0,\n offset: 0\n });\n }, d.prototype.withTargetLocationRange = function (t, e) {\n var n;\n this.targetLocationRange = t;\n\n try {\n n = e();\n } finally {\n this.targetLocationRange = null;\n }\n\n return n;\n }, d.prototype.withTargetRange = function (t, e) {\n var n;\n return n = this.document.locationRangeFromRange(t), this.withTargetLocationRange(n, e);\n }, d.prototype.withTargetDOMRange = function (t, e) {\n var n;\n return n = this.createLocationRangeFromDOMRange(t, {\n strict: !1\n }), this.withTargetLocationRange(n, e);\n }, d.prototype.getExpandedRangeInDirection = function (t, e) {\n var n, i, o, r;\n return i = (null != e ? e : {}).length, o = this.getSelectedRange(), r = o[0], n = o[1], \"backward\" === t ? i ? r -= i : r = this.translateUTF16PositionFromOffset(r, -1) : i ? n += i : n = this.translateUTF16PositionFromOffset(n, 1), s([r, n]);\n }, d.prototype.shouldManageMovingCursorInDirection = function (t) {\n var e;\n return this.editingAttachment ? !0 : (e = this.getExpandedRangeInDirection(t), null != this.getAttachmentAtRange(e));\n }, d.prototype.moveCursorInDirection = function (t) {\n var e, n, i, o;\n return this.editingAttachment ? i = this.document.getRangeOfAttachment(this.editingAttachment) : (o = this.getSelectedRange(), i = this.getExpandedRangeInDirection(t), n = !c(o, i)), this.setSelectedRange(\"backward\" === t ? i[0] : i[1]), n && (e = this.getAttachmentAtRange(i)) ? this.editAttachment(e) : void 0;\n }, d.prototype.expandSelectionInDirection = function (t, e) {\n var n, i;\n return n = (null != e ? e : {}).length, i = this.getExpandedRangeInDirection(t, {\n length: n\n }), this.setSelectedRange(i);\n }, d.prototype.expandSelectionForEditing = function () {\n return this.hasCurrentAttribute(\"href\") ? this.expandSelectionAroundCommonAttribute(\"href\") : void 0;\n }, d.prototype.expandSelectionAroundCommonAttribute = function (t) {\n var e, n;\n return e = this.getPosition(), n = this.document.getRangeOfCommonAttributeAtPosition(t, e), this.setSelectedRange(n);\n }, d.prototype.selectionContainsAttachments = function () {\n var t;\n return (null != (t = this.getSelectedAttachments()) ? t.length : void 0) > 0;\n }, d.prototype.selectionIsInCursorTarget = function () {\n return this.editingAttachment || this.positionIsCursorTarget(this.getPosition());\n }, d.prototype.positionIsCursorTarget = function (t) {\n var e;\n return (e = this.document.locationFromPosition(t)) ? this.locationIsCursorTarget(e) : void 0;\n }, d.prototype.positionIsBlockBreak = function (t) {\n var e;\n return null != (e = this.document.getPieceAtPosition(t)) ? e.isBlockBreak() : void 0;\n }, d.prototype.getSelectedDocument = function () {\n var t;\n return (t = this.getSelectedRange()) ? this.document.getDocumentAtRange(t) : void 0;\n }, d.prototype.getSelectedAttachments = function () {\n var t;\n return null != (t = this.getSelectedDocument()) ? t.getAttachments() : void 0;\n }, d.prototype.getAttachments = function () {\n return this.attachments.slice(0);\n }, d.prototype.refreshAttachments = function () {\n var t, e, n, i, o, r, s, a, u, c, h, p;\n\n for (n = this.document.getAttachments(), a = l(this.attachments, n), t = a.added, h = a.removed, this.attachments = n, i = 0, r = h.length; r > i; i++) {\n e = h[i], e.delegate = null, null != (u = this.delegate) && \"function\" == typeof u.compositionDidRemoveAttachment && u.compositionDidRemoveAttachment(e);\n }\n\n for (p = [], o = 0, s = t.length; s > o; o++) {\n e = t[o], e.delegate = this, p.push(null != (c = this.delegate) && \"function\" == typeof c.compositionDidAddAttachment ? c.compositionDidAddAttachment(e) : void 0);\n }\n\n return p;\n }, d.prototype.attachmentDidChangeAttributes = function (t) {\n var e;\n return this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidEditAttachment ? e.compositionDidEditAttachment(t) : void 0;\n }, d.prototype.attachmentDidChangePreviewURL = function (t) {\n var e;\n return this.revision++, null != (e = this.delegate) && \"function\" == typeof e.compositionDidChangeAttachmentPreviewURL ? e.compositionDidChangeAttachmentPreviewURL(t) : void 0;\n }, d.prototype.editAttachment = function (t, e) {\n var n;\n if (t !== this.editingAttachment) return this.stopEditingAttachment(), this.editingAttachment = t, null != (n = this.delegate) && \"function\" == typeof n.compositionDidStartEditingAttachment ? n.compositionDidStartEditingAttachment(this.editingAttachment, e) : void 0;\n }, d.prototype.stopEditingAttachment = function () {\n var t;\n if (this.editingAttachment) return null != (t = this.delegate) && \"function\" == typeof t.compositionDidStopEditingAttachment && t.compositionDidStopEditingAttachment(this.editingAttachment), this.editingAttachment = null;\n }, d.prototype.updateAttributesForAttachment = function (t, e) {\n return this.setDocument(this.document.updateAttributesForAttachment(t, e));\n }, d.prototype.removeAttributeForAttachment = function (t, e) {\n return this.setDocument(this.document.removeAttributeForAttachment(t, e));\n }, d.prototype.breakFormattedBlock = function (t) {\n var n, i, o, r, s;\n return i = t.document, n = t.block, r = t.startPosition, s = [r - 1, r], n.getBlockBreakPosition() === t.startLocation.offset ? (n.breaksOnReturn() && \"\\n\" === t.nextCharacter ? r += 1 : i = i.removeTextAtRange(s), s = [r, r]) : \"\\n\" === t.nextCharacter ? \"\\n\" === t.previousCharacter ? s = [r - 1, r + 1] : (s = [r, r + 1], r += 1) : t.startLocation.offset - 1 !== 0 && (r += 1), o = new e.Document([n.removeLastAttribute().copyWithoutText()]), this.setDocument(i.insertDocumentAtRange(o, s)), this.setSelection(r);\n }, d.prototype.getPreviousBlock = function () {\n var t, e;\n return (e = this.getLocationRange()) && (t = e[0].index, t > 0) ? this.document.getBlockAtIndex(t - 1) : void 0;\n }, d.prototype.getBlock = function () {\n var t;\n return (t = this.getLocationRange()) ? this.document.getBlockAtIndex(t[0].index) : void 0;\n }, d.prototype.getAttachmentAtRange = function (t) {\n var n;\n return n = this.document.getDocumentAtRange(t), n.toString() === e.OBJECT_REPLACEMENT_CHARACTER + \"\\n\" ? n.getAttachments()[0] : void 0;\n }, d.prototype.notifyDelegateOfCurrentAttributesChange = function () {\n var t;\n return null != (t = this.delegate) && \"function\" == typeof t.compositionDidChangeCurrentAttributes ? t.compositionDidChangeCurrentAttributes(this.currentAttributes) : void 0;\n }, d.prototype.notifyDelegateOfInsertionAtRange = function (t) {\n var e;\n return null != (e = this.delegate) && \"function\" == typeof e.compositionDidPerformInsertionAtRange ? e.compositionDidPerformInsertionAtRange(t) : void 0;\n }, d.prototype.translateUTF16PositionFromOffset = function (t, e) {\n var n, i;\n return i = this.document.toUTF16String(), n = i.offsetFromUCS2Offset(t), i.offsetToUCS2Offset(n + e);\n }, d;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t17, e) {\n function i() {\n this.constructor = _t17;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t17[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t17.prototype = new i(), _t17.__super__ = e.prototype, _t17;\n },\n n = {}.hasOwnProperty;\n\n e.UndoManager = function (e) {\n function n(t) {\n this.composition = t, this.undoEntries = [], this.redoEntries = [];\n }\n\n var i;\n return t(n, e), n.prototype.recordUndoEntry = function (t, e) {\n var n, o, r, s, a;\n return s = null != e ? e : {}, o = s.context, n = s.consolidatable, r = this.undoEntries.slice(-1)[0], n && i(r, t, o) ? void 0 : (a = this.createEntry({\n description: t,\n context: o\n }), this.undoEntries.push(a), this.redoEntries = []);\n }, n.prototype.undo = function () {\n var t, e;\n return (e = this.undoEntries.pop()) ? (t = this.createEntry(e), this.redoEntries.push(t), this.composition.loadSnapshot(e.snapshot)) : void 0;\n }, n.prototype.redo = function () {\n var t, e;\n return (t = this.redoEntries.pop()) ? (e = this.createEntry(t), this.undoEntries.push(e), this.composition.loadSnapshot(t.snapshot)) : void 0;\n }, n.prototype.canUndo = function () {\n return this.undoEntries.length > 0;\n }, n.prototype.canRedo = function () {\n return this.redoEntries.length > 0;\n }, n.prototype.createEntry = function (t) {\n var e, n, i;\n return i = null != t ? t : {}, n = i.description, e = i.context, {\n description: null != n ? n.toString() : void 0,\n context: JSON.stringify(e),\n snapshot: this.composition.getSnapshot()\n };\n }, i = function i(t, e, n) {\n return (null != t ? t.description : void 0) === (null != e ? e.toString() : void 0) && (null != t ? t.context : void 0) === JSON.stringify(n);\n }, n;\n }(e.BasicObject);\n }.call(this), function () {\n var t;\n e.attachmentGalleryFilter = function (e) {\n var n;\n return n = new t(e), n.perform(), n.getSnapshot();\n }, t = function () {\n function t(t) {\n this.document = t.document, this.selectedRange = t.selectedRange;\n }\n\n var e, n, i;\n return e = \"attachmentGallery\", n = \"presentation\", i = \"gallery\", t.prototype.perform = function () {\n return this.removeBlockAttribute(), this.applyBlockAttribute();\n }, t.prototype.getSnapshot = function () {\n return {\n document: this.document,\n selectedRange: this.selectedRange\n };\n }, t.prototype.removeBlockAttribute = function () {\n var t, n, i, o, r;\n\n for (o = this.findRangesOfBlocks(), r = [], t = 0, n = o.length; n > t; t++) {\n i = o[t], r.push(this.document = this.document.removeAttributeAtRange(e, i));\n }\n\n return r;\n }, t.prototype.applyBlockAttribute = function () {\n var t, n, i, o, r, s;\n\n for (i = 0, r = this.findRangesOfPieces(), s = [], t = 0, n = r.length; n > t; t++) {\n o = r[t], o[1] - o[0] > 1 && (o[0] += i, o[1] += i, \"\\n\" !== this.document.getCharacterAtPosition(o[1]) && (this.document = this.document.insertBlockBreakAtRange(o[1]), o[1] < this.selectedRange[1] && this.moveSelectedRangeForward(), o[1]++, i++), 0 !== o[0] && \"\\n\" !== this.document.getCharacterAtPosition(o[0] - 1) && (this.document = this.document.insertBlockBreakAtRange(o[0]), o[0] < this.selectedRange[0] && this.moveSelectedRangeForward(), o[0]++, i++), s.push(this.document = this.document.applyBlockAttributeAtRange(e, !0, o)));\n }\n\n return s;\n }, t.prototype.findRangesOfBlocks = function () {\n return this.document.findRangesForBlockAttribute(e);\n }, t.prototype.findRangesOfPieces = function () {\n return this.document.findRangesForTextAttribute(n, {\n withValue: i\n });\n }, t.prototype.moveSelectedRangeForward = function () {\n return this.selectedRange[0] += 1, this.selectedRange[1] += 1;\n }, t;\n }();\n }.call(this), function () {\n var t = function t(_t18, e) {\n return function () {\n return _t18.apply(e, arguments);\n };\n };\n\n e.Editor = function () {\n function n(n, o, r) {\n this.composition = n, this.selectionManager = o, this.element = r, this.insertFiles = t(this.insertFiles, this), this.undoManager = new e.UndoManager(this.composition), this.filters = i.slice(0);\n }\n\n var i;\n return i = [e.attachmentGalleryFilter], n.prototype.loadDocument = function (t) {\n return this.loadSnapshot({\n document: t,\n selectedRange: [0, 0]\n });\n }, n.prototype.loadHTML = function (t) {\n return null == t && (t = \"\"), this.loadDocument(e.Document.fromHTML(t, {\n referenceElement: this.element\n }));\n }, n.prototype.loadJSON = function (t) {\n var n, i;\n return n = t.document, i = t.selectedRange, n = e.Document.fromJSON(n), this.loadSnapshot({\n document: n,\n selectedRange: i\n });\n }, n.prototype.loadSnapshot = function (t) {\n return this.undoManager = new e.UndoManager(this.composition), this.composition.loadSnapshot(t);\n }, n.prototype.getDocument = function () {\n return this.composition.document;\n }, n.prototype.getSelectedDocument = function () {\n return this.composition.getSelectedDocument();\n }, n.prototype.getSnapshot = function () {\n return this.composition.getSnapshot();\n }, n.prototype.toJSON = function () {\n return this.getSnapshot();\n }, n.prototype.deleteInDirection = function (t) {\n return this.composition.deleteInDirection(t);\n }, n.prototype.insertAttachment = function (t) {\n return this.composition.insertAttachment(t);\n }, n.prototype.insertAttachments = function (t) {\n return this.composition.insertAttachments(t);\n }, n.prototype.insertDocument = function (t) {\n return this.composition.insertDocument(t);\n }, n.prototype.insertFile = function (t) {\n return this.composition.insertFile(t);\n }, n.prototype.insertFiles = function (t) {\n return this.composition.insertFiles(t);\n }, n.prototype.insertHTML = function (t) {\n return this.composition.insertHTML(t);\n }, n.prototype.insertString = function (t) {\n return this.composition.insertString(t);\n }, n.prototype.insertText = function (t) {\n return this.composition.insertText(t);\n }, n.prototype.insertLineBreak = function () {\n return this.composition.insertLineBreak();\n }, n.prototype.getSelectedRange = function () {\n return this.composition.getSelectedRange();\n }, n.prototype.getPosition = function () {\n return this.composition.getPosition();\n }, n.prototype.getClientRectAtPosition = function (t) {\n var e;\n return e = this.getDocument().locationRangeFromRange([t, t + 1]), this.selectionManager.getClientRectAtLocationRange(e);\n }, n.prototype.expandSelectionInDirection = function (t) {\n return this.composition.expandSelectionInDirection(t);\n }, n.prototype.moveCursorInDirection = function (t) {\n return this.composition.moveCursorInDirection(t);\n }, n.prototype.setSelectedRange = function (t) {\n return this.composition.setSelectedRange(t);\n }, n.prototype.activateAttribute = function (t, e) {\n return null == e && (e = !0), this.composition.setCurrentAttribute(t, e);\n }, n.prototype.attributeIsActive = function (t) {\n return this.composition.hasCurrentAttribute(t);\n }, n.prototype.canActivateAttribute = function (t) {\n return this.composition.canSetCurrentAttribute(t);\n }, n.prototype.deactivateAttribute = function (t) {\n return this.composition.removeCurrentAttribute(t);\n }, n.prototype.canDecreaseNestingLevel = function () {\n return this.composition.canDecreaseNestingLevel();\n }, n.prototype.canIncreaseNestingLevel = function () {\n return this.composition.canIncreaseNestingLevel();\n }, n.prototype.decreaseNestingLevel = function () {\n return this.canDecreaseNestingLevel() ? this.composition.decreaseNestingLevel() : void 0;\n }, n.prototype.increaseNestingLevel = function () {\n return this.canIncreaseNestingLevel() ? this.composition.increaseNestingLevel() : void 0;\n }, n.prototype.canRedo = function () {\n return this.undoManager.canRedo();\n }, n.prototype.canUndo = function () {\n return this.undoManager.canUndo();\n }, n.prototype.recordUndoEntry = function (t, e) {\n var n, i, o;\n return o = null != e ? e : {}, i = o.context, n = o.consolidatable, this.undoManager.recordUndoEntry(t, {\n context: i,\n consolidatable: n\n });\n }, n.prototype.redo = function () {\n return this.canRedo() ? this.undoManager.redo() : void 0;\n }, n.prototype.undo = function () {\n return this.canUndo() ? this.undoManager.undo() : void 0;\n }, n;\n }();\n }.call(this), function () {\n var t = function t(_t19, e) {\n function i() {\n this.constructor = _t19;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t19[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t19.prototype = new i(), _t19.__super__ = e.prototype, _t19;\n },\n n = {}.hasOwnProperty;\n\n e.ManagedAttachment = function (e) {\n function n(t, e) {\n var n;\n this.attachmentManager = t, this.attachment = e, n = this.attachment, this.id = n.id, this.file = n.file;\n }\n\n return t(n, e), n.prototype.remove = function () {\n return this.attachmentManager.requestRemovalOfAttachment(this.attachment);\n }, n.proxyMethod(\"attachment.getAttribute\"), n.proxyMethod(\"attachment.hasAttribute\"), n.proxyMethod(\"attachment.setAttribute\"), n.proxyMethod(\"attachment.getAttributes\"), n.proxyMethod(\"attachment.setAttributes\"), n.proxyMethod(\"attachment.isPending\"), n.proxyMethod(\"attachment.isPreviewable\"), n.proxyMethod(\"attachment.getURL\"), n.proxyMethod(\"attachment.getHref\"), n.proxyMethod(\"attachment.getFilename\"), n.proxyMethod(\"attachment.getFilesize\"), n.proxyMethod(\"attachment.getFormattedFilesize\"), n.proxyMethod(\"attachment.getExtension\"), n.proxyMethod(\"attachment.getContentType\"), n.proxyMethod(\"attachment.getFile\"), n.proxyMethod(\"attachment.setFile\"), n.proxyMethod(\"attachment.releaseFile\"), n.proxyMethod(\"attachment.getUploadProgress\"), n.proxyMethod(\"attachment.setUploadProgress\"), n;\n }(e.BasicObject);\n }.call(this), function () {\n var t = function t(_t20, e) {\n function i() {\n this.constructor = _t20;\n }\n\n for (var o in e) {\n n.call(e, o) && (_t20[o] = e[o]);\n }\n\n return i.prototype = e.prototype, _t20.prototype = new i(), _t20.__super__ = e.prototype, _t20;\n },\n n = {}.hasOwnProperty;\n\n e.AttachmentManager = function (n) {\n function i(t) {\n var e, n, i;\n\n for (null == t && (t = []), this.managedAttachments = {}, n = 0, i = t.length; i > n; n++) {\n e = t[n], this.manageAttachment(e);\n }\n }\n\n return t(i, n), i.prototype.getAttachments = function () {\n var t, e, n, i;\n n = this.managedAttachments, i = [];\n\n for (e in n) {\n t = n[e], i.push(t);\n }\n\n return i;\n }, i.prototype.manageAttachment = function (t) {\n var n, i;\n return null != (n = this.managedAttachments)[i = t.id] ? n[i] : n[i] = new e.ManagedAttachment(this, t);\n }, i.prototype.attachmentIsManaged = function (t) {\n return t.id in this.managedAttachments;\n }, i.prototype.requestRemovalOfAttachment = function (t) {\n var e;\n return this.attachmentIsManaged(t) && null != (e = this.delegate) && \"function\" == typeof e.attachmentManagerDidRequestRemovalOfAttachment ? e.attachmentManagerDidRequestRemovalOfAttachment(t) : void 0;\n }, i.prototype.unmanageAttachment = function (t) {\n var e;\n return e = this.managedAttachments[t.id], delete this.managedAttachments[t.id], e;\n }, i;\n }(e.BasicObject);\n }.call(this), function () {\n var t, n, i, o, r, s, a, u, c, l, h;\n t = e.elementContainsNode, n = e.findChildIndexOfNode, r = e.nodeIsBlockStart, s = e.nodeIsBlockStartComment, o = e.nodeIsBlockContainer, a = e.nodeIsCursorTarget, u = e.nodeIsEmptyTextNode, c = e.nodeIsTextNode, i = e.nodeIsAttachmentElement, l = e.tagName, h = e.walkTree, e.LocationMapper = function () {\n function e(t) {\n this.element = t;\n }\n\n var p, d, f, g;\n return e.prototype.findLocationFromContainerAndOffset = function (e, i, o) {\n var s, u, l, p, g, m, v;\n\n for (m = (null != o ? o : {\n strict: !0\n }).strict, u = 0, l = !1, p = {\n index: 0,\n offset: 0\n }, (s = this.findAttachmentElementParentForNode(e)) && (e = s.parentNode, i = n(s)), v = h(this.element, {\n usingFilter: f\n }); v.nextNode();) {\n if (g = v.currentNode, g === e && c(e)) {\n a(g) || (p.offset += i);\n break;\n }\n\n if (g.parentNode === e) {\n if (u++ === i) break;\n } else if (!t(e, g) && u > 0) break;\n\n r(g, {\n strict: m\n }) ? (l && p.index++, p.offset = 0, l = !0) : p.offset += d(g);\n }\n\n return p;\n }, e.prototype.findContainerAndOffsetFromLocation = function (t) {\n var e, i, s, u, l;\n\n if (0 === t.index && 0 === t.offset) {\n for (e = this.element, u = 0; e.firstChild;) {\n if (e = e.firstChild, o(e)) {\n u = 1;\n break;\n }\n }\n\n return [e, u];\n }\n\n if (l = this.findNodeAndOffsetFromLocation(t), i = l[0], s = l[1], i) {\n if (c(i)) 0 === d(i) ? (e = i.parentNode.parentNode, u = n(i.parentNode), a(i, {\n name: \"right\"\n }) && u++) : (e = i, u = t.offset - s);else {\n if (e = i.parentNode, !r(i.previousSibling) && !o(e)) for (; i === e.lastChild && (i = e, e = e.parentNode, !o(e));) {\n ;\n }\n u = n(i), 0 !== t.offset && u++;\n }\n return [e, u];\n }\n }, e.prototype.findNodeAndOffsetFromLocation = function (t) {\n var e, n, i, o, r, s, u, l;\n\n for (u = 0, l = this.getSignificantNodesForIndex(t.index), n = 0, i = l.length; i > n; n++) {\n if (e = l[n], o = d(e), t.offset <= u + o) if (c(e)) {\n if (r = e, s = u, t.offset === s && a(r)) break;\n } else r || (r = e, s = u);\n if (u += o, u > t.offset) break;\n }\n\n return [r, s];\n }, e.prototype.findAttachmentElementParentForNode = function (t) {\n for (; t && t !== this.element;) {\n if (i(t)) return t;\n t = t.parentNode;\n }\n }, e.prototype.getSignificantNodesForIndex = function (t) {\n var e, n, i, o, r;\n\n for (i = [], r = h(this.element, {\n usingFilter: p\n }), o = !1; r.nextNode();) {\n if (n = r.currentNode, s(n)) {\n if (\"undefined\" != typeof e && null !== e ? e++ : e = 0, e === t) o = !0;else if (o) break;\n } else o && i.push(n);\n }\n\n return i;\n }, d = function d(t) {\n var e;\n return t.nodeType === Node.TEXT_NODE ? a(t) ? 0 : (e = t.textContent, e.length) : \"br\" === l(t) || i(t) ? 1 : 0;\n }, p = function p(t) {\n return g(t) === NodeFilter.FILTER_ACCEPT ? f(t) : NodeFilter.FILTER_REJECT;\n }, g = function g(t) {\n return u(t) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, f = function f(t) {\n return i(t.parentNode) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT;\n }, e;\n }();\n }.call(this), function () {\n var t,\n n,\n i = [].slice;\n t = e.getDOMRange, n = e.setDOMRange, e.PointMapper = function () {\n function e() {}\n\n return e.prototype.createDOMRangeFromPoint = function (e) {\n var i, o, r, s, a, u, c, l;\n if (c = e.x, l = e.y, document.caretPositionFromPoint) return a = document.caretPositionFromPoint(c, l), r = a.offsetNode, o = a.offset, i = document.createRange(), i.setStart(r, o), i;\n if (document.caretRangeFromPoint) return document.caretRangeFromPoint(c, l);\n\n if (document.body.createTextRange) {\n s = t();\n\n try {\n u = document.body.createTextRange(), u.moveToPoint(c, l), u.select();\n } catch (h) {}\n\n return i = t(), n(s), i;\n }\n }, e.prototype.getClientRectsForDOMRange = function (t) {\n var e, n, o;\n return n = i.call(t.getClientRects()), o = n[0], e = n[n.length - 1], [o, e];\n }, e;\n }();\n }.call(this), function () {\n var t,\n n = function n(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n i = function i(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n o.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n o = {}.hasOwnProperty,\n r = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n t = e.getDOMRange, e.SelectionChangeObserver = function (e) {\n function o() {\n this.run = n(this.run, this), this.update = n(this.update, this), this.selectionManagers = [];\n }\n\n var s;\n return i(o, e), o.prototype.start = function () {\n return this.started ? void 0 : (this.started = !0, \"onselectionchange\" in document ? document.addEventListener(\"selectionchange\", this.update, !0) : this.run());\n }, o.prototype.stop = function () {\n return this.started ? (this.started = !1, document.removeEventListener(\"selectionchange\", this.update, !0)) : void 0;\n }, o.prototype.registerSelectionManager = function (t) {\n return r.call(this.selectionManagers, t) < 0 ? (this.selectionManagers.push(t), this.start()) : void 0;\n }, o.prototype.unregisterSelectionManager = function (t) {\n var e;\n return this.selectionManagers = function () {\n var n, i, o, r;\n\n for (o = this.selectionManagers, r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], e !== t && r.push(e);\n }\n\n return r;\n }.call(this), 0 === this.selectionManagers.length ? this.stop() : void 0;\n }, o.prototype.notifySelectionManagersOfSelectionChange = function () {\n var t, e, n, i, o;\n\n for (n = this.selectionManagers, i = [], t = 0, e = n.length; e > t; t++) {\n o = n[t], i.push(o.selectionDidChange());\n }\n\n return i;\n }, o.prototype.update = function () {\n var e;\n return e = t(), s(e, this.domRange) ? void 0 : (this.domRange = e, this.notifySelectionManagersOfSelectionChange());\n }, o.prototype.reset = function () {\n return this.domRange = null, this.update();\n }, o.prototype.run = function () {\n return this.started ? (this.update(), requestAnimationFrame(this.run)) : void 0;\n }, s = function s(t, e) {\n return (null != t ? t.startContainer : void 0) === (null != e ? e.startContainer : void 0) && (null != t ? t.startOffset : void 0) === (null != e ? e.startOffset : void 0) && (null != t ? t.endContainer : void 0) === (null != e ? e.endContainer : void 0) && (null != t ? t.endOffset : void 0) === (null != e ? e.endOffset : void 0);\n }, o;\n }(e.BasicObject), null == e.selectionChangeObserver && (e.selectionChangeObserver = new e.SelectionChangeObserver());\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u,\n c,\n l,\n h = function h(t, e) {\n return function () {\n return t.apply(e, arguments);\n };\n },\n p = function p(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n d.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n d = {}.hasOwnProperty;\n\n i = e.getDOMSelection, n = e.getDOMRange, l = e.setDOMRange, t = e.elementContainsNode, s = e.nodeIsCursorTarget, r = e.innerElementIsActive, o = e.handleEvent, a = e.normalizeRange, u = e.rangeIsCollapsed, c = e.rangesAreEqual, e.SelectionManager = function (d) {\n function f(t) {\n this.element = t, this.selectionDidChange = h(this.selectionDidChange, this), this.didMouseDown = h(this.didMouseDown, this), this.locationMapper = new e.LocationMapper(this.element), this.pointMapper = new e.PointMapper(), this.lockCount = 0, o(\"mousedown\", {\n onElement: this.element,\n withCallback: this.didMouseDown\n });\n }\n\n return p(f, d), f.prototype.getLocationRange = function (t) {\n var e, i;\n return null == t && (t = {}), e = t.strict === !1 ? this.createLocationRangeFromDOMRange(n(), {\n strict: !1\n }) : t.ignoreLock ? this.currentLocationRange : null != (i = this.lockedLocationRange) ? i : this.currentLocationRange;\n }, f.prototype.setLocationRange = function (t) {\n var e;\n if (!this.lockedLocationRange) return t = a(t), (e = this.createDOMRangeFromLocationRange(t)) ? (l(e), this.updateCurrentLocationRange(t)) : void 0;\n }, f.prototype.setLocationRangeFromPointRange = function (t) {\n var e, n;\n return t = a(t), n = this.getLocationAtPoint(t[0]), e = this.getLocationAtPoint(t[1]), this.setLocationRange([n, e]);\n }, f.prototype.getClientRectAtLocationRange = function (t) {\n var e;\n return (e = this.createDOMRangeFromLocationRange(t)) ? this.getClientRectsForDOMRange(e)[1] : void 0;\n }, f.prototype.locationIsCursorTarget = function (t) {\n var e, n, i;\n return i = this.findNodeAndOffsetFromLocation(t), e = i[0], n = i[1], s(e);\n }, f.prototype.lock = function () {\n return 0 === this.lockCount++ ? (this.updateCurrentLocationRange(), this.lockedLocationRange = this.getLocationRange()) : void 0;\n }, f.prototype.unlock = function () {\n var t;\n return 0 === --this.lockCount && (t = this.lockedLocationRange, this.lockedLocationRange = null, null != t) ? this.setLocationRange(t) : void 0;\n }, f.prototype.clearSelection = function () {\n var t;\n return null != (t = i()) ? t.removeAllRanges() : void 0;\n }, f.prototype.selectionIsCollapsed = function () {\n var t;\n return (null != (t = n()) ? t.collapsed : void 0) === !0;\n }, f.prototype.selectionIsExpanded = function () {\n return !this.selectionIsCollapsed();\n }, f.prototype.createLocationRangeFromDOMRange = function (t, e) {\n var n, i;\n if (null != t && this.domRangeWithinElement(t) && (i = this.findLocationFromContainerAndOffset(t.startContainer, t.startOffset, e))) return t.collapsed || (n = this.findLocationFromContainerAndOffset(t.endContainer, t.endOffset, e)), a([i, n]);\n }, f.proxyMethod(\"locationMapper.findLocationFromContainerAndOffset\"), f.proxyMethod(\"locationMapper.findContainerAndOffsetFromLocation\"), f.proxyMethod(\"locationMapper.findNodeAndOffsetFromLocation\"), f.proxyMethod(\"pointMapper.createDOMRangeFromPoint\"), f.proxyMethod(\"pointMapper.getClientRectsForDOMRange\"), f.prototype.didMouseDown = function () {\n return this.pauseTemporarily();\n }, f.prototype.pauseTemporarily = function () {\n var e, n, i, r;\n return this.paused = !0, n = function (e) {\n return function () {\n var n, o, s;\n\n for (e.paused = !1, clearTimeout(r), o = 0, s = i.length; s > o; o++) {\n n = i[o], n.destroy();\n }\n\n return t(document, e.element) ? e.selectionDidChange() : void 0;\n };\n }(this), r = setTimeout(n, 200), i = function () {\n var t, i, r, s;\n\n for (r = [\"mousemove\", \"keydown\"], s = [], t = 0, i = r.length; i > t; t++) {\n e = r[t], s.push(o(e, {\n onElement: document,\n withCallback: n\n }));\n }\n\n return s;\n }();\n }, f.prototype.selectionDidChange = function () {\n return this.paused || r(this.element) ? void 0 : this.updateCurrentLocationRange();\n }, f.prototype.updateCurrentLocationRange = function (t) {\n var e;\n return (null != t ? t : t = this.createLocationRangeFromDOMRange(n())) && !c(t, this.currentLocationRange) ? (this.currentLocationRange = t, null != (e = this.delegate) && \"function\" == typeof e.locationRangeDidChange ? e.locationRangeDidChange(this.currentLocationRange.slice(0)) : void 0) : void 0;\n }, f.prototype.createDOMRangeFromLocationRange = function (t) {\n var e, n, i, o;\n return i = this.findContainerAndOffsetFromLocation(t[0]), n = u(t) ? i : null != (o = this.findContainerAndOffsetFromLocation(t[1])) ? o : i, null != i && null != n ? (e = document.createRange(), e.setStart.apply(e, i), e.setEnd.apply(e, n), e) : void 0;\n }, f.prototype.getLocationAtPoint = function (t) {\n var e, n;\n return (e = this.createDOMRangeFromPoint(t)) && null != (n = this.createLocationRangeFromDOMRange(e)) ? n[0] : void 0;\n }, f.prototype.domRangeWithinElement = function (e) {\n return e.collapsed ? t(this.element, e.startContainer) : t(this.element, e.startContainer) && t(this.element, e.endContainer);\n }, f;\n }(e.BasicObject);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r = function r(t, e) {\n function n() {\n this.constructor = t;\n }\n\n for (var i in e) {\n s.call(e, i) && (t[i] = e[i]);\n }\n\n return n.prototype = e.prototype, t.prototype = new n(), t.__super__ = e.prototype, t;\n },\n s = {}.hasOwnProperty,\n a = [].slice;\n\n i = e.rangeIsCollapsed, o = e.rangesAreEqual, n = e.objectsAreEqual, t = e.getBlockConfig, e.EditorController = function (s) {\n function u(t) {\n var n, i;\n this.editorElement = t.editorElement, n = t.document, i = t.html, this.selectionManager = new e.SelectionManager(this.editorElement), this.selectionManager.delegate = this, this.composition = new e.Composition(), this.composition.delegate = this, this.attachmentManager = new e.AttachmentManager(this.composition.getAttachments()), this.attachmentManager.delegate = this, this.inputController = new e[\"Level\" + e.config.input.getLevel() + \"InputController\"](this.editorElement), this.inputController.delegate = this, this.inputController.responder = this.composition, this.compositionController = new e.CompositionController(this.editorElement, this.composition), this.compositionController.delegate = this, this.toolbarController = new e.ToolbarController(this.editorElement.toolbarElement), this.toolbarController.delegate = this, this.editor = new e.Editor(this.composition, this.selectionManager, this.editorElement), null != n ? this.editor.loadDocument(n) : this.editor.loadHTML(i);\n }\n\n var c;\n return r(u, s), u.prototype.registerSelectionManager = function () {\n return e.selectionChangeObserver.registerSelectionManager(this.selectionManager);\n }, u.prototype.unregisterSelectionManager = function () {\n return e.selectionChangeObserver.unregisterSelectionManager(this.selectionManager);\n }, u.prototype.render = function () {\n return this.compositionController.render();\n }, u.prototype.reparse = function () {\n return this.composition.replaceHTML(this.editorElement.innerHTML);\n }, u.prototype.compositionDidChangeDocument = function () {\n return this.notifyEditorElement(\"document-change\"), this.handlingInput ? void 0 : this.render();\n }, u.prototype.compositionDidChangeCurrentAttributes = function (t) {\n return this.currentAttributes = t, this.toolbarController.updateAttributes(this.currentAttributes), this.updateCurrentActions(), this.notifyEditorElement(\"attributes-change\", {\n attributes: this.currentAttributes\n });\n }, u.prototype.compositionDidPerformInsertionAtRange = function (t) {\n return this.pasting ? this.pastedRange = t : void 0;\n }, u.prototype.compositionShouldAcceptFile = function (t) {\n return this.notifyEditorElement(\"file-accept\", {\n file: t\n });\n }, u.prototype.compositionDidAddAttachment = function (t) {\n var e;\n return e = this.attachmentManager.manageAttachment(t), this.notifyEditorElement(\"attachment-add\", {\n attachment: e\n });\n }, u.prototype.compositionDidEditAttachment = function (t) {\n var e;\n return this.compositionController.rerenderViewForObject(t), e = this.attachmentManager.manageAttachment(t), this.notifyEditorElement(\"attachment-edit\", {\n attachment: e\n }), this.notifyEditorElement(\"change\");\n }, u.prototype.compositionDidChangeAttachmentPreviewURL = function (t) {\n return this.compositionController.invalidateViewForObject(t), this.notifyEditorElement(\"change\");\n }, u.prototype.compositionDidRemoveAttachment = function (t) {\n var e;\n return e = this.attachmentManager.unmanageAttachment(t), this.notifyEditorElement(\"attachment-remove\", {\n attachment: e\n });\n }, u.prototype.compositionDidStartEditingAttachment = function (t, e) {\n return this.attachmentLocationRange = this.composition.document.getLocationRangeOfAttachment(t), this.compositionController.installAttachmentEditorForAttachment(t, e), this.selectionManager.setLocationRange(this.attachmentLocationRange);\n }, u.prototype.compositionDidStopEditingAttachment = function () {\n return this.compositionController.uninstallAttachmentEditor(), this.attachmentLocationRange = null;\n }, u.prototype.compositionDidRequestChangingSelectionToLocationRange = function (t) {\n return !this.loadingSnapshot || this.isFocused() ? (this.requestedLocationRange = t, this.compositionRevisionWhenLocationRangeRequested = this.composition.revision, this.handlingInput ? void 0 : this.render()) : void 0;\n }, u.prototype.compositionWillLoadSnapshot = function () {\n return this.loadingSnapshot = !0;\n }, u.prototype.compositionDidLoadSnapshot = function () {\n return this.compositionController.refreshViewCache(), this.render(), this.loadingSnapshot = !1;\n }, u.prototype.getSelectionManager = function () {\n return this.selectionManager;\n }, u.proxyMethod(\"getSelectionManager().setLocationRange\"), u.proxyMethod(\"getSelectionManager().getLocationRange\"), u.prototype.attachmentManagerDidRequestRemovalOfAttachment = function (t) {\n return this.removeAttachment(t);\n }, u.prototype.compositionControllerWillSyncDocumentView = function () {\n return this.inputController.editorWillSyncDocumentView(), this.selectionManager.lock(), this.selectionManager.clearSelection();\n }, u.prototype.compositionControllerDidSyncDocumentView = function () {\n return this.inputController.editorDidSyncDocumentView(), this.selectionManager.unlock(), this.updateCurrentActions(), this.notifyEditorElement(\"sync\");\n }, u.prototype.compositionControllerDidRender = function () {\n return null != this.requestedLocationRange && (this.compositionRevisionWhenLocationRangeRequested === this.composition.revision && this.selectionManager.setLocationRange(this.requestedLocationRange), this.requestedLocationRange = null, this.compositionRevisionWhenLocationRangeRequested = null), this.renderedCompositionRevision !== this.composition.revision && (this.runEditorFilters(), this.composition.updateCurrentAttributes(), this.notifyEditorElement(\"render\")), this.renderedCompositionRevision = this.composition.revision;\n }, u.prototype.compositionControllerDidFocus = function () {\n return this.isFocusedInvisibly() && this.setLocationRange({\n index: 0,\n offset: 0\n }), this.toolbarController.hideDialog(), this.notifyEditorElement(\"focus\");\n }, u.prototype.compositionControllerDidBlur = function () {\n return this.notifyEditorElement(\"blur\");\n }, u.prototype.compositionControllerDidSelectAttachment = function (t, e) {\n return this.toolbarController.hideDialog(), this.composition.editAttachment(t, e);\n }, u.prototype.compositionControllerDidRequestDeselectingAttachment = function (t) {\n var e, n;\n return e = null != (n = this.attachmentLocationRange) ? n : this.composition.document.getLocationRangeOfAttachment(t), this.selectionManager.setLocationRange(e[1]);\n }, u.prototype.compositionControllerWillUpdateAttachment = function (t) {\n return this.editor.recordUndoEntry(\"Edit Attachment\", {\n context: t.id,\n consolidatable: !0\n });\n }, u.prototype.compositionControllerDidRequestRemovalOfAttachment = function (t) {\n return this.removeAttachment(t);\n }, u.prototype.inputControllerWillHandleInput = function () {\n return this.handlingInput = !0, this.requestedRender = !1;\n }, u.prototype.inputControllerDidRequestRender = function () {\n return this.requestedRender = !0;\n }, u.prototype.inputControllerDidHandleInput = function () {\n return this.handlingInput = !1, this.requestedRender ? (this.requestedRender = !1, this.render()) : void 0;\n }, u.prototype.inputControllerDidAllowUnhandledInput = function () {\n return this.notifyEditorElement(\"change\");\n }, u.prototype.inputControllerDidRequestReparse = function () {\n return this.reparse();\n }, u.prototype.inputControllerWillPerformTyping = function () {\n return this.recordTypingUndoEntry();\n }, u.prototype.inputControllerWillPerformFormatting = function (t) {\n return this.recordFormattingUndoEntry(t);\n }, u.prototype.inputControllerWillCutText = function () {\n return this.editor.recordUndoEntry(\"Cut\");\n }, u.prototype.inputControllerWillPaste = function (t) {\n return this.editor.recordUndoEntry(\"Paste\"), this.pasting = !0, this.notifyEditorElement(\"before-paste\", {\n paste: t\n });\n }, u.prototype.inputControllerDidPaste = function (t) {\n return t.range = this.pastedRange, this.pastedRange = null, this.pasting = null, this.notifyEditorElement(\"paste\", {\n paste: t\n });\n }, u.prototype.inputControllerWillMoveText = function () {\n return this.editor.recordUndoEntry(\"Move\");\n }, u.prototype.inputControllerWillAttachFiles = function () {\n return this.editor.recordUndoEntry(\"Drop Files\");\n }, u.prototype.inputControllerWillPerformUndo = function () {\n return this.editor.undo();\n }, u.prototype.inputControllerWillPerformRedo = function () {\n return this.editor.redo();\n }, u.prototype.inputControllerDidReceiveKeyboardCommand = function (t) {\n return this.toolbarController.applyKeyboardCommand(t);\n }, u.prototype.inputControllerDidStartDrag = function () {\n return this.locationRangeBeforeDrag = this.selectionManager.getLocationRange();\n }, u.prototype.inputControllerDidReceiveDragOverPoint = function (t) {\n return this.selectionManager.setLocationRangeFromPointRange(t);\n }, u.prototype.inputControllerDidCancelDrag = function () {\n return this.selectionManager.setLocationRange(this.locationRangeBeforeDrag), this.locationRangeBeforeDrag = null;\n }, u.prototype.locationRangeDidChange = function (t) {\n return this.composition.updateCurrentAttributes(), this.updateCurrentActions(), this.attachmentLocationRange && !o(this.attachmentLocationRange, t) && this.composition.stopEditingAttachment(), this.notifyEditorElement(\"selection-change\");\n }, u.prototype.toolbarDidClickButton = function () {\n return this.getLocationRange() ? void 0 : this.setLocationRange({\n index: 0,\n offset: 0\n });\n }, u.prototype.toolbarDidInvokeAction = function (t) {\n return this.invokeAction(t);\n }, u.prototype.toolbarDidToggleAttribute = function (t) {\n return this.recordFormattingUndoEntry(t), this.composition.toggleCurrentAttribute(t), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarDidUpdateAttribute = function (t, e) {\n return this.recordFormattingUndoEntry(t), this.composition.setCurrentAttribute(t, e), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarDidRemoveAttribute = function (t) {\n return this.recordFormattingUndoEntry(t), this.composition.removeCurrentAttribute(t), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus();\n }, u.prototype.toolbarWillShowDialog = function () {\n return this.composition.expandSelectionForEditing(), this.freezeSelection();\n }, u.prototype.toolbarDidShowDialog = function (t) {\n return this.notifyEditorElement(\"toolbar-dialog-show\", {\n dialogName: t\n });\n }, u.prototype.toolbarDidHideDialog = function (t) {\n return this.thawSelection(), this.editorElement.focus(), this.notifyEditorElement(\"toolbar-dialog-hide\", {\n dialogName: t\n });\n }, u.prototype.freezeSelection = function () {\n return this.selectionFrozen ? void 0 : (this.selectionManager.lock(), this.composition.freezeSelection(), this.selectionFrozen = !0, this.render());\n }, u.prototype.thawSelection = function () {\n return this.selectionFrozen ? (this.composition.thawSelection(), this.selectionManager.unlock(), this.selectionFrozen = !1, this.render()) : void 0;\n }, u.prototype.actions = {\n undo: {\n test: function test() {\n return this.editor.canUndo();\n },\n perform: function perform() {\n return this.editor.undo();\n }\n },\n redo: {\n test: function test() {\n return this.editor.canRedo();\n },\n perform: function perform() {\n return this.editor.redo();\n }\n },\n link: {\n test: function test() {\n return this.editor.canActivateAttribute(\"href\");\n }\n },\n increaseNestingLevel: {\n test: function test() {\n return this.editor.canIncreaseNestingLevel();\n },\n perform: function perform() {\n return this.editor.increaseNestingLevel() && this.render();\n }\n },\n decreaseNestingLevel: {\n test: function test() {\n return this.editor.canDecreaseNestingLevel();\n },\n perform: function perform() {\n return this.editor.decreaseNestingLevel() && this.render();\n }\n },\n attachFiles: {\n test: function test() {\n return !0;\n },\n perform: function perform() {\n return e.config.input.pickFiles(this.editor.insertFiles);\n }\n }\n }, u.prototype.canInvokeAction = function (t) {\n var e, n;\n return this.actionIsExternal(t) ? !0 : !!(null != (e = this.actions[t]) && null != (n = e.test) ? n.call(this) : void 0);\n }, u.prototype.invokeAction = function (t) {\n var e, n;\n return this.actionIsExternal(t) ? this.notifyEditorElement(\"action-invoke\", {\n actionName: t\n }) : null != (e = this.actions[t]) && null != (n = e.perform) ? n.call(this) : void 0;\n }, u.prototype.actionIsExternal = function (t) {\n return /^x-./.test(t);\n }, u.prototype.getCurrentActions = function () {\n var t, e;\n e = {};\n\n for (t in this.actions) {\n e[t] = this.canInvokeAction(t);\n }\n\n return e;\n }, u.prototype.updateCurrentActions = function () {\n var t;\n return t = this.getCurrentActions(), n(t, this.currentActions) ? void 0 : (this.currentActions = t, this.toolbarController.updateActions(this.currentActions), this.notifyEditorElement(\"actions-change\", {\n actions: this.currentActions\n }));\n }, u.prototype.runEditorFilters = function () {\n var t, e, n, i, o, r, s, a;\n\n for (a = this.composition.getSnapshot(), o = this.editor.filters, n = 0, i = o.length; i > n; n++) {\n e = o[n], t = a.document, s = a.selectedRange, a = null != (r = e.call(this.editor, a)) ? r : {}, null == a.document && (a.document = t), null == a.selectedRange && (a.selectedRange = s);\n }\n\n return c(a, this.composition.getSnapshot()) ? void 0 : this.composition.loadSnapshot(a);\n }, c = function c(t, e) {\n return o(t.selectedRange, e.selectedRange) && t.document.isEqualTo(e.document);\n }, u.prototype.updateInputElement = function () {\n var t, n;\n return t = this.compositionController.getSerializableElement(), n = e.serializeToContentType(t, \"text/html\"), this.editorElement.setInputElementValue(n);\n }, u.prototype.notifyEditorElement = function (t, e) {\n switch (t) {\n case \"document-change\":\n this.documentChangedSinceLastRender = !0;\n break;\n\n case \"render\":\n this.documentChangedSinceLastRender && (this.documentChangedSinceLastRender = !1, this.notifyEditorElement(\"change\"));\n break;\n\n case \"change\":\n case \"attachment-add\":\n case \"attachment-edit\":\n case \"attachment-remove\":\n this.updateInputElement();\n }\n\n return this.editorElement.notify(t, e);\n }, u.prototype.removeAttachment = function (t) {\n return this.editor.recordUndoEntry(\"Delete Attachment\"), this.composition.removeAttachment(t), this.render();\n }, u.prototype.recordFormattingUndoEntry = function (e) {\n var n, o;\n return n = t(e), o = this.selectionManager.getLocationRange(), n || !i(o) ? this.editor.recordUndoEntry(\"Formatting\", {\n context: this.getUndoContext(),\n consolidatable: !0\n }) : void 0;\n }, u.prototype.recordTypingUndoEntry = function () {\n return this.editor.recordUndoEntry(\"Typing\", {\n context: this.getUndoContext(this.currentAttributes),\n consolidatable: !0\n });\n }, u.prototype.getUndoContext = function () {\n var t;\n return t = 1 <= arguments.length ? a.call(arguments, 0) : [], [this.getLocationContext(), this.getTimeContext()].concat(a.call(t));\n }, u.prototype.getLocationContext = function () {\n var t;\n return t = this.selectionManager.getLocationRange(), i(t) ? t[0].index : t;\n }, u.prototype.getTimeContext = function () {\n return e.config.undoInterval > 0 ? Math.floor(new Date().getTime() / e.config.undoInterval) : 0;\n }, u.prototype.isFocused = function () {\n var t;\n return this.editorElement === (null != (t = this.editorElement.ownerDocument) ? t.activeElement : void 0);\n }, u.prototype.isFocusedInvisibly = function () {\n return this.isFocused() && !this.getLocationRange();\n }, u;\n }(e.Controller);\n }.call(this), function () {\n var t,\n n,\n i,\n o,\n r,\n s,\n a,\n u = [].indexOf || function (t) {\n for (var e = 0, n = this.length; n > e; e++) {\n if (e in this && this[e] === t) return e;\n }\n\n return -1;\n };\n\n n = e.browser, s = e.makeElement, a = e.triggerEvent, o = e.handleEvent, r = e.handleEventOnce, i = e.findClosestElementFromNode, t = e.AttachmentView.attachmentSelector, e.registerElement(\"trix-editor\", function () {\n var c, l, h, p, d, f, g, m, v;\n return g = 0, l = function l(t) {\n return !document.querySelector(\":focus\") && t.hasAttribute(\"autofocus\") && document.querySelector(\"[autofocus]\") === t ? t.focus() : void 0;\n }, m = function m(t) {\n return t.hasAttribute(\"contenteditable\") ? void 0 : (t.setAttribute(\"contenteditable\", \"\"), r(\"focus\", {\n onElement: t,\n withCallback: function withCallback() {\n return h(t);\n }\n }));\n }, h = function h(t) {\n return d(t), v(t);\n }, d = function d(t) {\n return (\"function\" == typeof document.queryCommandSupported ? document.queryCommandSupported(\"enableObjectResizing\") : void 0) ? (document.execCommand(\"enableObjectResizing\", !1, !1), o(\"mscontrolselect\", {\n onElement: t,\n preventDefault: !0\n })) : void 0;\n }, v = function v() {\n var t;\n return (\"function\" == typeof document.queryCommandSupported ? document.queryCommandSupported(\"DefaultParagraphSeparator\") : void 0) && (t = e.config.blockAttributes[\"default\"].tagName, \"div\" === t || \"p\" === t) ? document.execCommand(\"DefaultParagraphSeparator\", !1, t) : void 0;\n }, c = function c(t) {\n return t.hasAttribute(\"role\") ? void 0 : t.setAttribute(\"role\", \"textbox\");\n }, f = function f(t) {\n var e;\n if (!t.hasAttribute(\"aria-label\") && !t.hasAttribute(\"aria-labelledby\")) return (e = function e() {\n var e, n, i;\n return i = function () {\n var n, i, o, r;\n\n for (o = t.labels, r = [], n = 0, i = o.length; i > n; n++) {\n e = o[n], e.contains(t) || r.push(e.textContent);\n }\n\n return r;\n }(), (n = i.join(\" \")) ? t.setAttribute(\"aria-label\", n) : t.removeAttribute(\"aria-label\");\n })(), o(\"focus\", {\n onElement: t,\n withCallback: e\n });\n }, p = function () {\n return n.forcesObjectResizing ? {\n display: \"inline\",\n width: \"auto\"\n } : {\n display: \"inline-block\",\n width: \"1px\"\n };\n }(), {\n defaultCSS: \"%t {\\n display: block;\\n}\\n\\n%t:empty:not(:focus)::before {\\n content: attr(placeholder);\\n color: graytext;\\n cursor: text;\\n pointer-events: none;\\n}\\n\\n%t a[contenteditable=false] {\\n cursor: text;\\n}\\n\\n%t img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n%t \" + t + \" figcaption textarea {\\n resize: none;\\n}\\n\\n%t \" + t + \" figcaption textarea.trix-autoresize-clone {\\n position: absolute;\\n left: -9999px;\\n max-height: 0px;\\n}\\n\\n%t \" + t + \" figcaption[data-trix-placeholder]:empty::before {\\n content: attr(data-trix-placeholder);\\n color: graytext;\\n}\\n\\n%t [data-trix-cursor-target] {\\n display: \" + p.display + \" !important;\\n width: \" + p.width + \" !important;\\n padding: 0 !important;\\n margin: 0 !important;\\n border: none !important;\\n}\\n\\n%t [data-trix-cursor-target=left] {\\n vertical-align: top !important;\\n margin-left: -1px !important;\\n}\\n\\n%t [data-trix-cursor-target=right] {\\n vertical-align: bottom !important;\\n margin-right: -1px !important;\\n}\",\n trixId: {\n get: function get() {\n return this.hasAttribute(\"trix-id\") ? this.getAttribute(\"trix-id\") : (this.setAttribute(\"trix-id\", ++g), this.trixId);\n }\n },\n labels: {\n get: function get() {\n var t, e, n;\n return e = [], this.id && this.ownerDocument && e.push.apply(e, this.ownerDocument.querySelectorAll(\"label[for='\" + this.id + \"']\")), (t = i(this, {\n matchingSelector: \"label\"\n })) && ((n = t.control) === this || null === n) && e.push(t), e;\n }\n },\n toolbarElement: {\n get: function get() {\n var t, e, n;\n return this.hasAttribute(\"toolbar\") ? null != (e = this.ownerDocument) ? e.getElementById(this.getAttribute(\"toolbar\")) : void 0 : this.parentNode ? (n = \"trix-toolbar-\" + this.trixId, this.setAttribute(\"toolbar\", n), t = s(\"trix-toolbar\", {\n id: n\n }), this.parentNode.insertBefore(t, this), t) : void 0;\n }\n },\n inputElement: {\n get: function get() {\n var t, e, n;\n return this.hasAttribute(\"input\") ? null != (n = this.ownerDocument) ? n.getElementById(this.getAttribute(\"input\")) : void 0 : this.parentNode ? (e = \"trix-input-\" + this.trixId, this.setAttribute(\"input\", e), t = s(\"input\", {\n type: \"hidden\",\n id: e\n }), this.parentNode.insertBefore(t, this.nextElementSibling), t) : void 0;\n }\n },\n editor: {\n get: function get() {\n var t;\n return null != (t = this.editorController) ? t.editor : void 0;\n }\n },\n name: {\n get: function get() {\n var t;\n return null != (t = this.inputElement) ? t.name : void 0;\n }\n },\n value: {\n get: function get() {\n var t;\n return null != (t = this.inputElement) ? t.value : void 0;\n },\n set: function set(t) {\n var e;\n return this.defaultValue = t, null != (e = this.editor) ? e.loadHTML(this.defaultValue) : void 0;\n }\n },\n notify: function notify(t, e) {\n return this.editorController ? a(\"trix-\" + t, {\n onElement: this,\n attributes: e\n }) : void 0;\n },\n setInputElementValue: function setInputElementValue(t) {\n var e;\n return null != (e = this.inputElement) ? e.value = t : void 0;\n },\n initialize: function initialize() {\n return this.hasAttribute(\"data-trix-internal\") ? void 0 : (m(this), c(this), f(this));\n },\n connect: function connect() {\n return this.hasAttribute(\"data-trix-internal\") ? void 0 : (this.editorController || (a(\"trix-before-initialize\", {\n onElement: this\n }), this.editorController = new e.EditorController({\n editorElement: this,\n html: this.defaultValue = this.value\n }), requestAnimationFrame(function (t) {\n return function () {\n return a(\"trix-initialize\", {\n onElement: t\n });\n };\n }(this))), this.editorController.registerSelectionManager(), this.registerResetListener(), this.registerClickListener(), l(this));\n },\n disconnect: function disconnect() {\n var t;\n return null != (t = this.editorController) && t.unregisterSelectionManager(), this.unregisterResetListener(), this.unregisterClickListener();\n },\n registerResetListener: function registerResetListener() {\n return this.resetListener = this.resetBubbled.bind(this), window.addEventListener(\"reset\", this.resetListener, !1);\n },\n unregisterResetListener: function unregisterResetListener() {\n return window.removeEventListener(\"reset\", this.resetListener, !1);\n },\n registerClickListener: function registerClickListener() {\n return this.clickListener = this.clickBubbled.bind(this), window.addEventListener(\"click\", this.clickListener, !1);\n },\n unregisterClickListener: function unregisterClickListener() {\n return window.removeEventListener(\"click\", this.clickListener, !1);\n },\n resetBubbled: function resetBubbled(t) {\n var e;\n if (!t.defaultPrevented && t.target === (null != (e = this.inputElement) ? e.form : void 0)) return this.reset();\n },\n clickBubbled: function clickBubbled(t) {\n var e;\n if (!(t.defaultPrevented || this.contains(t.target) || !(e = i(t.target, {\n matchingSelector: \"label\"\n })) || u.call(this.labels, e) < 0)) return this.focus();\n },\n reset: function reset() {\n return this.value = this.defaultValue;\n }\n };\n }());\n }.call(this), function () {}.call(this);\n }).call(this), \"object\" == (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) && module.exports ? module.exports = e : \"function\" == typeof define && define.amd && define(e);\n}.call(this);","/* globals __webpack_amd_options__ */\nmodule.exports = __webpack_amd_options__;\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","module.exports = function (originalModule) {\n if (!originalModule.webpackPolyfill) {\n var module = Object.create(originalModule); // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n Object.defineProperty(module, \"exports\", {\n enumerable: true\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};","module.exports = function (module) {\n if (!module.webpackPolyfill) {\n module.deprecate = function () {};\n\n module.paths = []; // module.parent = undefined by default\n\n if (!module.children) module.children = [];\n Object.defineProperty(module, \"loaded\", {\n enumerable: true,\n get: function get() {\n return module.l;\n }\n });\n Object.defineProperty(module, \"id\", {\n enumerable: true,\n get: function get() {\n return module.i;\n }\n });\n module.webpackPolyfill = 1;\n }\n\n return module;\n};"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AAGA;AAMA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AAEA;AACA;AADA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACRA;AACA;AAEA;AACA;AAAA;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AADA;AAGA;AACA;AAAA;AACA;AAGA;AACA;AAAA;AACA;AACA;AACA;AAGA;AACA;AACA;AAAA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;;;;;;;;;;;;AC9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClBA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/2xCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC9HA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9DA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACzoCA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACzoCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;;;;;;;;;;AClyBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC5vSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA,WAIA;AACA;AACA;;;;;;;;;;;AClmEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC1vBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtIA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACzHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC/GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/UA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC1DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7XA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACxKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC/RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpqBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACvGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5xBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC7KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC1ZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACtNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACrIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACbA;AACA;AACA;AACA;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC9JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC/MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3uBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA,WAqBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACprKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACxMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC5QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA,WAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC7NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;;;;;;;;;;;;ACnjOA;AACA;;;;;;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;A","sourceRoot":""}