>>=y,p-=y),p<15&&(d+=z[n++]<>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<>>=y,p-=y,(y=s-a)>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg=\"\",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg=\"incorrect header check\",r.mode=30;break}if(8!=(15&u)){e.msg=\"unknown compression method\",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg=\"invalid window size\",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg=\"invalid block type\",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<>>16^65535)){e.msg=\"invalid stored block lengths\",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid code lengths set\",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l>>=_,l-=_,0===r.have){e.msg=\"invalid bit length repeat\",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l>>=_)),u>>>=3,l-=3}else{for(z=_+7;l>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg=\"invalid bit length repeat\",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg=\"invalid code -- missing end-of-block\",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg=\"invalid literal/lengths set\",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg=\"invalid distances set\",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg=\"invalid literal/length code\",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg=\"invalid distance code\",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg=\"invalid distance too far back\",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg=\"invalid distance too far back\",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(hd?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u>=7;n>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{\"../utils/common\":41}],53:[function(e,t,r){\"use strict\";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){\"use strict\";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i=\"[object process]\"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage(\"\",\"*\"),r.onmessage=t,e}}()?(a=\"setImmediate$\"+Math.random()+\"$\",r.addEventListener?r.addEventListener(\"message\",d,!1):r.attachEvent(\"onmessage\",d),function(e){r.postMessage(a+e,\"*\")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&\"onreadystatechange\"in l.createElement(\"script\")?(s=l.documentElement,function(e){var t=l.createElement(\"script\");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),r=0;r arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _nonIterableRest() {\n 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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;", "(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@babel/runtime/helpers/slicedToArray'), require('@babel/runtime/helpers/classCallCheck'), require('@babel/runtime/helpers/createClass')) :\n typeof define === 'function' && define.amd ? define(['exports', '@babel/runtime/helpers/slicedToArray', '@babel/runtime/helpers/classCallCheck', '@babel/runtime/helpers/createClass'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.automationEvents = {}, global._slicedToArray, global._classCallCheck, global._createClass));\n})(this, (function (exports, _slicedToArray, _classCallCheck, _createClass) { 'use strict';\n\n var createExtendedExponentialRampToValueAutomationEvent = function createExtendedExponentialRampToValueAutomationEvent(value, endTime, insertTime) {\n return {\n endTime: endTime,\n insertTime: insertTime,\n type: 'exponentialRampToValue',\n value: value\n };\n };\n\n var createExtendedLinearRampToValueAutomationEvent = function createExtendedLinearRampToValueAutomationEvent(value, endTime, insertTime) {\n return {\n endTime: endTime,\n insertTime: insertTime,\n type: 'linearRampToValue',\n value: value\n };\n };\n\n var createSetValueAutomationEvent = function createSetValueAutomationEvent(value, startTime) {\n return {\n startTime: startTime,\n type: 'setValue',\n value: value\n };\n };\n\n var createSetValueCurveAutomationEvent = function createSetValueCurveAutomationEvent(values, startTime, duration) {\n return {\n duration: duration,\n startTime: startTime,\n type: 'setValueCurve',\n values: values\n };\n };\n\n var getTargetValueAtTime = function getTargetValueAtTime(time, valueAtStartTime, _ref) {\n var startTime = _ref.startTime,\n target = _ref.target,\n timeConstant = _ref.timeConstant;\n return target + (valueAtStartTime - target) * Math.exp((startTime - time) / timeConstant);\n };\n\n var isExponentialRampToValueAutomationEvent = function isExponentialRampToValueAutomationEvent(automationEvent) {\n return automationEvent.type === 'exponentialRampToValue';\n };\n\n var isLinearRampToValueAutomationEvent = function isLinearRampToValueAutomationEvent(automationEvent) {\n return automationEvent.type === 'linearRampToValue';\n };\n\n var isAnyRampToValueAutomationEvent = function isAnyRampToValueAutomationEvent(automationEvent) {\n return isExponentialRampToValueAutomationEvent(automationEvent) || isLinearRampToValueAutomationEvent(automationEvent);\n };\n\n var isSetValueAutomationEvent = function isSetValueAutomationEvent(automationEvent) {\n return automationEvent.type === 'setValue';\n };\n\n var isSetValueCurveAutomationEvent = function isSetValueCurveAutomationEvent(automationEvent) {\n return automationEvent.type === 'setValueCurve';\n };\n\n var getValueOfAutomationEventAtIndexAtTime = function getValueOfAutomationEventAtIndexAtTime(automationEvents, index, time, defaultValue) {\n var automationEvent = automationEvents[index];\n return automationEvent === undefined ? defaultValue : isAnyRampToValueAutomationEvent(automationEvent) || isSetValueAutomationEvent(automationEvent) ? automationEvent.value : isSetValueCurveAutomationEvent(automationEvent) ? automationEvent.values[automationEvent.values.length - 1] : getTargetValueAtTime(time, getValueOfAutomationEventAtIndexAtTime(automationEvents, index - 1, automationEvent.startTime, defaultValue), automationEvent);\n };\n\n var getEndTimeAndValueOfPreviousAutomationEvent = function getEndTimeAndValueOfPreviousAutomationEvent(automationEvents, index, currentAutomationEvent, nextAutomationEvent, defaultValue) {\n return currentAutomationEvent === undefined ? [nextAutomationEvent.insertTime, defaultValue] : isAnyRampToValueAutomationEvent(currentAutomationEvent) ? [currentAutomationEvent.endTime, currentAutomationEvent.value] : isSetValueAutomationEvent(currentAutomationEvent) ? [currentAutomationEvent.startTime, currentAutomationEvent.value] : isSetValueCurveAutomationEvent(currentAutomationEvent) ? [currentAutomationEvent.startTime + currentAutomationEvent.duration, currentAutomationEvent.values[currentAutomationEvent.values.length - 1]] : [currentAutomationEvent.startTime, getValueOfAutomationEventAtIndexAtTime(automationEvents, index - 1, currentAutomationEvent.startTime, defaultValue)];\n };\n\n var isCancelAndHoldAutomationEvent = function isCancelAndHoldAutomationEvent(automationEvent) {\n return automationEvent.type === 'cancelAndHold';\n };\n\n var isCancelScheduledValuesAutomationEvent = function isCancelScheduledValuesAutomationEvent(automationEvent) {\n return automationEvent.type === 'cancelScheduledValues';\n };\n\n var getEventTime = function getEventTime(automationEvent) {\n if (isCancelAndHoldAutomationEvent(automationEvent) || isCancelScheduledValuesAutomationEvent(automationEvent)) {\n return automationEvent.cancelTime;\n }\n if (isExponentialRampToValueAutomationEvent(automationEvent) || isLinearRampToValueAutomationEvent(automationEvent)) {\n return automationEvent.endTime;\n }\n return automationEvent.startTime;\n };\n\n var getExponentialRampValueAtTime = function getExponentialRampValueAtTime(time, startTime, valueAtStartTime, _ref) {\n var endTime = _ref.endTime,\n value = _ref.value;\n if (valueAtStartTime === value) {\n return value;\n }\n if (0 < valueAtStartTime && 0 < value || valueAtStartTime < 0 && value < 0) {\n return valueAtStartTime * Math.pow(value / valueAtStartTime, (time - startTime) / (endTime - startTime));\n }\n return 0;\n };\n\n var getLinearRampValueAtTime = function getLinearRampValueAtTime(time, startTime, valueAtStartTime, _ref) {\n var endTime = _ref.endTime,\n value = _ref.value;\n return valueAtStartTime + (time - startTime) / (endTime - startTime) * (value - valueAtStartTime);\n };\n\n var interpolateValue = function interpolateValue(values, theoreticIndex) {\n var lowerIndex = Math.floor(theoreticIndex);\n var upperIndex = Math.ceil(theoreticIndex);\n if (lowerIndex === upperIndex) {\n return values[lowerIndex];\n }\n return (1 - (theoreticIndex - lowerIndex)) * values[lowerIndex] + (1 - (upperIndex - theoreticIndex)) * values[upperIndex];\n };\n\n var getValueCurveValueAtTime = function getValueCurveValueAtTime(time, _ref) {\n var duration = _ref.duration,\n startTime = _ref.startTime,\n values = _ref.values;\n var theoreticIndex = (time - startTime) / duration * (values.length - 1);\n return interpolateValue(values, theoreticIndex);\n };\n\n var isSetTargetAutomationEvent = function isSetTargetAutomationEvent(automationEvent) {\n return automationEvent.type === 'setTarget';\n };\n\n var AutomationEventList = /*#__PURE__*/function (_Symbol$iterator) {\n function AutomationEventList(defaultValue) {\n _classCallCheck(this, AutomationEventList);\n this._automationEvents = [];\n this._currenTime = 0;\n this._defaultValue = defaultValue;\n }\n _createClass(AutomationEventList, [{\n key: _Symbol$iterator,\n value: function value() {\n return this._automationEvents[Symbol.iterator]();\n }\n }, {\n key: \"add\",\n value: function add(automationEvent) {\n var eventTime = getEventTime(automationEvent);\n if (isCancelAndHoldAutomationEvent(automationEvent) || isCancelScheduledValuesAutomationEvent(automationEvent)) {\n var index = this._automationEvents.findIndex(function (currentAutomationEvent) {\n if (isCancelScheduledValuesAutomationEvent(automationEvent) && isSetValueCurveAutomationEvent(currentAutomationEvent)) {\n return currentAutomationEvent.startTime + currentAutomationEvent.duration >= eventTime;\n }\n return getEventTime(currentAutomationEvent) >= eventTime;\n });\n var removedAutomationEvent = this._automationEvents[index];\n if (index !== -1) {\n this._automationEvents = this._automationEvents.slice(0, index);\n }\n if (isCancelAndHoldAutomationEvent(automationEvent)) {\n var lastAutomationEvent = this._automationEvents[this._automationEvents.length - 1];\n if (removedAutomationEvent !== undefined && isAnyRampToValueAutomationEvent(removedAutomationEvent)) {\n if (lastAutomationEvent !== undefined && isSetTargetAutomationEvent(lastAutomationEvent)) {\n throw new Error('The internal list is malformed.');\n }\n var startTime = lastAutomationEvent === undefined ? removedAutomationEvent.insertTime : isSetValueCurveAutomationEvent(lastAutomationEvent) ? lastAutomationEvent.startTime + lastAutomationEvent.duration : getEventTime(lastAutomationEvent);\n var startValue = lastAutomationEvent === undefined ? this._defaultValue : isSetValueCurveAutomationEvent(lastAutomationEvent) ? lastAutomationEvent.values[lastAutomationEvent.values.length - 1] : lastAutomationEvent.value;\n var value = isExponentialRampToValueAutomationEvent(removedAutomationEvent) ? getExponentialRampValueAtTime(eventTime, startTime, startValue, removedAutomationEvent) : getLinearRampValueAtTime(eventTime, startTime, startValue, removedAutomationEvent);\n var truncatedAutomationEvent = isExponentialRampToValueAutomationEvent(removedAutomationEvent) ? createExtendedExponentialRampToValueAutomationEvent(value, eventTime, this._currenTime) : createExtendedLinearRampToValueAutomationEvent(value, eventTime, this._currenTime);\n this._automationEvents.push(truncatedAutomationEvent);\n }\n if (lastAutomationEvent !== undefined && isSetTargetAutomationEvent(lastAutomationEvent)) {\n this._automationEvents.push(createSetValueAutomationEvent(this.getValue(eventTime), eventTime));\n }\n if (lastAutomationEvent !== undefined && isSetValueCurveAutomationEvent(lastAutomationEvent) && lastAutomationEvent.startTime + lastAutomationEvent.duration > eventTime) {\n var duration = eventTime - lastAutomationEvent.startTime;\n var ratio = (lastAutomationEvent.values.length - 1) / lastAutomationEvent.duration;\n var length = Math.max(2, 1 + Math.ceil(duration * ratio));\n var fraction = duration / (length - 1) * ratio;\n var values = lastAutomationEvent.values.slice(0, length);\n if (fraction < 1) {\n for (var i = 1; i < length; i += 1) {\n var factor = fraction * i % 1;\n values[i] = lastAutomationEvent.values[i - 1] * (1 - factor) + lastAutomationEvent.values[i] * factor;\n }\n }\n this._automationEvents[this._automationEvents.length - 1] = createSetValueCurveAutomationEvent(values, lastAutomationEvent.startTime, duration);\n }\n }\n } else {\n var _index = this._automationEvents.findIndex(function (currentAutomationEvent) {\n return getEventTime(currentAutomationEvent) > eventTime;\n });\n var previousAutomationEvent = _index === -1 ? this._automationEvents[this._automationEvents.length - 1] : this._automationEvents[_index - 1];\n if (previousAutomationEvent !== undefined && isSetValueCurveAutomationEvent(previousAutomationEvent) && getEventTime(previousAutomationEvent) + previousAutomationEvent.duration > eventTime) {\n return false;\n }\n var persistentAutomationEvent = isExponentialRampToValueAutomationEvent(automationEvent) ? createExtendedExponentialRampToValueAutomationEvent(automationEvent.value, automationEvent.endTime, this._currenTime) : isLinearRampToValueAutomationEvent(automationEvent) ? createExtendedLinearRampToValueAutomationEvent(automationEvent.value, eventTime, this._currenTime) : automationEvent;\n if (_index === -1) {\n this._automationEvents.push(persistentAutomationEvent);\n } else {\n if (isSetValueCurveAutomationEvent(automationEvent) && eventTime + automationEvent.duration > getEventTime(this._automationEvents[_index])) {\n return false;\n }\n this._automationEvents.splice(_index, 0, persistentAutomationEvent);\n }\n }\n return true;\n }\n }, {\n key: \"flush\",\n value: function flush(time) {\n var index = this._automationEvents.findIndex(function (currentAutomationEvent) {\n return getEventTime(currentAutomationEvent) > time;\n });\n if (index > 1) {\n var remainingAutomationEvents = this._automationEvents.slice(index - 1);\n var firstRemainingAutomationEvent = remainingAutomationEvents[0];\n if (isSetTargetAutomationEvent(firstRemainingAutomationEvent)) {\n remainingAutomationEvents.unshift(createSetValueAutomationEvent(getValueOfAutomationEventAtIndexAtTime(this._automationEvents, index - 2, firstRemainingAutomationEvent.startTime, this._defaultValue), firstRemainingAutomationEvent.startTime));\n }\n this._automationEvents = remainingAutomationEvents;\n }\n }\n }, {\n key: \"getValue\",\n value: function getValue(time) {\n if (this._automationEvents.length === 0) {\n return this._defaultValue;\n }\n var indexOfNextEvent = this._automationEvents.findIndex(function (automationEvent) {\n return getEventTime(automationEvent) > time;\n });\n var nextAutomationEvent = this._automationEvents[indexOfNextEvent];\n var indexOfCurrentEvent = (indexOfNextEvent === -1 ? this._automationEvents.length : indexOfNextEvent) - 1;\n var currentAutomationEvent = this._automationEvents[indexOfCurrentEvent];\n if (currentAutomationEvent !== undefined && isSetTargetAutomationEvent(currentAutomationEvent) && (nextAutomationEvent === undefined || !isAnyRampToValueAutomationEvent(nextAutomationEvent) || nextAutomationEvent.insertTime > time)) {\n return getTargetValueAtTime(time, getValueOfAutomationEventAtIndexAtTime(this._automationEvents, indexOfCurrentEvent - 1, currentAutomationEvent.startTime, this._defaultValue), currentAutomationEvent);\n }\n if (currentAutomationEvent !== undefined && isSetValueAutomationEvent(currentAutomationEvent) && (nextAutomationEvent === undefined || !isAnyRampToValueAutomationEvent(nextAutomationEvent))) {\n return currentAutomationEvent.value;\n }\n if (currentAutomationEvent !== undefined && isSetValueCurveAutomationEvent(currentAutomationEvent) && (nextAutomationEvent === undefined || !isAnyRampToValueAutomationEvent(nextAutomationEvent) || currentAutomationEvent.startTime + currentAutomationEvent.duration > time)) {\n if (time < currentAutomationEvent.startTime + currentAutomationEvent.duration) {\n return getValueCurveValueAtTime(time, currentAutomationEvent);\n }\n return currentAutomationEvent.values[currentAutomationEvent.values.length - 1];\n }\n if (currentAutomationEvent !== undefined && isAnyRampToValueAutomationEvent(currentAutomationEvent) && (nextAutomationEvent === undefined || !isAnyRampToValueAutomationEvent(nextAutomationEvent))) {\n return currentAutomationEvent.value;\n }\n if (nextAutomationEvent !== undefined && isExponentialRampToValueAutomationEvent(nextAutomationEvent)) {\n var _getEndTimeAndValueOf = getEndTimeAndValueOfPreviousAutomationEvent(this._automationEvents, indexOfCurrentEvent, currentAutomationEvent, nextAutomationEvent, this._defaultValue),\n _getEndTimeAndValueOf2 = _slicedToArray(_getEndTimeAndValueOf, 2),\n startTime = _getEndTimeAndValueOf2[0],\n value = _getEndTimeAndValueOf2[1];\n return getExponentialRampValueAtTime(time, startTime, value, nextAutomationEvent);\n }\n if (nextAutomationEvent !== undefined && isLinearRampToValueAutomationEvent(nextAutomationEvent)) {\n var _getEndTimeAndValueOf3 = getEndTimeAndValueOfPreviousAutomationEvent(this._automationEvents, indexOfCurrentEvent, currentAutomationEvent, nextAutomationEvent, this._defaultValue),\n _getEndTimeAndValueOf4 = _slicedToArray(_getEndTimeAndValueOf3, 2),\n _startTime = _getEndTimeAndValueOf4[0],\n _value = _getEndTimeAndValueOf4[1];\n return getLinearRampValueAtTime(time, _startTime, _value, nextAutomationEvent);\n }\n return this._defaultValue;\n }\n }]);\n return AutomationEventList;\n }(Symbol.iterator);\n\n var createCancelAndHoldAutomationEvent = function createCancelAndHoldAutomationEvent(cancelTime) {\n return {\n cancelTime: cancelTime,\n type: 'cancelAndHold'\n };\n };\n\n var createCancelScheduledValuesAutomationEvent = function createCancelScheduledValuesAutomationEvent(cancelTime) {\n return {\n cancelTime: cancelTime,\n type: 'cancelScheduledValues'\n };\n };\n\n var createExponentialRampToValueAutomationEvent = function createExponentialRampToValueAutomationEvent(value, endTime) {\n return {\n endTime: endTime,\n type: 'exponentialRampToValue',\n value: value\n };\n };\n\n var createLinearRampToValueAutomationEvent = function createLinearRampToValueAutomationEvent(value, endTime) {\n return {\n endTime: endTime,\n type: 'linearRampToValue',\n value: value\n };\n };\n\n var createSetTargetAutomationEvent = function createSetTargetAutomationEvent(target, startTime, timeConstant) {\n return {\n startTime: startTime,\n target: target,\n timeConstant: timeConstant,\n type: 'setTarget'\n };\n };\n\n exports.AutomationEventList = AutomationEventList;\n exports.createCancelAndHoldAutomationEvent = createCancelAndHoldAutomationEvent;\n exports.createCancelScheduledValuesAutomationEvent = createCancelScheduledValuesAutomationEvent;\n exports.createExponentialRampToValueAutomationEvent = createExponentialRampToValueAutomationEvent;\n exports.createLinearRampToValueAutomationEvent = createLinearRampToValueAutomationEvent;\n exports.createSetTargetAutomationEvent = createSetTargetAutomationEvent;\n exports.createSetValueAutomationEvent = createSetValueAutomationEvent;\n exports.createSetValueCurveAutomationEvent = createSetValueCurveAutomationEvent;\n\n}));\n", "const {\n hasOwnProperty,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n} = Object;\n\nlet { freeze, seal, create } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!apply) {\n apply = function (fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function (x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function (x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function (Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst regExpTest = unapply(RegExp.prototype.test);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\nexport function numberIsNaN(x) {\n // eslint-disable-next-line unicorn/prefer-number-properties\n return typeof x === 'number' && isNaN(x);\n}\n\nexport function unapply(func) {\n return (thisArg, ...args) => apply(func, thisArg, args);\n}\n\nexport function unconstruct(func) {\n return (...args) => construct(func, args);\n}\n\n/* Add properties to a lookup table */\nexport function addToSet(set, array, transformCaseFunc) {\n transformCaseFunc = transformCaseFunc ?? stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/* Shallow clone an object */\nexport function clone(object) {\n const newObject = create(null);\n\n let property;\n for (property in object) {\n if (apply(hasOwnProperty, object, [property]) === true) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n}\n\n/* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nexport {\n // Array\n arrayForEach,\n arrayIndexOf,\n arrayPop,\n arrayPush,\n arraySlice,\n // Object\n freeze,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n hasOwnProperty,\n isFrozen,\n setPrototypeOf,\n seal,\n // RegExp\n regExpTest,\n // String\n stringIndexOf,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringTrim,\n // Errors\n typeErrorCreate,\n // Other\n lookupGetter,\n};\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blink',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'content',\n 'data',\n 'datalist',\n 'dd',\n 'decorator',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'element',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'nobr',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'section',\n 'select',\n 'shadow',\n 'small',\n 'source',\n 'spacer',\n 'span',\n 'strike',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\n\n// SVG\nexport const svg = freeze([\n 'svg',\n 'a',\n 'altglyph',\n 'altglyphdef',\n 'altglyphitem',\n 'animatecolor',\n 'animatemotion',\n 'animatetransform',\n 'circle',\n 'clippath',\n 'defs',\n 'desc',\n 'ellipse',\n 'filter',\n 'font',\n 'g',\n 'glyph',\n 'glyphref',\n 'hkern',\n 'image',\n 'line',\n 'lineargradient',\n 'marker',\n 'mask',\n 'metadata',\n 'mpath',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialgradient',\n 'rect',\n 'stop',\n 'style',\n 'switch',\n 'symbol',\n 'text',\n 'textpath',\n 'title',\n 'tref',\n 'tspan',\n 'view',\n 'vkern',\n]);\n\nexport const svgFilters = freeze([\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n]);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nexport const svgDisallowed = freeze([\n 'animate',\n 'color-profile',\n 'cursor',\n 'discard',\n 'fedropshadow',\n 'font-face',\n 'font-face-format',\n 'font-face-name',\n 'font-face-src',\n 'font-face-uri',\n 'foreignobject',\n 'hatch',\n 'hatchpath',\n 'mesh',\n 'meshgradient',\n 'meshpatch',\n 'meshrow',\n 'missing-glyph',\n 'script',\n 'set',\n 'solidcolor',\n 'unknown',\n 'use',\n]);\n\nexport const mathMl = freeze([\n 'math',\n 'menclose',\n 'merror',\n 'mfenced',\n 'mfrac',\n 'mglyph',\n 'mi',\n 'mlabeledtr',\n 'mmultiscripts',\n 'mn',\n 'mo',\n 'mover',\n 'mpadded',\n 'mphantom',\n 'mroot',\n 'mrow',\n 'ms',\n 'mspace',\n 'msqrt',\n 'mstyle',\n 'msub',\n 'msup',\n 'msubsup',\n 'mtable',\n 'mtd',\n 'mtext',\n 'mtr',\n 'munder',\n 'munderover',\n]);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nexport const mathMlDisallowed = freeze([\n 'maction',\n 'maligngroup',\n 'malignmark',\n 'mlongdiv',\n 'mscarries',\n 'mscarry',\n 'msgroup',\n 'mstack',\n 'msline',\n 'msrow',\n 'semantics',\n 'annotation',\n 'annotation-xml',\n 'mprescripts',\n 'none',\n]);\n\nexport const text = freeze(['#text']);\n", "import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'accept',\n 'action',\n 'align',\n 'alt',\n 'autocapitalize',\n 'autocomplete',\n 'autopictureinpicture',\n 'autoplay',\n 'background',\n 'bgcolor',\n 'border',\n 'capture',\n 'cellpadding',\n 'cellspacing',\n 'checked',\n 'cite',\n 'class',\n 'clear',\n 'color',\n 'cols',\n 'colspan',\n 'controls',\n 'controlslist',\n 'coords',\n 'crossorigin',\n 'datetime',\n 'decoding',\n 'default',\n 'dir',\n 'disabled',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'download',\n 'draggable',\n 'enctype',\n 'enterkeyhint',\n 'face',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'high',\n 'href',\n 'hreflang',\n 'id',\n 'inputmode',\n 'integrity',\n 'ismap',\n 'kind',\n 'label',\n 'lang',\n 'list',\n 'loading',\n 'loop',\n 'low',\n 'max',\n 'maxlength',\n 'media',\n 'method',\n 'min',\n 'minlength',\n 'multiple',\n 'muted',\n 'name',\n 'nonce',\n 'noshade',\n 'novalidate',\n 'nowrap',\n 'open',\n 'optimum',\n 'pattern',\n 'placeholder',\n 'playsinline',\n 'poster',\n 'preload',\n 'pubdate',\n 'radiogroup',\n 'readonly',\n 'rel',\n 'required',\n 'rev',\n 'reversed',\n 'role',\n 'rows',\n 'rowspan',\n 'spellcheck',\n 'scope',\n 'selected',\n 'shape',\n 'size',\n 'sizes',\n 'span',\n 'srclang',\n 'start',\n 'src',\n 'srcset',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'title',\n 'translate',\n 'type',\n 'usemap',\n 'valign',\n 'value',\n 'width',\n 'xmlns',\n 'slot',\n]);\n\nexport const svg = freeze([\n 'accent-height',\n 'accumulate',\n 'additive',\n 'alignment-baseline',\n 'ascent',\n 'attributename',\n 'attributetype',\n 'azimuth',\n 'basefrequency',\n 'baseline-shift',\n 'begin',\n 'bias',\n 'by',\n 'class',\n 'clip',\n 'clippathunits',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'cx',\n 'cy',\n 'd',\n 'dx',\n 'dy',\n 'diffuseconstant',\n 'direction',\n 'display',\n 'divisor',\n 'dur',\n 'edgemode',\n 'elevation',\n 'end',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'filterunits',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'fx',\n 'fy',\n 'g1',\n 'g2',\n 'glyph-name',\n 'glyphref',\n 'gradientunits',\n 'gradienttransform',\n 'height',\n 'href',\n 'id',\n 'image-rendering',\n 'in',\n 'in2',\n 'k',\n 'k1',\n 'k2',\n 'k3',\n 'k4',\n 'kerning',\n 'keypoints',\n 'keysplines',\n 'keytimes',\n 'lang',\n 'lengthadjust',\n 'letter-spacing',\n 'kernelmatrix',\n 'kernelunitlength',\n 'lighting-color',\n 'local',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'markerheight',\n 'markerunits',\n 'markerwidth',\n 'maskcontentunits',\n 'maskunits',\n 'max',\n 'mask',\n 'media',\n 'method',\n 'mode',\n 'min',\n 'name',\n 'numoctaves',\n 'offset',\n 'operator',\n 'opacity',\n 'order',\n 'orient',\n 'orientation',\n 'origin',\n 'overflow',\n 'paint-order',\n 'path',\n 'pathlength',\n 'patterncontentunits',\n 'patterntransform',\n 'patternunits',\n 'points',\n 'preservealpha',\n 'preserveaspectratio',\n 'primitiveunits',\n 'r',\n 'rx',\n 'ry',\n 'radius',\n 'refx',\n 'refy',\n 'repeatcount',\n 'repeatdur',\n 'restart',\n 'result',\n 'rotate',\n 'scale',\n 'seed',\n 'shape-rendering',\n 'specularconstant',\n 'specularexponent',\n 'spreadmethod',\n 'startoffset',\n 'stddeviation',\n 'stitchtiles',\n 'stop-color',\n 'stop-opacity',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke',\n 'stroke-width',\n 'style',\n 'surfacescale',\n 'systemlanguage',\n 'tabindex',\n 'targetx',\n 'targety',\n 'transform',\n 'transform-origin',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'textlength',\n 'type',\n 'u1',\n 'u2',\n 'unicode',\n 'values',\n 'viewbox',\n 'visibility',\n 'version',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'width',\n 'word-spacing',\n 'wrap',\n 'writing-mode',\n 'xchannelselector',\n 'ychannelselector',\n 'x',\n 'x1',\n 'x2',\n 'xmlns',\n 'y',\n 'y1',\n 'y2',\n 'z',\n 'zoomandpan',\n]);\n\nexport const mathMl = freeze([\n 'accent',\n 'accentunder',\n 'align',\n 'bevelled',\n 'close',\n 'columnsalign',\n 'columnlines',\n 'columnspan',\n 'denomalign',\n 'depth',\n 'dir',\n 'display',\n 'displaystyle',\n 'encoding',\n 'fence',\n 'frame',\n 'height',\n 'href',\n 'id',\n 'largeop',\n 'length',\n 'linethickness',\n 'lspace',\n 'lquote',\n 'mathbackground',\n 'mathcolor',\n 'mathsize',\n 'mathvariant',\n 'maxsize',\n 'minsize',\n 'movablelimits',\n 'notation',\n 'numalign',\n 'open',\n 'rowalign',\n 'rowlines',\n 'rowspacing',\n 'rowspan',\n 'rspace',\n 'rquote',\n 'scriptlevel',\n 'scriptminsize',\n 'scriptsizemultiplier',\n 'selection',\n 'separator',\n 'separators',\n 'stretchy',\n 'subscriptshift',\n 'supscriptshift',\n 'symmetric',\n 'voffset',\n 'width',\n 'xmlns',\n]);\n\nexport const xml = freeze([\n 'xlink:href',\n 'xml:id',\n 'xlink:title',\n 'xml:space',\n 'xmlns:xlink',\n]);\n", "import { seal } from './utils.js';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nexport const TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nexport const DOCTYPE_NAME = seal(/^html$/i);\nexport const CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n", "import * as TAGS from './tags.js';\nimport * as ATTRS from './attrs.js';\nimport * as EXPRESSIONS from './regexp.js';\nimport {\n addToSet,\n clone,\n freeze,\n arrayForEach,\n arrayPop,\n arrayPush,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringIndexOf,\n stringTrim,\n numberIsNaN,\n regExpTest,\n typeErrorCreate,\n lookupGetter,\n} from './utils.js';\n\nconst getGlobal = () => (typeof window === 'undefined' ? null : window);\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\nconst _createTrustedTypesPolicy = function (trustedTypes, document) {\n if (\n typeof trustedTypes !== 'object' ||\n typeof trustedTypes.createPolicy !== 'function'\n ) {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (\n document.currentScript &&\n document.currentScript.hasAttribute(ATTR_NAME)\n ) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n },\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn(\n 'TrustedTypes policy ' + policyName + ' could not be created.'\n );\n return null;\n }\n};\n\nfunction createDOMPurify(window = getGlobal()) {\n const DOMPurify = (root) => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = VERSION;\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n const originalDocument = window.document;\n\n let { document } = window;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes,\n } = window;\n\n const ElementPrototype = Element.prototype;\n\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n const trustedTypesPolicy = _createTrustedTypesPolicy(\n trustedTypes,\n originalDocument\n );\n const emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName,\n } = document;\n const { importNode } = originalDocument;\n\n let documentMode = {};\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported =\n typeof getParentNode === 'function' &&\n implementation &&\n implementation.createHTMLDocument !== undefined &&\n documentMode !== 9;\n\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT,\n } = EXPRESSIONS;\n\n let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n ...TAGS.html,\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.mathMl,\n ...TAGS.text,\n ]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n ...ATTRS.html,\n ...ATTRS.svg,\n ...ATTRS.mathMl,\n ...ATTRS.xml,\n ]);\n\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(\n Object.create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false,\n },\n })\n );\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, [\n 'annotation-xml',\n 'audio',\n 'colgroup',\n 'desc',\n 'foreignobject',\n 'head',\n 'iframe',\n 'math',\n 'mi',\n 'mn',\n 'mo',\n 'ms',\n 'mtext',\n 'noembed',\n 'noframes',\n 'noscript',\n 'plaintext',\n 'script',\n 'style',\n 'svg',\n 'template',\n 'thead',\n 'title',\n 'video',\n 'xmp',\n ]);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, [\n 'audio',\n 'video',\n 'img',\n 'source',\n 'image',\n 'track',\n ]);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n 'alt',\n 'class',\n 'for',\n 'id',\n 'label',\n 'name',\n 'pattern',\n 'placeholder',\n 'role',\n 'summary',\n 'title',\n 'value',\n 'style',\n 'xmlns',\n ]);\n\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet(\n {},\n [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE],\n stringToString\n );\n\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc;\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Specify the maximum element nesting depth to prevent mXSS */\n const MAX_NESTING_DEPTH = 255;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n const isRegexOrFunction = function (testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function (cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1\n ? (PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE)\n : (PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE);\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc =\n PARSER_MEDIA_TYPE === 'application/xhtml+xml'\n ? stringToString\n : stringToLowerCase;\n\n /* Set configuration parameters */\n ALLOWED_TAGS =\n 'ALLOWED_TAGS' in cfg\n ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc)\n : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR =\n 'ALLOWED_ATTR' in cfg\n ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc)\n : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES =\n 'ALLOWED_NAMESPACES' in cfg\n ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString)\n : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES =\n 'ADD_URI_SAFE_ATTR' in cfg\n ? addToSet(\n clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS =\n 'ADD_DATA_URI_TAGS' in cfg\n ? addToSet(\n clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS =\n 'FORBID_CONTENTS' in cfg\n ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc)\n : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS =\n 'FORBID_TAGS' in cfg\n ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc)\n : {};\n FORBID_ATTR =\n 'FORBID_ATTR' in cfg\n ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc)\n : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements ===\n 'boolean'\n ) {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements =\n cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [...TAGS.text]);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, TAGS.html);\n addToSet(ALLOWED_ATTR, ATTRS.html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, TAGS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, TAGS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\n 'mi',\n 'mo',\n 'mn',\n 'ms',\n 'mtext',\n ]);\n\n const HTML_INTEGRATION_POINTS = addToSet({}, [\n 'foreignobject',\n 'annotation-xml',\n ]);\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n 'title',\n 'style',\n 'font',\n 'a',\n 'script',\n ]);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, TAGS.svg);\n addToSet(ALL_SVG_TAGS, TAGS.svgFilters);\n addToSet(ALL_SVG_TAGS, TAGS.svgDisallowed);\n\n const ALL_MATHML_TAGS = addToSet({}, TAGS.mathMl);\n addToSet(ALL_MATHML_TAGS, TAGS.mathMlDisallowed);\n\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function (element) {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template',\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return (\n tagName === 'svg' &&\n (parentTagName === 'annotation-xml' ||\n MATHML_TEXT_INTEGRATION_POINTS[parentTagName])\n );\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (\n parent.namespaceURI === SVG_NAMESPACE &&\n !HTML_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n if (\n parent.namespaceURI === MATHML_NAMESPACE &&\n !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return (\n !ALL_MATHML_TAGS[tagName] &&\n (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName])\n );\n }\n\n // For XHTML and XML documents that support custom namespaces\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n ALLOWED_NAMESPACES[element.namespaceURI]\n ) {\n return true;\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function (node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n try {\n node.outerHTML = emptyHTML;\n } catch (_) {\n node.remove();\n }\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function (name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node,\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node,\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function (dirty) {\n /* Create a HTML document */\n let doc;\n let leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = ' ' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n NAMESPACE === HTML_NAMESPACE\n ) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty =\n '' +\n dirty +\n '';\n }\n\n const dirtyPayload = trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT\n ? emptyHTML\n : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n const body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(\n document.createTextNode(leadingWhitespace),\n body.childNodes[0] || null\n );\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(\n doc,\n WHOLE_DOCUMENT ? 'html' : 'body'\n )[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n const _createIterator = function (root) {\n return createNodeIterator.call(\n root.ownerDocument || root,\n root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT |\n NodeFilter.SHOW_COMMENT |\n NodeFilter.SHOW_TEXT |\n NodeFilter.SHOW_PROCESSING_INSTRUCTION |\n NodeFilter.SHOW_CDATA_SECTION,\n null,\n false\n );\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function (elm) {\n return (\n elm instanceof HTMLFormElement &&\n ((typeof elm.__depth !== 'undefined' &&\n typeof elm.__depth !== 'number') ||\n (typeof elm.__removalCount !== 'undefined' &&\n typeof elm.__removalCount !== 'number') ||\n typeof elm.nodeName !== 'string' ||\n typeof elm.textContent !== 'string' ||\n typeof elm.removeChild !== 'function' ||\n !(elm.attributes instanceof NamedNodeMap) ||\n typeof elm.removeAttribute !== 'function' ||\n typeof elm.setAttribute !== 'function' ||\n typeof elm.namespaceURI !== 'string' ||\n typeof elm.insertBefore !== 'function' ||\n typeof elm.hasChildNodes !== 'function')\n );\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function (object) {\n return typeof Node === 'object'\n ? object instanceof Node\n : object &&\n typeof object === 'object' &&\n typeof object.nodeType === 'number' &&\n typeof object.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function (entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], (hook) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n const _sanitizeElements = function (currentNode) {\n let content;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check if tagname contains Unicode */\n if (regExpTest(/[\\u0080-\\uFFFF]/, currentNode.nodeName)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS,\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (\n currentNode.hasChildNodes() &&\n !_isNode(currentNode.firstElementChild) &&\n (!_isNode(currentNode.content) ||\n !_isNode(currentNode.content.firstElementChild)) &&\n regExpTest(/<[/\\w]/g, currentNode.innerHTML) &&\n regExpTest(/<[/\\w]/g, currentNode.textContent)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Mitigate a problem with templates inside select */\n if (\n tagName === 'select' &&\n regExpTest(/= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if (\n (tagName === 'noscript' ||\n tagName === 'noembed' ||\n tagName === 'noframes') &&\n regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR, ' ');\n content = stringReplace(content, ERB_EXPR, ' ');\n content = stringReplace(content, TMPLIT_EXPR, ' ');\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function (lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (\n SANITIZE_DOM &&\n (lcName === 'id' || lcName === 'name') &&\n (value in document ||\n value in formElement ||\n value === '__depth' ||\n value === '__removalCount')\n ) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (\n ALLOW_DATA_ATTR &&\n !FORBID_ATTR[lcName] &&\n regExpTest(DATA_ATTR, lcName)\n ) {\n // This attribute is safe\n } else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) {\n // This attribute is safe\n /* Otherwise, check the name is permitted */\n } else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n (_basicCustomElementTest(lcTag) &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag))) &&\n ((CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName)) ||\n (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)))) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n (lcName === 'is' &&\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))))\n ) {\n // If user has supplied a regexp or function in CUSTOM_ELEMENT_HANDLING.tagNameCheck, we need to also allow derived custom elements using the same tagName test.\n // Additionally, we need to allow attributes passing the CUSTOM_ELEMENT_HANDLING.attributeNameCheck user has configured, as custom elements can define these at their own discretion.\n } else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n // This attribute is safe\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n } else if (\n regExpTest(IS_ALLOWED_URI, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n } else if (\n (lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') &&\n lcTag !== 'script' &&\n stringIndexOf(value, 'data:') === 0 &&\n DATA_URI_TAGS[lcTag]\n ) {\n // This attribute is safe\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n } else if (\n ALLOW_UNKNOWN_PROTOCOLS &&\n !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Check for binary attributes */\n } else if (value) {\n return false;\n } else {\n // Binary attributes are safe at this point\n /* Anything else, presume unsafe, do not add it back */\n }\n\n return true;\n };\n\n /**\n * _basicCustomElementCheck\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n * @param {string} tagName name of the tag of the node to sanitize\n */\n const _basicCustomElementTest = function (tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n const _sanitizeAttributes = function (currentNode) {\n let attr;\n let value;\n let lcName;\n let l;\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n const { attributes } = currentNode;\n\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes) {\n return;\n }\n\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n };\n l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n attr = attributes[l];\n const { name, namespaceURI } = attr;\n value = name === 'value' ? attr.value : stringTrim(attr.value);\n lcName = transformCaseFunc(name);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR, ' ');\n value = stringReplace(value, ERB_EXPR, ' ');\n value = stringReplace(value, TMPLIT_EXPR, ' ');\n }\n\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n\n /* Handle attributes that require Trusted Types */\n if (\n trustedTypesPolicy &&\n typeof trustedTypes === 'object' &&\n typeof trustedTypes.getAttributeType === 'function'\n ) {\n if (namespaceURI) {\n /* Namespaces are not yet supported, see https://bugs.chromium.org/p/chromium/issues/detail?id=1305293 */\n } else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML': {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n\n case 'TrustedScriptURL': {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n\n default: {\n break;\n }\n }\n }\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function (fragment) {\n let shadowNode;\n const shadowIterator = _createIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while ((shadowNode = shadowIterator.nextNode())) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n const parentNode = getParentNode(shadowNode);\n\n /* Set the nesting depth of an element */\n if (shadowNode.nodeType === 1) {\n if (parentNode && parentNode.__depth) {\n /*\n We want the depth of the node in the original tree, which can\n change when it's removed from its parent.\n */\n shadowNode.__depth =\n (shadowNode.__removalCount || 0) + parentNode.__depth + 1;\n } else {\n shadowNode.__depth = 1;\n }\n }\n\n /*\n * Remove an element if nested too deeply to avoid mXSS\n * or if the __depth might have been tampered with\n */\n if (\n shadowNode.__depth >= MAX_NESTING_DEPTH ||\n numberIsNaN(shadowNode.__depth)\n ) {\n _forceRemove(shadowNode);\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n shadowNode.content.__depth = shadowNode.__depth;\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg = {}) {\n let body;\n let importedNode;\n let currentNode;\n let oldNode;\n let returnNode;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n\n /* Check we can run. Otherwise fall back or ignore */\n if (!DOMPurify.isSupported) {\n if (\n typeof window.toStaticHTML === 'object' ||\n typeof window.toStaticHTML === 'function'\n ) {\n if (typeof dirty === 'string') {\n return window.toStaticHTML(dirty);\n }\n\n if (_isNode(dirty)) {\n return window.toStaticHTML(dirty.outerHTML);\n }\n }\n\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate(\n 'root node is forbidden and cannot be sanitized in-place'\n );\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (\n !RETURN_DOM &&\n !SAFE_FOR_TEMPLATES &&\n !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1\n ) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n const nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while ((currentNode = nodeIterator.nextNode())) {\n /* Fix IE's strange behavior with manipulated textNodes #89 */\n if (currentNode.nodeType === 3 && currentNode === oldNode) {\n continue;\n }\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n const parentNode = getParentNode(currentNode);\n\n /* Set the nesting depth of an element */\n if (currentNode.nodeType === 1) {\n if (parentNode && parentNode.__depth) {\n /*\n We want the depth of the node in the original tree, which can\n change when it's removed from its parent.\n */\n currentNode.__depth =\n (currentNode.__removalCount || 0) + parentNode.__depth + 1;\n } else {\n currentNode.__depth = 1;\n }\n }\n\n /*\n * Remove an element if nested too deeply to avoid mXSS\n * or if the __depth might have been tampered with\n */\n if (\n currentNode.__depth >= MAX_NESTING_DEPTH ||\n numberIsNaN(currentNode.__depth)\n ) {\n _forceRemove(currentNode);\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n currentNode.content.__depth = currentNode.__depth;\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n\n oldNode = currentNode;\n }\n\n oldNode = null;\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmod) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Serialize doctype if allowed */\n if (\n WHOLE_DOCUMENT &&\n ALLOWED_TAGS['!doctype'] &&\n body.ownerDocument &&\n body.ownerDocument.doctype &&\n body.ownerDocument.doctype.name &&\n regExpTest(EXPRESSIONS.DOCTYPE_NAME, body.ownerDocument.doctype.name)\n ) {\n serializedHTML =\n '\\n' + serializedHTML;\n }\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');\n serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(serializedHTML)\n : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nexport default createDOMPurify();\n", "(function(t){const e=t[\"en\"]=t[\"en\"]||{};e.dictionary=Object.assign(e.dictionary||{},{\"(may require Fn )\":\"(may require Fn )\",\"%0 of %1\":\"%0 of %1\",Accept:\"Accept\",Accessibility:\"Accessibility\",\"Accessibility help\":\"Accessibility help\",\"Align cell text to the bottom\":\"Align cell text to the bottom\",\"Align cell text to the center\":\"Align cell text to the center\",\"Align cell text to the left\":\"Align cell text to the left\",\"Align cell text to the middle\":\"Align cell text to the middle\",\"Align cell text to the right\":\"Align cell text to the right\",\"Align cell text to the top\":\"Align cell text to the top\",\"Align table to the left\":\"Align table to the left\",\"Align table to the right\":\"Align table to the right\",Alignment:\"Alignment\",Aquamarine:\"Aquamarine\",Background:\"Background\",\"Below, you can find a list of keyboard shortcuts that can be used in the editor.\":\"Below, you can find a list of keyboard shortcuts that can be used in the editor.\",Black:\"Black\",\"Block quote\":\"Block quote\",Blue:\"Blue\",Bold:\"Bold\",\"Bold text\":\"Bold text\",Border:\"Border\",\"Break text\":\"Break text\",\"Bulleted List\":\"Bulleted List\",\"Bulleted list styles toolbar\":\"Bulleted list styles toolbar\",Cancel:\"Cancel\",\"Cannot access default workspace.\":\"Cannot access default workspace.\",\"Cannot determine a category for the uploaded file.\":\"Cannot determine a category for the uploaded file.\",\"Cannot upload file:\":\"Cannot upload file:\",\"Caption for image: %0\":\"Caption for image: %0\",\"Caption for the image\":\"Caption for the image\",\"Cell properties\":\"Cell properties\",\"Center table\":\"Center table\",\"Centered image\":\"Centered image\",\"Change image text alternative\":\"Change image text alternative\",\"Choose heading\":\"Choose heading\",Circle:\"Circle\",Clear:\"Clear\",\"Click to edit block\":\"Click to edit block\",Close:\"Close\",\"Close contextual balloons, dropdowns, and dialogs\":\"Close contextual balloons, dropdowns, and dialogs\",Code:\"Code\",\"Code block\":\"Code block\",Color:\"Color\",\"Color picker\":\"Color picker\",Column:\"Column\",\"Content editing keystrokes\":\"Content editing keystrokes\",\"Copy selected content\":\"Copy selected content\",\"Create link\":\"Create link\",Dashed:\"Dashed\",Decimal:\"Decimal\",\"Decimal with leading zero\":\"Decimal with leading zero\",\"Decrease indent\":\"Decrease indent\",\"Decrease list item indent\":\"Decrease list item indent\",\"Delete column\":\"Delete column\",\"Delete row\":\"Delete row\",\"Dim grey\":\"Dim grey\",Dimensions:\"Dimensions\",Disc:\"Disc\",Dotted:\"Dotted\",Double:\"Double\",Downloadable:\"Downloadable\",\"Drag to move\":\"Drag to move\",\"Dropdown toolbar\":\"Dropdown toolbar\",\"Edit block\":\"Edit block\",\"Edit image\":\"Edit image\",\"Edit link\":\"Edit link\",\"Edit source\":\"Edit source\",\"Editor block content toolbar\":\"Editor block content toolbar\",\"Editor contextual toolbar\":\"Editor contextual toolbar\",\"Editor dialog\":\"Editor dialog\",\"Editor editing area: %0\":\"Editor editing area: %0\",\"Editor menu bar\":\"Editor menu bar\",\"Editor toolbar\":\"Editor toolbar\",\"Empty snippet content\":\"Empty snippet content\",\"Enter image caption\":\"Enter image caption\",\"Enter table caption\":\"Enter table caption\",\"Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.\":\"Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.\",\"Failed to determine category of edited image.\":\"Failed to determine category of edited image.\",\"Full size image\":\"Full size image\",Green:\"Green\",Grey:\"Grey\",Groove:\"Groove\",\"Header column\":\"Header column\",\"Header row\":\"Header row\",Heading:\"Heading\",\"Heading 1\":\"Heading 1\",\"Heading 2\":\"Heading 2\",\"Heading 3\":\"Heading 3\",\"Heading 4\":\"Heading 4\",\"Heading 5\":\"Heading 5\",\"Heading 6\":\"Heading 6\",Height:\"Height\",\"Help Contents. To close this dialog press ESC.\":\"Help Contents. To close this dialog press ESC.\",HEX:\"HEX\",\"Horizontal text alignment toolbar\":\"Horizontal text alignment toolbar\",\"HTML object\":\"HTML object\",\"HTML snippet\":\"HTML snippet\",\"Image from computer\":\"Image from computer\",\"Image resize list\":\"Image resize list\",\"Image toolbar\":\"Image toolbar\",\"image widget\":\"image widget\",\"In line\":\"In line\",\"Increase indent\":\"Increase indent\",\"Increase list item indent\":\"Increase list item indent\",Insert:\"Insert\",\"Insert a hard break (a new paragraph)\":\"Insert a hard break (a new paragraph)\",\"Insert a new paragraph directly after a widget\":\"Insert a new paragraph directly after a widget\",\"Insert a new paragraph directly before a widget\":\"Insert a new paragraph directly before a widget\",\"Insert a new table row (when in the last cell of a table)\":\"Insert a new table row (when in the last cell of a table)\",\"Insert a soft break (a <br>
element)\":\"Insert a soft break (a <br>
element)\",\"Insert code block\":\"Insert code block\",\"Insert column left\":\"Insert column left\",\"Insert column right\":\"Insert column right\",\"Insert HTML\":\"Insert HTML\",\"Insert image\":\"Insert image\",\"Insert image via URL\":\"Insert image via URL\",\"Insert image with file manager\":\"Insert image with file manager\",\"Insert media\":\"Insert media\",\"Insert paragraph after block\":\"Insert paragraph after block\",\"Insert paragraph before block\":\"Insert paragraph before block\",\"Insert row above\":\"Insert row above\",\"Insert row below\":\"Insert row below\",\"Insert table\":\"Insert table\",\"Insert with file manager\":\"Insert with file manager\",Inset:\"Inset\",\"Invalid start index value.\":\"Invalid start index value.\",Italic:\"Italic\",\"Italic text\":\"Italic text\",\"Justify cell text\":\"Justify cell text\",\"Keystrokes that can be used in a list\":\"Keystrokes that can be used in a list\",\"Keystrokes that can be used in a table cell\":\"Keystrokes that can be used in a table cell\",\"Keystrokes that can be used when a widget is selected (for example: image, table, etc.)\":\"Keystrokes that can be used when a widget is selected (for example: image, table, etc.)\",\"Left aligned image\":\"Left aligned image\",\"Light blue\":\"Light blue\",\"Light green\":\"Light green\",\"Light grey\":\"Light grey\",Link:\"Link\",\"Link image\":\"Link image\",\"Link URL\":\"Link URL\",\"List properties\":\"List properties\",\"Lower-latin\":\"Lower-latin\",\"Lower\u2013roman\":\"Lower\u2013roman\",\"Media toolbar\":\"Media toolbar\",\"Media URL\":\"Media URL\",\"media widget\":\"media widget\",MENU_BAR_MENU_EDIT:\"Edit\",MENU_BAR_MENU_FILE:\"File\",MENU_BAR_MENU_FONT:\"Font\",MENU_BAR_MENU_FORMAT:\"Format\",MENU_BAR_MENU_HELP:\"Help\",MENU_BAR_MENU_INSERT:\"Insert\",MENU_BAR_MENU_TEXT:\"Text\",MENU_BAR_MENU_TOOLS:\"Tools\",MENU_BAR_MENU_VIEW:\"View\",\"Merge cell down\":\"Merge cell down\",\"Merge cell left\":\"Merge cell left\",\"Merge cell right\":\"Merge cell right\",\"Merge cell up\":\"Merge cell up\",\"Merge cells\":\"Merge cells\",\"Move focus between form fields (inputs, buttons, etc.)\":\"Move focus between form fields (inputs, buttons, etc.)\",\"Move focus in and out of an active dialog window\":\"Move focus in and out of an active dialog window\",\"Move focus to the menu bar, navigate between menu bars\":\"Move focus to the menu bar, navigate between menu bars\",\"Move focus to the toolbar, navigate between toolbars\":\"Move focus to the toolbar, navigate between toolbars\",\"Move out of a link\":\"Move out of a link\",\"Move out of an inline code style\":\"Move out of an inline code style\",\"Move the caret to allow typing directly after a widget\":\"Move the caret to allow typing directly after a widget\",\"Move the caret to allow typing directly before a widget\":\"Move the caret to allow typing directly before a widget\",\"Move the selection to the next cell\":\"Move the selection to the next cell\",\"Move the selection to the previous cell\":\"Move the selection to the previous cell\",\"Navigate through the table\":\"Navigate through the table\",\"Navigate through the toolbar or menu bar\":\"Navigate through the toolbar or menu bar\",Next:\"Next\",\"No preview available\":\"No preview available\",\"No results found\":\"No results found\",\"No searchable items\":\"No searchable items\",None:\"None\",\"Numbered List\":\"Numbered List\",\"Numbered list styles toolbar\":\"Numbered list styles toolbar\",\"Open file manager\":\"Open file manager\",\"Open in a new tab\":\"Open in a new tab\",\"Open link in new tab\":\"Open link in new tab\",\"Open media in new tab\":\"Open media in new tab\",\"Open the accessibility help dialog\":\"Open the accessibility help dialog\",Orange:\"Orange\",Original:\"Original\",Outset:\"Outset\",Padding:\"Padding\",Paragraph:\"Paragraph\",\"Paste content\":\"Paste content\",\"Paste content as plain text\":\"Paste content as plain text\",\"Paste raw HTML here...\":\"Paste raw HTML here...\",\"Paste the media URL in the input.\":\"Paste the media URL in the input.\",\"Plain text\":\"Plain text\",\"Press %0 for help.\":\"Press %0 for help.\",\"Press Enter to type after or press Shift + Enter to type before the widget\":\"Press Enter to type after or press Shift + Enter to type before the widget\",Previous:\"Previous\",\"Processing the edited image.\":\"Processing the edited image.\",Purple:\"Purple\",Red:\"Red\",Redo:\"Redo\",\"Remove color\":\"Remove color\",\"Replace from computer\":\"Replace from computer\",\"Replace image\":\"Replace image\",\"Replace image from computer\":\"Replace image from computer\",\"Replace image with file manager\":\"Replace image with file manager\",\"Replace with file manager\":\"Replace with file manager\",\"Resize image\":\"Resize image\",\"Resize image to %0\":\"Resize image to %0\",\"Resize image to the original size\":\"Resize image to the original size\",\"Restore default\":\"Restore default\",\"Reversed order\":\"Reversed order\",\"Revert autoformatting action\":\"Revert autoformatting action\",\"Rich Text Editor\":\"Rich Text Editor\",Ridge:\"Ridge\",\"Right aligned image\":\"Right aligned image\",Row:\"Row\",Save:\"Save\",\"Save changes\":\"Save changes\",\"Select all\":\"Select all\",\"Select column\":\"Select column\",\"Select row\":\"Select row\",\"Server failed to process the image.\":\"Server failed to process the image.\",\"Show more items\":\"Show more items\",\"Side image\":\"Side image\",Solid:\"Solid\",\"Split cell horizontally\":\"Split cell horizontally\",\"Split cell vertically\":\"Split cell vertically\",Square:\"Square\",\"Start at\":\"Start at\",\"Start index must be greater than 0.\":\"Start index must be greater than 0.\",Strikethrough:\"Strikethrough\",\"Strikethrough text\":\"Strikethrough text\",Style:\"Style\",Subscript:\"Subscript\",Superscript:\"Superscript\",Table:\"Table\",\"Table alignment toolbar\":\"Table alignment toolbar\",\"Table cell text alignment\":\"Table cell text alignment\",\"Table properties\":\"Table properties\",\"Table toolbar\":\"Table toolbar\",\"Text alternative\":\"Text alternative\",'The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".':'The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".',\"The URL must not be empty.\":\"The URL must not be empty.\",'The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".':'The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".',\"These keyboard shortcuts allow for quick access to content editing features.\":\"These keyboard shortcuts allow for quick access to content editing features.\",\"This link has no URL\":\"This link has no URL\",\"This media URL is not supported.\":\"This media URL is not supported.\",\"Tip: Paste the URL into the content to embed faster.\":\"Tip: Paste the URL into the content to embed faster.\",\"To-do List\":\"To-do List\",\"Toggle caption off\":\"Toggle caption off\",\"Toggle caption on\":\"Toggle caption on\",\"Toggle the circle list style\":\"Toggle the circle list style\",\"Toggle the decimal list style\":\"Toggle the decimal list style\",\"Toggle the decimal with leading zero list style\":\"Toggle the decimal with leading zero list style\",\"Toggle the disc list style\":\"Toggle the disc list style\",\"Toggle the lower\u2013latin list style\":\"Toggle the lower\u2013latin list style\",\"Toggle the lower\u2013roman list style\":\"Toggle the lower\u2013roman list style\",\"Toggle the square list style\":\"Toggle the square list style\",\"Toggle the upper\u2013latin list style\":\"Toggle the upper\u2013latin list style\",\"Toggle the upper\u2013roman list style\":\"Toggle the upper\u2013roman list style\",Turquoise:\"Turquoise\",\"Type or paste your content here.\":\"Type or paste your content here.\",\"Type your title\":\"Type your title\",Underline:\"Underline\",\"Underline text\":\"Underline text\",Undo:\"Undo\",Unlink:\"Unlink\",Update:\"Update\",\"Update image URL\":\"Update image URL\",\"Upload failed\":\"Upload failed\",\"Upload from computer\":\"Upload from computer\",\"Upload image from computer\":\"Upload image from computer\",\"Upload in progress\":\"Upload in progress\",\"Upper-latin\":\"Upper-latin\",\"Upper-roman\":\"Upper-roman\",\"Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.\":\"Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.\",\"User interface and content navigation keystrokes\":\"User interface and content navigation keystrokes\",\"Vertical text alignment toolbar\":\"Vertical text alignment toolbar\",White:\"White\",\"Widget toolbar\":\"Widget toolbar\",Width:\"Width\",\"Wrap text\":\"Wrap text\",Yellow:\"Yellow\"})})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));\n/*!\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md.\n */(function t(e,n){if(typeof exports===\"object\"&&typeof module===\"object\")module.exports=n();else if(typeof define===\"function\"&&define.amd)define([],n);else if(typeof exports===\"object\")exports[\"ClassicEditor\"]=n();else e[\"ClassicEditor\"]=n()})(self,(()=>(()=>{var t={5659:(t,e,n)=>{const o=n(8156);const i={};for(const t of Object.keys(o)){i[o[t]]=t}const r={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};t.exports=r;for(const t of Object.keys(r)){if(!(\"channels\"in r[t])){throw new Error(\"missing channels property: \"+t)}if(!(\"labels\"in r[t])){throw new Error(\"missing channel labels property: \"+t)}if(r[t].labels.length!==r[t].channels){throw new Error(\"channel and label counts mismatch: \"+t)}const{channels:e,labels:n}=r[t];delete r[t].channels;delete r[t].labels;Object.defineProperty(r[t],\"channels\",{value:e});Object.defineProperty(r[t],\"labels\",{value:n})}r.rgb.hsl=function(t){const e=t[0]/255;const n=t[1]/255;const o=t[2]/255;const i=Math.min(e,n,o);const r=Math.max(e,n,o);const s=r-i;let a;let c;if(r===i){a=0}else if(e===r){a=(n-o)/s}else if(n===r){a=2+(o-e)/s}else if(o===r){a=4+(e-n)/s}a=Math.min(a*60,360);if(a<0){a+=360}const l=(i+r)/2;if(r===i){c=0}else if(l<=.5){c=s/(r+i)}else{c=s/(2-r-i)}return[a,c*100,l*100]};r.rgb.hsv=function(t){let e;let n;let o;let i;let r;const s=t[0]/255;const a=t[1]/255;const c=t[2]/255;const l=Math.max(s,a,c);const d=l-Math.min(s,a,c);const u=function(t){return(l-t)/6/d+1/2};if(d===0){i=0;r=0}else{r=d/l;e=u(s);n=u(a);o=u(c);if(s===l){i=o-n}else if(a===l){i=1/3+e-o}else if(c===l){i=2/3+n-e}if(i<0){i+=1}else if(i>1){i-=1}}return[i*360,r*100,l*100]};r.rgb.hwb=function(t){const e=t[0];const n=t[1];let o=t[2];const i=r.rgb.hsl(t)[0];const s=1/255*Math.min(e,Math.min(n,o));o=1-1/255*Math.max(e,Math.max(n,o));return[i,s*100,o*100]};r.rgb.cmyk=function(t){const e=t[0]/255;const n=t[1]/255;const o=t[2]/255;const i=Math.min(1-e,1-n,1-o);const r=(1-e-i)/(1-i)||0;const s=(1-n-i)/(1-i)||0;const a=(1-o-i)/(1-i)||0;return[r*100,s*100,a*100,i*100]};function s(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}r.rgb.keyword=function(t){const e=i[t];if(e){return e}let n=Infinity;let r;for(const e of Object.keys(o)){const i=o[e];const a=s(t,i);if(a.04045?((e+.055)/1.055)**2.4:e/12.92;n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;const i=e*.4124+n*.3576+o*.1805;const r=e*.2126+n*.7152+o*.0722;const s=e*.0193+n*.1192+o*.9505;return[i*100,r*100,s*100]};r.rgb.lab=function(t){const e=r.rgb.xyz(t);let n=e[0];let o=e[1];let i=e[2];n/=95.047;o/=100;i/=108.883;n=n>.008856?n**(1/3):7.787*n+16/116;o=o>.008856?o**(1/3):7.787*o+16/116;i=i>.008856?i**(1/3):7.787*i+16/116;const s=116*o-16;const a=500*(n-o);const c=200*(o-i);return[s,a,c]};r.hsl.rgb=function(t){const e=t[0]/360;const n=t[1]/100;const o=t[2]/100;let i;let r;let s;if(n===0){s=o*255;return[s,s,s]}if(o<.5){i=o*(1+n)}else{i=o+n-o*n}const a=2*o-i;const c=[0,0,0];for(let t=0;t<3;t++){r=e+1/3*-(t-1);if(r<0){r++}if(r>1){r--}if(6*r<1){s=a+(i-a)*6*r}else if(2*r<1){s=i}else if(3*r<2){s=a+(i-a)*(2/3-r)*6}else{s=a}c[t]=s*255}return c};r.hsl.hsv=function(t){const e=t[0];let n=t[1]/100;let o=t[2]/100;let i=n;const r=Math.max(o,.01);o*=2;n*=o<=1?o:2-o;i*=r<=1?r:2-r;const s=(o+n)/2;const a=o===0?2*i/(r+i):2*n/(o+n);return[e,a*100,s*100]};r.hsv.rgb=function(t){const e=t[0]/60;const n=t[1]/100;let o=t[2]/100;const i=Math.floor(e)%6;const r=e-Math.floor(e);const s=255*o*(1-n);const a=255*o*(1-n*r);const c=255*o*(1-n*(1-r));o*=255;switch(i){case 0:return[o,c,s];case 1:return[a,o,s];case 2:return[s,o,c];case 3:return[s,a,o];case 4:return[c,s,o];case 5:return[o,s,a]}};r.hsv.hsl=function(t){const e=t[0];const n=t[1]/100;const o=t[2]/100;const i=Math.max(o,.01);let r;let s;s=(2-n)*o;const a=(2-n)*i;r=n*i;r/=a<=1?a:2-a;r=r||0;s/=2;return[e,r*100,s*100]};r.hwb.rgb=function(t){const e=t[0]/360;let n=t[1]/100;let o=t[2]/100;const i=n+o;let r;if(i>1){n/=i;o/=i}const s=Math.floor(6*e);const a=1-o;r=6*e-s;if((s&1)!==0){r=1-r}const c=n+r*(a-n);let l;let d;let u;switch(s){default:case 6:case 0:l=a;d=c;u=n;break;case 1:l=c;d=a;u=n;break;case 2:l=n;d=a;u=c;break;case 3:l=n;d=c;u=a;break;case 4:l=c;d=n;u=a;break;case 5:l=a;d=n;u=c;break}return[l*255,d*255,u*255]};r.cmyk.rgb=function(t){const e=t[0]/100;const n=t[1]/100;const o=t[2]/100;const i=t[3]/100;const r=1-Math.min(1,e*(1-i)+i);const s=1-Math.min(1,n*(1-i)+i);const a=1-Math.min(1,o*(1-i)+i);return[r*255,s*255,a*255]};r.xyz.rgb=function(t){const e=t[0]/100;const n=t[1]/100;const o=t[2]/100;let i;let r;let s;i=e*3.2406+n*-1.5372+o*-.4986;r=e*-.9689+n*1.8758+o*.0415;s=e*.0557+n*-.204+o*1.057;i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92;r=r>.0031308?1.055*r**(1/2.4)-.055:r*12.92;s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92;i=Math.min(Math.max(0,i),1);r=Math.min(Math.max(0,r),1);s=Math.min(Math.max(0,s),1);return[i*255,r*255,s*255]};r.xyz.lab=function(t){let e=t[0];let n=t[1];let o=t[2];e/=95.047;n/=100;o/=108.883;e=e>.008856?e**(1/3):7.787*e+16/116;n=n>.008856?n**(1/3):7.787*n+16/116;o=o>.008856?o**(1/3):7.787*o+16/116;const i=116*n-16;const r=500*(e-n);const s=200*(n-o);return[i,r,s]};r.lab.xyz=function(t){const e=t[0];const n=t[1];const o=t[2];let i;let r;let s;r=(e+16)/116;i=n/500+r;s=r-o/200;const a=r**3;const c=i**3;const l=s**3;r=a>.008856?a:(r-16/116)/7.787;i=c>.008856?c:(i-16/116)/7.787;s=l>.008856?l:(s-16/116)/7.787;i*=95.047;r*=100;s*=108.883;return[i,r,s]};r.lab.lch=function(t){const e=t[0];const n=t[1];const o=t[2];let i;const r=Math.atan2(o,n);i=r*360/2/Math.PI;if(i<0){i+=360}const s=Math.sqrt(n*n+o*o);return[e,s,i]};r.lch.lab=function(t){const e=t[0];const n=t[1];const o=t[2];const i=o/360*2*Math.PI;const r=n*Math.cos(i);const s=n*Math.sin(i);return[e,r,s]};r.rgb.ansi16=function(t,e=null){const[n,o,i]=t;let s=e===null?r.rgb.hsv(t)[2]:e;s=Math.round(s/50);if(s===0){return 30}let a=30+(Math.round(i/255)<<2|Math.round(o/255)<<1|Math.round(n/255));if(s===2){a+=60}return a};r.hsv.ansi16=function(t){return r.rgb.ansi16(r.hsv.rgb(t),t[2])};r.rgb.ansi256=function(t){const e=t[0];const n=t[1];const o=t[2];if(e===n&&n===o){if(e<8){return 16}if(e>248){return 231}return Math.round((e-8)/247*24)+232}const i=16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(o/255*5);return i};r.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7){if(t>50){e+=3.5}e=e/10.5*255;return[e,e,e]}const n=(~~(t>50)+1)*.5;const o=(e&1)*n*255;const i=(e>>1&1)*n*255;const r=(e>>2&1)*n*255;return[o,i,r]};r.ansi256.rgb=function(t){if(t>=232){const e=(t-232)*10+8;return[e,e,e]}t-=16;let e;const n=Math.floor(t/36)/5*255;const o=Math.floor((e=t%36)/6)/5*255;const i=e%6/5*255;return[n,o,i]};r.rgb.hex=function(t){const e=((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255);const n=e.toString(16).toUpperCase();return\"000000\".substring(n.length)+n};r.hex.rgb=function(t){const e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e){return[0,0,0]}let n=e[0];if(e[0].length===3){n=n.split(\"\").map((t=>t+t)).join(\"\")}const o=parseInt(n,16);const i=o>>16&255;const r=o>>8&255;const s=o&255;return[i,r,s]};r.rgb.hcg=function(t){const e=t[0]/255;const n=t[1]/255;const o=t[2]/255;const i=Math.max(Math.max(e,n),o);const r=Math.min(Math.min(e,n),o);const s=i-r;let a;let c;if(s<1){a=r/(1-s)}else{a=0}if(s<=0){c=0}else if(i===e){c=(n-o)/s%6}else if(i===n){c=2+(o-e)/s}else{c=4+(e-n)/s}c/=6;c%=1;return[c*360,s*100,a*100]};r.hsl.hcg=function(t){const e=t[1]/100;const n=t[2]/100;const o=n<.5?2*e*n:2*e*(1-n);let i=0;if(o<1){i=(n-.5*o)/(1-o)}return[t[0],o*100,i*100]};r.hsv.hcg=function(t){const e=t[1]/100;const n=t[2]/100;const o=e*n;let i=0;if(o<1){i=(n-o)/(1-o)}return[t[0],o*100,i*100]};r.hcg.rgb=function(t){const e=t[0]/360;const n=t[1]/100;const o=t[2]/100;if(n===0){return[o*255,o*255,o*255]}const i=[0,0,0];const r=e%1*6;const s=r%1;const a=1-s;let c=0;switch(Math.floor(r)){case 0:i[0]=1;i[1]=s;i[2]=0;break;case 1:i[0]=a;i[1]=1;i[2]=0;break;case 2:i[0]=0;i[1]=1;i[2]=s;break;case 3:i[0]=0;i[1]=a;i[2]=1;break;case 4:i[0]=s;i[1]=0;i[2]=1;break;default:i[0]=1;i[1]=0;i[2]=a}c=(1-n)*o;return[(n*i[0]+c)*255,(n*i[1]+c)*255,(n*i[2]+c)*255]};r.hcg.hsv=function(t){const e=t[1]/100;const n=t[2]/100;const o=e+n*(1-e);let i=0;if(o>0){i=e/o}return[t[0],i*100,o*100]};r.hcg.hsl=function(t){const e=t[1]/100;const n=t[2]/100;const o=n*(1-e)+.5*e;let i=0;if(o>0&&o<.5){i=e/(2*o)}else if(o>=.5&&o<1){i=e/(2*(1-o))}return[t[0],i*100,o*100]};r.hcg.hwb=function(t){const e=t[1]/100;const n=t[2]/100;const o=e+n*(1-e);return[t[0],(o-e)*100,(1-o)*100]};r.hwb.hcg=function(t){const e=t[1]/100;const n=t[2]/100;const o=1-n;const i=o-e;let r=0;if(i<1){r=(o-i)/(1-i)}return[t[0],i*100,r*100]};r.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};r.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};r.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};r.gray.hsl=function(t){return[0,0,t[0]]};r.gray.hsv=r.gray.hsl;r.gray.hwb=function(t){return[0,100,t[0]]};r.gray.cmyk=function(t){return[0,0,0,t[0]]};r.gray.lab=function(t){return[t[0],0,0]};r.gray.hex=function(t){const e=Math.round(t[0]/100*255)&255;const n=(e<<16)+(e<<8)+e;const o=n.toString(16).toUpperCase();return\"000000\".substring(o.length)+o};r.rgb.gray=function(t){const e=(t[0]+t[1]+t[2])/3;return[e/255*100]}},734:(t,e,n)=>{const o=n(5659);const i=n(8507);const r={};const s=Object.keys(o);function a(t){const e=function(...e){const n=e[0];if(n===undefined||n===null){return n}if(n.length>1){e=n}return t(e)};if(\"conversion\"in t){e.conversion=t.conversion}return e}function c(t){const e=function(...e){const n=e[0];if(n===undefined||n===null){return n}if(n.length>1){e=n}const o=t(e);if(typeof o===\"object\"){for(let t=o.length,e=0;e{r[t]={};Object.defineProperty(r[t],\"channels\",{value:o[t].channels});Object.defineProperty(r[t],\"labels\",{value:o[t].labels});const e=i(t);const n=Object.keys(e);n.forEach((n=>{const o=e[n];r[t][n]=c(o);r[t][n].raw=a(o)}))}));t.exports=r},8507:(t,e,n)=>{const o=n(5659);function i(){const t={};const e=Object.keys(o);for(let n=e.length,o=0;o{\"use strict\";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},2165:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-content code{background-color:hsla(0,0%,78%,.3);border-radius:2px;padding:.15em}.ck.ck-editor__editable .ck-code_selected{background-color:hsla(0,0%,78%,.5)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-basic-styles/theme/code.css\"],names:[],mappings:\"AAKA,iBACC,kCAAuC,CAEvC,iBAAkB,CADlB,aAED,CAEA,0CACC,kCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content code {\\n\\tbackground-color: hsla(0, 0%, 78%, 0.3);\\n\\tpadding: .15em;\\n\\tborder-radius: 2px;\\n}\\n\\n.ck.ck-editor__editable .ck-code_selected {\\n\\tbackground-color: hsla(0, 0%, 78%, 0.5);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},9394:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-content blockquote{border-left:5px solid #ccc;font-style:italic;margin-left:0;margin-right:0;overflow:hidden;padding-left:1.5em;padding-right:1.5em}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-block-quote/theme/blockquote.css\"],names:[],mappings:\"AAKA,uBAWC,0BAAsC,CADtC,iBAAkB,CAFlB,aAAc,CACd,cAAe,CAPf,eAAgB,CAIhB,kBAAmB,CADnB,mBAOD,CAEA,gCACC,aAAc,CACd,2BACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content blockquote {\\n\\t/* See #12 */\\n\\toverflow: hidden;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */\\n\\tpadding-right: 1.5em;\\n\\tpadding-left: 1.5em;\\n\\n\\tmargin-left: 0;\\n\\tmargin-right: 0;\\n\\tfont-style: italic;\\n\\tborder-left: solid 5px hsl(0, 0%, 80%);\\n}\\n\\n.ck-content[dir=\"rtl\"] blockquote {\\n\\tborder-left: 0;\\n\\tborder-right: solid 5px hsl(0, 0%, 80%);\\n}\\n'],sourceRoot:\"\"}]);const c=a},2364:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,':root{--ck-image-processing-highlight-color:#f9fafa;--ck-image-processing-background-color:#e3e5e8}.ck.ck-editor__editable .image.image-processing{position:relative}.ck.ck-editor__editable .image.image-processing:before{animation:ck-image-processing-animation 2s linear infinite;background:linear-gradient(90deg,var(--ck-image-processing-background-color),var(--ck-image-processing-highlight-color),var(--ck-image-processing-background-color));background-size:200% 100%;content:\"\";height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.ck.ck-editor__editable .image.image-processing img{height:100%}@keyframes ck-image-processing-animation{0%{background-position:200% 0}to{background-position:-200% 0}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ckbox/theme/ckboximageedit.css\"],names:[],mappings:\"AAKA,MAEC,6CAAyD,CACzD,8CACD,CAIE,gDACC,iBA2BD,CAzBC,uDAmBC,0DAA2D,CAR3D,oKAKC,CACD,yBAA0B,CAhB1B,UAAW,CAOX,WAAY,CAHZ,MAAO,CAFP,iBAAkB,CAClB,KAAM,CAKN,UAAW,CAHX,SAcD,CAEA,oDACC,WACD,CAKH,yCACC,GACC,0BACD,CACA,GACC,2BACD,CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/* Based on default CKBox theme colors */\\n\\t--ck-image-processing-highlight-color: hsl(220, 10%, 98%);\\n\\t--ck-image-processing-background-color: hsl(220, 10%, 90%);\\n}\\n\\n.ck.ck-editor__editable {\\n\\t& .image {\\n\\t\\t&.image-processing {\\n\\t\\t\\tposition: relative;\\n\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tcontent: '';\\n\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t\\tz-index: 1;\\n\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\tbackground: linear-gradient(\\n\\t\\t\\t\\t\\t90deg,\\n\\t\\t\\t\\t\\tvar(--ck-image-processing-background-color),\\n\\t\\t\\t\\t\\tvar(--ck-image-processing-highlight-color),\\n\\t\\t\\t\\t\\tvar(--ck-image-processing-background-color)\\n\\t\\t\\t\\t);\\n\\t\\t\\t\\tbackground-size: 200% 100%;\\n\\n\\t\\t\\t\\tanimation: ck-image-processing-animation 2s linear infinite;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& img {\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n@keyframes ck-image-processing-animation {\\n\\t0% {\\n\\t\\tbackground-position: 200% 0;\\n\\t}\\n\\t100% {\\n\\t\\tbackground-position: -200% 0;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},8643:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;pointer-events:none;position:relative}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}.ck.ck-clipboard-drop-target-line{pointer-events:none;position:absolute}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) transparent transparent transparent;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:\"\";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}.ck.ck-clipboard-drop-target-line{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);height:0;margin-top:-1px}.ck.ck-clipboard-drop-target-line:before{border-style:solid;content:\"\";height:0;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-width)*-.5);width:0}[dir=ltr] .ck.ck-clipboard-drop-target-line:before{border-color:transparent transparent transparent var(--ck-clipboard-drop-target-color);border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height);left:-1px}[dir=rtl] .ck.ck-clipboard-drop-target-line:before{border-color:transparent var(--ck-clipboard-drop-target-color) transparent transparent;border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0;right:-1px}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-clipboard/theme/clipboard.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css\"],names:[],mappings:\"AASC,8DACC,cAAe,CAEf,mBAAoB,CADpB,iBAOD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CAIF,kCAEC,mBAAoB,CADpB,iBAED,CC9BA,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEAIC,gDAAiD,CADjD,sDAAuD,CAFvD,2DAA8D,CAI9D,gBAAiB,CAHjB,wDAqBD,CAfC,yEAWC,sFAAuF,CAEvF,kBAAmB,CADnB,qKAA0K,CAX1K,UAAW,CAIX,aAAc,CAFd,QAAS,CAIT,QAAS,CADT,iBAAkB,CAElB,wDAA2D,CAE3D,0BAA2B,CAR3B,OAYD,CAOF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD,CAGD,kCAGC,gDAAiD,CADjD,sDAAuD,CADvD,QAAS,CAGT,eAwBD,CAtBC,yCAMC,kBAAmB,CALnB,UAAW,CAIX,QAAS,CAHT,iBAAkB,CAClB,uDAA0D,CAC1D,OAiBD,CArBA,mDAYE,sFAAuF,CADvF,+JAAoK,CAFpK,SAYF,CArBA,mDAmBE,sFAAuF,CADvF,+JAAmK,CAFnK,UAKF\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor__editable {\\n\\t/*\\n\\t * Vertical drop target (in text).\\n\\t */\\n\\t& .ck.ck-clipboard-drop-target-position {\\n\\t\\tdisplay: inline;\\n\\t\\tposition: relative;\\n\\t\\tpointer-events: none;\\n\\n\\t\\t& span {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget being dragged (its preview).\\n\\t */\\n\\t& .ck-widget:-webkit-drag {\\n\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t& > .ck-widget__type-around {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-clipboard-drop-target-line {\\n\\tposition: absolute;\\n\\tpointer-events: none;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n:root {\\n\\t--ck-clipboard-drop-target-dot-width: 12px;\\n\\t--ck-clipboard-drop-target-dot-height: 8px;\\n\\t--ck-clipboard-drop-target-color: var(--ck-color-focus-border);\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/*\\n\\t * Vertical drop target (in text).\\n\\t */\\n\\t& .ck.ck-clipboard-drop-target-position {\\n\\t\\t& span {\\n\\t\\t\\tbottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\\n\\t\\t\\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\\n\\t\\t\\tborder: 1px solid var(--ck-clipboard-drop-target-color);\\n\\t\\t\\tbackground: var(--ck-clipboard-drop-target-color);\\n\\t\\t\\tmargin-left: -1px;\\n\\n\\t\\t\\t/* The triangle above the marker */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tcontent: '';\\n\\t\\t\\t\\twidth: 0;\\n\\t\\t\\t\\theight: 0;\\n\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\\n\\n\\t\\t\\t\\ttransform: translateX(-50%);\\n\\t\\t\\t\\tborder-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;\\n\\t\\t\\t\\tborder-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));\\n\\t\\t\\t\\tborder-style: solid;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget that it a drop target.\\n\\t */\\n\\t& .ck-widget.ck-clipboard-drop-target-range {\\n\\t\\toutline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget being dragged (its preview).\\n\\t */\\n\\t& .ck-widget:-webkit-drag {\\n\\t\\tzoom: 0.6;\\n\\t\\toutline: none !important;\\n\\t}\\n}\\n\\n.ck.ck-clipboard-drop-target-line {\\n\\theight: 0;\\n\\tborder: 1px solid var(--ck-clipboard-drop-target-color);\\n\\tbackground: var(--ck-clipboard-drop-target-color);\\n\\tmargin-top: -1px;\\n\\n\\t&::before {\\n\\t\\tcontent: '';\\n\\t\\tposition: absolute;\\n\\t\\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-width));\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tborder-style: solid;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tleft: -1px;\\n\\n\\t\\t\\tborder-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height);\\n\\t\\t\\tborder-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tright: -1px;\\n\\n\\t\\t\\tborder-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0;\\n\\t\\t\\tborder-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},2440:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-content pre{background:hsla(0,0%,78%,.3);border:1px solid #c4c4c4;border-radius:2px;color:#353535;direction:ltr;font-style:normal;min-width:200px;padding:1em;tab-size:4;text-align:left;white-space:pre-wrap}.ck-content pre code{background:unset;border-radius:0;padding:0}.ck.ck-editor__editable pre{position:relative}.ck.ck-editor__editable pre[data-language]:after{content:attr(data-language);position:absolute}:root{--ck-color-code-block-label-background:#757575}.ck.ck-editor__editable pre[data-language]:after{background:var(--ck-color-code-block-label-background);color:#fff;font-family:var(--ck-font-face);font-size:10px;line-height:16px;padding:var(--ck-spacing-tiny) var(--ck-spacing-medium);right:10px;top:-1px;white-space:nowrap}.ck.ck-code-block-dropdown .ck-dropdown__panel{max-height:250px;overflow-x:hidden;overflow-y:auto}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-code-block/theme/codeblock.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-code-block/codeblock.css\"],names:[],mappings:\"AAKA,gBAGC,4BAAiC,CACjC,wBAAiC,CACjC,iBAAkB,CAHlB,aAAwB,CAOxB,aAAc,CAMd,iBAAkB,CAGlB,eAAgB,CAjBhB,WAAY,CAUZ,UAAW,CAHX,eAAgB,CAIhB,oBAaD,CALC,qBACC,gBAAiB,CAEjB,eAAgB,CADhB,SAED,CAGD,4BACC,iBAMD,CAJC,iDACC,2BAA4B,CAC5B,iBACD,CCjCD,MACC,8CACD,CAEA,iDAGC,sDAAuD,CAMvD,UAAuB,CAHvB,+BAAgC,CADhC,cAAe,CAEf,gBAAiB,CACjB,uDAAwD,CANxD,UAAW,CADX,QAAS,CAST,kBACD,CAEA,+CAEC,gBAAiB,CAEjB,iBAAkB,CADlB,eAED\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content pre {\\n\\tpadding: 1em;\\n\\tcolor: hsl(0, 0%, 20.8%);\\n\\tbackground: hsla(0, 0%, 78%, 0.3);\\n\\tborder: 1px solid hsl(0, 0%, 77%);\\n\\tborder-radius: 2px;\\n\\n\\t/* Code block are language direction\u2013agnostic. */\\n\\ttext-align: left;\\n\\tdirection: ltr;\\n\\n\\ttab-size: 4;\\n\\twhite-space: pre-wrap;\\n\\n\\t/* Don't inherit the style, e.g. when in a block quote. */\\n\\tfont-style: normal;\\n\\n\\t/* Don't let the code be squashed e.g. when in a table cell. */\\n\\tmin-width: 200px;\\n\\n\\t& code {\\n\\t\\tbackground: unset;\\n\\t\\tpadding: 0;\\n\\t\\tborder-radius: 0;\\n\\t}\\n}\\n\\n.ck.ck-editor__editable pre {\\n\\tposition: relative;\\n\\n\\t&[data-language]::after {\\n\\t\\tcontent: attr(data-language);\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-code-block-label-background: hsl(0, 0%, 46%);\\n}\\n\\n.ck.ck-editor__editable pre[data-language]::after {\\n\\ttop: -1px;\\n\\tright: 10px;\\n\\tbackground: var(--ck-color-code-block-label-background);\\n\\n\\tfont-size: 10px;\\n\\tfont-family: var(--ck-font-face);\\n\\tline-height: 16px;\\n\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-medium);\\n\\tcolor: hsl(0, 0%, 100%);\\n\\twhite-space: nowrap;\\n}\\n\\n.ck.ck-code-block-dropdown .ck-dropdown__panel {\\n\\t/* There could be dozens of languages available. Use scroll to prevent a 10e6px dropdown. */\\n\\tmax-height: 250px;\\n\\toverflow-y: auto;\\n\\toverflow-x: hidden;\\n}\\n\"],sourceRoot:\"\"}]);const c=a},3394:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-panel)}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content.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-sticky-panel__content{border:solid var(--ck-color-base-border);border-width:1px 1px 0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content.ck-sticky-panel__content_sticky{border-bottom-width:1px}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content .ck-menu-bar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content .ck-toolbar{border: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)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-editor-classic/theme/classiceditor.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-editor-classic/classiceditor.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,cAIC,iBAMD,CAJC,2DAEC,yBACD,CCLC,8DCED,eDeC,CAjBA,mKCMA,qCAAsC,CDJpC,2BAA4B,CAC5B,4BAcF,CAjBA,8DAOC,wCAAsB,CAAtB,sBAUD,CARC,8FACC,uBACD,CAEA,qJAEC,QACD,CAMH,yCAEC,0CAA2C,CCtB3C,eDgCD,CAZA,yHChBE,qCAAsC,CDqBtC,wBAAyB,CACzB,yBAMF,CAHC,0DACC,wCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor {\\n\\t/* All the elements within `.ck-editor` are positioned relatively to it.\\n\\t If any element needs to be positioned with respect to the , etc.,\\n\\t it must land outside of the `.ck-editor` in DOM. */\\n\\tposition: relative;\\n\\n\\t& .ck-editor__top .ck-sticky-panel .ck-toolbar {\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */\\n\\t\\tz-index: var(--ck-z-panel);\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../mixins/_rounded.css\";\\n\\n.ck.ck-editor__top {\\n\\t& .ck-sticky-panel {\\n\\t\\t& .ck-sticky-panel__content {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\tborder: 1px solid var(--ck-color-base-border);\\n\\t\\t\\tborder-bottom-width: 0;\\n\\n\\t\\t\\t&.ck-sticky-panel__content_sticky {\\n\\t\\t\\t\\tborder-bottom-width: 1px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-menu-bar,\\n\\t\\t\\t& .ck-toolbar {\\n\\t\\t\\t\\tborder: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Note: Use ck-editor__main to make sure these styles don\\'t apply to other editor types */\\n.ck.ck-editor__main > .ck-editor__editable {\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */\\n\\tbackground: var(--ck-color-base-background);\\n\\n\\t@mixin ck-rounded-corners {\\n\\t\\tborder-top-left-radius: 0;\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&:not(.ck-focused) {\\n\\t\\tborder-color: var(--ck-color-base-border);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},1920:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck .ck-placeholder,.ck.ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text);cursor:text}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/placeholder.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css\"],names:[],mappings:\"AAMA,uCAEC,iBAWD,CATC,qDAIC,8BAA+B,CAF/B,MAAO,CAKP,mBAAoB,CANpB,iBAAkB,CAElB,OAKD,CAKA,wCACC,YACD,CAQD,iCACC,iBACD,CC5BC,qDAEC,6CAA8C,CAD9C,WAED\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* See ckeditor/ckeditor5#936. */\\n.ck.ck-placeholder,\\n.ck .ck-placeholder {\\n\\tposition: relative;\\n\\n\\t&::before {\\n\\t\\tposition: absolute;\\n\\t\\tleft: 0;\\n\\t\\tright: 0;\\n\\t\\tcontent: attr(data-placeholder);\\n\\n\\t\\t/* See ckeditor/ckeditor5#469. */\\n\\t\\tpointer-events: none;\\n\\t}\\n}\\n\\n/* See ckeditor/ckeditor5#1987. */\\n.ck.ck-read-only .ck-placeholder {\\n\\t&::before {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n/*\\n * Rules for the `ck-placeholder` are loaded before the rules for `ck-reset_all` in the base CKEditor 5 DLL build.\\n * This fix overwrites the incorrectly set `position: static` from `ck-reset_all`.\\n * See https://github.com/ckeditor/ckeditor5/issues/11418.\\n */\\n.ck.ck-reset_all .ck-placeholder {\\n\\tposition: relative;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* See ckeditor/ckeditor5#936. */\\n.ck.ck-placeholder, .ck .ck-placeholder {\\n\\t&::before {\\n\\t\\tcursor: text;\\n\\t\\tcolor: var(--ck-color-engine-placeholder-text);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},7526:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/renderer.css\"],names:[],mappings:\"AAMA,qDACC,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* Elements marked by the Renderer as hidden should be invisible in the editor. */\\n.ck.ck-editor__editable span[data-ck-unsafe-element] {\\n\\tdisplay: none;\\n}\\n\"],sourceRoot:\"\"}]);const c=a},2863:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-heading/theme/heading.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css\"],names:[],mappings:\"AAKA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-heading_heading1 {\\n\\tfont-size: 20px;\\n}\\n\\n.ck.ck-heading_heading2 {\\n\\tfont-size: 17px;\\n}\\n\\n.ck.ck-heading_heading3 {\\n\\tfont-size: 14px;\\n}\\n\\n.ck[class*=\"ck-heading_heading\"] {\\n\\tfont-weight: bold;\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* Resize dropdown's button label. */\\n.ck.ck-dropdown.ck-heading-dropdown {\\n\\t& .ck-dropdown__button .ck-button__label {\\n\\t\\twidth: 8em;\\n\\t}\\n\\n\\t& .ck-dropdown__panel .ck-list__item {\\n\\t\\tmin-width: 18em;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},8912:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-widget.raw-html-embed{display:flow-root;font-style:normal;margin:.9em auto;min-width:15em;position:relative}.ck-widget.raw-html-embed:before{position:absolute;z-index:1}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper{display:flex;flex-direction:column;position:absolute}.ck-widget.raw-html-embed .raw-html-embed__preview{display:flex;overflow:hidden;position:relative}.ck-widget.raw-html-embed .raw-html-embed__preview-content{border-collapse:separate;border-spacing:7px;display:table;margin:auto;position:relative;width:100%}.ck-widget.raw-html-embed .raw-html-embed__preview-placeholder{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}:root{--ck-html-embed-content-width:calc(100% - var(--ck-icon-size)*1.5);--ck-html-embed-source-height:10em;--ck-html-embed-unfocused-outline-width:1px;--ck-html-embed-content-min-height:calc(var(--ck-icon-size) + var(--ck-spacing-standard));--ck-html-embed-source-disabled-background:var(--ck-color-base-foreground);--ck-html-embed-source-disabled-color:#737373}.ck-widget.raw-html-embed{background-color:var(--ck-color-base-foreground);font-size:var(--ck-font-size-base)}.ck-widget.raw-html-embed:not(.ck-widget_selected):not(:hover){outline:var(--ck-html-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border)}.ck-widget.raw-html-embed[dir=ltr]{text-align:left}.ck-widget.raw-html-embed[dir=rtl]{text-align:right}.ck-widget.raw-html-embed:before{background:#999;border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius);color:var(--ck-color-base-background);content:attr(data-html-embed-label);font-family:var(--ck-font-face);font-size:var(--ck-font-size-tiny);left:var(--ck-spacing-standard);padding:calc(var(--ck-spacing-tiny) + var(--ck-html-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);top:calc(var(--ck-html-embed-unfocused-outline-width)*-1);transition:background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck-widget.raw-html-embed[dir=rtl]:before{left:auto;right:var(--ck-spacing-standard)}.ck-widget.raw-html-embed[dir=ltr] .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before{margin-left:50px}.ck.ck-editor__editable.ck-blurred .ck-widget.raw-html-embed.ck-widget_selected:before{padding:var(--ck-spacing-tiny) var(--ck-spacing-small);top:0}.ck.ck-editor__editable:not(.ck-blurred) .ck-widget.raw-html-embed.ck-widget_selected:before{background:var(--ck-color-focus-border);padding:var(--ck-spacing-tiny) var(--ck-spacing-small);top:0}.ck.ck-editor__editable .ck-widget.raw-html-embed:not(.ck-widget_selected):hover:before{padding:var(--ck-spacing-tiny) var(--ck-spacing-small);top:0}.ck-widget.raw-html-embed .raw-html-embed__content-wrapper{padding:var(--ck-spacing-standard)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper{right:var(--ck-spacing-standard);top:var(--ck-spacing-standard)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button.raw-html-embed__save-button{color:var(--ck-color-button-save)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button.raw-html-embed__cancel-button{color:var(--ck-color-button-cancel)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button:not(:first-child){margin-top:var(--ck-spacing-small)}.ck-widget.raw-html-embed[dir=rtl] .raw-html-embed__buttons-wrapper{left:var(--ck-spacing-standard);right:auto}.ck-widget.raw-html-embed .raw-html-embed__source{box-sizing:border-box;direction:ltr;font-family:monospace;font-size:var(--ck-font-size-base);height:var(--ck-html-embed-source-height);min-width:0;padding:var(--ck-spacing-standard);resize:none;tab-size:4;text-align:left;white-space:pre-wrap;width:var(--ck-html-embed-content-width)}.ck-widget.raw-html-embed .raw-html-embed__source[disabled]{-webkit-text-fill-color:var(--ck-html-embed-source-disabled-color);background:var(--ck-html-embed-source-disabled-background);color:var(--ck-html-embed-source-disabled-color);opacity:1}.ck-widget.raw-html-embed .raw-html-embed__preview{min-height:var(--ck-html-embed-content-min-height);width:var(--ck-html-embed-content-width)}.ck-editor__editable:not(.ck-read-only) .ck-widget.raw-html-embed .raw-html-embed__preview{pointer-events:none}.ck-widget.raw-html-embed .raw-html-embed__preview-content{background-color:var(--ck-color-base-foreground);box-sizing:border-box}.ck-widget.raw-html-embed .raw-html-embed__preview-content>*{margin-left:auto;margin-right:auto}.ck-widget.raw-html-embed .raw-html-embed__preview-placeholder{color:var(--ck-html-embed-source-disabled-color)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-html-embed/theme/htmlembed.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-html-embed/htmlembed.css\"],names:[],mappings:\"AAMA,0BAMC,iBAAkB,CAOlB,iBAAkB,CATlB,gBAAkB,CAMlB,cAAe,CALf,iBAwDD,CA5CC,iCACC,iBAAkB,CAGlB,SACD,CAKA,2DAEC,YAAa,CACb,qBAAsB,CAFtB,iBAGD,CAEA,mDAGC,YAAa,CADb,eAAgB,CADhB,iBAGD,CAEA,2DAOC,wBAAyB,CACzB,kBAAmB,CAFnB,aAAc,CAHd,WAAY,CADZ,iBAAkB,CADlB,UAQD,CAEA,+DAQC,kBAAmB,CAHnB,QAAS,CAET,YAAa,CAEb,sBAAuB,CAPvB,MAAO,CADP,iBAAkB,CAGlB,OAAQ,CADR,KAOD,CC7DD,MACC,kEAAqE,CACrE,kCAAmC,CACnC,2CAA4C,CAC5C,yFAA0F,CAE1F,0EAA2E,CAC3E,6CACD,CAGA,0BAEC,gDAAiD,CADjD,kCA0ID,CAvIC,+DACC,iGACD,CAGA,mCACC,eACD,CAEA,mCACC,gBACD,CAIA,iCAIC,eAA4B,CAG5B,iEAAkE,CAClE,qCAAsC,CAPtC,mCAAoC,CASpC,+BAAgC,CADhC,kCAAmC,CANnC,+BAAgC,CAGhC,kIAAmI,CAJnI,yDAA4D,CAG5D,0GAMD,CAEA,0CACC,SAAU,CACV,gCACD,CAGA,iIACC,gBACD,CAxCD,uFA4CE,sDAAuD,CADvD,KAgGF,CA3IA,6FAkDE,uCAAwC,CADxC,sDAAuD,CADvD,KA2FF,CA3IA,wFAuDE,sDAAuD,CADvD,KAqFF,CA/EC,2DACC,kCACD,CAGA,2DAEC,gCAAiC,CADjC,8BAcD,CAXC,kGACC,iCACD,CAEA,oGACC,mCACD,CAEA,wFACC,kCACD,CAGD,oEACC,+BAAgC,CAChC,UACD,CAGA,kDACC,qBAAsB,CActB,aAAc,CAPd,qBAAsB,CAGtB,kCAAmC,CATnC,yCAA0C,CAG1C,WAAY,CACZ,kCAAmC,CAFnC,WAAY,CAKZ,UAAW,CAKX,eAAgB,CAJhB,oBAAqB,CAPrB,wCAsBD,CARC,4DAKC,kEAAmE,CAJnE,0DAA2D,CAC3D,gDAAiD,CAIjD,SACD,CAID,mDACC,kDAAmD,CACnD,wCAMD,CARA,2FAME,mBAEF,CAEA,2DAEC,gDAAiD,CADjD,qBAOD,CAJC,6DACC,gBAAiB,CACjB,iBACD,CAGD,+DACC,gDACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* The feature container. */\\n.ck-widget.raw-html-embed {\\n\\t/* Give the embed some air. */\\n\\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\\n\\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\\n\\tmargin: 0.9em auto;\\n\\tposition: relative;\\n\\tdisplay: flow-root;\\n\\n\\t/* Give the html embed some minimal width in the content to prevent them\\n\\tfrom being \"squashed\" in tight spaces, e.g. in table cells (https://github.com/ckeditor/ckeditor5/issues/8331) */\\n\\tmin-width: 15em;\\n\\n\\t/* Don\\'t inherit the style, e.g. when in a block quote. */\\n\\tfont-style: normal;\\n\\n\\t/* ----- Emebed label in the upper left corner ----------------------------------------------- */\\n\\n\\t&::before {\\n\\t\\tposition: absolute;\\n\\n\\t\\t/* Make sure the content does not cover the label. */\\n\\t\\tz-index: 1;\\n\\t}\\n\\n\\t/* ----- Emebed internals --------------------------------------------------------------------- */\\n\\n\\t/* The switch mode button wrapper. */\\n\\t& .raw-html-embed__buttons-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t& .raw-html-embed__preview {\\n\\t\\tposition: relative;\\n\\t\\toverflow: hidden;\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t& .raw-html-embed__preview-content {\\n\\t\\twidth: 100%;\\n\\t\\tposition: relative;\\n\\t\\tmargin: auto;\\n\\n\\t\\t/* Gives spacing to the small renderable elements, so they always cover the placeholder. */\\n\\t\\tdisplay: table;\\n\\t\\tborder-collapse: separate;\\n\\t\\tborder-spacing: 7px;\\n\\t}\\n\\n\\t& .raw-html-embed__preview-placeholder {\\n\\t\\tposition: absolute;\\n\\t\\tleft: 0;\\n\\t\\ttop: 0;\\n\\t\\tright: 0;\\n\\t\\tbottom: 0;\\n\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-html-embed-content-width: calc(100% - 1.5 * var(--ck-icon-size));\\n\\t--ck-html-embed-source-height: 10em;\\n\\t--ck-html-embed-unfocused-outline-width: 1px;\\n\\t--ck-html-embed-content-min-height: calc(var(--ck-icon-size) + var(--ck-spacing-standard));\\n\\n\\t--ck-html-embed-source-disabled-background: var(--ck-color-base-foreground);\\n\\t--ck-html-embed-source-disabled-color: hsl(0deg 0% 45%);\\n}\\n\\n/* The feature container. */\\n.ck-widget.raw-html-embed {\\n\\tfont-size: var(--ck-font-size-base);\\n\\tbackground-color: var(--ck-color-base-foreground);\\n\\n\\t&:not(.ck-widget_selected):not(:hover) {\\n\\t\\toutline: var(--ck-html-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border);\\n\\t}\\n\\n\\t/* HTML embed widget itself should respect UI language direction */\\n\\t&[dir=\"ltr\"] {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\t&[dir=\"rtl\"] {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t/* ----- Embed label in the upper left corner ----------------------------------------------- */\\n\\n\\t&::before {\\n\\t\\tcontent: attr(data-html-embed-label);\\n\\t\\ttop: calc(-1 * var(--ck-html-embed-unfocused-outline-width));\\n\\t\\tleft: var(--ck-spacing-standard);\\n\\t\\tbackground: hsl(0deg 0% 60%);\\n\\t\\ttransition: background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\t\\tpadding: calc(var(--ck-spacing-tiny) + var(--ck-html-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);\\n\\t\\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\\n\\t\\tcolor: var(--ck-color-base-background);\\n\\t\\tfont-size: var(--ck-font-size-tiny);\\n\\t\\tfont-family: var(--ck-font-face);\\n\\t}\\n\\n\\t&[dir=\"rtl\"]::before {\\n\\t\\tleft: auto;\\n\\t\\tright: var(--ck-spacing-standard);\\n\\t}\\n\\n\\t/* Make space for label but it only collides in LTR languages */\\n\\t&[dir=\"ltr\"] .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before {\\n\\t\\tmargin-left: 50px;\\n\\t}\\n\\n\\t@nest .ck.ck-editor__editable.ck-blurred &.ck-widget_selected::before {\\n\\t\\ttop: 0px;\\n\\t\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-small);\\n\\t}\\n\\n\\t@nest .ck.ck-editor__editable:not(.ck-blurred) &.ck-widget_selected::before {\\n\\t\\ttop: 0;\\n\\t\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-small);\\n\\t\\tbackground: var(--ck-color-focus-border);\\n\\t}\\n\\n\\t@nest .ck.ck-editor__editable &:not(.ck-widget_selected):hover::before {\\n\\t\\ttop: 0px;\\n\\t\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* ----- Emebed internals --------------------------------------------------------------------- */\\n\\n\\t& .raw-html-embed__content-wrapper {\\n\\t\\tpadding: var(--ck-spacing-standard);\\n\\t}\\n\\n\\t/* The switch mode button wrapper. */\\n\\t& .raw-html-embed__buttons-wrapper {\\n\\t\\ttop: var(--ck-spacing-standard);\\n\\t\\tright: var(--ck-spacing-standard);\\n\\n\\t\\t& .ck-button.raw-html-embed__save-button {\\n\\t\\t\\tcolor: var(--ck-color-button-save);\\n\\t\\t}\\n\\n\\t\\t& .ck-button.raw-html-embed__cancel-button {\\n\\t\\t\\tcolor: var(--ck-color-button-cancel);\\n\\t\\t}\\n\\n\\t\\t& .ck-button:not(:first-child) {\\n\\t\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\t}\\n\\t}\\n\\n\\t&[dir=\"rtl\"] .raw-html-embed__buttons-wrapper {\\n\\t\\tleft: var(--ck-spacing-standard);\\n\\t\\tright: auto;\\n\\t}\\n\\n\\t/* The edit source element. */\\n\\t& .raw-html-embed__source {\\n\\t\\tbox-sizing: border-box;\\n\\t\\theight: var(--ck-html-embed-source-height);\\n\\t\\twidth: var(--ck-html-embed-content-width);\\n\\t\\tresize: none;\\n\\t\\tmin-width: 0;\\n\\t\\tpadding: var(--ck-spacing-standard);\\n\\n\\t\\tfont-family: monospace;\\n\\t\\ttab-size: 4;\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tfont-size: var(--ck-font-size-base); /* Safari needs this. */\\n\\n\\t\\t/* HTML code is direction\u2013agnostic. */\\n\\t\\ttext-align: left;\\n\\t\\tdirection: ltr;\\n\\n\\t\\t&[disabled] {\\n\\t\\t\\tbackground: var(--ck-html-embed-source-disabled-background);\\n\\t\\t\\tcolor: var(--ck-html-embed-source-disabled-color);\\n\\n\\t\\t\\t/* Safari needs this for the proper text color in disabled input (https://github.com/ckeditor/ckeditor5/issues/8320). */\\n\\t\\t\\t-webkit-text-fill-color: var(--ck-html-embed-source-disabled-color);\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t/* The preview data container. */\\n\\t& .raw-html-embed__preview {\\n\\t\\tmin-height: var(--ck-html-embed-content-min-height);\\n\\t\\twidth: var(--ck-html-embed-content-width);\\n\\n\\t\\t/* Disable all mouse interaction as long as the editor is not read\u2013only. */\\n\\t\\t@nest .ck-editor__editable:not(.ck-read-only) & {\\n\\t\\t\\tpointer-events: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& .raw-html-embed__preview-content {\\n\\t\\tbox-sizing: border-box;\\n\\t\\tbackground-color: var(--ck-color-base-foreground);\\n\\n\\t\\t& > * {\\n\\t\\t\\tmargin-left: auto;\\n\\t\\t\\tmargin-right: auto;\\n\\t\\t}\\n\\t}\\n\\n\\t& .raw-html-embed__preview-placeholder {\\n\\t\\tcolor: var(--ck-html-embed-source-disabled-color)\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},9064:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-html-object-embed-unfocused-outline-width:1px}.ck-widget.html-object-embed{background-color:var(--ck-color-base-foreground);font-size:var(--ck-font-size-base);min-width:calc(76px + var(--ck-spacing-standard));padding:var(--ck-spacing-small);padding-top:calc(var(--ck-font-size-tiny) + var(--ck-spacing-large))}.ck-widget.html-object-embed:not(.ck-widget_selected):not(:hover){outline:var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border)}.ck-widget.html-object-embed:before{background:#999;border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius);color:var(--ck-color-base-background);content:attr(data-html-object-embed-label);font-family:var(--ck-font-face);font-size:var(--ck-font-size-tiny);font-style:normal;font-weight:400;left:var(--ck-spacing-standard);padding:calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);position:absolute;top:0;transition:background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck-widget.html-object-embed .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before{margin-left:50px}.ck-widget.html-object-embed .html-object-embed__content{pointer-events:none}div.ck-widget.html-object-embed{margin:1em auto}span.ck-widget.html-object-embed{display:inline-block}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-html-support/theme/datafilter.css\"],names:[],mappings:\"AAKA,MACC,kDACD,CAEA,6BAEC,gDAAiD,CADjD,kCAAmC,CAKnC,iDAAkD,CAHlD,+BAAgC,CAEhC,oEAgCD,CA7BC,kEACC,wGACD,CAEA,oCAOC,eAA4B,CAG5B,iEAAkE,CAClE,qCAAsC,CAPtC,0CAA2C,CAS3C,+BAAgC,CADhC,kCAAmC,CAVnC,iBAAkB,CADlB,eAAmB,CAKnB,+BAAgC,CAGhC,yIAA0I,CAN1I,iBAAkB,CAElB,KAAM,CAGN,0GAMD,CAGA,2HACC,gBACD,CAEA,yDAEC,mBACD,CAGD,gCACC,eACD,CAEA,iCACC,oBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-html-object-embed-unfocused-outline-width: 1px;\\n}\\n\\n.ck-widget.html-object-embed {\\n\\tfont-size: var(--ck-font-size-base);\\n\\tbackground-color: var(--ck-color-base-foreground);\\n\\tpadding: var(--ck-spacing-small);\\n\\t/* Leave space for label */\\n\\tpadding-top: calc(var(--ck-font-size-tiny) + var(--ck-spacing-large));\\n\\tmin-width: calc(76px + var(--ck-spacing-standard));\\n\\n\\t&:not(.ck-widget_selected):not(:hover) {\\n\\t\\toutline: var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border);\\n\\t}\\n\\n\\t&::before {\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-style: normal;\\n\\t\\tposition: absolute;\\n\\t\\tcontent: attr(data-html-object-embed-label);\\n\\t\\ttop: 0;\\n\\t\\tleft: var(--ck-spacing-standard);\\n\\t\\tbackground: hsl(0deg 0% 60%);\\n\\t\\ttransition: background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\t\\tpadding: calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);\\n\\t\\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\\n\\t\\tcolor: var(--ck-color-base-background);\\n\\t\\tfont-size: var(--ck-font-size-tiny);\\n\\t\\tfont-family: var(--ck-font-face);\\n\\t}\\n\\n\\t/* Make space for label. */\\n\\t& .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before {\\n\\t\\tmargin-left: 50px;\\n\\t}\\n\\n\\t& .html-object-embed__content {\\n\\t\\t/* Disable user interaction with embed content */\\n\\t\\tpointer-events: none;\\n\\t}\\n}\\n\\ndiv.ck-widget.html-object-embed {\\n\\tmargin: 1em auto;\\n}\\n\\nspan.ck-widget.html-object-embed {\\n\\tdisplay: inline-block;\\n}\\n\\n\"],sourceRoot:\"\"}]);const c=a},2051:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;height:auto;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image{z-index:1}.ck.ck-editor__editable .image.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable .image-inline img{height:auto}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/image.css\"],names:[],mappings:\"AAMC,mBAEC,UAAW,CADX,aAAc,CAOd,gBAAkB,CAGlB,cAAe,CARf,iBA2BD,CAjBC,uBAEC,aAAc,CAad,WAAY,CAVZ,aAAc,CAGd,cAAe,CAGf,cAKD,CAGD,0BAYC,sBAAuB,CANvB,mBAAoB,CAGpB,cAoBD,CAdC,kCACC,YACD,CAGA,gEAGC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAKA,+BACC,SASD,CAHC,kDACC,SACD,CAMD,sCACC,SAkBD,CAZC,yDACC,SAUD,CAHC,qEACC,YACD,CAMF,0CACC,WACD,CAMC,0FACC,cACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content {\\n\\t& .image {\\n\\t\\tdisplay: table;\\n\\t\\tclear: both;\\n\\t\\ttext-align: center;\\n\\n\\t\\t/* Make sure there is some space between the content and the image. Center image by default. */\\n\\t\\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\\n\\t \\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\\n\\t\\tmargin: 0.9em auto;\\n\\n\\t\\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\\n\\t\\tmin-width: 50px;\\n\\n\\t\\t& img {\\n\\t\\t\\t/* Prevent unnecessary margins caused by line-height (see #44). */\\n\\t\\t\\tdisplay: block;\\n\\n\\t\\t\\t/* Center the image if its width is smaller than the content\\'s width. */\\n\\t\\t\\tmargin: 0 auto;\\n\\n\\t\\t\\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\\n\\t\\t\\tmax-width: 100%;\\n\\n\\t\\t\\t/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */\\n\\t\\t\\tmin-width: 100%;\\n\\n\\t\\t\\t/* Keep proportions of the block image if the height is set and the image is wider than the editor width.\\n\\t\\t\\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\\n\\t\\t\\theight: auto;\\n\\t\\t}\\n\\t}\\n\\n\\t& .image-inline {\\n\\t\\t/*\\n\\t\\t * Normally, the .image-inline would have \"display: inline-block\" and \"img { width: 100% }\" (to follow the wrapper while resizing).\\n\\t\\t * Unfortunately, together with \"srcset\", it gets automatically stretched up to the width of the editing root.\\n\\t\\t * This strange behavior does not happen with inline-flex.\\n\\t\\t */\\n\\t\\tdisplay: inline-flex;\\n\\n\\t\\t/* While being resized, don\\'t allow the image to exceed the width of the editing root. */\\n\\t\\tmax-width: 100%;\\n\\n\\t\\t/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */\\n\\t\\talign-items: flex-start;\\n\\n\\t\\t/* When the picture is present it must act as a flex container to let the img resize properly */\\n\\t\\t& picture {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\n\\t\\t/* When the picture is present, it must act like a resizable img. */\\n\\t\\t& picture,\\n\\t\\t& img {\\n\\t\\t\\t/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\tflex-shrink: 1;\\n\\n\\t\\t\\t/* Prevents overflowing the editing root boundaries when an inline image is very wide. */\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/*\\n\\t * Inhertit the content styles padding of the in case the integration overrides `text-align: center`\\n\\t * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native\\n\\t * caret does, and not at the edge of .\\n\\t */\\n\\t& .image > figcaption.ck-placeholder::before {\\n\\t\\tpadding-left: inherit;\\n\\t\\tpadding-right: inherit;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the image caption placeholder doesn\\'t overflow the placeholder area.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\\n\\t\\t */\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\t/*\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\\n\\t */\\n\\t& .image {\\n\\t\\tz-index: 1;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the selected image always stays on top of its siblings.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected {\\n\\t\\t\\tz-index: 2;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\\n\\t */\\n\\t& .image-inline {\\n\\t\\tz-index: 1;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the selected inline image always stays on top of its siblings.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected {\\n\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Make sure the native browser selection style is not displayed.\\n\\t\\t\\t * Inline image widgets have their own styles for the selected state and\\n\\t\\t\\t * leaving this up to the browser is asking for a visual collision.\\n\\t\\t\\t */\\n\\t\\t\\t& ::selection {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* Keep proportions of the inline image if the height is set and the image is wider than the editor width.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\\n\\t& .image-inline img {\\n\\t\\theight: auto;\\n\\t}\\n\\n\\t/* The inline image nested in the table should have its original size if not resized.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\\n\\t& td,\\n\\t& th {\\n\\t\\t& .image-inline img {\\n\\t\\t\\tmax-width: none;\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},7369:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highlighted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highlighted-background)}to{background-color:var(--ck-color-image-caption-background)}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css\"],names:[],mappings:\"AAKA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,oDACD,CAGA,8BAKC,yDAA0D,CAH1D,mBAAoB,CAEpB,wCAAyC,CAHzC,qBAAsB,CAMtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,qBAMD,CAGA,qEACC,iDACD,CAEA,sCACC,GACC,qEACD,CAEA,GACC,yDACD,CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-image-caption-background: hsl(0, 0%, 97%);\\n\\t--ck-color-image-caption-text: hsl(0, 0%, 20%);\\n\\t--ck-color-image-caption-highlighted-background: hsl(52deg 100% 50%);\\n}\\n\\n/* Content styles */\\n.ck-content .image > figcaption {\\n\\tdisplay: table-caption;\\n\\tcaption-side: bottom;\\n\\tword-break: break-word;\\n\\tcolor: var(--ck-color-image-caption-text);\\n\\tbackground-color: var(--ck-color-image-caption-background);\\n\\tpadding: .6em;\\n\\tfont-size: .75em;\\n\\toutline-offset: -1px;\\n}\\n\\n/* Editing styles */\\n.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {\\n\\tanimation: ck-image-caption-highlight .6s ease-out;\\n}\\n\\n@keyframes ck-image-caption-highlight {\\n\\t0% {\\n\\t\\tbackground-color: var(--ck-color-image-caption-highlighted-background);\\n\\t}\\n\\n\\t100% {\\n\\t\\tbackground-color: var(--ck-color-image-caption-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},5420:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-image-insert-url .ck-image-insert-url__action-row{display:grid;grid-template-columns:repeat(2,1fr)}:root{--ck-image-insert-insert-by-url-width:250px}.ck.ck-image-insert-url{--ck-input-width:100%}.ck.ck-image-insert-url .ck-image-insert-url__action-row{grid-column-gap:var(--ck-spacing-large);margin-top:var(--ck-spacing-large)}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-cancel,.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-save{justify-content:center;min-width:auto}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}.ck.ck-image-insert-form>.ck.ck-button{display:block;padding:var(--ck-list-button-padding);width:100%}[dir=ltr] .ck.ck-image-insert-form>.ck.ck-button{text-align:left}[dir=rtl] .ck.ck-image-insert-form>.ck.ck-button{text-align:right}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:first-child){border-top:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:last-child){border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible,.ck.ck-image-insert-form>.ck.ck-image-insert-url{min-width:var(--ck-image-insert-insert-by-url-width)}.ck.ck-image-insert-form>.ck.ck-image-insert-url{padding:var(--ck-spacing-large)}.ck.ck-image-insert-form:focus{outline:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageinsert.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageinsert.css\"],names:[],mappings:\"AAMC,yDACC,YAAa,CACb,mCACD,CCFD,MACC,2CACD,CAEA,wBACC,qBAgBD,CAdC,yDACC,uCAAwC,CACxC,kCAWD,CATC,oJAEC,sBAAuB,CACvB,cACD,CAEA,sFACC,0BACD,CAKD,uCACC,aAAc,CAEd,qCAAsC,CADtC,UAUD,CAZA,iDAME,eAMF,CAZA,iDAUE,gBAEF,CAGC,8DACC,gDACD,CAEA,6DACC,mDACD,CAMD,6FAJC,oDAOD,CAHA,iDAEC,+BACD,CAEA,+BACC,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-image-insert-url {\\n\\t& .ck-image-insert-url__action-row {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-template-columns: repeat(2, 1fr);\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n:root {\\n\\t--ck-image-insert-insert-by-url-width: 250px;\\n}\\n\\n.ck.ck-image-insert-url {\\n\\t--ck-input-width: 100%;\\n\\n\\t& .ck-image-insert-url__action-row {\\n\\t\\tgrid-column-gap: var(--ck-spacing-large);\\n\\t\\tmargin-top: var(--ck-spacing-large);\\n\\n\\t\\t& .ck-button-save,\\n\\t\\t& .ck-button-cancel {\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tmin-width: auto;\\n\\t\\t}\\n\\n\\t\\t& .ck-button .ck-button__label {\\n\\t\\t\\tcolor: var(--ck-color-text);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-image-insert-form {\\n\\t& > .ck.ck-button {\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: var(--ck-list-button-padding);\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck.ck-collapsible {\\n\\t\\t&:not(:first-child) {\\n\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t\\t}\\n\\n\\t\\t&:not(:last-child) {\\n\\t\\t\\tborder-bottom: 1px solid var(--ck-color-base-border);\\n\\t\\t}\\n\\n\\t\\tmin-width: var(--ck-image-insert-insert-by-url-width);\\n\\t}\\n\\n\\t/* This is the case when there are no other integrations configured than insert by URL */\\n\\t& > .ck.ck-image-insert-url {\\n\\t\\tmin-width: var(--ck-image-insert-insert-by-url-width);\\n\\t\\tpadding: var(--ck-spacing-large);\\n\\t}\\n\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},8588:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-editor__editable img.image_placeholder{background-size:100% 100%}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageplaceholder.css\"],names:[],mappings:\"AAMC,8CACC,yBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor__editable {\\n\\t& img.image_placeholder {\\n\\t\\tbackground-size: 100% 100%;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},5035:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-content img.image_resized{height:auto}.ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageresize.css\"],names:[],mappings:\"AAMA,8BACC,WACD,CAEA,iCAQC,qBAAsB,CADtB,aAAc,CANd,cAkBD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAQC,sHACC,cACD,CAIF,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* Preserve aspect ratio of the resized image after introducing image height attribute. */\\n.ck-content img.image_resized {\\n\\theight: auto;\\n}\\n\\n.ck-content .image.image_resized {\\n\\tmax-width: 100%;\\n\\t/*\\n\\tThe `` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.\\n\\tSee https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.\\n\\tFortunately, since we control the width, there is no risk that the image will look bad.\\n\\t*/\\n\\tdisplay: block;\\n\\tbox-sizing: border-box;\\n\\n\\t& img {\\n\\t\\t/* For resized images it is the `` element that determines the image width. */\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t& > figcaption {\\n\\t\\t/* The `` element uses `display:block`, so `` also has to. */\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/* The resized inline image nested in the table should respect its parent size.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\\n\\t& td,\\n\\t& th {\\n\\t\\t& .image-inline.image_resized img {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t}\\n\\t}\\n}\\n\\n[dir=\"ltr\"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\\n\\tmargin-right: var(--ck-spacing-standard);\\n}\\n\\n[dir=\"rtl\"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\\n\\tmargin-left: var(--ck-spacing-standard);\\n}\\n\\n.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {\\n\\twidth: 4em;\\n}\\n'],sourceRoot:\"\"}]);const c=a},1644:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image-style-block-align-left,.ck-content .image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image-style-align-left,.ck-content .image-style-align-right{clear:none}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content p+.image-style-align-left,.ck-content p+.image-style-align-right,.ck-content p+.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css\"],names:[],mappings:\"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAMC,qFAEC,oDACD,CAIA,yEAEC,UACD,CAEA,8BACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,sCACC,gBAAiB,CACjB,iBACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAEA,2CAEC,gBAAiB,CADjB,cAED,CAEA,0CACC,aAAc,CACd,iBACD,CAGA,6GAGC,YACD,CAGC,mGAGC,kDAAmD,CADnD,+CAED,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-image-style-spacing: 1.5em;\\n\\t--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\\n}\\n\\n.ck-content {\\n\\t/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback\\n\\tconfirming successful application of the style if image width exceeds the editor's size.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/9342 */\\n\\t& .image-style-block-align-left,\\n\\t& .image-style-block-align-right {\\n\\t\\tmax-width: calc(100% - var(--ck-image-style-spacing));\\n\\t}\\n\\n\\t/* Allows displaying multiple floating images in the same line.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */\\n\\t& .image-style-align-left,\\n\\t& .image-style-align-right {\\n\\t\\tclear: none;\\n\\t}\\n\\n\\t& .image-style-side {\\n\\t\\tfloat: right;\\n\\t\\tmargin-left: var(--ck-image-style-spacing);\\n\\t\\tmax-width: 50%;\\n\\t}\\n\\n\\t& .image-style-align-left {\\n\\t\\tfloat: left;\\n\\t\\tmargin-right: var(--ck-image-style-spacing);\\n\\t}\\n\\n\\t& .image-style-align-center {\\n\\t\\tmargin-left: auto;\\n\\t\\tmargin-right: auto;\\n\\t}\\n\\n\\t& .image-style-align-right {\\n\\t\\tfloat: right;\\n\\t\\tmargin-left: var(--ck-image-style-spacing);\\n\\t}\\n\\n\\t& .image-style-block-align-right {\\n\\t\\tmargin-right: 0;\\n\\t\\tmargin-left: auto;\\n\\t}\\n\\n\\t& .image-style-block-align-left {\\n\\t\\tmargin-left: 0;\\n\\t\\tmargin-right: auto;\\n\\t}\\n\\n\\t/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */\\n\\t& p + .image-style-align-left,\\n\\t& p + .image-style-align-right,\\n\\t& p + .image-style-side {\\n\\t\\tmargin-top: 0;\\n\\t}\\n\\n\\t& .image-inline {\\n\\t\\t&.image-style-align-left,\\n\\t\\t&.image-style-align-right {\\n\\t\\t\\tmargin-top: var(--ck-inline-image-style-spacing);\\n\\t\\t\\tmargin-bottom: var(--ck-inline-image-style-spacing);\\n\\t\\t}\\n\\n\\t\\t&.image-style-align-left {\\n\\t\\t\\tmargin-right: var(--ck-inline-image-style-spacing);\\n\\t\\t}\\n\\n\\t\\t&.image-style-align-right {\\n\\t\\t\\tmargin-left: var(--ck-inline-image-style-spacing);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-splitbutton {\\n\\t/* The button should display as a regular drop-down if the action button\\n\\tis forced to fire the same action as the arrow button. */\\n\\t&.ck-splitbutton_flatten {\\n\\t\\t&:hover,\\n\\t\\t&.ck-splitbutton_open {\\n\\t\\t\\t& > .ck-splitbutton__action:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\\n\\t\\t\\t\\tbackground-color: var(--ck-color-button-on-background);\\n\\n\\t\\t\\t\\t&::after {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-splitbutton_open:hover {\\n\\t\\t\\t& > .ck-splitbutton__action:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\\n\\t\\t\\t\\tbackground-color: var(--ck-color-button-on-hover-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},9967:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.ck-image-upload-complete-icon:after{content:\"\";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css\"],names:[],mappings:\"AAKA,+BAUC,iBAAkB,CATlB,aAAc,CACd,iBAAkB,CAOlB,sCAAwC,CADxC,oCAAsC,CAGtC,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BAWC,sBAA4B,CAN5B,0BAAgC,CADhC,qCAAuC,CADvC,wEAA0E,CAD1E,uDAAwD,CAMxD,oDAAuD,CAWvD,oFAAuF,CAlBvF,SAAU,CAgBV,eAAgB,CAChB,mFA0BD,CAtBC,qCAgBC,mBAAsB,CADtB,sBAAyB,CAEzB,4BAA6B,CAH7B,4CAA6C,CAF7C,sFAAuF,CADvF,oFAAqF,CASrF,qBAAsB,CAdtB,QAAS,CAJT,QAAS,CAGT,SAAU,CADV,OAAQ,CAKR,mCAAoC,CACpC,yBAA0B,CAH1B,OAcD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GAGC,QAAS,CAFT,SAAU,CACV,OAED,CACA,IAEC,QAAS,CADT,UAED,CACA,GAGC,YAAc,CAFd,SAAU,CACV,UAED,CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-image-upload-complete-icon {\\n\\tdisplay: block;\\n\\tposition: absolute;\\n\\n\\t/*\\n\\t * Smaller images should have the icon closer to the border.\\n\\t * Match the icon position with the linked image indicator brought by the link image feature.\\n\\t */\\n\\ttop: min(var(--ck-spacing-medium), 6%);\\n\\tright: min(var(--ck-spacing-medium), 6%);\\n\\tborder-radius: 50%;\\n\\tz-index: 1;\\n\\n\\t&::after {\\n\\t\\tcontent: \"\";\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-image-upload-icon: hsl(0, 0%, 100%);\\n\\t--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);\\n\\n\\t/* Match the icon size with the linked image indicator brought by the link image feature. */\\n\\t--ck-image-upload-icon-size: 20;\\n\\t--ck-image-upload-icon-width: 2px;\\n\\t--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);\\n}\\n\\n.ck-image-upload-complete-icon {\\n\\topacity: 0;\\n\\tbackground: var(--ck-color-image-upload-icon-background);\\n\\tanimation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;\\n\\tanimation-fill-mode: forwards, forwards;\\n\\tanimation-duration: 500ms, 500ms;\\n\\n\\t/* To make animation scalable. */\\n\\tfont-size: calc(1px * var(--ck-image-upload-icon-size));\\n\\n\\t/* Hide completed upload icon after 3 seconds. */\\n\\tanimation-delay: 0ms, 3000ms;\\n\\n\\t/*\\n\\t * Use CSS math to simulate container queries.\\n\\t * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\\n\\t */\\n\\toverflow: hidden;\\n\\twidth: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\\n\\theight: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\\n\\n\\t/* This is check icon element made from border-width mixed with animations. */\\n\\t&::after {\\n\\t\\t/* Because of border transformation we need to \"hard code\" left position. */\\n\\t\\tleft: 25%;\\n\\n\\t\\ttop: 50%;\\n\\t\\topacity: 0;\\n\\t\\theight: 0;\\n\\t\\twidth: 0;\\n\\n\\t\\ttransform: scaleX(-1) rotate(135deg);\\n\\t\\ttransform-origin: left top;\\n\\t\\tborder-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\\n\\t\\tborder-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\\n\\n\\t\\tanimation-name: ck-upload-complete-icon-check;\\n\\t\\tanimation-duration: 500ms;\\n\\t\\tanimation-delay: 500ms;\\n\\t\\tanimation-fill-mode: forwards;\\n\\n\\t\\t/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\\n@keyframes ck-upload-complete-icon-show {\\n\\tfrom {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\tto {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n@keyframes ck-upload-complete-icon-hide {\\n\\tfrom {\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\tto {\\n\\t\\topacity: 0;\\n\\t}\\n}\\n\\n@keyframes ck-upload-complete-icon-check {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t}\\n\\t33% {\\n\\t\\twidth: 0.3em;\\n\\t\\theight: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t\\twidth: 0.3em;\\n\\t\\theight: 0.45em;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},2021:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:\"\";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css\"],names:[],mappings:\"AAKA,kCAGC,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAEvB,MAAO,CALP,iBAAkB,CAIlB,KAOD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCAAyC,CACzC,8CACD,CAEA,iCAGC,QAAS,CADT,UAgBD,CAbC,8CACC,sGACD,CAEA,qCAOC,4DACD,CAGD,kCAEC,WAAY,CADZ,UAWD,CARC,yCAMC,yDAA0D,CAH1D,iBAAkB,CAElB,kCAAmC,CADnC,8DAA+D,CAF/D,+CAAgD,CADhD,8CAMD,CAGD,wCACC,GACC,uBACD,CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-upload-placeholder-loader {\\n\\tposition: absolute;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\n\\t&::before {\\n\\t\\tcontent: '';\\n\\t\\tposition: relative;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);\\n\\t--ck-upload-placeholder-loader-size: 32px;\\n\\t--ck-upload-placeholder-image-aspect-ratio: 2.8;\\n}\\n\\n.ck .ck-image-upload-placeholder {\\n\\t/* We need to control the full width of the SVG gray background. */\\n\\twidth: 100%;\\n\\tmargin: 0;\\n\\n\\t&.image-inline {\\n\\t\\twidth: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) );\\n\\t}\\n\\n\\t& img {\\n\\t\\t/*\\n\\t\\t * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short.\\n\\t\\t * There's nothing special about this number except that it should make the image placeholder look like\\n\\t\\t * a real image during this short period after the upload started and before the image was read from the\\n\\t\\t * file system (and a rich preview was loaded).\\n\\t\\t */\\n\\t\\taspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);\\n\\t}\\n}\\n\\n.ck .ck-upload-placeholder-loader {\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t&::before {\\n\\t\\twidth: var(--ck-upload-placeholder-loader-size);\\n\\t\\theight: var(--ck-upload-placeholder-loader-size);\\n\\t\\tborder-radius: 50%;\\n\\t\\tborder-top: 3px solid var(--ck-color-upload-placeholder-loader);\\n\\t\\tborder-right: 2px solid transparent;\\n\\t\\tanimation: ck-upload-placeholder-loader 1s linear infinite;\\n\\t}\\n}\\n\\n@keyframes ck-upload-placeholder-loader {\\n\\tto {\\n\\t\\ttransform: rotate( 360deg );\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},2209:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css\"],names:[],mappings:\"AAMC,qEAEC,iBACD,CAGA,uGAIC,MAAO,CAFP,iBAAkB,CAClB,KAED,CCRC,yFACC,oBACD,CAID,uGAIC,gDAAiD,CAFjD,UAAW,CAGX,oBAAuB,CAFvB,OAGD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor__editable {\\n\\t& .image,\\n\\t& .image-inline {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t/* Upload progress bar. */\\n\\t& .image .ck-progress-bar,\\n\\t& .image-inline .ck-progress-bar {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor__editable {\\n\\t& .image,\\n\\t& .image-inline {\\n\\t\\t/* Showing animation. */\\n\\t\\t&.ck-appear {\\n\\t\\t\\tanimation: fadeIn 700ms;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Upload progress bar. */\\n\\t& .image .ck-progress-bar,\\n\\t& .image-inline .ck-progress-bar {\\n\\t\\theight: 2px;\\n\\t\\twidth: 0;\\n\\t\\tbackground: var(--ck-color-upload-bar-background);\\n\\t\\ttransition: width 100ms;\\n\\t}\\n}\\n\\n@keyframes fadeIn {\\n\\tfrom { opacity: 0; }\\n\\tto { opacity: 1; }\\n}\\n\"],sourceRoot:\"\"}]);const c=a},8748:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\"],names:[],mappings:\"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck.ck-text-alternative-form {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\n\\t& .ck-labeled-field-view {\\n\\t\\tdisplay: inline-block;\\n\\t}\\n\\n\\t& .ck-label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},7865:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/link.css\"],names:[],mappings:\"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCAEC,gDAAiD,CADjD,WAAY,CAEZ,iBAAkB,CAClB,oCACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* Class added to span element surrounding currently selected link. */\\n.ck .ck-link_selected {\\n\\tbackground: var(--ck-color-link-selected-background);\\n\\n\\t/* Give linked inline images some outline to let the user know they are also part of the link. */\\n\\t& span.image-inline {\\n\\t\\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);\\n\\t}\\n}\\n\\n/*\\n * Classes used by the \"fake visual selection\" displayed in the content when an input\\n * in the link UI has focus (the browser does not render the native selection in this state).\\n */\\n.ck .ck-fake-link-selection {\\n\\tbackground: var(--ck-color-link-fake-selection);\\n}\\n\\n/* A collapsed fake visual selection. */\\n.ck .ck-fake-link-selection_collapsed {\\n\\theight: 100%;\\n\\tborder-right: 1px solid var(--ck-color-base-text);\\n\\tmargin-right: -1px;\\n\\toutline: solid 1px hsla(0, 0%, 100%, .5);\\n}\\n'],sourceRoot:\"\"}]);const c=a},6144:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{max-width:100%;min-width:0}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css\"],names:[],mappings:\"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCIA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EAEC,kCAAmC,CAEnC,cAAe,CAIf,+BAAgC,CAChC,aAAc,CARd,kCAAmC,CASnC,iBAAkB,CAPlB,sBAYD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDtDD,oCC0DC,wDACC,8DAMD,CAJC,0EAEC,cAAe,CADf,WAED,CAGD,gJAME,aAEF,CDzED\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck.ck-link-actions {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\n\\t& .ck-link-actions__preview {\\n\\t\\tdisplay: inline-block;\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-link-actions__preview {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button:not(.ck-link-actions__preview) {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n@import \"../mixins/_focus.css\";\\n@import \"../mixins/_shadow.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck.ck-link-actions {\\n\\t& .ck-button.ck-link-actions__preview {\\n\\t\\tpadding-left: 0;\\n\\t\\tpadding-right: 0;\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tpadding: 0 var(--ck-spacing-medium);\\n\\t\\t\\tcolor: var(--ck-color-link-default);\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\tcursor: pointer;\\n\\n\\t\\t\\t/* Match the box model of the link editor form\\'s input so the balloon\\n\\t\\t\\tdoes not change width when moving between actions and the form. */\\n\\t\\t\\tmax-width: var(--ck-input-width);\\n\\t\\t\\tmin-width: 3em;\\n\\t\\t\\ttext-align: center;\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&,\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\n\\t\\t&:focus {\\n\\t\\t\\t& .ck-button__label {\\n\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t& .ck-button:not(:first-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t& .ck-button:not(:last-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\t& .ck-button.ck-link-actions__preview {\\n\\t\\t\\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\\n\\n\\t\\t\\t& .ck-button__label {\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .ck-button:not(.ck-link-actions__preview) {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},2375:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{min-width:var(--ck-input-width);padding:0}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical>.ck-button{border-radius:0;margin:0;padding:var(--ck-spacing-standard);width:50%}.ck.ck-link-form_layout-vertical>.ck-button:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-link-form_layout-vertical>.ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical>.ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:var(--ck-spacing-standard) var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css\"],names:[],mappings:\"AAOA,iBACC,YAiBD,CAfC,2BACC,YACD,CCNA,oCDCD,iBAQE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CCfD,CDuBD,iCACC,aAYD,CALE,wHAEC,mCACD,CE/BF,iCAEC,+BAAgC,CADhC,SAgDD,CA7CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CAIC,eAAgB,CAFhB,QAAS,CADT,kCAAmC,CAEnC,SAkBD,CAfC,wDACC,gDACD,CARD,4GAeE,aAMF,CAJE,mEACC,kDACD,CAKF,6CACC,yDAUD,CARC,wEACC,SAAU,CACV,UAKD,CAHC,8EACC,eACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck.ck-link-form {\\n\\tdisplay: flex;\\n\\n\\t& .ck-label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Style link form differently when manual decorators are available.\\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\\n */\\n.ck.ck-link-form_layout-vertical {\\n\\tdisplay: block;\\n\\n\\t/*\\n\\t * Whether the form is in the responsive mode or not, if there are decorator buttons\\n\\t * keep the top margin of action buttons medium.\\n\\t */\\n\\t& .ck-button {\\n\\t\\t&.ck-button-save,\\n\\t\\t&.ck-button-cancel {\\n\\t\\t\\tmargin-top: var(--ck-spacing-medium);\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n/*\\n * Style link form differently when manual decorators are available.\\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\\n */\\n.ck.ck-link-form_layout-vertical {\\n\\tpadding: 0;\\n\\tmin-width: var(--ck-input-width);\\n\\n\\t& .ck-labeled-field-view {\\n\\t\\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);\\n\\n\\t\\t& .ck-input-text {\\n\\t\\t\\tmin-width: 0;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-button {\\n\\t\\tpadding: var(--ck-spacing-standard);\\n\\t\\tmargin: 0;\\n\\t\\twidth: 50%;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t&:not(:focus) {\\n\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-left: 0;\\n\\n\\t\\t\\t&:last-of-type {\\n\\t\\t\\t\\tborder-right: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */\\n\\t& .ck.ck-list {\\n\\t\\tmargin: var(--ck-spacing-standard) var(--ck-spacing-large);\\n\\n\\t\\t& .ck-button.ck-switchbutton {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},1634:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,'.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{background-color:rgba(0,0,0,.4);background-image:url(\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+\");background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:100%;content:\"\";height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));overflow:hidden;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkimage.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkimage.css\"],names:[],mappings:\"AASE,+FACC,aAAc,CACd,iBACD,CCPF,MAEC,sCAAuC,CACvC,oEACD,CAME,+FAUC,+BAAqC,CACrC,83BAA+3B,CAG/3B,uBAA2B,CAD3B,2BAA4B,CAD5B,oBAAqB,CAGrB,kBAAmB,CAdnB,UAAW,CAsBX,oGAAuG,CAFvG,eAAgB,CAbhB,sCAAwC,CADxC,oCAAsC,CAetC,mGAED\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor__editable {\\n\\t/* Linked image indicator */\\n\\t& figure.image > a,\\n\\t& a span.image-inline {\\n\\t\\t&::after {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\t}\\n}\\n\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/* Match the icon size with the upload indicator brought by the image upload feature. */\\n\\t--ck-link-image-indicator-icon-size: 20;\\n\\t--ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px);\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/* Linked image indicator */\\n\\t& figure.image > a,\\n\\t& a span.image-inline {\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \"\";\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Smaller images should have the icon closer to the border.\\n\\t\\t\\t * Match the icon position with the upload indicator brought by the image upload feature.\\n\\t\\t\\t */\\n\\t\\t\\ttop: min(var(--ck-spacing-medium), 6%);\\n\\t\\t\\tright: min(var(--ck-spacing-medium), 6%);\\n\\n\\t\\t\\tbackground-color: hsla(0, 0%, 0%, .4);\\n\\t\\t\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+\");\\n\\t\\t\\tbackground-size: 14px;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tborder-radius: 100%;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t* Use CSS math to simulate container queries.\\n\\t\\t\\t* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\\n\\t\\t\\t*/\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twidth: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\\n\\t\\t\\theight: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\\n\\t\\t}\\n\\t}\\n}\\n\\n'],sourceRoot:\"\"}]);const c=a},1374:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-editor__editable .ck-list-bogus-paragraph{display:block}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/documentlist.css\"],names:[],mappings:\"AAKA,8CACC,aACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-editor__editable .ck-list-bogus-paragraph {\\n\\tdisplay: block;\\n}\\n\"],sourceRoot:\"\"}]);const c=a},8921:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-content ol{list-style-type:decimal}.ck-content ol ol{list-style-type:lower-latin}.ck-content ol ol ol{list-style-type:lower-roman}.ck-content ol ol ol ol{list-style-type:upper-latin}.ck-content ol ol ol ol ol{list-style-type:upper-roman}.ck-content ul{list-style-type:disc}.ck-content ul ul{list-style-type:circle}.ck-content ul ul ul,.ck-content ul ul ul ul{list-style-type:square}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/list.css\"],names:[],mappings:\"AAKA,eACC,uBAiBD,CAfC,kBACC,2BAaD,CAXC,qBACC,2BASD,CAPC,wBACC,2BAKD,CAHC,2BACC,2BACD,CAMJ,eACC,oBAaD,CAXC,kBACC,sBASD,CAJE,6CACC,sBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content ol {\\n\\tlist-style-type: decimal;\\n\\n\\t& ol {\\n\\t\\tlist-style-type: lower-latin;\\n\\n\\t\\t& ol {\\n\\t\\t\\tlist-style-type: lower-roman;\\n\\n\\t\\t\\t& ol {\\n\\t\\t\\t\\tlist-style-type: upper-latin;\\n\\n\\t\\t\\t\\t& ol {\\n\\t\\t\\t\\t\\tlist-style-type: upper-roman;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-content ul {\\n\\tlist-style-type: disc;\\n\\n\\t& ul {\\n\\t\\tlist-style-type: circle;\\n\\n\\t\\t& ul {\\n\\t\\t\\tlist-style-type: square;\\n\\n\\t\\t\\t& ul {\\n\\t\\t\\t\\tlist-style-type: square;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},6634:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:transparent;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:transparent;box-shadow:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/listproperties.css\"],names:[],mappings:\"AAOC,yDACC,+BASD,CAPC,2DACC,cAKD,CAHC,6DACC,qCACD,CASD,wFACC,oCACD,CAGA,mFACC,gDAWD,CARE,+GACC,UAKD,CAHC,iHACC,qCACD,CAMJ,8EACC,cAAe,CACf,UACD,CAEA,uEACC,sBAAuB,CAGvB,6CAAgD,CAFhD,cAAe,CACf,eAQD,CALC,2JAGC,eAAgB,CADhB,wBAAyB,CADzB,eAGD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-list-properties {\\n\\t/* When there are no list styles and there is no collapsible. */\\n\\t&.ck-list-properties_without-styles {\\n\\t\\tpadding: var(--ck-spacing-large);\\n\\n\\t\\t& > * {\\n\\t\\t\\tmin-width: 14em;\\n\\n\\t\\t\\t& + * {\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * When the numbered list property fields (start at, reversed) should be displayed,\\n\\t * more horizontal space is needed. Reconfigure the style grid to create that space.\\n\\t */\\n\\t&.ck-list-properties_with-numbered-properties {\\n\\t\\t& > .ck-list-styles-list {\\n\\t\\t\\tgrid-template-columns: repeat( 4, auto );\\n\\t\\t}\\n\\n\\t\\t/* When list styles are rendered and property fields are in a collapsible. */\\n\\t\\t& > .ck-collapsible {\\n\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\n\\t\\t\\t& > .ck-collapsible__children {\\n\\t\\t\\t\\t& > * {\\n\\t\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\t\\t& + * {\\n\\t\\t\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-numbered-list-properties__start-index .ck-input {\\n\\t\\tmin-width: auto;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t& .ck.ck-numbered-list-properties__reversed-order {\\n\\t\\tbackground: transparent;\\n\\t\\tpadding-left: 0;\\n\\t\\tpadding-right: 0;\\n\\t\\tmargin-bottom: calc(-1 * var(--ck-spacing-tiny));\\n\\n\\t\\t&:active, &:hover {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},5471:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-list-styles-list{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:content-box;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css\"],names:[],mappings:\"AAKA,wBACC,YACD,CCFA,MACC,gCACD,CAEA,wBAGC,mCAAoC,CAFpC,oCAAwC,CAGxC,+BAAgC,CAFhC,gCA4BD,CAxBC,mCAiBC,sBAAuB,CAPvB,QAAS,CANT,SAmBD,CAJC,+EAhBA,uCAAwC,CADxC,sCAoBA\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-list-styles-list {\\n\\tdisplay: grid;\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-list-style-button-size: 44px;\\n}\\n\\n.ck.ck-list-styles-list {\\n\\tgrid-template-columns: repeat( 3, auto );\\n\\trow-gap: var(--ck-spacing-medium);\\n\\tcolumn-gap: var(--ck-spacing-medium);\\n\\tpadding: var(--ck-spacing-large);\\n\\n\\t& .ck-button {\\n\\t\\t/* Make the button look like a thumbnail (the icon \"takes it all\"). */\\n\\t\\twidth: var(--ck-list-style-button-size);\\n\\t\\theight: var(--ck-list-style-button-size);\\n\\t\\tpadding: 0;\\n\\n\\t\\t/*\\n\\t\\t * Buttons are aligned by the grid so disable default button margins to not collide with the\\n\\t\\t * gaps in the grid.\\n\\t\\t */\\n\\t\\tmargin: 0;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the button border (which is displayed on focus, BTW) does not steal pixels\\n\\t\\t * from the button dimensions and, as a result, decrease the size of the icon\\n\\t\\t * (which becomes blurry as it scales down).\\n\\t\\t */\\n\\t\\tbox-sizing: content-box;\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\twidth: var(--ck-list-style-button-size);\\n\\t\\t\\theight: var(--ck-list-style-button-size);\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},3161:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px;position:relative}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-content[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-content .todo-list .todo-list__label>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:\"\";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}.ck-content .todo-list .todo-list__label>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:\"\";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}.ck-editor__editable.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{cursor:pointer}.ck-editor__editable.ck-content .todo-list .todo-list__label>input:hover:before,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label>span[contenteditable=false]>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:\"\";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:\"\";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:after{border-color:#fff}.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/todolist.css\"],names:[],mappings:\"AAKA,MACC,kCACD,CAwEA,uBACC,eAwBD,CAtBC,0BAEC,iBAAkB,CADlB,iBAMD,CAHC,qCACC,cACD,CAIA,+CAlFD,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAiFC,CAFA,wDAhEA,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAgEA,CA5DD,sDAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qDAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+DACC,kBAA8B,CAC9B,oBACD,CAEA,8DACC,iBACD,CAwBA,wEACC,qBACD,CAEA,mGACC,iBACD,CAYD,kKAEC,cAKD,CAHC,4LACC,mCACD,CAMD,+FApHA,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAmHA,CAFA,wGAlGC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAkGD,CA9FA,sGAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qGAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+GACC,kBAA8B,CAC9B,oBACD,CAEA,8GACC,iBACD,CA2DA,uHACC,iBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-todo-list-checkmark-size: 16px;\\n}\\n\\n@define-mixin todo-list-checkbox {\\n\\t-webkit-appearance: none;\\n\\tdisplay: inline-block;\\n\\tposition: relative;\\n\\twidth: var(--ck-todo-list-checkmark-size);\\n\\theight: var(--ck-todo-list-checkmark-size);\\n\\tvertical-align: middle;\\n\\n\\t/* Needed on iOS */\\n\\tborder: 0;\\n\\n\\t/* LTR styles */\\n\\tleft: -25px;\\n\\tmargin-right: -15px;\\n\\tright: 0;\\n\\tmargin-left: 0;\\n\\n\\t/* RTL styles */\\n\\t@nest [dir=rtl]& {\\n\\t\\tleft: 0;\\n\\t\\tmargin-right: 0;\\n\\t\\tright: -25px;\\n\\t\\tmargin-left: -15px;\\n\\t}\\n\\n\\t&::before {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tcontent: '';\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tborder: 1px solid hsl(0, 0%, 20%);\\n\\t\\tborder-radius: 2px;\\n\\t\\ttransition: 250ms ease-in-out box-shadow;\\n\\t}\\n\\n\\t&::after {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t\\tbox-sizing: content-box;\\n\\t\\tpointer-events: none;\\n\\t\\tcontent: '';\\n\\n\\t\\t/* Calculate tick position, size and border-width proportional to the checkmark size. */\\n\\t\\tleft: calc( var(--ck-todo-list-checkmark-size) / 3 );\\n\\t\\ttop: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\\n\\t\\twidth: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\\n\\t\\theight: calc( var(--ck-todo-list-checkmark-size) / 2.6 );\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;\\n\\t\\ttransform: rotate(45deg);\\n\\t}\\n\\n\\t&[checked] {\\n\\t\\t&::before {\\n\\t\\t\\tbackground: hsl(126, 64%, 41%);\\n\\t\\t\\tborder-color: hsl(126, 64%, 41%);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: hsl(0, 0%, 100%);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * To-do list content styles.\\n */\\n.ck-content .todo-list {\\n\\tlist-style: none;\\n\\n\\t& li {\\n\\t\\tposition: relative;\\n\\t\\tmargin-bottom: 5px;\\n\\n\\t\\t& .todo-list {\\n\\t\\t\\tmargin-top: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t& .todo-list__label {\\n\\t\\t& > input {\\n\\t\\t\\t@mixin todo-list-checkbox;\\n\\t\\t}\\n\\n\\t\\t& .todo-list__label__description {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\n\\t\\t&.todo-list__label_without-description input[type=checkbox] {\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * To-do list editing view styles.\\n */\\n.ck-editor__editable.ck-content .todo-list .todo-list__label {\\n\\t/*\\n\\t * To-do list should be interactive only during the editing\\n\\t * (https://github.com/ckeditor/ckeditor5/issues/2090).\\n\\t */\\n\\t& > input,\\n\\t& > span[contenteditable=false] > input {\\n\\t\\tcursor: pointer;\\n\\n\\t\\t&:hover::before {\\n\\t\\t\\tbox-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Document Lists - editing view has an additional span around checkbox.\\n\\t */\\n\\t& > span[contenteditable=false] > input {\\n\\t\\t@mixin todo-list-checkbox;\\n\\t}\\n\\n\\t&.todo-list__label_without-description {\\n\\t\\t& input[type=checkbox] {\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},9724:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-content .media{clear:both;display:block;margin:.9em 0;min-width:15em}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembed.css\"],names:[],mappings:\"AAKA,mBAGC,UAAW,CASX,aAAc,CAJd,aAAe,CAQf,cACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content .media {\\n\\t/* Don\\'t allow floated content overlap the media.\\n\\thttps://github.com/ckeditor/ckeditor5-media-embed/issues/53 */\\n\\tclear: both;\\n\\n\\t/* Make sure there is some space between the content and the media. */\\n\\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\\n\\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\\n\\tmargin: 0.9em 0;\\n\\n\\t/* Make sure media is not overriden with Bootstrap default `flex` value.\\n\\tSee: https://github.com/ckeditor/ckeditor5/issues/1373. */\\n\\tdisplay: block;\\n\\n\\t/* Give the media some minimal width in the content to prevent them\\n\\tfrom being \"squashed\" in tight spaces, e.g. in table cells (#44) */\\n\\tmin-width: 15em;\\n}\\n'],sourceRoot:\"\"}]);const c=a},8074:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,'.ck-media__wrapper .ck-media__placeholder{align-items:center;display:flex;flex-direction:column}.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 .ck-media__placeholder__url__text{display:block;overflow:hidden}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"goo.gl/maps\"] .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*=\"maps.app.goo.gl\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"maps.google.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{background:var(--ck-color-base-foreground);padding:calc(var(--ck-spacing-standard)*3)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{background-position:50%;background-size:cover;height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);min-width:var(--ck-media-embed-placeholder-icon-size)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{height:100%;width:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);font-style:italic;text-align:center;text-overflow:ellipsis;white-space:nowrap}.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-height:380px;max-width:300px}.ck-media__wrapper[data-oembed-url*=\"goo.gl/maps\"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*=\"maps.app.goo.gl\"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*=\"maps.google.com\"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Im0yMDYuNDc3IDI2MC45LTI4Ljk4NyAyOC45ODdhNS4yMTggNS4yMTggMCAwIDAgMy43OCAxLjYxaDQ5LjYyMWMxLjY5NCAwIDMuMTktLjc5OCA0LjE0Ni0yLjAzN3oiIGZpbGw9IiM1Yzg4YzUiLz48cGF0aCBkPSJNMjI2Ljc0MiAyMjIuOTg4Yy05LjI2NiAwLTE2Ljc3NyA3LjE3LTE2Ljc3NyAxNi4wMTQuMDA3IDIuNzYyLjY2MyA1LjQ3NCAyLjA5MyA3Ljg3NS40My43MDMuODMgMS40MDggMS4xOSAyLjEwNy4zMzMuNTAyLjY1IDEuMDA1Ljk1IDEuNTA4LjM0My40NzcuNjczLjk1Ny45ODggMS40NCAxLjMxIDEuNzY5IDIuNSAzLjUwMiAzLjYzNyA1LjE2OC43OTMgMS4yNzUgMS42ODMgMi42NCAyLjQ2NiAzLjk5IDIuMzYzIDQuMDk0IDQuMDA3IDguMDkyIDQuNiAxMy45MTR2LjAxMmMuMTgyLjQxMi41MTYuNjY2Ljg3OS42NjcuNDAzLS4wMDEuNzY4LS4zMTQuOTMtLjc5OS42MDMtNS43NTYgMi4yMzgtOS43MjkgNC41ODUtMTMuNzk0Ljc4Mi0xLjM1IDEuNjczLTIuNzE1IDIuNDY1LTMuOTkgMS4xMzctMS42NjYgMi4zMjgtMy40IDMuNjM4LTUuMTY5LjMxNS0uNDgyLjY0NS0uOTYyLjk4OC0xLjQzOS4zLS41MDMuNjE3LTEuMDA2Ljk1LTEuNTA4LjM1OS0uNy43Ni0xLjQwNCAxLjE5LTIuMTA3IDEuNDI2LTIuNDAyIDItNS4xMTQgMi4wMDQtNy44NzUgMC04Ljg0NC03LjUxMS0xNi4wMTQtMTYuNzc2LTE2LjAxNHoiIGZpbGw9IiNkZDRiM2UiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PGVsbGlwc2Ugcnk9IjUuNTY0IiByeD0iNS44MjgiIGN5PSIyMzkuMDAyIiBjeD0iMjI2Ljc0MiIgZmlsbD0iIzgwMmQyNyIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMTkwLjMwMSAyMzcuMjgzYy00LjY3IDAtOC40NTcgMy44NTMtOC40NTcgOC42MDZzMy43ODYgOC42MDcgOC40NTcgOC42MDdjMy4wNDMgMCA0LjgwNi0uOTU4IDYuMzM3LTIuNTE2IDEuNTMtMS41NTcgMi4wODctMy45MTMgMi4wODctNi4yOSAwLS4zNjItLjAyMy0uNzIyLS4wNjQtMS4wNzloLTguMjU3djMuMDQzaDQuODVjLS4xOTcuNzU5LS41MzEgMS40NS0xLjA1OCAxLjk4Ni0uOTQyLjk1OC0yLjAyOCAxLjU0OC0zLjkwMSAxLjU0OC0yLjg3NiAwLTUuMjA4LTIuMzcyLTUuMjA4LTUuMjk5IDAtMi45MjYgMi4zMzItNS4yOTkgNS4yMDgtNS4yOTkgMS4zOTkgMCAyLjYxOC40MDcgMy41ODQgMS4yOTNsMi4zODEtMi4zOGMwLS4wMDItLjAwMy0uMDA0LS4wMDQtLjAwNS0xLjU4OC0xLjUyNC0zLjYyLTIuMjE1LTUuOTU1LTIuMjE1em00LjQzIDUuNjYuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0ibTIxNS4xODQgMjUxLjkyOS03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVhNS4yMzMgNS4yMzMgMCAwIDAgLjQ0OS0yLjEyM3YtMzEuMTY1Yy0uNDY5LjY3NS0uOTM0IDEuMzQ5LTEuMzgyIDIuMDA1LS43OTIgMS4yNzUtMS42ODIgMi42NC0yLjQ2NSAzLjk5LTIuMzQ3IDQuMDY1LTMuOTgyIDguMDM4LTQuNTg1IDEzLjc5NC0uMTYyLjQ4NS0uNTI3Ljc5OC0uOTMuNzk5LS4zNjMtLjAwMS0uNjk3LS4yNTUtLjg3OS0uNjY3di0uMDEyYy0uNTkzLTUuODIyLTIuMjM3LTkuODItNC42LTEzLjkxNC0uNzgzLTEuMzUtMS42NzMtMi43MTUtMi40NjYtMy45OS0xLjEzNy0xLjY2Ni0yLjMyNy0zLjQtMy42MzctNS4xNjlsLS4wMDItLjAwM3oiIGZpbGw9IiNjM2MzYzMiLz48cGF0aCBkPSJtMjEyLjk4MyAyNDguNDk1LTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOCA1LjIzOGgxLjAxNWwzNS42NjYtMzUuNjY2YTEzNi4yNzUgMTM2LjI3NSAwIDAgMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAgMC0uOTg5LTEuNDQgMzUuMTI3IDM1LjEyNyAwIDAgMC0uOTUtMS41MDhjLS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJtMjExLjk5OCAyNjEuMDgzLTYuMTUyIDYuMTUxIDI0LjI2NCAyNC4yNjRoLjc4MWE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.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+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OVptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OVoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzNabTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1Wk00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MDAgNDAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIHN0eWxlPSJmaWxsOiNmZmYiLz48L3N2Zz4=)}.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}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembedediting.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaembedediting.css\"],names:[],mappings:\"AAMC,0CAGC,kBAAmB,CAFnB,YAAa,CACb,qBAcD,CAXC,sEAEC,cAAe,CAEf,iBAMD,CAJC,wGAEC,aAAc,CADd,eAED,CAWD,6kBACC,YACD,CAYF,2LACC,mBACD,CC1CA,MACC,0CAA2C,CAE3C,mDAA4D,CAC5D,2EACD,CAEA,mBACC,aA+FD,CA7FC,0CAEC,0CAA2C,CAD3C,0CA6BD,CA1BC,uEAIC,uBAA2B,CAC3B,qBAAsB,CAHtB,kDAAmD,CACnD,qCAAsC,CAFtC,qDAUD,CAJC,gFAEC,WAAY,CADZ,UAED,CAGD,4EACC,sDAAuD,CAGvD,iBAAkB,CADlB,iBAAkB,CAElB,sBAAuB,CAHvB,kBAUD,CALC,kFACC,4DAA6D,CAC7D,cAAe,CACf,yBACD,CAIF,wDAEC,gBAAiB,CADjB,eAED,CAEA,4UAIC,wvGACD,CAEA,2EACC,kBAaD,CAXC,wGACC,orBACD,CAEA,6GACC,UAKD,CAHC,mHACC,UACD,CAIF,4EACC,2DAcD,CAZC,yGACC,4jHACD,CAGA,8GACC,aAKD,CAHC,oHACC,UACD,CAIF,6EAEC,iDAaD,CAXC,0GACC,wiCACD,CAEA,+GACC,aAKD,CAHC,qHACC,UACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-media__wrapper {\\n\\t& .ck-media__placeholder {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\n\\t\\t& .ck-media__placeholder__url {\\n\\t\\t\\t/* Otherwise the URL will overflow when the content is very narrow. */\\n\\t\\t\\tmax-width: 100%;\\n\\n\\t\\t\\tposition: relative;\\n\\n\\t\\t\\t& .ck-media__placeholder__url__text {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&[data-oembed-url*=\"twitter.com\"],\\n\\t&[data-oembed-url*=\"google.com/maps\"],\\n\\t&[data-oembed-url*=\"goo.gl/maps\"],\\n\\t&[data-oembed-url*=\"maps.google.com\"],\\n\\t&[data-oembed-url*=\"maps.app.goo.gl\"],\\n\\t&[data-oembed-url*=\"facebook.com\"],\\n\\t&[data-oembed-url*=\"instagram.com\"] {\\n\\t\\t& .ck-media__placeholder__icon * {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Disable all mouse interaction as long as the editor is not read\u2013only.\\n https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */\\n.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) {\\n\\tpointer-events: none;\\n}\\n\\n/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident).\\n https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */\\n.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder {\\n\\tpointer-events: none;\\n}\\n','/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-media-embed-placeholder-icon-size: 3em;\\n\\n\\t--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);\\n\\t--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);\\n}\\n\\n.ck-media__wrapper {\\n\\tmargin: 0 auto;\\n\\n\\t& .ck-media__placeholder {\\n\\t\\tpadding: calc( 3 * var(--ck-spacing-standard) );\\n\\t\\tbackground: var(--ck-color-base-foreground);\\n\\n\\t\\t& .ck-media__placeholder__icon {\\n\\t\\t\\tmin-width: var(--ck-media-embed-placeholder-icon-size);\\n\\t\\t\\theight: var(--ck-media-embed-placeholder-icon-size);\\n\\t\\t\\tmargin-bottom: var(--ck-spacing-large);\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: cover;\\n\\n\\t\\t\\t& .ck-icon {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .ck-media__placeholder__url__text {\\n\\t\\t\\tcolor: var(--ck-color-media-embed-placeholder-url-text);\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tfont-style: italic;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: var(--ck-color-media-embed-placeholder-url-text-hover);\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&[data-oembed-url*=\"open.spotify.com\"] {\\n\\t\\tmax-width: 300px;\\n\\t\\tmax-height: 380px;\\n\\t}\\n\\n\\t&[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon,\\n\\t&[data-oembed-url*=\"goo.gl/maps\"] .ck-media__placeholder__icon,\\n\\t&[data-oembed-url*=\"maps.google.com\"] .ck-media__placeholder__icon,\\n\\t&[data-oembed-url*=\"maps.app.goo.gl\"] .ck-media__placeholder__icon {\\n\\t\\tbackground-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);\\n\\t}\\n\\n\\t&[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder {\\n\\t\\tbackground: hsl(220, 46%, 48%);\\n\\n\\t\\t& .ck-media__placeholder__icon {\\n\\t\\t\\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);\\n\\t\\t}\\n\\n\\t\\t& .ck-media__placeholder__url__text {\\n\\t\\t\\tcolor: hsl(220, 100%, 90%);\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: hsl(0, 0%, 100%);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder {\\n\\t\\tbackground: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%));\\n\\n\\t\\t& .ck-media__placeholder__icon {\\n\\t\\t\\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);\\n\\t\\t}\\n\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-media__placeholder__url__text {\\n\\t\\t\\tcolor: hsl(302, 100%, 94%);\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: hsl(0, 0%, 100%);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder {\\n\\t\\t/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */\\n\\t\\tbackground: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) );\\n\\n\\t\\t& .ck-media__placeholder__icon {\\n\\t\\t\\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);\\n\\t\\t}\\n\\n\\t\\t& .ck-media__placeholder__url__text {\\n\\t\\t\\tcolor: hsl(201, 100%, 86%);\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: hsl(0, 0%, 100%);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},7269:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-media-form{align-items:flex-start;display:flex;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%}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\"],names:[],mappings:\"AAOA,kBAEC,sBAAuB,CADvB,YAAa,CAEb,kBAAmB,CACnB,gBAqBD,CAnBC,yCACC,oBACD,CAEA,4BACC,YACD,CCbA,oCDCD,kBAeE,cAUF,CARE,yCACC,eACD,CAEA,6BACC,cACD,CCtBD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck.ck-media-form {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\n\\t& .ck-labeled-field-view {\\n\\t\\tdisplay: inline-block;\\n\\t}\\n\\n\\t& .ck-label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},7752:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-input-color{display:flex;flex-direction:row-reverse;width:100%}.ck.ck-input-color>input.ck.ck-input-text{flex-grow:1;min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{overflow:hidden;position:relative}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{display:block;position:absolute}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-input-color>.ck.ck-input-text:focus{z-index:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-left-radius:0;border-top-left-radius:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-left:1px solid transparent}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-right:1px solid transparent}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border:1px solid var(--ck-color-input-border);height:20px;width:20px}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{background:red;border-radius:2px;height:150%;left:50%;top:-30%;transform:rotate(45deg);transform-origin:50%;width:8%}.ck.ck-input-color .ck.ck-input-color__remove-color{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);width:100%}.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-input-border)}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard);margin-right:0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,mBAEC,YAAa,CACb,0BAA2B,CAF3B,UAgCD,CA5BC,0CAEC,WAAY,CADZ,cAED,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAGD,8CAEC,YAWD,CATC,kFAEC,eAAgB,CADhB,iBAOD,CAJC,0IAEC,aAAc,CADd,iBAED,CC1BF,+CAGE,4BAA6B,CAD7B,yBAcF,CAhBA,+CAQE,2BAA4B,CAD5B,wBASF,CAHC,2CACC,SACD,CAIA,wEACC,SA0CD,CA3CA,kFAKE,2BAA4B,CAD5B,wBAuCF,CApCE,8FACC,iCACD,CATF,kFAcE,4BAA6B,CAD7B,yBA8BF,CA3BE,8FACC,kCACD,CAGD,oFACC,oDACD,CAEA,4GC1CF,eD2DE,CAjBA,+PCtCD,qCDuDC,CAjBA,4GAKC,6CAA8C,CAD9C,WAAY,CADZ,UAcD,CAVC,oKAKC,cAA6B,CAC7B,iBAAkB,CAHlB,WAAY,CADZ,QAAS,CADT,QAAS,CAMT,uBAAwB,CACxB,oBAAqB,CAJrB,QAKD,CAKH,oDAIC,2BAA4B,CAC5B,4BAA6B,CAH7B,qEAAwE,CADxE,UA0BD,CApBC,gEACC,oDACD,CATD,8DAYE,yBAeF,CA3BA,8DAgBE,wBAWF,CARC,gEACC,uCAMD,CAPA,0EAKE,sCAAuC,CADvC,cAGF\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-input-color {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: row-reverse;\\n\\n\\t& > input.ck.ck-input-text {\\n\\t\\tmin-width: auto;\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t& > div.ck.ck-dropdown {\\n\\t\\tmin-width: auto;\\n\\n\\t\\t/* This dropdown has no arrow but a color preview instead. */\\n\\t\\t& > .ck-input-color__button .ck-dropdown__arrow {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-input-color__button {\\n\\t\\t/* Resolving issue with misaligned buttons on Safari (see #10589) */\\n\\t\\tdisplay: flex;\\n\\n\\t\\t& .ck.ck-input-color__button__preview {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\t& > .ck.ck-input-color__button__preview__no-color-indicator {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n@import \"../mixins/_rounded.css\";\\n\\n.ck.ck-input-color {\\n\\t& > .ck.ck-input-text {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* Make sure the focused input is always on top of the dropdown button so its\\n\\t\\t outline and border are never cropped (also when the input is read-only). */\\n\\t\\t&:focus {\\n\\t\\t\\tz-index: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck.ck-dropdown {\\n\\t\\t& > .ck.ck-button.ck-input-color__button {\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\n\\t\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\t\\tborder-left: 1px solid transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\t\\tborder-right: 1px solid transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.ck-disabled {\\n\\t\\t\\t\\tbackground: var(--ck-color-input-disabled-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > .ck.ck-input-color__button__preview {\\n\\t\\t\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\theight: 20px;\\n\\t\\t\\t\\tborder: 1px solid var(--ck-color-input-border);\\n\\n\\t\\t\\t\\t& > .ck.ck-input-color__button__preview__no-color-indicator {\\n\\t\\t\\t\\t\\ttop: -30%;\\n\\t\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\t\\theight: 150%;\\n\\t\\t\\t\\t\\twidth: 8%;\\n\\t\\t\\t\\t\\tbackground: hsl(0, 100%, 50%);\\n\\t\\t\\t\\t\\tborder-radius: 2px;\\n\\t\\t\\t\\t\\ttransform: rotate(45deg);\\n\\t\\t\\t\\t\\ttransform-origin: 50%;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-input-color__remove-color {\\n\\t\\twidth: 100%;\\n\\t\\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\\n\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t&:not(:focus) {\\n\\t\\t\\tborder-bottom: 1px solid var(--ck-color-input-border);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t& .ck.ck-icon {\\n\\t\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: 0;\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},6369:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/form.css\"],names:[],mappings:\"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-form {\\n\\tpadding: 0 0 var(--ck-spacing-large);\\n\\n\\t&:focus {\\n\\t\\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t& .ck.ck-input-text {\\n\\t\\tmin-width: 100%;\\n\\t\\twidth: 0;\\n\\t}\\n\\n\\t& .ck.ck-dropdown {\\n\\t\\tmin-width: 100%;\\n\\n\\t\\t& .ck-dropdown__button {\\n\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\tborder: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-button__label {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},637:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{min-width:100%;width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css\"],names:[],mappings:\"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CAvBE,6CAEE,mCAMF,CARA,6CAME,oCAEF,CAGD,2BAEC,cAAe,CADf,UAED,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-form__row {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tjustify-content: space-between;\\n\\n\\t/* Ignore labels that work as fieldset legends */\\n\\t& > *:not(.ck-label) {\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t&.ck-table-form__action-row {\\n\\t\\t& .ck-button-save,\\n\\t\\t& .ck-button-cancel {\\n\\t\\t\\tjustify-content: center;\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-form__row {\\n\\tpadding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;\\n\\n\\t/* Ignore labels that work as fieldset legends */\\n\\t& > *:not(.ck-label) {\\n\\t\\t& + * {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-large);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-large);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-label {\\n\\t\\twidth: 100%;\\n\\t\\tmin-width: 100%;\\n\\t}\\n\\n\\t&.ck-table-form__action-row {\\n\\t\\tmargin-top: var(--ck-spacing-large);\\n\\n\\t\\t& .ck-button .ck-button__label {\\n\\t\\t\\tcolor: var(--ck-color-text);\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},1710:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label,.ck[dir=rtl] .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css\"],names:[],mappings:\"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,mFAEC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAUD,CARC,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-insert-table-dropdown__grid {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: wrap;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-insert-table-dropdown-padding: 10px;\\n\\t--ck-insert-table-dropdown-box-height: 11px;\\n\\t--ck-insert-table-dropdown-box-width: 12px;\\n\\t--ck-insert-table-dropdown-box-margin: 1px;\\n}\\n\\n.ck .ck-insert-table-dropdown__grid {\\n\\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\\n\\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\\n\\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\\n}\\n\\n.ck .ck-insert-table-dropdown__label,\\n.ck[dir=rtl] .ck-insert-table-dropdown__label {\\n\\ttext-align: center;\\n}\\n\\n.ck .ck-insert-table-dropdown-grid-box {\\n\\tmin-width: var(--ck-insert-table-dropdown-box-width);\\n\\tmin-height: var(--ck-insert-table-dropdown-box-height);\\n\\tmargin: var(--ck-insert-table-dropdown-box-margin);\\n\\tborder: 1px solid var(--ck-color-base-border);\\n\\tborder-radius: 1px;\\n\\toutline: none;\\n\\ttransition: none;\\n\\n\\t&:focus {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&.ck-on {\\n\\t\\tborder-color: var(--ck-color-focus-border);\\n\\t\\tbackground: var(--ck-color-focus-outer-shadow);\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const c=a},2259:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/table.css\"],names:[],mappings:\"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,0BAA+B,CAD/B,eAED,CAMF,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content .table {\\n\\t/* Give the table widget some air and center it horizontally */\\n\\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\\n\\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\\n\\tmargin: 0.9em auto;\\n\\tdisplay: table;\\n\\n\\t& table {\\n\\t\\t/* The table cells should have slight borders */\\n\\t\\tborder-collapse: collapse;\\n\\t\\tborder-spacing: 0;\\n\\n\\t\\t/* Table width and height are set on the parent . Make sure the table inside stretches\\n\\t\\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* The outer border of the table should be slightly darker than the inner lines.\\n\\t\\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\\n\\t\\tborder: 1px double hsl(0, 0%, 70%);\\n\\n\\t\\t& td,\\n\\t\\t& th {\\n\\t\\t\\tmin-width: 2em;\\n\\t\\t\\tpadding: .4em;\\n\\n\\t\\t\\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it\\'s not necessary here.\\n\\t\\t\\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\\n\\t\\t\\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\\n\\t\\t\\tborder: 1px solid hsl(0, 0%, 75%);\\n\\t\\t}\\n\\n\\t\\t& th {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tbackground: hsla(0, 0%, 0%, 5%);\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\\nwhen content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\\n.ck-content[dir=\"rtl\"] .table th {\\n\\ttext-align: right;\\n}\\n\\n.ck-content[dir=\"ltr\"] .table th {\\n\\ttext-align: left;\\n}\\n\\n.ck-editor__editable .ck-table-bogus-paragraph {\\n\\t/*\\n\\t * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/6062.\\n\\t */\\n\\tdisplay: inline-block;\\n\\n\\t/*\\n\\t * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/9117.\\n\\t */\\n\\twidth: 100%;\\n}\\n'],sourceRoot:\"\"}]);const c=a},5513:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-color-selector-caption-background:#f7f7f7;--ck-color-selector-caption-text:#333;--ck-color-selector-caption-highlighted-background:#fd0}.ck-content .table>figcaption{background-color:var(--ck-color-selector-caption-background);caption-side:top;color:var(--ck-color-selector-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;text-align:center;word-break:break-word}.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-selector-caption-highlighted-background)}to{background-color:var(--ck-color-selector-caption-background)}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecaption.css\"],names:[],mappings:\"AAKA,MACC,8CAAuD,CACvD,qCAAiD,CACjD,uDACD,CAGA,8BAMC,4DAA6D,CAJ7D,gBAAiB,CAGjB,2CAA4C,CAJ5C,qBAAsB,CAOtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,iBAAkB,CADlB,qBAOD,CAIC,qEACC,iDACD,CAEA,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAGD,sCACC,GACC,wEACD,CAEA,GACC,4DACD,CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-selector-caption-background: hsl(0, 0%, 97%);\\n\\t--ck-color-selector-caption-text: hsl(0, 0%, 20%);\\n\\t--ck-color-selector-caption-highlighted-background: hsl(52deg 100% 50%);\\n}\\n\\n/* Content styles */\\n.ck-content .table > figcaption {\\n\\tdisplay: table-caption;\\n\\tcaption-side: top;\\n\\tword-break: break-word;\\n\\ttext-align: center;\\n\\tcolor: var(--ck-color-selector-caption-text);\\n\\tbackground-color: var(--ck-color-selector-caption-background);\\n\\tpadding: .6em;\\n\\tfont-size: .75em;\\n\\toutline-offset: -1px;\\n}\\n\\n/* Editing styles */\\n.ck.ck-editor__editable .table > figcaption {\\n\\t&.table__caption_highlighted {\\n\\t\\tanimation: ck-table-caption-highlight .6s ease-out;\\n\\t}\\n\\n\\t&.ck-placeholder::before {\\n\\t\\tpadding-left: inherit;\\n\\t\\tpadding-right: inherit;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the table caption placeholder doesn't overflow the placeholder area.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\\n\\t\\t */\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n@keyframes ck-table-caption-highlight {\\n\\t0% {\\n\\t\\tbackground-color: var(--ck-color-selector-caption-highlighted-background);\\n\\t}\\n\\n\\t100% {\\n\\t\\tbackground-color: var(--ck-color-selector-caption-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},472:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css\"],names:[],mappings:\"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-cell-properties-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-cell-properties-form__alignment-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\t&:first-of-type {\\n\\t\\t\\t\\t\\t/* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */\\n\\t\\t\\t\\t\\tflex-grow: 0.57;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&:last-of-type {\\n\\t\\t\\t\\t\\t/* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */\\n\\t\\t\\t\\t\\tflex-grow: 0.43;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t& .ck-button {\\n\\t\\t\\t\\t\\tflex-grow: 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-cell-properties-form {\\n\\twidth: 320px;\\n\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-cell-properties-form__padding-row {\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\twidth: 25%;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-cell-properties-form__alignment-row {\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\tbackground: none;\\n\\n\\t\\t\\t\\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},9317:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-color-selector-column-resizer-hover:var(--ck-color-base-active);--ck-table-column-resizer-width:7px;--ck-table-column-resizer-position-offset:calc(var(--ck-table-column-resizer-width)*-0.5 - 0.5px)}.ck-content .table .ck-table-resized{table-layout:fixed}.ck-content .table table{overflow:hidden}.ck-content .table td,.ck-content .table th{overflow-wrap:break-word;position:relative}.ck.ck-editor__editable .table .ck-table-column-resizer{bottom:0;cursor:col-resize;position:absolute;right:var(--ck-table-column-resizer-position-offset);top:0;user-select:none;width:var(--ck-table-column-resizer-width);z-index:var(--ck-z-default)}.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer,.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer{display:none}.ck.ck-editor__editable .table .ck-table-column-resizer:hover,.ck.ck-editor__editable .table .ck-table-column-resizer__active{background-color:var(--ck-color-selector-column-resizer-hover);bottom:-999999px;opacity:.25;top:-999999px}.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer{left:var(--ck-table-column-resizer-position-offset);right:unset}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecolumnresize.css\"],names:[],mappings:\"AAKA,MACC,oEAAqE,CACrE,mCAAoC,CAIpC,iGACD,CAEA,qCACC,kBACD,CAEA,yBACC,eACD,CAEA,4CAIC,wBAAyB,CACzB,iBACD,CAEA,wDAGC,QAAS,CAGT,iBAAkB,CALlB,iBAAkB,CAGlB,oDAAqD,CAFrD,KAAM,CAKN,gBAAiB,CAFjB,0CAA2C,CAG3C,2BACD,CAQA,qJACC,YACD,CAEA,8HAEC,8DAA+D,CAO/D,gBAAiB,CANjB,WAAa,CAKb,aAED,CAEA,iEACC,mDAAoD,CACpD,WACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-selector-column-resizer-hover: var(--ck-color-base-active);\\n\\t--ck-table-column-resizer-width: 7px;\\n\\n\\t/* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border.\\n\\t The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */\\n\\t--ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px);\\n}\\n\\n.ck-content .table .ck-table-resized {\\n\\ttable-layout: fixed;\\n}\\n\\n.ck-content .table table {\\n\\toverflow: hidden;\\n}\\n\\n.ck-content .table td,\\n.ck-content .table th {\\n\\t/* To prevent text overflowing beyond its cell when columns are resized by resize handler\\n\\t(https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */\\n\\toverflow-wrap: break-word;\\n\\tposition: relative;\\n}\\n\\n.ck.ck-editor__editable .table .ck-table-column-resizer {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tbottom: 0;\\n\\tright: var(--ck-table-column-resizer-position-offset);\\n\\twidth: var(--ck-table-column-resizer-width);\\n\\tcursor: col-resize;\\n\\tuser-select: none;\\n\\tz-index: var(--ck-z-default);\\n}\\n\\n.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer {\\n\\tdisplay: none;\\n}\\n\\n/* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again,\\n all resizers must be hidden while the table is dragged. */\\n.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer {\\n\\tdisplay: none;\\n}\\n\\n.ck.ck-editor__editable .table .ck-table-column-resizer:hover,\\n.ck.ck-editor__editable .table .ck-table-column-resizer__active {\\n\\tbackground-color: var(--ck-color-selector-column-resizer-hover);\\n\\topacity: 0.25;\\n\\t/* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view,\\n\\t it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as\\n\\t it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally\\n\\t unrealistic height for a single table. */\\n\\ttop: -999999px;\\n\\tbottom: -999999px;\\n}\\n\\n.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer {\\n\\tleft: var(--ck-table-column-resizer-position-offset);\\n\\tright: unset;\\n}\\n\"],sourceRoot:\"\"}]);const c=a},9431:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-color-selector-focused-cell-background:rgba(158,201,250,.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-selector-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css\"],names:[],mappings:\"AAKA,MACC,gEACD,CAKE,8QAGC,2DAA4D,CAK5D,iBAAkB,CAClB,8CAA+C,CAC/C,mBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-selector-focused-cell-background: hsla(212, 90%, 80%, .3);\\n}\\n\\n.ck-widget.table {\\n\\t& td,\\n\\t& th {\\n\\t\\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\\n\\t\\t&.ck-editor__nested-editable:focus {\\n\\t\\t\\t/* A very slight background to highlight the focused cell */\\n\\t\\t\\tbackground: var(--ck-color-selector-focused-cell-background);\\n\\n\\t\\t\\t/* Fixes the problem where surrounding cells cover the focused cell's border.\\n\\t\\t\\tIt does not fix the problem in all places but the UX is improved.\\n\\t\\t\\tSee https://github.com/ckeditor/ckeditor5-table/issues/29. */\\n\\t\\t\\tborder-style: none;\\n\\t\\t\\toutline: 1px solid var(--ck-color-focus-border);\\n\\t\\t\\toutline-offset: -1px; /* progressive enhancement - no IE support */\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},7181:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{align-items:center;flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{align-items:center;display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;position:absolute;transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:\"\";left:50%;position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{max-width:80px;min-width:80px;width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:transparent transparent var(--ck-color-base-error) transparent;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAWE,wHACC,cACD,CAEA,8DAEC,kBAAmB,CADnB,cAgBD,CAbC,qFAGC,kBAAmB,CAFnB,YAAa,CACb,6BAMD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EAGC,2DAAgE,CADhE,QAAS,CADT,iBAAkB,CAGlB,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CAGX,QAAS,CAFT,iBAAkB,CAClB,wDAA6D,CAE7D,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAIC,cAAe,CADf,cAAe,CADf,UAGD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCAyBD,CAvBC,8ECxCD,eDyDC,CAjBA,mMCpCA,qCDqDA,CAjBA,8EAGC,qCAAsC,CACtC,qCAAsC,CAEtC,oDAAqD,CADrD,wDAAyD,CAEzD,iBAUD,CAPC,oFACC,2EAA4E,CAE5E,kBAAmB,CADnB,kJAED,CAdD,8EAgBC,iEACD,CAGA,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-form__border-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__background-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__dimensions-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tflex-direction: column-reverse;\\n\\t\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t\\t& .ck.ck-dropdown {\\n\\t\\t\\t\\t\\tflex-grow: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__dimension-operator {\\n\\t\\t\\t\\tflex-grow: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-labeled-field-view {\\n\\t\\t/* Allow absolute positioning of the status (error) balloons. */\\n\\t\\tposition: relative;\\n\\n\\t\\t& .ck.ck-labeled-field-view__status {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tbottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );\\n\\t\\t\\ttransform: translate(-50%,100%);\\n\\n\\t\\t\\t/* Make sure the balloon status stays on top of other form elements. */\\n\\t\\t\\tz-index: 1;\\n\\n\\t\\t\\t/* The arrow pointing towards the field. */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tcontent: \"\";\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: calc( -1 * var(--ck-table-properties-error-arrow-size) );\\n\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\ttransform: translateX( -50% );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-table-properties-error-arrow-size: 6px;\\n\\t--ck-table-properties-min-error-width: 150px;\\n}\\n\\n.ck.ck-table-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-form__border-row {\\n\\t\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\t\\t& > .ck-label {\\n\\t\\t\\t\\t\\tfont-size: var(--ck-font-size-tiny);\\n\\t\\t\\t\\t\\ttext-align: center;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__border-style,\\n\\t\\t\\t& .ck-table-form__border-width {\\n\\t\\t\\t\\twidth: 80px;\\n\\t\\t\\t\\tmin-width: 80px;\\n\\t\\t\\t\\tmax-width: 80px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__dimensions-row {\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t& .ck-table-form__dimensions-row__width,\\n\\t\\t\\t& .ck-table-form__dimensions-row__height {\\n\\t\\t\\t\\tmargin: 0\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__dimension-operator {\\n\\t\\t\\t\\talign-self: flex-end;\\n\\t\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\t\\theight: var(--ck-ui-component-min-height);\\n\\t\\t\\t\\tline-height: var(--ck-ui-component-min-height);\\n\\t\\t\\t\\tmargin: 0 var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-labeled-field-view {\\n\\t\\tpadding-top: var(--ck-spacing-standard);\\n\\n\\t\\t& .ck.ck-labeled-field-view__status {\\n\\t\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t\\tbackground: var(--ck-color-base-error);\\n\\t\\t\\tcolor: var(--ck-color-base-background);\\n\\t\\t\\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\\n\\t\\t\\tmin-width: var(--ck-table-properties-min-error-width);\\n\\t\\t\\ttext-align: center;\\n\\n\\t\\t\\t/* The arrow pointing towards the field. */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tborder-color: transparent transparent var(--ck-color-base-error) transparent;\\n\\t\\t\\t\\tborder-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);\\n\\t\\t\\t\\tborder-style: solid;\\n\\t\\t\\t}\\n\\n\\t\\t\\tanimation: ck-table-form-labeled-view-status-appear .15s ease both;\\n\\t\\t}\\n\\n\\t\\t/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */\\n\\t\\t& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n@keyframes ck-table-form-labeled-view-status-appear {\\n\\t0% {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},8252:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-content:baseline;flex-basis:0;flex-wrap:wrap}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css\"],names:[],mappings:\"AAOE,mFAGC,sBAAuB,CADvB,YAAa,CADb,cAOD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-properties-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-properties-form__alignment-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\tflex-basis: 0;\\n\\t\\t\\talign-content: baseline;\\n\\n\\t\\t\\t& .ck.ck-toolbar .ck-toolbar__items {\\n\\t\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-properties-form {\\n\\twidth: 320px;\\n\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-properties-form__alignment-row {\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\tbackground: none;\\n\\n\\t\\t\\t\\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\n\\t\\t\\t\\t& .ck-toolbar__items > * {\\n\\t\\t\\t\\t\\twidth: 40px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},1125:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:\"\";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css\"],names:[],mappings:\"AAKA,MACC,wDACD,CAGC,0IAKC,gBAAiB,CAFjB,uBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,4BACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);\\n}\\n\\n.ck.ck-editor__editable .table table {\\n\\t& td.ck-editor__editable_selected,\\n\\t& th.ck-editor__editable_selected {\\n\\t\\tposition: relative;\\n\\t\\tcaret-color: transparent;\\n\\t\\toutline: unset;\\n\\t\\tbox-shadow: unset;\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\\n\\t\\t&:after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tpointer-events: none;\\n\\t\\t\\tbackground-color: var(--ck-table-selected-cell-background);\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tbottom: 0;\\n\\t\\t}\\n\\n\\t\\t& ::selection,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9491.\\n\\t\\t */\\n\\t\\t& .ck-widget {\\n\\t\\t\\toutline: unset;\\n\\n\\t\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},1587:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-aria-live-announcer{left:-10000px;position:absolute;top:-10000px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/arialiveannouncer/arialiveannouncer.css\"],names:[],mappings:\"AAKA,2BAEC,aAAc,CADd,iBAAkB,CAElB,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-aria-live-announcer {\\n\\tposition: absolute;\\n\\tleft: -10000px;\\n\\ttop: -10000px;\\n}\\n\"],sourceRoot:\"\"}]);const c=a},5169:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-autocomplete{position:relative}.ck.ck-autocomplete>.ck-search__results{position:absolute;z-index:var(--ck-z-panel)}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{bottom:100%}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{bottom:auto;top:100%}.ck.ck-autocomplete>.ck-search__results{border-radius:0}.ck-rounded-corners .ck.ck-autocomplete>.ck-search__results,.ck.ck-autocomplete>.ck-search__results.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-autocomplete>.ck-search__results{background:var(--ck-color-base-background);border:1px solid var(--ck-color-dropdown-panel-border);box-shadow:var(--ck-drop-shadow),0 0;max-height:200px;min-width:auto;overflow-y:auto}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/autocomplete/autocomplete.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/autocomplete/autocomplete.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,oBACC,iBAeD,CAbC,wCACC,iBAAkB,CAClB,yBAUD,CARC,6DACC,WACD,CAEA,6DAEC,WAAY,CADZ,QAED,CCVD,wCCEA,eDuBA,CAzBA,uHCMC,qCDmBD,CAzBA,wCAMC,0CAA2C,CAC3C,sDAAuD,CEPxD,oCAA8B,CFI7B,gBAAiB,CAIjB,cAAe,CAHf,eAoBD,CAfC,6DACC,2BAA4B,CAC5B,4BAA6B,CAG7B,kBACD,CAEA,6DACC,wBAAyB,CACzB,yBAA0B,CAG1B,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-autocomplete {\\n\\tposition: relative;\\n\\n\\t& > .ck-search__results {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: var(--ck-z-panel);\\n\\n\\t\\t&.ck-search__results_n {\\n\\t\\t\\tbottom: 100%;\\n\\t\\t}\\n\\n\\t\\t&.ck-search__results_s {\\n\\t\\t\\ttop: 100%;\\n\\t\\t\\tbottom: auto;\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\";\\n@import \"@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\";\\n\\n.ck.ck-autocomplete {\\n\\t& > .ck-search__results {\\n\\t\\t@mixin ck-rounded-corners;\\n\\t\\t@mixin ck-drop-shadow;\\n\\n\\t\\tmax-height: 200px;\\n\\t\\toverflow-y: auto;\\n\\t\\tbackground: var(--ck-color-base-background);\\n\\t\\tborder: 1px solid var(--ck-color-dropdown-panel-border);\\n\\t\\tmin-width: auto;\\n\\n\\t\\t&.ck-search__results_n {\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t\\t/* Prevent duplicated borders between the input and the results pane. */\\n\\t\\t\\tmargin-bottom: -1px;\\n\\t\\t}\\n\\n\\t\\t&.ck-search__results_s {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\n\\t\\t\\t/* Prevent duplicated borders between the input and the results pane. */\\n\\t\\t\\tmargin-top: -1px;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},8941:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}[dir=ltr] .ck.ck-button,[dir=ltr] a.ck.ck-button{justify-content:left}[dir=rtl] .ck.ck-button,[dir=rtl] a.ck.ck-button{justify-content:right}.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,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)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{-webkit-appearance:none;border:1px solid transparent;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{opacity:.5}.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,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:var(--ck-spacing-small);margin-right:calc(var(--ck-spacing-small)*-1)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background)}.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-on,a.ck.ck-button.ck-on{color:var(--ck-color-button-on-color)}.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)}.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}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\"],names:[],mappings:\"AAQA,6BAMC,kBAAmB,CADnB,mBAAoB,CADpB,iBAAkB,CCHlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD0BD,CA9BA,iDASE,oBAqBF,CA9BA,iDAaE,qBAiBF,CAdC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEzBD,6BCAC,oDD2ID,CCxIE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CDfD,6BEDC,eF4ID,CA3IA,wIEGE,qCFwIF,CA3IA,6BA6BC,uBAAwB,CANxB,4BAA6B,CAjB7B,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAsID,CA5GC,oFGhCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHqCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAWD,CAZA,6FAIE,mCAQF,CAZA,6FAQE,oCAIF,CAZA,yEAWC,UACD,CAIC,oIIpFD,oDJwFC,CAOA,gLK/FD,kCLiGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAQE,mCAAoC,CADpC,6CAGF,CAKA,mHACC,WACD,CAID,yCC9HA,+CDkIA,CC/HC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CD+GA,yCAGC,qCACD,CAEA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC9IC,mDDmJD,CChJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CD+HD,2CAIC,wCACD,CAEA,uCAEC,eACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n@import \"../../mixins/_dir.css\";\\n\\n.ck.ck-button,\\na.ck.ck-button {\\n\\t@mixin ck-unselectable;\\n\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n\\talign-items: center;\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\tjustify-content: left;\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\tjustify-content: right;\\n\\t}\\n\\n\\t& .ck-button__label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&.ck-button_with-text {\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Center the icon horizontally in a button without text. */\\n\\t&:not(.ck-button_with-text) {\\n\\t\\tjustify-content: center;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../mixins/_button.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-button,\\na.ck.ck-button {\\n\\t@mixin ck-button-colors --ck-color-button-default;\\n\\t@mixin ck-rounded-corners;\\n\\n\\twhite-space: nowrap;\\n\\tcursor: default;\\n\\tvertical-align: middle;\\n\\tpadding: var(--ck-spacing-tiny);\\n\\ttext-align: center;\\n\\n\\t/* A very important piece of styling. Go to variable declaration to learn more. */\\n\\tmin-width: var(--ck-ui-component-min-height);\\n\\tmin-height: var(--ck-ui-component-min-height);\\n\\n\\t/* Normalize the height of the line. Removing this will break consistent height\\n\\tamong text and text-less buttons (with icons). */\\n\\tline-height: 1;\\n\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t/* Avoid flickering when the foucs border shows up. */\\n\\tborder: 1px solid transparent;\\n\\n\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\\n\\t-webkit-appearance: none;\\n\\n\\t&:active,\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t}\\n\\n\\t/* Allow icon coloring using the text \"color\" property. */\\n\\t& .ck-button__icon {\\n\\t\\t& use,\\n\\t\\t& use * {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__label {\\n\\t\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\t\\tfont-size: inherit;\\n\\t\\tfont-weight: inherit;\\n\\t\\tcolor: inherit;\\n\\t\\tcursor: inherit;\\n\\n\\t\\t/* Must be consistent with .ck-icon\\'s vertical align. Otherwise, buttons with and\\n\\t\\twithout labels (but with icons) have different sizes in Chrome */\\n\\t\\tvertical-align: middle;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__keystroke {\\n\\t\\tcolor: inherit;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-left: var(--ck-spacing-large);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-right: var(--ck-spacing-large);\\n\\t\\t}\\n\\n\\t\\topacity: .5;\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\\n\\t&.ck-disabled {\\n\\t\\t&:active,\\n\\t\\t&:focus {\\n\\t\\t\\t/* The disabled button should have a slightly less visible shadow when focused. */\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\\n\\t\\t}\\n\\n\\t\\t& .ck-button__icon {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t& .ck-button__keystroke {\\n\\t\\t\\topacity: .3;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-button_with-text {\\n\\t\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\\n\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-button__icon {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: calc(-1 * var(--ck-spacing-small));\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: calc(-1 * var(--ck-spacing-small));\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-button_with-keystroke {\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t/* A style of the button which is currently on, e.g. its feature is active. */\\n\\t&.ck-on {\\n\\t\\t@mixin ck-button-colors --ck-color-button-on;\\n\\n\\t\\tcolor: var(--ck-color-button-on-color);\\n\\t}\\n\\n\\t&.ck-button-save {\\n\\t\\tcolor: var(--ck-color-button-save);\\n\\t}\\n\\n\\t&.ck-button-cancel {\\n\\t\\tcolor: var(--ck-color-button-cancel);\\n\\t}\\n}\\n\\n/* A style of the button which handles the primary action. */\\n.ck.ck-button-action,\\na.ck.ck-button-action {\\n\\t@mixin ck-button-colors --ck-color-button-action;\\n\\n\\tcolor: var(--ck-color-button-action-text);\\n}\\n\\n.ck.ck-button-bold,\\na.ck.ck-button-bold {\\n\\tfont-weight: bold;\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements a button of given background color.\\n *\\n * @param {String} $background - Background color of the button.\\n * @param {String} $border - Border color of the button.\\n */\\n@define-mixin ck-button-colors $prefix {\\n\\tbackground: var($(prefix)-background);\\n\\n\\t&:not(.ck-disabled) {\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var($(prefix)-hover-background);\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbackground: var($(prefix)-active-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\\n\\t&.ck-disabled {\\n\\t\\tbackground: var($(prefix)-disabled-background);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},8613:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:calc(1.07692em + 1px);--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px);--ck-switch-button-inner-hover-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton,.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton.ck-on:focus,.ck.ck-button.ck-switchbutton.ck-on:hover,.ck.ck-button.ck-switchbutton:active,.ck.ck-button.ck-switchbutton:focus,.ck.ck-button.ck-switchbutton:hover{background:transparent;color:inherit}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{background:var(--ck-color-switch-button-off-background);border:1px solid transparent;transition:background .4s ease,box-shadow .2s ease-in-out,outline .2s ease-in-out;width:var(--ck-switch-button-toggle-width)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);height:var(--ck-switch-button-toggle-inner-size);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:var(--ck-switch-button-inner-hover-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton:focus{border-color:transparent;box-shadow:none;outline:none}.ck.ck-button.ck-switchbutton:focus .ck-button__toggle{box-shadow:0 0 0 1px var(--ck-color-base-background),0 0 0 5px var(--ck-color-focus-outer-shadow);outline:var(--ck-focus-ring);outline-offset:1px}.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))}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\"],names:[],mappings:\"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAOC,0QAEC,sBAAuB,CADvB,aAED,CAEA,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDCpCA,eD4EA,CAxCA,yIChCC,qCDwED,CAxCA,2DAKE,gBAmCF,CAxCA,2DAUE,iBA8BF,CAxCA,iDAkBC,uDAAwD,CAFxD,4BAA6B,CAD7B,iFAAsF,CAEtF,0CAuBD,CApBC,2ECxDD,eDmEC,CAXA,6LCpDA,qCAAsC,CDsDpC,8CASF,CAXA,2EAOC,yDAA0D,CAD1D,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAMD,CAEA,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DEhFA,kCFkFA,CAGA,oCACC,wBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAKA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,2DAMF,CAXA,2FASE,oEAEF\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-button.ck-switchbutton {\\n\\t& .ck-button__toggle {\\n\\t\\tdisplay: block;\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\\nof the component, floating\u2013point numbers have been used which, for the default font size\\n(see: --ck-font-size-base), will generate simple integers. */\\n:root {\\n\\t/* 34px at 13px font-size */\\n\\t--ck-switch-button-toggle-width: 2.6153846154em;\\n\\t/* 14px at 13px font-size */\\n\\t--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);\\n\\t--ck-switch-button-translation: calc(\\n\\t\\tvar(--ck-switch-button-toggle-width) -\\n\\t\\tvar(--ck-switch-button-toggle-inner-size) -\\n\\t\\t2px /* Border */\\n\\t);\\n\\t--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\\n}\\n\\n.ck.ck-button.ck-switchbutton {\\n\\t/* Unlike a regular button, the switch button text color and background should never change.\\n\\t * Changing toggle switch (background, outline) is enough to carry the information about the\\n\\t * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519)\\n\\t */\\n\\t&, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active {\\n\\t\\tcolor: inherit;\\n\\t\\tbackground: transparent;\\n\\t}\\n\\n\\t& .ck-button__label {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t/* Separate the label from the switch */\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-spacing-large));\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t/* Separate the label from the switch */\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-spacing-large));\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__toggle {\\n\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t/* Make sure the toggle is always to the right as far as possible. */\\n\\t\\t\\tmargin-left: auto;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t/* Make sure the toggle is always to the left as far as possible. */\\n\\t\\t\\tmargin-right: auto;\\n\\t\\t}\\n\\n\\t\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\t\\t/* Gently animate the background color of the toggle switch */\\n\\t\\ttransition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;\\n\\t\\tborder: 1px solid transparent;\\n\\t\\twidth: var(--ck-switch-button-toggle-width);\\n\\t\\tbackground: var(--ck-color-switch-button-off-background);\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-radius: calc(.5 * var(--ck-border-radius));\\n\\t\\t\\t}\\n\\n\\t\\t\\twidth: var(--ck-switch-button-toggle-inner-size);\\n\\t\\t\\theight: var(--ck-switch-button-toggle-inner-size);\\n\\t\\t\\tbackground: var(--ck-color-switch-button-inner-background);\\n\\n\\t\\t\\t/* Gently animate the inner part of the toggle switch */\\n\\t\\t\\ttransition: all 300ms ease;\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var(--ck-color-switch-button-off-hover-background);\\n\\n\\t\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t\\tbox-shadow: var(--ck-switch-button-inner-hover-shadow);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-disabled .ck-button__toggle {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t/* Overriding default .ck-button:focus styles + an outline around the toogle */\\n\\t&:focus {\\n\\t\\tborder-color: transparent;\\n\\t\\toutline: none;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t& .ck-button__toggle {\\n\\t\\t\\tbox-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);\\n\\t\\t\\toutline-offset: 1px;\\n\\t\\t\\toutline: var(--ck-focus-ring);\\n\\t\\t}\\n\\t}\\n\\n\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t&.ck-on {\\n\\t\\t& .ck-button__toggle {\\n\\t\\t\\tbackground: var(--ck-color-switch-button-on-background);\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground: var(--ck-color-switch-button-on-hover-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t\\t/*\\n\\t\\t\\t\\t* Move the toggle switch to the right. It will be animated.\\n\\t\\t\\t\\t*/\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\ttransform: translateX( var( --ck-switch-button-translation ) );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},3283:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;color:inherit;font-weight:700;padding:var(--ck-list-button-padding);width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:transparent}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:transparent;border-color:transparent;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/collapsible/collapsible.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/collapsible/collapsible.css\"],names:[],mappings:\"AAMC,sEACC,YACD,CCHD,MACC,yDACD,CAGC,iCAIC,eAAgB,CAChB,aAAc,CAHd,eAAiB,CACjB,qCAAsC,CAFtC,UAoBD,CAdC,uCACC,sBACD,CAEA,wIACC,sBAAuB,CACvB,wBAAyB,CACzB,eACD,CAEA,0CACC,qCAAsC,CACtC,sCACD,CAGD,6CACC,gFACD,CAGC,mEACC,wBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-collapsible.ck-collapsible_collapsed {\\n\\t& > .ck-collapsible__children {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size));\\n}\\n\\n.ck.ck-collapsible {\\n\\t& > .ck.ck-button {\\n\\t\\twidth: 100%;\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: var(--ck-list-button-padding);\\n\\t\\tborder-radius: 0;\\n\\t\\tcolor: inherit;\\n\\n\\t\\t&:focus {\\n\\t\\t\\tbackground: transparent;\\n\\t\\t}\\n\\n\\t\\t&:active, &:not(:focus), &:hover:not(:focus) {\\n\\t\\t\\tbackground: transparent;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\n\\t\\t& > .ck-icon {\\n\\t\\t\\tmargin-right: var(--ck-spacing-medium);\\n\\t\\t\\twidth: var(--ck-collapsible-arrow-size);\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-collapsible__children {\\n\\t\\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large);\\n\\t}\\n\\n\\t&.ck-collapsible_collapsed {\\n\\t\\t& > .ck.ck-button .ck-icon {\\n\\t\\t\\ttransform: rotate(-90deg);\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},4239:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#166fd4}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-color-grid-tile-size)}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile.ck-color-selector__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile .ck.ck-icon{color:var(--ck-color-color-grid-check-icon);display:none}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css\"],names:[],mappings:\"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBAOC,QAAS,CALT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CACV,8BAA+B,CAL/B,oCAyCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,+DACC,gDACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-color-grid {\\n\\tdisplay: grid;\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-color-grid-tile-size: 24px;\\n\\n\\t/* Not using global colors here because these may change but some colors in a pallette\\n\\t * require special treatment. For instance, this ensures no matter what the UI text color is,\\n\\t * the check icon will look good on the black color tile. */\\n\\t--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);\\n}\\n\\n.ck.ck-color-grid {\\n\\tgrid-gap: 5px;\\n\\tpadding: 8px;\\n}\\n\\n.ck.ck-color-grid__tile {\\n\\twidth: var(--ck-color-grid-tile-size);\\n\\theight: var(--ck-color-grid-tile-size);\\n\\tmin-width: var(--ck-color-grid-tile-size);\\n\\tmin-height: var(--ck-color-grid-tile-size);\\n\\tpadding: 0;\\n\\ttransition: .2s ease box-shadow;\\n\\tborder: 0;\\n\\n\\t&.ck-disabled {\\n\\t\\tcursor: unset;\\n\\t\\ttransition: unset;\\n\\t}\\n\\n\\t&.ck-color-selector__color-tile_bordered {\\n\\t\\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\\n\\t}\\n\\n\\t& .ck.ck-icon {\\n\\t\\tdisplay: none;\\n\\t\\tcolor: var(--ck-color-color-grid-check-icon);\\n\\t}\\n\\n\\t&.ck-on {\\n\\t\\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\\n\\n\\t\\t& .ck.ck-icon {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-on,\\n\\t&:focus:not( .ck-disabled ),\\n\\t&:hover:not( .ck-disabled ) {\\n\\t\\t/* Disable the default .ck-button\\'s border ring. */\\n\\t\\tborder: 0;\\n\\t}\\n\\n\\t&:focus:not( .ck-disabled ),\\n\\t&:hover:not( .ck-disabled ) {\\n\\t\\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\\n\\t}\\n}\\n\\n.ck.ck-color-grid__label {\\n\\tpadding: 0 var(--ck-spacing-standard);\\n}\\n'],sourceRoot:\"\"}]);const c=a},3019:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".color-picker-hex-input{width:max-content}.color-picker-hex-input .ck.ck-input{min-width:unset}.ck.ck-color-picker__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:var(--ck-spacing-large) 0 0;width:unset}.ck.ck-color-picker__row .ck.ck-labeled-field-view{padding-top:unset}.ck.ck-color-picker__row .ck.ck-input-text{width:unset}.ck.ck-color-picker__row .ck-color-picker__hash-view{padding-right:var(--ck-spacing-medium);padding-top:var(--ck-spacing-tiny)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorpicker/colorpicker.css\"],names:[],mappings:\"AAKA,wBACC,iBAKD,CAHC,qCACC,eACD,CAGD,yBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAA8B,CAC9B,kCAAmC,CACnC,WAcD,CAZC,mDACC,iBACD,CAEA,2CACC,WACD,CAEA,qDAEC,sCAAuC,CADvC,kCAED\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.color-picker-hex-input {\\n\\twidth: max-content;\\n\\n\\t& .ck.ck-input {\\n\\t\\tmin-width: unset;\\n\\t}\\n}\\n\\n.ck.ck-color-picker__row {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tjustify-content: space-between;\\n\\tmargin: var(--ck-spacing-large) 0 0;\\n\\twidth: unset;\\n\\n\\t& .ck.ck-labeled-field-view {\\n\\t\\tpadding-top: unset;\\n\\t}\\n\\n\\t& .ck.ck-input-text {\\n\\t\\twidth: unset;\\n\\t}\\n\\n\\t& .ck-color-picker__hash-view {\\n\\t\\tpadding-top: var(--ck-spacing-tiny);\\n\\t\\tpadding-right: var(--ck-spacing-medium);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},2927:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{align-items:center;display:flex}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{justify-content:flex-start}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{display:flex;flex-direction:row;justify-content:space-around}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel,.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save{flex:1}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{width:100%}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-left:var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label{font-weight:unset}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker{padding:8px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker{height:100px;min-width:180px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation){border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue){border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius)}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer),.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer){height:15px;width:15px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{padding:0 8px 8px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorselector/colorselector.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorselector/colorselector.css\"],names:[],mappings:\"AAUE,oLAGC,kBAAmB,CADnB,YAMD,CARA,wMAME,0BAEF,CAKA,iFACC,YAAa,CACb,kBAAmB,CACnB,4BAMD,CAJC,oMAEC,MACD,CCrBD,oLAEC,UACD,CAEA,0FAEC,2BAA4B,CAC5B,4BAA6B,CAF7B,qEAiBD,CAbC,sGACC,gDACD,CAEA,gHAEE,uCAMF,CARA,gHAME,sCAEF,CAGD,6EACC,iBACD,CAKA,oEACC,WAoBD,CAlBC,sFACC,YAAa,CACb,eAeD,CAbC,wGACC,iEACD,CAEA,iGACC,iEACD,CAEA,yNAGC,WAAY,CADZ,UAED,CAIF,iFACC,iBACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-color-selector {\\n\\t/* View fragment with color grids. */\\n\\t& .ck-color-grids-fragment {\\n\\t\\t& .ck-button.ck-color-selector__remove-color,\\n\\t\\t& .ck-button.ck-color-selector__color-picker {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tjustify-content: flex-start;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* View fragment with a color picker. */\\n\\t& .ck-color-picker-fragment {\\n\\t\\t& .ck.ck-color-selector_action-bar {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\tjustify-content: space-around;\\n\\n\\t\\t\\t& .ck-button-save,\\n\\t\\t\\t& .ck-button-cancel {\\n\\t\\t\\t\\tflex: 1\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-color-selector {\\n\\t/* View fragment with color grids. */\\n\\t& .ck-color-grids-fragment {\\n\\t\\t& .ck-button.ck-color-selector__remove-color,\\n\\t\\t& .ck-button.ck-color-selector__color-picker {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button.ck-color-selector__color-picker {\\n\\t\\t\\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck.ck-icon {\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& label.ck.ck-color-grid__label {\\n\\t\\t\\tfont-weight: unset;\\n\\t\\t}\\n\\t}\\n\\n\\t/* View fragment with a color picker. */\\n\\t& .ck-color-picker-fragment {\\n\\t\\t& .ck.ck-color-picker {\\n\\t\\t\\tpadding: 8px;\\n\\n\\t\\t\\t& .hex-color-picker {\\n\\t\\t\\t\\theight: 100px;\\n\\t\\t\\t\\tmin-width: 180px;\\n\\n\\t\\t\\t\\t&::part(saturation) {\\n\\t\\t\\t\\t\\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&::part(hue) {\\n\\t\\t\\t\\t\\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&::part(saturation-pointer),\\n\\t\\t\\t\\t&::part(hue-pointer) {\\n\\t\\t\\t\\t\\twidth: 15px;\\n\\t\\t\\t\\t\\theight: 15px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .ck.ck-color-selector_action-bar {\\n\\t\\t\\tpadding: 0 8px 8px;\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},7197:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-dialog-overlay{bottom:0;left:0;overscroll-behavior:none;position:fixed;right:0;top:0;user-select:none}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent{animation:none;background:none;pointer-events:none}.ck.ck-dialog{overscroll-behavior:none;position:absolute;width:fit-content}.ck.ck-dialog .ck.ck-form__header{flex-shrink:0}.ck.ck-dialog .ck.ck-form__header .ck-form__header__label{cursor:grab}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent .ck.ck-dialog{pointer-events:all}:root{--ck-dialog-overlay-background-color:rgba(0,0,0,.5);--ck-dialog-drop-shadow:0px 0px 6px 2px rgba(0,0,0,.15);--ck-dialog-max-width:100vw;--ck-dialog-max-height:90vh;--ck-color-dialog-background:var(--ck-color-base-background);--ck-color-dialog-form-header-border:var(--ck-color-base-border)}.ck.ck-dialog-overlay{animation:ck-dialog-fade-in .3s;background:var(--ck-dialog-overlay-background-color);z-index:var(--ck-z-dialog)}.ck.ck-dialog{border-radius:0}.ck-rounded-corners .ck.ck-dialog,.ck.ck-dialog.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dialog{--ck-drop-shadow:var(--ck-dialog-drop-shadow);background:var(--ck-color-dialog-background);border:1px solid var(--ck-color-base-border);box-shadow:var(--ck-drop-shadow),0 0;max-height:var(--ck-dialog-max-height);max-width:var(--ck-dialog-max-width)}.ck.ck-dialog .ck.ck-form__header{border-bottom:1px solid var(--ck-color-dialog-form-header-border)}@keyframes ck-dialog-fade-in{0%{background:transparent}to{background:var(--ck-dialog-overlay-background-color)}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialog.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialog.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,sBAKC,QAAS,CACT,MAAO,CAJP,wBAAyB,CAEzB,cAAe,CAGf,OAAQ,CACR,KAAM,CAPN,gBAcD,CALC,qDAEC,cAAe,CACf,eAAgB,CAFhB,mBAGD,CAGD,cACC,wBAAyB,CAEzB,iBAAkB,CADlB,iBAcD,CAXC,kCACC,aAKD,CAHC,0DACC,WACD,CAVF,mEAcE,kBAEF,CC7BA,MACC,mDAA2D,CAC3D,uDAA8D,CAC9D,2BAA4B,CAC5B,2BAA4B,CAC5B,4DAA6D,CAC7D,gEACD,CAEA,sBACC,+BAAgC,CAChC,oDAAqD,CACrD,0BACD,CAEA,cCbC,eD2BD,CAdA,mECTE,qCDuBF,CAdA,cAIC,6CAA8C,CAE9C,4CAA6C,CAG7C,4CAA6C,CExB7C,oCAA8B,CFsB9B,sCAAuC,CACvC,oCAMD,CAHC,kCACC,iEACD,CAGD,6BACC,GACC,sBACD,CAEA,GACC,oDACD,CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-dialog-overlay {\\n\\tuser-select: none;\\n\\toverscroll-behavior: none;\\n\\n\\tposition: fixed;\\n\\tbottom: 0;\\n\\tleft: 0;\\n\\tright: 0;\\n\\ttop: 0;\\n\\n\\t&.ck-dialog-overlay__transparent {\\n\\t\\tpointer-events: none;\\n\\t\\tanimation: none;\\n\\t\\tbackground: none;\\n\\t}\\n}\\n\\n.ck.ck-dialog {\\n\\toverscroll-behavior: none;\\n\\twidth: fit-content;\\n\\tposition: absolute;\\n\\n\\t& .ck.ck-form__header {\\n\\t\\tflex-shrink: 0;\\n\\n\\t\\t& .ck-form__header__label {\\n\\t\\t\\tcursor: grab;\\n\\t\\t}\\n\\t}\\n\\n\\t@nest .ck.ck-dialog-overlay.ck-dialog-overlay__transparent & {\\n\\t\\tpointer-events: all;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n:root {\\n\\t--ck-dialog-overlay-background-color: hsla( 0, 0%, 0%, .5 );\\n\\t--ck-dialog-drop-shadow: 0px 0px 6px 2px hsl(0deg 0% 0% / 15%);\\n\\t--ck-dialog-max-width: 100vw;\\n\\t--ck-dialog-max-height: 90vh;\\n\\t--ck-color-dialog-background: var(--ck-color-base-background);\\n\\t--ck-color-dialog-form-header-border: var(--ck-color-base-border);\\n}\\n\\n.ck.ck-dialog-overlay {\\n\\tanimation: ck-dialog-fade-in .3s;\\n\\tbackground: var(--ck-dialog-overlay-background-color);\\n\\tz-index: var(--ck-z-dialog);\\n}\\n\\n.ck.ck-dialog {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\t--ck-drop-shadow: var(--ck-dialog-drop-shadow);\\n\\n\\tbackground: var(--ck-color-dialog-background);\\n\\tmax-height: var(--ck-dialog-max-height);\\n\\tmax-width: var(--ck-dialog-max-width);\\n\\tborder: 1px solid var(--ck-color-base-border);\\n\\n\\t& .ck.ck-form__header {\\n\\t\\tborder-bottom: 1px solid var(--ck-color-dialog-form-header-border);\\n\\t}\\n}\\n\\n@keyframes ck-dialog-fade-in {\\n\\t0% {\\n\\t\\tbackground: hsla( 0, 0%, 0%, 0 );\\n\\t}\\n\\n\\t100% {\\n\\t\\tbackground: var(--ck-dialog-overlay-background-color);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},7748:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-dialog .ck.ck-dialog__actions{display:flex;justify-content:flex-end;padding:var(--ck-spacing-large)}.ck.ck-dialog .ck.ck-dialog__actions>*+*{margin-left:var(--ck-spacing-large)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialogactions.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialogactions.css\"],names:[],mappings:\"AAMC,qCACC,YAAa,CACb,wBAAyB,CCDzB,+BDED,CCAC,yCACC,mCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-dialog {\\n\\t& .ck.ck-dialog__actions {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: flex-end;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-dialog {\\n\\t& .ck.ck-dialog__actions {\\n\\t\\tpadding: var(--ck-spacing-large);\\n\\n\\t\\t& > * + * {\\n\\t\\t\\tmargin-left: var(--ck-spacing-large);\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},1887:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-dropdown__panel{display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-panel)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{bottom:auto;top:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-panel) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{overflow:hidden;text-overflow:ellipsis;width:7em}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}.ck.ck-dropdown__panel:focus{outline:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eHkHD,CAhCA,qFG9EE,qCH8GF,CAhCA,uBAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CE1FT,oCAA8B,CF6F9B,cAuBD,CAnBC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD,CAEA,6BACC,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-dropdown-max-width: 75vw;\\n}\\n\\n.ck.ck-dropdown {\\n\\tdisplay: inline-block;\\n\\tposition: relative;\\n\\n\\t& .ck-dropdown__arrow {\\n\\t\\tpointer-events: none;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n\\n\\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\\n\\t& .ck-button.ck-dropdown__button {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t& .ck-dropdown__panel {\\n\\t\\tdisplay: none;\\n\\t\\tz-index: var(--ck-z-panel);\\n\\t\\tmax-width: var(--ck-dropdown-max-width);\\n\\n\\t\\tposition: absolute;\\n\\n\\t\\t&.ck-dropdown__panel-visible {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_ne,\\n\\t\\t&.ck-dropdown__panel_nw,\\n\\t\\t&.ck-dropdown__panel_n,\\n\\t\\t&.ck-dropdown__panel_nmw,\\n\\t\\t&.ck-dropdown__panel_nme {\\n\\t\\t\\tbottom: 100%;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_se,\\n\\t\\t&.ck-dropdown__panel_sw,\\n\\t\\t&.ck-dropdown__panel_smw,\\n\\t\\t&.ck-dropdown__panel_sme,\\n\\t\\t&.ck-dropdown__panel_s {\\n\\t\\t\\t/*\\n\\t\\t\\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\\n\\t\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\\n\\t\\t\\t */\\n\\t\\t\\ttop: 100%;\\n\\t\\t\\tbottom: auto;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_ne,\\n\\t\\t&.ck-dropdown__panel_se {\\n\\t\\t\\tleft: 0px;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nw,\\n\\t\\t&.ck-dropdown__panel_sw {\\n\\t\\t\\tright: 0px;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_s,\\n\\t\\t&.ck-dropdown__panel_n {\\n\\t\\t\\t/* Positioning panels relative to the center of the button */\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\ttransform: translateX(-50%);\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nmw,\\n\\t\\t&.ck-dropdown__panel_smw {\\n\\t\\t\\t/* Positioning panels relative to the middle-west of the button */\\n\\t\\t\\tleft: 75%;\\n\\t\\t\\ttransform: translateX(-75%);\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nme,\\n\\t\\t&.ck-dropdown__panel_sme {\\n\\t\\t\\t/* Positioning panels relative to the middle-east of the button */\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\ttransform: translateX(-25%);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\\n * See https://github.com/ckeditor/ckeditor5/issues/7874\\n */\\n.ck.ck-toolbar .ck-dropdown__panel {\\n\\tz-index: calc( var(--ck-z-panel) + 1 );\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n:root {\\n\\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\\n}\\n\\n.ck.ck-dropdown {\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t& .ck-dropdown__arrow {\\n\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t& .ck-dropdown__arrow {\\n\\t\\t\\tright: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t& .ck-dropdown__arrow {\\n\\t\\t\\tleft: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-disabled .ck-dropdown__arrow {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t& .ck-button.ck-dropdown__button {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\t/* Make sure dropdowns with just an icon have the right inner spacing */\\n\\t\\t\\t\\tpadding-left: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\t/* Make sure dropdowns with just an icon have the right inner spacing */\\n\\t\\t\\t\\tpadding-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* #23 */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\twidth: 7em;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\\n\\t\\t&.ck-disabled .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t\\t&.ck-on {\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__button_label-width_auto .ck-button__label {\\n\\t\\t\\twidth: auto;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\\n\\t\\t&.ck-off:active,\\n\\t\\t&.ck-on:active {\\n\\t\\t\\tbox-shadow: none;\\n\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-dropdown__panel {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\tbackground: var(--ck-color-dropdown-panel-background);\\n\\tborder: 1px solid var(--ck-color-dropdown-panel-border);\\n\\tbottom: 0;\\n\\n\\t/* Make sure the panel is at least as wide as the drop-down\\'s button. */\\n\\tmin-width: 100%;\\n\\n\\t/* Disabled corner border radius to be consistent with the .dropdown__button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t&.ck-dropdown__panel_se {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_sw {\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_ne {\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_nw {\\n\\t\\tborder-bottom-right-radius: 0;\\n\\t}\\n\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},6571:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-dropdown>.ck-dropdown__panel>.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBAIF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n.ck.ck-dropdown > .ck-dropdown__panel > .ck-list {\\n\\t/* Disabled radius of top-left border to be consistent with .dropdown__button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t@mixin ck-rounded-corners {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t/* Make sure the button belonging to the first/last child of the list goes well with the\\n\\tborder radius of the entire panel. */\\n\\t& .ck-list__item {\\n\\t\\t&:first-child > .ck-button {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:last-child > .ck-button {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},4890:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton>.ck-splitbutton__arrow:not(:focus){border-bottom-width:0;border-top-width:0}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:\"\";height:100%;position:absolute;width:1px}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:focus:after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:focus:after{--ck-color-split-button-hover-border:var(--ck-color-focus-border)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAMC,oIAKE,gCAAiC,CADjC,6BASF,CAbA,oIAWE,+BAAgC,CADhC,4BAGF,CAEA,0CAGC,eAiBD,CApBA,oDAQE,+BAAgC,CADhC,4BAaF,CApBA,oDAcE,gCAAiC,CADjC,6BAOF,CAHC,8CACC,mCACD,CAKD,sDAEC,qBAAwB,CADxB,kBAED,CAQC,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGA,sIACC,iEACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD,CAMF,uCCzFA,eDmGA,CAVA,qHCrFC,qCD+FD,CARE,qKACC,2BACD,CAEA,mKACC,4BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-splitbutton {\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t& .ck-splitbutton__action:focus {\\n\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t}\\n}\\n\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\\n\\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\\n}\\n\\n.ck.ck-splitbutton {\\n\\t/*\\n\\t * Note: ck-rounded and ck-dir mixins don\\'t go together (because they both use @nest).\\n\\t */\\n\\t&:hover > .ck-splitbutton__action,\\n\\t&.ck-splitbutton_open > .ck-splitbutton__action {\\n\\t\\t@nest [dir=\"ltr\"] & {\\n\\t\\t\\t/* Don\\'t round the action button on the right side */\\n\\t\\t\\tborder-top-right-radius: unset;\\n\\t\\t\\tborder-bottom-right-radius: unset;\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"rtl\"] & {\\n\\t\\t\\t/* Don\\'t round the action button on the left side */\\n\\t\\t\\tborder-top-left-radius: unset;\\n\\t\\t\\tborder-bottom-left-radius: unset;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-splitbutton__arrow {\\n\\t\\t/* It\\'s a text-less button and since the icon is positioned absolutely in such situation,\\n\\t\\tit must get some arbitrary min-width. */\\n\\t\\tmin-width: unset;\\n\\n\\t\\t@nest [dir=\"ltr\"] & {\\n\\t\\t\\t/* Don\\'t round the arrow button on the left side */\\n\\t\\t\\tborder-top-left-radius: unset;\\n\\t\\t\\tborder-bottom-left-radius: unset;\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"rtl\"] & {\\n\\t\\t\\t/* Don\\'t round the arrow button on the right side */\\n\\t\\t\\tborder-top-right-radius: unset;\\n\\t\\t\\tborder-bottom-right-radius: unset;\\n\\t\\t}\\n\\n\\t\\t& svg {\\n\\t\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\t\\t}\\n\\t}\\n\\n\\t/* Make sure the divider stretches 100% height of the button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/10936 */\\n\\t& > .ck-splitbutton__arrow:not(:focus) {\\n\\t\\tborder-top-width: 0px;\\n\\t\\tborder-bottom-width: 0px;\\n\\t}\\n\\n\\t/* When the split button is \"open\" (the arrow is on) or being hovered, it should get some styling\\n\\tas a whole. The background of both buttons should stand out and there should be a visual\\n\\tseparation between both buttons. */\\n\\t&.ck-splitbutton_open,\\n\\t&:hover {\\n\\t\\t/* When the split button hovered as a whole, not as individual buttons. */\\n\\t\\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\\n\\t\\t\\tbackground: var(--ck-color-split-button-hover-background);\\n\\t\\t}\\n\\n\\t\\t/* Splitbutton separator needs to be set with the ::after pseudoselector\\n\\t\\tto display properly the borders on focus */\\n\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\tcontent: \\'\\';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: 1px;\\n\\t\\t\\theight: 100%;\\n\\t\\t\\tbackground-color: var(--ck-color-split-button-hover-border);\\n\\t\\t}\\n\\n\\t\\t/* Make sure the divider between the buttons looks fine when the button is focused */\\n\\t\\t& > .ck-splitbutton__arrow:focus::after {\\n\\t\\t\\t--ck-color-split-button-hover-border: var(--ck-color-focus-border);\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"ltr\"] & {\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\t\\tleft: -1px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"rtl\"] & {\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\t\\tright: -1px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* Don\\'t round the bottom left and right corners of the buttons when \"open\"\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t&.ck-splitbutton_open {\\n\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t& > .ck-splitbutton__action {\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > .ck-splitbutton__arrow {\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},9432:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css\"],names:[],mappings:\"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-toolbar-dropdown-max-width: 60vw;\\n}\\n\\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\\n\\twidth: max-content;\\n\\tmax-width: var(--ck-toolbar-dropdown-max-width);\\n\\n\\t& .ck-button {\\n\\t\\t&:focus {\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-toolbar-dropdown .ck-toolbar {\\n\\tborder: 0;\\n}\\n\"],sourceRoot:\"\"}]);const c=a},1353:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-accessibility-help-dialog-max-width:600px;--ck-accessibility-help-dialog-max-height:400px;--ck-accessibility-help-dialog-border-color:#ccced1;--ck-accessibility-help-dialog-code-background-color:#ededed;--ck-accessibility-help-dialog-kbd-shadow-color:#9c9c9c}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content{border:1px solid transparent;max-height:var(--ck-accessibility-help-dialog-max-height);max-width:var(--ck-accessibility-help-dialog-max-width);overflow:auto;padding:var(--ck-spacing-large);user-select:text}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content{*{white-space:normal}}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content .ck-label{display:none}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3{font-size:1.2em;font-weight:700}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4{font-size:1em;font-weight:700}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content p,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content table{margin:1em 0}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl{border-bottom:none;border-top:1px solid var(--ck-accessibility-help-dialog-border-color);display:grid;grid-template-columns:2fr 1fr}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt{border-bottom:1px solid var(--ck-accessibility-help-dialog-border-color);padding:.4em 0}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt{grid-column-start:1}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd{grid-column-start:2;text-align:right}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code,.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd{background:var(--ck-accessibility-help-dialog-code-background-color);border-radius:2px;display:inline-block;font-size:.9em;line-height:1;padding:.4em;text-align:center;vertical-align:middle}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code{font-family:monospace}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd{box-shadow:0 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color);margin:0 1px;min-width:1.8em}.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd+kbd{margin-left:2px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/accessibilityhelp.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAQA,MACC,8CAA+C,CAC/C,+CAAgD,CAChD,mDAA8D,CAC9D,4DAAyE,CACzE,uDACD,CAEA,wEAOC,4BAA6B,CAJ7B,yDAA0D,CAD1D,uDAAwD,CAExD,aAAc,CAHd,+BAAgC,CAIhC,gBAgFD,CA5EC,8ECdA,2BAA2B,CCF3B,2CAA8B,CDC9B,YDkBA,CAZD,wEAcC,EACC,kBACD,CAqED,CAlEC,kFACC,YACD,CAEA,2EAEC,eAAgB,CADhB,eAED,CAEA,2EAEC,aAAc,CADd,eAED,CAEA,8SAIC,YACD,CAEA,2EAIC,kBAAmB,CADnB,qEAAsE,CAFtE,YAAa,CACb,6BAiBD,CAbC,4JACC,wEAAyE,CACzE,cACD,CAEA,8EACC,mBACD,CAEA,8EACC,mBAAoB,CACpB,gBACD,CAGD,yJAEC,oEAAqE,CAIrE,iBAAkB,CALlB,oBAAqB,CAOrB,cAAe,CAHf,aAAc,CAFd,YAAa,CAIb,iBAAkB,CAHlB,qBAKD,CAEA,6EACC,qBACD,CAEA,4EAEC,yEAA4E,CAC5E,YAAa,CAFb,eAOD,CAHC,gFACC,eACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-accessibility-help-dialog-max-width: 600px;\\n\\t--ck-accessibility-help-dialog-max-height: 400px;\\n\\t--ck-accessibility-help-dialog-border-color: hsl(220, 6%, 81%);\\n\\t--ck-accessibility-help-dialog-code-background-color: hsl(0deg 0% 92.94%);\\n\\t--ck-accessibility-help-dialog-kbd-shadow-color: hsl(0deg 0% 61%);\\n}\\n\\n.ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content {\\n\\tpadding: var(--ck-spacing-large);\\n\\tmax-width: var(--ck-accessibility-help-dialog-max-width);\\n\\tmax-height: var(--ck-accessibility-help-dialog-max-height);\\n\\toverflow: auto;\\n\\tuser-select: text;\\n\\n\\tborder: 1px solid transparent;\\n\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t}\\n\\n\\t* {\\n\\t\\twhite-space: normal;\\n\\t}\\n\\n\\t/* Hide the main label of the content container. */\\n\\t& .ck-label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t& h3 {\\n\\t\\tfont-weight: bold;\\n\\t\\tfont-size: 1.2em;\\n\\t}\\n\\n\\t& h4 {\\n\\t\\tfont-weight: bold;\\n\\t\\tfont-size: 1em;\\n\\t}\\n\\n\\t& p,\\n\\t& h3,\\n\\t& h4,\\n\\t& table {\\n\\t\\tmargin: 1em 0;\\n\\t}\\n\\n\\t& dl {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-template-columns: 2fr 1fr;\\n\\t\\tborder-top: 1px solid var(--ck-accessibility-help-dialog-border-color);\\n\\t\\tborder-bottom: none;\\n\\n\\t\\t& dt, & dd {\\n\\t\\t\\tborder-bottom: 1px solid var(--ck-accessibility-help-dialog-border-color);\\n\\t\\t\\tpadding: .4em 0;\\n\\t\\t}\\n\\n\\t\\t& dt {\\n\\t\\t\\tgrid-column-start: 1;\\n\\t\\t}\\n\\n\\t\\t& dd {\\n\\t\\t\\tgrid-column-start: 2;\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\t}\\n\\n\\t& kbd, & code {\\n\\t\\tdisplay: inline-block;\\n\\t\\tbackground: var(--ck-accessibility-help-dialog-code-background-color);\\n\\t\\tpadding: .4em;\\n\\t\\tvertical-align: middle;\\n\\t\\tline-height: 1;\\n\\t\\tborder-radius: 2px;\\n\\t\\ttext-align: center;\\n\\t\\tfont-size: .9em;\\n\\t}\\n\\n\\t& code {\\n\\t\\tfont-family: monospace;\\n\\t}\\n\\n\\t& kbd {\\n\\t\\tmin-width: 1.8em;\\n\\t\\tbox-shadow: 0px 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color);\\n\\t\\tmargin: 0 1px;\\n\\n\\t\\t& + kbd {\\n\\t\\t\\tmargin-left: 2px;\\n\\t\\t}\\n\\t}\\n}\\n\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},5931:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,4BAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,oDACD,CAIA,gEACC,iDACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../mixins/_button.css\";\\n\\n:root {\\n\\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\\n}\\n\\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\\n\\t@mixin ck-rounded-corners;\\n\\n\\t&.ck-focused {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-inner-shadow);\\n\\t}\\n}\\n\\n.ck.ck-editor__editable_inline {\\n\\toverflow: auto;\\n\\tpadding: 0 var(--ck-spacing-standard);\\n\\tborder: 1px solid transparent;\\n\\n\\t&[dir=\"ltr\"] {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\t&[dir=\"rtl\"] {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\\n\\t& > *:first-child {\\n\\t\\tmargin-top: var(--ck-spacing-large);\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\\n\\t& > *:last-child {\\n\\t\\t/*\\n\\t\\t * This value should match with the default margins of the block elements (like .media or .image)\\n\\t\\t * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).\\n\\t\\t */\\n\\t\\tmargin-bottom: var(--ck-spacing-large);\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\\n\\t&.ck-blurred ::selection {\\n\\t\\tbackground: var(--ck-color-editable-blur-selection);\\n\\t}\\n}\\n\\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\\n.ck.ck-balloon-panel.ck-toolbar-container[class*=\"arrow_n\"] {\\n\\t&::after {\\n\\t\\tborder-bottom-color: var(--ck-color-panel-background);\\n\\t}\\n}\\n\\n.ck.ck-balloon-panel.ck-toolbar-container[class*=\"arrow_s\"] {\\n\\t&::after {\\n\\t\\tborder-top-color: var(--ck-color-panel-background);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},8379:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__header h2.ck-form__header__label{flex-grow:1}:root{--ck-form-header-height:44px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}[dir=ltr] .ck.ck-form__header>.ck-icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-form__header>.ck-icon{margin-left:var(--ck-spacing-medium)}.ck.ck-form__header .ck-form__header__label{--ck-font-size-base:15px;font-weight:700}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css\"],names:[],mappings:\"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BAKD,CAHC,8CACC,WACD,CCPD,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAmBD,CAdC,uCAEE,qCAMF,CARA,uCAME,oCAEF,CAEA,4CACC,wBAAyB,CACzB,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-form__header {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\talign-items: center;\\n\\tjustify-content: space-between;\\n\\n\\t& h2.ck-form__header__label {\\n\\t\\tflex-grow: 1;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n:root {\\n\\t--ck-form-header-height: 44px;\\n}\\n\\n.ck.ck-form__header {\\n\\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\\n\\theight: var(--ck-form-header-height);\\n\\tline-height: var(--ck-form-header-height);\\n\\tborder-bottom: 1px solid var(--ck-color-base-border);\\n\\n\\t& > .ck-icon {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-right: var(--ck-spacing-medium);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-left: var(--ck-spacing-medium);\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-form__header__label {\\n\\t\\t--ck-font-size-base: 15px;\\n\\t\\tfont-weight: bold;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},2859:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-highlighted-text mark{background:var(--ck-color-highlight-background);font-size:inherit;font-weight:inherit;line-height:inherit;vertical-align:initial}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/highlightedtext/highlightedtext.css\"],names:[],mappings:\"AAKA,6BACC,+CAAgD,CAIhD,iBAAkB,CAFlB,mBAAoB,CACpB,mBAAoB,CAFpB,sBAID\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-highlighted-text mark {\\n\\tbackground: var(--ck-color-highlight-background);\\n\\tvertical-align: initial;\\n\\tfont-weight: inherit;\\n\\tline-height: inherit;\\n\\tfont-size: inherit;\\n}\\n\"],sourceRoot:\"\"}]);const c=a},2191:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{font-size:.8333350694em;height:var(--ck-icon-size);width:var(--ck-icon-size);will-change:transform}.ck.ck-icon,.ck.ck-icon *{cursor:inherit}.ck.ck-icon.ck-icon_inherit-color,.ck.ck-icon.ck-icon_inherit-color *{color:inherit}.ck.ck-icon.ck-icon_inherit-color :not([fill]){fill:currentColor}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css\"],names:[],mappings:\"AAKA,YACC,qBACD,CCFA,MACC,0EACD,CAEA,YAKC,uBAAwB,CAHxB,0BAA2B,CAD3B,yBAA0B,CAU1B,qBAoBD,CAlBC,0BALA,cAQA,CAMC,sEACC,aAMD,CAJC,+CAEC,iBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-icon {\\n\\tvertical-align: middle;\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\\n}\\n\\n.ck.ck-icon {\\n\\twidth: var(--ck-icon-size);\\n\\theight: var(--ck-icon-size);\\n\\n\\t/* Multiplied by the height of the line in \"px\" should give SVG \"viewport\" dimensions */\\n\\tfont-size: .8333350694em;\\n\\n\\t/* Inherit cursor style (#5). */\\n\\tcursor: inherit;\\n\\n\\t/* This will prevent blurry icons on Firefox. See #340. */\\n\\twill-change: transform;\\n\\n\\t& * {\\n\\t\\t/* Inherit cursor style (#5). */\\n\\t\\tcursor: inherit;\\n\\t}\\n\\n\\t/* Allows dynamic coloring of an icon by inheriting its color from the parent. */\\n\\t&.ck-icon_inherit-color {\\n\\t\\tcolor: inherit;\\n\\n\\t\\t& * {\\n\\t\\t\\tcolor: inherit;\\n\\n\\t\\t\\t&:not([fill]) {\\n\\t\\t\\t\\t/* Needed by FF. */\\n\\t\\t\\t\\tfill: currentColor;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},4071:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{border-radius:0}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aCLC,eD2CD,CAtCA,iECDE,qCDuCF,CAtCA,aAGC,2CAA4C,CAC5C,6CAA8C,CAK9C,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DA0BD,CAxBC,mBEnBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YFuBA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BG/BD,oDHkCC,CAGD,sBAEC,sCAAuC,CADvC,+CAMD,CAHC,4BGzCD,iDH2CC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-input-width: 18em;\\n\\n\\t/* Backward compatibility. */\\n\\t--ck-input-text-width: var(--ck-input-width);\\n}\\n\\n.ck.ck-input {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tbackground: var(--ck-color-input-background);\\n\\tborder: 1px solid var(--ck-color-input-border);\\n\\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\\n\\tmin-width: var(--ck-input-width);\\n\\n\\t/* This is important to stay of the same height as surrounding buttons */\\n\\tmin-height: var(--ck-ui-component-min-height);\\n\\n\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\\n\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t}\\n\\n\\t&[readonly] {\\n\\t\\tborder: 1px solid var(--ck-color-input-disabled-border);\\n\\t\\tbackground: var(--ck-color-input-disabled-background);\\n\\t\\tcolor: var(--ck-color-input-disabled-text);\\n\\n\\t\\t&:focus {\\n\\t\\t\\t/* The read-only input should have a slightly less visible shadow when focused. */\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-error {\\n\\t\\tborder-color: var(--ck-color-input-error-border);\\n\\t\\tanimation: ck-input-shake .3s ease both;\\n\\n\\t\\t&:focus {\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\\n\\t\\t}\\n\\t}\\n}\\n\\n@keyframes ck-input-shake {\\n\\t20% {\\n\\t\\ttransform: translateX(-2px);\\n\\t}\\n\\n\\t40% {\\n\\t\\ttransform: translateX(2px);\\n\\t}\\n\\n\\t60% {\\n\\t\\ttransform: translateX(-1px);\\n\\t}\\n\\n\\t80% {\\n\\t\\ttransform: translateX(1px);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},3475:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css\"],names:[],mappings:\"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-label {\\n\\tdisplay: block;\\n}\\n\\n.ck.ck-voice-label {\\n\\tdisplay: none;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-label {\\n\\tfont-weight: bold;\\n}\\n\"],sourceRoot:\"\"}]);const c=a},2828:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-labeled-field-label-default-position-x:var(--ck-spacing-medium);--ck-labeled-field-label-default-position-y:calc(var(--ck-font-size-base)*0.6);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0;transform:translate(calc(var(--ck-spacing-medium)*-1),-6px) scale(.75);transform-origin:100% 0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-labeled-field-label-default-position-x),var(--ck-labeled-field-label-default-position-y)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-labeled-field-label-default-position-x)*-1),var(--ck-labeled-field-label-default-position-y)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,oEAAqE,CACrE,8EAAiF,CACjF,yEACD,CAEA,0BCLC,eD+GD,CA1GA,2FCDE,qCD2GF,CAvGC,mEACC,UAoCD,CAlCC,gFACC,KAgCD,CAjCA,0FAIE,MAAS,CAGT,6DAA+D,CAF/D,oBA4BF,CAjCA,0FAWE,OAAU,CAEV,sEAA0E,CAD1E,uBAqBF,CAjCA,gFAkBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAH9C,mBAAoB,CAQpB,sBAAuB,CAKvB,+JAID,CAQA,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,2XAGE,+HAYF,CAfA,2XAOE,wIAQF,CAfA,uWAaC,sBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CAKA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-labeled-field-view {\\n\\t& > .ck.ck-labeled-field-view__input-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t& .ck.ck-label {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\\n\\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\\n\\t--ck-labeled-field-label-default-position-x: var(--ck-spacing-medium);\\n\\t--ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base));\\n\\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\\n}\\n\\n.ck.ck-labeled-field-view {\\n\\t@mixin ck-rounded-corners;\\n\\n\\t& > .ck.ck-labeled-field-view__input-wrapper {\\n\\t\\twidth: 100%;\\n\\n\\t\\t& > .ck.ck-label {\\n\\t\\t\\ttop: 0px;\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tleft: 0px;\\n\\t\\t\\t\\ttransform-origin: 0 0;\\n\\t\\t\\t\\t/* By default, display the label scaled down above the field. */\\n\\t\\t\\t\\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tright: 0px;\\n\\t\\t\\t\\ttransform-origin: 100% 0;\\n\\t\\t\\t\\ttransform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75);\\n\\t\\t\\t}\\n\\n\\t\\t\\tpointer-events: none;\\n\\n\\t\\t\\tbackground: var(--ck-color-labeled-field-label-background);\\n\\t\\t\\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\\n\\t\\t\\tline-height: initial;\\n\\t\\t\\tfont-weight: normal;\\n\\n\\t\\t\\t/* Prevent overflow when the label is longer than the input */\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\tmax-width: 100%;\\n\\n\\t\\t\\ttransition:\\n\\t\\t\\t\\ttransform var(--ck-labeled-field-view-transition),\\n\\t\\t\\t\\tpadding var(--ck-labeled-field-view-transition),\\n\\t\\t\\t\\tbackground var(--ck-labeled-field-view-transition);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-error {\\n\\t\\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\n\\t\\t& .ck-input:not([readonly]) + .ck.ck-label {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-labeled-field-view__status {\\n\\t\\tfont-size: var(--ck-font-size-small);\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\n\\t\\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\\n\\t\\tThe status could be very long. */\\n\\t\\twhite-space: normal;\\n\\n\\t\\t&.ck-labeled-field-view__status_error {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\t}\\n\\n\\t/* Disabled fields and fields that have no focus should fade out. */\\n\\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\tcolor: var(--ck-color-input-disabled-text);\\n\\t}\\n\\n\\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\\n\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t&.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttransform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttransform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1);\\n\\t\\t}\\n\\n\\t\\t/* Compensate for the default translate position. */\\n\\t\\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\\n\\n\\t\\tbackground: transparent;\\n\\t\\tpadding: 0;\\n\\t}\\n\\n\\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\\n\\n\\t/* Make sure dropdown\\' background color in any of dropdown\\'s state does not collide with labeled field. */\\n\\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\\n\\t\\tbackground: transparent;\\n\\t}\\n\\n\\t/* When the dropdown is \"empty\", the labeled field label replaces its label. */\\n\\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\\n\\t\\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},8753:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}:root{--ck-list-button-padding:calc(var(--ck-line-height-base)*0.11*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*0.4*var(--ck-font-size-base))}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{background:var(--ck-color-list-background);list-style-type:none}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item>.ck-button{border-radius:0;min-height:unset;width:100%}[dir=ltr] .ck.ck-list__item>.ck-button{text-align:left}[dir=rtl] .ck.ck-list__item>.ck-button{text-align:right}.ck.ck-list__item>.ck-button{padding:var(--ck-list-button-padding)}.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-switchbutton):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-list .ck-list__group{padding-top:var(--ck-spacing-medium);:not(.ck-hidden)~&{border-top:1px solid var(--ck-color-base-border)}}.ck-list .ck-list__group>.ck-label{font-size:11px;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium)}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;width:100%}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEdD,MACC,qJAGD,CAEA,YCLC,eDUD,CALA,+DCDE,qCDMF,CALA,YAIC,0CAA2C,CAD3C,oBAED,CAEA,kBACC,cAAe,CACf,cA2DD,CAzDC,6BAGC,eAAgB,CAFhB,gBAAiB,CACjB,UAwCD,CA1CA,uCAME,eAoCF,CA1CA,uCAUE,gBAgCF,CA1CA,6BAgBC,qCA0BD,CAxBC,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,iFACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,yBACC,oCAAqC,CAGrC,mBACC,gDACD,CAOD,CALC,mCACC,cAAe,CACf,eAAiB,CACjB,oFACD,CAGD,uBAGC,sCAAuC,CAFvC,UAAW,CACX,UAED\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n\\n.ck.ck-list {\\n\\t@mixin ck-unselectable;\\n\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t& .ck-list__item,\\n\\t& .ck-list__separator {\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t/* Make sure that whatever child of the list item gets focus, it remains on the\\n\\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\\n\\tadjacent list items. */\\n\\t& .ck-list__item > *:focus {\\n\\t\\tposition: relative;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n:root {\\n\\t--ck-list-button-padding:\\n\\t\\tcalc(.11 * var(--ck-line-height-base) * var(--ck-font-size-base))\\n\\t\\tcalc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));\\n}\\n\\n.ck.ck-list {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tlist-style-type: none;\\n\\tbackground: var(--ck-color-list-background);\\n}\\n\\n.ck.ck-list__item {\\n\\tcursor: default;\\n\\tmin-width: 12em;\\n\\n\\t& > .ck-button {\\n\\t\\tmin-height: unset;\\n\\t\\twidth: 100%;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\n\\t\\t/* List items should have the same height. Use absolute units to make sure it is so\\n\\t\\t because e.g. different heading styles may have different height\\n\\t\\t https://github.com/ckeditor/ckeditor5-heading/issues/63 */\\n\\t\\tpadding: var(--ck-list-button-padding);\\n\\n\\t\\t&:active {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\n\\t\\t&.ck-on {\\n\\t\\t\\tbackground: var(--ck-color-list-button-on-background);\\n\\t\\t\\tcolor: var(--ck-color-list-button-on-text);\\n\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tbox-shadow: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\t\\tbackground: var(--ck-color-list-button-on-background-focus);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:focus:not(.ck-switchbutton):not(.ck-disabled) {\\n\\t\\t\\t\\tborder-color: var(--ck-color-base-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\tbackground: var(--ck-color-list-button-hover-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* It\\'s unnecessary to change the background/text of a switch toggle; it has different ways\\n\\tof conveying its state (like the switcher) */\\n\\t& > .ck-switchbutton {\\n\\t\\t&.ck-on {\\n\\t\\t\\tbackground: var(--ck-color-list-background);\\n\\t\\t\\tcolor: inherit;\\n\\n\\t\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\t\\tbackground: var(--ck-color-list-button-hover-background);\\n\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-list .ck-list__group {\\n\\tpadding-top: var(--ck-spacing-medium);\\n\\n\\t/* The group should have a border when it\\'s not the first item. */\\n\\t*:not(.ck-hidden) ~ & {\\n\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t}\\n\\n\\t& > .ck-label {\\n\\t\\tfont-size: 11px;\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium);\\n\\t}\\n}\\n\\n.ck.ck-list__separator {\\n\\theight: 1px;\\n\\twidth: 100%;\\n\\tbackground: var(--ck-color-base-border);\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},3779:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-menu-bar{background:var(--ck-color-base-background);border:1px solid var(--ck-color-toolbar-border);display:flex;flex-wrap:wrap;gap:var(--ck-spacing-small);justify-content:flex-start;padding:var(--ck-spacing-small);width:100%}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubar.css\"],names:[],mappings:\"AAKA,gBAIC,0CAA2C,CAG3C,+CAAgD,CANhD,YAAa,CACb,cAAe,CAIf,2BAA4B,CAH5B,0BAA2B,CAE3B,+BAAgC,CAGhC,UACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-menu-bar {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tjustify-content: flex-start;\\n\\tbackground: var(--ck-color-base-background);\\n\\tpadding: var(--ck-spacing-small);\\n\\tgap: var(--ck-spacing-small);\\n\\tborder: 1px solid var(--ck-color-toolbar-border);\\n\\twidth: 100%;\\n}\\n\"],sourceRoot:\"\"}]);const c=a},5842:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-menu-bar__menu{display:block;font-size:inherit;position:relative}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level{max-width:100%}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenu.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenu.css\"],names:[],mappings:\"AAKA,sBACC,aAAc,CCCd,iBAAkB,CDAlB,iBACD,CCCC,kDACC,cACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-menu-bar__menu {\\n\\tdisplay: block;\\n\\tposition: relative;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-menu-bar__menu {\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t&.ck-menu-bar__menu_top-level {\\n\\t\\tmax-width: 100%;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},6050:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-menu-bar__menu>.ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button{padding:var(--ck-list-button-padding);width:100%}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button>.ck-button__label{flex-grow:1;overflow:hidden;text-overflow:ellipsis}.ck.ck-menu-bar__menu>.ck-menu-bar__menu__button.ck-disabled>.ck-button__label{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-menu-bar__menu>.ck-menu-bar__menu__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-menu-bar__menu>.ck-menu-bar__menu__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button{min-height:unset;padding:var(--ck-spacing-small) var(--ck-spacing-medium)}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button .ck-button__label{line-height:unset;width:unset}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__button .ck-icon{display:none}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button{border-radius:0}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button:focus{border-color:transparent;box-shadow:none}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button:focus:not(.ck-on){background:var(--ck-color-button-default-hover-background)}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button:not(:has(.ck-button__icon))>.ck-button__label{margin-left:calc(var(--ck-icon-size) - var(--ck-spacing-small))}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{transform:rotate(-90deg)}[dir=rtl] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{transform:rotate(90deg)}.ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button.ck-disabled>.ck-menu-bar__menu__button__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button>.ck-menu-bar__menu__button__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenubutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenubutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\"],names:[],mappings:\"AAMC,mFACC,mBAAoB,CACpB,2BACD,CCIA,iDACC,qCAAsC,CACtC,UAuBD,CArBC,mEACC,WAAY,CACZ,eAAgB,CAChB,sBACD,CAEA,+ECdD,kCDgBC,CAGC,qFACC,oCACD,CAIA,qFACC,qCACD,CAOF,6EAEC,gBAAiB,CADjB,wDAgBD,CAbC,+FAEC,iBAAkB,CADlB,WAED,CAEA,mFACC,2BAA4B,CAC5B,4BACD,CAEA,sFACC,YACD,CAMD,mFACC,eAiDD,CA/CC,yFACC,wBAAyB,CACzB,eAKD,CAHC,qGACC,0DACD,CAID,iIACC,+DACD,CAEA,qHACC,mCASD,CAVA,+HAIE,wBAMF,CAVA,+HAQE,uBAEF,CAEA,iICrFD,kCDuFC,CAGC,+HAIC,sCAAuC,CAHvC,gCAID,CAIA,+HACC,+BAAgC,CAGhC,oCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-menu-bar__menu {\\n\\t& > .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow {\\n\\t\\tpointer-events: none;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../mixins/_button.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-menu-bar__menu {\\n\\t/*\\n\\t * All menu buttons.\\n\\t */\\n\\t& > .ck-menu-bar__menu__button {\\n\\t\\tpadding: var(--ck-list-button-padding);\\n\\t\\twidth: 100%;\\n\\n\\t\\t& > .ck-button__label {\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&.ck-disabled > .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\tpadding-left: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\tpadding-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Top-level menu buttons only.\\n\\t */\\n\\t&.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button {\\n\\t\\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\\n\\t\\tmin-height: unset;\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\twidth: unset;\\n\\t\\t\\tline-height: unset;\\n\\t\\t}\\n\\n\\t\\t&.ck-on {\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Sub-menu buttons.\\n\\t */\\n\\t&:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button {\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t&:focus {\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tbox-shadow: none;\\n\\n\\t\\t\\t&:not(.ck-on) {\\n\\t\\t\\t\\tbackground: var(--ck-color-button-default-hover-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Spacing in buttons that miss the icon. */\\n\\t\\t&:not(:has(.ck-button__icon)) > .ck-button__label {\\n\\t\\t\\tmargin-left: calc(var(--ck-icon-size) - var(--ck-spacing-small));\\n\\t\\t}\\n\\n\\t\\t& > .ck-menu-bar__menu__button__arrow {\\n\\t\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\ttransform: rotate(-90deg);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\ttransform: rotate(90deg);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-disabled > .ck-menu-bar__menu__button__arrow {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t& > .ck-menu-bar__menu__button__arrow {\\n\\t\\t\\t\\tright: var(--ck-spacing-standard);\\n\\n\\t\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t& > .ck-menu-bar__menu__button__arrow {\\n\\t\\t\\t\\tleft: var(--ck-spacing-standard);\\n\\n\\t\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},3835:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-menu-bar-menu-item-min-width:18em}.ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item{min-width:var(--ck-menu-bar-menu-item-min-width)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenulistitem.css\"],names:[],mappings:\"AAKA,MACC,sCACD,CAEA,kDACC,gDACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-menu-bar-menu-item-min-width: 18em;\\n}\\n\\n.ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item {\\n\\tmin-width: var(--ck-menu-bar-menu-item-min-width);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},5519:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button{border-radius:0}.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container,.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container .ck-spinner{--ck-toolbar-spinner-size:20px}.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button>.ck-spinner-container{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button:focus{border-color:transparent;box-shadow:none}.ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button:focus:not(.ck-on){background:var(--ck-color-button-default-hover-background)}.ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level>.ck-menu-bar__menu__panel>ul>.ck-menu-bar__menu__item>.ck-menu-bar__menu__item__button:not(:has(.ck-button__icon))>.ck-button__label{margin-left:calc(var(--ck-icon-size) - var(--ck-spacing-small))}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenulistitembutton.css\"],names:[],mappings:\"AASC,iEACC,eA0BD,CAxBC,0LAGC,8BACD,CAEA,uFAEC,4CAA+C,CAC/C,oCACD,CAMA,uEACC,wBAAyB,CACzB,eAKD,CAHC,mFACC,0DACD,CASD,uLACC,+DACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-menu-bar__menu {\\n\\t/*\\n\\t * List item buttons.\\n\\t */\\n\\t& .ck-button.ck-menu-bar__menu__item__button {\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t& > .ck-spinner-container,\\n\\t\\t& > .ck-spinner-container .ck-spinner {\\n\\t\\t\\t/* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */\\n\\t\\t\\t--ck-toolbar-spinner-size: 20px;\\n\\t\\t}\\n\\n\\t\\t& > .ck-spinner-container {\\n\\t\\t\\t/* These margins are the same as for .ck-icon. */\\n\\t\\t\\tmargin-left: calc(-1 * var(--ck-spacing-small));\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Hovered items automatically get focused. Default focus styles look odd\\n\\t\\t * while moving across a huge list of items so let's get rid of them\\n\\t\\t */\\n\\t\\t&:focus {\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tbox-shadow: none;\\n\\n\\t\\t\\t&:not(.ck-on) {\\n\\t\\t\\t\\tbackground: var(--ck-color-button-default-hover-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * First-level sub-menu item buttons.\\n\\t */\\n\\t&.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__panel > ul > .ck-menu-bar__menu__item > .ck-menu-bar__menu__item__button {\\n\\t\\t/* Spacing in buttons that miss the icon. */\\n\\t\\t&:not(:has(.ck-button__icon)) > .ck-button__label {\\n\\t\\t\\tmargin-left: calc(var(--ck-icon-size) - var(--ck-spacing-small));\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n\"],sourceRoot:\"\"}]);const c=a},5306:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-menu-bar-menu-max-width:75vw;--ck-menu-bar-nested-menu-horizontal-offset:5px}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{max-width:var(--ck-menu-bar-menu-max-width);position:absolute;z-index:var(--ck-z-panel)}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw{bottom:100%}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw{bottom:auto;top:100%}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se{left:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw{right:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es{left:calc(100% - var(--ck-menu-bar-nested-menu-horizontal-offset))}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es{top:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en{bottom:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{right:calc(100% - var(--ck-menu-bar-nested-menu-horizontal-offset))}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{top:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn{bottom:0}:root{--ck-menu-bar-menu-panel-max-width:75vw}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{border-radius:0}.ck-rounded-corners .ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;height:fit-content;max-width:var(--ck-menu-bar-menu-panel-max-width)}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se{border-top-left-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws{border-top-right-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne{border-bottom-left-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw,.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn{border-bottom-right-radius:0}.ck.ck-menu-bar__menu>.ck.ck-menu-bar__menu__panel:focus{outline:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/menubar/menubarmenupanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/menubar/menubarmenupanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,MACC,iCAAkC,CAClC,+CACD,CAEA,mDAEC,2CAA4C,CAC5C,iBAAkB,CAFlB,yBAkDD,CA9CC,gLAEC,WACD,CAEA,gLAGC,WAAY,CADZ,QAED,CAEA,gLAEC,MACD,CAEA,gLAEC,OACD,CAEA,gLAEC,kEACD,CAEA,wFACC,KACD,CAEA,wFACC,QACD,CAEA,gLAEC,mEACD,CAEA,wFACC,KACD,CAEA,wFACC,QACD,CCpDD,MACC,uCACD,CAEA,mDCDC,eDmCD,CAlCA,6ICGE,qCD+BF,CAlCA,mDAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CETT,oCAA8B,CFU9B,kBAAmB,CACnB,iDA0BD,CAvBC,gLAEC,wBACD,CAEA,gLAEC,yBACD,CAEA,gLAEC,2BACD,CAEA,gLAEC,4BACD,CAEA,yDACC,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-menu-bar-menu-max-width: 75vw;\\n\\t--ck-menu-bar-nested-menu-horizontal-offset: 5px;\\n}\\n\\n.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {\\n\\tz-index: var(--ck-z-panel);\\n\\tmax-width: var(--ck-menu-bar-menu-max-width);\\n\\tposition: absolute;\\n\\n\\t&.ck-menu-bar__menu__panel_position_ne,\\n\\t&.ck-menu-bar__menu__panel_position_nw {\\n\\t\\tbottom: 100%;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_se,\\n\\t&.ck-menu-bar__menu__panel_position_sw {\\n\\t\\ttop: 100%;\\n\\t\\tbottom: auto;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_ne,\\n\\t&.ck-menu-bar__menu__panel_position_se {\\n\\t\\tleft: 0px;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_nw,\\n\\t&.ck-menu-bar__menu__panel_position_sw {\\n\\t\\tright: 0px;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_es,\\n\\t&.ck-menu-bar__menu__panel_position_en {\\n\\t\\tleft: calc( 100% - var(--ck-menu-bar-nested-menu-horizontal-offset) );\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_es {\\n\\t\\ttop: 0px;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_en {\\n\\t\\tbottom: 0px;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_ws,\\n\\t&.ck-menu-bar__menu__panel_position_wn {\\n\\t\\tright: calc( 100% - var(--ck-menu-bar-nested-menu-horizontal-offset) );\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_ws {\\n\\t\\ttop: 0px;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_wn {\\n\\t\\tbottom: 0px;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-menu-bar-menu-panel-max-width: 75vw;\\n}\\n\\n.ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\tbackground: var(--ck-color-dropdown-panel-background);\\n\\tborder: 1px solid var(--ck-color-dropdown-panel-border);\\n\\tbottom: 0;\\n\\theight: fit-content;\\n\\tmax-width: var(--ck-menu-bar-menu-panel-max-width);\\n\\n\\t/* Corner border radius consistent with the button. */\\n\\t&.ck-menu-bar__menu__panel_position_es,\\n\\t&.ck-menu-bar__menu__panel_position_se {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_ws,\\n\\t&.ck-menu-bar__menu__panel_position_sw {\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_en,\\n\\t&.ck-menu-bar__menu__panel_position_ne {\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-menu-bar__menu__panel_position_wn,\\n\\t&.ck-menu-bar__menu__panel_position_nw {\\n\\t\\tborder-bottom-right-radius: 0;\\n\\t}\\n\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},9316:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-panel)}.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-border-width:1px;--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{background:var(--ck-color-panel-background);border:var(--ck-balloon-border-width) solid var(--ck-color-panel-border);box-shadow:var(--ck-drop-shadow),0 0;min-height:15px}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent;margin-top:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow));margin-bottom:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;margin-bottom:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_e]:after,.ck.ck-balloon-panel[class*=arrow_e]:before{border-width:var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_e]:before{border-color:transparent transparent transparent var(--ck-color-panel-border);margin-right:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_e]:after{border-color:transparent transparent transparent var(--ck-color-panel-background);margin-right:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_w]:after,.ck.ck-balloon-panel[class*=arrow_w]:before{border-width:var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0}.ck.ck-balloon-panel[class*=arrow_w]:before{border-color:transparent var(--ck-color-panel-border) transparent transparent;margin-left:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_w]:after{border-color:transparent var(--ck-color-panel-background) transparent transparent;margin-left:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before{margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);right:calc(var(--ck-balloon-arrow-height)*-1);top:50%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before{left:calc(var(--ck-balloon-arrow-height)*-1);margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);top:50%}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCLC,eDmMD,CA9LA,iFCDE,qCD+LF,CA9LA,qBAMC,2CAA4C,CAC5C,wEAAyE,CEdzE,oCAA8B,CFW9B,eA0LD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,kDACD,CAEA,2CACC,iFAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,iEAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,iFAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,oDACD,CAEA,2CACC,iFAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,mDACD,CAEA,2CACC,iFAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/* Make sure the balloon arrow does not float over its children. */\\n\\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\\n}\\n\\n.ck.ck-balloon-panel {\\n\\tdisplay: none;\\n\\tposition: absolute;\\n\\n\\tz-index: var(--ck-z-panel);\\n\\n\\t&.ck-balloon-panel_with-arrow {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \"\";\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_n\"] {\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_s\"] {\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_visible {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-balloon-border-width: 1px;\\n\\t--ck-balloon-arrow-offset: 2px;\\n\\t--ck-balloon-arrow-height: 10px;\\n\\t--ck-balloon-arrow-half-width: 8px;\\n\\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\\n}\\n\\n.ck.ck-balloon-panel {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\tmin-height: 15px;\\n\\n\\tbackground: var(--ck-color-panel-background);\\n\\tborder: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);\\n\\n\\t&.ck-balloon-panel_with-arrow {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_n\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\\n\\t\\t\\tmargin-top: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\\n\\t\\t\\tmargin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_s\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: var(--ck-color-panel-border) transparent transparent;\\n\\t\\t\\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\\n\\t\\t\\tmargin-bottom: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\\n\\t\\t\\tmargin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_e\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: transparent transparent transparent var(--ck-color-panel-border);\\n\\t\\t\\tmargin-right: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: transparent transparent transparent var(--ck-color-panel-background);\\n\\t\\t\\tmargin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_w\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: transparent var(--ck-color-panel-border) transparent transparent;\\n\\t\\t\\tmargin-left: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: transparent var(--ck-color-panel-background) transparent transparent;\\n\\t\\t\\tmargin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_n {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_ne {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_s {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_sw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_se {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_sme {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: 25%;\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_smw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nme {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: 25%;\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nmw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_e {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t\\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: 50%;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_w {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t\\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: 50%;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},6841:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css\"],names:[],mappings:\"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-balloon-rotator__navigation {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\\n */\\n.ck .ck-balloon-rotator__content .ck-toolbar {\\n\\tjustify-content: center;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-balloon-rotator__navigation {\\n\\tbackground: var(--ck-color-toolbar-background);\\n\\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\n\\t/* Let's keep similar appearance to `ck-toolbar`. */\\n\\t& > * {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Gives counter more breath than buttons. */\\n\\t& .ck-balloon-rotator__counter {\\n\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\n\\t\\t/* We need to use smaller margin because of previous button's right margin. */\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n.ck .ck-balloon-rotator__content {\\n\\n\\t/* Disable default annotation shadow inside rotator with fake panels. */\\n\\t& .ck.ck-annotation-wrapper {\\n\\t\\tbox-shadow: none;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},726:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-panel) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-fake-panel {\\n\\tposition: absolute;\\n\\n\\t/* Fake panels should be placed under main balloon content. */\\n\\tz-index: calc(var(--ck-z-panel) - 1);\\n}\\n\\n.ck .ck-fake-panel div {\\n\\tposition: absolute;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 1 ) {\\n\\tz-index: 2;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 2 ) {\\n\\tz-index: 1;\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-balloon-fake-panel-offset-horizontal: 6px;\\n\\t--ck-balloon-fake-panel-offset-vertical: 6px;\\n}\\n\\n/* Let\\'s use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\\n.ck .ck-fake-panel div {\\n\\t@mixin ck-drop-shadow;\\n\\n\\tmin-height: 15px;\\n\\n\\tbackground: var(--ck-color-panel-background);\\n\\tborder: 1px solid var(--ck-color-panel-border);\\n\\tborder-radius: var(--ck-border-radius);\\n\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 1 ) {\\n\\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\\n\\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 2 ) {\\n\\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\\n\\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\\n}\\n.ck .ck-fake-panel div:nth-child( 3 ) {\\n\\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\\n\\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\\n}\\n\\n/* If balloon is positioned above element, we need to move fake panel to the top. */\\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\\n\\t--ck-balloon-fake-panel-offset-vertical: -6px;\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},8016:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-panel)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-sticky-panel {\\n\\t& .ck-sticky-panel__content_sticky {\\n\\t\\tz-index: var(--ck-z-panel); /* #315 */\\n\\t\\tposition: fixed;\\n\\t\\ttop: 0;\\n\\t}\\n\\n\\t& .ck-sticky-panel__content_sticky_bottom-limit {\\n\\t\\ttop: auto;\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_shadow.css\";\\n\\n.ck.ck-sticky-panel {\\n\\t& .ck-sticky-panel__content_sticky {\\n\\t\\t@mixin ck-drop-shadow;\\n\\n\\t\\tborder-width: 0 1px 1px;\\n\\t\\tborder-top-left-radius: 0;\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},7072:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:\"\";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:\"\";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-width)*.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){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}[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)}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css\"],names:[],mappings:\"AAQC,mCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,yCACC,YACD,CCdA,oCDoBE,wCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,8CACC,YACD,CC9BF,CCAD,qDACC,kDACD,CAEA,uBACC,+BAmED,CAjEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,oCA8CF,CA5CE,8CACC,wDAWD,CATC,6DACC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAKA,0DACC,kDACD,CAGD,iGAIC,eAAgB,CADhB,kCAAmC,CADnC,kCAmBD,CAfC,yHACC,gDACD,CARD,0OAeE,aAMF,CAJE,+IACC,kDACD,CDpEH\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck-vertical-form .ck-button {\\n\\t&::after {\\n\\t\\tcontent: \"\";\\n\\t\\twidth: 0;\\n\\t\\tposition: absolute;\\n\\t\\tright: -1px;\\n\\t\\ttop: -1px;\\n\\t\\tbottom: -1px;\\n\\t\\tz-index: 1;\\n\\t}\\n\\n\\t&:focus::after {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n.ck.ck-responsive-form {\\n\\t@mixin ck-media-phone {\\n\\t\\t& .ck-button {\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tcontent: \"\";\\n\\t\\t\\t\\twidth: 0;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tright: -1px;\\n\\t\\t\\t\\ttop: -1px;\\n\\t\\t\\t\\tbottom: -1px;\\n\\t\\t\\t\\tz-index: 1;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:focus::after {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck-vertical-form > .ck-button:nth-last-child(2)::after {\\n\\tborder-right: 1px solid var(--ck-color-base-border);\\n}\\n\\n.ck.ck-responsive-form {\\n\\tpadding: var(--ck-spacing-large);\\n\\n\\t&:focus {\\n\\t\\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t& > :not(:first-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t& > :not(:last-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tpadding: 0;\\n\\t\\twidth: calc(.8 * var(--ck-input-width));\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) 0;\\n\\n\\t\\t\\t& .ck-input-text {\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* Let the long error messages wrap in the narrow form. */\\n\\t\\t\\t& .ck-labeled-field-view__error {\\n\\t\\t\\t\\twhite-space: normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */\\n\\t\\t& > .ck-button:nth-last-child(2) {\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tborder-right: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& > .ck-button:nth-last-child(1),\\n\\t\\t& > .ck-button:nth-last-child(2) {\\n\\t\\t\\tpadding: var(--ck-spacing-standard);\\n\\t\\t\\tmargin-top: var(--ck-spacing-large);\\n\\t\\t\\tborder-radius: 0;\\n\\n\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\n\\t\\t\\t\\t&:last-of-type {\\n\\t\\t\\t\\t\\tborder-right: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},9381:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{position:absolute;top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{left:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{right:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view .ck-search__reset{position:absolute;top:50%;transform:translateY(-50%)}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{display:block}.ck.ck-search>.ck-search__results>.ck-search__info:not(.ck-hidden)~*{display:none}:root{--ck-search-field-view-horizontal-spacing:calc(var(--ck-icon-size) + var(--ck-spacing-medium))}.ck.ck-search>.ck-labeled-field-view .ck-input{width:100%}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon{--ck-labeled-field-label-default-position-x:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon>.ck-labeled-field-view__input-wrapper>.ck-icon{opacity:.5;pointer-events:none}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input,[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input:not(.ck-input-text_empty){padding-left:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset{--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty{--ck-labeled-field-empty-unfocused-max-width:100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{background:none;min-height:auto;min-width:auto;opacity:.5;padding:0}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{left:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover{opacity:1}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input:not(.ck-input-text_empty),[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{padding-right:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-search__results{min-width:100%}.ck.ck-search>.ck-search__results>.ck-search__info{padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-search>.ck-search__results>.ck-search__info *{white-space:normal}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{font-weight:700}.ck.ck-search>.ck-search__results>.ck-search__info>span:last-child{margin-top:var(--ck-spacing-medium)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/search/search.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/search/search.css\"],names:[],mappings:\"AASE,oFACC,iBAAkB,CAClB,OAAQ,CACR,0BASD,CAZA,8FAME,6BAMF,CAZA,8FAUE,8BAEF,CAEA,uDACC,iBAAkB,CAClB,OAAQ,CACR,0BACD,CAKC,oEACC,aACD,CAGA,qEACC,YACD,CChCH,MACC,8FACD,CAIE,+CACC,UACD,CAEA,gEACC,0FAoBD,CAlBC,+GACC,UAAW,CACX,mBACD,CAEA,0EACC,UAWD,CAJE,kMACC,2DACD,CAKH,iEACC,sGAwCD,CAtCC,6FACC,6HACD,CAEA,mFAIC,eAAgB,CAFhB,eAAgB,CADhB,cAAe,CAIf,UAAW,CACX,SAaD,CAnBA,6FASE,8BAUF,CAnBA,6FAaE,6BAMF,CAHC,yFACC,SACD,CAGD,2EACC,UAWD,CAZA,oMAUE,4DAEF,CAIF,kCACC,cAkBD,CAhBC,mDAEC,wDAAyD,CADzD,UAcD,CAXC,qDACC,kBACD,CAEA,oEACC,eACD,CAEA,mEACC,mCACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-search {\\n\\t& > .ck-labeled-field-view {\\n\\t\\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\ttransform: translateY(-50%);\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tleft: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tright: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .ck-search__reset {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\ttransform: translateY(-50%);\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-search__results {\\n\\t\\t& > .ck-search__info {\\n\\t\\t\\t& > span:first-child {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* Hide the filtered view when nothing was found */\\n\\t\\t\\t&:not(.ck-hidden) ~ * {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n:root {\\n\\t--ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium));\\n}\\n\\n.ck.ck-search {\\n\\t& > .ck-labeled-field-view {\\n\\t\\t& .ck-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&.ck-search__query_with-icon {\\n\\t\\t\\t--ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing);\\n\\n\\t\\t\\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\\n\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-input {\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\t&:not(.ck-input-text_empty) {\\n\\t\\t\\t\\t\\t\\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-search__query_with-reset {\\n\\t\\t\\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing);\\n\\n\\t\\t\\t&.ck-labeled-field-view_empty {\\n\\t\\t\\t\\t--ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-search__reset {\\n\\t\\t\\t\\tmin-width: auto;\\n\\t\\t\\t\\tmin-height: auto;\\n\\n\\t\\t\\t\\tbackground: none;\\n\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\tright: var(--ck-spacing-medium);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\tleft: var(--ck-spacing-medium);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-input {\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\t&:not(.ck-input-text_empty) {\\n\\t\\t\\t\\t\\t\\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-search__results {\\n\\t\\tmin-width: 100%;\\n\\n\\t\\t& > .ck-search__info {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large);\\n\\n\\t\\t\\t& * {\\n\\t\\t\\t\\twhite-space: normal;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > span:first-child {\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > span:last-child {\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n'],sourceRoot:\"\"}]);const c=a},6047:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-spinner-container{display:block;position:relative}.ck.ck-spinner{left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1}:root{--ck-toolbar-spinner-size:18px}.ck.ck-spinner-container{animation:rotate 1.5s linear infinite}.ck.ck-spinner,.ck.ck-spinner-container{height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}.ck.ck-spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent}@keyframes rotate{to{transform:rotate(1turn)}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/spinner/spinner.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/spinner/spinner.css\"],names:[],mappings:\"AASA,yBACC,aAAc,CACd,iBACD,CAEA,eAGC,MAAO,CAEP,aAAc,CAJd,iBAAkB,CAGlB,OAAQ,CAFR,OAAQ,CAIR,0BAA2B,CAC3B,SACD,CCjBA,MACC,8BACD,CAEA,yBAGC,qCACD,CAEA,wCAJC,qCAAsC,CADtC,oCAWD,CANA,eAKC,qCAA6B,CAF7B,iBAAkB,CAElB,gCACD,CAEA,kBACC,GACC,uBACD,CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-toolbar-spinner-size: 18px;\\n}\\n\\n.ck.ck-spinner-container {\\n\\tdisplay: block;\\n\\tposition: relative;\\n}\\n\\n.ck.ck-spinner {\\n\\tposition: absolute;\\n\\ttop: 50%;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tmargin: 0 auto;\\n\\ttransform: translateY(-50%);\\n\\tz-index: 1;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-toolbar-spinner-size: 18px;\\n}\\n\\n.ck.ck-spinner-container {\\n\\twidth: var(--ck-toolbar-spinner-size);\\n\\theight: var(--ck-toolbar-spinner-size);\\n\\tanimation: 1.5s infinite rotate linear;\\n}\\n\\n.ck.ck-spinner {\\n\\twidth: var(--ck-toolbar-spinner-size);\\n\\theight: var(--ck-toolbar-spinner-size);\\n\\tborder-radius: 50%;\\n\\tborder: 2px solid var(--ck-color-text);\\n\\tborder-top-color: transparent;\\n}\\n\\n@keyframes rotate {\\n\\tto {\\n\\t\\ttransform: rotate(360deg)\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const c=a},4097:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-textarea{overflow-x:hidden}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/textarea/textarea.css\"],names:[],mappings:\"AASA,aACC,iBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/*\\n * This fixes a problem in Firefox when the initial height of the complement does not match the number of rows.\\n * This bug is especially visible when rows=1.\\n */\\n.ck-textarea {\\n\\toverflow-x: hidden\\n}\\n\"],sourceRoot:\"\"}]);const c=a},8604:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css\"],names:[],mappings:\"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-block-toolbar-button {\\n\\tposition: absolute;\\n\\tz-index: var(--ck-z-default);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-block-toolbar-button: var(--ck-color-text);\\n\\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\\n}\\n\\n.ck.ck-block-toolbar-button {\\n\\tcolor: var(--ck-color-block-toolbar-button);\\n\\tfont-size: var(--ck-block-toolbar-size);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},9423:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);border:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;background:var(--ck-color-toolbar-border);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border-radius:0;margin:0;width:100%}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.ck.ck-toolbar:focus{outline:none}.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.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{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.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eDwGD,CA3GA,qECOE,qCDoGF,CA3GA,eAGC,6CAA8C,CAE9C,+CAAgD,CADhD,iCAuGD,CApGC,yCACC,kBAAmB,CAGnB,yCAA0C,CAO1C,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAGD,qBACC,YACD,CAtGD,qCAyGE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n\\n.ck.ck-toolbar {\\n\\t@mixin ck-unselectable;\\n\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: center;\\n\\n\\t& > .ck-toolbar__items {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-flow: row wrap;\\n\\t\\talign-items: center;\\n\\t\\tflex-grow: 1;\\n\\n\\t}\\n\\n\\t& .ck.ck-toolbar__separator {\\n\\t\\tdisplay: inline-block;\\n\\n\\t\\t/*\\n\\t\\t * A leading or trailing separator makes no sense (separates from nothing on one side).\\n\\t\\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\\n\\t\\t * moved to another toolbar in the dropdown.\\n\\t\\t */\\n\\t\\t&:first-child,\\n\\t\\t&:last-child {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-toolbar__line-break {\\n\\t\\tflex-basis: 100%;\\n\\t}\\n\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items {\\n\\t\\tflex-wrap: nowrap;\\n\\t}\\n\\n\\t&.ck-toolbar_vertical > .ck-toolbar__items {\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&.ck-toolbar_floating > .ck-toolbar__items {\\n\\t\\tflex-wrap: nowrap;\\n\\t}\\n\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t& > .ck-dropdown__button .ck-dropdown__arrow {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-toolbar {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tbackground: var(--ck-color-toolbar-background);\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\tborder: 1px solid var(--ck-color-toolbar-border);\\n\\n\\t& .ck.ck-toolbar__separator {\\n\\t\\talign-self: stretch;\\n\\t\\twidth: 1px;\\n\\t\\tmin-width: 1px;\\n\\t\\tbackground: var(--ck-color-toolbar-border);\\n\\n\\t\\t/*\\n\\t\\t * These margins make the separators look better in balloon toolbars (when aligned with the \"tip\").\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\\n\\t\\t */\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t& .ck-toolbar__line-break {\\n\\t\\theight: 0;\\n\\t}\\n\\n\\t& > .ck-toolbar__items {\\n\\t\\t& > *:not(.ck-toolbar__line-break) {\\n\\t\\t\\t/* (#11) Separate toolbar items. */\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\n\\t\\t/* Don\\'t display a separator after an empty items container, for instance,\\n\\t\\twhen all items were grouped */\\n\\t\\t&:empty + .ck.ck-toolbar__separator {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t/* Make sure items wrapped to the next line have v-spacing */\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t&.ck-toolbar_vertical {\\n\\t\\t/* Items in a vertical toolbar span the entire width. */\\n\\t\\tpadding: 0;\\n\\n\\t\\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\\n\\t\\t& > .ck-toolbar__items > .ck {\\n\\t\\t\\t/* Items in a vertical toolbar should span the horizontal space. */\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t/* Items in a vertical toolbar should have no margin. */\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-toolbar_compact {\\n\\t\\t/* No spacing around items. */\\n\\t\\tpadding: 0;\\n\\n\\t\\t& > .ck-toolbar__items > * {\\n\\t\\t\\t/* Compact toolbar items have no spacing between them. */\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t/* \"Middle\" children should have no rounded corners. */\\n\\t\\t\\t&:not(:first-child):not(:last-child) {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t/*\\n\\t\\t * Dropdown button has asymmetric padding to fit the arrow.\\n\\t\\t * This button has no arrow so let\\'s revert that padding back to normal.\\n\\t\\t */\\n\\t\\t& > .ck.ck-button.ck-dropdown__button {\\n\\t\\t\\tpadding-left: var(--ck-spacing-tiny);\\n\\t\\t}\\n\\t}\\n\\n\\t/* A drop-down containing the nested toolbar with configured items. */\\n\\t& .ck-toolbar__nested-toolbar-dropdown {\\n\\t\\t/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */\\n\\t\\t& > .ck-dropdown__panel {\\n\\t\\t\\tmin-width: auto;\\n\\t\\t}\\n\\n\\t\\t& > .ck-button > .ck-button__label {\\n\\t\\t\\tmax-width: 7em;\\n\\t\\t\\twidth: auto;\\n\\t\\t}\\n\\t}\\n\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t@nest .ck-toolbar-container & {\\n\\t\\tborder: 0;\\n\\t}\\n}\\n\\n/* stylelint-disable */\\n\\n/*\\n * Styles for RTL toolbars.\\n *\\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own \"dir\"\\n * because its parent is not controlled by the editor framework.\\n */\\n[dir=\"rtl\"] .ck.ck-toolbar,\\n.ck.ck-toolbar[dir=\"rtl\"] {\\n\\t& > .ck-toolbar__items > .ck {\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\\n\\t\\t/* (#11) Separate toolbar items. */\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n\\n\\t& > .ck-toolbar__items > .ck:last-child {\\n\\t\\tmargin-left: 0;\\n\\t}\\n\\n\\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\\n\\t\\t/* No rounded corners on the right side of the first child. */\\n\\t\\t&:first-child {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* No rounded corners on the left side of the last child. */\\n\\t\\t&:last-child {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\\n\\t& > .ck.ck-toolbar__separator {\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Some spacing between the items and the separator before the grouped items dropdown. */\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n/*\\n * Styles for LTR toolbars.\\n *\\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own \"dir\"\\n * because its parent is not controlled by the editor framework.\\n */\\n[dir=\"ltr\"] .ck.ck-toolbar,\\n.ck.ck-toolbar[dir=\"ltr\"] {\\n\\t& > .ck-toolbar__items > .ck:last-child {\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\\n\\t\\t/* No rounded corners on the right side of the first child. */\\n\\t\\t&:first-child {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* No rounded corners on the left side of the last child. */\\n\\t\\t&:last-child {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\\n\\t& > .ck.ck-toolbar__separator {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Some spacing between the items and the separator before the grouped items dropdown. */\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n/* stylelint-enable */\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},3935:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck.ck-balloon-panel.ck-tooltip{--ck-balloon-border-width:0px;--ck-balloon-arrow-offset:0px;--ck-balloon-arrow-half-width:4px;--ck-balloon-arrow-height:4px;--ck-tooltip-text-padding:4px;--ck-color-panel-background:var(--ck-color-tooltip-background);padding:0 var(--ck-spacing-medium);z-index:calc(var(--ck-z-dialog) + 100)}.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text{color:var(--ck-color-tooltip-text);font-size:.9em;line-height:1.5}.ck.ck-balloon-panel.ck-tooltip.ck-tooltip_multi-line .ck-tooltip__text{display:inline-block;max-width:200px;padding:var(--ck-tooltip-text-padding) 0;white-space:break-spaces}.ck.ck-balloon-panel.ck-tooltip{box-shadow:none}.ck.ck-balloon-panel.ck-tooltip:before{display:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css\"],names:[],mappings:\"AAKA,gCCGC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,6BAA8B,CAC9B,8DAA+D,CAE/D,kCAAmC,CDTnC,sCACD,CCUC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAEA,wEAEC,oBAAqB,CAErB,eAAgB,CADhB,wCAAyC,CAFzC,wBAID,CArBD,gCAwBC,eAMD,CAHC,uCACC,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-balloon-panel.ck-tooltip {\\n\\tz-index: calc( var(--ck-z-dialog) + 100 );\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n.ck.ck-balloon-panel.ck-tooltip {\\n\\t--ck-balloon-border-width: 0px;\\n\\t--ck-balloon-arrow-offset: 0px;\\n\\t--ck-balloon-arrow-half-width: 4px;\\n\\t--ck-balloon-arrow-height: 4px;\\n\\t--ck-tooltip-text-padding: 4px;\\n\\t--ck-color-panel-background: var(--ck-color-tooltip-background);\\n\\n\\tpadding: 0 var(--ck-spacing-medium);\\n\\n\\t& .ck-tooltip__text {\\n\\t\\tfont-size: .9em;\\n\\t\\tline-height: 1.5;\\n\\t\\tcolor: var(--ck-color-tooltip-text);\\n\\t}\\n\\n\\t&.ck-tooltip_multi-line .ck-tooltip__text {\\n\\t\\twhite-space: break-spaces;\\n\\t\\tdisplay: inline-block;\\n\\t\\tpadding: var(--ck-tooltip-text-padding) 0;\\n\\t\\tmax-width: 200px;\\n\\t}\\n\\n\\t/* Reset balloon panel styles */\\n\\tbox-shadow: none;\\n\\n\\t/* Hide the default shadow of the .ck-balloon-panel tip */\\n\\t&::before {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},7718:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck-hidden{display:none!important}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{box-sizing:border-box;height:auto;position:static;width:auto}:root{--ck-z-default:1;--ck-z-panel:calc(var(--ck-z-default) + 999);--ck-z-dialog:9999}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-powered-by-line-height:10px;--ck-powered-by-padding-vertical:2px;--ck-powered-by-padding-horizontal:4px;--ck-powered-by-text-color:#4f4f4f;--ck-powered-by-border-radius:var(--ck-border-radius);--ck-powered-by-background:#fff;--ck-powered-by-border-color:var(--ck-color-focus-border)}.ck.ck-balloon-panel.ck-powered-by-balloon{--ck-border-radius:var(--ck-powered-by-border-radius);background:var(--ck-powered-by-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-panel) - 1)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by{line-height:var(--ck-powered-by-line-height)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a{align-items:center;cursor:pointer;display:flex;filter:grayscale(80%);line-height:var(--ck-powered-by-line-height);opacity:.66;padding:var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label{color:var(--ck-powered-by-text-color);cursor:pointer;font-size:7.5px;font-weight:700;letter-spacing:-.2px;line-height:normal;margin-right:4px;padding-left:2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon{cursor:pointer;display:block}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a{filter:grayscale(0);opacity:1}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-powered-by-border-color)}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--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:#939393;--ck-color-switch-button-off-hover-background:#7d7d7d;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#4d9d30;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-dialog-background:var(--ck-custom-background);--ck-color-dialog-form-header-border:var(--ck-custom-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:var(--ck-color-base-border);--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:var(--ck-color-base-border);--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-button-on-color);--ck-color-list-button-on-background-focus:var(--ck-color-button-on-color);--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-background);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-color-highlight-background:#ff0;--ck-color-light-red:#fcc;--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{word-wrap:break-word;background:transparent;border:0;margin:0;padding:0;text-decoration:none;transition:none;vertical-align:middle}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_hidden.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_reset.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_zindex.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_transition.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_poweredby.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css\"],names:[],mappings:\"AAQA,WAGC,sBACD,CCPA,2EAGC,qBAAsB,CAEtB,WAAY,CACZ,eAAgB,CAFhB,UAGD,CCPA,MACC,gBAAiB,CACjB,4CAA+C,CAC/C,kBACD,CCDA,oDAEC,yBACD,CCNA,MACC,gCAAiC,CACjC,oCAAqC,CACrC,sCAAuC,CACvC,kCAA2C,CAC3C,qDAAsD,CACtD,+BAA4C,CAC5C,yDACD,CAEA,2CACC,qDAAsD,CAGtD,0CAA2C,CAD3C,eAAgB,CAEhB,gBAAiB,CACjB,mCAiDD,CA/CC,6DACC,4CAoCD,CAlCC,+DAGC,kBAAmB,CAFnB,cAAe,CACf,YAAa,CAGb,qBAAsB,CACtB,4CAA6C,CAF7C,WAAY,CAGZ,qFACD,CAEA,mFASC,qCAAsC,CAFtC,cAAe,CANf,eAAgB,CAIhB,eAAiB,CAHjB,oBAAqB,CAMrB,kBAAmB,CAFnB,gBAAiB,CAHjB,gBAAiB,CACjB,wBAOD,CAEA,sEAEC,cAAe,CADf,aAED,CAGC,qEACC,mBAAqB,CACrB,SACD,CAIF,mEACC,wBACD,CAEA,mEACC,2BAA4B,CAC5B,8CACD,CChED,MACC,kCAAmD,CACnD,+BAAoD,CACpD,8BAAkD,CAClD,8BAAuD,CACvD,6BAAmD,CACnD,yBAA+C,CAC/C,8BAAsD,CACtD,oCAA4D,CAC5D,6BAAkD,CAIlD,mDAA4D,CAC5D,qEAA+E,CAC/E,qCAA4D,CAC5D,qDAA8D,CAC9D,gDAAyD,CACzD,yCAAqD,CACrD,sCAAsD,CACtD,4CAA0D,CAC1D,sCAAsD,CAItD,gDAAuD,CACvD,kDAAiE,CACjE,mDAAkE,CAClE,yDAA8D,CAE9D,uCAA6D,CAC7D,6CAAoE,CACpE,8CAAoE,CACpE,gDAAiE,CACjE,kCAAyD,CAGzD,+DAAsE,CACtE,iDAAsE,CACtE,kDAAsE,CACtE,oDAAoE,CACpE,6DAAsE,CAEtE,8BAAoD,CACpD,gCAAqD,CAErD,+CAA8D,CAC9D,qDAAiE,CACjE,+EAAqF,CACrF,oDAAuE,CACvE,yEAA8E,CAC9E,oDAAgE,CAIhE,oEAA2E,CAC3E,4DAAoE,CAIpE,wDAAiE,CACjE,4DAAmE,CAInE,2DAAoE,CACpE,mDAA6D,CAC7D,wDAAgE,CAChE,+CAA0D,CAC1D,4CAA2D,CAC3D,4DAAoE,CACpE,sCAAsD,CAItD,0DAAmE,CACnE,uFAA6F,CAC7F,oEAA2E,CAC3E,0EAA+E,CAC/E,8DAAsE,CAItE,2DAAoE,CACpE,mDAA6D,CAI7D,6DAAsE,CACtE,qDAA+D,CAI/D,uDAAgE,CAChE,uDAAiE,CAIjE,0CAAyD,CAIzD,wCAA2D,CAI3D,+BAAoD,CACpD,uDAAmE,CACnE,kDAAgE,CAIhE,oCAAyD,CAIzD,yBAAgD,CChHhD,wBAAyB,CCAzB,0CAA2C,CAK3C,gGAAiG,CAKjG,4GAA6G,CAK7G,sGAAuG,CAKvG,sDAAuD,CCvBvD,wBAAyB,CACzB,6BAA8B,CAC9B,wDAA6D,CAE7D,yBAA0B,CAC1B,2BAA4B,CAC5B,yBAA0B,CAC1B,wBAAyB,CACzB,0BAA2B,CCJ3B,kCJgHD,CI1GA,2EAaC,oBAAqB,CANrB,sBAAuB,CADvB,QAAS,CAFT,QAAS,CACT,SAAU,CAGV,oBAAqB,CAErB,eAAgB,CADhB,qBAKD,CAKA,8DAGC,wBAAyB,CAEzB,0BAA2B,CAG3B,WAAY,CACZ,UAAW,CALX,iGAAkG,CAElG,eAAgB,CAChB,kBAGD,CAGC,qDACC,gBACD,CAEA,mDAEC,sBACD,CAEA,qDACC,oBACD,CAEA,mLAGC,WACD,CAEA,iNAGC,cACD,CAEA,qDAEC,yBAAoC,CADpC,YAED,CAEA,qEAGC,QAAQ,CADR,SAED,CAMD,8BAEC,gBACD,CCnFA,MACC,sBAAuB,CCAvB,gEAAiE,CAKjE,0DAA2D,CAK3D,wEAAyE,CCbzE,uBAA8B,CAC9B,mDAA2D,CAC3D,4CAAkD,CAClD,oDAA4D,CAC5D,mDAA2D,CAC3D,kDAA2D,CAC3D,yDFFD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which hides an element in DOM.\\n */\\n.ck-hidden {\\n\\t/* Override selector specificity. Otherwise, all elements with some display\\n\\tstyle defined will override this one, which is not a desired result. */\\n\\tdisplay: none !important;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-reset,\\n.ck.ck-reset_all,\\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\\n\\tbox-sizing: border-box;\\n\\twidth: auto;\\n\\theight: auto;\\n\\tposition: static;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-z-default: 1;\\n\\t--ck-z-panel: calc( var(--ck-z-default) + 999 );\\n\\t--ck-z-dialog: 9999;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class that disables all transitions of the element and its children.\\n */\\n.ck-transitions-disabled,\\n.ck-transitions-disabled * {\\n\\ttransition: none !important;\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-powered-by-line-height: 10px;\\n\\t--ck-powered-by-padding-vertical: 2px;\\n\\t--ck-powered-by-padding-horizontal: 4px;\\n\\t--ck-powered-by-text-color: hsl(0, 0%, 31%);\\n\\t--ck-powered-by-border-radius: var(--ck-border-radius);\\n\\t--ck-powered-by-background: hsl(0, 0%, 100%);\\n\\t--ck-powered-by-border-color: var(--ck-color-focus-border);\\n}\\n\\n.ck.ck-balloon-panel.ck-powered-by-balloon {\\n\\t--ck-border-radius: var(--ck-powered-by-border-radius);\\n\\n\\tbox-shadow: none;\\n\\tbackground: var(--ck-powered-by-background);\\n\\tmin-height: unset;\\n\\tz-index: calc( var(--ck-z-panel) - 1 );\\n\\n\\t& .ck.ck-powered-by {\\n\\t\\tline-height: var(--ck-powered-by-line-height);\\n\\n\\t\\t& a {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: .66;\\n\\t\\t\\tfilter: grayscale(80%);\\n\\t\\t\\tline-height: var(--ck-powered-by-line-height);\\n\\t\\t\\tpadding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal);\\n\\t\\t}\\n\\n\\t\\t& .ck-powered-by__label {\\n\\t\\t\\tfont-size: 7.5px;\\n\\t\\t\\tletter-spacing: -.2px;\\n\\t\\t\\tpadding-left: 2px;\\n\\t\\t\\ttext-transform: uppercase;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tline-height: normal;\\n\\t\\t\\tcolor: var(--ck-powered-by-text-color);\\n\\n\\t\\t}\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\t& a {\\n\\t\\t\\t\\tfilter: grayscale(0%);\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"position_inside\"] {\\n\\t\\tborder-color: transparent;\\n\\t}\\n\\n\\t&[class*=\"position_border\"] {\\n\\t\\tborder: var(--ck-focus-ring);\\n\\t\\tborder-color: var(--ck-powered-by-border-color);\\n\\t}\\n}\\n\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-base-foreground: \\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 98%);\\n\\t--ck-color-base-background: \\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 100%);\\n\\t--ck-color-base-border: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(220, 6%, 81%);\\n\\t--ck-color-base-action: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(104, 50.2%, 42.5%);\\n\\t--ck-color-base-focus: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(209, 92%, 70%);\\n\\t--ck-color-base-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 20%);\\n\\t--ck-color-base-active: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(218.1, 100%, 58%);\\n\\t--ck-color-base-active-focus:\\t\\t\\t\\t\\t\\t\\t\\thsl(218.2, 100%, 52.5%);\\n\\t--ck-color-base-error:\\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(15, 100%, 43%);\\n\\n\\t/* -- Generic colors ------------------------------------------------------------------------ */\\n\\n\\t--ck-color-focus-border-coordinates: \\t\\t\\t\\t\\t\\t218, 81.8%, 56.9%;\\n\\t--ck-color-focus-border: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(var(--ck-color-focus-border-coordinates));\\n\\t--ck-color-focus-outer-shadow:\\t\\t\\t\\t\\t\\t\\t\\thsl(212.4, 89.3%, 89%);\\n\\t--ck-color-focus-disabled-shadow:\\t\\t\\t\\t\\t\\t\\thsla(209, 90%, 72%,.3);\\n\\t--ck-color-focus-error-shadow:\\t\\t\\t\\t\\t\\t\\t\\thsla(9,100%,56%,.3);\\n\\t--ck-color-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-shadow-drop: \\t\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.15);\\n\\t--ck-color-shadow-drop-active:\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.2);\\n\\t--ck-color-shadow-inner: \\t\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.1);\\n\\n\\t/* -- Buttons ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-button-default-background: \\t\\t\\t\\t\\t\\ttransparent;\\n\\t--ck-color-button-default-hover-background: \\t\\t\\t\\thsl(0, 0%, 94.1%);\\n\\t--ck-color-button-default-active-background: \\t\\t\\t\\thsl(0, 0%, 94.1%);\\n\\t--ck-color-button-default-disabled-background: \\t\\t\\t\\ttransparent;\\n\\n\\t--ck-color-button-on-background: \\t\\t\\t\\t\\t\\t\\thsl(212, 100%, 97.1%);\\n\\t--ck-color-button-on-hover-background: \\t\\t\\t\\t\\t\\thsl(211.7, 100%, 92.9%);\\n\\t--ck-color-button-on-active-background: \\t\\t\\t\\t\\thsl(211.7, 100%, 92.9%);\\n\\t--ck-color-button-on-disabled-background: \\t\\t\\t\\t\\thsl(211, 15%, 95%);\\n\\t--ck-color-button-on-color:\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(218.1, 100%, 58%);\\n\\n\\n\\t--ck-color-button-action-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-base-action);\\n\\t--ck-color-button-action-hover-background: \\t\\t\\t\\t\\thsl(104, 53.2%, 40.2%);\\n\\t--ck-color-button-action-active-background: \\t\\t\\t\\thsl(104, 53.2%, 40.2%);\\n\\t--ck-color-button-action-disabled-background: \\t\\t\\t\\thsl(104, 44%, 58%);\\n\\t--ck-color-button-action-text: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t--ck-color-button-save: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(120, 100%, 27%);\\n\\t--ck-color-button-cancel: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(15, 100%, 43%);\\n\\n\\t--ck-color-switch-button-off-background:\\t\\t\\t\\t\\thsl(0, 0%, 57.6%);\\n\\t--ck-color-switch-button-off-hover-background:\\t\\t\\t\\thsl(0, 0%, 49%);\\n\\t--ck-color-switch-button-on-background:\\t\\t\\t\\t\\t\\tvar(--ck-color-button-action-background);\\n\\t--ck-color-switch-button-on-hover-background:\\t\\t\\t\\thsl(104, 53.2%, 40.2%);\\n\\t--ck-color-switch-button-inner-background:\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-switch-button-inner-shadow:\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.1);\\n\\n\\t/* -- Dropdown ------------------------------------------------------------------------------ */\\n\\n\\t--ck-color-dropdown-panel-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-dropdown-panel-border: \\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Dialog -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-dialog-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-custom-background);\\n\\t--ck-color-dialog-form-header-border: \\t\\t\\t\\t\\t\\tvar(--ck-custom-border);\\n\\n\\t/* -- Input --------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-input-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-input-border: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\t--ck-color-input-error-border:\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-error);\\n\\t--ck-color-input-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-input-disabled-background: \\t\\t\\t\\t\\t\\thsl(0, 0%, 95%);\\n\\t--ck-color-input-disabled-border: \\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\t--ck-color-input-disabled-text: \\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 46%);\\n\\n\\t/* -- List ---------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-list-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-list-button-hover-background: \\t\\t\\t\\t\\tvar(--ck-color-button-default-hover-background);\\n\\t--ck-color-list-button-on-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-button-on-color);\\n\\t--ck-color-list-button-on-background-focus: \\t\\t\\t\\tvar(--ck-color-button-on-color);\\n\\t--ck-color-list-button-on-text:\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t/* -- Panel --------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-panel-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-panel-border: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Toolbar ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-toolbar-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-toolbar-border: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Tooltip ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-tooltip-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-tooltip-text: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t/* -- Engine -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-engine-placeholder-text: \\t\\t\\t\\t\\t\\thsl(0, 0%, 44%);\\n\\n\\t/* -- Upload -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-upload-bar-background:\\t\\t \\t\\t\\t\\t\\thsl(209, 92%, 70%);\\n\\n\\t/* -- Link -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-link-default:\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(240, 100%, 47%);\\n\\t--ck-color-link-selected-background:\\t\\t\\t\\t\\t\\thsla(201, 100%, 56%, 0.1);\\n\\t--ck-color-link-fake-selection:\\t\\t\\t\\t\\t\\t\\t\\thsla(201, 100%, 56%, 0.3);\\n\\n\\t/* -- Search result highlight ---------------------------------------------------------------- */\\n\\n\\t--ck-color-highlight-background:\\t\\t\\t\\t\\t\\t\\thsl(60, 100%, 50%);\\n\\n\\t/* -- Generic colors ------------------------------------------------------------------------- */\\n\\n\\t--ck-color-light-red:\\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(0, 100%, 90%);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/**\\n\\t * An opacity value of disabled UI item.\\n\\t */\\n\\t--ck-disabled-opacity: .5;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/**\\n\\t * The geometry of the of focused element's outer shadow.\\n\\t */\\n\\t--ck-focus-outer-shadow-geometry: 0 0 0 3px;\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow.\\n\\t */\\n\\t--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow (when disabled).\\n\\t */\\n\\t--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow (when has errors).\\n\\t */\\n\\t--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's border or outline.\\n\\t */\\n\\t--ck-focus-ring: 1px solid var(--ck-color-focus-border);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-font-size-base: 13px;\\n\\t--ck-line-height-base: 1.84615;\\n\\t--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\\n\\n\\t--ck-font-size-tiny: 0.7em;\\n\\t--ck-font-size-small: 0.75em;\\n\\t--ck-font-size-normal: 1em;\\n\\t--ck-font-size-big: 1.4em;\\n\\t--ck-font-size-large: 1.8em;\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/* This is super-important. This is **manually** adjusted so a button without an icon\\n\\tis never smaller than a button with icon, additionally making sure that text-less buttons\\n\\tare perfect squares. The value is also shared by other components which should stay \"in-line\"\\n\\twith buttons. */\\n\\t--ck-ui-component-min-height: 2.3em;\\n}\\n\\n/**\\n * Resets an element, ignoring its children.\\n */\\n.ck.ck-reset,\\n.ck.ck-reset_all,\\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\\n\\t/* Do not include inheritable rules here. */\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tborder: 0;\\n\\tbackground: transparent;\\n\\ttext-decoration: none;\\n\\tvertical-align: middle;\\n\\ttransition: none;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */\\n\\tword-wrap: break-word;\\n}\\n\\n/**\\n * Resets an element AND its children.\\n */\\n.ck.ck-reset_all,\\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\\n\\t/* These are rule inherited by all children elements. */\\n\\tborder-collapse: collapse;\\n\\tfont: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);\\n\\tcolor: var(--ck-color-text);\\n\\ttext-align: left;\\n\\twhite-space: nowrap;\\n\\tcursor: auto;\\n\\tfloat: none;\\n}\\n\\n.ck-reset_all {\\n\\t& .ck-rtl *:not(.ck-reset_all-excluded *) {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t& iframe:not(.ck-reset_all-excluded *) {\\n\\t\\t/* For IE */\\n\\t\\tvertical-align: inherit;\\n\\t}\\n\\n\\t& textarea:not(.ck-reset_all-excluded *) {\\n\\t\\twhite-space: pre-wrap;\\n\\t}\\n\\n\\t& textarea:not(.ck-reset_all-excluded *),\\n\\t& input[type=\"text\"]:not(.ck-reset_all-excluded *),\\n\\t& input[type=\"password\"]:not(.ck-reset_all-excluded *) {\\n\\t\\tcursor: text;\\n\\t}\\n\\n\\t& textarea[disabled]:not(.ck-reset_all-excluded *),\\n\\t& input[type=\"text\"][disabled]:not(.ck-reset_all-excluded *),\\n\\t& input[type=\"password\"][disabled]:not(.ck-reset_all-excluded *) {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t& fieldset:not(.ck-reset_all-excluded *) {\\n\\t\\tpadding: 10px;\\n\\t\\tborder: 2px groove hsl(255, 7%, 88%);\\n\\t}\\n\\n\\t& button:not(.ck-reset_all-excluded *)::-moz-focus-inner {\\n\\t\\t/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */\\n\\t\\tpadding: 0;\\n\\t\\tborder: 0\\n\\t}\\n}\\n\\n/**\\n * Default UI rules for RTL languages.\\n */\\n.ck[dir=\"rtl\"],\\n.ck[dir=\"rtl\"] .ck {\\n\\ttext-align: right;\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Default border-radius value.\\n */\\n:root{\\n\\t--ck-border-radius: 2px;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/**\\n\\t * A visual style of element's inner shadow (i.e. input).\\n\\t */\\n\\t--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;\\n\\n\\t/**\\n\\t * A visual style of element's drop shadow (i.e. panel).\\n\\t */\\n\\t--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);\\n\\n\\t/**\\n\\t * A visual style of element's active shadow (i.e. comment or suggestion).\\n\\t */\\n\\t--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-spacing-unit: \\t\\t\\t\\t\\t\\t0.6em;\\n\\t--ck-spacing-large: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 1.5);\\n\\t--ck-spacing-standard: \\t\\t\\t\\t\\tvar(--ck-spacing-unit);\\n\\t--ck-spacing-medium: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.8);\\n\\t--ck-spacing-small: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.5);\\n\\t--ck-spacing-tiny: \\t\\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.3);\\n\\t--ck-spacing-extra-tiny: \\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.16);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},1089:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{background-color:var(--ck-color-widget-editable-focus-background);border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{background-color:var(--ck-color-widget-hover-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{background-color:var(--ck-color-focus-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.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{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CCjFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,yBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAUD,CARC,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAWD,CAPC,yGAKC,iEAAkE,CCnCnE,2BAA2B,CCF3B,qCAA8B,CDC9B,YDqCA,CAIA,4EAKC,4BAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAgCD,CAnBC,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAWD,CANC,kHACC,SAAU,CAGV,+DACD,CAID,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-resizer: var(--ck-color-focus-border);\\n\\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\\n\\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\\n\\n\\t--ck-resizer-border-radius: var(--ck-border-radius);\\n\\t--ck-resizer-tooltip-offset: 10px;\\n\\t--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);\\n}\\n\\n.ck .ck-widget {\\n\\t/* This is neccessary for type around UI to be positioned properly. */\\n\\tposition: relative;\\n}\\n\\n.ck .ck-widget.ck-widget_with-selection-handle {\\n\\t/* Make the widget wrapper a relative positioning container for the drag handle. */\\n\\tposition: relative;\\n\\n\\t& .ck-widget__selection-handle {\\n\\t\\tposition: absolute;\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\t/* Make sure the icon in not a subject to font-size or line-height to avoid\\n\\t\\t\\tunnecessary spacing around it. */\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\\n\\t&:hover > .ck-widget__selection-handle {\\n\\t\\tvisibility: visible;\\n\\t}\\n\\n\\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\\n\\t&.ck-widget_selected > .ck-widget__selection-handle {\\n\\t\\tvisibility: visible;\\n\\t}\\n}\\n\\n.ck .ck-size-view {\\n\\tbackground: var(--ck-color-resizer-tooltip-background);\\n\\tcolor: var(--ck-color-resizer-tooltip-text);\\n\\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\\n\\tborder-radius: var(--ck-resizer-border-radius);\\n\\tfont-size: var(--ck-font-size-tiny);\\n\\tdisplay: block;\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\theight: var(--ck-resizer-tooltip-height);\\n\\tline-height: var(--ck-resizer-tooltip-height);\\n\\n\\t&.ck-orientation-top-left,\\n\\t&.ck-orientation-top-right,\\n\\t&.ck-orientation-bottom-right,\\n\\t&.ck-orientation-bottom-left,\\n\\t&.ck-orientation-above-center {\\n\\t\\tposition: absolute;\\n\\t}\\n\\n\\t&.ck-orientation-top-left {\\n\\t\\ttop: var(--ck-resizer-tooltip-offset);\\n\\t\\tleft: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-top-right {\\n\\t\\ttop: var(--ck-resizer-tooltip-offset);\\n\\t\\tright: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-bottom-right {\\n\\t\\tbottom: var(--ck-resizer-tooltip-offset);\\n\\t\\tright: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-bottom-left {\\n\\t\\tbottom: var(--ck-resizer-tooltip-offset);\\n\\t\\tleft: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t/* Class applied if the widget is too small to contain the size label */\\n\\t&.ck-orientation-above-center {\\n\\t\\ttop: calc(var(--ck-resizer-tooltip-height) * -1);\\n\\t\\tleft: 50%;\\n\\t\\ttransform: translate(-50%);\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../mixins/_focus.css\";\\n@import \"../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-widget-outline-thickness: 3px;\\n\\t--ck-widget-handler-icon-size: 16px;\\n\\t--ck-widget-handler-animation-duration: 200ms;\\n\\t--ck-widget-handler-animation-curve: ease;\\n\\n\\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\\n\\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\\n\\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\\n\\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\\n}\\n\\n.ck .ck-widget {\\n\\toutline-width: var(--ck-widget-outline-thickness);\\n\\toutline-style: solid;\\n\\toutline-color: transparent;\\n\\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\\n\\t}\\n\\n\\t&:hover {\\n\\t\\toutline-color: var(--ck-color-widget-hover-border);\\n\\t}\\n}\\n\\n.ck .ck-editor__nested-editable {\\n\\tborder: 1px solid transparent;\\n\\n\\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\\n\\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\\n\\t&.ck-editor__nested-editable_focused,\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-inner-shadow);\\n\\n\\t\\tbackground-color: var(--ck-color-widget-editable-focus-background);\\n\\t}\\n}\\n\\n.ck .ck-widget.ck-widget_with-selection-handle {\\n\\t& .ck-widget__selection-handle {\\n\\t\\tpadding: 4px;\\n\\t\\tbox-sizing: border-box;\\n\\n\\t\\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\\n\\t\\tbackground-color: transparent;\\n\\t\\topacity: 0;\\n\\n\\t\\t/* Transition:\\n\\t\\t * background-color for the .ck-widget_selected state change,\\n\\t\\t * visibility for hiding the handler,\\n\\t\\t * opacity for the proper look of the icon when the handler disappears. */\\n\\t\\ttransition:\\n\\t\\t\\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\\n\\t\\t\\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\\n\\t\\t\\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\n\\t\\t/* Make only top corners round. */\\n\\t\\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\\n\\n\\t\\t/* Place the drag handler outside the widget wrapper. */\\n\\t\\ttransform: translateY(-100%);\\n\\t\\tleft: calc(0px - var(--ck-widget-outline-thickness));\\n\\t\\ttop: 0;\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\\n\\t\\t\\twidth: var(--ck-widget-handler-icon-size);\\n\\t\\t\\theight: var(--ck-widget-handler-icon-size);\\n\\t\\t\\tcolor: var(--ck-color-widget-drag-handler-icon-color);\\n\\n\\t\\t\\t/* The \"selected\" part of the icon is invisible by default */\\n\\t\\t\\t& .ck-icon__selected-indicator {\\n\\t\\t\\t\\topacity: 0;\\n\\n\\t\\t\\t\\t/* Note: The animation is longer on purpose. Simply feels better. */\\n\\t\\t\\t\\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\\n\\t\\t&:hover .ck-icon .ck-icon__selected-indicator {\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\\n\\t&:hover > .ck-widget__selection-handle {\\n\\t\\topacity: 1;\\n\\t\\tbackground-color: var(--ck-color-widget-hover-border);\\n\\t}\\n\\n\\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\topacity: 1;\\n\\t\\t\\tbackground-color: var(--ck-color-focus-border);\\n\\n\\t\\t\\t/* When the widget is selected, notify the user using the proper look of the icon. */\\n\\t\\t\\t& .ck-icon .ck-icon__selected-indicator {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/* In a RTL environment, align the selection handler to the right side of the widget */\\n/* stylelint-disable-next-line no-descending-specificity */\\n.ck[dir=\"rtl\"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\\n\\tleft: auto;\\n\\tright: calc(0px - var(--ck-widget-outline-thickness));\\n}\\n\\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\\n.ck.ck-editor__editable.ck-read-only .ck-widget {\\n\\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\\n\\ttransition: none;\\n\\n\\t&:not(.ck-widget_selected) {\\n\\t\\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\\n\\t\\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\\n\\t\\t *\\n\\t\\t * Leave the unit because this custom property is used in calc() by other features.\\n\\t\\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\\n\\t\\t */\\n\\t\\t--ck-widget-outline-thickness: 0px;\\n\\t}\\n\\n\\t&.ck-widget_with-selection-handle {\\n\\t\\t& .ck-widget__selection-handle,\\n\\t\\t& .ck-widget__selection-handle:hover {\\n\\t\\t\\tbackground: var(--ck-color-widget-blurred-border);\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Style the widget when it\\'s selected but the editable it belongs to lost focus. */\\n/* stylelint-disable-next-line no-descending-specificity */\\n.ck.ck-editor__editable.ck-blurred .ck-widget {\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\toutline-color: var(--ck-color-widget-blurred-border);\\n\\n\\t\\t&.ck-widget_with-selection-handle {\\n\\t\\t\\t& > .ck-widget__selection-handle,\\n\\t\\t\\t& > .ck-widget__selection-handle:hover {\\n\\t\\t\\t\\tbackground: var(--ck-color-widget-blurred-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\\n\\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\\n\\tIn fact, anything with overflow: hidden.\\n\\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\\n\\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\\n\\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\\n\\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\\n}\\n',\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const c=a},6645:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,\".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css\"],names:[],mappings:\"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-widget_with-resizer {\\n\\t/* Make the widget wrapper a relative positioning container for the drag handle. */\\n\\tposition: relative;\\n}\\n\\n.ck .ck-widget__resizer {\\n\\tdisplay: none;\\n\\tposition: absolute;\\n\\n\\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\\n\\tpointer-events: none;\\n\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\\n\\t& > .ck-widget__resizer {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\\n.ck .ck-widget__resizer__handle {\\n\\tposition: absolute;\\n\\n\\t/* Resizers are the only UI elements that should interfere with a pointer device. */\\n\\tpointer-events: all;\\n\\n\\t&.ck-widget__resizer__handle-top-left,\\n\\t&.ck-widget__resizer__handle-bottom-right {\\n\\t\\tcursor: nwse-resize;\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-top-right,\\n\\t&.ck-widget__resizer__handle-bottom-left {\\n\\t\\tcursor: nesw-resize;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-resizer-size: 10px;\\n\\n\\t/* Set the resizer with a 50% offset. */\\n\\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\\n\\t--ck-resizer-border-width: 1px;\\n}\\n\\n.ck .ck-widget__resizer {\\n\\toutline: 1px solid var(--ck-color-resizer);\\n}\\n\\n.ck .ck-widget__resizer__handle {\\n\\twidth: var(--ck-resizer-size);\\n\\theight: var(--ck-resizer-size);\\n\\tbackground: var(--ck-color-focus-border);\\n\\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\\n\\tborder-radius: var(--ck-resizer-border-radius);\\n\\n\\t&.ck-widget__resizer__handle-top-left {\\n\\t\\ttop: var(--ck-resizer-offset);\\n\\t\\tleft: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-top-right {\\n\\t\\ttop: var(--ck-resizer-offset);\\n\\t\\tright: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-bottom-right {\\n\\t\\tbottom: var(--ck-resizer-offset);\\n\\t\\tright: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-bottom-left {\\n\\t\\tbottom: var(--ck-resizer-offset);\\n\\t\\tleft: var(--ck-resizer-offset);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const c=a},698:(t,e,n)=>{\"use strict\";n.d(e,{A:()=>c});var o=n(4991);var i=n.n(o);var r=n(6314);var s=n.n(r);var a=s()(i());a.push([t.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:\"\";display:block;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);width:var(--ck-widget-type-around-button-size)}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.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_selected.ck-widget_with-resizer>.ck-widget__resizer,.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[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css\"],names:[],mappings:\"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAkDD,CA1CC,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAoBD,CAdC,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DAcD,CARE,kEACC,oDACD,CAEA,8DACC,wDACD,CAUF,uKAvED,SAAU,CACV,mBAwEC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,uEAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,oCAAwC,CARxC,mBAUD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAlJD,SAAU,CACV,mBAmJC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAlMF,SAAU,CACV,mBAmME,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-widget {\\n\\t/*\\n\\t * Styles of the type around buttons\\n\\t */\\n\\t& .ck-widget__type-around__button {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t\\toverflow: hidden;\\n\\t\\tz-index: var(--ck-z-default);\\n\\n\\t\\t& svg {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 2);\\n\\t\\t}\\n\\n\\t\\t&.ck-widget__type-around__button_before {\\n\\t\\t\\t/* Place it in the middle of the outline */\\n\\t\\t\\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\\n\\t\\t\\tleft: min(10%, 30px);\\n\\n\\t\\t\\ttransform: translateY(-50%);\\n\\t\\t}\\n\\n\\t\\t&.ck-widget__type-around__button_after {\\n\\t\\t\\t/* Place it in the middle of the outline */\\n\\t\\t\\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\\n\\t\\t\\tright: min(10%, 30px);\\n\\n\\t\\t\\ttransform: translateY(50%);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when:\\n\\t * - the widget is selected,\\n\\t * - or the button is being hovered (regardless of the widget state).\\n\\t */\\n\\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \"\";\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 1px;\\n\\t\\t\\tleft: 1px;\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" which is displayed when the user navigates using the keyboard.\\n\\t */\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tdisplay: none;\\n\\t\\tposition: absolute;\\n\\t\\tleft: 0;\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t/*\\n\\t * When the widget is hovered the \"fake caret\" would normally be narrower than the\\n\\t * extra outline displayed around the widget. Let\\'s extend the \"fake caret\" to match\\n\\t * the full width of the widget.\\n\\t */\\n\\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\\n\\t\\tright: calc( -1 * var(--ck-widget-outline-thickness) );\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" when it should be displayed before the widget (backward keyboard navigation).\\n\\t */\\n\\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" when it should be displayed after the widget (forward keyboard navigation).\\n\\t */\\n\\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\\n/*\\n * Integration with the read-only mode of the editor.\\n */\\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n\\n/*\\n * Integration with the restricted editing mode (feature) of the editor.\\n */\\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n\\n/*\\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\\n */\\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n','/*\\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-widget-type-around-button-size: 20px;\\n\\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\\n\\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\\n\\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\\n\\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\\n\\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\\n\\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\\n}\\n\\n@define-mixin ck-widget-type-around-button-visible {\\n\\topacity: 1;\\n\\tpointer-events: auto;\\n}\\n\\n@define-mixin ck-widget-type-around-button-hidden {\\n\\topacity: 0;\\n\\tpointer-events: none;\\n}\\n\\n.ck .ck-widget {\\n\\t/*\\n\\t * Styles of the type around buttons\\n\\t */\\n\\t& .ck-widget__type-around__button {\\n\\t\\twidth: var(--ck-widget-type-around-button-size);\\n\\t\\theight: var(--ck-widget-type-around-button-size);\\n\\t\\tbackground: var(--ck-color-widget-type-around-button);\\n\\t\\tborder-radius: 100px;\\n\\t\\ttransition: 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);\\n\\n\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\n\\t\\t& svg {\\n\\t\\t\\twidth: 10px;\\n\\t\\t\\theight: 8px;\\n\\t\\t\\ttransform: translate(-50%,-50%);\\n\\t\\t\\ttransition: transform .5s ease;\\n\\t\\t\\tmargin-top: 1px;\\n\\n\\t\\t\\t& * {\\n\\t\\t\\t\\tstroke-dasharray: 10;\\n\\t\\t\\t\\tstroke-dashoffset: 0;\\n\\n\\t\\t\\t\\tfill: none;\\n\\t\\t\\t\\tstroke: var(--ck-color-widget-type-around-button-icon);\\n\\t\\t\\t\\tstroke-width: 1.5px;\\n\\t\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\t\\tstroke-linejoin: round;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& line {\\n\\t\\t\\t\\tstroke-dasharray: 7;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\t/*\\n\\t\\t\\t * Display the \"sonar\" around the button when hovered.\\n\\t\\t\\t */\\n\\t\\t\\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Animate active button\\'s icon.\\n\\t\\t\\t */\\n\\t\\t\\t& svg {\\n\\t\\t\\t\\t& polyline {\\n\\t\\t\\t\\t\\tanimation: ck-widget-type-around-arrow-dash 2s linear;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t& line {\\n\\t\\t\\t\\t\\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Show type around buttons when the widget gets selected or being hovered.\\n\\t */\\n\\t&.ck-widget_selected,\\n\\t&:hover {\\n\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t@mixin ck-widget-type-around-button-visible;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\\n\\t * and still can be hovered).\\n\\t */\\n\\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\tbackground: var(--ck-color-widget-type-around-button-hover);\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when:\\n\\t * - the widget is selected,\\n\\t * - or the button is being hovered (regardless of the widget state).\\n\\t */\\n\\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\\n\\t\\tbackground: var(--ck-color-widget-type-around-button-active);\\n\\n\\t\\t&::after {\\n\\t\\t\\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\\n\\t\\t\\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\\n\\t\\t\\tborder-radius: 100px;\\n\\t\\t\\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the \"before\" button when the widget has a selection handle. Because some space\\n\\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\\n\\t */\\n\\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\\n\\t\\tmargin-left: 20px;\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" which is displayed when the user navigates using the keyboard.\\n\\t */\\n\\t& .ck-widget__type-around__fake-caret {\\n\\t\\tpointer-events: none;\\n\\t\\theight: 1px;\\n\\t\\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\\n\\n\\t\\t/*\\n\\t\\t * The semi-transparent-outline+background combo improves the contrast\\n\\t\\t * when the background underneath the fake caret is dark.\\n\\t\\t */\\n\\t\\toutline: solid 1px hsla(0, 0%, 100%, .5);\\n\\t\\tbackground: var(--ck-color-base-text);\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget when the \"fake caret\" is blinking (e.g. upon keyboard navigation).\\n\\t * Despite the widget being physically selected in the model, its outline should disappear.\\n\\t */\\n\\t&.ck-widget_selected {\\n\\t\\t&.ck-widget_type-around_show-fake-caret_before,\\n\\t\\t&.ck-widget_type-around_show-fake-caret_after {\\n\\t\\t\\toutline-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-widget_type-around_show-fake-caret_before,\\n\\t&.ck-widget_type-around_show-fake-caret_after {\\n\\t\\t/*\\n\\t\\t * When the \"fake caret\" is visible we simulate that the widget is not selected\\n\\t\\t * (despite being physically selected), so the outline color should be for the\\n\\t\\t * unselected widget.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected:hover {\\n\\t\\t\\toutline-color: var(--ck-color-widget-hover-border);\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Styles of the type around buttons when the \"fake caret\" is blinking (e.g. upon keyboard navigation).\\n\\t\\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\\n\\t\\t */\\n\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\\n\\t\\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\\n\\t\\t */\\n\\t\\t&.ck-widget_with-selection-handle {\\n\\t\\t\\t&.ck-widget_selected,\\n\\t\\t\\t&.ck-widget_selected:hover {\\n\\t\\t\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\t\\t\\topacity: 0\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\\n\\t\\t * hide the resize UI because it creates too much noise. It can be visible when the user\\n\\t\\t * hovers the widget, though.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\\n\\t\\t\\topacity: 0\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Styles for the \"before\" button when the widget has a selection handle in an RTL environment.\\n * The selection handler is aligned to the right side of the widget so there is no need to create\\n * additional space for it next to the \"before\" button.\\n */\\n.ck[dir=\"rtl\"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\\n\\tmargin-left: 0;\\n\\tmargin-right: 20px;\\n}\\n\\n/*\\n * Hide type around buttons when the widget is selected as a child of a selected\\n * nested editable (e.g. mulit-cell table selection).\\n *\\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\\n */\\n.ck-editor__nested-editable.ck-editor__editable_selected {\\n\\t& .ck-widget {\\n\\t\\t&.ck-widget_selected,\\n\\t\\t&:hover {\\n\\t\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\\n */\\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\\n\\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\\n\\n\\t& svg * {\\n\\t\\tstroke: hsl(0,0%,60%);\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-arrow-dash {\\n\\t0% {\\n\\t\\tstroke-dashoffset: 10;\\n\\t}\\n\\t20%, 100% {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-arrow-tip-dash {\\n\\t0%, 20% {\\n\\t\\tstroke-dashoffset: 7;\\n\\t}\\n\\t40%, 100% {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-button-sonar {\\n\\t0% {\\n\\t\\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\\n\\t}\\n\\t50% {\\n\\t\\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\\n\\t}\\n\\t100% {\\n\\t\\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-fake-caret-pulse {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t49% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t99% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const c=a},6314:t=>{\"use strict\";t.exports=function(t){var e=[];e.toString=function e(){return this.map((function(e){var n=t(e);if(e[2]){return\"@media \".concat(e[2],\" {\").concat(n,\"}\")}return n})).join(\"\")};e.i=function(t,n,o){if(typeof t===\"string\"){t=[[null,t,\"\"]]}var i={};if(o){for(var r=0;r{\"use strict\";function e(t,e){return s(t)||r(t,e)||o(t,e)||n()}function n(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function o(t,e){if(!t)return;if(typeof t===\"string\")return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n===\"Object\"&&t.constructor)n=t.constructor.name;if(n===\"Map\"||n===\"Set\")return Array.from(t);if(n===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}function i(t,e){if(e==null||e>t.length)e=t.length;for(var n=0,o=new Array(e);n{\"use strict\";var o=function t(){var e;return function t(){if(typeof e===\"undefined\"){e=Boolean(window&&document&&document.all&&!window.atob)}return e}}();var i=function t(){var e={};return function t(n){if(typeof e[n]===\"undefined\"){var o=document.querySelector(n);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement){try{o=o.contentDocument.head}catch(t){o=null}}e[n]=o}return e[n]}}();var r=[];function s(t){var e=-1;for(var n=0;n{n.n=t=>{var e=t&&t.__esModule?()=>t[\"default\"]:()=>t;n.d(e,{a:e});return e}})();(()=>{var t=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__;var e;n.t=function(o,i){if(i&1)o=this(o);if(i&8)return o;if(typeof o===\"object\"&&o){if(i&4&&o.__esModule)return o;if(i&16&&typeof o.then===\"function\")return o}var r=Object.create(null);n.r(r);var s={};e=e||[null,t({}),t([]),t(t)];for(var a=i&2&&o;typeof a==\"object\"&&!~e.indexOf(a);a=t(a)){Object.getOwnPropertyNames(a).forEach((t=>s[t]=()=>o[t]))}s[\"default\"]=()=>o;n.d(r,s);return r}})();(()=>{n.d=(t,e)=>{for(var o in e){if(n.o(e,o)&&!n.o(t,o)){Object.defineProperty(t,o,{enumerable:true,get:e[o]})}}}})();(()=>{n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e)})();(()=>{n.r=t=>{if(typeof Symbol!==\"undefined\"&&Symbol.toStringTag){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"})}Object.defineProperty(t,\"__esModule\",{value:true})}})();(()=>{n.nc=undefined})();var o={};(()=>{\"use strict\";n.d(o,{default:()=>l5});function t({emitter:t,activator:e,callback:n,contextElements:o}){t.listenTo(document,\"mousedown\",((t,i)=>{if(!e()){return}const r=typeof i.composedPath==\"function\"?i.composedPath():[];const s=typeof o==\"function\"?o():o;for(const t of s){if(t.contains(i.target)||r.includes(t)){return}}n()}))}function e(t){class e extends t{disableCssTransitions(){this._isCssTransitionsDisabled=true}enableCssTransitions(){this._isCssTransitionsDisabled=false}constructor(...t){super(...t);this.set(\"_isCssTransitionsDisabled\",false);this.initializeCssTransitionDisablerMixin()}initializeCssTransitionDisablerMixin(){this.extendTemplate({attributes:{class:[this.bindTemplate.if(\"_isCssTransitionsDisabled\",\"ck-transitions-disabled\")]}})}}return e}function i({view:t}){t.listenTo(t.element,\"submit\",((e,n)=>{n.preventDefault();t.fire(\"submit\")}),{useCapture:true})}function r({keystrokeHandler:t,focusTracker:e,gridItems:n,numberOfColumns:o,uiLanguageDirection:i}){const r=typeof o===\"number\"?()=>o:o;t.set(\"arrowright\",s(((t,e)=>i===\"rtl\"?c(t,e.length):a(t,e.length))));t.set(\"arrowleft\",s(((t,e)=>i===\"rtl\"?a(t,e.length):c(t,e.length))));t.set(\"arrowup\",s(((t,e)=>{let n=t-r();if(n<0){n=t+r()*Math.floor(e.length/r());if(n>e.length-1){n-=r()}}return n})));t.set(\"arrowdown\",s(((t,e)=>{let n=t+r();if(n>e.length-1){n=t%r()}return n})));function s(t){return o=>{const i=n.find((t=>t.element===e.focusedElement));const r=n.getIndex(i);const s=t(r,n);n.get(s).focus();o.stopPropagation();o.preventDefault()}}function a(t,e){if(t===e-1){return 0}else{return t+1}}function c(t,e){if(t===0){return e-1}else{return t-1}}}function s(){try{return navigator.userAgent.toLowerCase()}catch(t){return\"\"}}const a=s();const c={isMac:d(a),isWindows:u(a),isGecko:h(a),isSafari:m(a),isiOS:g(a),isAndroid:f(a),isBlink:p(a),features:{isRegExpUnicodePropertySupported:b()}};const l=c;function d(t){return t.indexOf(\"macintosh\")>-1}function u(t){return t.indexOf(\"windows\")>-1}function h(t){return!!t.match(/gecko\\/\\d+/)}function m(t){return t.indexOf(\" applewebkit/\")>-1&&t.indexOf(\"chrome\")===-1}function g(t){return!!t.match(/iphone|ipad/i)||d(t)&&navigator.maxTouchPoints>0}function f(t){return t.indexOf(\"android\")>-1}function p(t){return t.indexOf(\"chrome/\")>-1&&t.indexOf(\"edge/\")<0}function b(){let t=false;try{t=\"\u0107\".search(new RegExp(\"[\\\\p{L}]\",\"u\"))===0}catch(t){}return t}function k(t,e,n,o){n=n||function(t,e){return t===e};const i=Array.isArray(t)?t:Array.prototype.slice.call(t);const r=Array.isArray(e)?e:Array.prototype.slice.call(e);const s=w(i,r,n);const a=o?v(s,r.length):C(r,s);return a}function w(t,e,n){const o=A(t,e,n);if(o===-1){return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1}}const i=_(t,o);const r=_(e,o);const s=A(i,r,n);const a=t.length-s;const c=e.length-s;return{firstIndex:o,lastIndexOld:a,lastIndexNew:c}}function A(t,e,n){for(let o=0;o0){n.push({index:o,type:\"insert\",values:t.slice(o,r)})}if(i-o>0){n.push({index:o+(r-o),type:\"delete\",howMany:i-o})}return n}function v(t,e){const{firstIndex:n,lastIndexOld:o,lastIndexNew:i}=t;if(n===-1){return Array(e).fill(\"equal\")}let r=[];if(n>0){r=r.concat(Array(n).fill(\"equal\"))}if(i-n>0){r=r.concat(Array(i-n).fill(\"insert\"))}if(o-n>0){r=r.concat(Array(o-n).fill(\"delete\"))}if(i200||i>200||o+i>300){return y.fastDiff(t,e,n,true)}let r,s;if(il?-1:1;if(d[o+h]){d[o]=d[o+h].slice(0)}if(!d[o]){d[o]=[]}d[o].push(i>l?r:s);let m=Math.max(i,l);let g=m-o;while(gl;g--){u[g]=h(g)}u[l]=h(l);m++}while(u[l]!==c);return d[l].slice(1)}y.fastDiff=k;function x(){return function t(){t.called=true}}const E=x;class D{constructor(t,e){this.source=t;this.name=e;this.path=[];this.stop=E();this.off=E()}}const I=new Array(256).fill(\"\").map(((t,e)=>(\"0\"+e.toString(16)).slice(-2)));function T(){const t=Math.random()*4294967296>>>0;const e=Math.random()*4294967296>>>0;const n=Math.random()*4294967296>>>0;const o=Math.random()*4294967296>>>0;return\"e\"+I[t>>0&255]+I[t>>8&255]+I[t>>16&255]+I[t>>24&255]+I[e>>0&255]+I[e>>8&255]+I[e>>16&255]+I[e>>24&255]+I[n>>0&255]+I[n>>8&255]+I[n>>16&255]+I[n>>24&255]+I[o>>0&255]+I[o>>8&255]+I[o>>16&255]+I[o>>24&255]}const S={get(t=\"normal\"){if(typeof t!=\"number\"){return this[t]||this.normal}else{return t}},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};const B=S;function M(t,e){const n=B.get(e.priority);for(let o=0;o{if(typeof e===\"object\"&&e!==null){if(n.has(e)){return`[object ${e.constructor.name}]`}n.add(e)}return e};const i=e?` ${JSON.stringify(e,o)}`:\"\";const r=O(t);return t+i+r}function V(t,e){const n=O(t);return e?[t,e,n]:[t,n]}const F=\"41.3.1\";const j=null&&F;const H=new Date(2024,3,16);if(globalThis.CKEDITOR_VERSION){throw new N(\"ckeditor-duplicated-modules\",null)}else{globalThis.CKEDITOR_VERSION=F}const U=Symbol(\"listeningTo\");const W=Symbol(\"emitterId\");const q=Symbol(\"delegations\");const G=$(Object);function $(t){if(!t){return G}class e extends t{on(t,e,n){this.listenTo(this,t,e,n)}once(t,e,n){let o=false;const i=(t,...n)=>{if(!o){o=true;t.off();e.call(this,t,...n)}};this.listenTo(this,t,i,n)}off(t,e){this.stopListening(this,t,e)}listenTo(t,e,n,o={}){let i,r;if(!this[U]){this[U]={}}const s=this[U];if(!Q(t)){Y(t)}const a=Q(t);if(!(i=s[a])){i=s[a]={emitter:t,callbacks:{}}}if(!(r=i.callbacks[e])){r=i.callbacks[e]=[]}r.push(n);ot(this,t,e,n,o)}stopListening(t,e,n){const o=this[U];let i=t&&Q(t);const r=o&&i?o[i]:undefined;const s=r&&e?r.callbacks[e]:undefined;if(!o||t&&!r||e&&!s){return}if(n){it(this,t,e,n);const o=s.indexOf(n);if(o!==-1){if(s.length===1){delete r.callbacks[e]}else{it(this,t,e,n)}}}else if(s){while(n=s.pop()){it(this,t,e,n)}delete r.callbacks[e]}else if(r){for(e in r.callbacks){this.stopListening(t,e)}delete o[i]}else{for(i in o){this.stopListening(o[i].emitter)}delete this[U]}}fire(t,...e){try{const n=t instanceof D?t:new D(this,t);const o=n.name;let i=et(this,o);n.path.push(this);if(i){const t=[n,...e];i=Array.from(i);for(let e=0;e{if(!this[q]){this[q]=new Map}t.forEach((t=>{const o=this[q].get(t);if(!o){this[q].set(t,new Map([[e,n]]))}else{o.set(e,n)}}))}}}stopDelegating(t,e){if(!this[q]){return}if(!t){this[q].clear()}else if(!e){this[q].delete(t)}else{const n=this[q].get(t);if(n){n.delete(e)}}}_addEventListener(t,e,n){X(this,t);const o=tt(this,t);const i=B.get(n.priority);const r={callback:e,priority:i};for(const t of o){M(t,r)}}_removeEventListener(t,e){const n=tt(this,t);for(const t of n){for(let n=0;n{$[t]=G.prototype[t]}));function K(t,e){const n=t[U];if(n&&n[e]){return n[e].emitter}return null}function Y(t,e){if(!t[W]){t[W]=e||T()}}function Q(t){return t[W]}function Z(t){if(!t._events){Object.defineProperty(t,\"_events\",{value:{}})}return t._events}function J(){return{callbacks:[],childEvents:[]}}function X(t,e){const n=Z(t);if(n[e]){return}let o=e;let i=null;const r=[];while(o!==\"\"){if(n[o]){break}n[o]=J();r.push(n[o]);if(i){n[o].childEvents.push(i)}i=o;o=o.substr(0,o.lastIndexOf(\":\"))}if(o!==\"\"){for(const t of r){t.callbacks=n[o].callbacks.slice()}n[o].childEvents.push(i)}}function tt(t,e){const n=Z(t)[e];if(!n){return[]}let o=[n.callbacks];for(let e=0;e-1){return et(t,e.substr(0,e.lastIndexOf(\":\")))}else{return null}}return n.callbacks}function nt(t,e,n){for(let[o,i]of t){if(!i){i=e.name}else if(typeof i==\"function\"){i=i(e.name)}const t=new D(e.source,i);t.path=[...e.path];o.fire(t,...n)}}function ot(t,e,n,o,i){if(e._addEventListener){e._addEventListener(n,o,i)}else{t._addEventListener.call(e,n,o,i)}}function it(t,e,n,o){if(e._removeEventListener){e._removeEventListener(n,o)}else{t._removeEventListener.call(e,n,o)}}function rt(t){var e=typeof t;return t!=null&&(e==\"object\"||e==\"function\")}const st=rt;const at=Symbol(\"observableProperties\");const ct=Symbol(\"boundObservables\");const lt=Symbol(\"boundProperties\");const dt=Symbol(\"decoratedMethods\");const ut=Symbol(\"decoratedOriginal\");const ht=mt($());function mt(t){if(!t){return ht}class e extends t{set(t,e){if(st(t)){Object.keys(t).forEach((e=>{this.set(e,t[e])}),this);return}gt(this);const n=this[at];if(t in this&&!n.has(t)){throw new N(\"observable-set-cannot-override\",this)}Object.defineProperty(this,t,{enumerable:true,configurable:true,get(){return n.get(t)},set(e){const o=n.get(t);let i=this.fire(`set:${t}`,t,e,o);if(i===undefined){i=e}if(o!==i||!n.has(t)){n.set(t,i);this.fire(`change:${t}`,t,i,o)}}});this[t]=e}bind(...t){if(!t.length||!kt(t)){throw new N(\"observable-bind-wrong-properties\",this)}if(new Set(t).size!==t.length){throw new N(\"observable-bind-duplicate-properties\",this)}gt(this);const e=this[lt];t.forEach((t=>{if(e.has(t)){throw new N(\"observable-bind-rebind\",this)}}));const n=new Map;t.forEach((t=>{const o={property:t,to:[]};e.set(t,o);n.set(t,o)}));return{to:ft,toMany:pt,_observable:this,_bindProperties:t,_to:[],_bindings:n}}unbind(...t){if(!this[at]){return}const e=this[lt];const n=this[ct];if(t.length){if(!kt(t)){throw new N(\"observable-unbind-wrong-properties\",this)}t.forEach((t=>{const o=e.get(t);if(!o){return}o.to.forEach((([t,e])=>{const i=n.get(t);const r=i[e];r.delete(o);if(!r.size){delete i[e]}if(!Object.keys(i).length){n.delete(t);this.stopListening(t,\"change\")}}));e.delete(t)}))}else{n.forEach(((t,e)=>{this.stopListening(e,\"change\")}));n.clear();e.clear()}}decorate(t){gt(this);const e=this[t];if(!e){throw new N(\"observablemixin-cannot-decorate-undefined\",this,{object:this,methodName:t})}this.on(t,((t,n)=>{t.return=e.apply(this,n)}));this[t]=function(...e){return this.fire(t,e)};this[t][ut]=e;if(!this[dt]){this[dt]=[]}this[dt].push(t)}stopListening(t,e,n){if(!t&&this[dt]){for(const t of this[dt]){this[t]=this[t][ut]}delete this[dt]}super.stopListening(t,e,n)}}return e}[\"set\",\"bind\",\"unbind\",\"decorate\",\"on\",\"once\",\"off\",\"listenTo\",\"stopListening\",\"fire\",\"delegate\",\"stopDelegating\",\"_addEventListener\",\"_removeEventListener\"].forEach((t=>{mt[t]=ht.prototype[t]}));function gt(t){if(t[at]){return}Object.defineProperty(t,at,{value:new Map});Object.defineProperty(t,ct,{value:new Map});Object.defineProperty(t,lt,{value:new Map})}function ft(...t){const e=wt(...t);const n=Array.from(this._bindings.keys());const o=n.length;if(!e.callback&&e.to.length>1){throw new N(\"observable-bind-to-no-callback\",this)}if(o>1&&e.callback){throw new N(\"observable-bind-to-extra-callback\",this)}e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==o){throw new N(\"observable-bind-to-properties-length\",this)}if(!t.properties.length){t.properties=this._bindProperties}}));this._to=e.to;if(e.callback){this._bindings.get(n[0]).callback=e.callback}vt(this._observable,this._to);_t(this);this._bindProperties.forEach((t=>{Ct(this._observable,t)}))}function pt(t,e,n){if(this._bindings.size>1){throw new N(\"observable-bind-to-many-not-one-binding\",this)}this.to(...bt(t,e),n)}function bt(t,e){const n=t.map((t=>[t,e]));return Array.prototype.concat.apply([],n)}function kt(t){return t.every((t=>typeof t==\"string\"))}function wt(...t){if(!t.length){throw new N(\"observable-bind-to-parse-error\",null)}const e={to:[]};let n;if(typeof t[t.length-1]==\"function\"){e.callback=t.pop()}t.forEach((t=>{if(typeof t==\"string\"){n.properties.push(t)}else if(typeof t==\"object\"){n={observable:t,properties:[]};e.to.push(n)}else{throw new N(\"observable-bind-to-parse-error\",null)}}));return e}function At(t,e,n,o){const i=t[ct];const r=i.get(n);const s=r||{};if(!s[o]){s[o]=new Set}s[o].add(e);if(!r){i.set(n,s)}}function _t(t){let e;t._bindings.forEach(((n,o)=>{t._to.forEach((i=>{e=i.properties[n.callback?0:t._bindProperties.indexOf(o)];n.to.push([i.observable,e]);At(t._observable,n,i.observable,e)}))}))}function Ct(t,e){const n=t[lt];const o=n.get(e);let i;if(o.callback){i=o.callback.apply(t,o.to.map((t=>t[0][t[1]])))}else{i=o.to[0];i=i[0][i[1]]}if(Object.prototype.hasOwnProperty.call(t,e)){t[e]=i}else{t.set(e,i)}}function vt(t,e){e.forEach((e=>{const n=t[ct];let o;if(!n.get(e.observable)){t.listenTo(e.observable,\"change\",((i,r)=>{o=n.get(e.observable)[r];if(o){o.forEach((e=>{Ct(t,e.property)}))}}))}}))}class yt{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e});t.style.display=\"none\";if(e){t.parentNode.insertBefore(e,t.nextSibling)}}restore(){this._replacedElements.forEach((({element:t,newElement:e})=>{t.style.display=\"\";if(e){e.remove()}}));this._replacedElements=[]}}function xt(t){let e=new AbortController;function n(...n){e.abort();e=new AbortController;return t(e.signal,...n)}n.abort=()=>e.abort();return n}function Et(t){let e=0;for(const n of t){e++}return e}function Dt(t,e){const n=Math.min(t.length,e.length);for(let o=0;o-1}const Se=Te;function Be(t,e){var n=this.__data__,o=Ce(n,t);if(o<0){++this.size;n.push([t,e])}else{n[o][1]=e}return this}const Me=Be;function Pe(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e-1&&t%1==0&&t-1&&t%1==0&&t<=Uo}const qo=Wo;var Go=\"[object Arguments]\",$o=\"[object Array]\",Ko=\"[object Boolean]\",Yo=\"[object Date]\",Qo=\"[object Error]\",Zo=\"[object Function]\",Jo=\"[object Map]\",Xo=\"[object Number]\",ti=\"[object Object]\",ei=\"[object RegExp]\",ni=\"[object Set]\",oi=\"[object String]\",ii=\"[object WeakMap]\";var ri=\"[object ArrayBuffer]\",si=\"[object DataView]\",ai=\"[object Float32Array]\",ci=\"[object Float64Array]\",li=\"[object Int8Array]\",di=\"[object Int16Array]\",ui=\"[object Int32Array]\",hi=\"[object Uint8Array]\",mi=\"[object Uint8ClampedArray]\",gi=\"[object Uint16Array]\",fi=\"[object Uint32Array]\";var pi={};pi[ai]=pi[ci]=pi[li]=pi[di]=pi[ui]=pi[hi]=pi[mi]=pi[gi]=pi[fi]=true;pi[Go]=pi[$o]=pi[ri]=pi[Ko]=pi[si]=pi[Yo]=pi[Qo]=pi[Zo]=pi[Jo]=pi[Xo]=pi[ti]=pi[ei]=pi[ni]=pi[oi]=pi[ii]=false;function bi(t){return te(t)&&qo(t.length)&&!!pi[Qt(t)]}const ki=bi;function wi(t){return function(e){return t(e)}}const Ai=wi;var _i=typeof exports==\"object\"&&exports&&!exports.nodeType&&exports;var Ci=_i&&typeof module==\"object\"&&module&&!module.nodeType&&module;var vi=Ci&&Ci.exports===_i;var yi=vi&&St.process;var xi=function(){try{var t=Ci&&Ci.require&&Ci.require(\"util\").types;if(t){return t}return yi&&yi.binding&&yi.binding(\"util\")}catch(t){}}();const Ei=xi;var Di=Ei&&Ei.isTypedArray;var Ii=Di?Ai(Di):ki;const Ti=Ii;var Si=Object.prototype;var Bi=Si.hasOwnProperty;function Mi(t,e){var n=Jt(t),o=!n&&To(t),i=!n&&!o&&Ro(t),r=!n&&!o&&!i&&Ti(t),s=n||o||i||r,a=s?_o(t.length,String):[],c=a.length;for(var l in t){if((e||Bi.call(t,l))&&!(s&&(l==\"length\"||i&&(l==\"offset\"||l==\"parent\")||r&&(l==\"buffer\"||l==\"byteLength\"||l==\"byteOffset\")||Ho(l,c)))){a.push(l)}}return a}const Pi=Mi;var Ni=Object.prototype;function Li(t){var e=t&&t.constructor,n=typeof e==\"function\"&&e.prototype||Ni;return t===n}const zi=Li;var Oi=se(Object.keys,Object);const Ri=Oi;var Vi=Object.prototype;var Fi=Vi.hasOwnProperty;function ji(t){if(!zi(t)){return Ri(t)}var e=[];for(var n in Object(t)){if(Fi.call(t,n)&&n!=\"constructor\"){e.push(n)}}return e}const Hi=ji;function Ui(t){return t!=null&&qo(t.length)&&!Ke(t)}const Wi=Ui;function qi(t){return Wi(t)?Pi(t):Hi(t)}const Gi=qi;function $i(t,e){return t&&wo(e,Gi(e),t)}const Ki=$i;function Yi(t){var e=[];if(t!=null){for(var n in Object(t)){e.push(n)}}return e}const Qi=Yi;var Zi=Object.prototype;var Ji=Zi.hasOwnProperty;function Xi(t){if(!st(t)){return Qi(t)}var e=zi(t),n=[];for(var o in t){if(!(o==\"constructor\"&&(e||!Ji.call(t,o)))){n.push(o)}}return n}const tr=Xi;function er(t){return Wi(t)?Pi(t,true):tr(t)}const nr=er;function or(t,e){return t&&wo(e,nr(e),t)}const ir=or;var rr=typeof exports==\"object\"&&exports&&!exports.nodeType&&exports;var sr=rr&&typeof module==\"object\"&&module&&!module.nodeType&&module;var ar=sr&&sr.exports===rr;var cr=ar?Pt.Buffer:undefined,lr=cr?cr.allocUnsafe:undefined;function dr(t,e){if(e){return t.slice()}var n=t.length,o=lr?lr(n):new t.constructor(n);t.copy(o);return o}const ur=dr;function hr(t,e){var n=-1,o=t.length;e||(e=Array(o));while(++n{this._setToTarget(t,o,e[o],n)}))}}function $a(t){return Ua(t,Ka)}function Ka(t){return qa(t)||typeof t===\"function\"?t:undefined}function Ya(t){if(t){if(t.defaultView){return t instanceof t.defaultView.Document}else if(t.ownerDocument&&t.ownerDocument.defaultView){return t instanceof t.ownerDocument.defaultView.Node}}return false}function Qa(t){const e=Object.prototype.toString.apply(t);if(e==\"[object Window]\"){return true}if(e==\"[object global]\"){return true}return false}const Za=Ja($());function Ja(t){if(!t){return Za}class e extends t{listenTo(t,e,n,o={}){if(Ya(t)||Qa(t)){const i={capture:!!o.useCapture,passive:!!o.usePassive};const r=this._getProxyEmitter(t,i)||new Xa(t,i);this.listenTo(r,e,n,o)}else{super.listenTo(t,e,n,o)}}stopListening(t,e,n){if(Ya(t)||Qa(t)){const o=this._getAllProxyEmitters(t);for(const t of o){this.stopListening(t,e,n)}}else{super.stopListening(t,e,n)}}_getProxyEmitter(t,e){return K(this,ec(t,e))}_getAllProxyEmitters(t){return[{capture:false,passive:false},{capture:false,passive:true},{capture:true,passive:false},{capture:true,passive:true}].map((e=>this._getProxyEmitter(t,e))).filter((t=>!!t))}}return e}[\"_getProxyEmitter\",\"_getAllProxyEmitters\",\"on\",\"once\",\"off\",\"listenTo\",\"stopListening\",\"fire\",\"delegate\",\"stopDelegating\",\"_addEventListener\",\"_removeEventListener\"].forEach((t=>{Ja[t]=Za.prototype[t]}));class Xa extends($()){constructor(t,e){super();Y(this,ec(t,e));this._domNode=t;this._options=e}attach(t){if(this._domListeners&&this._domListeners[t]){return}const e=this._createDomListener(t);this._domNode.addEventListener(t,e,this._options);if(!this._domListeners){this._domListeners={}}this._domListeners[t]=e}detach(t){let e;if(this._domListeners[t]&&(!(e=this._events[t])||!e.callbacks.length)){this._domListeners[t].removeListener()}}_addEventListener(t,e,n){this.attach(t);$().prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){$().prototype._removeEventListener.call(this,t,e);this.detach(t)}_createDomListener(t){const e=e=>{this.fire(t,e)};e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options);delete this._domListeners[t]};return e}}function tc(t){return t[\"data-ck-expando\"]||(t[\"data-ck-expando\"]=T())}function ec(t,e){let n=tc(t);for(const t of Object.keys(e).sort()){if(e[t]){n+=\"-\"+t}}return n}let nc;try{nc={window,document}}catch(t){nc={window:{},document:{}}}const oc=nc;function ic(t){let e=t.parentElement;if(!e){return null}while(e.tagName!=\"BODY\"){const t=e.style.overflowY||global.window.getComputedStyle(e).overflowY;if(t===\"auto\"||t===\"scroll\"){break}e=e.parentElement;if(!e){return null}}return e}function rc(t){const e=[];let n=t;while(n&&n.nodeType!=Node.DOCUMENT_NODE){e.unshift(n);n=n.parentNode}return e}function sc(t){if(t instanceof HTMLTextAreaElement){return t.value}return t.innerHTML}function ac(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}function cc(t){return Object.prototype.toString.call(t)==\"[object Text]\"}function lc(t){return Object.prototype.toString.apply(t)==\"[object Range]\"}function dc(t){if(!t||!t.parentNode){return null}if(t.offsetParent===oc.document.body){return null}return t.offsetParent}const uc=[\"top\",\"right\",\"bottom\",\"left\",\"width\",\"height\"];class hc{constructor(t){const e=lc(t);Object.defineProperty(this,\"_source\",{value:t._source||t,writable:true,enumerable:false});if(fc(t)||e){if(e){const e=hc.getDomRangeRects(t);mc(this,hc.getBoundingRect(e))}else{mc(this,t.getBoundingClientRect())}}else if(Qa(t)){const{innerWidth:e,innerHeight:n}=t;mc(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else{mc(this,t)}}clone(){return new hc(this)}moveTo(t,e){this.top=e;this.right=t+this.width;this.bottom=e+this.height;this.left=t;return this}moveBy(t,e){this.top+=e;this.right+=t;this.left+=t;this.bottom+=e;return this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left),width:0,height:0};e.width=e.right-e.left;e.height=e.bottom-e.top;if(e.width<0||e.height<0){return null}else{const t=new hc(e);t._source=this._source;return t}}getIntersectionArea(t){const e=this.getIntersection(t);if(e){return e.getArea()}else{return 0}}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(gc(t)){return e}let n=t;let o=t.parentNode||t.commonAncestorContainer;let i;while(o&&!gc(o)){const t=bc(o)===\"visible\";if(n instanceof HTMLElement&&pc(n)===\"absolute\"){i=n}const r=pc(o);if(t||i&&(r===\"relative\"&&t||r!==\"relative\")){n=o;o=o.parentNode;continue}const s=new hc(o);const a=e.getIntersection(s);if(a){if(a.getArea(){for(const e of t){const t=wc._getElementCallbacks(e.target);if(t){for(const n of t){n(e)}}}}))}}wc._observerInstance=null;wc._elementCallbacks=null;const Ac=wc;function _c(t,e){if(t instanceof HTMLTextAreaElement){t.value=e}t.innerHTML=e}function Cc(t){return e=>e+t}function vc(t){let e=0;while(t.previousSibling){t=t.previousSibling;e++}return e}function yc(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function xc(t){return t&&t.nodeType===Node.COMMENT_NODE}function Ec(t){try{oc.document.createAttribute(t)}catch(t){return false}return true}function Dc(t){return!!(t&&t.getClientRects&&t.getClientRects().length)}function Ic({element:t,target:e,positions:n,limiter:o,fitInViewport:i,viewportOffsetConfig:r}){if(Ke(e)){e=e()}if(Ke(o)){o=o()}const s=dc(t);const a=Sc(r);const c=new hc(t);const l=Tc(e,a);let d;if(!l||!a.getIntersection(l)){return null}const u={targetRect:l,elementRect:c,positionedElementAncestor:s,viewportRect:a};if(!o&&!i){d=new Mc(n[0],u)}else{if(o){const t=Tc(o,a);if(t){u.limiterRect=t}}d=Bc(n,u)}return d}function Tc(t,e){const n=new hc(t).getVisible();if(!n){return null}return n.getIntersection(e)}function Sc(t){t=Object.assign({top:0,bottom:0,left:0,right:0},t);const e=new hc(oc.window);e.top+=t.top;e.height-=t.top;e.bottom-=t.bottom;e.height-=t.bottom;return e}function Bc(t,e){const{elementRect:n}=e;const o=n.getArea();const i=t.map((t=>new Mc(t,e))).filter((t=>!!t.name));let r=0;let s=null;for(const t of i){const{limiterIntersectionArea:e,viewportIntersectionArea:n}=t;if(e===o){return t}const i=n**2+e**2;if(i>r){r=i;s=t}}return s}class Mc{constructor(t,e){const n=t(e.targetRect,e.elementRect,e.viewportRect,e.limiterRect);if(!n){return}const{left:o,top:i,name:r,config:s}=n;this.name=r;this.config=s;this._positioningFunctionCoordinates={left:o,top:i};this._options=e}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;if(t){return t.getIntersectionArea(this._rect)}return 0}get viewportIntersectionArea(){const t=this._options.viewportRect;return t.getIntersectionArea(this._rect)}get _rect(){if(this._cachedRect){return this._cachedRect}this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left,this._positioningFunctionCoordinates.top);return this._cachedRect}get _absoluteRect(){if(this._cachedAbsoluteRect){return this._cachedAbsoluteRect}this._cachedAbsoluteRect=this._rect.toAbsoluteRect();return this._cachedAbsoluteRect}}function Pc(t){const e=t.parentNode;if(e){e.removeChild(t)}}function Nc({target:t,viewportOffset:e=0,ancestorOffset:n=0,alignToTop:o,forceScroll:i}){const r=Hc(t);let s=r;let a=null;e=qc(e);while(s){let c;if(s==r){c=Uc(t)}else{c=Uc(a)}Oc({parent:c,getRect:()=>Wc(t,s),alignToTop:o,ancestorOffset:n,forceScroll:i});const l=Wc(t,s);zc({window:s,rect:l,viewportOffset:e,alignToTop:o,forceScroll:i});if(s.parent!=s){a=s.frameElement;s=s.parent;if(!a){return}}else{s=null}}}function Lc(t,e,n){const o=Uc(t);Oc({parent:o,getRect:()=>new Rect(t),ancestorOffset:e,limiterElement:n})}function zc({window:t,rect:e,alignToTop:n,forceScroll:o,viewportOffset:i}){const r=e.clone().moveBy(0,i.bottom);const s=e.clone().moveBy(0,-i.top);const a=new hc(t).excludeScrollbarsAndBorders();const c=[s,r];const l=n&&o;const d=c.every((t=>a.contains(t)));let{scrollX:u,scrollY:h}=t;const m=u;const g=h;if(l){h-=a.top-e.top+i.top}else if(!d){if(Vc(s,a)){h-=a.top-e.top+i.top}else if(Rc(r,a)){if(n){h+=e.top-a.top-i.top}else{h+=e.bottom-a.bottom+i.bottom}}}if(!d){if(Fc(e,a)){u-=a.left-e.left+i.left}else if(jc(e,a)){u+=e.right-a.right+i.right}}if(u!=m||h!==g){t.scrollTo(u,h)}}function Oc({parent:t,getRect:e,alignToTop:n,forceScroll:o,ancestorOffset:i=0,limiterElement:r}){const s=Hc(t);const a=n&&o;let c,l,d;const u=r||s.document.body;while(t!=u){l=e();c=new hc(t).excludeScrollbarsAndBorders();d=c.contains(l);if(a){t.scrollTop-=c.top-l.top+i}else if(!d){if(Vc(l,c)){t.scrollTop-=c.top-l.top+i}else if(Rc(l,c)){if(n){t.scrollTop+=l.top-c.top-i}else{t.scrollTop+=l.bottom-c.bottom+i}}}if(!d){if(Fc(l,c)){t.scrollLeft-=c.left-l.left+i}else if(jc(l,c)){t.scrollLeft+=l.right-c.right+i}}t=t.parentNode}}function Rc(t,e){return t.bottom>e.bottom}function Vc(t,e){return t.tope.right}function Hc(t){if(lc(t)){return t.startContainer.ownerDocument.defaultView}else{return t.ownerDocument.defaultView}}function Uc(t){if(lc(t)){let e=t.commonAncestorContainer;if(cc(e)){e=e.parentNode}return e}else{return t.parentNode}}function Wc(t,e){const n=Hc(t);const o=new hc(t);if(n===e){return o}else{let t=n;while(t!=e){const e=t.frameElement;const n=new hc(e).excludeScrollbarsAndBorders();o.moveBy(n.left,n.top);t=t.parent}}return o}function qc(t){if(typeof t===\"number\"){return{top:t,bottom:t,left:t,right:t}}return t}const Gc={ctrl:\"\u2303\",cmd:\"\u2318\",alt:\"\u2325\",shift:\"\u21E7\"};const $c={ctrl:\"Ctrl+\",alt:\"Alt+\",shift:\"Shift+\"};const Kc={37:\"\u2190\",38:\"\u2191\",39:\"\u2192\",40:\"\u2193\",9:\"\u21E5\",33:\"Page Up\",34:\"Page Down\"};const Yc=il();const Qc=Object.fromEntries(Object.entries(Yc).map((([t,e])=>{let n;if(e in Kc){n=Kc[e]}else{n=t.charAt(0).toUpperCase()+t.slice(1)}return[e,n]})));function Zc(t){let e;if(typeof t==\"string\"){e=Yc[t.toLowerCase()];if(!e){throw new N(\"keyboard-unknown-key\",null,{key:t})}}else{e=t.keyCode+(t.altKey?Yc.alt:0)+(t.ctrlKey?Yc.ctrl:0)+(t.shiftKey?Yc.shift:0)+(t.metaKey?Yc.cmd:0)}return e}function Jc(t){if(typeof t==\"string\"){t=rl(t)}return t.map((t=>typeof t==\"string\"?nl(t):t)).reduce(((t,e)=>e+t),0)}function Xc(t){let e=Jc(t);const n=Object.entries(l.isMac||l.isiOS?Gc:$c);const o=n.reduce(((t,[n,o])=>{if((e&Yc[n])!=0){e&=~Yc[n];t+=o}return t}),\"\");return o+(e?Qc[e]:\"\")}function tl(t){return t==Yc.arrowright||t==Yc.arrowleft||t==Yc.arrowup||t==Yc.arrowdown}function el(t,e){const n=e===\"ltr\";switch(t){case Yc.arrowleft:return n?\"left\":\"right\";case Yc.arrowright:return n?\"right\":\"left\";case Yc.arrowup:return\"up\";case Yc.arrowdown:return\"down\"}}function nl(t){if(t.endsWith(\"!\")){return Zc(t.slice(0,-1))}const e=Zc(t);return(l.isMac||l.isiOS)&&e==Yc.ctrl?Yc.cmd:e}function ol(t,e){const n=el(t,e);return n===\"down\"||n===\"right\"}function il(){const t={pageup:33,pagedown:34,arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let e=65;e<=90;e++){const n=String.fromCharCode(e);t[n.toLowerCase()]=e}for(let e=48;e<=57;e++){t[e-48]=e}for(let e=112;e<=123;e++){t[\"f\"+(e-111)]=e}Object.assign(t,{\"'\":222,\",\":108,\"-\":109,\".\":110,\"/\":111,\";\":186,\"=\":187,\"[\":219,\"\\\\\":220,\"]\":221,\"`\":223});return t}function rl(t){return t.split(\"+\").map((t=>t.trim()))}function sl(t){return Array.isArray(t)?t:[t]}function al(t,e,n){if(n!==undefined&&!Ae(t[e],n)||n===undefined&&!(e in t)){mo(t,e,n)}}const cl=al;function ll(t){return function(e,n,o){var i=-1,r=Object(e),s=o(e),a=s.length;while(a--){var c=s[t?a:++i];if(n(r[c],c,r)===false){break}}return e}}const dl=ll;var ul=dl();const hl=ul;function ml(t){return te(t)&&Wi(t)}const gl=ml;function fl(t,e){if(e===\"constructor\"&&typeof t[e]===\"function\"){return}if(e==\"__proto__\"){return}return t[e]}const pl=fl;function bl(t){return wo(t,nr(t))}const kl=bl;function wl(t,e,n,o,i,r,s){var a=pl(t,n),c=pl(e,n),l=s.get(c);if(l){cl(t,n,l);return}var d=r?r(a,c,n+\"\",t,e,s):undefined;var u=d===undefined;if(u){var h=Jt(c),m=!h&&Ro(c),g=!h&&!m&&Ti(c);d=c;if(h||m||g){if(Jt(a)){d=a}else if(gl(a)){d=mr(a)}else if(m){u=false;d=ur(c,true)}else if(g){u=false;d=vs(c,true)}else{d=[]}}else if(pe(c)||To(c)){d=a;if(To(a)){d=kl(a)}else if(!st(a)||Ke(a)){d=Ys(c)}}else{u=false}}if(u){s.set(c,d);i(d,c,o,r,s);s[\"delete\"](c)}cl(t,n,d)}const Al=wl;function _l(t,e,n,o,i){if(t===e){return}hl(e,(function(r,s){i||(i=new so);if(st(r)){Al(t,e,s,n,_l,o,i)}else{var a=o?o(pl(t,s),r,s+\"\",t,e,i):undefined;if(a===undefined){a=r}cl(t,s,a)}}),nr)}const Cl=_l;function vl(t){return t}const yl=vl;function xl(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}const El=xl;var Dl=Math.max;function Il(t,e,n){e=Dl(e===undefined?t.length-1:e,0);return function(){var o=arguments,i=-1,r=Dl(o.length-e,0),s=Array(r);while(++i0){if(++e>=Nl){return arguments[0]}}else{e=0}return t.apply(undefined,arguments)}}const Rl=Ol;var Vl=Rl(Pl);const Fl=Vl;function jl(t,e){return Fl(Tl(t,e,yl),t+\"\")}const Hl=jl;function Ul(t,e,n){if(!st(n)){return false}var o=typeof e;if(o==\"number\"?Wi(n)&&Ho(e,n.length):o==\"string\"&&e in n){return Ae(n[e],t)}return false}const Wl=Ul;function ql(t){return Hl((function(e,n){var o=-1,i=n.length,r=i>1?n[i-1]:undefined,s=i>2?n[2]:undefined;r=t.length>3&&typeof r==\"function\"?(i--,r):undefined;if(s&&Wl(n[0],n[1],s)){r=i<3?undefined:r;i=1}e=Object(e);while(++ot===1?0:1);const l=a[s];if(typeof l===\"string\"){return l}const d=Number(c(n));return l[d]}function Zl(){if(global.window.CKEDITOR_TRANSLATIONS){global.window.CKEDITOR_TRANSLATIONS={}}}function Jl(t){return Array.isArray(t)?t.reduce(((t,e)=>Kl(t,e))):t}function Xl(t,e,n){return!!n[t]&&!!n[t].dictionary[e]}function td(t){return Object.keys(t).length}const ed=[\"ar\",\"ara\",\"dv\",\"div\",\"fa\",\"per\",\"fas\",\"he\",\"heb\",\"ku\",\"kur\",\"ug\",\"uig\"];function nd(t){return ed.includes(t)?\"rtl\":\"ltr\"}class od{constructor({uiLanguage:t=\"en\",contentLanguage:e,translations:n}={}){this.uiLanguage=t;this.contentLanguage=e||this.uiLanguage;this.uiLanguageDirection=nd(this.uiLanguage);this.contentLanguageDirection=nd(this.contentLanguage);this.translations=Jl(n);this.t=(t,e)=>this._t(t,e)}get language(){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.\");return this.uiLanguage}_t(t,e=[]){e=sl(e);if(typeof t===\"string\"){t={string:t}}const n=!!t.plural;const o=n?e[0]:1;const i=Ql(this.uiLanguage,t,o,this.translations);return id(i,e)}}function id(t,e){return t.replace(/%(\\d+)/g,((t,n)=>nthis._items.length||e<0){throw new N(\"collection-add-item-invalid-index\",this)}let n=0;for(const o of t){const t=this._getItemIdBeforeAdding(o);const i=e+n;this._items.splice(i,0,o);this._itemMap.set(t,o);this.fire(\"add\",o,i);n++}this.fire(\"change\",{added:t,removed:[],index:e});return this}get(t){let e;if(typeof t==\"string\"){e=this._itemMap.get(t)}else if(typeof t==\"number\"){e=this._items[t]}else{throw new N(\"collection-get-invalid-arg\",this)}return e||null}has(t){if(typeof t==\"string\"){return this._itemMap.has(t)}else{const e=this._idProperty;const n=t[e];return n&&this._itemMap.has(n)}}getIndex(t){let e;if(typeof t==\"string\"){e=this._itemMap.get(t)}else{e=t}return e?this._items.indexOf(e):-1}remove(t){const[e,n]=this._remove(t);this.fire(\"change\",{added:[],removed:[e],index:n});return e}map(t,e){return this._items.map(t,e)}forEach(t,e){this._items.forEach(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){if(this._bindToCollection){this.stopListening(this._bindToCollection);this._bindToCollection=null}const t=Array.from(this._items);while(this.length){this._remove(0)}this.fire(\"change\",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection){throw new N(\"collection-bind-to-rebind\",this)}this._bindToCollection=t;return{as:t=>{this._setUpBindToBinding((e=>new t(e)))},using:t=>{if(typeof t==\"function\"){this._setUpBindToBinding(t)}else{this._setUpBindToBinding((e=>e[t]))}}}}_setUpBindToBinding(t){const e=this._bindToCollection;const n=(n,o,i)=>{const r=e._bindToCollection==this;const s=e._bindToInternalToExternalMap.get(o);if(r&&s){this._bindToExternalToInternalMap.set(o,s);this._bindToInternalToExternalMap.set(s,o)}else{const n=t(o);if(!n){this._skippedIndexesFromExternal.push(i);return}let r=i;for(const t of this._skippedIndexesFromExternal){if(i>t){r--}}for(const t of e._skippedIndexesFromExternal){if(r>=t){r++}}this._bindToExternalToInternalMap.set(o,n);this._bindToInternalToExternalMap.set(n,o);this.add(n,r);for(let t=0;t{const o=this._bindToExternalToInternalMap.get(e);if(o){this.remove(o)}this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((t,e)=>{if(ne){t.push(e)}return t}),[])}))}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){n=t[e];if(typeof n!=\"string\"){throw new N(\"collection-add-invalid-id\",this)}if(this.get(n)){throw new N(\"collection-add-item-already-exists\",this)}}else{t[e]=n=T()}return n}_remove(t){let e,n,o;let i=false;const r=this._idProperty;if(typeof t==\"string\"){n=t;o=this._itemMap.get(n);i=!o;if(o){e=this._items.indexOf(o)}}else if(typeof t==\"number\"){e=t;o=this._items[e];i=!o;if(o){n=o[r]}}else{o=t;n=o[r];e=this._items.indexOf(o);i=e==-1||!this._itemMap.get(n)}if(i){throw new N(\"collection-remove-404\",this)}this._items.splice(e,1);this._itemMap.delete(n);const s=this._bindToInternalToExternalMap.get(o);this._bindToInternalToExternalMap.delete(o);this._bindToExternalToInternalMap.delete(s);this.fire(\"remove\",o,e);return[o,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function sd(t){const e=t.next();if(e.done){return null}return e.value}class ad extends(Ja(mt())){constructor(){super();this._elements=new Set;this._nextEventLoopTimeout=null;this.set(\"isFocused\",false);this.set(\"focusedElement\",null)}add(t){if(this._elements.has(t)){throw new N(\"focustracker-add-element-already-exist\",this)}this.listenTo(t,\"focus\",(()=>this._focus(t)),{useCapture:true});this.listenTo(t,\"blur\",(()=>this._blur()),{useCapture:true});this._elements.add(t)}remove(t){if(t===this.focusedElement){this._blur()}if(this._elements.has(t)){this.stopListening(t);this._elements.delete(t)}}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout);this.focusedElement=t;this.isFocused=true}_blur(){clearTimeout(this._nextEventLoopTimeout);this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null;this.isFocused=false}),0)}}class cd{constructor(){this._listener=new(Ja())}listenTo(t){this._listener.listenTo(t,\"keydown\",((t,e)=>{this._listener.fire(\"_keydown:\"+Zc(e),e)}))}set(t,e,n={}){const o=Jc(t);const i=n.priority;this._listener.listenTo(this._listener,\"_keydown:\"+o,((t,n)=>{e(n,(()=>{n.preventDefault();n.stopPropagation();t.stop()}));t.return=true}),{priority:i})}press(t){return!!this._listener.fire(\"_keydown:\"+Zc(t),t)}stopListening(t){this._listener.stopListening(t)}destroy(){this.stopListening()}}function ld(t){const e=new Map;for(const n in t){e.set(n,t[n])}return e}function dd(t){if(It(t)){return new Map(t)}else{return ld(t)}}function ud(t,e={}){return new Promise(((n,o)=>{const i=e.signal||(new AbortController).signal;i.throwIfAborted();const r=setTimeout(s,t);i.addEventListener(\"abort\",a,{once:true});function s(){i.removeEventListener(\"abort\",a);n()}function a(){clearTimeout(r);o(i.reason)}}))}async function hd(t,e={}){const{maxAttempts:n=4,retryDelay:o=md(),signal:i=(new AbortController).signal}=e;i.throwIfAborted();for(let e=0;;e++){try{return await t()}catch(t){const o=e+1>=n;if(o){throw t}}await ud(o(e),{signal:i})}}function md(t={}){const{delay:e=1e3,factor:n=2,maxDelay:o=1e4}=t;return t=>Math.min(n**t*e,o)}const gd=1e4;function fd(t,e,n,o){if(Math.max(e.length,t.length)>gd){return t.slice(0,n).concat(e).concat(t.slice(n+o,t.length))}else{const i=Array.from(t);i.splice(n,o,...e);return i}}function pd(t,e){let n;function o(...i){o.cancel();n=setTimeout((()=>t(...i)),e)}o.cancel=()=>{clearTimeout(n)};return o}function bd(t){function e(t){if(t.length>=40&&t.length<=255){return\"VALID\"}else{return\"INVALID\"}}if(!t){return\"INVALID\"}let n=\"\";try{n=atob(t)}catch(t){return\"INVALID\"}const o=n.split(\"-\");const i=o[0];const r=o[1];if(!r){return e(t)}try{atob(r)}catch(n){try{atob(i);if(!atob(i).length){return e(t)}}catch(n){return e(t)}}if(i.length<40||i.length>255){return\"INVALID\"}let s=\"\";try{atob(i);s=atob(r)}catch(t){return\"INVALID\"}if(s.length!==8){return\"INVALID\"}const a=Number(s.substring(0,4));const c=Number(s.substring(4,6))-1;const l=Number(s.substring(6,8));const d=new Date(a,c,l);if(dt.indext.source)).join(\"|\")+\")\";const o=`${e}|${n}(?:\u200D${n})*`;return new RegExp(o,\"ug\")}class Ed extends(mt()){constructor(t){super();this._disableStack=new Set;this.editor=t;this.set(\"isEnabled\",true)}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on(\"set:isEnabled\",Dd,{priority:\"highest\"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off(\"set:isEnabled\",Dd);this.isEnabled=true}}destroy(){this.stopListening()}static get isContextPlugin(){return false}}function Dd(t){t.return=false;t.stop()}class Id extends(mt()){constructor(t){super();this.editor=t;this.set(\"value\",undefined);this.set(\"isEnabled\",false);this._affectsData=true;this._isEnabledBasedOnSelection=true;this._disableStack=new Set;this.decorate(\"execute\");this.listenTo(this.editor.model.document,\"change\",(()=>{this.refresh()}));this.listenTo(t,\"change:isReadOnly\",(()=>{this.refresh()}));this.on(\"set:isEnabled\",(e=>{if(!this.affectsData){return}const n=t.model.document.selection;const o=n.getFirstPosition().root.rootName==\"$graveyard\";const i=!o&&t.model.canEditAt(n);if(t.isReadOnly||this._isEnabledBasedOnSelection&&!i){e.return=false;e.stop()}}),{priority:\"highest\"});this.on(\"execute\",(t=>{if(!this.isEnabled){t.stop()}}),{priority:\"high\"})}get affectsData(){return this._affectsData}set affectsData(t){this._affectsData=t}refresh(){this.isEnabled=true}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on(\"set:isEnabled\",Td,{priority:\"highest\"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off(\"set:isEnabled\",Td);this.refresh()}}execute(...t){return undefined}destroy(){this.stopListening()}}function Td(t){t.return=false;t.stop()}class Sd extends Id{constructor(){super(...arguments);this._childCommandsDefinitions=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return!!e&&e.execute(t)}registerChildCommand(t,e={}){M(this._childCommandsDefinitions,{command:t,priority:e.priority||\"normal\"});t.on(\"change:isEnabled\",(()=>this._checkEnabled()));this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const t=this._childCommandsDefinitions.find((({command:t})=>t.isEnabled));return t&&t.command}}class Bd extends($()){constructor(t,e=[],n=[]){super();this._plugins=new Map;this._context=t;this._availablePlugins=new Map;for(const t of e){if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}this._contextPlugins=new Map;for(const[t,e]of n){this._contextPlugins.set(t,e);this._contextPlugins.set(e,t);if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}}*[Symbol.iterator](){for(const t of this._plugins){if(typeof t[0]==\"function\"){yield t}}}get(t){const e=this._plugins.get(t);if(!e){let e=t;if(typeof t==\"function\"){e=t.pluginName||t.name}throw new N(\"plugincollection-plugin-not-loaded\",this._context,{plugin:e})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const o=this;const i=this._context;h(t);g(t);const r=t.filter((t=>!d(t,e)));const s=[...m(r)];A(s,n);const a=k(s);return w(a,\"init\").then((()=>w(a,\"afterInit\"))).then((()=>a));function c(t){return typeof t===\"function\"}function l(t){return c(t)&&!!t.isContextPlugin}function d(t,e){return e.some((e=>{if(e===t){return true}if(u(t)===e){return true}if(u(e)===t){return true}return false}))}function u(t){return c(t)?t.pluginName||t.name:t}function h(t,e=new Set){t.forEach((t=>{if(!c(t)){return}if(e.has(t)){return}e.add(t);if(t.pluginName&&!o._availablePlugins.has(t.pluginName)){o._availablePlugins.set(t.pluginName,t)}if(t.requires){h(t.requires,e)}}))}function m(t,e=new Set){return t.map((t=>c(t)?t:o._availablePlugins.get(t))).reduce(((t,n)=>{if(e.has(n)){return t}e.add(n);if(n.requires){g(n.requires,n);m(n.requires,e).forEach((e=>t.add(e)))}return t.add(n)}),new Set)}function g(t,e=null){t.map((t=>c(t)?t:o._availablePlugins.get(t)||t)).forEach((t=>{f(t,e);p(t,e);b(t,e)}))}function f(t,e){if(c(t)){return}if(e){throw new N(\"plugincollection-soft-required\",i,{missingPlugin:t,requiredBy:u(e)})}throw new N(\"plugincollection-plugin-not-found\",i,{plugin:t})}function p(t,e){if(!l(e)){return}if(l(t)){return}throw new N(\"plugincollection-context-required\",i,{plugin:u(t),requiredBy:u(e)})}function b(t,n){if(!n){return}if(!d(t,e)){return}throw new N(\"plugincollection-required\",i,{plugin:u(t),requiredBy:u(n)})}function k(t){return t.map((t=>{let e=o._contextPlugins.get(t);e=e||new t(i);o._add(t,e);return e}))}function w(t,e){return t.reduce(((t,n)=>{if(!n[e]){return t}if(o._contextPlugins.has(n)){return t}return t.then(n[e].bind(n))}),Promise.resolve())}function A(t,e){for(const n of e){if(typeof n!=\"function\"){throw new N(\"plugincollection-replace-plugin-invalid-type\",null,{pluginItem:n})}const e=n.pluginName;if(!e){throw new N(\"plugincollection-replace-plugin-missing-name\",null,{pluginItem:n})}if(n.requires&&n.requires.length){throw new N(\"plugincollection-plugin-for-replacing-cannot-have-dependencies\",null,{pluginName:e})}const i=o._availablePlugins.get(e);if(!i){throw new N(\"plugincollection-plugin-for-replacing-not-exist\",null,{pluginName:e})}const r=t.indexOf(i);if(r===-1){if(o._contextPlugins.has(i)){return}throw new N(\"plugincollection-plugin-for-replacing-not-loaded\",null,{pluginName:e})}if(i.requires&&i.requires.length){throw new N(\"plugincollection-replaced-plugin-cannot-have-dependencies\",null,{pluginName:e})}t.splice(r,1,n);o._availablePlugins.set(e,n)}}}destroy(){const t=[];for(const[,e]of this){if(typeof e.destroy==\"function\"&&!this._contextPlugins.has(e)){t.push(e.destroy())}}return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(!n){return}if(this._plugins.has(n)){throw new N(\"plugincollection-plugin-name-conflict\",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t})}this._plugins.set(n,e)}}class Md{constructor(t){this._contextOwner=null;const{translations:e,...n}=t||{};this.config=new Ga(n,this.constructor.defaultConfig);const o=this.constructor.builtinPlugins;this.config.define(\"plugins\",o);this.plugins=new Bd(this,o);const i=this.config.get(\"language\")||{};this.locale=new od({uiLanguage:typeof i===\"string\"?i:i.ui,contentLanguage:this.config.get(\"language.content\"),translations:e});this.t=this.locale.t;this.editors=new rd}initPlugins(){const t=this.config.get(\"plugins\")||[];const e=this.config.get(\"substitutePlugins\")||[];for(const n of t.concat(e)){if(typeof n!=\"function\"){throw new N(\"context-initplugins-constructor-only\",null,{Plugin:n})}if(n.isContextPlugin!==true){throw new N(\"context-initplugins-invalid-plugin\",null,{Plugin:n})}}return this.plugins.init(t,[],e)}destroy(){return Promise.all(Array.from(this.editors,(t=>t.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(t,e){if(this._contextOwner){throw new N(\"context-addeditor-private-context\")}this.editors.add(t);if(e){this._contextOwner=t}}_removeEditor(t){if(this.editors.has(t)){this.editors.remove(t)}if(this._contextOwner===t){return this.destroy()}return Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names()){if(![\"plugins\",\"removePlugins\",\"extraPlugins\"].includes(e)){t[e]=this.config.get(e)}}return t}static create(t){return new Promise((e=>{const n=new this(t);e(n.initPlugins().then((()=>n)))}))}}class Pd extends(mt()){constructor(t){super();this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return true}}var Nd=n(5072);var Ld=n.n(Nd);var zd=n(1920);var Od={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Od.insert=\"head\";Od.singleton=true;var Rd=Ld()(zd.A,Od);const Vd=zd.A.locals||{};const Fd=new WeakMap;let jd=false;function Hd({view:t,element:e,text:n,isDirectHost:o=true,keepOnFocus:i=false}){const r=t.document;if(!Fd.has(r)){Fd.set(r,new Map);r.registerPostFixer((t=>$d(r,t)));r.on(\"change:isComposing\",(()=>{t.change((t=>$d(r,t)))}),{priority:\"high\"})}if(e.is(\"editableElement\")){e.on(\"change:placeholder\",((t,e,n)=>{s(n)}))}if(e.placeholder){s(e.placeholder)}else if(n){s(n)}if(n){Qd()}function s(n){Fd.get(r).set(e,{text:n,isDirectHost:o,keepOnFocus:i,hostElement:o?e:null});t.change((t=>$d(r,t)))}}function Ud(t,e){const n=e.document;if(!Fd.has(n)){return}t.change((t=>{const o=Fd.get(n);const i=o.get(e);t.removeAttribute(\"data-placeholder\",i.hostElement);qd(t,i.hostElement);o.delete(e)}))}function Wd(t,e){if(!e.hasClass(\"ck-placeholder\")){t.addClass(\"ck-placeholder\",e);return true}return false}function qd(t,e){if(e.hasClass(\"ck-placeholder\")){t.removeClass(\"ck-placeholder\",e);return true}return false}function Gd(t,e){if(!t.isAttached()){return false}const n=Array.from(t.getChildren()).some((t=>!t.is(\"uiElement\")));if(n){return false}const o=t.document;const i=o.selection;const r=i.anchor;if(o.isComposing&&r&&r.parent===t){return false}if(e){return true}if(!o.isFocused){return true}return!!r&&r.parent!==t}function $d(t,e){const n=Fd.get(t);const o=[];let i=false;for(const[t,r]of n){if(r.isDirectHost){o.push(t);if(Kd(e,t,r)){i=true}}}for(const[t,r]of n){if(r.isDirectHost){continue}const n=Yd(t);if(!n){continue}if(o.includes(n)){continue}r.hostElement=n;if(Kd(e,t,r)){i=true}}return i}function Kd(t,e,n){const{text:o,isDirectHost:i,hostElement:r}=n;let s=false;if(r.getAttribute(\"data-placeholder\")!==o){t.setAttribute(\"data-placeholder\",o,r);s=true}const a=i||e.childCount==1;if(a&&Gd(r,n.keepOnFocus)){if(Wd(t,r)){s=true}}else if(qd(t,r)){s=true}return s}function Yd(t){if(t.childCount){const e=t.getChild(0);if(e.is(\"element\")&&!e.is(\"uiElement\")&&!e.is(\"attributeElement\")){return e}}return null}function Qd(){if(!jd){L(\"enableplaceholder-deprecated-text-option\")}jd=true}class Zd{is(){throw new Error(\"is() method is abstract\")}}var Jd=4;function Xd(t){return Va(t,Jd)}const tu=Xd;class eu extends($(Zd)){constructor(t){super();this.document=t;this.parent=null}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))==-1){throw new N(\"view-node-not-found-in-parent\",this)}return t}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.root.is(\"rootElement\")}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.index);e=e.parent}return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const o=t.getAncestors(e);let i=0;while(n[i]==o[i]&&n[i]){i++}return i===0?null:n[i-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const o=Dt(e,n);switch(o){case\"prefix\":return true;case\"extension\":return false;default:return e[o]t.data.length){throw new N(\"view-textproxy-wrong-offsetintext\",this)}if(n<0||e+n>t.data.length){throw new N(\"view-textproxy-wrong-length\",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(t={}){const e=[];let n=t.includeSelf?this.textNode:this.parent;while(n!==null){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}}ou.prototype.is=function(t){return t===\"$textProxy\"||t===\"view:$textProxy\"||t===\"textProxy\"||t===\"view:textProxy\"};class iu{constructor(...t){this._patterns=[];this.add(...t)}add(...t){for(let e of t){if(typeof e==\"string\"||e instanceof RegExp){e={name:e}}this._patterns.push(e)}}match(...t){for(const e of t){for(const t of this._patterns){const n=ru(e,t);if(n){return{element:e,pattern:t,match:n}}}}return null}matchAll(...t){const e=[];for(const n of t){for(const t of this._patterns){const o=ru(n,t);if(o){e.push({element:n,pattern:t,match:o})}}}return e.length>0?e:null}getElementName(){if(this._patterns.length!==1){return null}const t=this._patterns[0];const e=t.name;return typeof t!=\"function\"&&e&&!(e instanceof RegExp)?e:null}}function ru(t,e){if(typeof e==\"function\"){return e(t)}const n={};if(e.name){n.name=su(e.name,t.name);if(!n.name){return null}}if(e.attributes){n.attributes=uu(e.attributes,t);if(!n.attributes){return null}}if(e.classes){n.classes=hu(e.classes,t);if(!n.classes){return null}}if(e.styles){n.styles=mu(e.styles,t);if(!n.styles){return null}}return n}function su(t,e){if(t instanceof RegExp){return!!e.match(t)}return t===e}function au(t,e,n){const o=cu(t);const i=Array.from(e);const r=[];o.forEach((([t,e])=>{i.forEach((o=>{if(lu(t,o)&&du(e,o,n)){r.push(o)}}))}));if(!o.length||r.length{if(pe(t)){if(t.key===undefined||t.value===undefined){L(\"matcher-pattern-missing-key-or-value\",t)}return[t.key,t.value]}return[t,true]}))}if(pe(t)){return Object.entries(t)}return[[t,true]]}function lu(t,e){return t===true||t===e||t instanceof RegExp&&e.match(t)}function du(t,e,n){if(t===true){return true}const o=n(e);return t===o||t instanceof RegExp&&!!String(o).match(t)}function uu(t,e){const n=new Set(e.getAttributeKeys());if(pe(t)){if(t.style!==undefined){L(\"matcher-pattern-deprecated-attributes-style-key\",t)}if(t.class!==undefined){L(\"matcher-pattern-deprecated-attributes-class-key\",t)}}else{n.delete(\"style\");n.delete(\"class\")}return au(t,n,(t=>e.getAttribute(t)))}function hu(t,e){return au(t,e.getClassNames(),(()=>{}))}function mu(t,e){return au(t,e.getStyleNames(true),(t=>e.getStyle(t)))}var gu=\"[object Symbol]\";function fu(t){return typeof t==\"symbol\"||te(t)&&Qt(t)==gu}const pu=fu;var bu=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,ku=/^\\w*$/;function wu(t,e){if(Jt(t)){return false}var n=typeof t;if(n==\"number\"||n==\"symbol\"||n==\"boolean\"||t==null||pu(t)){return true}return ku.test(t)||!bu.test(t)||e!=null&&t in Object(e)}const Au=wu;var _u=\"Expected a function\";function Cu(t,e){if(typeof t!=\"function\"||e!=null&&typeof e!=\"function\"){throw new TypeError(_u)}var n=function(){var o=arguments,i=e?e.apply(this,o):o[0],r=n.cache;if(r.has(i)){return r.get(i)}var s=t.apply(this,o);n.cache=r.set(i,s)||r;return s};n.cache=new(Cu.Cache||eo);return n}Cu.Cache=eo;const vu=Cu;var yu=500;function xu(t){var e=vu(t,(function(t){if(n.size===yu){n.clear()}return t}));var n=e.cache;return e}const Eu=xu;var Du=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;var Iu=/\\\\(\\\\)?/g;var Tu=Eu((function(t){var e=[];if(t.charCodeAt(0)===46){e.push(\"\")}t.replace(Du,(function(t,n,o,i){e.push(o?i.replace(Iu,\"$1\"):n||t)}));return e}));const Su=Tu;function Bu(t,e){var n=-1,o=t==null?0:t.length,i=Array(o);while(++ni?0:i+e}n=n>i?i:n;if(n<0){n+=i}i=e>n?0:n-e>>>0;e>>>=0;var r=Array(i);while(++oe===t));return Array.isArray(n)}set(t,e){if(st(t)){for(const[e,n]of Object.entries(t)){this._styleProcessor.toNormalizedForm(e,n,this._styles)}}else{this._styleProcessor.toNormalizedForm(t,e,this._styles)}}remove(t){const e=hh(t);nh(this._styles,e);delete this._styles[t];this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){if(this.isEmpty){return\"\"}return this.getStylesEntries().map((t=>t.join(\":\"))).sort().join(\";\")+\";\"}getAsString(t){if(this.isEmpty){return}if(this._styles[t]&&!st(this._styles[t])){return this._styles[t]}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find((([e])=>e===t));if(Array.isArray(n)){return n[1]}}getStyleNames(t=false){if(this.isEmpty){return[]}if(t){return this._styleProcessor.getStyleNames(this._styles)}const e=this.getStylesEntries();return e.map((([t])=>t))}clear(){this._styles={}}getStylesEntries(){const t=[];const e=Object.keys(this._styles);for(const n of e){t.push(...this._styleProcessor.getReducedForm(n,this._styles))}return t}_cleanEmptyObjectsOnPath(t){const e=t.split(\".\");const n=e.length>1;if(!n){return}const o=e.splice(0,e.length-1).join(\".\");const i=ih(this._styles,o);if(!i){return}const r=!Object.keys(i).length;if(r){this.remove(o)}}}class dh{constructor(){this._normalizers=new Map;this._extractors=new Map;this._reducers=new Map;this._consumables=new Map}toNormalizedForm(t,e,n){if(st(e)){mh(n,hh(t),e);return}if(this._normalizers.has(t)){const o=this._normalizers.get(t);const{path:i,value:r}=o(e);mh(n,i,r)}else{mh(n,t,e)}}getNormalized(t,e){if(!t){return Kl({},e)}if(e[t]!==undefined){return e[t]}if(this._extractors.has(t)){const n=this._extractors.get(t);if(typeof n===\"string\"){return ih(e,n)}const o=n(t,e);if(o){return o}}return ih(e,hh(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(n===undefined){return[]}if(this._reducers.has(t)){const e=this._reducers.get(t);return e(n)}return[[t,n]]}getStyleNames(t){const e=Array.from(this._consumables.keys()).filter((e=>{const n=this.getNormalized(e,t);if(n&&typeof n==\"object\"){return Object.keys(n).length}return n}));const n=new Set([...e,...Object.keys(t)]);return Array.from(n)}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e){this._mapStyleNames(n,[t])}}_mapStyleNames(t,e){if(!this._consumables.has(t)){this._consumables.set(t,[])}this._consumables.get(t).push(...e)}}function uh(t){let e=null;let n=0;let o=0;let i=null;const r=new Map;if(t===\"\"){return r}if(t.charAt(t.length-1)!=\";\"){t=t+\";\"}for(let s=0;s0){yield\"class\"}if(!this._styles.isEmpty){yield\"style\"}yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries();if(this._classes.size>0){yield[\"class\",this.getAttribute(\"class\")]}if(!this._styles.isEmpty){yield[\"style\",this.getAttribute(\"style\")]}}getAttribute(t){if(t==\"class\"){if(this._classes.size>0){return[...this._classes].join(\" \")}return undefined}if(t==\"style\"){const t=this._styles.toString();return t==\"\"?undefined:t}return this._attrs.get(t)}hasAttribute(t){if(t==\"class\"){return this._classes.size>0}if(t==\"style\"){return!this._styles.isEmpty}return this._attrs.has(t)}isSimilar(t){if(!(t instanceof gh)){return false}if(this===t){return true}if(this.name!=t.name){return false}if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size){return false}for(const[e,n]of this._attrs){if(!t._attrs.has(e)||t._attrs.get(e)!==n){return false}}for(const e of this._classes){if(!t._classes.has(e)){return false}}for(const e of this._styles.getStyleNames()){if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e)){return false}}return true}hasClass(...t){for(const e of t){if(!this._classes.has(e)){return false}}return true}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t){if(!this._styles.has(e)){return false}}return true}findAncestor(...t){const e=new iu(...t);let n=this.parent;while(n&&!n.is(\"documentFragment\")){if(e.match(n)){return n}n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(\",\");const e=this._styles.toString();const n=Array.from(this._attrs).map((t=>`${t[0]}=\"${t[1]}\"`)).sort().join(\" \");return this.name+(t==\"\"?\"\":` class=\"${t}\"`)+(!e?\"\":` style=\"${e}\"`)+(n==\"\"?\"\":` ${n}`)}shouldRenderUnsafeAttribute(t){return this._unsafeAttributesToRender.includes(t)}_clone(t=false){const e=[];if(t){for(const n of this.getChildren()){e.push(n._clone(t))}}const n=new this.constructor(this.document,this.name,this._attrs,e);n._classes=new Set(this._classes);n._styles.set(this._styles.getNormalized());n._customProperties=new Map(this._customProperties);n.getFillerOffset=this.getFillerOffset;n._unsafeAttributesToRender=this._unsafeAttributesToRender;return n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const o=bh(this.document,e);for(const e of o){if(e.parent!==null){e._remove()}e.parent=this;e.document=this.document;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n0){this._classes.clear();return true}return false}if(t==\"style\"){if(!this._styles.isEmpty){this._styles.clear();return true}return false}return this._attrs.delete(t)}_addClass(t){this._fireChange(\"attributes\",this);for(const e of sl(t)){this._classes.add(e)}}_removeClass(t){this._fireChange(\"attributes\",this);for(const e of sl(t)){this._classes.delete(e)}}_setStyle(t,e){this._fireChange(\"attributes\",this);if(typeof t!=\"string\"){this._styles.set(t)}else{this._styles.set(t,e)}}_removeStyle(t){this._fireChange(\"attributes\",this);for(const e of sl(t)){this._styles.remove(e)}}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}gh.prototype.is=function(t,e){if(!e){return t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"element\"||t===\"view:element\")}};function fh(t){const e=dd(t);for(const[t,n]of e){if(n===null){e.delete(t)}else if(typeof n!=\"string\"){e.set(t,String(n))}}return e}function ph(t,e){const n=e.split(/\\s+/);t.clear();n.forEach((e=>t.add(e)))}function bh(t,e){if(typeof e==\"string\"){return[new nu(t,e)]}if(!It(e)){e=[e]}return Array.from(e).map((e=>{if(typeof e==\"string\"){return new nu(t,e)}if(e instanceof ou){return new nu(t,e.data)}return e}))}class kh extends gh{constructor(t,e,n,o){super(t,e,n,o);this.getFillerOffset=wh}}kh.prototype.is=function(t,e){if(!e){return t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}};function wh(){const t=[...this.getChildren()];const e=t[this.childCount-1];if(e&&e.is(\"element\",\"br\")){return this.childCount}for(const e of t){if(!e.is(\"uiElement\")){return null}}return this.childCount}class Ah extends(mt(kh)){constructor(t,e,n,o){super(t,e,n,o);this.set(\"isReadOnly\",false);this.set(\"isFocused\",false);this.set(\"placeholder\",undefined);this.bind(\"isReadOnly\").to(t);this.bind(\"isFocused\").to(t,\"isFocused\",(e=>e&&t.selection.editableElement==this));this.listenTo(t.selection,\"change\",(()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this}))}destroy(){this.stopListening()}}Ah.prototype.is=function(t,e){if(!e){return t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}};const _h=Symbol(\"rootName\");class Ch extends Ah{constructor(t,e){super(t,e);this.rootName=\"main\"}get rootName(){return this.getCustomProperty(_h)}set rootName(t){this._setCustomProperty(_h,t)}set _name(t){this.name=t}}Ch.prototype.is=function(t,e){if(!e){return 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\"}else{return e===this.name&&(t===\"rootElement\"||t===\"view:rootElement\"||t===\"editableElement\"||t===\"view:editableElement\"||t===\"containerElement\"||t===\"view:containerElement\"||t===\"element\"||t===\"view:element\")}};class vh{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new N(\"view-tree-walker-no-start-position\",null)}if(t.direction&&t.direction!=\"forward\"&&t.direction!=\"backward\"){throw new N(\"view-tree-walker-unknown-direction\",t.startPosition,{direction:t.direction})}this.boundaries=t.boundaries||null;if(t.startPosition){this._position=yh._createAt(t.startPosition)}else{this._position=yh._createAt(t.boundaries[t.direction==\"backward\"?\"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}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e;let n;do{n=this.position;e=this.next()}while(!e.done&&t(e.value));if(!e.done){this._position=n}}next(){if(this.direction==\"forward\"){return this._next()}else{return this._previous()}}_next(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===n.childCount){return{done:true,value:undefined}}if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset){return{done:true,value:undefined}}let o;if(n instanceof nu){if(t.isAtEnd){this._position=yh._createAfter(n);return this._next()}o=n.data[t.offset]}else{o=n.getChild(t.offset)}if(o instanceof gh){if(!this.shallow){t=new yh(o,0)}else{if(this.boundaries&&this.boundaries.end.isBefore(t)){return{done:true,value:undefined}}t.offset++}this._position=t;return this._formatReturnValue(\"elementStart\",o,e,t,1)}if(o instanceof nu){if(this.singleCharacters){t=new yh(o,0);this._position=t;return this._next()}let n=o.data.length;let i;if(o==this._boundaryEndParent){n=this.boundaries.end.offset;i=new ou(o,0,n);t=yh._createAfter(i)}else{i=new ou(o,0,o.data.length);t.offset++}this._position=t;return this._formatReturnValue(\"text\",i,e,t,n)}if(typeof o==\"string\"){let o;if(this.singleCharacters){o=1}else{const e=n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length;o=e-t.offset}const i=new ou(n,t.offset,o);t.offset+=o;this._position=t;return this._formatReturnValue(\"text\",i,e,t,o)}t=yh._createAfter(n);this._position=t;if(this.ignoreElementEnd){return this._next()}return this._formatReturnValue(\"elementEnd\",n,e,t)}_previous(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===0){return{done:true,value:undefined}}if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset){return{done:true,value:undefined}}let o;if(n instanceof nu){if(t.isAtStart){this._position=yh._createBefore(n);return this._previous()}o=n.data[t.offset-1]}else{o=n.getChild(t.offset-1)}if(o instanceof gh){if(this.shallow){t.offset--;this._position=t;return this._formatReturnValue(\"elementStart\",o,e,t,1)}t=new yh(o,o.childCount);this._position=t;if(this.ignoreElementEnd){return this._previous()}return this._formatReturnValue(\"elementEnd\",o,e,t)}if(o instanceof nu){if(this.singleCharacters){t=new yh(o,o.data.length);this._position=t;return this._previous()}let n=o.data.length;let i;if(o==this._boundaryStartParent){const e=this.boundaries.start.offset;i=new ou(o,e,o.data.length-e);n=i.data.length;t=yh._createBefore(i)}else{i=new ou(o,0,o.data.length);t.offset--}this._position=t;return this._formatReturnValue(\"text\",i,e,t,n)}if(typeof o==\"string\"){let o;if(!this.singleCharacters){const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;o=t.offset-e}else{o=1}t.offset-=o;const i=new ou(n,t.offset,o);this._position=t;return this._formatReturnValue(\"text\",i,e,t,o)}t=yh._createBefore(n);this._position=t;return this._formatReturnValue(\"elementStart\",n,e,t,1)}_formatReturnValue(t,e,n,o,i){if(e instanceof ou){if(e.offsetInText+e.data.length==e.textNode.data.length){if(this.direction==\"forward\"&&!(this.boundaries&&this.boundaries.end.isEqual(this.position))){o=yh._createAfter(e.textNode);this._position=o}else{n=yh._createAfter(e.textNode)}}if(e.offsetInText===0){if(this.direction==\"backward\"&&!(this.boundaries&&this.boundaries.start.isEqual(this.position))){o=yh._createBefore(e.textNode);this._position=o}else{n=yh._createBefore(e.textNode)}}}return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}}class yh extends Zd{constructor(t,e){super();this.parent=t;this.offset=e}get nodeAfter(){if(this.parent.is(\"$text\")){return null}return this.parent.getChild(this.offset)||null}get nodeBefore(){if(this.parent.is(\"$text\")){return null}return this.parent.getChild(this.offset-1)||null}get isAtStart(){return this.offset===0}get isAtEnd(){const t=this.parent.is(\"$text\")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;while(!(t instanceof Ah)){if(t.parent){t=t.parent}else{return null}}return t}getShiftedBy(t){const e=yh._createAt(this);const n=e.offset+t;e.offset=n<0?0:n;return e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new vh(e);n.skip(t);return n.position}getAncestors(){if(this.parent.is(\"documentFragment\")){return[this.parent]}else{return this.parent.getAncestors({includeSelf:true})}}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let o=0;while(e[o]==n[o]&&e[o]){o++}return o===0?null:e[o-1]}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return this.compareWith(t)==\"before\"}isAfter(t){return this.compareWith(t)==\"after\"}compareWith(t){if(this.root!==t.root){return\"different\"}if(this.isEqual(t)){return\"same\"}const e=this.parent.is(\"node\")?this.parent.getPath():[];const n=t.parent.is(\"node\")?t.parent.getPath():[];e.push(this.offset);n.push(t.offset);const o=Dt(e,n);switch(o){case\"prefix\":return\"before\";case\"extension\":return\"after\";default:return e[o]0?new this(n,o):new this(o,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is(\"$textProxy\")?t.offsetSize:1;return this._createFromPositionAndShift(yh._createBefore(t),e)}}xh.prototype.is=function(t){return t===\"range\"||t===\"view:range\"};function Eh(t){if(t.item.is(\"attributeElement\")||t.item.is(\"uiElement\")){return true}return false}class Dh extends($(Zd)){constructor(...t){super();this._ranges=[];this._lastRangeBackward=false;this._isFake=false;this._fakeSelectionLabel=\"\";if(t.length){this.setTo(...t)}}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.end:t.start;return e.clone()}get focus(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.start:t.end;return e.clone()}get isCollapsed(){return this.rangeCount===1&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){if(this.anchor){return this.anchor.editableElement}return null}*getRanges(){for(const t of this._ranges){yield t.clone()}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake){return false}if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel){return false}if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const o of t._ranges){if(e.isEqual(o)){n=true;break}}if(!n){return false}}return true}isSimilar(t){if(this.isBackward!=t.isBackward){return false}const e=Et(this.getRanges());const n=Et(t.getRanges());if(e!=n){return false}if(e==0){return true}for(let e of this.getRanges()){e=e.getTrimmed();let n=false;for(let o of t.getRanges()){o=o.getTrimmed();if(e.start.isEqual(o.start)&&e.end.isEqual(o.end)){n=true;break}}if(!n){return false}}return true}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}setTo(...t){let[e,n,o]=t;if(typeof n==\"object\"){o=n;n=undefined}if(e===null){this._setRanges([]);this._setFakeOptions(o)}else if(e instanceof Dh||e instanceof Ih){this._setRanges(e.getRanges(),e.isBackward);this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel})}else if(e instanceof xh){this._setRanges([e],o&&o.backward);this._setFakeOptions(o)}else if(e instanceof yh){this._setRanges([new xh(e)]);this._setFakeOptions(o)}else if(e instanceof eu){const t=!!o&&!!o.backward;let i;if(n===undefined){throw new N(\"view-selection-setto-required-second-parameter\",this)}else if(n==\"in\"){i=xh._createIn(e)}else if(n==\"on\"){i=xh._createOn(e)}else{i=new xh(yh._createAt(e,n))}this._setRanges([i],t);this._setFakeOptions(o)}else if(It(e)){this._setRanges(e,o&&o.backward);this._setFakeOptions(o)}else{throw new N(\"view-selection-setto-not-selectable\",this)}this.fire(\"change\")}setFocus(t,e){if(this.anchor===null){throw new N(\"view-selection-setfocus-no-ranges\",this)}const n=yh._createAt(t,e);if(n.compareWith(this.focus)==\"same\"){return}const o=this.anchor;this._ranges.pop();if(n.compareWith(o)==\"before\"){this._addRange(new xh(n,o),true)}else{this._addRange(new xh(o,n))}this.fire(\"change\")}_setRanges(t,e=false){t=Array.from(t);this._ranges=[];for(const e of t){this._addRange(e)}this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake;this._fakeSelectionLabel=t.fake?t.label||\"\":\"\"}_addRange(t,e=false){if(!(t instanceof xh)){throw new N(\"view-selection-add-range-not-range\",this)}this._pushRange(t);this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges){if(t.isIntersecting(e)){throw new N(\"view-selection-range-intersects\",this,{addedRange:t,intersectingRange:e})}}this._ranges.push(new xh(t.start,t.end))}}Dh.prototype.is=function(t){return t===\"selection\"||t===\"view:selection\"};class Ih extends($(Zd)){constructor(...t){super();this._selection=new Dh;this._selection.delegate(\"change\").to(this);if(t.length){this._selection.setTo(...t)}}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}_setTo(...t){this._selection.setTo(...t)}_setFocus(t,e){this._selection.setFocus(t,e)}}Ih.prototype.is=function(t){return t===\"selection\"||t==\"documentSelection\"||t==\"view:selection\"||t==\"view:documentSelection\"};class Th extends D{constructor(t,e,n){super(t,e);this.startRange=n;this._eventPhase=\"none\";this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const Sh=Symbol(\"bubbling contexts\");function Bh(t){class e extends t{fire(t,...e){try{const n=t instanceof D?t:new D(this,t);const o=Lh(this);if(!o.size){return}Mh(n,\"capturing\",this);if(Ph(o,\"$capture\",n,...e)){return n.return}const i=n.startRange||this.selection.getFirstRange();const r=i?i.getContainedElement():null;const s=r?Boolean(Nh(o,r)):false;let a=r||zh(i);Mh(n,\"atTarget\",a);if(!s){if(Ph(o,\"$text\",n,...e)){return n.return}Mh(n,\"bubbling\",a)}while(a){if(a.is(\"rootElement\")){if(Ph(o,\"$root\",n,...e)){return n.return}}else if(a.is(\"element\")){if(Ph(o,a.name,n,...e)){return n.return}}if(Ph(o,a,n,...e)){return n.return}a=a.parent;Mh(n,\"bubbling\",a)}Mh(n,\"bubbling\",this);Ph(o,\"$document\",n,...e);return n.return}catch(t){N.rethrowUnexpectedError(t,this)}}_addEventListener(t,e,n){const o=sl(n.context||\"$document\");const i=Lh(this);for(const r of o){let o=i.get(r);if(!o){o=new($());i.set(r,o)}this.listenTo(o,t,e,n)}}_removeEventListener(t,e){const n=Lh(this);for(const o of n.values()){this.stopListening(o,t,e)}}}return e}{const t=Bh(Object);[\"fire\",\"_addEventListener\",\"_removeEventListener\"].forEach((e=>{Bh[e]=t.prototype[e]}))}function Mh(t,e,n){if(t instanceof Th){t._eventPhase=e;t._currentTarget=n}}function Ph(t,e,n,...o){const i=typeof e==\"string\"?t.get(e):Nh(t,e);if(!i){return false}i.fire(n,...o);return n.stop.called}function Nh(t,e){for(const[n,o]of t){if(typeof n==\"function\"&&n(e)){return o}}return null}function Lh(t){if(!t[Sh]){t[Sh]=new Map}return t[Sh]}function zh(t){if(!t){return null}const e=t.start.parent;const n=t.end.parent;const o=e.getPath();const i=n.getPath();return o.length>i.length?e:n}class Oh extends(Bh(mt())){constructor(t){super();this._postFixers=new Set;this.selection=new Ih;this.roots=new rd({idProperty:\"rootName\"});this.stylesProcessor=t;this.set(\"isReadOnly\",false);this.set(\"isFocused\",false);this.set(\"isSelecting\",false);this.set(\"isComposing\",false)}getRoot(t=\"main\"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.forEach((t=>t.destroy()));this.stopListening()}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){e=n(t);if(e){break}}}while(e)}}const Rh=10;class Vh extends gh{constructor(t,e,n,o){super(t,e,n,o);this._priority=Rh;this._id=null;this._clonesGroup=null;this.getFillerOffset=jh}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(this.id===null){throw new N(\"attribute-element-get-elements-with-same-id-no-id\",this)}return new Set(this._clonesGroup)}isSimilar(t){if(this.id!==null||t.id!==null){return this.id===t.id}return super.isSimilar(t)&&this.priority==t.priority}_clone(t=false){const e=super._clone(t);e._priority=this._priority;e._id=this._id;return e}}Vh.DEFAULT_PRIORITY=Rh;const Fh=Vh;Vh.prototype.is=function(t,e){if(!e){return t===\"attributeElement\"||t===\"view:attributeElement\"||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"attributeElement\"||t===\"view:attributeElement\"||t===\"element\"||t===\"view:element\")}};function jh(){if(Hh(this)){return null}let t=this.parent;while(t&&t.is(\"attributeElement\")){if(Hh(t)>1){return null}t=t.parent}if(!t||Hh(t)>1){return null}return this.childCount}function Hh(t){return Array.from(t.getChildren()).filter((t=>!t.is(\"uiElement\"))).length}class Uh extends gh{constructor(t,e,n,o){super(t,e,n,o);this.getFillerOffset=Wh}_insertChild(t,e){if(e&&(e instanceof eu||Array.from(e).length>0)){throw new N(\"view-emptyelement-cannot-add\",[this,e])}return 0}}Uh.prototype.is=function(t,e){if(!e){return t===\"emptyElement\"||t===\"view:emptyElement\"||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"emptyElement\"||t===\"view:emptyElement\"||t===\"element\"||t===\"view:element\")}};function Wh(){return null}class qh extends gh{constructor(t,e,n,o){super(t,e,n,o);this.getFillerOffset=$h}_insertChild(t,e){if(e&&(e instanceof eu||Array.from(e).length>0)){throw new N(\"view-uielement-cannot-add\",[this,e])}return 0}render(t,e){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys()){e.setAttribute(t,this.getAttribute(t))}return e}}qh.prototype.is=function(t,e){if(!e){return t===\"uiElement\"||t===\"view:uiElement\"||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"uiElement\"||t===\"view:uiElement\"||t===\"element\"||t===\"view:element\")}};function Gh(t){t.document.on(\"arrowKey\",((e,n)=>Kh(e,n,t.domConverter)),{priority:\"low\"})}function $h(){return null}function Kh(t,e,n){if(e.keyCode==Yc.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection();const o=t.rangeCount==1&&t.getRangeAt(0).collapsed;if(o||e.shiftKey){const e=t.focusNode;const i=t.focusOffset;const r=n.domPositionToView(e,i);if(r===null){return}let s=false;const a=r.getLastMatchingPosition((t=>{if(t.item.is(\"uiElement\")){s=true}if(t.item.is(\"uiElement\")||t.item.is(\"attributeElement\")){return true}return false}));if(s){const e=n.viewPositionToDom(a);if(o){t.collapse(e.parent,e.offset)}else{t.extend(e.parent,e.offset)}}}}}class Yh extends gh{constructor(t,e,n,o){super(t,e,n,o);this.getFillerOffset=Qh}_insertChild(t,e){if(e&&(e instanceof eu||Array.from(e).length>0)){throw new N(\"view-rawelement-cannot-add\",[this,e])}return 0}render(t,e){}}Yh.prototype.is=function(t,e){if(!e){return t===\"rawElement\"||t===\"view:rawElement\"||t===this.name||t===\"view:\"+this.name||t===\"element\"||t===\"view:element\"||t===\"node\"||t===\"view:node\"}else{return e===this.name&&(t===\"rawElement\"||t===\"view:rawElement\"||t===\"element\"||t===\"view:element\")}};function Qh(){return null}class Zh extends($(Zd)){constructor(t,e){super();this._children=[];this._customProperties=new Map;this.document=t;if(e){this._insertChild(0,e)}}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}get name(){return undefined}get getFillerOffset(){return undefined}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const o=Jh(this.document,e);for(const e of o){if(e.parent!==null){e._remove()}e.parent=this;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n{if(typeof e==\"string\"){return new nu(t,e)}if(e instanceof ou){return new nu(t,e.data)}return e}))}class Xh{constructor(t){this._cloneGroups=new Map;this._slotFactory=null;this.document=t}setSelection(...t){this.document.selection._setTo(...t)}setSelectionFocus(t,e){this.document.selection._setFocus(t,e)}createDocumentFragment(t){return new Zh(this.document,t)}createText(t){return new nu(this.document,t)}createAttributeElement(t,e,n={}){const o=new Fh(this.document,t,e);if(typeof n.priority===\"number\"){o._priority=n.priority}if(n.id){o._id=n.id}if(n.renderUnsafeAttributes){o._unsafeAttributesToRender.push(...n.renderUnsafeAttributes)}return o}createContainerElement(t,e,n={},o={}){let i=null;if(pe(n)){o=n}else{i=n}const r=new kh(this.document,t,e,i);if(o.renderUnsafeAttributes){r._unsafeAttributesToRender.push(...o.renderUnsafeAttributes)}return r}createEditableElement(t,e,n={}){const o=new Ah(this.document,t,e);if(n.renderUnsafeAttributes){o._unsafeAttributesToRender.push(...n.renderUnsafeAttributes)}return o}createEmptyElement(t,e,n={}){const o=new Uh(this.document,t,e);if(n.renderUnsafeAttributes){o._unsafeAttributesToRender.push(...n.renderUnsafeAttributes)}return o}createUIElement(t,e,n){const o=new qh(this.document,t,e);if(n){o.render=n}return o}createRawElement(t,e,n,o={}){const i=new Yh(this.document,t,e);if(n){i.render=n}if(o.renderUnsafeAttributes){i._unsafeAttributesToRender.push(...o.renderUnsafeAttributes)}return i}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(pe(t)&&n===undefined){e._setStyle(t)}else{n._setStyle(t,e)}}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}breakAttributes(t){if(t instanceof yh){return this._breakAttributes(t)}else{return this._breakAttributesRange(t)}}breakContainer(t){const e=t.parent;if(!e.is(\"containerElement\")){throw new N(\"view-writer-break-non-container-element\",this.document)}if(!e.parent){throw new N(\"view-writer-break-root\",this.document)}if(t.isAtStart){return yh._createBefore(e)}else if(!t.isAtEnd){const n=e._clone(false);this.insert(yh._createAfter(e),n);const o=new xh(t,yh._createAt(e,\"end\"));const i=new yh(n,0);this.move(o,i)}return yh._createAfter(e)}mergeAttributes(t){const e=t.offset;const n=t.parent;if(n.is(\"$text\")){return t}if(n.is(\"attributeElement\")&&n.childCount===0){const t=n.parent;const e=n.index;n._remove();this._removeFromClonedElementsGroup(n);return this.mergeAttributes(new yh(t,e))}const o=n.getChild(e-1);const i=n.getChild(e);if(!o||!i){return t}if(o.is(\"$text\")&&i.is(\"$text\")){return rm(o,i)}else if(o.is(\"attributeElement\")&&i.is(\"attributeElement\")&&o.isSimilar(i)){const t=o.childCount;o._appendChild(i.getChildren());i._remove();this._removeFromClonedElementsGroup(i);return this.mergeAttributes(new yh(o,t))}return t}mergeContainers(t){const e=t.nodeBefore;const n=t.nodeAfter;if(!e||!n||!e.is(\"containerElement\")||!n.is(\"containerElement\")){throw new N(\"view-writer-merge-containers-invalid-position\",this.document)}const o=e.getChild(e.childCount-1);const i=o instanceof nu?yh._createAt(o,\"end\"):yh._createAt(e,\"end\");this.move(xh._createIn(n),yh._createAt(e,\"end\"));this.remove(xh._createOn(n));return i}insert(t,e){e=It(e)?[...e]:[e];am(e,this.document);const n=e.reduce(((t,e)=>{const n=t[t.length-1];const o=!e.is(\"uiElement\");if(!n||n.breakAttributes!=o){t.push({breakAttributes:o,nodes:[e]})}else{n.nodes.push(e)}return t}),[]);let o=null;let i=t;for(const{nodes:t,breakAttributes:e}of n){const n=this._insertNodes(i,t,e);if(!o){o=n.start}i=n.end}if(!o){return new xh(t)}return new xh(o,i)}remove(t){const e=t instanceof xh?t:xh._createOn(t);lm(e,this.document);if(e.isCollapsed){return new Zh(this.document)}const{start:n,end:o}=this._breakAttributesRange(e,true);const i=n.parent;const r=o.offset-n.offset;const s=i._removeChildren(n.offset,r);for(const t of s){this._removeFromClonedElementsGroup(t)}const a=this.mergeAttributes(n);e.start=a;e.end=a.clone();return new Zh(this.document,s)}clear(t,e){lm(t,this.document);const n=t.getWalker({direction:\"backward\",ignoreElementEnd:true});for(const o of n){const n=o.item;let i;if(n.is(\"element\")&&e.isSimilar(n)){i=xh._createOn(n)}else if(!o.nextPosition.isAfter(t.start)&&n.is(\"$textProxy\")){const t=n.getAncestors().find((t=>t.is(\"element\")&&e.isSimilar(t)));if(t){i=xh._createIn(t)}}if(i){if(i.end.isAfter(t.end)){i.end=t.end}if(i.start.isBefore(t.start)){i.start=t.start}this.remove(i)}}}move(t,e){let n;if(e.isAfter(t.end)){e=this._breakAttributes(e,true);const o=e.parent;const i=o.childCount;t=this._breakAttributesRange(t,true);n=this.remove(t);e.offset+=o.childCount-i}else{n=this.remove(t)}return this.insert(e,n)}wrap(t,e){if(!(e instanceof Fh)){throw new N(\"view-writer-wrap-invalid-attribute\",this.document)}lm(t,this.document);if(!t.isCollapsed){return this._wrapRange(t,e)}else{let n=t.start;if(n.parent.is(\"element\")&&!tm(n.parent)){n=n.getLastMatchingPosition((t=>t.item.is(\"uiElement\")))}n=this._wrapPosition(n,e);const o=this.document.selection;if(o.isCollapsed&&o.getFirstPosition().isEqual(t.start)){this.setSelection(n)}return new xh(n)}}unwrap(t,e){if(!(e instanceof Fh)){throw new N(\"view-writer-unwrap-invalid-attribute\",this.document)}lm(t,this.document);if(t.isCollapsed){return t}const{start:n,end:o}=this._breakAttributesRange(t,true);const i=n.parent;const r=this._unwrapChildren(i,n.offset,o.offset,e);const s=this.mergeAttributes(r.start);if(!s.isEqual(r.start)){r.end.offset--}const a=this.mergeAttributes(r.end);return new xh(s,a)}rename(t,e){const n=new kh(this.document,t,e.getAttributes());this.insert(yh._createAfter(e),n);this.move(xh._createIn(e),yh._createAt(n,0));this.remove(xh._createOn(e));return n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return yh._createAt(t,e)}createPositionAfter(t){return yh._createAfter(t)}createPositionBefore(t){return yh._createBefore(t)}createRange(t,e){return new xh(t,e)}createRangeOn(t){return xh._createOn(t)}createRangeIn(t){return xh._createIn(t)}createSelection(...t){return new Dh(...t)}createSlot(t=\"children\"){if(!this._slotFactory){throw new N(\"view-writer-invalid-create-slot-context\",this.document)}return this._slotFactory(this,t)}_registerSlotFactory(t){this._slotFactory=t}_clearSlotFactory(){this._slotFactory=null}_insertNodes(t,e,n){let o;if(n){o=em(t)}else{o=t.parent.is(\"$text\")?t.parent.parent:t.parent}if(!o){throw new N(\"view-writer-invalid-position-container\",this.document)}let i;if(n){i=this._breakAttributes(t,true)}else{i=t.parent.is(\"$text\")?im(t):t}const r=o._insertChild(i.offset,e);for(const t of e){this._addToClonedElementsGroup(t)}const s=i.getShiftedBy(r);const a=this.mergeAttributes(i);if(!a.isEqual(i)){s.offset--}const c=this.mergeAttributes(s);return new xh(a,c)}_wrapChildren(t,e,n,o){let i=e;const r=[];while(ifalse;t.parent._insertChild(t.offset,n);const o=new xh(t,t.getShiftedBy(1));this.wrap(o,e);const i=new yh(n.parent,n.index);n._remove();const r=i.nodeBefore;const s=i.nodeAfter;if(r instanceof nu&&s instanceof nu){return rm(r,s)}return om(i)}_wrapAttributeElement(t,e){if(!dm(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n)){return false}}for(const n of t.getStyleNames()){if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(!e.hasAttribute(n)){this.setAttribute(n,t.getAttribute(n),e)}}for(const n of t.getStyleNames()){if(!e.hasStyle(n)){this.setStyle(n,t.getStyle(n),e)}}for(const n of t.getClassNames()){if(!e.hasClass(n)){this.addClass(n,e)}}return true}_unwrapAttributeElement(t,e){if(!dm(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}if(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)){return false}}if(!e.hasClass(...t.getClassNames())){return false}for(const n of t.getStyleNames()){if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n===\"class\"||n===\"style\"){continue}this.removeAttribute(n,e)}this.removeClass(Array.from(t.getClassNames()),e);this.removeStyle(Array.from(t.getStyleNames()),e);return true}_breakAttributesRange(t,e=false){const n=t.start;const o=t.end;lm(t,this.document);if(t.isCollapsed){const n=this._breakAttributes(t.start,e);return new xh(n,n)}const i=this._breakAttributes(o,e);const r=i.parent.childCount;const s=this._breakAttributes(n,e);i.offset+=i.parent.childCount-r;return new xh(s,i)}_breakAttributes(t,e=false){const n=t.offset;const o=t.parent;if(t.parent.is(\"emptyElement\")){throw new N(\"view-writer-cannot-break-empty-element\",this.document)}if(t.parent.is(\"uiElement\")){throw new N(\"view-writer-cannot-break-ui-element\",this.document)}if(t.parent.is(\"rawElement\")){throw new N(\"view-writer-cannot-break-raw-element\",this.document)}if(!e&&o.is(\"$text\")&&cm(o.parent)){return t.clone()}if(cm(o)){return t.clone()}if(o.is(\"$text\")){return this._breakAttributes(im(t),e)}const i=o.childCount;if(n==i){const t=new yh(o.parent,o.index+1);return this._breakAttributes(t,e)}else{if(n===0){const t=new yh(o.parent,o.index);return this._breakAttributes(t,e)}else{const t=o.index+1;const i=o._clone();o.parent._insertChild(t,i);this._addToClonedElementsGroup(i);const r=o.childCount-n;const s=o._removeChildren(n,r);i._appendChild(s);const a=new yh(o.parent,t);return this._breakAttributes(a,e)}}}_addToClonedElementsGroup(t){if(!t.root.is(\"rootElement\")){return}if(t.is(\"element\")){for(const e of t.getChildren()){this._addToClonedElementsGroup(e)}}const e=t.id;if(!e){return}let n=this._cloneGroups.get(e);if(!n){n=new Set;this._cloneGroups.set(e,n)}n.add(t);t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is(\"element\")){for(const e of t.getChildren()){this._removeFromClonedElementsGroup(e)}}const e=t.id;if(!e){return}const n=this._cloneGroups.get(e);if(!n){return}n.delete(t)}}function tm(t){return Array.from(t.getChildren()).some((t=>!t.is(\"uiElement\")))}function em(t){let e=t.parent;while(!cm(e)){if(!e){return undefined}e=e.parent}return e}function nm(t,e){if(t.prioritye.priority){return false}return t.getIdentity()n instanceof t))){throw new N(\"view-writer-insert-invalid-node-type\",e)}if(!n.is(\"$text\")){am(n.getChildren(),e)}}}function cm(t){return t&&(t.is(\"containerElement\")||t.is(\"documentFragment\"))}function lm(t,e){const n=em(t.start);const o=em(t.end);if(!n||!o||n!==o){throw new N(\"view-writer-invalid-range-container\",e)}}function dm(t,e){return t.id===null&&e.id===null}const um=t=>t.createTextNode(\"\u00A0\");const hm=t=>{const e=t.createElement(\"span\");e.dataset.ckeFiller=\"true\";e.innerText=\"\u00A0\";return e};const mm=t=>{const e=t.createElement(\"br\");e.dataset.ckeFiller=\"true\";return e};const gm=7;const fm=\"\u2060\".repeat(gm);function pm(t){if(typeof t==\"string\"){return t.substr(0,gm)===fm}return cc(t)&&t.data.substr(0,gm)===fm}function bm(t){return t.data.length==gm&&pm(t)}function km(t){const e=typeof t==\"string\"?t:t.data;if(pm(t)){return e.slice(gm)}return e}function wm(t){t.document.on(\"arrowKey\",Am,{priority:\"low\"})}function Am(t,e){if(e.keyCode==Yc.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(t.rangeCount==1&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer;const n=t.getRangeAt(0).startOffset;if(pm(e)&&n<=gm){t.collapse(e,0)}}}}var _m=n(7526);var Cm={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Cm.insert=\"head\";Cm.singleton=true;var vm=Ld()(_m.A,Cm);const ym=_m.A.locals||{};class xm extends(mt()){constructor(t,e){super();this.domDocuments=new Set;this.markedAttributes=new Set;this.markedChildren=new Set;this.markedTexts=new Set;this._inlineFiller=null;this._fakeSelectionContainer=null;this.domConverter=t;this.selection=e;this.set(\"isFocused\",false);this.set(\"isSelecting\",false);if(l.isBlink&&!l.isAndroid){this.on(\"change:isSelecting\",(()=>{if(!this.isSelecting){this.render()}}))}this.set(\"isComposing\",false);this.on(\"change:isComposing\",(()=>{if(!this.isComposing){this.render()}}))}markToSync(t,e){if(t===\"text\"){if(this.domConverter.mapViewToDom(e.parent)){this.markedTexts.add(e)}}else{if(!this.domConverter.mapViewToDom(e)){return}if(t===\"attributes\"){this.markedAttributes.add(e)}else if(t===\"children\"){this.markedChildren.add(e)}else{const e=t;throw new N(\"view-renderer-unknown-type\",this)}}}render(){if(this.isComposing&&!l.isAndroid){return}let t=null;const e=l.isBlink&&!l.isAndroid?!this.isSelecting:true;for(const t of this.markedChildren){this._updateChildrenMappings(t)}if(e){if(this._inlineFiller&&!this._isSelectionInInlineFiller()){this._removeInlineFiller()}if(this._inlineFiller){t=this._getInlineFillerPosition()}else if(this._needsInlineFillerAtSelection()){t=this.selection.getFirstPosition();this.markedChildren.add(t.parent)}}else if(this._inlineFiller&&this._inlineFiller.parentNode){t=this.domConverter.domPositionToView(this._inlineFiller);if(t&&t.parent.is(\"$text\")){t=yh._createBefore(t.parent)}}for(const t of this.markedAttributes){this._updateAttrs(t)}for(const e of this.markedChildren){this._updateChildren(e,{inlineFillerPosition:t})}for(const e of this.markedTexts){if(!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)){this._updateText(e,{inlineFillerPosition:t})}}if(e){if(t){const e=this.domConverter.viewPositionToDom(t);const n=e.parent.ownerDocument;if(!pm(e.parent)){this._inlineFiller=Dm(n,e.parent,e.offset)}else{this._inlineFiller=e.parent}}else{this._inlineFiller=null}}this._updateFocus();this._updateSelection();this.domConverter._clearTemporaryCustomProperties();this.markedTexts.clear();this.markedAttributes.clear();this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=Array.from(e.childNodes);const o=Array.from(this.domConverter.viewChildrenToDom(t,{withChildren:false}));const i=this._diffNodeLists(n,o);const r=this._findUpdateActions(i,n,o,Im);if(r.indexOf(\"update\")!==-1){const e={equal:0,insert:0,delete:0};for(const i of r){if(i===\"update\"){const i=e.equal+e.insert;const r=e.equal+e.delete;const s=t.getChild(i);if(s&&!s.is(\"uiElement\")&&!s.is(\"rawElement\")){this._updateElementMappings(s,n[r])}Pc(o[i]);e.equal++}else{e[i]++}}}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e);this.domConverter.bindElements(e,t);this.markedChildren.add(t);this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();if(t.parent.is(\"$text\")){return yh._createBefore(t.parent)}else{return t}}_isSelectionInInlineFiller(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=this.domConverter.viewPositionToDom(t);if(e&&cc(e.parent)&&pm(e.parent)){return true}return false}_removeInlineFiller(){const t=this._inlineFiller;if(!pm(t)){throw new N(\"view-renderer-filler-was-lost\",this)}if(bm(t)){t.remove()}else{t.data=t.data.substr(gm)}this._inlineFiller=null}_needsInlineFillerAtSelection(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=t.parent;const n=t.offset;if(!this.domConverter.mapViewToDom(e.root)){return false}if(!e.is(\"element\")){return false}if(!Em(e)){return false}if(n===e.getFillerOffset()){return false}const o=t.nodeBefore;const i=t.nodeAfter;if(o instanceof nu||i instanceof nu){return false}if(l.isAndroid&&(o||i)){return false}return true}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);const o=this.domConverter.viewToDom(t);let i=o.data;const r=e.inlineFillerPosition;if(r&&r.parent==t.parent&&r.offset==t.index){i=fm+i}Nm(n,i)}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=Array.from(e.attributes).map((t=>t.name));const o=t.getAttributeKeys();for(const n of o){this.domConverter.setDomElementAttribute(e,n,t.getAttribute(n),t)}for(const o of n){if(!t.hasAttribute(o)){this.domConverter.removeDomElementAttribute(e,o)}}}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n){return}if(l.isAndroid){let t=null;for(const e of Array.from(n.childNodes)){if(t&&cc(t)&&cc(e)){n.normalize();break}t=e}}const o=e.inlineFillerPosition;const i=n.childNodes;const r=Array.from(this.domConverter.viewChildrenToDom(t,{bind:true}));if(o&&o.parent===t){Dm(n.ownerDocument,r,o.offset)}const s=this._diffNodeLists(i,r);const a=this._findUpdateActions(s,i,r,Tm);let c=0;const d=new Set;for(const t of a){if(t===\"delete\"){d.add(i[c]);Pc(i[c])}else if(t===\"equal\"||t===\"update\"){c++}}c=0;for(const t of a){if(t===\"insert\"){yc(n,c,r[c]);c++}else if(t===\"update\"){Nm(i[c],r[c].data);c++}else if(t===\"equal\"){this._markDescendantTextToSync(this.domConverter.domToView(r[c]));c++}}for(const t of d){if(!t.parentNode){this.domConverter.unbindDomElement(t)}}}_diffNodeLists(t,e){t=Mm(t,this._fakeSelectionContainer);return y(t,e,Sm.bind(null,this.domConverter))}_findUpdateActions(t,e,n,o){if(t.indexOf(\"insert\")===-1||t.indexOf(\"delete\")===-1){return t}let i=[];let r=[];let s=[];const a={equal:0,insert:0,delete:0};for(const c of t){if(c===\"insert\"){s.push(n[a.equal+a.insert])}else if(c===\"delete\"){r.push(e[a.equal+a.delete])}else{i=i.concat(y(r,s,o).map((t=>t===\"equal\"?\"update\":t)));i.push(\"equal\");r=[];s=[]}a[c]++}return i.concat(y(r,s,o).map((t=>t===\"equal\"?\"update\":t)))}_markDescendantTextToSync(t){if(!t){return}if(t.is(\"$text\")){this.markedTexts.add(t)}else if(t.is(\"element\")){for(const e of t.getChildren()){this._markDescendantTextToSync(e)}}}_updateSelection(){if(l.isBlink&&!l.isAndroid&&this.isSelecting&&!this.markedChildren.size){return}if(this.selection.rangeCount===0){this._removeDomSelection();this._removeFakeSelection();return}const t=this.domConverter.mapViewToDom(this.selection.editableElement);if(!this.isFocused||!t){return}if(this.selection.isFake){this._updateFakeSelection(t)}else if(this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected){this._removeFakeSelection();this._updateDomSelection(t)}else if(!(this.isComposing&&l.isAndroid)){this._updateDomSelection(t)}}_updateFakeSelection(t){const e=t.ownerDocument;if(!this._fakeSelectionContainer){this._fakeSelectionContainer=Pm(e)}const n=this._fakeSelectionContainer;this.domConverter.bindFakeSelection(n,this.selection);if(!this._fakeSelectionNeedsUpdate(t)){return}if(!n.parentElement||n.parentElement!=t){t.appendChild(n)}n.textContent=this.selection.fakeSelectionLabel||\"\u00A0\";const o=e.getSelection();const i=e.createRange();o.removeAllRanges();i.selectNodeContents(n);o.addRange(i)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e)){return}const n=this.domConverter.viewPositionToDom(this.selection.anchor);const o=this.domConverter.viewPositionToDom(this.selection.focus);e.setBaseAndExtent(n.parent,n.offset,o.parent,o.offset);if(l.isGecko){Bm(o,e)}}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t)){return true}const e=t&&this.domConverter.domSelectionToView(t);if(e&&this.selection.isEqual(e)){return false}if(!this.selection.isCollapsed&&this.selection.isSimilar(e)){return false}return true}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer;const n=t.ownerDocument.getSelection();if(!e||e.parentElement!==t){return true}if(n.anchorNode!==e&&!e.contains(n.anchorNode)){return true}return e.textContent!==this.selection.fakeSelectionLabel}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const n=t.activeElement;const o=this.domConverter.mapDomToView(n);if(n&&o){e.removeAllRanges()}}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;if(t){t.remove()}}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;if(t){this.domConverter.focus(t)}}}}function Em(t){if(t.getAttribute(\"contenteditable\")==\"false\"){return false}const e=t.findAncestor((t=>t.hasAttribute(\"contenteditable\")));return!e||e.getAttribute(\"contenteditable\")==\"true\"}function Dm(t,e,n){const o=e instanceof Array?e:e.childNodes;const i=o[n];if(cc(i)){i.data=fm+i.data;return i}else{const i=t.createTextNode(fm);if(Array.isArray(e)){o.splice(n,0,i)}else{yc(e,n,i)}return i}}function Im(t,e){return Ya(t)&&Ya(e)&&!cc(t)&&!cc(e)&&!xc(t)&&!xc(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function Tm(t,e){return Ya(t)&&Ya(e)&&cc(t)&&cc(e)}function Sm(t,e,n){if(e===n){return true}else if(cc(e)&&cc(n)){return e.data===n.data}else if(t.isBlockFiller(e)&&t.isBlockFiller(n)){return true}return false}function Bm(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1){return}const o=n.childNodes[t.offset];if(o&&o.tagName==\"BR\"){e.addRange(e.getRangeAt(0))}}function Mm(t,e){const n=Array.from(t);if(n.length==0||!e){return n}const o=n[n.length-1];if(o==e){n.pop()}return n}function Pm(t){const e=t.createElement(\"div\");e.className=\"ck-fake-selection-container\";Object.assign(e.style,{position:\"fixed\",top:0,left:\"-9999px\",width:\"42px\"});e.textContent=\"\u00A0\";return e}function Nm(t,e){const n=t.data;if(n==e){return}const o=k(n,e);for(const e of o){if(e.type===\"insert\"){t.insertData(e.index,e.values.join(\"\"))}else{t.deleteData(e.index,e.howMany)}}}const Lm=mm(oc.document);const zm=um(oc.document);const Om=hm(oc.document);const Rm=\"data-ck-unsafe-attribute-\";const Vm=\"data-ck-unsafe-element\";class Fm{constructor(t,{blockFillerMode:e,renderingMode:n=\"editing\"}={}){this._domToViewMapping=new WeakMap;this._viewToDomMapping=new WeakMap;this._fakeSelectionMapping=new WeakMap;this._rawContentElementMatcher=new iu;this._inlineObjectElementMatcher=new iu;this._elementsWithTemporaryCustomProperties=new Set;this.document=t;this.renderingMode=n;this.blockFillerMode=e||(n===\"editing\"?\"br\":\"nbsp\");this.preElements=[\"pre\"];this.blockElements=[\"address\",\"article\",\"aside\",\"blockquote\",\"caption\",\"center\",\"dd\",\"details\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"legend\",\"li\",\"main\",\"menu\",\"nav\",\"ol\",\"p\",\"pre\",\"section\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"tr\",\"ul\"];this.inlineObjectElements=[\"object\",\"iframe\",\"input\",\"button\",\"textarea\",\"select\",\"option\",\"video\",\"embed\",\"audio\",\"img\",\"canvas\"];this.unsafeElements=[\"script\",\"style\"];this._domDocument=this.renderingMode===\"editing\"?oc.document:oc.document.implementation.createHTMLDocument(\"\")}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new Dh(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t);this._viewToDomMapping.delete(e);for(const e of Array.from(t.children)){this.unbindDomElement(e)}}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}shouldRenderAttribute(t,e,n){if(this.renderingMode===\"data\"){return true}t=t.toLowerCase();if(t.startsWith(\"on\")){return false}if(t===\"srcdoc\"&&e.match(/\\bon\\S+\\s*=|javascript:|<\\s*\\/*script/i)){return false}if(n===\"img\"&&(t===\"src\"||t===\"srcset\")){return true}if(n===\"source\"&&t===\"srcset\"){return true}if(e.match(/^\\s*(javascript:|data:(image\\/svg|text\\/x?html))/i)){return false}return true}setContentOf(t,e){if(this.renderingMode===\"data\"){t.innerHTML=e;return}const n=(new DOMParser).parseFromString(e,\"text/html\");const o=n.createDocumentFragment();const i=n.body.childNodes;while(i.length>0){o.appendChild(i[0])}const r=n.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);const s=[];let a;while(a=r.nextNode()){s.push(a)}for(const t of s){for(const e of t.getAttributeNames()){this.setDomElementAttribute(t,e,t.getAttribute(e))}const e=t.tagName.toLowerCase();if(this._shouldRenameElement(e)){qm(e);t.replaceWith(this._createReplacementDomElement(e,t))}}while(t.firstChild){t.firstChild.remove()}t.append(o)}viewToDom(t,e={}){if(t.is(\"$text\")){const e=this._processDataFromViewText(t);return this._domDocument.createTextNode(e)}else{const n=t;if(this.mapViewToDom(n)){if(n.getCustomProperty(\"editingPipeline:doNotReuseOnce\")){this._elementsWithTemporaryCustomProperties.add(n)}else{return this.mapViewToDom(n)}}let o;if(n.is(\"documentFragment\")){o=this._domDocument.createDocumentFragment();if(e.bind){this.bindDocumentFragments(o,n)}}else if(n.is(\"uiElement\")){if(n.name===\"$comment\"){o=this._domDocument.createComment(n.getCustomProperty(\"$rawContent\"))}else{o=n.render(this._domDocument,this)}if(e.bind){this.bindElements(o,n)}return o}else{if(this._shouldRenameElement(n.name)){qm(n.name);o=this._createReplacementDomElement(n.name)}else if(n.hasAttribute(\"xmlns\")){o=this._domDocument.createElementNS(n.getAttribute(\"xmlns\"),n.name)}else{o=this._domDocument.createElement(n.name)}if(n.is(\"rawElement\")){n.render(o,this)}if(e.bind){this.bindElements(o,n)}for(const t of n.getAttributeKeys()){this.setDomElementAttribute(o,t,n.getAttribute(t),n)}}if(e.withChildren!==false){for(const t of this.viewChildrenToDom(n,e)){o.appendChild(t)}}return o}}setDomElementAttribute(t,e,n,o){const i=this.shouldRenderAttribute(e,n,t.tagName.toLowerCase())||o&&o.shouldRenderUnsafeAttribute(e);if(!i){L(\"domconverter-unsafe-attribute-detected\",{domElement:t,key:e,value:n})}if(!Ec(e)){L(\"domconverter-invalid-attribute-detected\",{domElement:t,key:e,value:n});return}if(t.hasAttribute(e)&&!i){t.removeAttribute(e)}else if(t.hasAttribute(Rm+e)&&i){t.removeAttribute(Rm+e)}t.setAttribute(i?e:Rm+e,n)}removeDomElementAttribute(t,e){if(e==Vm){return}t.removeAttribute(e);t.removeAttribute(Rm+e)}*viewChildrenToDom(t,e={}){const n=t.getFillerOffset&&t.getFillerOffset();let o=0;for(const i of t.getChildren()){if(n===o){yield this._getBlockFiller()}const t=i.is(\"element\")&&!!i.getCustomProperty(\"dataPipeline:transparentRendering\")&&!sd(i.getAttributes());if(t&&this.renderingMode==\"data\"){yield*this.viewChildrenToDom(i,e)}else{if(t){L(\"domconverter-transparent-rendering-unsupported-in-editing-pipeline\",{viewElement:i})}yield this.viewToDom(i,e)}o++}if(n===o){yield this._getBlockFiller()}}viewRangeToDom(t){const e=this.viewPositionToDom(t.start);const n=this.viewPositionToDom(t.end);const o=this._domDocument.createRange();o.setStart(e.parent,e.offset);o.setEnd(n.parent,n.offset);return o}viewPositionToDom(t){const e=t.parent;if(e.is(\"$text\")){const n=this.findCorrespondingDomText(e);if(!n){return null}let o=t.offset;if(pm(n)){o+=gm}return{parent:n,offset:o}}else{let n,o,i;if(t.offset===0){n=this.mapViewToDom(e);if(!n){return null}i=n.childNodes[0]}else{const e=t.nodeBefore;o=e.is(\"$text\")?this.findCorrespondingDomText(e):this.mapViewToDom(e);if(!o){return null}n=o.parentNode;i=o.nextSibling}if(cc(i)&&pm(i)){return{parent:i,offset:gm}}const r=o?vc(o)+1:0;return{parent:n,offset:r}}}domToView(t,e={}){const n=[];const o=this._domToView(t,e,n);const i=o.next().value;if(!i){return null}o.next();this._processDomInlineNodes(null,n,e);if(i.is(\"$text\")&&i.data.length==0){return null}return i}*domChildrenToView(t,e={},n=[]){for(let o=0;o{const{scrollLeft:e,scrollTop:n}=t;o.push([e,n])}));e.focus();Hm(e,(t=>{const[e,n]=o.shift();t.scrollLeft=e;t.scrollTop=n}));oc.window.scrollTo(t,n)}}_clearDomSelection(){const t=this.mapViewToDom(this.document.selection.editableElement);if(!t){return}const e=t.ownerDocument.defaultView.getSelection();const n=this.domSelectionToView(e);const o=n&&n.rangeCount>0;if(o){e.removeAllRanges()}}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(t){if(this.blockFillerMode==\"br\"){return t.isEqualNode(Lm)}if(t.tagName===\"BR\"&&Wm(t,this.blockElements)&&t.parentNode.childNodes.length===1){return true}return t.isEqualNode(Om)||Um(t,this.blockElements)}isDomSelectionBackward(t){if(t.isCollapsed){return false}const e=this._domDocument.createRange();try{e.setStart(t.anchorNode,t.anchorOffset);e.setEnd(t.focusNode,t.focusOffset)}catch(t){return false}const n=e.collapsed;e.detach();return n}getHostViewElement(t){const e=rc(t);e.pop();while(e.length){const t=e.pop();const n=this._domToViewMapping.get(t);if(n&&(n.is(\"uiElement\")||n.is(\"rawElement\"))){return n}}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}registerInlineObjectMatcher(t){this._inlineObjectElementMatcher.add(t)}_clearTemporaryCustomProperties(){for(const t of this._elementsWithTemporaryCustomProperties){t._removeCustomProperty(\"editingPipeline:doNotReuseOnce\")}this._elementsWithTemporaryCustomProperties.clear()}_getBlockFiller(){switch(this.blockFillerMode){case\"nbsp\":return um(this._domDocument);case\"markedNbsp\":return hm(this._domDocument);case\"br\":return mm(this._domDocument)}}_isDomSelectionPositionCorrect(t,e){if(cc(t)&&pm(t)&&e0?e[t-1]:null;const c=t+1this.preElements.includes(t.name)))){return e}if(e.charAt(0)==\" \"){const n=this._getTouchingInlineViewNode(t,false);const o=n&&n.is(\"$textProxy\")&&this._nodeEndsWithSpace(n);if(o||!n){e=\"\u00A0\"+e.substr(1)}}if(e.charAt(e.length-1)==\" \"){const n=this._getTouchingInlineViewNode(t,true);const o=n&&n.is(\"$textProxy\")&&n.data.charAt(0)==\" \";if(e.charAt(e.length-2)==\" \"||!n||o){e=e.substr(0,e.length-1)+\"\u00A0\"}}return e.replace(/ {2}/g,\" \u00A0\")}_nodeEndsWithSpace(t){if(t.getAncestors().some((t=>this.preElements.includes(t.name)))){return false}const e=this._processDataFromViewText(t);return e.charAt(e.length-1)==\" \"}_getTouchingInlineViewNode(t,e){const n=new vh({startPosition:e?yh._createAfter(t):yh._createBefore(t),direction:e?\"forward\":\"backward\"});for(const t of n){if(t.item.is(\"element\",\"br\")){return null}else if(this._isInlineObjectElement(t.item)){return t.item}else if(t.item.is(\"containerElement\")){return null}else if(t.item.is(\"$textProxy\")){return t.item}}return null}_isBlockDomElement(t){return this.isElement(t)&&this.blockElements.includes(t.tagName.toLowerCase())}_isBlockViewElement(t){return t.is(\"element\")&&this.blockElements.includes(t.name)}_isInlineObjectElement(t){if(!t.is(\"element\")){return false}return t.name==\"br\"||this.inlineObjectElements.includes(t.name)||!!this._inlineObjectElementMatcher.match(t)}_createViewElement(t,e){if(xc(t)){return new qh(this.document,\"$comment\")}const n=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();return new gh(this.document,n)}_isViewElementWithRawContent(t,e){return e.withChildren!==false&&t.is(\"element\")&&!!this._rawContentElementMatcher.match(t)}_shouldRenameElement(t){const e=t.toLowerCase();return this.renderingMode===\"editing\"&&this.unsafeElements.includes(e)}_createReplacementDomElement(t,e){const n=this._domDocument.createElement(\"span\");n.setAttribute(Vm,t);if(e){while(e.firstChild){n.appendChild(e.firstChild)}for(const t of e.getAttributeNames()){n.setAttribute(t,e.getAttribute(t))}}return n}}function jm(t,e){return t.getAncestors().some((t=>t.is(\"element\")&&e.includes(t.name)))}function Hm(t,e){let n=t;while(n){e(n);n=n.parentElement}}function Um(t,e){const n=t.isEqualNode(zm);return n&&Wm(t,e)&&t.parentNode.childNodes.length===1}function Wm(t,e){const n=t.parentNode;return!!n&&!!n.tagName&&e.includes(n.tagName.toLowerCase())}function qm(t){if(t===\"script\"){L(\"domconverter-unsafe-script-element-detected\")}if(t===\"style\"){L(\"domconverter-unsafe-style-element-detected\")}}function Gm(t){if(!l.isGecko){return false}if(!t.rangeCount){return false}const e=t.getRangeAt(0).startContainer;try{Object.prototype.toString.call(e)}catch(t){return true}return false}class $m extends(Ja()){constructor(t){super();this._isEnabled=false;this.view=t;this.document=t.document}get isEnabled(){return this._isEnabled}enable(){this._isEnabled=true}disable(){this._isEnabled=false}destroy(){this.disable();this.stopListening()}checkShouldIgnoreEventFromTarget(t){if(t&&t.nodeType===3){t=t.parentNode}if(!t||t.nodeType!==1){return false}return t.matches(\"[data-cke-ignore-events], [data-cke-ignore-events] *\")}}var Km=Gl((function(t,e){wo(e,nr(e),t)}));const Ym=Km;class Qm{constructor(t,e,n){this.view=t;this.document=t.document;this.domEvent=e;this.domTarget=e.target;Ym(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class Zm extends $m{constructor(){super(...arguments);this.useCapture=false}observe(t){const e=typeof this.domEventType==\"string\"?[this.domEventType]:this.domEventType;e.forEach((e=>{this.listenTo(t,e,((t,e)=>{if(this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(e.target)){this.onDomEvent(e)}}),{useCapture:this.useCapture})}))}stopObserving(t){this.stopListening(t)}fire(t,e,n){if(this.isEnabled){this.document.fire(t,new Qm(this.view,e,n))}}}class Jm extends Zm{constructor(){super(...arguments);this.domEventType=[\"keydown\",\"keyup\"]}onDomEvent(t){const e={keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return Zc(this)}};this.fire(t.type,t,e)}}var Xm=function(){return Pt.Date.now()};const tg=Xm;var eg=/\\s/;function ng(t){var e=t.length;while(e--&&eg.test(t.charAt(e))){}return e}const og=ng;var ig=/^\\s+/;function rg(t){return t?t.slice(0,og(t)+1).replace(ig,\"\"):t}const sg=rg;var ag=0/0;var cg=/^[-+]0x[0-9a-f]+$/i;var lg=/^0b[01]+$/i;var dg=/^0o[0-7]+$/i;var ug=parseInt;function hg(t){if(typeof t==\"number\"){return t}if(pu(t)){return ag}if(st(t)){var e=typeof t.valueOf==\"function\"?t.valueOf():t;t=st(e)?e+\"\":e}if(typeof t!=\"string\"){return t===0?t:+t}t=sg(t);var n=lg.test(t);return n||dg.test(t)?ug(t.slice(2),n?2:8):cg.test(t)?ag:+t}const mg=hg;var gg=\"Expected a function\";var fg=Math.max,pg=Math.min;function bg(t,e,n){var o,i,r,s,a,c,l=0,d=false,u=false,h=true;if(typeof t!=\"function\"){throw new TypeError(gg)}e=mg(e)||0;if(st(n)){d=!!n.leading;u=\"maxWait\"in n;r=u?fg(mg(n.maxWait)||0,e):r;h=\"trailing\"in n?!!n.trailing:h}function m(e){var n=o,r=i;o=i=undefined;l=e;s=t.apply(r,n);return s}function g(t){l=t;a=setTimeout(b,e);return d?m(t):s}function f(t){var n=t-c,o=t-l,i=e-n;return u?pg(i,r-o):i}function p(t){var n=t-c,o=t-l;return c===undefined||n>=e||n<0||u&&o>=r}function b(){var t=tg();if(p(t)){return k(t)}a=setTimeout(b,f(t))}function k(t){a=undefined;if(h&&o){return m(t)}o=i=undefined;return s}function w(){if(a!==undefined){clearTimeout(a)}l=0;o=c=i=a=undefined}function A(){return a===undefined?s:k(tg())}function _(){var t=tg(),n=p(t);o=arguments;i=this;c=t;if(n){if(a===undefined){return g(c)}if(u){clearTimeout(a);a=setTimeout(b,e);return m(c)}}if(a===undefined){a=setTimeout(b,e)}return s}_.cancel=w;_.flush=A;return _}const kg=bg;class wg extends $m{constructor(t){super(t);this._fireSelectionChangeDoneDebounced=kg((t=>{this.document.fire(\"selectionChangeDone\",t)}),200)}observe(){const t=this.document;t.on(\"arrowKey\",((e,n)=>{const o=t.selection;if(o.isFake&&this.isEnabled){n.preventDefault()}}),{context:\"$capture\"});t.on(\"arrowKey\",((e,n)=>{const o=t.selection;if(o.isFake&&this.isEnabled){this._handleSelectionMove(n.keyCode)}}),{priority:\"lowest\"})}stopObserving(){}destroy(){super.destroy();this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection;const n=new Dh(e.getRanges(),{backward:e.isBackward,fake:false});if(t==Yc.arrowleft||t==Yc.arrowup){n.setTo(n.getFirstPosition())}if(t==Yc.arrowright||t==Yc.arrowdown){n.setTo(n.getLastPosition())}const o={oldSelection:e,newSelection:n,domSelection:null};this.document.fire(\"selectionChange\",o);this._fireSelectionChangeDoneDebounced(o)}}var Ag=\"__lodash_hash_undefined__\";function _g(t){this.__data__.set(t,Ag);return this}const Cg=_g;function vg(t){return this.__data__.has(t)}const yg=vg;function xg(t){var e=-1,n=t==null?0:t.length;this.__data__=new eo;while(++ea)){return false}var l=r.get(t);var d=r.get(e);if(l&&d){return l==e&&d==t}var u=-1,h=true,m=n&Mg?new Eg:undefined;r.set(t,e);r.set(e,t);while(++u{this._isFocusChanging=true;this._renderTimeoutId=setTimeout((()=>{this.flush();t.change((()=>{}))}),50)}));e.on(\"blur\",((n,o)=>{const i=e.selection.editableElement;if(i===null||i===o.target){e.isFocused=false;this._isFocusChanging=false;t.change((()=>{}))}}))}flush(){if(this._isFocusChanging){this._isFocusChanging=false;this.document.isFocused=true}}onDomEvent(t){this.fire(t.type,t)}destroy(){if(this._renderTimeoutId){clearTimeout(this._renderTimeoutId)}super.destroy()}}class vf extends $m{constructor(t){super(t);this.mutationObserver=t.getObserver(Af);this.focusObserver=t.getObserver(Cf);this.selection=this.document.selection;this.domConverter=t.domConverter;this._documents=new WeakSet;this._fireSelectionChangeDoneDebounced=kg((t=>{this.document.fire(\"selectionChangeDone\",t)}),200);this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3);this._documentIsSelectingInactivityTimeoutDebounced=kg((()=>this.document.isSelecting=false),5e3);this._loopbackCounter=0}observe(t){const e=t.ownerDocument;const n=()=>{this.document.isSelecting=true;this._documentIsSelectingInactivityTimeoutDebounced()};const o=()=>{if(!this.document.isSelecting){return}this._handleSelectionChange(null,e);this.document.isSelecting=false;this._documentIsSelectingInactivityTimeoutDebounced.cancel()};this.listenTo(t,\"selectstart\",n,{priority:\"highest\"});this.listenTo(t,\"keydown\",o,{priority:\"highest\",useCapture:true});this.listenTo(t,\"keyup\",o,{priority:\"highest\",useCapture:true});if(this._documents.has(e)){return}this.listenTo(e,\"mouseup\",o,{priority:\"highest\",useCapture:true});this.listenTo(e,\"selectionchange\",((t,n)=>{if(this.document.isComposing&&!l.isAndroid){return}this._handleSelectionChange(n,e);this._documentIsSelectingInactivityTimeoutDebounced()}));this._documents.add(e)}stopObserving(t){this.stopListening(t)}destroy(){super.destroy();clearInterval(this._clearInfiniteLoopInterval);this._fireSelectionChangeDoneDebounced.cancel();this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_reportInfiniteLoop(){}_handleSelectionChange(t,e){if(!this.isEnabled){return}const n=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(n.anchorNode)){return}this.mutationObserver.flush();const o=this.domConverter.domSelectionToView(n);if(o.rangeCount==0){this.view.hasDomSelection=false;return}this.view.hasDomSelection=true;this.focusObserver.flush();if(this.selection.isEqual(o)&&this.domConverter.isDomSelectionCorrect(n)){return}if(++this._loopbackCounter>60){this._reportInfiniteLoop();return}if(this.selection.isSimilar(o)){this.view.forceRender()}else{const t={oldSelection:this.selection,newSelection:o,domSelection:n};this.document.fire(\"selectionChange\",t);this._fireSelectionChangeDoneDebounced(t)}}_clearInfiniteLoop(){this._loopbackCounter=0}}class yf extends Zm{constructor(t){super(t);this.domEventType=[\"compositionstart\",\"compositionupdate\",\"compositionend\"];const e=this.document;e.on(\"compositionstart\",(()=>{e.isComposing=true}),{priority:\"low\"});e.on(\"compositionend\",(()=>{e.isComposing=false}),{priority:\"low\"})}onDomEvent(t){this.fire(t.type,t,{data:t.data})}}class xf{constructor(t,e={}){this._files=e.cacheFiles?Ef(t):null;this._native=t}get files(){if(!this._files){this._files=Ef(this._native)}return this._files}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}setDragImage(t,e,n){this._native.setDragImage(t,e,n)}get isCanceled(){return this._native.dropEffect==\"none\"||!!this._native.mozUserCancelled}}function Ef(t){const e=Array.from(t.files||[]);const n=Array.from(t.items||[]);if(e.length){return e}return n.filter((t=>t.kind===\"file\")).map((t=>t.getAsFile()))}class Df extends Zm{constructor(){super(...arguments);this.domEventType=\"beforeinput\"}onDomEvent(t){const e=t.getTargetRanges();const n=this.view;const o=n.document;let i=null;let r=null;let s=[];if(t.dataTransfer){i=new xf(t.dataTransfer)}if(t.data!==null){r=t.data}else if(i){r=i.getData(\"text/plain\")}if(o.selection.isFake){s=Array.from(o.selection.getRanges())}else if(e.length){s=e.map((t=>{const e=n.domConverter.domPositionToView(t.startContainer,t.startOffset);const o=n.domConverter.domPositionToView(t.endContainer,t.endOffset);if(e){return n.createRange(e,o)}else if(o){return n.createRange(o)}})).filter((t=>!!t))}else if(l.isAndroid){const e=t.target.ownerDocument.defaultView.getSelection();s=Array.from(n.domConverter.domSelectionToView(e).getRanges())}if(l.isAndroid&&t.inputType==\"insertCompositionText\"&&r&&r.endsWith(\"\\n\")){this.fire(t.type,t,{inputType:\"insertParagraph\",targetRanges:[n.createRange(s[0].end)]});return}if(t.inputType==\"insertText\"&&r&&r.includes(\"\\n\")){const e=r.split(/\\n{1,2}/g);let n=s;for(let r=0;r{if(this.isEnabled&&tl(e.keyCode)){const n=new Th(this.document,\"arrowKey\",this.document.selection.getFirstRange());this.document.fire(n,e);if(n.stop.called){t.stop()}}}))}observe(){}stopObserving(){}}class Tf extends $m{constructor(t){super(t);const e=this.document;e.on(\"keydown\",((t,n)=>{if(!this.isEnabled||n.keyCode!=Yc.tab||n.ctrlKey){return}const o=new Th(e,\"tab\",e.selection.getFirstRange());e.fire(o,n);if(o.stop.called){t.stop()}}))}observe(){}stopObserving(){}}var Sf=1,Bf=4;function Mf(t){return Va(t,Sf|Bf)}const Pf=Mf;class Nf extends(mt()){constructor(t){super();this.domRoots=new Map;this._initialDomRootAttributes=new WeakMap;this._observers=new Map;this._ongoingChange=false;this._postFixersInProgress=false;this._renderingDisabled=false;this._hasChangedSinceTheLastRendering=false;this.document=new Oh(t);this.domConverter=new Fm(this.document);this.set(\"isRenderingInProgress\",false);this.set(\"hasDomSelection\",false);this._renderer=new xm(this.domConverter,this.document.selection);this._renderer.bind(\"isFocused\",\"isSelecting\",\"isComposing\").to(this.document,\"isFocused\",\"isSelecting\",\"isComposing\");this._writer=new Xh(this.document);this.addObserver(Af);this.addObserver(Cf);this.addObserver(vf);this.addObserver(Jm);this.addObserver(wg);this.addObserver(yf);this.addObserver(If);this.addObserver(Df);this.addObserver(Tf);wm(this);Gh(this);this.on(\"render\",(()=>{this._render();this.document.fire(\"layoutChanged\");this._hasChangedSinceTheLastRendering=false}));this.listenTo(this.document.selection,\"change\",(()=>{this._hasChangedSinceTheLastRendering=true}));this.listenTo(this.document,\"change:isFocused\",(()=>{this._hasChangedSinceTheLastRendering=true}));if(l.isiOS){this.listenTo(this.document,\"blur\",((t,e)=>{const n=this.domConverter.mapDomToView(e.domEvent.relatedTarget);if(!n){this.domConverter._clearDomSelection()}}))}}attachDomRoot(t,e=\"main\"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const o={};for(const{name:e,value:i}of Array.from(t.attributes)){o[e]=i;if(e===\"class\"){this._writer.addClass(i.split(\" \"),n)}else{this._writer.setAttribute(e,i,n)}}this._initialDomRootAttributes.set(t,o);const i=()=>{this._writer.setAttribute(\"contenteditable\",(!n.isReadOnly).toString(),n);if(n.isReadOnly){this._writer.addClass(\"ck-read-only\",n)}else{this._writer.removeClass(\"ck-read-only\",n)}};i();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\",((t,e)=>this._renderer.markToSync(\"children\",e)));n.on(\"change:attributes\",((t,e)=>this._renderer.markToSync(\"attributes\",e)));n.on(\"change:text\",((t,e)=>this._renderer.markToSync(\"text\",e)));n.on(\"change:isReadOnly\",(()=>this.change(i)));n.on(\"change\",(()=>{this._hasChangedSinceTheLastRendering=true}));for(const n of this._observers.values()){n.observe(t,e)}}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach((({name:t})=>e.removeAttribute(t)));const n=this._initialDomRootAttributes.get(e);for(const t in n){e.setAttribute(t,n[t])}this.domRoots.delete(t);this.domConverter.unbindDomElement(e);for(const t of this._observers.values()){t.stopObserving(e)}}getDomRoot(t=\"main\"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e){return e}e=new t(this);this._observers.set(t,e);for(const[t,n]of this.domRoots){e.observe(n,t)}e.enable();return e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values()){t.disable()}}enableObservers(){for(const t of this._observers.values()){t.enable()}}scrollToTheSelection({alignToTop:t,forceScroll:e,viewportOffset:n=20,ancestorOffset:o=20}={}){const i=this.document.selection.getFirstRange();if(!i){return}const r=Pf({alignToTop:t,forceScroll:e,viewportOffset:n,ancestorOffset:o});if(typeof n===\"number\"){n={top:n,bottom:n,left:n,right:n}}const s={target:this.domConverter.viewRangeToDom(i),viewportOffset:n,ancestorOffset:o,alignToTop:t,forceScroll:e};this.fire(\"scrollToTheSelection\",s,r);Nc(s)}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;if(t){this.domConverter.focus(t);this.forceRender()}else{}}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress){throw new N(\"cannot-change-view-tree\",this)}try{if(this._ongoingChange){return t(this._writer)}this._ongoingChange=true;const e=t(this._writer);this._ongoingChange=false;if(!this._renderingDisabled&&this._hasChangedSinceTheLastRendering){this._postFixersInProgress=true;this.document._callPostFixers(this._writer);this._postFixersInProgress=false;this.fire(\"render\")}return e}catch(t){N.rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=true;this.getObserver(Cf).flush();this.change((()=>{}))}destroy(){for(const t of this._observers.values()){t.destroy()}this.document.destroy();this.stopListening()}createPositionAt(t,e){return yh._createAt(t,e)}createPositionAfter(t){return yh._createAfter(t)}createPositionBefore(t){return yh._createBefore(t)}createRange(t,e){return new xh(t,e)}createRangeOn(t){return xh._createOn(t)}createRangeIn(t){return xh._createIn(t)}createSelection(...t){return new Dh(...t)}_disableRendering(t){this._renderingDisabled=t;if(t==false){this.change((()=>{}))}}_render(){this.isRenderingInProgress=true;this.disableObservers();this._renderer.render();this.enableObservers();this.isRenderingInProgress=false}}class Lf{is(){throw new Error(\"is() method is abstract\")}}class zf extends Lf{constructor(t){super();this.parent=null;this._attrs=dd(t)}get document(){return null}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))===null){throw new N(\"model-node-not-found-in-parent\",this)}return t}get startOffset(){let t;if(!this.parent){return null}if((t=this.parent.getChildStartOffset(this))===null){throw new N(\"model-node-not-found-in-parent\",this)}return t}get offsetSize(){return 1}get endOffset(){if(!this.parent){return null}return this.startOffset+this.offsetSize}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.parent===null?false:this.root.isAttached()}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.startOffset);e=e.parent}return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const o=t.getAncestors(e);let i=0;while(n[i]==o[i]&&n[i]){i++}return i===0?null:n[i-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const o=Dt(e,n);switch(o){case\"prefix\":return true;case\"extension\":return false;default:return e[o]{t[e[0]]=e[1];return t}),{})}return t}_clone(t){return new this.constructor(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=dd(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}zf.prototype.is=function(t){return t===\"node\"||t===\"model:node\"};class Of{constructor(t){this._nodes=[];if(t){this._insertNodes(0,t)}}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((t,e)=>t+e.offsetSize),0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return e==-1?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return e===null?null:this._nodes.slice(0,e).reduce(((t,e)=>t+e.offsetSize),0)}indexToOffset(t){if(t==this._nodes.length){return this.maxOffset}const e=this._nodes[t];if(!e){throw new N(\"model-nodelist-index-out-of-bounds\",this)}return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&tt.toJSON()))}}class Rf extends zf{constructor(t,e){super(e);this._data=t||\"\"}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const t=super.toJSON();t.data=this.data;return t}_clone(){return new Rf(this.data,this.getAttributes())}static fromJSON(t){return new Rf(t.data,t.attributes)}}Rf.prototype.is=function(t){return t===\"$text\"||t===\"model:$text\"||t===\"text\"||t===\"model:text\"||t===\"node\"||t===\"model:node\"};class Vf extends Lf{constructor(t,e,n){super();this.textNode=t;if(e<0||e>t.offsetSize){throw new N(\"model-textproxy-wrong-offsetintext\",this)}if(n<0||e+n>t.offsetSize){throw new N(\"model-textproxy-wrong-length\",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get startOffset(){return this.textNode.startOffset!==null?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return this.startOffset!==null?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const t=this.textNode.getPath();if(t.length>0){t[t.length-1]+=this.offsetInText}return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?\"push\":\"unshift\"](n);n=n.parent}return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}Vf.prototype.is=function(t){return t===\"$textProxy\"||t===\"model:$textProxy\"||t===\"textProxy\"||t===\"model:textProxy\"};class Ff extends zf{constructor(t,e,n){super(e);this._children=new Of;this.name=t;if(n){this._insertChild(0,n)}}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}findAncestor(t,e={}){let n=e.includeSelf?this:this.parent;while(n){if(n.name===t){return n}n=n.parent}return null}toJSON(){const t=super.toJSON();t.name=this.name;if(this._children.length>0){t.children=[];for(const e of this._children){t.children.push(e.toJSON())}}return t}_clone(t=false){const e=t?Array.from(this._children).map((t=>t._clone(true))):undefined;return new Ff(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=jf(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}static fromJSON(t){let e;if(t.children){e=[];for(const n of t.children){if(n.name){e.push(Ff.fromJSON(n))}else{e.push(Rf.fromJSON(n))}}}return new Ff(t.name,t.attributes,e)}}Ff.prototype.is=function(t,e){if(!e){return t===\"element\"||t===\"model:element\"||t===\"node\"||t===\"model:node\"}return e===this.name&&(t===\"element\"||t===\"model:element\")};function jf(t){if(typeof t==\"string\"){return[new Rf(t)]}if(!It(t)){t=[t]}return Array.from(t).map((t=>{if(typeof t==\"string\"){return new Rf(t)}if(t instanceof Vf){return new Rf(t.data,t.getAttributes())}return t}))}class Hf{constructor(t){if(!t||!t.boundaries&&!t.startPosition){throw new N(\"model-tree-walker-no-start-position\",null)}const e=t.direction||\"forward\";if(e!=\"forward\"&&e!=\"backward\"){throw new N(\"model-tree-walker-unknown-direction\",t,{direction:e})}this.direction=e;this.boundaries=t.boundaries||null;if(t.startPosition){this._position=t.startPosition.clone()}else{this._position=Wf._createAt(this.boundaries[this.direction==\"backward\"?\"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}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n,o,i;do{o=this.position;i=this._visitedParent;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this._position=o;this._visitedParent=i}}next(){if(this.direction==\"forward\"){return this._next()}else{return this._previous()}}_next(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===n.maxOffset){return{done:true,value:undefined}}if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset){return{done:true,value:undefined}}const o=qf(e,n);const i=o||Gf(e,n,o);if(i instanceof Ff){if(!this.shallow){e.path.push(0);this._visitedParent=i}else{if(this.boundaries&&this.boundaries.end.isBefore(e)){return{done:true,value:undefined}}e.offset++}this._position=e;return Uf(\"elementStart\",i,t,e,1)}if(i instanceof Rf){let o;if(this.singleCharacters){o=1}else{let t=i.endOffset;if(this._boundaryEndParent==n&&this.boundaries.end.offsett){t=this.boundaries.start.offset}o=e.offset-t}const i=e.offset-r.startOffset;const s=new Vf(r,i-o,o);e.offset-=o;this._position=e;return Uf(\"text\",s,t,e,o)}e.path.pop();this._position=e;this._visitedParent=n.parent;return Uf(\"elementStart\",n,t,e,1)}}function Uf(t,e,n,o,i){return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}class Wf extends Lf{constructor(t,e,n=\"toNone\"){super();if(!t.is(\"element\")&&!t.is(\"documentFragment\")){throw new N(\"model-position-root-invalid\",t)}if(!(e instanceof Array)||e.length===0){throw new N(\"model-position-path-incorrect-format\",t,{path:e})}if(t.is(\"rootElement\")){e=e.slice()}else{e=[...t.getPath(),...e];t=t.root}this.root=t;this.path=e;this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e1){return false}else if(e===1){return Kf(t,this,n)}else if(e===-1){return Kf(this,t,n)}}if(this.path.length===t.path.length){return true}else if(this.path.length>t.path.length){return Yf(this.path,e)}else{return Yf(t.path,e)}}hasSameParentAs(t){if(this.root!==t.root){return false}const e=this.getParentPath();const n=t.getParentPath();return Dt(e,n)==\"same\"}getTransformedByOperation(t){let e;switch(t.type){case\"insert\":e=this._getTransformedByInsertOperation(t);break;case\"move\":case\"remove\":case\"reinsert\":e=this._getTransformedByMoveOperation(t);break;case\"split\":e=this._getTransformedBySplitOperation(t);break;case\"merge\":e=this._getTransformedByMergeOperation(t);break;default:e=Wf._createAt(this);break}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this)&&this.stickiness==\"toNext\";if(n){return this._getCombined(t.splitPosition,t.moveTargetPosition)}else{if(t.graveyardPosition){return this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1)}else{return this._getTransformedByInsertion(t.insertionPosition,1)}}}_getTransformedByMergeOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this);let o;if(n){o=this._getCombined(t.sourcePosition,t.targetPosition);if(t.sourcePosition.isBefore(t.targetPosition)){o=o._getTransformedByDeletion(t.deletionPosition,1)}}else if(this.isEqual(t.deletionPosition)){o=Wf._createAt(t.deletionPosition)}else{o=this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1)}return o}_getTransformedByDeletion(t,e){const n=Wf._createAt(this);if(this.root!=t.root){return n}if(Dt(t.getParentPath(),this.getParentPath())==\"same\"){if(t.offsetthis.offset){return null}else{n.offset-=e}}}else if(Dt(t.getParentPath(),this.getParentPath())==\"prefix\"){const o=t.path.length-1;if(t.offset<=this.path[o]){if(t.offset+e>this.path[o]){return null}else{n.path[o]-=e}}}return n}_getTransformedByInsertion(t,e){const n=Wf._createAt(this);if(this.root!=t.root){return n}if(Dt(t.getParentPath(),this.getParentPath())==\"same\"){if(t.offset=e){if(t.path[o]+i!==n.maxOffset){return false}i=1;o--;n=n.parent}return true}class Zf extends Lf{constructor(t,e){super();this.start=Wf._createAt(t);this.end=e?Wf._createAt(e):Wf._createAt(t);this.start.stickiness=this.isCollapsed?\"toNone\":\"toNext\";this.end.stickiness=this.isCollapsed?\"toNone\":\"toPrevious\"}*[Symbol.iterator](){yield*new Hf({boundaries:this,ignoreElementEnd:true})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const t=this.start.getParentPath();const e=this.end.getParentPath();return Dt(t,e)==\"same\"}get root(){return this.start.root}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=false){if(t.isCollapsed){e=false}const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start);const o=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&o}containsItem(t){const e=Wf._createBefore(t);return this.containsPosition(e)||this.start.isEqual(e)}isEqual(t){return this.start.isEqual(t.start)&&this.end.isEqual(t.end)}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}getDifference(t){const e=[];if(this.isIntersecting(t)){if(this.containsPosition(t.start)){e.push(new Zf(this.start,t.start))}if(this.containsPosition(t.end)){e.push(new Zf(t.end,this.end))}}else{e.push(new Zf(this.start,this.end))}return e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start;let n=this.end;if(this.containsPosition(t.start)){e=t.start}if(this.containsPosition(t.end)){n=t.end}return new Zf(e,n)}return null}getJoined(t,e=false){let n=this.isIntersecting(t);if(!n){if(this.start.isBefore(t.start)){n=e?this.end.isTouching(t.start):this.end.isEqual(t.start)}else{n=e?t.end.isTouching(this.start):t.end.isEqual(this.start)}}if(!n){return null}let o=this.start;let i=this.end;if(t.start.isBefore(o)){o=t.start}if(t.end.isAfter(i)){i=t.end}return new Zf(o,i)}getMinimalFlatRanges(){const t=[];const e=this.start.getCommonPath(this.end).length;const n=Wf._createAt(this.start);let o=n.parent;while(n.path.length>e+1){const e=o.maxOffset-n.offset;if(e!==0){t.push(new Zf(n,n.getShiftedBy(e)))}n.path=n.path.slice(0,-1);n.offset++;o=o.parent}while(n.path.length<=this.end.path.length){const e=this.end.path[n.path.length-1];const o=e-n.offset;if(o!==0){t.push(new Zf(n,n.getShiftedBy(o)))}n.offset=e;n.path.push(0)}return t}getWalker(t={}){t.boundaries=this;return new Hf(t)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new Hf(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new Hf(t);yield e.position;for(const t of e){yield t.nextPosition}}getTransformedByOperation(t){switch(t.type){case\"insert\":return this._getTransformedByInsertOperation(t);case\"move\":case\"remove\":case\"reinsert\":return this._getTransformedByMoveOperation(t);case\"split\":return[this._getTransformedBySplitOperation(t)];case\"merge\":return[this._getTransformedByMergeOperation(t)]}return[new Zf(this.start,this.end)]}getTransformedByOperations(t){const e=[new Zf(this.start,this.end)];for(const n of t){for(let t=0;t0?new this(n,o):new this(o,n)}static _createIn(t){return new this(Wf._createAt(t,0),Wf._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(Wf._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(t.length===0){throw new N(\"range-create-from-ranges-empty-array\",null)}else if(t.length==1){return t[0].clone()}const e=t[0];t.sort(((t,e)=>t.start.isAfter(e.start)?1:-1));const n=t.indexOf(e);const o=new this(e.start,e.end);if(n>0){for(let e=n-1;true;e++){if(t[e].end.isEqual(o.start)){o.start=Wf._createAt(t[e].start)}else{break}}}for(let e=n+1;e{if(e.viewPosition){return}const n=this._modelToViewMapping.get(e.modelPosition.parent);if(!n){throw new N(\"mapping-model-position-view-parent-not-found\",this,{modelPosition:e.modelPosition})}e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)}),{priority:\"low\"});this.on(\"viewToModelPosition\",((t,e)=>{if(e.modelPosition){return}const n=this.findMappedViewAncestor(e.viewPosition);const o=this._viewToModelMapping.get(n);const i=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=Wf._createAt(o,i)}),{priority:\"low\"})}bindElements(t,e){this._modelToViewMapping.set(t,e);this._viewToModelMapping.set(e,t)}unbindViewElement(t,e={}){const n=this.toModelElement(t);if(this._elementToMarkerNames.has(t)){for(const e of this._elementToMarkerNames.get(t)){this._unboundMarkerNames.add(e)}}if(e.defer){this._deferredBindingRemovals.set(t,t.root)}else{this._viewToModelMapping.delete(t);if(this._modelToViewMapping.get(n)==t){this._modelToViewMapping.delete(n)}}}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t);if(this._viewToModelMapping.get(e)==t){this._viewToModelMapping.delete(e)}}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const o=this._elementToMarkerNames.get(t)||new Set;o.add(e);this._markerNameToElements.set(e,n);this._elementToMarkerNames.set(t,o)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);if(n){n.delete(t);if(n.size==0){this._markerNameToElements.delete(e)}}const o=this._elementToMarkerNames.get(t);if(o){o.delete(e);if(o.size==0){this._elementToMarkerNames.delete(t)}}}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);this._unboundMarkerNames.clear();return t}flushDeferredBindings(){for(const[t,e]of this._deferredBindingRemovals){if(t.root==e){this.unbindViewElement(t)}}this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap;this._viewToModelMapping=new WeakMap;this._markerNameToElements=new Map;this._elementToMarkerNames=new Map;this._unboundMarkerNames=new Set;this._deferredBindingRemovals=new Map}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new Zf(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new xh(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};this.fire(\"viewToModelPosition\",e);return e.modelPosition}toViewPosition(t,e={}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};this.fire(\"modelToViewPosition\",n);return n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e){return null}const n=new Set;for(const t of e){if(t.is(\"attributeElement\")){for(const e of t.getElementsWithSameId()){n.add(e)}}else{n.add(t)}}return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;while(!this._viewToModelMapping.has(e)){e=e.parent}return e}_toModelOffset(t,e,n){if(n!=t){const o=this._toModelOffset(t.parent,t.index,n);const i=this._toModelOffset(t,e,t);return o+i}if(t.is(\"$text\")){return e}let o=0;for(let n=0;n1?e[0]+\":\"+e[1]:e[0]}class ep extends($()){constructor(t){super();this._conversionApi={dispatcher:this,...t};this._firedEventsMap=new WeakMap}convertChanges(t,e,n){const o=this._createConversionApi(n,t.getRefreshedItems());for(const e of t.getMarkersToRemove()){this._convertMarkerRemove(e.name,e.range,o)}const i=this._reduceChanges(t.getChanges());for(const t of i){if(t.type===\"insert\"){this._convertInsert(Zf._createFromPositionAndShift(t.position,t.length),o)}else if(t.type===\"reinsert\"){this._convertReinsert(Zf._createFromPositionAndShift(t.position,t.length),o)}else if(t.type===\"remove\"){this._convertRemove(t.position,t.length,t.name,o)}else{this._convertAttribute(t.range,t.attributeKey,t.attributeOldValue,t.attributeNewValue,o)}}o.mapper.flushDeferredBindings();for(const t of o.mapper.flushUnboundMarkerNames()){const n=e.get(t).getRange();this._convertMarkerRemove(t,n,o);this._convertMarkerAdd(t,n,o)}for(const e of t.getMarkersToAdd()){this._convertMarkerAdd(e.name,e.range,o)}o.consumable.verifyAllConsumed(\"insert\")}convert(t,e,n,o={}){const i=this._createConversionApi(n,undefined,o);this._convertInsert(t,i);for(const[t,n]of e){this._convertMarkerAdd(t,n,i)}i.consumable.verifyAllConsumed(\"insert\")}convertSelection(t,e,n){const o=this._createConversionApi(n);this.fire(\"cleanSelection\",{selection:t},o);const i=t.getFirstPosition().root;if(!o.mapper.toViewElement(i)){return}const r=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));this._addConsumablesForSelection(o.consumable,t,r);this.fire(\"selection\",{selection:t},o);if(!t.isCollapsed){return}for(const e of r){if(o.consumable.test(t,\"addMarker:\"+e.name)){const n=e.getRange();if(!np(t.getFirstPosition(),e,o.mapper)){continue}const i={item:t,markerName:e.name,markerRange:n};this.fire(`addMarker:${e.name}`,i,o)}}for(const e of t.getAttributeKeys()){if(o.consumable.test(t,\"attribute:\"+e)){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};this.fire(`attribute:${e}:$text`,n,o)}}}_convertInsert(t,e,n={}){if(!n.doNotAddConsumables){this._addConsumablesForInsert(e.consumable,t)}for(const n of Array.from(t.getWalker({shallow:true})).map(ip)){this._testAndFire(\"insert\",n,e)}}_convertRemove(t,e,n,o){this.fire(`remove:${n}`,{position:t,length:e},o)}_convertAttribute(t,e,n,o,i){this._addConsumablesForRange(i.consumable,t,`attribute:${e}`);for(const r of t){const t={item:r.item,range:Zf._createFromPositionAndShift(r.previousPosition,r.length),attributeKey:e,attributeOldValue:n,attributeNewValue:o};this._testAndFire(`attribute:${e}`,t,i)}}_convertReinsert(t,e){const n=Array.from(t.getWalker({shallow:true}));this._addConsumablesForInsert(e.consumable,n);for(const t of n.map(ip)){this._testAndFire(\"insert\",{...t,reconversion:true},e)}}_convertMarkerAdd(t,e,n){if(e.root.rootName==\"$graveyard\"){return}const o=`addMarker:${t}`;n.consumable.add(e,o);this.fire(o,{markerName:t,markerRange:e},n);if(!n.consumable.consume(e,o)){return}this._addConsumablesForRange(n.consumable,e,o);for(const i of e.getItems()){if(!n.consumable.test(i,o)){continue}const r={item:i,range:Zf._createOn(i),markerName:t,markerRange:e};this.fire(o,r,n)}}_convertMarkerRemove(t,e,n){if(e.root.rootName==\"$graveyard\"){return}this.fire(`removeMarker:${t}`,{markerName:t,markerRange:e},n)}_reduceChanges(t){const e={changes:t};this.fire(\"reduceChanges\",e);return e.changes}_addConsumablesForInsert(t,e){for(const n of e){const e=n.item;if(t.test(e,\"insert\")===null){t.add(e,\"insert\");for(const n of e.getAttributeKeys()){t.add(e,\"attribute:\"+n)}}}return t}_addConsumablesForRange(t,e,n){for(const o of e.getItems()){t.add(o,n)}return t}_addConsumablesForSelection(t,e,n){t.add(e,\"selection\");for(const o of n){t.add(e,\"addMarker:\"+o.name)}for(const n of e.getAttributeKeys()){t.add(e,\"attribute:\"+n)}return t}_testAndFire(t,e,n){const o=op(t,e);const i=e.item.is(\"$textProxy\")?n.consumable._getSymbolForTextProxy(e.item):e.item;const r=this._firedEventsMap.get(n);const s=r.get(i);if(!s){r.set(i,new Set([o]))}else if(!s.has(o)){s.add(o)}else{return}this.fire(o,e,n)}_testAndFireAddAttributes(t,e){const n={item:t,range:Zf._createOn(t)};for(const t of n.item.getAttributeKeys()){n.attributeKey=t;n.attributeOldValue=null;n.attributeNewValue=n.item.getAttribute(t);this._testAndFire(`attribute:${t}`,n,e)}}_createConversionApi(t,e=new Set,n={}){const o={...this._conversionApi,consumable:new Xf,writer:t,options:n,convertItem:t=>this._convertInsert(Zf._createOn(t),o),convertChildren:t=>this._convertInsert(Zf._createIn(t),o,{doNotAddConsumables:true}),convertAttributes:t=>this._testAndFireAddAttributes(t,o),canReuseView:t=>!e.has(o.mapper.toModelElement(t))};this._firedEventsMap.set(o,new Map);return o}}function np(t,e,n){const o=e.getRange();const i=Array.from(t.getAncestors());i.shift();i.reverse();const r=i.some((t=>{if(o.containsItem(t)){const e=n.toViewElement(t);return!!e.getCustomProperty(\"addHighlight\")}}));return!r}function op(t,e){const n=e.item.is(\"element\")?e.item.name:\"$text\";return`${t}:${n}`}function ip(t){const e=t.item;const n=Zf._createFromPositionAndShift(t.previousPosition,t.length);return{item:e,range:n}}class rp extends($(Lf)){constructor(...t){super();this._lastRangeBackward=false;this._attrs=new Map;this._ranges=[];if(t.length){this.setTo(...t)}}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){const t=this._ranges.length;if(t===1){return this._ranges[0].isCollapsed}else{return false}}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const o of t._ranges){if(e.isEqual(o)){n=true;break}}if(!n){return false}}return true}*getRanges(){for(const t of this._ranges){yield new Zf(t.start,t.end)}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?new Zf(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?new Zf(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(...t){let[e,n,o]=t;if(typeof n==\"object\"){o=n;n=undefined}if(e===null){this._setRanges([])}else if(e instanceof rp){this._setRanges(e.getRanges(),e.isBackward)}else if(e&&typeof e.getRanges==\"function\"){this._setRanges(e.getRanges(),e.isBackward)}else if(e instanceof Zf){this._setRanges([e],!!o&&!!o.backward)}else if(e instanceof Wf){this._setRanges([new Zf(e)])}else if(e instanceof zf){const t=!!o&&!!o.backward;let i;if(n==\"in\"){i=Zf._createIn(e)}else if(n==\"on\"){i=Zf._createOn(e)}else if(n!==undefined){i=new Zf(Wf._createAt(e,n))}else{throw new N(\"model-selection-setto-required-second-parameter\",[this,e])}this._setRanges([i],t)}else if(It(e)){this._setRanges(e,o&&!!o.backward)}else{throw new N(\"model-selection-setto-not-selectable\",[this,e])}}_setRanges(t,e=false){const n=Array.from(t);const o=n.some((e=>{if(!(e instanceof Zf)){throw new N(\"model-selection-set-ranges-not-range\",[this,t])}return this._ranges.every((t=>!t.isEqual(e)))}));if(n.length===this._ranges.length&&!o){return}this._replaceAllRanges(n);this._lastRangeBackward=!!e;this.fire(\"change:range\",{directChange:true})}setFocus(t,e){if(this.anchor===null){throw new N(\"model-selection-setfocus-no-ranges\",[this,t])}const n=Wf._createAt(t,e);if(n.compareWith(this.focus)==\"same\"){return}const o=this.anchor;if(this._ranges.length){this._popRange()}if(n.compareWith(o)==\"before\"){this._pushRange(new Zf(n,o));this._lastRangeBackward=true}else{this._pushRange(new Zf(o,n));this._lastRangeBackward=false}this.fire(\"change:range\",{directChange:true})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){if(this.hasAttribute(t)){this._attrs.delete(t);this.fire(\"change:attribute\",{attributeKeys:[t],directChange:true})}}setAttribute(t,e){if(this.getAttribute(t)!==e){this._attrs.set(t,e);this.fire(\"change:attribute\",{attributeKeys:[t],directChange:true})}}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=cp(e.start,t);if(dp(n,e)){yield n}for(const n of e.getWalker()){const o=n.item;if(n.type==\"elementEnd\"&&ap(o,t,e)){yield o}}const o=cp(e.end,t);if(up(o,e)){yield o}}}containsEntireContent(t=this.anchor.root){const e=Wf._createAt(t,0);const n=Wf._createAt(t,\"end\");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t);this._ranges.push(new Zf(t.start,t.end))}_checkRange(t){for(let e=0;e0){this._popRange()}}_popRange(){this._ranges.pop()}}rp.prototype.is=function(t){return t===\"selection\"||t===\"model:selection\"};function sp(t,e){if(e.has(t)){return false}e.add(t);return t.root.document.model.schema.isBlock(t)&&!!t.parent}function ap(t,e,n){return sp(t,e)&&lp(t,n)}function cp(t,e){const n=t.parent;const o=n.root.document.model.schema;const i=t.parent.getAncestors({parentFirst:true,includeSelf:true});let r=false;const s=i.find((t=>{if(r){return false}r=o.isLimit(t);return!r&&sp(t,e)}));i.forEach((t=>e.add(t)));return s}function lp(t,e){const n=hp(t);if(!n){return true}const o=e.containsRange(Zf._createOn(n),true);return!o}function dp(t,e){if(!t){return false}if(e.isCollapsed||t.isEmpty){return true}if(e.start.isTouching(Wf._createAt(t,t.maxOffset))){return false}return lp(t,e)}function up(t,e){if(!t){return false}if(e.isCollapsed||t.isEmpty){return true}if(e.end.isTouching(Wf._createAt(t,0))){return false}return lp(t,e)}function hp(t){const e=t.root.document.model.schema;let n=t.parent;while(n){if(e.isBlock(n)){return n}n=n.parent}}class mp extends($(Zf)){constructor(t,e){super(t,e);gp.call(this)}detach(){this.stopListening()}toRange(){return new Zf(this.start,this.end)}static fromRange(t){return new mp(t.start,t.end)}}mp.prototype.is=function(t){return t===\"liveRange\"||t===\"model:liveRange\"||t==\"range\"||t===\"model:range\"};function gp(){this.listenTo(this.root.document.model,\"applyOperation\",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}fp.call(this,n)}),{priority:\"low\"})}function fp(t){const e=this.getTransformedByOperation(t);const n=Zf._createFromRanges(e);const o=!n.isEqual(this);const i=pp(this,t);let r=null;if(o){if(n.root.rootName==\"$graveyard\"){if(t.type==\"remove\"){r=t.sourcePosition}else{r=t.deletionPosition}}const e=this.toRange();this.start=n.start;this.end=n.end;this.fire(\"change:range\",e,{deletionPosition:r})}else if(i){this.fire(\"change:content\",this.toRange(),{deletionPosition:r})}}function pp(t,e){switch(e.type){case\"insert\":return t.containsPosition(e.position);case\"move\":case\"remove\":case\"reinsert\":case\"merge\":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case\"split\":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return false}const bp=\"selection:\";class kp extends($(Lf)){constructor(t){super();this._selection=new wp(t);this._selection.delegate(\"change:range\").to(this);this._selection.delegate(\"change:attribute\").to(this);this._selection.delegate(\"change:marker\").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection.updateMarkers();this._selection._updateAttributes(false)}observeMarkers(t){this._selection.observeMarkers(t)}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(...t){this._selection.setTo(...t)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return bp+t}static _isStoreAttributeKey(t){return t.startsWith(bp)}}kp.prototype.is=function(t){return t===\"selection\"||t==\"model:selection\"||t==\"documentSelection\"||t==\"model:documentSelection\"};class wp extends rp{constructor(t){super();this.markers=new rd({idProperty:\"name\"});this._attributePriority=new Map;this._selectionRestorePosition=null;this._hasChangedRange=false;this._overriddenGravityRegister=new Set;this._observedMarkers=new Set;this._model=t.model;this._document=t;this.listenTo(this._model,\"applyOperation\",((t,e)=>{const n=e[0];if(!n.isDocumentOperation||n.type==\"marker\"||n.type==\"rename\"||n.type==\"noop\"){return}if(this._ranges.length==0&&this._selectionRestorePosition){this._fixGraveyardSelection(this._selectionRestorePosition)}this._selectionRestorePosition=null;if(this._hasChangedRange){this._hasChangedRange=false;this.fire(\"change:range\",{directChange:false})}}),{priority:\"lowest\"});this.on(\"change:range\",(()=>{this._validateSelectionRanges(this.getRanges())}));this.listenTo(this._model.markers,\"update\",((t,e,n,o)=>{this._updateMarker(e,o)}));this.listenTo(this._document,\"change\",((t,e)=>{_p(this._model,e)}))}get isCollapsed(){const t=this._ranges.length;return t===0?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{this._hasChangedRange=true;if(e.root==this._document.graveyard){this._selectionRestorePosition=o.deletionPosition;const t=this._ranges.indexOf(e);this._ranges.splice(t,1);e.detach()}}));return e}updateMarkers(){if(!this._observedMarkers.size){return}const t=[];let e=false;for(const e of this._model.markers){const n=e.name.split(\":\",1)[0];if(!this._observedMarkers.has(n)){continue}const o=e.getRange();for(const n of this.getRanges()){if(o.containsRange(n,!n.isCollapsed)){t.push(e)}}}const n=Array.from(this.markers);for(const n of t){if(!this.markers.has(n)){this.markers.add(n);e=true}}for(const n of Array.from(this.markers)){if(!t.includes(n)){this.markers.remove(n);e=true}}if(e){this.fire(\"change:marker\",{oldMarkers:n,directChange:false})}}_updateMarker(t,e){const n=t.name.split(\":\",1)[0];if(!this._observedMarkers.has(n)){return}let o=false;const i=Array.from(this.markers);const r=this.markers.has(t);if(!e){if(r){this.markers.remove(t);o=true}}else{let n=false;for(const t of this.getRanges()){if(e.containsRange(t,!t.isCollapsed)){n=true;break}}if(n&&!r){this.markers.add(t);o=true}else if(!n&&r){this.markers.remove(t);o=true}}if(o){this.fire(\"change:marker\",{oldMarkers:i,directChange:false})}}_updateAttributes(t){const e=dd(this._getSurroundingAttributes());const n=dd(this.getAttributes());if(t){this._attributePriority=new Map;this._attrs=new Map}else{for(const[t,e]of this._attributePriority){if(e==\"low\"){this._attrs.delete(t);this._attributePriority.delete(t)}}}this._setAttributesTo(e);const o=[];for(const[t,e]of this.getAttributes()){if(!n.has(t)||n.get(t)!==e){o.push(t)}}for(const[t]of n){if(!this.hasAttribute(t)){o.push(t)}}if(o.length>0){this.fire(\"change:attribute\",{attributeKeys:o,directChange:false})}}_setAttribute(t,e,n=true){const o=n?\"normal\":\"low\";if(o==\"low\"&&this._attributePriority.get(t)==\"normal\"){return false}const i=super.getAttribute(t);if(i===e){return false}this._attrs.set(t,e);this._attributePriority.set(t,o);return true}_removeAttribute(t,e=true){const n=e?\"normal\":\"low\";if(n==\"low\"&&this._attributePriority.get(t)==\"normal\"){return false}this._attributePriority.set(t,n);if(!super.hasAttribute(t)){return false}this._attrs.delete(t);return true}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes()){if(t.get(e)===n){continue}this._removeAttribute(e,false)}for(const[n,o]of t){const t=this._setAttribute(n,o,false);if(t){e.add(n)}}return e}*getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty){for(const e of t.getAttributeKeys()){if(e.startsWith(bp)){const n=e.substr(bp.length);yield[n,t.getAttribute(e)]}}}}_getSurroundingAttributes(){const t=this.getFirstPosition();const e=this._model.schema;if(t.root.rootName==\"$graveyard\"){return null}let n=null;if(!this.isCollapsed){const t=this.getFirstRange();for(const o of t){if(o.item.is(\"element\")&&e.isObject(o.item)){n=Ap(o.item,e);break}if(o.type==\"text\"){n=o.item.getAttributes();break}}}else{const o=t.textNode?t.textNode:t.nodeBefore;const i=t.textNode?t.textNode:t.nodeAfter;if(!this.isGravityOverridden){n=Ap(o,e)}if(!n){n=Ap(i,e)}if(!this.isGravityOverridden&&!n){let t=o;while(t&&!n){t=t.previousSibling;n=Ap(t,e)}}if(!n){let t=i;while(t&&!n){t=t.nextSibling;n=Ap(t,e)}}if(!n){n=this.getStoredAttributes()}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);if(e){this._pushRange(e)}}}function Ap(t,e){if(!t){return null}if(t instanceof Vf||t instanceof Rf){return t.getAttributes()}if(!e.isInline(t)){return null}if(!e.isObject(t)){return[]}const n=[];for(const[o,i]of t.getAttributes()){if(e.checkAttribute(\"$text\",o)&&e.getAttributeProperties(o).copyFromObject!==false){n.push([o,i])}}return n}function _p(t,e){const n=t.document.differ;for(const o of n.getChanges()){if(o.type!=\"insert\"){continue}const n=o.position.parent;const i=o.length===n.maxOffset;if(i){t.enqueueChange(e,(t=>{const e=Array.from(n.getAttributeKeys()).filter((t=>t.startsWith(bp)));for(const o of e){t.removeAttribute(o,n)}}))}}}class Cp{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers){t(e)}return this}}class vp extends Cp{elementToElement(t){return this.add(qp(t))}elementToStructure(t){return this.add(Gp(t))}attributeToElement(t){return this.add($p(t))}attributeToAttribute(t){return this.add(Kp(t))}markerToElement(t){return this.add(Yp(t))}markerToHighlight(t){return this.add(Zp(t))}markerToData(t){return this.add(Qp(t))}}function yp(){return(t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const o=n.writer;const i=n.mapper.toViewPosition(e.range.start);const r=o.createText(e.item.data);o.insert(i,r)}}function xp(){return(t,e,n)=>{n.convertAttributes(e.item);if(!e.reconversion&&e.item.is(\"element\")&&!e.item.isEmpty){n.convertChildren(e.item)}}}function Ep(){return(t,e,n)=>{const o=n.mapper.toViewPosition(e.position);const i=e.position.getShiftedBy(e.length);const r=n.mapper.toViewPosition(i,{isPhantom:true});const s=n.writer.createRange(o,r);const a=n.writer.remove(s.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems()){n.mapper.unbindViewElement(t,{defer:true})}}}function Dp(t,e){const n=t.createAttributeElement(\"span\",e.attributes);if(e.classes){n._addClass(e.classes)}if(typeof e.priority===\"number\"){n._priority=e.priority}n._id=e.id;return n}function Ip(){return(t,e,n)=>{const o=e.selection;if(o.isCollapsed){return}if(!n.consumable.consume(o,\"selection\")){return}const i=[];for(const t of o.getRanges()){i.push(n.mapper.toViewRange(t))}n.writer.setSelection(i,{backward:o.isBackward})}}function Tp(){return(t,e,n)=>{const o=e.selection;if(!o.isCollapsed){return}if(!n.consumable.consume(o,\"selection\")){return}const i=n.writer;const r=o.getFirstPosition();const s=n.mapper.toViewPosition(r);const a=i.breakAttributes(s);i.setSelection(a)}}function Sp(){return(t,e,n)=>{const o=n.writer;const i=o.document.selection;for(const t of i.getRanges()){if(t.isCollapsed){if(t.end.parent.isAttached()){n.writer.mergeAttributes(t.start)}}}o.setSelection(null)}}function Bp(t){return(e,n,o)=>{if(!o.consumable.test(n.item,e.name)){return}const i=t(n.attributeOldValue,o,n);const r=t(n.attributeNewValue,o,n);if(!i&&!r){return}o.consumable.consume(n.item,e.name);const s=o.writer;const a=s.document.selection;if(n.item instanceof rp||n.item instanceof kp){s.wrap(a.getFirstRange(),r)}else{let t=o.mapper.toViewRange(n.range);if(n.attributeOldValue!==null&&i){t=s.unwrap(t,i)}if(n.attributeNewValue!==null&&r){s.wrap(t,r)}}}}function Mp(t,e=hb){return(n,o,i)=>{if(!e(o.item,i.consumable,{preflight:true})){return}const r=t(o.item,i,o);if(!r){return}e(o.item,i.consumable);const s=i.mapper.toViewPosition(o.range.start);i.mapper.bindElements(o.item,r);i.writer.insert(s,r);i.convertAttributes(o.item);db(r,o.item.getChildren(),i,{reconversion:o.reconversion})}}function Pp(t,e){return(n,o,i)=>{if(!e(o.item,i.consumable,{preflight:true})){return}const r=new Map;i.writer._registerSlotFactory(ab(o.item,r,i));const s=t(o.item,i,o);i.writer._clearSlotFactory();if(!s){return}cb(o.item,r,i);e(o.item,i.consumable);const a=i.mapper.toViewPosition(o.range.start);i.mapper.bindElements(o.item,s);i.writer.insert(a,s);i.convertAttributes(o.item);lb(s,r,i,{reconversion:o.reconversion})}}function Np(t){return(e,n,o)=>{n.isOpening=true;const i=t(n,o);n.isOpening=false;const r=t(n,o);if(!i||!r){return}const s=n.markerRange;if(s.isCollapsed&&!o.consumable.consume(s,e.name)){return}for(const t of s){if(!o.consumable.consume(t.item,e.name)){return}}const a=o.mapper;const c=o.writer;c.insert(a.toViewPosition(s.start),i);o.mapper.bindElementToMarker(i,n.markerName);if(!s.isCollapsed){c.insert(a.toViewPosition(s.end),r);o.mapper.bindElementToMarker(r,n.markerName)}e.stop()}}function Lp(){return(t,e,n)=>{const o=n.mapper.markerNameToElements(e.markerName);if(!o){return}for(const t of o){n.mapper.unbindElementFromMarkerName(t,e.markerName);n.writer.clear(n.writer.createRangeOn(t),t)}n.writer.clearClonedElementsGroup(e.markerName);t.stop()}}function zp(t){return(e,n,o)=>{const i=t(n.markerName,o);if(!i){return}const r=n.markerRange;if(!o.consumable.consume(r,e.name)){return}Op(r,false,o,n,i);Op(r,true,o,n,i);e.stop()}}function Op(t,e,n,o,i){const r=e?t.start:t.end;const s=r.nodeAfter&&r.nodeAfter.is(\"element\")?r.nodeAfter:null;const a=r.nodeBefore&&r.nodeBefore.is(\"element\")?r.nodeBefore:null;if(s||a){let t;let r;if(e&&s||!e&&!a){t=s;r=true}else{t=a;r=false}const c=n.mapper.toViewElement(t);if(c){Rp(c,e,r,n,o,i);return}}const c=n.mapper.toViewPosition(r);Vp(c,e,n,o,i)}function Rp(t,e,n,o,i,r){const s=`data-${r.group}-${e?\"start\":\"end\"}-${n?\"before\":\"after\"}`;const a=t.hasAttribute(s)?t.getAttribute(s).split(\",\"):[];a.unshift(r.name);o.writer.setAttribute(s,a.join(\",\"),t);o.mapper.bindElementToMarker(t,i.markerName)}function Vp(t,e,n,o,i){const r=`${i.group}-${e?\"start\":\"end\"}`;const s=i.name?{name:i.name}:null;const a=n.writer.createUIElement(r,s);n.writer.insert(t,a);n.mapper.bindElementToMarker(a,o.markerName)}function Fp(t){return(e,n,o)=>{const i=t(n.markerName,o);if(!i){return}const r=o.mapper.markerNameToElements(n.markerName);if(!r){return}for(const t of r){o.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is(\"containerElement\")){s(`data-${i.group}-start-before`,t);s(`data-${i.group}-start-after`,t);s(`data-${i.group}-end-before`,t);s(`data-${i.group}-end-after`,t)}else{o.writer.clear(o.writer.createRangeOn(t),t)}}o.writer.clearClonedElementsGroup(n.markerName);e.stop();function s(t,e){if(e.hasAttribute(t)){const n=new Set(e.getAttribute(t).split(\",\"));n.delete(i.name);if(n.size==0){o.writer.removeAttribute(t,e)}else{o.writer.setAttribute(t,Array.from(n).join(\",\"),e)}}}}}function jp(t){return(e,n,o)=>{if(!o.consumable.test(n.item,e.name)){return}const i=t(n.attributeOldValue,o,n);const r=t(n.attributeNewValue,o,n);if(!i&&!r){return}o.consumable.consume(n.item,e.name);const s=o.mapper.toViewElement(n.item);const a=o.writer;if(!s){throw new N(\"conversion-attribute-to-attribute-on-text\",o.dispatcher,n)}if(n.attributeOldValue!==null&&i){if(i.key==\"class\"){const t=typeof i.value==\"string\"?i.value.split(/\\s+/):i.value;for(const e of t){a.removeClass(e,s)}}else if(i.key==\"style\"){if(typeof i.value==\"string\"){const t=new lh(a.document.stylesProcessor);t.setTo(i.value);for(const[e]of t.getStylesEntries()){a.removeStyle(e,s)}}else{const t=Object.keys(i.value);for(const e of t){a.removeStyle(e,s)}}}else{a.removeAttribute(i.key,s)}}if(n.attributeNewValue!==null&&r){if(r.key==\"class\"){const t=typeof r.value==\"string\"?r.value.split(/\\s+/):r.value;for(const e of t){a.addClass(e,s)}}else if(r.key==\"style\"){if(typeof r.value==\"string\"){const t=new lh(a.document.stylesProcessor);t.setTo(r.value);for(const[e,n]of t.getStylesEntries()){a.setStyle(e,n,s)}}else{const t=Object.keys(r.value);for(const e of t){a.setStyle(e,r.value[e],s)}}}else{a.setAttribute(r.key,r.value,s)}}}}function Hp(t){return(e,n,o)=>{if(!n.item){return}if(!(n.item instanceof rp||n.item instanceof kp)&&!n.item.is(\"$textProxy\")){return}const i=ob(t,n,o);if(!i){return}if(!o.consumable.consume(n.item,e.name)){return}const r=o.writer;const s=Dp(r,i);const a=r.document.selection;if(n.item instanceof rp||n.item instanceof kp){r.wrap(a.getFirstRange(),s)}else{const t=o.mapper.toViewRange(n.range);const e=r.wrap(t,s);for(const t of e.getItems()){if(t.is(\"attributeElement\")&&t.isSimilar(s)){o.mapper.bindElementToMarker(t,n.markerName);break}}}}}function Up(t){return(e,n,o)=>{if(!n.item){return}if(!(n.item instanceof Ff)){return}const i=ob(t,n,o);if(!i){return}if(!o.consumable.test(n.item,e.name)){return}const r=o.mapper.toViewElement(n.item);if(r&&r.getCustomProperty(\"addHighlight\")){o.consumable.consume(n.item,e.name);for(const t of Zf._createIn(n.item)){o.consumable.consume(t.item,e.name)}const t=r.getCustomProperty(\"addHighlight\");t(r,i,o.writer);o.mapper.bindElementToMarker(r,n.markerName)}}}function Wp(t){return(e,n,o)=>{if(n.markerRange.isCollapsed){return}const i=ob(t,n,o);if(!i){return}const r=Dp(o.writer,i);const s=o.mapper.markerNameToElements(n.markerName);if(!s){return}for(const t of s){o.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is(\"attributeElement\")){o.writer.unwrap(o.writer.createRangeOn(t),r)}else{const e=t.getCustomProperty(\"removeHighlight\");e(t,i.id,o.writer)}}o.writer.clearClonedElementsGroup(n.markerName);e.stop()}}function qp(t){const e=Jp(t.model);const n=Xp(t.view,\"container\");if(e.attributes.length){e.children=true}return o=>{o.on(`insert:${e.name}`,Mp(n,sb(e)),{priority:t.converterPriority||\"normal\"});if(e.children||e.attributes.length){o.on(\"reduceChanges\",rb(e),{priority:\"low\"})}}}function Gp(t){const e=Jp(t.model);const n=Xp(t.view,\"container\");e.children=true;return o=>{if(o._conversionApi.schema.checkChild(e.name,\"$text\")){throw new N(\"conversion-element-to-structure-disallowed-text\",o,{elementName:e.name})}o.on(`insert:${e.name}`,Pp(n,sb(e)),{priority:t.converterPriority||\"normal\"});o.on(\"reduceChanges\",rb(e),{priority:\"low\"})}}function $p(t){t=Pf(t);let e=t.model;if(typeof e==\"string\"){e={key:e}}let n=`attribute:${e.key}`;if(e.name){n+=\":\"+e.name}if(e.values){for(const n of e.values){t.view[n]=Xp(t.view[n],\"attribute\")}}else{t.view=Xp(t.view,\"attribute\")}const o=eb(t);return e=>{e.on(n,Bp(o),{priority:t.converterPriority||\"normal\"})}}function Kp(t){t=Pf(t);let e=t.model;if(typeof e==\"string\"){e={key:e}}let n=`attribute:${e.key}`;if(e.name){n+=\":\"+e.name}if(e.values){for(const n of e.values){t.view[n]=nb(t.view[n])}}else{t.view=nb(t.view)}const o=eb(t);return e=>{e.on(n,jp(o),{priority:t.converterPriority||\"normal\"})}}function Yp(t){const e=Xp(t.view,\"ui\");return n=>{n.on(`addMarker:${t.model}`,Np(e),{priority:t.converterPriority||\"normal\"});n.on(`removeMarker:${t.model}`,Lp(),{priority:t.converterPriority||\"normal\"})}}function Qp(t){t=Pf(t);const e=t.model;let n=t.view;if(!n){n=n=>({group:e,name:n.substr(t.model.length+1)})}return o=>{o.on(`addMarker:${e}`,zp(n),{priority:t.converterPriority||\"normal\"});o.on(`removeMarker:${e}`,Fp(n),{priority:t.converterPriority||\"normal\"})}}function Zp(t){return e=>{e.on(`addMarker:${t.model}`,Hp(t.view),{priority:t.converterPriority||\"normal\"});e.on(`addMarker:${t.model}`,Up(t.view),{priority:t.converterPriority||\"normal\"});e.on(`removeMarker:${t.model}`,Wp(t.view),{priority:t.converterPriority||\"normal\"})}}function Jp(t){if(typeof t==\"string\"){t={name:t}}return{name:t.name,attributes:t.attributes?sl(t.attributes):[],children:!!t.children}}function Xp(t,e){if(typeof t==\"function\"){return t}return(n,o)=>tb(t,o,e)}function tb(t,e,n){if(typeof t==\"string\"){t={name:t}}let o;const i=e.writer;const r=Object.assign({},t.attributes);if(n==\"container\"){o=i.createContainerElement(t.name,r)}else if(n==\"attribute\"){const e={priority:t.priority||Fh.DEFAULT_PRIORITY};o=i.createAttributeElement(t.name,r,e)}else{o=i.createUIElement(t.name,r)}if(t.styles){const e=Object.keys(t.styles);for(const n of e){i.setStyle(n,t.styles[n],o)}}if(t.classes){const e=t.classes;if(typeof e==\"string\"){i.addClass(e,o)}else{for(const t of e){i.addClass(t,o)}}}return o}function eb(t){if(t.model.values){return(e,n,o)=>{const i=t.view[e];if(i){return i(e,n,o)}return null}}else{return t.view}}function nb(t){if(typeof t==\"string\"){return e=>({key:t,value:e})}else if(typeof t==\"object\"){if(t.value){return()=>t}else{return e=>({key:t.key,value:e})}}else{return t}}function ob(t,e,n){const o=typeof t==\"function\"?t(e,n):t;if(!o){return null}if(!o.priority){o.priority=10}if(!o.id){o.id=e.markerName}return o}function ib(t){return(e,n)=>{if(!e.is(\"element\",t.name)){return false}if(n.type==\"attribute\"){if(t.attributes.includes(n.attributeKey)){return true}}else{if(t.children){return true}}return false}}function rb(t){const e=ib(t);return(t,n)=>{const o=[];if(!n.reconvertedElements){n.reconvertedElements=new Set}for(const t of n.changes){const i=t.type==\"attribute\"?t.range.start.nodeAfter:t.position.parent;if(!i||!e(i,t)){o.push(t);continue}if(!n.reconvertedElements.has(i)){n.reconvertedElements.add(i);const t=Wf._createBefore(i);let e=o.length;for(let n=o.length-1;n>=0;n--){const i=o[n];const r=i.type==\"attribute\"?i.range.start:i.position;const s=r.compareWith(t);if(s==\"before\"||i.type==\"remove\"&&s==\"same\"){break}e=n}o.splice(e,0,{type:\"remove\",name:i.name,position:t,length:1},{type:\"reinsert\",name:i.name,position:t,length:1})}}n.changes=o}}function sb(t){return(e,n,o={})=>{const i=[\"insert\"];for(const n of t.attributes){if(e.hasAttribute(n)){i.push(`attribute:${n}`)}}if(!i.every((t=>n.test(e,t)))){return false}if(!o.preflight){i.forEach((t=>n.consume(e,t)))}return true}}function ab(t,e,n){return(o,i)=>{const r=o.createContainerElement(\"$slot\");let s=null;if(i===\"children\"){s=Array.from(t.getChildren())}else if(typeof i==\"function\"){s=Array.from(t.getChildren()).filter((t=>i(t)))}else{throw new N(\"conversion-slot-mode-unknown\",n.dispatcher,{modeOrFilter:i})}e.set(r,s);return r}}function cb(t,e,n){const o=Array.from(e.values()).flat();const i=new Set(o);if(i.size!=o.length){throw new N(\"conversion-slot-filter-overlap\",n.dispatcher,{element:t})}if(i.size!=t.childCount){throw new N(\"conversion-slot-filter-incomplete\",n.dispatcher,{element:t})}}function lb(t,e,n,o){n.mapper.on(\"modelToViewPosition\",s,{priority:\"highest\"});let i=null;let r=null;for([i,r]of e){db(t,r,n,o);n.writer.move(n.writer.createRangeIn(i),n.writer.createPositionBefore(i));n.writer.remove(i)}n.mapper.off(\"modelToViewPosition\",s);function s(t,e){const n=e.modelPosition.nodeAfter;const o=r.indexOf(n);if(o<0){return}e.viewPosition=e.mapper.findPositionIn(i,o)}}function db(t,e,n,o){for(const i of e){if(!ub(t.root,i,n,o)){n.convertItem(i)}}}function ub(t,e,n,o){const{writer:i,mapper:r}=n;if(!o.reconversion){return false}const s=r.toViewElement(e);if(!s||s.root==t){return false}if(!n.canReuseView(s)){return false}i.move(i.createRangeOn(s),r.toViewPosition(Wf._createBefore(e)));return true}function hb(t,e,{preflight:n}={}){if(n){return e.test(t,\"insert\")}else{return e.consume(t,\"insert\")}}function mb(t){const{schema:e,document:n}=t.model;for(const o of n.getRoots()){if(o.isEmpty&&!e.checkChild(o,\"$text\")){if(e.checkChild(o,\"paragraph\")){t.insertElement(\"paragraph\",o);return true}}}return false}function gb(t,e,n){const o=n.createContext(t);if(!n.checkChild(o,\"paragraph\")){return false}if(!n.checkChild(o.push(\"paragraph\"),e)){return false}return true}function fb(t,e){const n=e.createElement(\"paragraph\");e.insert(n,t);return e.createPositionAt(n,0)}class pb extends Cp{elementToElement(t){return this.add(Ab(t))}elementToAttribute(t){return this.add(_b(t))}attributeToAttribute(t){return this.add(Cb(t))}elementToMarker(t){return this.add(vb(t))}dataToMarker(t){return this.add(yb(t))}}function bb(){return(t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:true})){const{modelRange:t,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t;e.modelCursor=o}}}function kb(){return(t,e,{schema:n,consumable:o,writer:i})=>{let r=e.modelCursor;if(!o.test(e.viewItem)){return}if(!n.checkChild(r,\"$text\")){if(!gb(r,\"$text\",n)){return}if(e.viewItem.data.trim().length==0){return}const t=r.nodeBefore;r=fb(r,i);if(t&&t.is(\"element\",\"$marker\")){i.move(i.createRangeOn(t),r);r=i.createPositionAfter(t)}}o.consume(e.viewItem);const s=i.createText(e.viewItem.data);i.insert(s,r);e.modelRange=i.createRange(r,r.getShiftedBy(s.offsetSize));e.modelCursor=e.modelRange.end}}function wb(t,e){return(n,o)=>{const i=o.newSelection;const r=[];for(const t of i.getRanges()){r.push(e.toModelRange(t))}const s=t.createSelection(r,{backward:i.isBackward});if(!s.isEqual(t.document.selection)){t.change((t=>{t.setSelection(s)}))}}}function Ab(t){t=Pf(t);const e=Db(t);const n=Eb(t.view);const o=n?`element:${n}`:\"element\";return n=>{n.on(o,e,{priority:t.converterPriority||\"normal\"})}}function _b(t){t=Pf(t);Sb(t);const e=Bb(t,false);const n=Eb(t.view);const o=n?`element:${n}`:\"element\";return n=>{n.on(o,e,{priority:t.converterPriority||\"low\"})}}function Cb(t){t=Pf(t);let e=null;if(typeof t.view==\"string\"||t.view.key){e=Tb(t)}Sb(t,e);const n=Bb(t,true);return e=>{e.on(\"element\",n,{priority:t.converterPriority||\"low\"})}}function vb(t){const e=Nb(t.model);return Ab({...t,model:e})}function yb(t){t=Pf(t);if(!t.model){t.model=e=>e?t.view+\":\"+e:t.view}const e={view:t.view,model:t.model};const n=Db(Lb(e,\"start\"));const o=Db(Lb(e,\"end\"));return i=>{i.on(`element:${t.view}-start`,n,{priority:t.converterPriority||\"normal\"});i.on(`element:${t.view}-end`,o,{priority:t.converterPriority||\"normal\"});const r=B.low;const s=B.highest;const a=B.get(t.converterPriority)/s;i.on(\"element\",xb(e),{priority:r+a})}}function xb(t){return(e,n,o)=>{const i=`data-${t.view}`;if(!o.consumable.test(n.viewItem,{attributes:i+\"-end-after\"})&&!o.consumable.test(n.viewItem,{attributes:i+\"-start-after\"})&&!o.consumable.test(n.viewItem,{attributes:i+\"-end-before\"})&&!o.consumable.test(n.viewItem,{attributes:i+\"-start-before\"})){return}if(!n.modelRange){Object.assign(n,o.convertChildren(n.viewItem,n.modelCursor))}if(o.consumable.consume(n.viewItem,{attributes:i+\"-end-after\"})){r(n.modelRange.end,n.viewItem.getAttribute(i+\"-end-after\").split(\",\"))}if(o.consumable.consume(n.viewItem,{attributes:i+\"-start-after\"})){r(n.modelRange.end,n.viewItem.getAttribute(i+\"-start-after\").split(\",\"))}if(o.consumable.consume(n.viewItem,{attributes:i+\"-end-before\"})){r(n.modelRange.start,n.viewItem.getAttribute(i+\"-end-before\").split(\",\"))}if(o.consumable.consume(n.viewItem,{attributes:i+\"-start-before\"})){r(n.modelRange.start,n.viewItem.getAttribute(i+\"-start-before\").split(\",\"))}function r(e,i){for(const r of i){const i=t.model(r,o);const s=o.writer.createElement(\"$marker\",{\"data-name\":i});o.writer.insert(s,e);if(n.modelCursor.isEqual(e)){n.modelCursor=n.modelCursor.getShiftedBy(1)}else{n.modelCursor=n.modelCursor._getTransformedByInsertion(e,1)}n.modelRange=n.modelRange._getTransformedByInsertion(e,1)[0]}}}}function Eb(t){if(typeof t==\"string\"){return t}if(typeof t==\"object\"&&typeof t.name==\"string\"){return t.name}return null}function Db(t){const e=new iu(t.view);return(n,o,i)=>{const r=e.match(o.viewItem);if(!r){return}const s=r.match;s.name=true;if(!i.consumable.test(o.viewItem,s)){return}const a=Ib(t.model,o.viewItem,i);if(!a){return}if(!i.safeInsert(a,o.modelCursor)){return}i.consumable.consume(o.viewItem,s);i.convertChildren(o.viewItem,a);i.updateConversionResult(a,o)}}function Ib(t,e,n){if(t instanceof Function){return t(e,n)}else{return n.writer.createElement(t)}}function Tb(t){if(typeof t.view==\"string\"){t.view={key:t.view}}const e=t.view.key;const n=typeof t.view.value==\"undefined\"?/[\\s\\S]*/:t.view.value;let o;if(e==\"class\"||e==\"style\"){const t=e==\"class\"?\"classes\":\"styles\";o={[t]:n}}else{o={attributes:{[e]:n}}}if(t.view.name){o.name=t.view.name}t.view=o;return e}function Sb(t,e=null){const n=e===null?true:t=>t.getAttribute(e);const o=typeof t.model!=\"object\"?t.model:t.model.key;const i=typeof t.model!=\"object\"||typeof t.model.value==\"undefined\"?n:t.model.value;t.model={key:o,value:i}}function Bb(t,e){const n=new iu(t.view);return(o,i,r)=>{if(!i.modelRange&&e){return}const s=n.match(i.viewItem);if(!s){return}if(Mb(t.view,i.viewItem)){s.match.name=true}else{delete s.match.name}if(!r.consumable.test(i.viewItem,s.match)){return}const a=t.model.key;const c=typeof t.model.value==\"function\"?t.model.value(i.viewItem,r):t.model.value;if(c===null){return}if(!i.modelRange){Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor))}const l=Pb(i.modelRange,{key:a,value:c},e,r);if(l){if(r.consumable.test(i.viewItem,{name:true})){s.match.name=true}r.consumable.consume(i.viewItem,s.match)}}}function Mb(t,e){const n=typeof t==\"function\"?t(e):t;if(typeof n==\"object\"&&!Eb(n)){return false}return!n.classes&&!n.attributes&&!n.styles}function Pb(t,e,n,o){let i=false;for(const r of Array.from(t.getItems({shallow:n}))){if(!o.schema.checkAttribute(r,e.key)){continue}i=true;if(r.hasAttribute(e.key)){continue}o.writer.setAttribute(e.key,e.value,r)}return i}function Nb(t){return(e,n)=>{const o=typeof t==\"string\"?t:t(e,n);return n.writer.createElement(\"$marker\",{\"data-name\":o})}}function Lb(t,e){const n=(e,n)=>{const o=e.getAttribute(\"name\");const i=t.model(o,n);return n.writer.createElement(\"$marker\",{\"data-name\":i})};return{view:`${t.view}-${e}`,model:n}}function zb(t){t.document.registerPostFixer((e=>Ob(e,t)))}function Ob(t,e){const n=e.document.selection;const o=e.schema;const i=[];let r=false;for(const t of n.getRanges()){const e=Rb(t,o);if(e&&!e.isEqual(t)){i.push(e);r=true}else{i.push(t)}}if(r){t.setSelection(Ub(i),{backward:n.isBackward})}return false}function Rb(t,e){if(t.isCollapsed){return Vb(t,e)}return Fb(t,e)}function Vb(t,e){const n=t.start;const o=e.getNearestSelectionRange(n);if(!o){const t=n.getAncestors().reverse().find((t=>e.isObject(t)));if(t){return Zf._createOn(t)}return null}if(!o.isCollapsed){return o}const i=o.start;if(n.isEqual(i)){return null}return new Zf(i)}function Fb(t,e){const{start:n,end:o}=t;const i=e.checkChild(n,\"$text\");const r=e.checkChild(o,\"$text\");const s=e.getLimitElement(n);const a=e.getLimitElement(o);if(s===a){if(i&&r){return null}if(Hb(n,o,e)){const t=n.nodeAfter&&e.isSelectable(n.nodeAfter);const i=t?null:e.getNearestSelectionRange(n,\"forward\");const r=o.nodeBefore&&e.isSelectable(o.nodeBefore);const s=r?null:e.getNearestSelectionRange(o,\"backward\");const a=i?i.start:n;const c=s?s.end:o;return new Zf(a,c)}}const c=s&&!s.is(\"rootElement\");const l=a&&!a.is(\"rootElement\");if(c||l){const t=n.nodeAfter&&o.nodeBefore&&n.nodeAfter.parent===o.nodeBefore.parent;const i=c&&(!t||!Wb(n.nodeAfter,e));const r=l&&(!t||!Wb(o.nodeBefore,e));let d=n;let u=o;if(i){d=Wf._createBefore(jb(s,e))}if(r){u=Wf._createAfter(jb(a,e))}return new Zf(d,u)}return null}function jb(t,e){let n=t;let o=n;while(e.isLimit(o)&&o.parent){n=o;o=o.parent}return n}function Hb(t,e,n){const o=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,\"$text\");const i=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,\"$text\");return o||i}function Ub(t){const e=[...t];const n=new Set;let o=1;while(o!n.has(e)));return i}function Wb(t,e){return t&&e.isSelectable(t)}class qb extends(mt()){constructor(t,e){super();this.model=t;this.view=new Nf(e);this.mapper=new Jf;this.downcastDispatcher=new ep({mapper:this.mapper,schema:t.schema});const n=this.model.document;const o=n.selection;const i=this.model.markers;this.listenTo(this.model,\"_beforeChanges\",(()=>{this.view._disableRendering(true)}),{priority:\"highest\"});this.listenTo(this.model,\"_afterChanges\",(()=>{this.view._disableRendering(false)}),{priority:\"lowest\"});this.listenTo(n,\"change\",(()=>{this.view.change((t=>{this.downcastDispatcher.convertChanges(n.differ,i,t);this.downcastDispatcher.convertSelection(o,i,t)}))}),{priority:\"low\"});this.listenTo(this.view.document,\"selectionChange\",wb(this.model,this.mapper));this.listenTo(this.view.document,\"beforeinput\",Gb(this.mapper,this.model.schema,this.view),{priority:\"high\"});this.downcastDispatcher.on(\"insert:$text\",yp(),{priority:\"lowest\"});this.downcastDispatcher.on(\"insert\",xp(),{priority:\"lowest\"});this.downcastDispatcher.on(\"remove\",Ep(),{priority:\"low\"});this.downcastDispatcher.on(\"cleanSelection\",Sp());this.downcastDispatcher.on(\"selection\",Ip(),{priority:\"low\"});this.downcastDispatcher.on(\"selection\",Tp(),{priority:\"low\"});this.view.document.roots.bindTo(this.model.document.roots).using((t=>{if(t.rootName==\"$graveyard\"){return null}const e=new Ch(this.view.document,t.name);e.rootName=t.rootName;this.mapper.bindElements(t,e);return e}))}destroy(){this.view.destroy();this.stopListening()}reconvertMarker(t){const e=typeof t==\"string\"?t:t.name;const n=this.model.markers.get(e);if(!n){throw new N(\"editingcontroller-reconvertmarker-marker-not-exist\",this,{markerName:e})}this.model.change((()=>{this.model.markers._refresh(n)}))}reconvertItem(t){this.model.change((()=>{this.model.document.differ._refreshItem(t)}))}}function Gb(t,e,n){return(o,i)=>{if(n.document.isComposing&&!l.isAndroid){return}for(let n=0;n{e[0]=new Zb(e[0])}),{priority:\"highest\"});this.on(\"checkChild\",((t,e)=>{e[0]=new Zb(e[0]);e[1]=this.getDefinition(e[1])}),{priority:\"highest\"})}register(t,e){if(this._sourceDefinitions[t]){throw new N(\"schema-cannot-register-item-twice\",this,{itemName:t})}this._sourceDefinitions[t]=[Object.assign({},e)];this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t]){throw new N(\"schema-cannot-extend-missing-item\",this,{itemName:t})}this._sourceDefinitions[t].push(Object.assign({},e));this._clearCache()}getDefinitions(){if(!this._compiledDefinitions){this._compile()}return this._compiledDefinitions}getDefinition(t){let e;if(typeof t==\"string\"){e=t}else if(\"is\"in t&&(t.is(\"$text\")||t.is(\"$textProxy\"))){e=\"$text\"}else{e=t.name}return this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!!(e&&e.isBlock)}isLimit(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isLimit||e.isObject)}isObject(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!!(e&&e.isInline)}isSelectable(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isSelectable||e.isObject)}isContent(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isContent||e.isObject)}checkChild(t,e){if(!e){return false}return this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);if(!n){return false}return n.allowAttributes.includes(e)}checkMerge(t,e){if(t instanceof Wf){const e=t.nodeBefore;const n=t.nodeAfter;if(!(e instanceof Ff)){throw new N(\"schema-check-merge-no-element-before\",this)}if(!(n instanceof Ff)){throw new N(\"schema-check-merge-no-element-after\",this)}return this.checkMerge(e,n)}for(const n of e.getChildren()){if(!this.checkChild(t,n)){return false}}return true}addChildCheck(t){this.on(\"checkChild\",((e,[n,o])=>{if(!o){return}const i=t(n,o);if(typeof i==\"boolean\"){e.stop();e.return=i}}),{priority:\"high\"})}addAttributeCheck(t){this.on(\"checkAttribute\",((e,[n,o])=>{const i=t(n,o);if(typeof i==\"boolean\"){e.stop();e.return=i}}),{priority:\"high\"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof Wf){e=t.parent}else{const n=t instanceof Zf?[t]:Array.from(t.getRanges());e=n.reduce(((t,e)=>{const n=e.getCommonAncestor();if(!t){return n}return t.getCommonAncestor(n,{includeSelf:true})}),null)}while(!this.isLimit(e)){if(e.parent){e=e.parent}else{break}}return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=t.getFirstPosition();const o=[...n.getAncestors(),new Rf(\"\",t.getAttributes())];return this.checkAttribute(o,e)}else{const n=t.getRanges();for(const t of n){for(const n of t){if(this.checkAttribute(n.item,e)){return true}}}}return false}*getValidRanges(t,e){t=gk(t);for(const n of t){yield*this._getValidRangesForRange(n,e)}}getNearestSelectionRange(t,e=\"both\"){if(t.root.rootName==\"$graveyard\"){return null}if(this.checkChild(t,\"$text\")){return new Zf(t)}let n,o;const i=t.getAncestors().reverse().find((t=>this.isLimit(t)))||t.root;if(e==\"both\"||e==\"backward\"){n=new Hf({boundaries:Zf._createIn(i),startPosition:t,direction:\"backward\"})}if(e==\"both\"||e==\"forward\"){o=new Hf({boundaries:Zf._createIn(i),startPosition:t})}for(const t of mk(n,o)){const e=t.walker==n?\"elementEnd\":\"elementStart\";const o=t.value;if(o.type==e&&this.isObject(o.item)){return Zf._createOn(o.item)}if(this.checkChild(o.nextPosition,\"$text\")){return new Zf(o.nextPosition)}}return null}findAllowedParent(t,e){let n=t.parent;while(n){if(this.checkChild(n,e)){return n}if(this.isLimit(n)){return null}n=n.parent}return null}setAllowedAttributes(t,e,n){const o=n.model;for(const[i,r]of Object.entries(e)){if(o.schema.checkAttribute(t,i)){n.setAttribute(i,r,t)}}}removeDisallowedAttributes(t,e){for(const n of t){if(n.is(\"$text\")){fk(this,n,e)}else{const t=Zf._createIn(n);const o=t.getPositions();for(const t of o){const n=t.nodeBefore||t.parent;fk(this,n,e)}}}}getAttributesWithProperty(t,e,n){const o={};for(const[i,r]of t.getAttributes()){const t=this.getAttributeProperties(i);if(t[e]===undefined){continue}if(n===undefined||n===t[e]){o[i]=r}}return o}createContext(t){return new Zb(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={};const e=this._sourceDefinitions;const n=Object.keys(e);for(const o of n){t[o]=Jb(e[o],o)}for(const e of n){Xb(t,e)}for(const e of n){tk(t,e)}for(const e of n){ek(t,e)}for(const e of n){nk(t,e);ok(t,e)}for(const e of n){ik(t,e);rk(t,e);sk(t,e)}this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const o=e.getItem(n);if(t.allowIn.includes(o.name)){if(n==0){return true}else{const t=this.getDefinition(o);return this._checkContextMatch(t,e,n-1)}}else{return false}}*_getValidRangesForRange(t,e){let n=t.start;let o=t.start;for(const i of t.getItems({shallow:true})){if(i.is(\"element\")){yield*this._getValidRangesForRange(Zf._createIn(i),e)}if(!this.checkAttribute(i,e)){if(!n.isEqual(o)){yield new Zf(n,o)}n=Wf._createAfter(i)}o=Wf._createAfter(i)}if(!n.isEqual(o)){yield new Zf(n,o)}}findOptimalInsertionRange(t,e){const n=t.getSelectedElement();if(n&&this.isObject(n)&&!this.isInline(n)){if(e==\"before\"||e==\"after\"){return new Zf(Wf._createAt(n,e))}return Zf._createOn(n)}const o=sd(t.getSelectedBlocks());if(!o){return new Zf(t.focus)}if(o.isEmpty){return new Zf(Wf._createAt(o,0))}const i=Wf._createAfter(o);if(t.focus.isTouching(i)){return new Zf(i)}return new Zf(Wf._createBefore(o))}}class Zb{constructor(t){if(t instanceof Zb){return t}let e;if(typeof t==\"string\"){e=[t]}else if(!Array.isArray(t)){e=t.getAncestors({includeSelf:true})}else{e=t}this._items=e.map(hk)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new Zb([t]);e._items=[...this._items,...e._items];return e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map((t=>t.name))}endsWith(t){return Array.from(this.getNames()).join(\" \").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(\" \").startsWith(t)}}function Jb(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};ak(t,n);ck(t,n,\"allowIn\");ck(t,n,\"allowContentOf\");ck(t,n,\"allowWhere\");ck(t,n,\"allowAttributes\");ck(t,n,\"allowAttributesOf\");ck(t,n,\"allowChildren\");ck(t,n,\"inheritTypesFrom\");lk(t,n);return n}function Xb(t,e){const n=t[e];for(const o of n.allowChildren){const n=t[o];if(!n){continue}n.allowIn.push(e)}n.allowChildren.length=0}function tk(t,e){for(const n of t[e].allowContentOf){if(t[n]){const o=dk(t,n);o.forEach((t=>{t.allowIn.push(e)}))}}delete t[e].allowContentOf}function ek(t,e){for(const n of t[e].allowWhere){const o=t[n];if(o){const n=o.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function nk(t,e){for(const n of t[e].allowAttributesOf){const o=t[n];if(o){const n=o.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function ok(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const o=t[e];if(o){const t=Object.keys(o).filter((t=>t.startsWith(\"is\")));for(const e of t){if(!(e in n)){n[e]=o[e]}}}}delete n.inheritTypesFrom}function ik(t,e){const n=t[e];const o=n.allowIn.filter((e=>t[e]));n.allowIn=Array.from(new Set(o))}function rk(t,e){const n=t[e];for(const o of n.allowIn){const n=t[o];n.allowChildren.push(e)}}function sk(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function ak(t,e){for(const n of t){const t=Object.keys(n).filter((t=>t.startsWith(\"is\")));for(const o of t){e[o]=!!n[o]}}}function ck(t,e,n){for(const o of t){const t=o[n];if(typeof t==\"string\"){e[n].push(t)}else if(Array.isArray(t)){e[n].push(...t)}}}function lk(t,e){for(const n of t){const t=n.inheritAllFrom;if(t){e.allowContentOf.push(t);e.allowWhere.push(t);e.allowAttributesOf.push(t);e.inheritTypesFrom.push(t)}}}function dk(t,e){const n=t[e];return uk(t).filter((t=>t.allowIn.includes(n.name)))}function uk(t){return Object.keys(t).map((e=>t[e]))}function hk(t){if(typeof t==\"string\"||t.is(\"documentFragment\")){return{name:typeof t==\"string\"?t:\"$documentFragment\",*getAttributeKeys(){},getAttribute(){}}}else{return{name:t.is(\"element\")?t.name:\"$text\",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute(e){return t.getAttribute(e)}}}}function*mk(t,e){let n=false;while(!n){n=true;if(t){const e=t.next();if(!e.done){n=false;yield{walker:t,value:e.value}}}if(e){const t=e.next();if(!t.done){n=false;yield{walker:e,value:t.value}}}}}function*gk(t){for(const e of t){yield*e.getMinimalFlatRanges()}}function fk(t,e,n){for(const o of e.getAttributeKeys()){if(!t.checkAttribute(e,o)){n.removeAttribute(o,e)}}}class pk extends($()){constructor(t){super();this._splitParts=new Map;this._cursorParents=new Map;this._modelCursor=null;this._emptyElementsToKeep=new Set;this.conversionApi={...t,consumable:null,writer:null,store:null,convertItem:(t,e)=>this._convertItem(t,e),convertChildren:(t,e)=>this._convertChildren(t,e),safeInsert:(t,e)=>this._safeInsert(t,e),updateConversionResult:(t,e)=>this._updateConversionResult(t,e),splitToAllowedParent:(t,e)=>this._splitToAllowedParent(t,e),getSplitParts:t=>this._getSplitParts(t),keepEmptyElement:t=>this._keepEmptyElement(t)}}convert(t,e,n=[\"$root\"]){this.fire(\"viewCleanup\",t);this._modelCursor=kk(n,e);this.conversionApi.writer=e;this.conversionApi.consumable=$b.createFrom(t);this.conversionApi.store={};const{modelRange:o}=this._convertItem(t,this._modelCursor);const i=e.createDocumentFragment();if(o){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren())){e.append(t,i)}i.markers=bk(i,e)}this._modelCursor=null;this._splitParts.clear();this._cursorParents.clear();this._emptyElementsToKeep.clear();this.conversionApi.writer=null;this.conversionApi.store=null;return i}_convertItem(t,e){const n={viewItem:t,modelCursor:e,modelRange:null};if(t.is(\"element\")){this.fire(`element:${t.name}`,n,this.conversionApi)}else if(t.is(\"$text\")){this.fire(\"text\",n,this.conversionApi)}else{this.fire(\"documentFragment\",n,this.conversionApi)}if(n.modelRange&&!(n.modelRange instanceof Zf)){throw new N(\"view-conversion-dispatcher-incorrect-result\",this)}return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is(\"position\")?e:Wf._createAt(e,0);const o=new Zf(n);for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,n);if(t.modelRange instanceof Zf){o.end=t.modelRange.end;n=t.modelCursor}}return{modelRange:o,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);if(!n){return false}this.conversionApi.writer.insert(t,n.position);return true}_updateConversionResult(t,e){const n=this._getSplitParts(t);const o=this.conversionApi.writer;if(!e.modelRange){e.modelRange=o.createRange(o.createPositionBefore(t),o.createPositionAfter(n[n.length-1]))}const i=this._cursorParents.get(t);if(i){e.modelCursor=o.createPositionAt(i,0)}else{e.modelCursor=e.modelRange.end}}_splitToAllowedParent(t,e){const{schema:n,writer:o}=this.conversionApi;let i=n.findAllowedParent(e,t);if(i){if(i===e.parent){return{position:e}}if(this._modelCursor.parent.getAncestors().includes(i)){i=null}}if(!i){if(!gb(e,t,n)){return null}return{position:fb(e,o)}}const r=this.conversionApi.writer.split(e,i);const s=[];for(const t of r.range.getWalker()){if(t.type==\"elementEnd\"){s.push(t.item)}else{const e=s.pop();const n=t.item;this._registerSplitPair(e,n)}}const a=r.range.end.parent;this._cursorParents.set(t,a);return{position:r.position,cursorParent:a}}_registerSplitPair(t,e){if(!this._splitParts.has(t)){this._splitParts.set(t,[t])}const n=this._splitParts.get(t);this._splitParts.set(e,n);n.push(e)}_getSplitParts(t){let e;if(!this._splitParts.has(t)){e=[t]}else{e=this._splitParts.get(t)}return e}_keepEmptyElement(t){this._emptyElementsToKeep.add(t)}_removeEmptyElements(){let t=false;for(const e of this._splitParts.keys()){if(e.isEmpty&&!this._emptyElementsToKeep.has(e)){this.conversionApi.writer.remove(e);this._splitParts.delete(e);t=true}}if(t){this._removeEmptyElements()}}}function bk(t,e){const n=new Set;const o=new Map;const i=Zf._createIn(t).getItems();for(const t of i){if(t.is(\"element\",\"$marker\")){n.add(t)}}for(const t of n){const n=t.getAttribute(\"data-name\");const i=e.createPositionBefore(t);if(!o.has(n)){o.set(n,new Zf(i.clone()))}else{o.get(n).end=i.clone()}e.remove(t)}return o}function kk(t,e){let n;for(const o of new Zb(t)){const t={};for(const e of o.getAttributeKeys()){t[e]=o.getAttribute(e)}const i=e.createElement(o.name,t);if(n){e.insert(i,n)}n=Wf._createAt(i,0)}return n}class wk{getHtml(t){const e=oc.document.implementation.createHTMLDocument(\"\");const n=e.createElement(\"div\");n.appendChild(t);return n.innerHTML}}class Ak{constructor(t){this.skipComments=true;this.domParser=new DOMParser;this.domConverter=new Fm(t,{renderingMode:\"data\"});this.htmlWriter=new wk}toData(t){const e=this.domConverter.viewToDom(t);return this.htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this.domConverter.domToView(e,{skipComments:this.skipComments})}registerRawContentMatcher(t){this.domConverter.registerRawContentMatcher(t)}useFillerType(t){this.domConverter.blockFillerMode=t==\"marked\"?\"markedNbsp\":\"nbsp\"}_toDom(t){if(!t.match(/<(?:html|body|head|meta)(?:\\s[^>]*)?>/i)){t=`${t}`}const e=this.domParser.parseFromString(t,\"text/html\");const n=e.createDocumentFragment();const o=e.body.childNodes;while(o.length>0){n.appendChild(o[0])}return n}}class _k extends($()){constructor(t,e){super();this.model=t;this.mapper=new Jf;this.downcastDispatcher=new ep({mapper:this.mapper,schema:t.schema});this.downcastDispatcher.on(\"insert:$text\",yp(),{priority:\"lowest\"});this.downcastDispatcher.on(\"insert\",xp(),{priority:\"lowest\"});this.upcastDispatcher=new pk({schema:t.schema});this.viewDocument=new Oh(e);this.stylesProcessor=e;this.htmlProcessor=new Ak(this.viewDocument);this.processor=this.htmlProcessor;this._viewWriter=new Xh(this.viewDocument);this.upcastDispatcher.on(\"text\",kb(),{priority:\"lowest\"});this.upcastDispatcher.on(\"element\",bb(),{priority:\"lowest\"});this.upcastDispatcher.on(\"documentFragment\",bb(),{priority:\"lowest\"});mt().prototype.decorate.call(this,\"init\");mt().prototype.decorate.call(this,\"set\");mt().prototype.decorate.call(this,\"get\");mt().prototype.decorate.call(this,\"toView\");mt().prototype.decorate.call(this,\"toModel\");this.on(\"init\",(()=>{this.fire(\"ready\")}),{priority:\"lowest\"});this.on(\"ready\",(()=>{this.model.enqueueChange({isUndoable:false},mb)}),{priority:\"lowest\"})}get(t={}){const{rootName:e=\"main\",trim:n=\"empty\"}=t;if(!this._checkIfRootsExists([e])){throw new N(\"datacontroller-get-non-existent-root\",this)}const o=this.model.document.getRoot(e);if(!o.isAttached()){L(\"datacontroller-get-detached-root\",this)}if(n===\"empty\"&&!this.model.hasContent(o,{ignoreWhitespaces:true})){return\"\"}return this.stringify(o,t)}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument;const o=this._viewWriter;this.mapper.clearBindings();const i=Zf._createIn(t);const r=new Zh(n);this.mapper.bindElements(t,r);const s=t.is(\"documentFragment\")?t.markers:Ck(t);this.downcastDispatcher.convert(i,s,o,e);return r}init(t){if(this.model.document.version){throw new N(\"datacontroller-init-document-not-empty\",this)}let e={};if(typeof t===\"string\"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new N(\"datacontroller-init-non-existent-root\",this)}this.model.enqueueChange({isUndoable:false},(t=>{for(const n of Object.keys(e)){const o=this.model.document.getRoot(n);t.insert(this.parse(e[n],o),o,0)}}));return Promise.resolve()}set(t,e={}){let n={};if(typeof t===\"string\"){n.main=t}else{n=t}if(!this._checkIfRootsExists(Object.keys(n))){throw new N(\"datacontroller-set-non-existent-root\",this)}this.model.enqueueChange(e.batchType||{},(t=>{t.setSelection(null);t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const e of Object.keys(n)){const o=this.model.document.getRoot(e);t.remove(t.createRangeIn(o));t.insert(this.parse(n[e],o),o,0)}}))}parse(t,e=\"$root\"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e=\"$root\"){return this.model.change((n=>this.upcastDispatcher.convert(t,n,e)))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){if(this.processor&&this.processor!==this.htmlProcessor){this.processor.registerRawContentMatcher(t)}this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t){if(!this.model.document.getRoot(e)){return false}}return true}}function Ck(t){const e=[];const n=t.root.document;if(!n){return new Map}const o=Zf._createIn(t);for(const t of n.model.markers){const n=t.getRange();const i=n.isCollapsed;const r=n.start.isEqual(o.start)||n.end.isEqual(o.end);if(i&&r){e.push([t.name,n])}else{const i=o.getIntersection(n);if(i){e.push([t.name,i])}}}e.sort((([t,e],[n,o])=>{if(e.end.compareWith(o.start)!==\"after\"){return 1}else if(e.start.compareWith(o.end)!==\"before\"){return-1}else{switch(e.start.compareWith(o.start)){case\"before\":return 1;case\"after\":return-1;default:switch(e.end.compareWith(o.end)){case\"before\":return 1;case\"after\":return-1;default:return n.localeCompare(t)}}}}));return new Map(e)}class vk{constructor(t,e){this._helpers=new Map;this._downcast=sl(t);this._createConversionHelpers({name:\"downcast\",dispatchers:this._downcast,isDowncast:true});this._upcast=sl(e);this._createConversionHelpers({name:\"upcast\",dispatchers:this._upcast,isDowncast:false})}addAlias(t,e){const n=this._downcast.includes(e);const o=this._upcast.includes(e);if(!o&&!n){throw new N(\"conversion-add-alias-dispatcher-not-registered\",this)}this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t)){throw new N(\"conversion-for-unknown-group\",this)}return this._helpers.get(t)}elementToElement(t){this.for(\"downcast\").elementToElement(t);for(const{model:e,view:n}of yk(t)){this.for(\"upcast\").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}}attributeToElement(t){this.for(\"downcast\").attributeToElement(t);for(const{model:e,view:n}of yk(t)){this.for(\"upcast\").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}}attributeToAttribute(t){this.for(\"downcast\").attributeToAttribute(t);for(const{model:e,view:n}of yk(t)){this.for(\"upcast\").attributeToAttribute({view:n,model:e})}}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t)){throw new N(\"conversion-group-exists\",this)}const o=n?new vp(e):new pb(e);this._helpers.set(t,o)}}function*yk(t){if(t.model.values){for(const e of t.model.values){const n={key:t.model.key,value:e};const o=t.view[e];const i=t.upcastAlso?t.upcastAlso[e]:undefined;yield*xk(n,o,i)}}else{yield*xk(t.model,t.view,t.upcastAlso)}}function*xk(t,e,n){yield{model:t,view:e};if(n){for(const e of sl(n)){yield{model:t,view:e}}}}class Ek{constructor(t){this.baseVersion=t;this.isDocumentOperation=this.baseVersion!==null;this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);t.__className=this.constructor.className;delete t.batch;delete t.isDocumentOperation;return t}static get className(){return\"Operation\"}static fromJSON(t,e){return new this(t.baseVersion)}}function Dk(t,e){const n=Bk(e);const o=n.reduce(((t,e)=>t+e.offsetSize),0);const i=t.parent;Pk(t);const r=t.index;i._insertChild(r,n);Mk(i,r+n.length);Mk(i,r);return new Zf(t,t.getShiftedBy(o))}function Ik(t){if(!t.isFlat){throw new N(\"operation-utils-remove-range-not-flat\",this)}const e=t.start.parent;Pk(t.start);Pk(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);Mk(e,t.start.index);return n}function Tk(t,e){if(!t.isFlat){throw new N(\"operation-utils-move-range-not-flat\",this)}const n=Ik(t);e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset);return Dk(e,n)}function Sk(t,e,n){Pk(t.start);Pk(t.end);for(const o of t.getItems({shallow:true})){const t=o.is(\"$textProxy\")?o.textNode:o;if(n!==null){t._setAttribute(e,n)}else{t._removeAttribute(e)}Mk(t.parent,t.index)}Mk(t.end.parent,t.end.index)}function Bk(t){const e=[];function n(t){if(typeof t==\"string\"){e.push(new Rf(t))}else if(t instanceof Vf){e.push(new Rf(t.data,t.getAttributes()))}else if(t instanceof zf){e.push(t)}else if(It(t)){for(const e of t){n(e)}}else{const e=t}}n(t);for(let t=1;tt.maxOffset){throw new N(\"move-operation-nodes-do-not-exist\",this)}else if(t===e&&n=n&&this.targetPosition.path[t]t._clone(true))));const e=new zk(this.position,t,this.baseVersion);e.shouldReceiveAttributes=this.shouldReceiveAttributes;return e}getReversed(){const t=this.position.root.document.graveyard;const e=new Wf(t,[0]);return new Lk(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsett._clone(true))));Dk(this.position,t)}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();t.nodes=this.nodes.toJSON();return t}static get className(){return\"InsertOperation\"}static fromJSON(t,e){const n=[];for(const e of t.nodes){if(e.name){n.push(Ff.fromJSON(e))}else{n.push(Rf.fromJSON(e))}}const o=new zk(Wf.fromJSON(t.position,e),n,t.baseVersion);o.shouldReceiveAttributes=t.shouldReceiveAttributes;return o}}class Ok extends Ek{constructor(t,e,n,o,i){super(i);this.splitPosition=t.clone();this.splitPosition.stickiness=\"toNext\";this.howMany=e;this.insertionPosition=n;this.graveyardPosition=o?o.clone():null;if(this.graveyardPosition){this.graveyardPosition.stickiness=\"toNext\"}}get type(){return\"split\"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();t.push(0);return new Wf(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Zf(this.splitPosition,t)}get affectedSelectable(){const t=[Zf._createFromPositionAndShift(this.splitPosition,0),Zf._createFromPositionAndShift(this.insertionPosition,0)];if(this.graveyardPosition){t.push(Zf._createFromPositionAndShift(this.graveyardPosition,0))}return t}clone(){return new Ok(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard;const e=new Wf(t,[0]);return new Rk(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent;const e=this.splitPosition.offset;if(!t||t.maxOffset0){if(t.sourcePosition.isEqual(e.sourcePosition.getShiftedBy(e.howMany))){this._setRelation(t,e,\"mergeSourceAffected\")}if(t.targetPosition.isEqual(e.sourcePosition)){this._setRelation(t,e,\"mergeTargetWasBefore\")}}}else if(t instanceof Vk){const n=t.newRange;if(!n){return}if(e instanceof Lk){const o=Zf._createFromPositionAndShift(e.sourcePosition,e.howMany);const i=o.containsPosition(n.start)||o.start.isEqual(n.start);const r=o.containsPosition(n.end)||o.end.isEqual(n.end);if((i||r)&&!o.containsRange(n)){this._setRelation(t,e,{side:i?\"left\":\"right\",path:i?n.start.path.slice():n.end.path.slice()})}}else if(e instanceof Rk){const o=n.start.isEqual(e.targetPosition);const i=n.start.isEqual(e.deletionPosition);const r=n.end.isEqual(e.deletionPosition);const s=n.end.isEqual(e.sourcePosition);if(o||i||r||s){this._setRelation(t,e,{wasInLeftElement:o,wasStartBeforeMergedElement:i,wasEndBeforeMergedElement:r,wasInRightElement:s})}}}}getContext(t,e,n){return{aIsStrong:n,aWasUndone:this._wasUndone(t),bWasUndone:this._wasUndone(e),abRelation:this._useRelations?this._getRelation(t,e):null,baRelation:this._useRelations?this._getRelation(e,t):null,forceWeakRemove:this._forceWeakRemove}}_wasUndone(t){const e=this.originalOperations.get(t);return e.wasUndone||this._history.isUndoneOperation(e)}_getRelation(t,e){const n=this.originalOperations.get(e);const o=this._history.getUndoneOperation(n);if(!o){return null}const i=this.originalOperations.get(t);const r=this._relations.get(i);if(r){return r.get(o)||null}return null}_setRelation(t,e,n){const o=this.originalOperations.get(t);const i=this.originalOperations.get(e);let r=this._relations.get(o);if(!r){r=new Map;this._relations.set(o,r)}r.set(i,n)}}function nw(t,e){for(const n of t){n.baseVersion=e++}}function ow(t,e){for(let n=0;n{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const o=t.range.getDifference(e.range).map((e=>new Hk(e,t.key,t.oldValue,t.newValue,0)));const i=t.range.getIntersection(e.range);if(i){if(n.aIsStrong){o.push(new Hk(i,e.key,e.newValue,t.newValue,0))}}if(o.length==0){return[new Uk(0)]}return o}else{return[t]}}));Qk(Hk,zk,((t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes);const o=n.map((e=>new Hk(e,t.key,t.oldValue,t.newValue,t.baseVersion)));if(e.shouldReceiveAttributes){const n=iw(e,t.key,t.oldValue);if(n){o.unshift(n)}}return o}t.range=t.range._getTransformedByInsertion(e.position,e.howMany,false)[0];return[t]}));function iw(t,e,n){const o=t.nodes;const i=o.getNode(0).getAttribute(e);if(i==n){return null}const r=new Zf(t.position,t.position.getShiftedBy(t.howMany));return new Hk(r,e,i,n,0)}Qk(Hk,Rk,((t,e)=>{const n=[];if(t.range.start.hasSameParentAs(e.deletionPosition)){if(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition)){n.push(Zf._createFromPositionAndShift(e.graveyardPosition,1))}}const o=t.range._getTransformedByMergeOperation(e);if(!o.isCollapsed){n.push(o)}return n.map((e=>new Hk(e,t.key,t.oldValue,t.newValue,t.baseVersion)))}));Qk(Hk,Lk,((t,e)=>{const n=rw(t.range,e);return n.map((e=>new Hk(e,t.key,t.oldValue,t.newValue,t.baseVersion)))}));function rw(t,e){const n=Zf._createFromPositionAndShift(e.sourcePosition,e.howMany);let o=null;let i=[];if(n.containsRange(t,true)){o=t}else if(t.start.hasSameParentAs(n.start)){i=t.getDifference(n);o=t.getIntersection(n)}else{i=[t]}const r=[];for(let t of i){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart();const o=t.start.hasSameParentAs(n);const i=t._getTransformedByInsertion(n,e.howMany,o);r.push(...i)}if(o){r.push(o._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,false)[0])}return r}Qk(Hk,Ok,((t,e)=>{if(t.range.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.range.end.offset++}return[t]}if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();n.range=new Zf(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition));t.range.end=e.splitPosition.clone();t.range.end.stickiness=\"toPrevious\";return[t,n]}t.range=t.range._getTransformedBySplitOperation(e);return[t]}));Qk(zk,Hk,((t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const o=iw(t,e.key,e.newValue);if(o){n.push(o)}}return n}));Qk(zk,zk,((t,e,n)=>{if(t.position.isEqual(e.position)&&n.aIsStrong){return[t]}t.position=t.position._getTransformedByInsertOperation(e);return[t]}));Qk(zk,Lk,((t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]}));Qk(zk,Ok,((t,e)=>{t.position=t.position._getTransformedBySplitOperation(e);return[t]}));Qk(zk,Rk,((t,e)=>{t.position=t.position._getTransformedByMergeOperation(e);return[t]}));Qk(Vk,zk,((t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]}if(t.newRange){t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]}return[t]}));Qk(Vk,Vk,((t,e,n)=>{if(t.name==e.name){if(n.aIsStrong){t.oldRange=e.newRange?e.newRange.clone():null}else{return[new Uk(0)]}}return[t]}));Qk(Vk,Rk,((t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByMergeOperation(e)}if(t.newRange){t.newRange=t.newRange._getTransformedByMergeOperation(e)}return[t]}));Qk(Vk,Lk,((t,e,n)=>{if(t.oldRange){t.oldRange=Zf._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))}if(t.newRange){if(n.abRelation){const o=Zf._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if(n.abRelation.side==\"left\"&&e.targetPosition.isEqual(t.newRange.start)){t.newRange.end=o.end;t.newRange.start.path=n.abRelation.path;return[t]}else if(n.abRelation.side==\"right\"&&e.targetPosition.isEqual(t.newRange.end)){t.newRange.start=o.start;t.newRange.end.path=n.abRelation.path;return[t]}}t.newRange=Zf._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]}));Qk(Vk,Ok,((t,e,n)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedBySplitOperation(e)}if(t.newRange){if(n.abRelation){const o=t.newRange._getTransformedBySplitOperation(e);if(t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement){t.newRange.start=Wf._createAt(e.insertionPosition)}else if(t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement){t.newRange.start=Wf._createAt(e.moveTargetPosition)}if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement){t.newRange.end=Wf._createAt(e.moveTargetPosition)}else if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement){t.newRange.end=Wf._createAt(e.insertionPosition)}else{t.newRange.end=o.end}return[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]}));Qk(Rk,zk,((t,e)=>{if(t.sourcePosition.hasSameParentAs(e.position)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e);t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e);return[t]}));Qk(Rk,Rk,((t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(!n.bWasUndone){return[new Uk(0)]}else{const n=e.graveyardPosition.path.slice();n.push(0);t.sourcePosition=new Wf(e.graveyardPosition.root,n);t.howMany=0;return[t]}}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&n.abRelation!=\"splitAtSource\"){const o=t.targetPosition.root.rootName==\"$graveyard\";const i=e.targetPosition.root.rootName==\"$graveyard\";const r=o&&!i;const s=i&&!o;const a=s||!r&&n.aIsStrong;if(a){const n=e.targetPosition._getTransformedByMergeOperation(e);const o=t.targetPosition._getTransformedByMergeOperation(e);return[new Lk(n,t.howMany,o,0)]}else{return[new Uk(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e);t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);if(!t.graveyardPosition.isEqual(e.graveyardPosition)||!n.aIsStrong){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]}));Qk(Rk,Lk,((t,e,n)=>{const o=Zf._createFromPositionAndShift(e.sourcePosition,e.howMany);if(e.type==\"remove\"&&!n.bWasUndone&&!n.forceWeakRemove){if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.sourcePosition)){return[new Uk(0)]}}if(e.sourcePosition.getShiftedBy(e.howMany).isEqual(t.sourcePosition)){t.sourcePosition.stickiness=\"toNone\"}else if(e.targetPosition.isEqual(t.sourcePosition)&&n.abRelation==\"mergeSourceAffected\"){t.sourcePosition.stickiness=\"toNext\"}else if(e.sourcePosition.isEqual(t.targetPosition)){t.targetPosition.stickiness=\"toNone\";t.howMany-=e.howMany}else if(e.targetPosition.isEqual(t.targetPosition)&&n.abRelation==\"mergeTargetWasBefore\"){t.targetPosition.stickiness=\"toPrevious\";t.howMany+=e.howMany}else{if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}if(t.sourcePosition.hasSameParentAs(e.sourcePosition)){t.howMany-=e.howMany}}t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e);t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e);t.sourcePosition.stickiness=\"toPrevious\";t.targetPosition.stickiness=\"toNext\";if(!t.graveyardPosition.isEqual(e.targetPosition)){t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}return[t]}));Qk(Rk,Ok,((t,e,n)=>{if(e.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1);if(t.deletionPosition.isEqual(e.graveyardPosition)){t.howMany=e.howMany}}if(t.targetPosition.isEqual(e.splitPosition)){const o=e.howMany!=0;const i=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(o||i||n.abRelation==\"mergeTargetNotMoved\"){t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.isEqual(e.splitPosition)){if(n.abRelation==\"mergeSourceNotMoved\"){t.howMany=0;t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}if(n.abRelation==\"mergeSameElement\"||t.sourcePosition.offset>0){t.sourcePosition=e.moveTargetPosition.clone();t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.hasSameParentAs(e.splitPosition)){t.howMany=e.splitPosition.offset}t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}));Qk(Lk,zk,((t,e)=>{const n=Zf._createFromPositionAndShift(t.sourcePosition,t.howMany);const o=n._getTransformedByInsertOperation(e,false)[0];t.sourcePosition=o.start;t.howMany=o.end.offset-o.start.offset;if(!t.targetPosition.isEqual(e.position)){t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)}return[t]}));Qk(Lk,Lk,((t,e,n)=>{const o=Zf._createFromPositionAndShift(t.sourcePosition,t.howMany);const i=Zf._createFromPositionAndShift(e.sourcePosition,e.howMany);let r=n.aIsStrong;let s=!n.aIsStrong;if(n.abRelation==\"insertBefore\"||n.baRelation==\"insertAfter\"){s=true}else if(n.abRelation==\"insertAfter\"||n.baRelation==\"insertBefore\"){s=false}let a;if(t.targetPosition.isEqual(e.targetPosition)&&s){a=t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)}else{a=t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}if(sw(t,e)&&sw(e,t)){return[e.getReversed()]}const c=o.containsPosition(e.targetPosition);if(c&&o.containsRange(i,true)){o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return aw([o],a)}const l=i.containsPosition(t.targetPosition);if(l&&i.containsRange(o,true)){o.start=o.start._getCombined(e.sourcePosition,e.getMovedRangeStart());o.end=o.end._getCombined(e.sourcePosition,e.getMovedRangeStart());return aw([o],a)}const d=Dt(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if(d==\"prefix\"||d==\"extension\"){o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return aw([o],a)}if(t.type==\"remove\"&&e.type!=\"remove\"&&!n.aWasUndone&&!n.forceWeakRemove){r=true}else if(t.type!=\"remove\"&&e.type==\"remove\"&&!n.bWasUndone&&!n.forceWeakRemove){r=false}const u=[];const h=o.getDifference(i);for(const t of h){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany);t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=Dt(t.start.getParentPath(),e.getMovedRangeStart().getParentPath())==\"same\";const o=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);u.push(...o)}const m=o.getIntersection(i);if(m!==null&&r){m.start=m.start._getCombined(e.sourcePosition,e.getMovedRangeStart());m.end=m.end._getCombined(e.sourcePosition,e.getMovedRangeStart());if(u.length===0){u.push(m)}else if(u.length==1){if(i.start.isBefore(o.start)||i.start.isEqual(o.start)){u.unshift(m)}else{u.push(m)}}else{u.splice(1,0,m)}}if(u.length===0){return[new Uk(t.baseVersion)]}return aw(u,a)}));Qk(Lk,Ok,((t,e,n)=>{let o=t.targetPosition.clone();if(!t.targetPosition.isEqual(e.insertionPosition)||!e.graveyardPosition||n.abRelation==\"moveTargetAfter\"){o=t.targetPosition._getTransformedBySplitOperation(e)}const i=Zf._createFromPositionAndShift(t.sourcePosition,t.howMany);if(i.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.howMany++}t.targetPosition=o;return[t]}if(i.start.hasSameParentAs(e.splitPosition)&&i.containsPosition(e.splitPosition)){let t=new Zf(e.splitPosition,i.end);t=t._getTransformedBySplitOperation(e);const n=[new Zf(i.start,e.splitPosition),t];return aw(n,o)}if(t.targetPosition.isEqual(e.splitPosition)&&n.abRelation==\"insertAtSource\"){o=e.moveTargetPosition}if(t.targetPosition.isEqual(e.insertionPosition)&&n.abRelation==\"insertBetween\"){o=t.targetPosition}const r=i._getTransformedBySplitOperation(e);const s=[r];if(e.graveyardPosition){const o=i.start.isEqual(e.graveyardPosition)||i.containsPosition(e.graveyardPosition);if(t.howMany>1&&o&&!n.aWasUndone){s.push(Zf._createFromPositionAndShift(e.insertionPosition,1))}}return aw(s,o)}));Qk(Lk,Rk,((t,e,n)=>{const o=Zf._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.sourcePosition)){if(t.type==\"remove\"&&!n.forceWeakRemove){if(!n.aWasUndone){const n=[];let o=e.graveyardPosition.clone();let i=e.targetPosition._getTransformedByMergeOperation(e);if(t.howMany>1){n.push(new Lk(t.sourcePosition,t.howMany-1,t.targetPosition,0));o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1);i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1)}const r=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition);const s=new Lk(o,1,r,0);const a=s.getMovedRangeStart().path.slice();a.push(0);const c=new Wf(s.targetPosition.root,a);i=i._getTransformedByMove(o,r,1);const l=new Lk(i,e.howMany,c,0);n.push(s);n.push(l);return n}}else{if(t.howMany==1){if(!n.bWasUndone){return[new Uk(0)]}else{t.sourcePosition=e.graveyardPosition.clone();t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}}}}const i=Zf._createFromPositionAndShift(t.sourcePosition,t.howMany);const r=i._getTransformedByMergeOperation(e);t.sourcePosition=r.start;t.howMany=r.end.offset-r.start.offset;t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}));Qk(Wk,zk,((t,e)=>{t.position=t.position._getTransformedByInsertOperation(e);return[t]}));Qk(Wk,Rk,((t,e)=>{if(t.position.isEqual(e.deletionPosition)){t.position=e.graveyardPosition.clone();t.position.stickiness=\"toNext\";return[t]}t.position=t.position._getTransformedByMergeOperation(e);return[t]}));Qk(Wk,Lk,((t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]}));Qk(Wk,Wk,((t,e,n)=>{if(t.position.isEqual(e.position)){if(n.aIsStrong){t.oldName=e.newName}else{return[new Uk(0)]}}return[t]}));Qk(Wk,Ok,((t,e)=>{const n=t.position.path;const o=e.splitPosition.getParentPath();if(Dt(n,o)==\"same\"&&!e.graveyardPosition){const e=new Wk(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}t.position=t.position._getTransformedBySplitOperation(e);return[t]}));Qk(qk,qk,((t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue){return[new Uk(0)]}else{t.oldValue=e.newValue}}return[t]}));Qk(Gk,Gk,((t,e)=>{if(t.rootName===e.rootName&&t.isAdd===e.isAdd){return[new Uk(0)]}return[t]}));Qk(Ok,zk,((t,e)=>{if(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const o=new Wf(e.graveyardPosition.root,n);const i=Ok.getInsertionPosition(new Wf(e.graveyardPosition.root,n));const r=new Ok(o,0,i,null,0);t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=Ok.getInsertionPosition(t.splitPosition);t.graveyardPosition=r.insertionPosition.clone();t.graveyardPosition.stickiness=\"toNext\";return[r,t]}if(t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)){t.howMany--}if(t.splitPosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=Ok.getInsertionPosition(t.splitPosition);if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]}));Qk(Ok,Lk,((t,e,n)=>{const o=Zf._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const i=o.start.isEqual(t.graveyardPosition)||o.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&i){const n=t.splitPosition._getTransformedByMoveOperation(e);const o=t.graveyardPosition._getTransformedByMoveOperation(e);const i=o.path.slice();i.push(0);const r=new Wf(o.root,i);const s=new Lk(n,t.howMany,r,0);return[s]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}const i=t.splitPosition.isEqual(e.targetPosition);if(i&&(n.baRelation==\"insertAtSource\"||n.abRelation==\"splitBefore\")){t.howMany+=e.howMany;t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany);t.insertionPosition=Ok.getInsertionPosition(t.splitPosition);return[t]}if(i&&n.abRelation&&n.abRelation.howMany){const{howMany:e,offset:o}=n.abRelation;t.howMany+=e;t.splitPosition=t.splitPosition.getShiftedBy(o);return[t]}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);t.howMany-=n;if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition){return[new Uk(0)]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){return[new Uk(0)]}if(n.abRelation==\"splitBefore\"){t.howMany=0;t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e);return[t]}}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const o=t.splitPosition.root.rootName==\"$graveyard\";const i=e.splitPosition.root.rootName==\"$graveyard\";const r=o&&!i;const s=i&&!o;const a=s||!r&&n.aIsStrong;if(a){const n=[];if(e.howMany){n.push(new Lk(e.moveTargetPosition,e.howMany,e.splitPosition,0))}if(t.howMany){n.push(new Lk(t.splitPosition,t.howMany,t.moveTargetPosition,0))}return n}else{return[new Uk(0)]}}if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)}if(t.splitPosition.isEqual(e.insertionPosition)&&n.abRelation==\"splitBefore\"){t.howMany++;return[t]}if(e.splitPosition.isEqual(t.insertionPosition)&&n.baRelation==\"splitBefore\"){const n=e.insertionPosition.path.slice();n.push(0);const o=new Wf(e.insertionPosition.root,n);const i=new Lk(t.insertionPosition,1,o,0);return[t,i]}if(t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset{const n=e[0];if(!n.isDocumentOperation){return}dw.call(this,n)}),{priority:\"low\"})}function dw(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path;this.root=e.root;this.fire(\"change\",t)}}class uw{constructor(t={}){if(typeof t===\"string\"){t=t===\"transparent\"?{isUndoable:false}:{};L(\"batch-constructor-deprecated-string-type\")}const{isUndoable:e=true,isLocal:n=true,isUndo:o=false,isTyping:i=false}=t;this.operations=[];this.isUndoable=e;this.isLocal=n;this.isUndo=o;this.isTyping=i}get type(){L(\"batch-type-deprecated\");return\"default\"}get baseVersion(){for(const t of this.operations){if(t.baseVersion!==null){return t.baseVersion}}return null}addOperation(t){t.batch=this;this.operations.push(t);return t}}class hw{constructor(t){this._changesInElement=new Map;this._elementSnapshots=new Map;this._changedMarkers=new Map;this._changedRoots=new Map;this._changeCount=0;this._cachedChanges=null;this._cachedChangesWithGraveyard=null;this._refreshedItems=new Set;this._markerCollection=t}get isEmpty(){return this._changesInElement.size==0&&this._changedMarkers.size==0&&this._changedRoots.size==0}bufferOperation(t){const e=t;switch(e.type){case\"insert\":{if(this._isInInsertedElement(e.position.parent)){return}this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break}case\"addAttribute\":case\"removeAttribute\":case\"changeAttribute\":{for(const t of e.range.getItems({shallow:true})){if(this._isInInsertedElement(t.parent)){continue}this._markAttribute(t)}break}case\"remove\":case\"move\":case\"reinsert\":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition)){return}const t=this._isInInsertedElement(e.sourcePosition.parent);const n=this._isInInsertedElement(e.targetPosition.parent);if(!t){this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany)}if(!n){this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany)}break}case\"rename\":{if(this._isInInsertedElement(e.position.parent)){return}this._markRemove(e.position.parent,e.position.offset,1);this._markInsert(e.position.parent,e.position.offset,1);const t=Zf._createFromPositionAndShift(e.position,1);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}break}case\"split\":{const t=e.splitPosition.parent;if(!this._isInInsertedElement(t)){this._markRemove(t,e.splitPosition.offset,e.howMany)}if(!this._isInInsertedElement(e.insertionPosition.parent)){this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1)}if(e.graveyardPosition){this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1)}break}case\"merge\":{const t=e.sourcePosition.parent;if(!this._isInInsertedElement(t.parent)){this._markRemove(t.parent,t.startOffset,1)}const n=e.graveyardPosition.parent;this._markInsert(n,e.graveyardPosition.offset,1);const o=e.targetPosition.parent;if(!this._isInInsertedElement(o)){this._markInsert(o,e.targetPosition.offset,t.maxOffset)}break}case\"detachRoot\":case\"addRoot\":{const t=e.affectedSelectable;if(!t._isLoaded){return}if(t.isAttached()==e.isAdd){return}this._bufferRootStateChange(e.rootName,e.isAdd);break}case\"addRootAttribute\":case\"removeRootAttribute\":case\"changeRootAttribute\":{if(!e.root._isLoaded){return}const t=e.root.rootName;this._bufferRootAttributeChange(t,e.key,e.oldValue,e.newValue);break}}this._cachedChanges=null}bufferMarkerChange(t,e,n){if(e.range&&e.range.root.is(\"rootElement\")&&!e.range.root._isLoaded){e.range=null}if(n.range&&n.range.root.is(\"rootElement\")&&!n.range.root._isLoaded){n.range=null}let o=this._changedMarkers.get(t);if(!o){o={newMarkerData:n,oldMarkerData:e};this._changedMarkers.set(t,o)}else{o.newMarkerData=n}if(o.oldMarkerData.range==null&&n.range==null){this._changedMarkers.delete(t)}}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers){if(n.oldMarkerData.range!=null){t.push({name:e,range:n.oldMarkerData.range})}}return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers){if(n.newMarkerData.range!=null){t.push({name:e,range:n.newMarkerData.range})}}return t}getChangedMarkers(){return Array.from(this._changedMarkers).map((([t,e])=>({name:t,data:{oldRange:e.oldMarkerData.range,newRange:e.newMarkerData.range}})))}hasDataChanges(){if(this.getChanges().length){return true}if(this._changedRoots.size>0){return true}for(const{newMarkerData:t,oldMarkerData:e}of this._changedMarkers.values()){if(t.affectsData!==e.affectsData){return true}if(t.affectsData){const n=t.range&&!e.range;const o=!t.range&&e.range;const i=t.range&&e.range&&!t.range.isEqual(e.range);if(n||o||i){return true}}}return false}getChanges(t={}){if(this._cachedChanges){if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard.slice()}else{return this._cachedChanges.slice()}}let e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort(((t,e)=>{if(t.offset===e.offset){if(t.type!=e.type){return t.type==\"remove\"?-1:1}return 0}return t.offset{if(t.position.root!=e.position.root){return t.position.root.rootNamet));for(const t of e){delete t.changeCount;if(t.type==\"attribute\"){delete t.position;delete t.length}}this._changeCount=0;this._cachedChangesWithGraveyard=e;this._cachedChanges=e.filter(fw);if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard.slice()}else{return this._cachedChanges.slice()}}getChangedRoots(){return Array.from(this._changedRoots.values()).map((t=>{const e={...t};if(e.state!==undefined){delete e.attributes}return e}))}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear();this._elementSnapshots.clear();this._changedMarkers.clear();this._changedRoots.clear();this._refreshedItems=new Set;this._cachedChanges=null}_bufferRootStateChange(t,e){if(!this._changedRoots.has(t)){this._changedRoots.set(t,{name:t,state:e?\"attached\":\"detached\"});return}const n=this._changedRoots.get(t);if(n.state!==undefined){delete n.state;if(n.attributes===undefined){this._changedRoots.delete(t)}}else{n.state=e?\"attached\":\"detached\"}}_bufferRootAttributeChange(t,e,n,o){const i=this._changedRoots.get(t)||{name:t};const r=i.attributes||{};if(r[e]){const t=r[e];if(o===t.oldValue){delete r[e]}else{t.newValue=o}}else{r[e]={oldValue:n,newValue:o}}if(Object.entries(r).length===0){delete i.attributes;if(i.state===undefined){this._changedRoots.delete(t)}}else{i.attributes=r;this._changedRoots.set(t,i)}}_refreshItem(t){if(this._isInInsertedElement(t.parent)){return}this._markRemove(t.parent,t.startOffset,t.offsetSize);this._markInsert(t.parent,t.startOffset,t.offsetSize);this._refreshedItems.add(t);const e=Zf._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getData();this.bufferMarkerChange(t.name,e,e)}this._cachedChanges=null}_bufferRootLoad(t){if(!t.isAttached()){return}this._bufferRootStateChange(t.rootName,true);this._markInsert(t,0,t.maxOffset);for(const e of t.getAttributeKeys()){this._bufferRootAttributeChange(t.rootName,e,null,t.getAttribute(e))}for(const e of this._markerCollection){if(e.getRange().root==t){const t=e.getData();this.bufferMarkerChange(e.name,{...t,range:null},t)}}}_markInsert(t,e,n){if(t.root.is(\"rootElement\")&&!t.root._isLoaded){return}const o={type:\"insert\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,o)}_markRemove(t,e,n){if(t.root.is(\"rootElement\")&&!t.root._isLoaded){return}const o={type:\"remove\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,o);this._removeAllNestedChanges(t,e,n)}_markAttribute(t){if(t.root.is(\"rootElement\")&&!t.root._isLoaded){return}const e={type:\"attribute\",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n);n.push(e);for(let t=0;tn.offset){if(o>i){const t={type:\"attribute\",offset:i,howMany:o-i,count:this._changeCount++};this._handleChange(t,e);e.push(t)}t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}else if(t.offset>=n.offset&&t.offseti){t.nodesToHandle=o-i;t.offset=i}else{t.nodesToHandle=0}}}if(n.type==\"remove\"){if(t.offsetn.offset){const i={type:\"attribute\",offset:n.offset,howMany:o-n.offset,count:this._changeCount++};this._handleChange(i,e);e.push(i);t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}}if(n.type==\"attribute\"){if(t.offset>=n.offset&&o<=i){t.nodesToHandle=0;t.howMany=0;t.offset=0}else if(t.offset<=n.offset&&o>=i){n.howMany=0}}}}t.howMany=t.nodesToHandle;delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:\"insert\",position:Wf._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++,_element:n.element}}_getRemoveDiff(t,e,n){return{type:\"remove\",position:Wf._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++,_element:n.element}}_getAttributesDiff(t,e,n){const o=[];n=new Map(n);for(const[i,r]of e){const e=n.has(i)?n.get(i):null;if(e!==r){o.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:i,attributeOldValue:r,attributeNewValue:e,changeCount:this._changeCount++})}n.delete(i)}for(const[e,i]of n){o.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:i,changeCount:this._changeCount++})}return o}_isInInsertedElement(t){const e=t.parent;if(!e){return false}const n=this._changesInElement.get(e);const o=t.startOffset;if(n){for(const t of n){if(t.type==\"insert\"&&o>=t.offset&&oo){for(let e=0;ethis._version+1){this._gaps.set(this._version,t)}this._version=t}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(t){if(t.baseVersion!==this.version){throw new N(\"model-document-history-addoperation-incorrect-version\",this,{operation:t,historyVersion:this.version})}this._operations.push(t);this._version++;this._baseVersionToOperationIndex.set(t.baseVersion,this._operations.length-1)}getOperations(t,e=this.version){if(!this._operations.length){return[]}const n=this._operations[0];if(t===undefined){t=n.baseVersion}let o=e-1;for(const[e,n]of this._gaps){if(t>e&&te&&othis.lastOperation.baseVersion){return[]}let i=this._baseVersionToOperationIndex.get(t);if(i===undefined){i=0}let r=this._baseVersionToOperationIndex.get(o);if(r===undefined){r=this._operations.length-1}return this._operations.slice(i,r+1)}getOperation(t){const e=this._baseVersionToOperationIndex.get(t);if(e===undefined){return}return this._operations[e]}setOperationAsUndone(t,e){this._undoPairs.set(e,t);this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}reset(){this._version=0;this._undoPairs=new Map;this._operations=[];this._undoneOperations=new Set;this._gaps=new Map;this._baseVersionToOperationIndex=new Map}}class bw extends Ff{constructor(t,e,n=\"main\"){super(e);this._isAttached=true;this._isLoaded=true;this._document=t;this.rootName=n}get document(){return this._document}isAttached(){return this._isAttached}toJSON(){return this.rootName}}bw.prototype.is=function(t,e){if(!e){return t===\"rootElement\"||t===\"model:rootElement\"||t===\"element\"||t===\"model:element\"||t===\"node\"||t===\"model:node\"}return e===this.name&&(t===\"rootElement\"||t===\"model:rootElement\"||t===\"element\"||t===\"model:element\")};const kw=\"$graveyard\";class ww extends($()){constructor(t){super();this.model=t;this.history=new pw;this.selection=new kp(this);this.roots=new rd({idProperty:\"rootName\"});this.differ=new hw(t.markers);this.isReadOnly=false;this._postFixers=new Set;this._hasSelectionChangedFromTheLastChangeBlock=false;this.createRoot(\"$root\",kw);this.listenTo(t,\"applyOperation\",((t,e)=>{const n=e[0];if(n.isDocumentOperation){this.differ.bufferOperation(n)}}),{priority:\"high\"});this.listenTo(t,\"applyOperation\",((t,e)=>{const n=e[0];if(n.isDocumentOperation){this.history.addOperation(n)}}),{priority:\"low\"});this.listenTo(this.selection,\"change\",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=true}));this.listenTo(t.markers,\"update\",((t,e,n,o,i)=>{const r={...e.getData(),range:o};this.differ.bufferMarkerChange(e.name,i,r);if(n===null){e.on(\"change\",((t,n)=>{const o=e.getData();this.differ.bufferMarkerChange(e.name,{...o,range:n},o)}))}}));this.registerPostFixer((t=>{let e=false;for(const n of this.roots){if(!n.isAttached()&&!n.isEmpty){t.remove(t.createRangeIn(n));e=true}}for(const n of this.model.markers){if(!n.getRange().root.isAttached()){t.removeMarker(n);e=true}}return e}))}get version(){return this.history.version}set version(t){this.history.version=t}get graveyard(){return this.getRoot(kw)}createRoot(t=\"$root\",e=\"main\"){if(this.roots.get(e)){throw new N(\"model-document-createroot-name-exists\",this,{name:e})}const n=new bw(this,t,e);this.roots.add(n);return n}destroy(){this.selection.destroy();this.stopListening()}getRoot(t=\"main\"){return this.roots.get(t)}getRootNames(t=false){return this.getRoots(t).map((t=>t.rootName))}getRoots(t=false){return this.roots.filter((e=>e!=this.graveyard&&(t||e.isAttached())&&e._isLoaded))}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=tu(this);t.selection=\"[engine.model.DocumentSelection]\";t.model=\"[engine.model.Model]\";return t}_handleChangeBlock(t){if(this._hasDocumentChangedFromTheLastChangeBlock()){this._callPostFixers(t);this.selection.refresh();if(this.differ.hasDataChanges()){this.fire(\"change:data\",t.batch)}else{this.fire(\"change\",t.batch)}this.selection.refresh();this.differ.reset()}this._hasSelectionChangedFromTheLastChangeBlock=false}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){const t=this.getRoots();return t.length?t[0]:this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot();const e=this.model;const n=e.schema;const o=e.createPositionFromPath(t,[0]);const i=n.getNearestSelectionRange(o);return i||e.createRange(o)}_validateSelectionRange(t){return Aw(t.start)&&Aw(t.end)}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){this.selection.refresh();e=n(t);if(e){break}}}while(e)}}function Aw(t){const e=t.textNode;if(e){const n=e.data;const o=t.offset-e.startOffset;return!_d(n,o)&&!Cd(n,o)}return true}class _w extends($()){constructor(){super(...arguments);this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){const e=t instanceof Cw?t.name:t;return this._markers.has(e)}get(t){return this._markers.get(t)||null}_set(t,e,n=false,o=false){const i=t instanceof Cw?t.name:t;if(i.includes(\",\")){throw new N(\"markercollection-incorrect-marker-name\",this)}const r=this._markers.get(i);if(r){const t=r.getData();const s=r.getRange();let a=false;if(!s.isEqual(e)){r._attachLiveRange(mp.fromRange(e));a=true}if(n!=r.managedUsingOperations){r._managedUsingOperations=n;a=true}if(typeof o===\"boolean\"&&o!=r.affectsData){r._affectsData=o;a=true}if(a){this.fire(`update:${i}`,r,s,e,t)}return r}const s=mp.fromRange(e);const a=new Cw(i,s,n,o);this._markers.set(i,a);this.fire(`update:${i}`,a,null,e,{...a.getData(),range:null});return a}_remove(t){const e=t instanceof Cw?t.name:t;const n=this._markers.get(e);if(n){this._markers.delete(e);this.fire(`update:${e}`,n,n.getRange(),null,n.getData());this._destroyMarker(n);return true}return false}_refresh(t){const e=t instanceof Cw?t.name:t;const n=this._markers.get(e);if(!n){throw new N(\"markercollection-refresh-marker-not-exists\",this)}const o=n.getRange();this.fire(`update:${e}`,n,o,o,n.getData())}*getMarkersAtPosition(t){for(const e of this){if(e.getRange().containsPosition(t)){yield e}}}*getMarkersIntersectingRange(t){for(const e of this){if(e.getRange().getIntersection(t)!==null){yield e}}}destroy(){for(const t of this._markers.values()){this._destroyMarker(t)}this._markers=null;this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values()){if(e.name.startsWith(t+\":\")){yield e}}}_destroyMarker(t){t.stopListening();t._detachLiveRange()}}class Cw extends($(Lf)){constructor(t,e,n,o){super();this.name=t;this._liveRange=this._attachLiveRange(e);this._managedUsingOperations=n;this._affectsData=o}get managedUsingOperations(){if(!this._liveRange){throw new N(\"marker-destroyed\",this)}return this._managedUsingOperations}get affectsData(){if(!this._liveRange){throw new N(\"marker-destroyed\",this)}return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange){throw new N(\"marker-destroyed\",this)}return this._liveRange.start.clone()}getEnd(){if(!this._liveRange){throw new N(\"marker-destroyed\",this)}return this._liveRange.end.clone()}getRange(){if(!this._liveRange){throw new N(\"marker-destroyed\",this)}return this._liveRange.toRange()}_attachLiveRange(t){if(this._liveRange){this._detachLiveRange()}t.delegate(\"change:range\").to(this);t.delegate(\"change:content\").to(this);this._liveRange=t;return t}_detachLiveRange(){this._liveRange.stopDelegating(\"change:range\",this);this._liveRange.stopDelegating(\"change:content\",this);this._liveRange.detach();this._liveRange=null}}Cw.prototype.is=function(t){return t===\"marker\"||t===\"model:marker\"};class vw extends Ek{constructor(t,e){super(null);this.sourcePosition=t.clone();this.howMany=e}get type(){return\"detach\"}get affectedSelectable(){return null}toJSON(){const t=super.toJSON();t.sourcePosition=this.sourcePosition.toJSON();return t}_validate(){if(this.sourcePosition.root.document){throw new N(\"detach-operation-on-document-node\",this)}}_execute(){Ik(Zf._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return\"DetachOperation\"}}class yw extends Lf{constructor(t){super();this.markers=new Map;this._children=new Of;if(t){this._insertChild(0,t)}}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}isAttached(){return false}getAncestors(){return[]}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children){t.push(e.toJSON())}return t}static fromJSON(t){const e=[];for(const n of t){if(n.name){e.push(Ff.fromJSON(n))}else{e.push(Rf.fromJSON(n))}}return new yw(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=xw(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}}yw.prototype.is=function(t){return t===\"documentFragment\"||t===\"model:documentFragment\"};function xw(t){if(typeof t==\"string\"){return[new Rf(t)]}if(!It(t)){t=[t]}return Array.from(t).map((t=>{if(typeof t==\"string\"){return new Rf(t)}if(t instanceof Vf){return new Rf(t.data,t.getAttributes())}return t}))}class Ew{constructor(t,e){this.model=t;this.batch=e}createText(t,e){return new Rf(t,e)}createElement(t,e){return new Ff(t,e)}createDocumentFragment(){return new yw}cloneElement(t,e=true){return t._clone(e)}insert(t,e,n=0){this._assertWriterUsedCorrectly();if(t instanceof Rf&&t.data==\"\"){return}const o=Wf._createAt(e,n);if(t.parent){if(Bw(t.root,o.root)){this.move(Zf._createOn(t),o);return}else{if(t.root.document){throw new N(\"model-writer-insert-forbidden-move\",this)}else{this.remove(t)}}}const i=o.root.document?o.root.document.version:null;const r=new zk(o,t,i);if(t instanceof Rf){r.shouldReceiveAttributes=true}this.batch.addOperation(r);this.model.applyOperation(r);if(t instanceof yw){for(const[e,n]of t.markers){const t=Wf._createAt(n.root,0);const i=new Zf(n.start._getCombined(t,o),n.end._getCombined(t,o));const r={range:i,usingOperation:true,affectsData:true};if(this.model.markers.has(e)){this.updateMarker(e,r)}else{this.addMarker(e,r)}}}}insertText(t,e,n,o){if(e instanceof yw||e instanceof Ff||e instanceof Wf){this.insert(this.createText(t),e,n)}else{this.insert(this.createText(t,e),n,o)}}insertElement(t,e,n,o){if(e instanceof yw||e instanceof Ff||e instanceof Wf){this.insert(this.createElement(t),e,n)}else{this.insert(this.createElement(t,e),n,o)}}append(t,e){this.insert(t,e,\"end\")}appendText(t,e,n){if(e instanceof yw||e instanceof Ff){this.insert(this.createText(t),e,\"end\")}else{this.insert(this.createText(t,e),n,\"end\")}}appendElement(t,e,n){if(e instanceof yw||e instanceof Ff){this.insert(this.createElement(t),e,\"end\")}else{this.insert(this.createElement(t,e),n,\"end\")}}setAttribute(t,e,n){this._assertWriterUsedCorrectly();if(n instanceof Zf){const o=n.getMinimalFlatRanges();for(const n of o){Dw(this,t,e,n)}}else{Iw(this,t,e,n)}}setAttributes(t,e){for(const[n,o]of dd(t)){this.setAttribute(n,o,e)}}removeAttribute(t,e){this._assertWriterUsedCorrectly();if(e instanceof Zf){const n=e.getMinimalFlatRanges();for(const e of n){Dw(this,t,null,e)}}else{Iw(this,t,null,e)}}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys()){this.removeAttribute(e,t)}};if(!(t instanceof Zf)){e(t)}else{for(const n of t.getItems()){e(n)}}}move(t,e,n){this._assertWriterUsedCorrectly();if(!(t instanceof Zf)){throw new N(\"writer-move-invalid-range\",this)}if(!t.isFlat){throw new N(\"writer-move-range-not-flat\",this)}const o=Wf._createAt(e,n);if(o.isEqual(t.start)){return}this._addOperationForAffectedMarkers(\"move\",t);if(!Bw(t.root,o.root)){throw new N(\"writer-move-different-document\",this)}const i=t.root.document?t.root.document.version:null;const r=new Lk(t.start,t.end.offset-t.start.offset,o,i);this.batch.addOperation(r);this.model.applyOperation(r)}remove(t){this._assertWriterUsedCorrectly();const e=t instanceof Zf?t:Zf._createOn(t);const n=e.getMinimalFlatRanges().reverse();for(const t of n){this._addOperationForAffectedMarkers(\"move\",t);Sw(t.start,t.end.offset-t.start.offset,this.batch,this.model)}}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore;const n=t.nodeAfter;this._addOperationForAffectedMarkers(\"merge\",t);if(!(e instanceof Ff)){throw new N(\"writer-merge-no-element-before\",this)}if(!(n instanceof Ff)){throw new N(\"writer-merge-no-element-after\",this)}if(!t.root.document){this._mergeDetached(t)}else{this._merge(t)}}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(...t){return this.model.createSelection(...t)}_mergeDetached(t){const e=t.nodeBefore;const n=t.nodeAfter;this.move(Zf._createIn(n),Wf._createAt(e,\"end\"));this.remove(n)}_merge(t){const e=Wf._createAt(t.nodeBefore,\"end\");const n=Wf._createAt(t.nodeAfter,0);const o=t.root.document.graveyard;const i=new Wf(o,[0]);const r=t.root.document.version;const s=new Rk(n,t.nodeAfter.maxOffset,e,i,r);this.batch.addOperation(s);this.model.applyOperation(s)}rename(t,e){this._assertWriterUsedCorrectly();if(!(t instanceof Ff)){throw new N(\"writer-rename-not-element-instance\",this)}const n=t.root.document?t.root.document.version:null;const o=new Wk(Wf._createBefore(t),t.name,e,n);this.batch.addOperation(o);this.model.applyOperation(o)}split(t,e){this._assertWriterUsedCorrectly();let n=t.parent;if(!n.parent){throw new N(\"writer-split-element-no-parent\",this)}if(!e){e=n.parent}if(!t.parent.getAncestors({includeSelf:true}).includes(e)){throw new N(\"writer-split-invalid-limit-element\",this)}let o;let i;do{const e=n.root.document?n.root.document.version:null;const r=n.maxOffset-t.offset;const s=Ok.getInsertionPosition(t);const a=new Ok(t,r,s,null,e);this.batch.addOperation(a);this.model.applyOperation(a);if(!o&&!i){o=n;i=t.parent.nextSibling}t=this.createPositionAfter(t.parent);n=t.parent}while(n!==e);return{position:t,range:new Zf(Wf._createAt(o,\"end\"),Wf._createAt(i,0))}}wrap(t,e){this._assertWriterUsedCorrectly();if(!t.isFlat){throw new N(\"writer-wrap-range-not-flat\",this)}const n=e instanceof Ff?e:new Ff(e);if(n.childCount>0){throw new N(\"writer-wrap-element-not-empty\",this)}if(n.parent!==null){throw new N(\"writer-wrap-element-attached\",this)}this.insert(n,t.start);const o=new Zf(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(o,Wf._createAt(n,0))}unwrap(t){this._assertWriterUsedCorrectly();if(t.parent===null){throw new N(\"writer-unwrap-element-no-parent\",this)}this.move(Zf._createIn(t),this.createPositionAfter(t));this.remove(t)}addMarker(t,e){this._assertWriterUsedCorrectly();if(!e||typeof e.usingOperation!=\"boolean\"){throw new N(\"writer-addmarker-no-usingoperation\",this)}const n=e.usingOperation;const o=e.range;const i=e.affectsData===undefined?false:e.affectsData;if(this.model.markers.has(t)){throw new N(\"writer-addmarker-marker-exists\",this)}if(!o){throw new N(\"writer-addmarker-no-range\",this)}if(!n){return this.model.markers._set(t,o,n,i)}Tw(this,t,null,o,i);return this.model.markers.get(t)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=typeof t==\"string\"?t:t.name;const o=this.model.markers.get(n);if(!o){throw new N(\"writer-updatemarker-marker-not-exists\",this)}if(!e){L(\"writer-updatemarker-reconvert-using-editingcontroller\",{markerName:n});this.model.markers._refresh(o);return}const i=typeof e.usingOperation==\"boolean\";const r=typeof e.affectsData==\"boolean\";const s=r?e.affectsData:o.affectsData;if(!i&&!e.range&&!r){throw new N(\"writer-updatemarker-wrong-options\",this)}const a=o.getRange();const c=e.range?e.range:a;if(i&&e.usingOperation!==o.managedUsingOperations){if(e.usingOperation){Tw(this,n,null,c,s)}else{Tw(this,n,a,null,s);this.model.markers._set(n,c,undefined,s)}return}if(o.managedUsingOperations){Tw(this,n,a,c,s)}else{this.model.markers._set(n,c,undefined,s)}}removeMarker(t){this._assertWriterUsedCorrectly();const e=typeof t==\"string\"?t:t.name;if(!this.model.markers.has(e)){throw new N(\"writer-removemarker-no-marker\",this)}const n=this.model.markers.get(e);if(!n.managedUsingOperations){this.model.markers._remove(e);return}const o=n.getRange();Tw(this,e,o,null,n.affectsData)}addRoot(t,e=\"$root\"){this._assertWriterUsedCorrectly();const n=this.model.document.getRoot(t);if(n&&n.isAttached()){throw new N(\"writer-addroot-root-exists\",this)}const o=this.model.document;const i=new Gk(t,e,true,o,o.version);this.batch.addOperation(i);this.model.applyOperation(i);return this.model.document.getRoot(t)}detachRoot(t){this._assertWriterUsedCorrectly();const e=typeof t==\"string\"?this.model.document.getRoot(t):t;if(!e||!e.isAttached()){throw new N(\"writer-detachroot-no-root\",this)}for(const t of this.model.markers){if(t.getRange().root===e){this.removeMarker(t)}}for(const t of e.getAttributeKeys()){this.removeAttribute(t,e)}this.remove(this.createRangeIn(e));const n=this.model.document;const o=new Gk(e.rootName,e.name,false,n,n.version);this.batch.addOperation(o);this.model.applyOperation(o)}setSelection(...t){this._assertWriterUsedCorrectly();this.model.document.selection._setTo(...t)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly();this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){this._assertWriterUsedCorrectly();if(typeof t===\"string\"){this._setSelectionAttribute(t,e)}else{for(const[e,n]of dd(t)){this._setSelectionAttribute(e,n)}}}removeSelectionAttribute(t){this._assertWriterUsedCorrectly();if(typeof t===\"string\"){this._removeSelectionAttribute(t)}else{for(const e of t){this._removeSelectionAttribute(e)}}}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const o=kp._getStoreAttributeKey(t);this.setAttribute(o,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=kp._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this){throw new N(\"writer-incorrect-use\",this)}}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations){continue}const o=n.getRange();let i=false;if(t===\"move\"){const t=e;i=t.containsPosition(o.start)||t.start.isEqual(o.start)||t.containsPosition(o.end)||t.end.isEqual(o.end)}else{const t=e;const n=t.nodeBefore;const r=t.nodeAfter;const s=o.start.parent==n&&o.start.isAtEnd;const a=o.end.parent==r&&o.end.offset==0;const c=o.end.nodeAfter==r;const l=o.start.nodeAfter==r;i=s||a||c||l}if(i){this.updateMarker(n.name,{range:o})}}}}function Dw(t,e,n,o){const i=t.model;const r=i.document;let s=o.start;let a;let c;let l;for(const t of o.getWalker({shallow:true})){l=t.item.getAttribute(e);if(a&&c!=l){if(c!=n){d()}s=a}a=t.nextPosition;c=l}if(a instanceof Wf&&a!=s&&c!=n){d()}function d(){const o=new Zf(s,a);const l=o.root.document?r.version:null;const d=new Hk(o,e,c,n,l);t.batch.addOperation(d);i.applyOperation(d)}}function Iw(t,e,n,o){const i=t.model;const r=i.document;const s=o.getAttribute(e);let a,c;if(s!=n){const l=o.root===o;if(l){const t=o.document?r.version:null;c=new qk(o,e,s,n,t)}else{a=new Zf(Wf._createBefore(o),t.createPositionAfter(o));const i=a.root.document?r.version:null;c=new Hk(a,e,s,n,i)}t.batch.addOperation(c);i.applyOperation(c)}}function Tw(t,e,n,o,i){const r=t.model;const s=r.document;const a=new Vk(e,n,o,r.markers,!!i,s.version);t.batch.addOperation(a);r.applyOperation(a)}function Sw(t,e,n,o){let i;if(t.root.document){const n=o.document;const r=new Wf(n.graveyard,[0]);i=new Lk(t,e,r,n.version)}else{i=new vw(t,e)}n.addOperation(i);o.applyOperation(i)}function Bw(t,e){if(t===e){return true}if(t instanceof bw&&e instanceof bw){return true}return false}function Mw(t,e,n={}){if(e.isCollapsed){return}const o=e.getFirstRange();if(o.root.rootName==\"$graveyard\"){return}const i=t.schema;t.change((t=>{if(!n.doNotResetEntireContent&&qw(i,e)){Ww(t,e);return}const r={};if(!n.doNotAutoparagraph){const t=e.getSelectedElement();if(t){Object.assign(r,i.getAttributesWithProperty(t,\"copyOnReplace\",true))}}const[s,a]=Pw(o);if(!s.isTouching(a)){t.remove(t.createRange(s,a))}if(!n.leaveUnmerged){Lw(t,s,a);i.removeDisallowedAttributes(s.parent.getChildren(),t)}Gw(t,e,s);if(!n.doNotAutoparagraph&&jw(i,s)){Uw(t,s,e,r)}s.detach();a.detach()}))}function Pw(t){const e=t.root.document.model;const n=t.start;let o=t.end;if(e.hasContent(t,{ignoreMarkers:true})){const n=Nw(o);if(n&&o.isTouching(e.createPositionAt(n,0))){const n=e.createSelection(t);e.modifySelection(n,{direction:\"backward\"});const i=n.getLastPosition();const r=e.createRange(i,o);if(!e.hasContent(r,{ignoreMarkers:true})){o=i}}}return[cw.fromPosition(n,\"toPrevious\"),cw.fromPosition(o,\"toNext\")]}function Nw(t){const e=t.parent;const n=e.root.document.model.schema;const o=e.getAncestors({parentFirst:true,includeSelf:true});for(const t of o){if(n.isLimit(t)){return null}if(n.isBlock(t)){return t}}}function Lw(t,e,n){const o=t.model;if(!Vw(t.model.schema,e,n)){return}const[i,r]=Fw(e,n);if(!i||!r){return}if(!o.hasContent(i,{ignoreMarkers:true})&&o.hasContent(r,{ignoreMarkers:true})){Ow(t,e,n,i.parent)}else{zw(t,e,n,i.parent)}}function zw(t,e,n,o){const i=e.parent;const r=n.parent;if(i==o||r==o){return}e=t.createPositionAfter(i);n=t.createPositionBefore(r);if(!n.isEqual(e)){t.insert(r,e)}t.merge(e);while(n.parent.isEmpty){const e=n.parent;n=t.createPositionBefore(e);t.remove(e)}if(!Vw(t.model.schema,e,n)){return}zw(t,e,n,o)}function Ow(t,e,n,o){const i=e.parent;const r=n.parent;if(i==o||r==o){return}e=t.createPositionAfter(i);n=t.createPositionBefore(r);if(!n.isEqual(e)){t.insert(i,n)}while(e.parent.isEmpty){const n=e.parent;e=t.createPositionBefore(n);t.remove(n)}n=t.createPositionBefore(r);Rw(t,n);if(!Vw(t.model.schema,e,n)){return}Ow(t,e,n,o)}function Rw(t,e){const n=e.nodeBefore;const o=e.nodeAfter;if(n.name!=o.name){t.rename(n,o.name)}t.clearAttributes(n);t.setAttributes(Object.fromEntries(o.getAttributes()),n);t.merge(e)}function Vw(t,e,n){const o=e.parent;const i=n.parent;if(o==i){return false}if(t.isLimit(o)||t.isLimit(i)){return false}return Hw(e,n,t)}function Fw(t,e){const n=t.getAncestors();const o=e.getAncestors();let i=0;while(n[i]&&n[i]==o[i]){i++}return[n[i],o[i]]}function jw(t,e){const n=t.checkChild(e,\"$text\");const o=t.checkChild(e,\"paragraph\");return!n&&o}function Hw(t,e,n){const o=new Zf(t,e);for(const t of o.getWalker()){if(n.isLimit(t.item)){return false}}return true}function Uw(t,e,n,o={}){const i=t.createElement(\"paragraph\");t.model.schema.setAllowedAttributes(i,o,t);t.insert(i,e);Gw(t,n,t.createPositionAt(i,0))}function Ww(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n));Uw(t,t.createPositionAt(n,0),e)}function qw(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n)){return false}const o=e.getFirstRange();if(o.start.parent==o.end.parent){return false}return t.checkChild(n,\"paragraph\")}function Gw(t,e,n){if(e instanceof kp){t.setSelection(n)}else{e.setTo(n)}}function $w(t,e){return t.change((t=>{const n=t.createDocumentFragment();const o=e.getFirstRange();if(!o||o.isCollapsed){return n}const i=o.start.root;const r=o.start.getCommonPath(o.end);const s=i.getNodeByPath(r);let a;if(o.start.parent==o.end.parent){a=o}else{a=t.createRange(t.createPositionAt(s,o.start.path[r.length]),t.createPositionAt(s,o.end.path[r.length]+1))}const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:true})){if(e.is(\"$textProxy\")){t.appendText(e.data,e.getAttributes(),n)}else{t.append(t.cloneElement(e,true),n)}}if(a!=o){const e=o._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0];const i=t.createRange(t.createPositionAt(n,0),e.start);const r=t.createRange(e.end,t.createPositionAt(n,\"end\"));Kw(r,t);Kw(i,t)}return n}))}function Kw(t,e){const n=[];Array.from(t.getItems({direction:\"backward\"})).map((t=>e.createRangeOn(t))).filter((e=>{const n=(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end));return n})).forEach((t=>{n.push(t.start.parent);e.remove(t)}));n.forEach((t=>{let n=t;while(n.parent&&n.isEmpty){const t=e.createRangeOn(n);n=n.parent;e.remove(t)}}))}function Yw(t,e,n){return t.change((o=>{const i=n?n:t.document.selection;if(!i.isCollapsed){t.deleteContent(i,{doNotAutoparagraph:true})}const r=new Qw(t,o,i.anchor);const s=[];let a;if(e.is(\"documentFragment\")){if(e.markers.size){const t=[];for(const[n,o]of e.markers){const{start:e,end:i}=o;const r=e.isEqual(i);t.push({position:e,name:n,isCollapsed:r},{position:i,name:n,isCollapsed:r})}t.sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:n,name:i,isCollapsed:r}of t){let t=null;let a=null;const c=n.parent===e&&n.isAtStart;const l=n.parent===e&&n.isAtEnd;if(!c&&!l){t=o.createElement(\"$marker\");o.insert(t,n)}else if(r){a=c?\"start\":\"end\"}s.push({name:i,element:t,collapsed:a})}}a=e.getChildren()}else{a=[e]}r.handleNodes(a);let c=r.getSelectionRange();if(e.is(\"documentFragment\")&&s.length){const t=c?mp.fromRange(c):null;const e={};for(let t=s.length-1;t>=0;t--){const{name:n,element:i,collapsed:a}=s[t];const c=!e[n];if(c){e[n]=[]}if(i){const t=o.createPositionAt(i,\"before\");e[n].push(t);o.remove(i)}else{const t=r.getAffectedRange();if(!t){if(a){e[n].push(r.position)}continue}if(a){e[n].push(t[a])}else{e[n].push(c?t.start:t.end)}}}for(const[t,[n,i]]of Object.entries(e)){if(n&&i&&n.root===i.root&&n.root.document&&!o.model.markers.has(t)){o.addMarker(t,{usingOperation:true,affectsData:true,range:new Zf(n,i)})}}if(t){c=t.toRange();t.detach()}}if(c){if(i instanceof kp){o.setSelection(c)}else{i.setTo(c)}}else{}const l=r.getAffectedRange()||t.createRange(i.anchor);r.destroy();return l}))}class Qw{constructor(t,e,n){this._firstNode=null;this._lastNode=null;this._lastAutoParagraph=null;this._filterAttributesOf=[];this._affectedStart=null;this._affectedEnd=null;this._nodeToSelect=null;this.model=t;this.writer=e;this.position=n;this.canMergeWith=new Set([this.position.parent]);this.schema=t.schema;this._documentFragment=e.createDocumentFragment();this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0)}handleNodes(t){for(const e of Array.from(t)){this._handleNode(e)}this._insertPartialFragment();if(this._lastAutoParagraph){this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph)}this._mergeOnRight();this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer);this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode);const n=this.writer.createPositionAfter(t);if(n.isAfter(e)){this._lastNode=t;if(this.position.parent!=t||!this.position.isAtEnd){throw new N(\"insertcontent-invalid-insertion-position\",this)}this.position=n;this._setAffectedBoundaries(this.position)}}getSelectionRange(){if(this._nodeToSelect){return Zf._createOn(this._nodeToSelect)}return this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){if(!this._affectedStart){return null}return new Zf(this._affectedStart,this._affectedEnd)}destroy(){if(this._affectedStart){this._affectedStart.detach()}if(this._affectedEnd){this._affectedEnd.detach()}}_handleNode(t){if(this.schema.isObject(t)){this._handleObject(t);return}let e=this._checkAndAutoParagraphToAllowedPosition(t);if(!e){e=this._checkAndSplitToAllowedPosition(t);if(!e){this._handleDisallowedNode(t);return}}this._appendToFragment(t);if(!this._firstNode){this._firstNode=t}this._lastNode=t}_insertPartialFragment(){if(this._documentFragment.isEmpty){return}const t=cw.fromPosition(this.position,\"toNext\");this._setAffectedBoundaries(this.position);if(this._documentFragment.getChild(0)==this._firstNode){this.writer.insert(this._firstNode,this.position);this._mergeOnLeft();this.position=t.toPosition()}if(!this._documentFragment.isEmpty){this.writer.insert(this._documentFragment,this.position)}this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0);this.position=t.toPosition();t.detach()}_handleObject(t){if(this._checkAndSplitToAllowedPosition(t)){this._appendToFragment(t)}else{this._tryAutoparagraphing(t)}}_handleDisallowedNode(t){if(t.is(\"element\")){this.handleNodes(t.getChildren())}else{this._tryAutoparagraphing(t)}}_appendToFragment(t){if(!this.schema.checkChild(this.position,t)){throw new N(\"insertcontent-wrong-position\",this,{node:t,position:this.position})}this.writer.insert(t,this._documentFragmentPosition);this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize);if(this.schema.isObject(t)&&!this.schema.checkChild(this.position,\"$text\")){this._nodeToSelect=t}else{this._nodeToSelect=null}this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){if(!this._affectedStart){this._affectedStart=cw.fromPosition(t,\"toPrevious\")}if(!this._affectedEnd||this._affectedEnd.isBefore(t)){if(this._affectedEnd){this._affectedEnd.detach()}this._affectedEnd=cw.fromPosition(t,\"toNext\")}}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof Ff)){return}if(!this._canMergeLeft(t)){return}const e=cw._createBefore(t);e.stickiness=\"toNext\";const n=cw.fromPosition(this.position,\"toNext\");if(this._affectedStart.isEqual(e)){this._affectedStart.detach();this._affectedStart=cw._createAt(e.nodeBefore,\"end\",\"toPrevious\")}if(this._firstNode===this._lastNode){this._firstNode=e.nodeBefore;this._lastNode=e.nodeBefore}this.writer.merge(e);if(e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode){this._affectedEnd.detach();this._affectedEnd=cw._createAt(e.nodeBefore,\"end\",\"toNext\")}this.position=n.toPosition();n.detach();this._filterAttributesOf.push(this.position.parent);e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof Ff)){return}if(!this._canMergeRight(t)){return}const e=cw._createAfter(t);e.stickiness=\"toNext\";if(!this.position.isEqual(e)){throw new N(\"insertcontent-invalid-insertion-position\",this)}this.position=Wf._createAt(e.nodeBefore,\"end\");const n=cw.fromPosition(this.position,\"toPrevious\");if(this._affectedEnd.isEqual(e)){this._affectedEnd.detach();this._affectedEnd=cw._createAt(e.nodeBefore,\"end\",\"toNext\")}if(this._firstNode===this._lastNode){this._firstNode=e.nodeBefore;this._lastNode=e.nodeBefore}this.writer.merge(e);if(e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode){this._affectedStart.detach();this._affectedStart=cw._createAt(e.nodeBefore,0,\"toPrevious\")}this.position=n.toPosition();n.detach();this._filterAttributesOf.push(this.position.parent);e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof Ff&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof Ff&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_tryAutoparagraphing(t){const e=this.writer.createElement(\"paragraph\");if(this._getAllowedIn(this.position.parent,e)&&this.schema.checkChild(e,t)){e._appendChild(t);this._handleNode(e)}}_checkAndAutoParagraphToAllowedPosition(t){if(this.schema.checkChild(this.position.parent,t)){return true}if(!this.schema.checkChild(this.position.parent,\"paragraph\")||!this.schema.checkChild(\"paragraph\",t)){return false}this._insertPartialFragment();const e=this.writer.createElement(\"paragraph\");this.writer.insert(e,this.position);this._setAffectedBoundaries(this.position);this._lastAutoParagraph=e;this.position=this.writer.createPositionAt(e,0);return true}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(this.position.parent,t);if(!e){return false}if(e!=this.position.parent){this._insertPartialFragment()}while(e!=this.position.parent){if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t);if(t.isEmpty&&t.parent===e){this.writer.remove(t)}}else if(this.position.isAtEnd){this.position=this.writer.createPositionAfter(this.position.parent)}else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position);this.writer.split(this.position);this.position=t;this.canMergeWith.add(this.position.nodeAfter)}}return true}_getAllowedIn(t,e){if(this.schema.checkChild(t,e)){return t}if(this.schema.isLimit(t)){return null}return this._getAllowedIn(t.parent,e)}}function Zw(t,e,n,o={}){if(!t.schema.isObject(e)){throw new N(\"insertobject-element-not-an-object\",t,{object:e})}const i=n?n:t.document.selection;let r=i;if(o.findOptimalPosition&&t.schema.isBlock(e)){r=t.createSelection(t.schema.findOptimalInsertionRange(i,o.findOptimalPosition))}const s=sd(i.getSelectedBlocks());const a={};if(s){Object.assign(a,t.schema.getAttributesWithProperty(s,\"copyOnReplace\",true))}return t.change((n=>{if(!r.isCollapsed){t.deleteContent(r,{doNotAutoparagraph:true})}let i=e;const s=r.anchor.parent;if(!t.schema.checkChild(s,e)&&t.schema.checkChild(s,\"paragraph\")&&t.schema.checkChild(\"paragraph\",e)){i=n.createElement(\"paragraph\");n.insert(e,i)}t.schema.setAllowedAttributes(i,a,n);const c=t.insertContent(i,r);if(c.isCollapsed){return c}if(o.setSelection){Jw(n,e,o.setSelection,a)}return c}))}function Jw(t,e,n,o){const i=t.model;if(n==\"on\"){t.setSelection(e,\"on\");return}if(n!=\"after\"){throw new N(\"insertobject-invalid-place-parameter-value\",i)}let r=e.nextSibling;if(i.schema.isInline(e)){t.setSelection(e,\"after\");return}const s=r&&i.schema.checkChild(r,\"$text\");if(!s&&i.schema.checkChild(e.parent,\"paragraph\")){r=t.createElement(\"paragraph\");i.schema.setAllowedAttributes(r,o,t);i.insertContent(r,t.createPositionAfter(e))}if(r){t.setSelection(r,0)}}const Xw=' ,.?!:;\"-()';function tA(t,e,n={}){const o=t.schema;const i=n.direction!=\"backward\";const r=n.unit?n.unit:\"character\";const s=!!n.treatEmojiAsSingleUnit;const a=e.focus;const c=new Hf({boundaries:iA(a,i),singleCharacters:true,direction:i?\"forward\":\"backward\"});const l={walker:c,schema:o,isForward:i,unit:r,treatEmojiAsSingleUnit:s};let d;while(d=c.next()){if(d.done){return}const n=eA(l,d.value);if(n){if(e instanceof kp){t.change((t=>{t.setSelectionFocus(n)}))}else{e.setFocus(n)}return}}}function eA(t,e){const{isForward:n,walker:o,unit:i,schema:r,treatEmojiAsSingleUnit:s}=t;const{type:a,item:c,nextPosition:l}=e;if(a==\"text\"){if(t.unit===\"word\"){return oA(o,n)}return nA(o,i,s)}if(a==(n?\"elementStart\":\"elementEnd\")){if(r.isSelectable(c)){return Wf._createAt(c,n?\"after\":\"before\")}if(r.checkChild(l,\"$text\")){return l}}else{if(r.isLimit(c)){o.skip((()=>true));return}if(r.checkChild(l,\"$text\")){return l}}}function nA(t,e,n){const o=t.position.textNode;if(o){const i=o.data;let r=t.position.offset-o.startOffset;while(_d(i,r)||e==\"character\"&&Cd(i,r)||n&&yd(i,r)){t.next();r=t.position.offset-o.startOffset}}return t.position}function oA(t,e){let n=t.position.textNode;if(!n){n=e?t.position.nodeAfter:t.position.nodeBefore}while(n&&n.is(\"$text\")){const o=t.position.offset-n.startOffset;if(sA(n,o,e)){n=e?t.position.nodeAfter:t.position.nodeBefore}else if(rA(n.data,o,e)){break}else{t.next()}}return t.position}function iA(t,e){const n=t.root;const o=Wf._createAt(n,e?\"end\":0);if(e){return new Zf(t,o)}else{return new Zf(o,t)}}function rA(t,e,n){const o=e+(n?0:-1);return Xw.includes(t.charAt(o))}function sA(t,e,n){return e===(n?t.offsetSize:0)}class aA extends(mt()){constructor(){super();this.markers=new _w;this.document=new ww(this);this.schema=new Qb;this._pendingChanges=[];this._currentWriter=null;[\"deleteContent\",\"modifySelection\",\"getSelectedContent\",\"applyOperation\"].forEach((t=>this.decorate(t)));this.on(\"applyOperation\",((t,e)=>{const n=e[0];n._validate()}),{priority:\"highest\"});this.schema.register(\"$root\",{isLimit:true});this.schema.register(\"$container\",{allowIn:[\"$root\",\"$container\"]});this.schema.register(\"$block\",{allowIn:[\"$root\",\"$container\"],isBlock:true});this.schema.register(\"$blockObject\",{allowWhere:\"$block\",isBlock:true,isObject:true});this.schema.register(\"$inlineObject\",{allowWhere:\"$text\",allowAttributesOf:\"$text\",isInline:true,isObject:true});this.schema.register(\"$text\",{allowIn:\"$block\",isInline:true,isContent:true});this.schema.register(\"$clipboardHolder\",{allowContentOf:\"$root\",allowChildren:\"$text\",isLimit:true});this.schema.register(\"$documentFragment\",{allowContentOf:\"$root\",allowChildren:\"$text\",isLimit:true});this.schema.register(\"$marker\");this.schema.addChildCheck(((t,e)=>{if(e.name===\"$marker\"){return true}}));zb(this);this.document.registerPostFixer(mb);this.on(\"insertContent\",((t,[e,n])=>{t.return=Yw(this,e,n)}));this.on(\"insertObject\",((t,[e,n,o])=>{t.return=Zw(this,e,n,o)}));this.on(\"canEditAt\",(t=>{const e=!this.document.isReadOnly;t.return=e;if(!e){t.stop()}}))}change(t){try{if(this._pendingChanges.length===0){this._pendingChanges.push({batch:new uw,callback:t});return this._runPendingChanges()[0]}else{return t(this._currentWriter)}}catch(t){N.rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{if(!t){t=new uw}else if(typeof t===\"function\"){e=t;t=new uw}else if(!(t instanceof uw)){t=new uw(t)}this._pendingChanges.push({batch:t,callback:e});if(this._pendingChanges.length==1){this._runPendingChanges()}}catch(t){N.rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n,...o){const i=cA(e,n);return this.fire(\"insertContent\",[t,i,n,...o])}insertObject(t,e,n,o,...i){const r=cA(e,n);return this.fire(\"insertObject\",[t,r,o,o,...i])}deleteContent(t,e){Mw(this,t,e)}modifySelection(t,e){tA(this,t,e)}getSelectedContent(t){return $w(this,t)}hasContent(t,e={}){const n=t instanceof Zf?t:Zf._createIn(t);if(n.isCollapsed){return false}const{ignoreWhitespaces:o=false,ignoreMarkers:i=false}=e;if(!i){for(const t of this.markers.getMarkersIntersectingRange(n)){if(t.affectsData){return true}}}for(const t of n.getItems()){if(this.schema.isContent(t)){if(t.is(\"$textProxy\")){if(!o){return true}else if(t.data.search(/\\S/)!==-1){return true}}else{return true}}}return false}canEditAt(t){const e=cA(t);return this.fire(\"canEditAt\",[e])}createPositionFromPath(t,e,n){return new Wf(t,e,n)}createPositionAt(t,e){return Wf._createAt(t,e)}createPositionAfter(t){return Wf._createAfter(t)}createPositionBefore(t){return Wf._createBefore(t)}createRange(t,e){return new Zf(t,e)}createRangeIn(t){return Zf._createIn(t)}createRangeOn(t){return Zf._createOn(t)}createSelection(...t){return new rp(...t)}createBatch(t){return new uw(t)}createOperationFromJSON(t){return Kk.fromJSON(t,this.document)}destroy(){this.document.destroy();this.stopListening()}_runPendingChanges(){const t=[];this.fire(\"_beforeChanges\");try{while(this._pendingChanges.length){const e=this._pendingChanges[0].batch;this._currentWriter=new Ew(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n);this.document._handleChangeBlock(this._currentWriter);this._pendingChanges.shift();this._currentWriter=null}}finally{this._pendingChanges.length=0;this._currentWriter=null;this.fire(\"_afterChanges\")}return t}}function cA(t,e){if(!t){return}if(t instanceof rp||t instanceof kp){return t}if(t instanceof zf){if(e||e===0){return new rp(t,e)}else if(t.is(\"rootElement\")){return new rp(t,\"in\")}else{return new rp(t,\"on\")}}return new rp(t)}class lA extends Zm{constructor(){super(...arguments);this.domEventType=\"click\"}onDomEvent(t){this.fire(t.type,t)}}class dA extends Zm{constructor(){super(...arguments);this.domEventType=[\"mousedown\",\"mouseup\",\"mouseover\",\"mouseout\"]}onDomEvent(t){this.fire(t.type,t)}}class uA{constructor(t){this.document=t}createDocumentFragment(t){return new Zh(this.document,t)}createElement(t,e,n){return new gh(this.document,t,e,n)}createText(t){return new nu(this.document,t)}clone(t,e=false){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;if(e){return this.removeChildren(e.getChildIndex(t),1,e)}return[]}replace(t,e){const n=t.parent;if(n){const o=n.getChildIndex(t);this.removeChildren(o,1,n);this.insertChild(o,e,n);return true}return false}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t);this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new gh(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(pe(t)&&n===undefined){e._setStyle(t)}else{n._setStyle(t,e)}}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return yh._createAt(t,e)}createPositionAfter(t){return yh._createAfter(t)}createPositionBefore(t){return yh._createBefore(t)}createRange(t,e){return new xh(t,e)}createRangeOn(t){return xh._createOn(t)}createRangeIn(t){return xh._createIn(t)}createSelection(...t){return new Dh(...t)}}const hA=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;const mA=/^rgb\\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\\)$/i;const gA=/^rgba\\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\\.?[0-9]+)\\)$/i;const fA=/^hsl\\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\\.?[0-9]+)?\\)$/i;const pA=/^hsla\\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\\.?[0-9]+)\\)$/i;const bA=/\\w+\\((?:[^()]|\\([^()]*\\))*\\)|\\S+/gi;const kA=new Set([\"black\",\"silver\",\"gray\",\"white\",\"maroon\",\"red\",\"purple\",\"fuchsia\",\"green\",\"lime\",\"olive\",\"yellow\",\"navy\",\"blue\",\"teal\",\"aqua\",\"orange\",\"aliceblue\",\"antiquewhite\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"limegreen\",\"linen\",\"magenta\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"oldlace\",\"olivedrab\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"whitesmoke\",\"yellowgreen\",\"activeborder\",\"activecaption\",\"appworkspace\",\"background\",\"buttonface\",\"buttonhighlight\",\"buttonshadow\",\"buttontext\",\"captiontext\",\"graytext\",\"highlight\",\"highlighttext\",\"inactiveborder\",\"inactivecaption\",\"inactivecaptiontext\",\"infobackground\",\"infotext\",\"menu\",\"menutext\",\"scrollbar\",\"threeddarkshadow\",\"threedface\",\"threedhighlight\",\"threedlightshadow\",\"threedshadow\",\"window\",\"windowframe\",\"windowtext\",\"rebeccapurple\",\"currentcolor\",\"transparent\"]);function wA(t){if(t.startsWith(\"#\")){return hA.test(t)}if(t.startsWith(\"rgb\")){return mA.test(t)||gA.test(t)}if(t.startsWith(\"hsl\")){return fA.test(t)||pA.test(t)}return kA.has(t.toLowerCase())}const AA=null&&[\"none\",\"hidden\",\"dotted\",\"dashed\",\"solid\",\"double\",\"groove\",\"ridge\",\"inset\",\"outset\"];function _A(t){return AA.includes(t)}const CA=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function vA(t){return CA.test(t)}const yA=/^[+-]?[0-9]*([.][0-9]+)?%$/;function xA(t){return yA.test(t)}const EA=null&&[\"repeat-x\",\"repeat-y\",\"repeat\",\"space\",\"round\",\"no-repeat\"];function DA(t){return EA.includes(t)}const IA=null&&[\"center\",\"top\",\"bottom\",\"left\",\"right\"];function TA(t){return IA.includes(t)}const SA=null&&[\"fixed\",\"scroll\",\"local\"];function BA(t){return SA.includes(t)}const MA=/^url\\(/;function PA(t){return MA.test(t)}function NA(t=\"\"){if(t===\"\"){return{top:undefined,right:undefined,bottom:undefined,left:undefined}}const e=RA(t);const n=e[0];const o=e[2]||n;const i=e[1]||n;const r=e[3]||i;return{top:n,bottom:o,right:i,left:r}}function LA(t){return e=>{const{top:n,right:o,bottom:i,left:r}=e;const s=[];if(![n,o,r,i].every((t=>!!t))){if(n){s.push([t+\"-top\",n])}if(o){s.push([t+\"-right\",o])}if(i){s.push([t+\"-bottom\",i])}if(r){s.push([t+\"-left\",r])}}else{s.push([t,zA(e)])}return s}}function zA({top:t,right:e,bottom:n,left:o}){const i=[];if(o!==e){i.push(t,e,n,o)}else if(n!==t){i.push(t,e,n)}else if(e!==t){i.push(t,e)}else{i.push(t)}return i.join(\" \")}function OA(t){return e=>({path:t,value:NA(e)})}function RA(t){const e=t.matchAll(bA);return Array.from(e).map((t=>t[0]))}function VA(t){t.setNormalizer(\"background\",FA());t.setNormalizer(\"background-color\",jA());t.setReducer(\"background\",HA());t.setStyleRelation(\"background\",[\"background-color\"])}function FA(){return t=>{const e={};const n=getShorthandValues(t);for(const t of n){if(isRepeat(t)){e.repeat=e.repeat||[];e.repeat.push(t)}else if(isPosition(t)){e.position=e.position||[];e.position.push(t)}else if(isAttachment(t)){e.attachment=t}else if(isColor(t)){e.color=t}else if(isURL(t)){e.image=t}}return{path:\"background\",value:e}}}function jA(){return t=>({path:\"background.color\",value:t})}function HA(){return t=>{const e=[];e.push([\"background-color\",t.color]);return e}}function UA(t){t.setNormalizer(\"border\",WA());t.setNormalizer(\"border-top\",qA(\"top\"));t.setNormalizer(\"border-right\",qA(\"right\"));t.setNormalizer(\"border-bottom\",qA(\"bottom\"));t.setNormalizer(\"border-left\",qA(\"left\"));t.setNormalizer(\"border-color\",GA(\"color\"));t.setNormalizer(\"border-width\",GA(\"width\"));t.setNormalizer(\"border-style\",GA(\"style\"));t.setNormalizer(\"border-top-color\",KA(\"color\",\"top\"));t.setNormalizer(\"border-top-style\",KA(\"style\",\"top\"));t.setNormalizer(\"border-top-width\",KA(\"width\",\"top\"));t.setNormalizer(\"border-right-color\",KA(\"color\",\"right\"));t.setNormalizer(\"border-right-style\",KA(\"style\",\"right\"));t.setNormalizer(\"border-right-width\",KA(\"width\",\"right\"));t.setNormalizer(\"border-bottom-color\",KA(\"color\",\"bottom\"));t.setNormalizer(\"border-bottom-style\",KA(\"style\",\"bottom\"));t.setNormalizer(\"border-bottom-width\",KA(\"width\",\"bottom\"));t.setNormalizer(\"border-left-color\",KA(\"color\",\"left\"));t.setNormalizer(\"border-left-style\",KA(\"style\",\"left\"));t.setNormalizer(\"border-left-width\",KA(\"width\",\"left\"));t.setExtractor(\"border-top\",YA(\"top\"));t.setExtractor(\"border-right\",YA(\"right\"));t.setExtractor(\"border-bottom\",YA(\"bottom\"));t.setExtractor(\"border-left\",YA(\"left\"));t.setExtractor(\"border-top-color\",\"border.color.top\");t.setExtractor(\"border-right-color\",\"border.color.right\");t.setExtractor(\"border-bottom-color\",\"border.color.bottom\");t.setExtractor(\"border-left-color\",\"border.color.left\");t.setExtractor(\"border-top-width\",\"border.width.top\");t.setExtractor(\"border-right-width\",\"border.width.right\");t.setExtractor(\"border-bottom-width\",\"border.width.bottom\");t.setExtractor(\"border-left-width\",\"border.width.left\");t.setExtractor(\"border-top-style\",\"border.style.top\");t.setExtractor(\"border-right-style\",\"border.style.right\");t.setExtractor(\"border-bottom-style\",\"border.style.bottom\");t.setExtractor(\"border-left-style\",\"border.style.left\");t.setReducer(\"border-color\",getBoxSidesValueReducer(\"border-color\"));t.setReducer(\"border-style\",getBoxSidesValueReducer(\"border-style\"));t.setReducer(\"border-width\",getBoxSidesValueReducer(\"border-width\"));t.setReducer(\"border-top\",XA(\"top\"));t.setReducer(\"border-right\",XA(\"right\"));t.setReducer(\"border-bottom\",XA(\"bottom\"));t.setReducer(\"border-left\",XA(\"left\"));t.setReducer(\"border\",JA());t.setStyleRelation(\"border\",[\"border-color\",\"border-style\",\"border-width\",\"border-top\",\"border-right\",\"border-bottom\",\"border-left\",\"border-top-color\",\"border-right-color\",\"border-bottom-color\",\"border-left-color\",\"border-top-style\",\"border-right-style\",\"border-bottom-style\",\"border-left-style\",\"border-top-width\",\"border-right-width\",\"border-bottom-width\",\"border-left-width\"]);t.setStyleRelation(\"border-color\",[\"border-top-color\",\"border-right-color\",\"border-bottom-color\",\"border-left-color\"]);t.setStyleRelation(\"border-style\",[\"border-top-style\",\"border-right-style\",\"border-bottom-style\",\"border-left-style\"]);t.setStyleRelation(\"border-width\",[\"border-top-width\",\"border-right-width\",\"border-bottom-width\",\"border-left-width\"]);t.setStyleRelation(\"border-top\",[\"border-top-color\",\"border-top-style\",\"border-top-width\"]);t.setStyleRelation(\"border-right\",[\"border-right-color\",\"border-right-style\",\"border-right-width\"]);t.setStyleRelation(\"border-bottom\",[\"border-bottom-color\",\"border-bottom-style\",\"border-bottom-width\"]);t.setStyleRelation(\"border-left\",[\"border-left-color\",\"border-left-style\",\"border-left-width\"])}function WA(){return t=>{const{color:e,style:n,width:o}=ZA(t);return{path:\"border\",value:{color:getBoxSidesValues(e),style:getBoxSidesValues(n),width:getBoxSidesValues(o)}}}}function qA(t){return e=>{const{color:n,style:o,width:i}=ZA(e);const r={};if(n!==undefined){r.color={[t]:n}}if(o!==undefined){r.style={[t]:o}}if(i!==undefined){r.width={[t]:i}}return{path:\"border\",value:r}}}function GA(t){return e=>({path:\"border\",value:$A(e,t)})}function $A(t,e){return{[e]:getBoxSidesValues(t)}}function KA(t,e){return n=>({path:\"border\",value:{[t]:{[e]:n}}})}function YA(t){return(e,n)=>{if(n.border){return QA(n.border,t)}}}function QA(t,e){const n={};if(t.width&&t.width[e]){n.width=t.width[e]}if(t.style&&t.style[e]){n.style=t.style[e]}if(t.color&&t.color[e]){n.color=t.color[e]}return n}function ZA(t){const e={};const n=getShorthandValues(t);for(const t of n){if(isLength(t)||/thin|medium|thick/.test(t)){e.width=t}else if(isLineStyle(t)){e.style=t}else{e.color=t}}return e}function JA(){return e=>{const n=QA(e,\"top\");const o=QA(e,\"right\");const i=QA(e,\"bottom\");const r=QA(e,\"left\");const s=[n,o,i,r];const a={width:t(s,\"width\"),style:t(s,\"style\"),color:t(s,\"color\")};const c=t_(a,\"all\");if(c.length){return c}const l=Object.entries(a).reduce(((t,[e,n])=>{if(n){t.push([`border-${e}`,n]);s.forEach((t=>delete t[e]))}return t}),[]);return[...l,...t_(n,\"top\"),...t_(o,\"right\"),...t_(i,\"bottom\"),...t_(r,\"left\")]};function t(t,e){return t.map((t=>t[e])).reduce(((t,e)=>t==e?t:null))}}function XA(t){return e=>t_(e,t)}function t_(t,e){const n=[];if(t&&t.width){n.push(\"width\")}if(t&&t.style){n.push(\"style\")}if(t&&t.color){n.push(\"color\")}if(n.length==3){const o=n.map((e=>t[e])).join(\" \");return[e==\"all\"?[\"border\",o]:[`border-${e}`,o]]}if(e==\"all\"){return[]}return n.map((n=>[`border-${e}-${n}`,t[n]]))}function e_(t){t.setNormalizer(\"margin\",OA(\"margin\"));t.setNormalizer(\"margin-top\",(t=>({path:\"margin.top\",value:t})));t.setNormalizer(\"margin-right\",(t=>({path:\"margin.right\",value:t})));t.setNormalizer(\"margin-bottom\",(t=>({path:\"margin.bottom\",value:t})));t.setNormalizer(\"margin-left\",(t=>({path:\"margin.left\",value:t})));t.setReducer(\"margin\",LA(\"margin\"));t.setStyleRelation(\"margin\",[\"margin-top\",\"margin-right\",\"margin-bottom\",\"margin-left\"])}function n_(t){t.setNormalizer(\"padding\",getPositionShorthandNormalizer(\"padding\"));t.setNormalizer(\"padding-top\",(t=>({path:\"padding.top\",value:t})));t.setNormalizer(\"padding-right\",(t=>({path:\"padding.right\",value:t})));t.setNormalizer(\"padding-bottom\",(t=>({path:\"padding.bottom\",value:t})));t.setNormalizer(\"padding-left\",(t=>({path:\"padding.left\",value:t})));t.setReducer(\"padding\",getBoxSidesValueReducer(\"padding\"));t.setStyleRelation(\"padding\",[\"padding-top\",\"padding-right\",\"padding-bottom\",\"padding-left\"])}class o_{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n){throw new N(\"commandcollection-command-not-found\",this,{commandName:t})}return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands()){t.destroy()}}}class i_ extends cd{constructor(t){super();this.editor=t}set(t,e,n={}){if(typeof e==\"string\"){const t=e;e=(e,n)=>{this.editor.execute(t);n()}}super.set(t,e,n)}}const r_=\"contentEditing\";const s_=\"common\";class a_{constructor(t){this.keystrokeInfos=new Map;this._editor=t;const e=t.config.get(\"menuBar.isVisible\");const n=t.locale.t;this.addKeystrokeInfoCategory({id:r_,label:n(\"Content editing keystrokes\"),description:n(\"These keyboard shortcuts allow for quick access to content editing features.\")});const o=[{label:n(\"Close contextual balloons, dropdowns, and dialogs\"),keystroke:\"Esc\"},{label:n(\"Open the accessibility help dialog\"),keystroke:\"Alt+0\"},{label:n(\"Move focus between form fields (inputs, buttons, etc.)\"),keystroke:[[\"Tab\"],[\"Shift+Tab\"]]},{label:n(\"Move focus to the toolbar, navigate between toolbars\"),keystroke:\"Alt+F10\",mayRequireFn:true},{label:n(\"Navigate through the toolbar or menu bar\"),keystroke:[[\"arrowup\"],[\"arrowright\"],[\"arrowdown\"],[\"arrowleft\"]]},{label:n(\"Execute the currently focused button. Executing buttons that interact with the editor content moves the focus back to the content.\"),keystroke:[[\"Enter\"],[\"Space\"]]}];if(e){o.push({label:n(\"Move focus to the menu bar, navigate between menu bars\"),keystroke:\"Alt+F9\",mayRequireFn:true})}this.addKeystrokeInfoCategory({id:\"navigation\",label:n(\"User interface and content navigation keystrokes\"),description:n(\"Use the following keystrokes for more efficient navigation in the CKEditor 5 user interface.\"),groups:[{id:\"common\",keystrokes:o}]})}addKeystrokeInfoCategory({id:t,label:e,description:n,groups:o}){this.keystrokeInfos.set(t,{id:t,label:e,description:n,groups:new Map});this.addKeystrokeInfoGroup({categoryId:t,id:s_});if(o){o.forEach((e=>{this.addKeystrokeInfoGroup({categoryId:t,...e})}))}}addKeystrokeInfoGroup({categoryId:t=r_,id:e,label:n,keystrokes:o}){const i=this.keystrokeInfos.get(t);if(!i){throw new N(\"accessibility-unknown-keystroke-info-category\",this._editor,{groupId:e,categoryId:t})}i.groups.set(e,{id:e,label:n,keystrokes:o||[]})}addKeystrokeInfos({categoryId:t=r_,groupId:e=s_,keystrokes:n}){if(!this.keystrokeInfos.has(t)){throw new N(\"accessibility-unknown-keystroke-info-category\",this._editor,{categoryId:t,keystrokes:n})}const o=this.keystrokeInfos.get(t);if(!o.groups.has(e)){throw new N(\"accessibility-unknown-keystroke-info-group\",this._editor,{groupId:e,categoryId:t,keystrokes:n})}o.groups.get(e).keystrokes.push(...n)}}class c_ extends(mt()){constructor(t={}){super();const e=this.constructor;const{translations:n,...o}=e.defaultConfig||{};const{translations:i=n,...r}=t;const s=t.language||o.language;this._context=t.context||new Md({language:s,translations:i});this._context._addEditor(this,!t.context);const a=Array.from(e.builtinPlugins||[]);this.config=new Ga(r,o);this.config.define(\"plugins\",a);this.config.define(this._context._getEditorConfig());this.plugins=new Bd(this,a,this._context.plugins);this.locale=this._context.locale;this.t=this.locale.t;this._readOnlyLocks=new Set;this.commands=new o_;this.set(\"state\",\"initializing\");this.once(\"ready\",(()=>this.state=\"ready\"),{priority:\"high\"});this.once(\"destroy\",(()=>this.state=\"destroyed\"),{priority:\"high\"});this.model=new aA;this.on(\"change:isReadOnly\",(()=>{this.model.document.isReadOnly=this.isReadOnly}));const c=new dh;this.data=new _k(this.model,c);this.editing=new qb(this.model,c);this.editing.view.document.bind(\"isReadOnly\").to(this);this.conversion=new vk([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 i_(this);this.keystrokes.listenTo(this.editing.view.document);this.accessibility=new a_(this)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(t){throw new N(\"editor-isreadonly-has-no-setter\")}enableReadOnlyMode(t){if(typeof t!==\"string\"&&typeof t!==\"symbol\"){throw new N(\"editor-read-only-lock-id-invalid\",null,{lockId:t})}if(this._readOnlyLocks.has(t)){return}this._readOnlyLocks.add(t);if(this._readOnlyLocks.size===1){this.fire(\"change:isReadOnly\",\"isReadOnly\",true,false)}}disableReadOnlyMode(t){if(typeof t!==\"string\"&&typeof t!==\"symbol\"){throw new N(\"editor-read-only-lock-id-invalid\",null,{lockId:t})}if(!this._readOnlyLocks.has(t)){return}this._readOnlyLocks.delete(t);if(this._readOnlyLocks.size===0){this.fire(\"change:isReadOnly\",\"isReadOnly\",false,true)}}setData(t){this.data.set(t)}getData(t){return this.data.get(t)}initPlugins(){const t=this.config;const e=t.get(\"plugins\");const n=t.get(\"removePlugins\")||[];const o=t.get(\"extraPlugins\")||[];const i=t.get(\"substitutePlugins\")||[];return this.plugins.init(e.concat(o),n,i)}destroy(){let t=Promise.resolve();if(this.state==\"initializing\"){t=new Promise((t=>this.once(\"ready\",t)))}return t.then((()=>{this.fire(\"destroy\");this.stopListening();this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy();this.data.destroy();this.editing.destroy();this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(t,...e){try{return this.commands.execute(t,...e)}catch(t){N.rethrowUnexpectedError(t,this)}}focus(){this.editing.view.focus()}static create(...t){throw new Error(\"This is an abstract method.\")}}function l_(t){if(!Ke(t.updateSourceElement)){throw new N(\"attachtoform-missing-elementapi-interface\",t)}const e=t.sourceElement;if(d_(e)&&e.form){let n;const o=e.form;const i=()=>t.updateSourceElement();if(Ke(o.submit)){n=o.submit;o.submit=()=>{i();n.apply(o)}}o.addEventListener(\"submit\",i);t.on(\"destroy\",(()=>{o.removeEventListener(\"submit\",i);if(n){o.submit=n}}))}}function d_(t){return!!t&&t.tagName.toLowerCase()===\"textarea\"}function u_(t){class e extends t{updateSourceElement(t){if(!this.sourceElement){throw new N(\"editor-missing-sourceelement\",this)}const e=this.config.get(\"updateSourceElementOnDestroy\");const n=this.sourceElement instanceof HTMLTextAreaElement;if(!e&&!n){_c(this.sourceElement,\"\");return}const o=typeof t===\"string\"?t:this.data.get();_c(this.sourceElement,o)}}return e}u_.updateSourceElement=u_(Object).prototype.updateSourceElement;function h_(t,e){if(e.ckeditorInstance){throw new CKEditorError(\"editor-source-element-already-used\",t)}e.ckeditorInstance=t;t.once(\"destroy\",(()=>{delete e.ckeditorInstance}))}class m_ extends Pd{static get pluginName(){return\"PendingActions\"}init(){this.set(\"hasAny\",false);this._actions=new rd({idProperty:\"_id\"});this._actions.delegate(\"add\",\"remove\").to(this)}add(t){if(typeof t!==\"string\"){throw new N(\"pendingactions-add-invalid-message\",this)}const e=new(mt());e.set(\"message\",t);this._actions.add(e);this.hasAny=true;return e}remove(t){this._actions.remove(t);this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}const g_=' ';const f_=' ';const p_=' ';const b_=' ';const k_=' ';const w_=' ';const A_=' ';const __=' ';const C_=' ';const v_=' ';const y_=' ';const x_=' ';const E_=' ';const D_=' ';const I_=' ';const T_=' ';const S_=' ';const B_=' ';const M_=' ';const P_=' ';const N_=' ';const L_=' ';const z_=' ';const O_=' ';const R_=' ';const V_=' ';const F_=' ';const j_=' ';const H_=' ';const U_=' ';const W_=' ';const q_=' ';const G_=' ';const $_=' ';const K_=' ';const Y_=' ';const Q_=' ';const Z_=' ';const J_=' ';const X_=' ';const tC=' ';const eC=' ';const nC=' ';const oC=' ';const iC=' ';const rC=' ';const sC=' ';const aC=' ';const cC=' ';const lC=' ';const dC=' ';const uC=' ';const hC=' ';const mC=' ';const gC=' ';const fC=' ';const pC=' ';const bC=' ';const kC=' ';const wC=' ';const AC=' ';const _C=' ';const CC={bold:X_,cancel:g_,caption:f_,check:p_,cog:b_,colorPalette:k_,eraser:w_,history:A_,image:E_,imageUpload:D_,imageAssetManager:I_,imageUrl:T_,lowVision:__,textAlternative:C_,loupe:v_,previousArrow:y_,nextArrow:x_,importExport:oC,paragraph:tC,plus:eC,text:nC,alignBottom:S_,alignMiddle:B_,alignTop:M_,alignLeft:P_,alignCenter:N_,alignRight:L_,alignJustify:z_,objectLeft:H_,objectCenter:R_,objectRight:U_,objectFullWidth:F_,objectInline:j_,objectBlockLeft:O_,objectBlockRight:V_,objectSizeFull:W_,objectSizeLarge:q_,objectSizeSmall:G_,objectSizeMedium:$_,pencil:K_,pilcrow:Y_,quote:Q_,threeVerticalDots:Z_,dragIndicator:J_,redo:iC,undo:rC,bulletedList:sC,numberedList:aC,todoList:cC,codeBlock:lC,browseFiles:dC,heading1:uC,heading2:hC,heading3:mC,heading4:gC,heading5:fC,heading6:pC,horizontalLine:bC,html:kC,indent:wC,outdent:AC,table:_C};class vC extends rd{constructor(t=[]){super(t,{idProperty:\"viewUid\"});this.on(\"add\",((t,e,n)=>{this._renderViewIntoCollectionParent(e,n)}));this.on(\"remove\",((t,e)=>{if(e.element&&this._parentElement){e.element.remove()}}));this._parentElement=null}destroy(){this.map((t=>t.destroy()))}setParent(t){this._parentElement=t;for(const t of this){this._renderViewIntoCollectionParent(t)}}delegate(...t){if(!t.length||!yC(t)){throw new N(\"ui-viewcollection-delegate-wrong-events\",this)}return{to:e=>{for(const n of this){for(const o of t){n.delegate(o).to(e)}}this.on(\"add\",((n,o)=>{for(const n of t){o.delegate(n).to(e)}}));this.on(\"remove\",((n,o)=>{for(const n of t){o.stopDelegating(n,e)}}))}}}_renderViewIntoCollectionParent(t,e){if(!t.isRendered){t.render()}if(t.element&&this._parentElement){this._parentElement.insertBefore(t.element,this._parentElement.children[e])}}remove(t){return super.remove(t)}}function yC(t){return t.every((t=>typeof t==\"string\"))}const xC=\"http://www.w3.org/1999/xhtml\";class EC extends($()){constructor(t){super();Object.assign(this,OC(zC(t)));this._isRendered=false;this._revertData=null}render(){const t=this._renderNode({intoFragment:true});this._isRendered=true;return t}apply(t){this._revertData=ZC();this._renderNode({node:t,intoFragment:false,isApplying:true,revertData:this._revertData});return t}revert(t){if(!this._revertData){throw new N(\"ui-template-revert-not-applied\",[this,t])}this._revertTemplateFromNode(t,this._revertData)}*getViews(){function*t(e){if(e.children){for(const n of e.children){if($C(n)){yield n}else if(KC(n)){yield*t(n)}}}}yield*t(this)}static bind(t,e){return{to(n,o){return new IC({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:o})},if(n,o,i){return new TC({observable:t,emitter:e,attribute:n,valueIfTrue:o,callback:i})}}}static extend(t,e){if(t._isRendered){throw new N(\"template-extend-render\",[this,t])}qC(t,OC(zC(e)))}_renderNode(t){let e;if(t.node){e=this.tag&&this.text}else{e=this.tag?this.text:!this.text}if(e){throw new N(\"ui-template-wrong-syntax\",this)}if(this.text){return this._renderText(t)}else{return this._renderElement(t)}}_renderElement(t){let e=t.node;if(!e){e=t.node=document.createElementNS(this.ns||xC,this.tag)}this._renderAttributes(t);this._renderElementChildren(t);this._setUpListeners(t);return e}_renderText(t){let e=t.node;if(e){t.revertData.text=e.textContent}else{e=t.node=document.createTextNode(\"\")}if(SC(this.text)){this._bindToObservable({schema:this.text,updater:PC(e),data:t})}else{e.textContent=this.text.join(\"\")}return e}_renderAttributes(t){if(!this.attributes){return}const e=t.node;const n=t.revertData;for(const o in this.attributes){const i=e.getAttribute(o);const r=this.attributes[o];if(n){n.attributes[o]=i}const s=QC(r)?r[0].ns:null;if(SC(r)){const a=QC(r)?r[0].value:r;if(n&&JC(o)){a.unshift(i)}this._bindToObservable({schema:a,updater:NC(e,o,s),data:t})}else if(o==\"style\"&&typeof r[0]!==\"string\"){this._renderStyleAttribute(r[0],t)}else{if(n&&i&&JC(o)){r.unshift(i)}const t=r.map((t=>t?t.value||t:t)).reduce(((t,e)=>t.concat(e)),[]).reduce(UC,\"\");if(!GC(t)){e.setAttributeNS(s,o,t)}}}}_renderStyleAttribute(t,e){const n=e.node;for(const o in t){const i=t[o];if(SC(i)){this._bindToObservable({schema:[i],updater:LC(n,o),data:e})}else{n.style[o]=i}}}_renderElementChildren(t){const e=t.node;const n=t.intoFragment?document.createDocumentFragment():e;const o=t.isApplying;let i=0;for(const r of this.children){if(YC(r)){if(!o){r.setParent(e);for(const t of r){n.appendChild(t.element)}}}else if($C(r)){if(!o){if(!r.isRendered){r.render()}n.appendChild(r.element)}}else if(Ya(r)){n.appendChild(r)}else{if(o){const e=t.revertData;const o=ZC();e.children.push(o);r._renderNode({intoFragment:false,node:n.childNodes[i++],isApplying:true,revertData:o})}else{n.appendChild(r.render())}}}if(t.intoFragment){e.appendChild(n)}}_setUpListeners(t){if(!this.eventListeners){return}for(const e in this.eventListeners){const n=this.eventListeners[e].map((n=>{const[o,i]=e.split(\"@\");return n.activateDomEventListener(o,i,t)}));if(t.revertData){t.revertData.bindings.push(n)}}}_bindToObservable({schema:t,updater:e,data:n}){const o=n.revertData;MC(t,e,n);const i=t.filter((t=>!GC(t))).filter((t=>t.observable)).map((o=>o.activateAttributeListener(t,e,n)));if(o){o.bindings.push(i)}}_revertTemplateFromNode(t,e){for(const t of e.bindings){for(const e of t){e()}}if(e.text){t.textContent=e.text;return}const n=t;for(const t in e.attributes){const o=e.attributes[t];if(o===null){n.removeAttribute(t)}else{n.setAttribute(t,o)}}for(let t=0;tMC(t,e,n);this.emitter.listenTo(this.observable,`change:${this.attribute}`,o);return()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,o)}}}class IC extends DC{constructor(t){super(t);this.eventNameOrFunction=t.eventNameOrFunction}activateDomEventListener(t,e,n){const o=(t,n)=>{if(!e||n.target.matches(e)){if(typeof this.eventNameOrFunction==\"function\"){this.eventNameOrFunction(n)}else{this.observable.fire(this.eventNameOrFunction,n)}}};this.emitter.listenTo(n.node,t,o);return()=>{this.emitter.stopListening(n.node,t,o)}}}class TC extends DC{constructor(t){super(t);this.valueIfTrue=t.valueIfTrue}getValue(t){const e=super.getValue(t);return GC(e)?false:this.valueIfTrue||true}}function SC(t){if(!t){return false}if(t.value){t=t.value}if(Array.isArray(t)){return t.some(SC)}else if(t instanceof DC){return true}return false}function BC(t,e){return t.map((t=>{if(t instanceof DC){return t.getValue(e)}return t}))}function MC(t,e,{node:n}){const o=BC(t,n);let i;if(t.length==1&&t[0]instanceof TC){i=o[0]}else{i=o.reduce(UC,\"\")}if(GC(i)){e.remove()}else{e.set(i)}}function PC(t){return{set(e){t.textContent=e},remove(){t.textContent=\"\"}}}function NC(t,e,n){return{set(o){t.setAttributeNS(n,e,o)},remove(){t.removeAttributeNS(n,e)}}}function LC(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function zC(t){const e=Ua(t,(t=>{if(t&&(t instanceof DC||KC(t)||$C(t)||YC(t))){return t}}));return e}function OC(t){if(typeof t==\"string\"){t=FC(t)}else if(t.text){jC(t)}if(t.on){t.eventListeners=VC(t.on);delete t.on}if(!t.text){if(t.attributes){RC(t.attributes)}const e=[];if(t.children){if(YC(t.children)){e.push(t.children)}else{for(const n of t.children){if(KC(n)||$C(n)||Ya(n)){e.push(n)}else{e.push(new EC(n))}}}}t.children=e}return t}function RC(t){for(const e in t){if(t[e].value){t[e].value=sl(t[e].value)}HC(t,e)}}function VC(t){for(const e in t){HC(t,e)}return t}function FC(t){return{text:[t]}}function jC(t){t.text=sl(t.text)}function HC(t,e){t[e]=sl(t[e])}function UC(t,e){if(GC(e)){return t}else if(GC(t)){return e}else{return`${t} ${e}`}}function WC(t,e){for(const n in e){if(t[n]){t[n].push(...e[n])}else{t[n]=e[n]}}}function qC(t,e){if(e.attributes){if(!t.attributes){t.attributes={}}WC(t.attributes,e.attributes)}if(e.eventListeners){if(!t.eventListeners){t.eventListeners={}}WC(t.eventListeners,e.eventListeners)}if(e.text){t.text.push(...e.text)}if(e.children&&e.children.length){if(t.children.length!=e.children.length){throw new N(\"ui-template-extend-children-mismatch\",t)}let n=0;for(const o of e.children){qC(t.children[n++],o)}}}function GC(t){return!t&&t!==0}function $C(t){return t instanceof ov}function KC(t){return t instanceof EC}function YC(t){return t instanceof vC}function QC(t){return st(t[0])&&t[0].ns}function ZC(){return{children:[],bindings:[],attributes:{}}}function JC(t){return t==\"class\"||t==\"style\"}var XC=n(7718);var tv={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};tv.insert=\"head\";tv.singleton=true;var ev=Ld()(XC.A,tv);const nv=XC.A.locals||{};class ov extends(Ja(mt())){constructor(t){super();this.element=null;this.isRendered=false;this.locale=t;this.t=t&&t.t;this._viewCollections=new rd;this._unboundChildren=this.createCollection();this._viewCollections.on(\"add\",((e,n)=>{n.locale=t;n.t=t&&t.t}));this.decorate(\"render\")}get bindTemplate(){if(this._bindTemplate){return this._bindTemplate}return this._bindTemplate=EC.bind(this,this)}createCollection(t){const e=new vC(t);this._viewCollections.add(e);return e}registerChild(t){if(!It(t)){t=[t]}for(const e of t){this._unboundChildren.add(e)}}deregisterChild(t){if(!It(t)){t=[t]}for(const e of t){this._unboundChildren.remove(e)}}setTemplate(t){this.template=new EC(t)}extendTemplate(t){EC.extend(this.template,t)}render(){if(this.isRendered){throw new N(\"ui-view-render-already-rendered\",this)}if(this.template){this.element=this.template.render();this.registerChild(this.template.getViews())}this.isRendered=true}destroy(){this.stopListening();this._viewCollections.map((t=>t.destroy()));if(this.template&&this.template._revertData){this.template.revert(this.element)}}}var iv=n(3475);var rv={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};rv.insert=\"head\";rv.singleton=true;var sv=Ld()(iv.A,rv);const av=iv.A.locals||{};class cv extends ov{constructor(t){super(t);this.set(\"text\",undefined);this.set(\"for\",undefined);this.id=`ck-editor__label_${T()}`;const e=this.bindTemplate;this.setTemplate({tag:\"label\",attributes:{class:[\"ck\",\"ck-label\"],id:this.id,for:e.to(\"for\")},children:[{text:e.to(\"text\")}]})}}class lv extends ov{constructor(t,e){super(t);const n=t.t;const o=new cv;o.text=n(\"Help Contents. To close this dialog press ESC.\");this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-accessibility-help-dialog__content\"],\"aria-labelledby\":o.id,role:\"document\",tabindex:-1},children:[ie(document,\"p\",{},n(\"Below, you can find a list of keyboard shortcuts that can be used in the editor.\")),...this._createCategories(Array.from(e.values())),o]})}focus(){this.element.focus()}_createCategories(t){return t.map((t=>{const e=[ie(document,\"h3\",{},t.label),...Array.from(t.groups.values()).map((t=>this._createGroup(t))).flat()];if(t.description){e.splice(1,0,ie(document,\"p\",{},t.description))}return ie(document,\"section\",{},e)}))}_createGroup(t){const e=t.keystrokes.sort(((t,e)=>t.label.localeCompare(e.label))).map((t=>this._createGroupRow(t))).flat();const n=[ie(document,\"dl\",{},e)];if(t.label){n.unshift(ie(document,\"h4\",{},t.label))}return n}_createGroupRow(t){const e=this.locale.t;const n=ie(document,\"dt\");const o=ie(document,\"dd\");const i=uv(t.keystroke);const r=[];for(const t of i){r.push(t.map(dv).join(\"\"))}n.innerHTML=t.label;o.innerHTML=r.join(\", \")+(t.mayRequireFn&&l.isMac?` ${e(\"(may require Fn )\")}`:\"\");return[n,o]}}function dv(t){return Xc(t).split(\"+\").map((t=>`${t} `)).join(\"+\")}function uv(t){if(typeof t===\"string\"){return[[t]]}if(typeof t[0]===\"string\"){return[t]}return t}const hv=' ';var mv=n(1353);var gv={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};gv.insert=\"head\";gv.singleton=true;var fv=Ld()(mv.A,gv);const pv=mv.A.locals||{};class bv extends Ed{constructor(){super(...arguments);this.contentView=null}static get requires(){return[ND]}static get pluginName(){return\"AccessibilityHelp\"}init(){const t=this.editor;const e=t.locale.t;t.ui.componentFactory.add(\"accessibilityHelp\",(()=>{const t=this._createButton(Sv);t.set({tooltip:true,withText:false,label:e(\"Accessibility help\")});return t}));t.ui.componentFactory.add(\"menuBar:accessibilityHelp\",(()=>{const t=this._createButton(qS);t.label=e(\"Accessibility\");return t}));t.keystrokes.set(\"Alt+0\",((t,e)=>{this._showDialog();e()}));this._setupRootLabels()}_createButton(t){const e=this.editor;const n=e.locale;const o=new t(n);o.set({keystroke:\"Alt+0\",icon:hv});o.on(\"execute\",(()=>this._showDialog()));return o}_setupRootLabels(){const t=this.editor;const e=t.editing.view;const n=t.t;t.ui.on(\"ready\",(()=>{e.change((t=>{for(const n of e.document.roots){o(t,n)}}));t.on(\"addRoot\",((n,i)=>{const r=t.editing.view.document.getRoot(i.rootName);e.change((t=>o(t,r)))}),{priority:\"low\"})}));function o(t,e){const o=e.getAttribute(\"aria-label\");const i=`${o}. ${n(\"Press %0 for help.\",[Xc(\"Alt+0\")])}`;t.setAttribute(\"aria-label\",i,e)}}_showDialog(){const t=this.editor;const e=t.plugins.get(\"Dialog\");const n=t.locale.t;if(!this.contentView){this.contentView=new lv(t.locale,t.accessibility.keystrokeInfos)}e.show({id:\"accessibilityHelp\",className:\"ck-accessibility-help-dialog\",title:n(\"Accessibility help\"),icon:hv,hasCloseButton:true,content:this.contentView})}}class kv extends vC{constructor(t,e=[]){super(e);this.locale=t}get bodyCollectionContainer(){return this._bodyCollectionContainer}attachToDom(){this._bodyCollectionContainer=new EC({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset_all\",\"ck-body\",\"ck-rounded-corners\"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(\".ck-body-wrapper\");if(!t){t=ie(document,\"div\",{class:\"ck-body-wrapper\"});document.body.appendChild(t)}t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy();if(this._bodyCollectionContainer){this._bodyCollectionContainer.remove()}const t=document.querySelector(\".ck-body-wrapper\");if(t&&t.childElementCount==0){t.remove()}}}var wv=n(2191);var Av={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Av.insert=\"head\";Av.singleton=true;var _v=Ld()(wv.A,Av);const Cv=wv.A.locals||{};class vv extends ov{constructor(){super();const t=this.bindTemplate;this.set(\"content\",\"\");this.set(\"viewBox\",\"0 0 20 20\");this.set(\"fillColor\",\"\");this.set(\"isColorInherited\",true);this.set(\"isVisible\",true);this.setTemplate({tag:\"svg\",ns:\"http://www.w3.org/2000/svg\",attributes:{class:[\"ck\",\"ck-icon\",t.if(\"isVisible\",\"ck-hidden\",(t=>!t)),\"ck-reset_all-excluded\",t.if(\"isColorInherited\",\"ck-icon_inherit-color\")],viewBox:t.to(\"viewBox\")}})}render(){super.render();this._updateXMLContent();this._colorFillPaths();this.on(\"change:content\",(()=>{this._updateXMLContent();this._colorFillPaths()}));this.on(\"change:fillColor\",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),\"image/svg+xml\");const e=t.querySelector(\"svg\");const n=e.getAttribute(\"viewBox\");if(n){this.viewBox=n}for(const{name:t,value:n}of Array.from(e.attributes)){if(vv.presentationalAttributeNames.includes(t)){this.element.setAttribute(t,n)}}while(this.element.firstChild){this.element.removeChild(this.element.firstChild)}while(e.childNodes.length>0){this.element.appendChild(e.childNodes[0])}}}_colorFillPaths(){if(this.fillColor){this.element.querySelectorAll(\".ck-icon__fill\").forEach((t=>{t.style.fill=this.fillColor}))}}}vv.presentationalAttributeNames=[\"alignment-baseline\",\"baseline-shift\",\"clip-path\",\"clip-rule\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"color-rendering\",\"cursor\",\"direction\",\"display\",\"dominant-baseline\",\"fill\",\"fill-opacity\",\"fill-rule\",\"filter\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"image-rendering\",\"letter-spacing\",\"lighting-color\",\"marker-end\",\"marker-mid\",\"marker-start\",\"mask\",\"opacity\",\"overflow\",\"paint-order\",\"pointer-events\",\"shape-rendering\",\"stop-color\",\"stop-opacity\",\"stroke\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"text-anchor\",\"text-decoration\",\"text-overflow\",\"text-rendering\",\"transform\",\"unicode-bidi\",\"vector-effect\",\"visibility\",\"white-space\",\"word-spacing\",\"writing-mode\"];const yv=vv;class xv extends ov{constructor(){super();this.set({style:undefined,text:undefined,id:undefined});const t=this.bindTemplate;this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__label\"],style:t.to(\"style\"),id:t.to(\"id\")},children:[{text:t.to(\"text\")}]})}}var Ev=n(8941);var Dv={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Dv.insert=\"head\";Dv.singleton=true;var Iv=Ld()(Ev.A,Dv);const Tv=Ev.A.locals||{};class Sv extends ov{constructor(t,e=new xv){super(t);this._focusDelayed=null;const n=this.bindTemplate;const o=T();this.set(\"ariaLabel\",undefined);this.set(\"ariaLabelledBy\",`ck-editor__aria-label_${o}`);this.set(\"class\",undefined);this.set(\"labelStyle\",undefined);this.set(\"icon\",undefined);this.set(\"isEnabled\",true);this.set(\"isOn\",false);this.set(\"isVisible\",true);this.set(\"isToggleable\",false);this.set(\"keystroke\",undefined);this.set(\"label\",undefined);this.set(\"role\",undefined);this.set(\"tabindex\",-1);this.set(\"tooltip\",false);this.set(\"tooltipPosition\",\"s\");this.set(\"type\",\"button\");this.set(\"withText\",false);this.set(\"withKeystroke\",false);this.children=this.createCollection();this.labelView=this._setupLabelView(e);this.iconView=new yv;this.iconView.extendTemplate({attributes:{class:\"ck-button__icon\"}});this.keystrokeView=this._createKeystrokeView();this.bind(\"_tooltipString\").to(this,\"tooltip\",this,\"label\",this,\"keystroke\",this._getTooltipString.bind(this));const i={tag:\"button\",attributes:{class:[\"ck\",\"ck-button\",n.to(\"class\"),n.if(\"isEnabled\",\"ck-disabled\",(t=>!t)),n.if(\"isVisible\",\"ck-hidden\",(t=>!t)),n.to(\"isOn\",(t=>t?\"ck-on\":\"ck-off\")),n.if(\"withText\",\"ck-button_with-text\"),n.if(\"withKeystroke\",\"ck-button_with-keystroke\")],role:n.to(\"role\"),type:n.to(\"type\",(t=>t?t:\"button\")),tabindex:n.to(\"tabindex\"),\"aria-checked\":n.to(\"ariaChecked\"),\"aria-label\":n.to(\"ariaLabel\"),\"aria-labelledby\":n.to(\"ariaLabelledBy\"),\"aria-disabled\":n.if(\"isEnabled\",true,(t=>!t)),\"aria-pressed\":n.to(\"isOn\",(t=>this.isToggleable?String(!!t):false)),\"data-cke-tooltip-text\":n.to(\"_tooltipString\"),\"data-cke-tooltip-position\":n.to(\"tooltipPosition\")},children:this.children,on:{click:n.to((t=>{if(this.isEnabled){this.fire(\"execute\")}else{t.preventDefault()}}))}};if(l.isSafari){if(!this._focusDelayed){this._focusDelayed=pd((()=>this.focus()),0)}i.on.mousedown=n.to((()=>{this._focusDelayed()}));i.on.mouseup=n.to((()=>{this._focusDelayed.cancel()}))}this.setTemplate(i)}render(){super.render();if(this.icon){this.iconView.bind(\"content\").to(this,\"icon\");this.children.add(this.iconView)}this.children.add(this.labelView);if(this.withKeystroke&&this.keystroke){this.children.add(this.keystrokeView)}}focus(){this.element.focus()}destroy(){if(this._focusDelayed){this._focusDelayed.cancel()}super.destroy()}_setupLabelView(t){t.bind(\"text\",\"style\",\"id\").to(this,\"label\",\"labelStyle\",\"ariaLabelledBy\");return t}_createKeystrokeView(){const t=new ov;t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__keystroke\"]},children:[{text:this.bindTemplate.to(\"keystroke\",(t=>Xc(t)))}]});return t}_getTooltipString(t,e,n){if(t){if(typeof t==\"string\"){return t}else{if(n){n=Xc(n)}if(t instanceof Function){return t(e,n)}else{return`${e}${n?` (${n})`:\"\"}`}}}return\"\"}}var Bv=n(8613);var Mv={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Mv.insert=\"head\";Mv.singleton=true;var Pv=Ld()(Bv.A,Mv);const Nv=Bv.A.locals||{};class Lv extends Sv{constructor(t){super(t);this.isToggleable=true;this.toggleSwitchView=this._createToggleView();this.extendTemplate({attributes:{class:\"ck-switchbutton\"}})}render(){super.render();this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new ov;t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle\"]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle__inner\"]}}]});return t}}class zv extends Sv{constructor(t){super(t);this.buttonView=this;this._fileInputView=new Ov(t);this._fileInputView.bind(\"acceptedType\").to(this);this._fileInputView.bind(\"allowMultipleFiles\").to(this);this._fileInputView.delegate(\"done\").to(this);this.on(\"execute\",(()=>{this._fileInputView.open()}));this.extendTemplate({attributes:{class:\"ck-file-dialog-button\"}})}render(){super.render();this.children.add(this._fileInputView)}}class Ov extends ov{constructor(t){super(t);this.set(\"acceptedType\",undefined);this.set(\"allowMultipleFiles\",false);const e=this.bindTemplate;this.setTemplate({tag:\"input\",attributes:{class:[\"ck-hidden\"],type:\"file\",tabindex:\"-1\",accept:e.to(\"acceptedType\"),multiple:e.to(\"allowMultipleFiles\")},on:{change:e.to((()=>{if(this.element&&this.element.files&&this.element.files.length){this.fire(\"done\",this.element.files)}this.element.value=\"\"}))}})}open(){this.element.click()}}const Rv=' ';var Vv=n(3283);var Fv={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Fv.insert=\"head\";Fv.singleton=true;var jv=Ld()(Vv.A,Fv);const Hv=Vv.A.locals||{};class Uv extends ov{constructor(t,e){super(t);const n=this.bindTemplate;this.set(\"isCollapsed\",false);this.set(\"label\",\"\");this.buttonView=this._createButtonView();this.children=this.createCollection();this.set(\"_collapsibleAriaLabelUid\",undefined);if(e){this.children.addMany(e)}this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-collapsible\",n.if(\"isCollapsed\",\"ck-collapsible_collapsed\")]},children:[this.buttonView,{tag:\"div\",attributes:{class:[\"ck\",\"ck-collapsible__children\"],role:\"region\",hidden:n.if(\"isCollapsed\",\"hidden\"),\"aria-labelledby\":n.to(\"_collapsibleAriaLabelUid\")},children:this.children}]})}render(){super.render();this._collapsibleAriaLabelUid=this.buttonView.labelView.element.id}focus(){this.buttonView.focus()}_createButtonView(){const t=new Sv(this.locale);const e=t.bindTemplate;t.set({withText:true,icon:Rv});t.extendTemplate({attributes:{\"aria-expanded\":e.to(\"isOn\",(t=>String(t)))}});t.bind(\"label\").to(this);t.bind(\"isOn\").to(this,\"isCollapsed\",(t=>!t));t.on(\"execute\",(()=>{this.isCollapsed=!this.isCollapsed}));return t}}function Wv(t,e){const n=t.t;const o={Black:n(\"Black\"),\"Dim grey\":n(\"Dim grey\"),Grey:n(\"Grey\"),\"Light grey\":n(\"Light grey\"),White:n(\"White\"),Red:n(\"Red\"),Orange:n(\"Orange\"),Yellow:n(\"Yellow\"),\"Light green\":n(\"Light green\"),Green:n(\"Green\"),Aquamarine:n(\"Aquamarine\"),Turquoise:n(\"Turquoise\"),\"Light blue\":n(\"Light blue\"),Blue:n(\"Blue\"),Purple:n(\"Purple\")};return e.map((t=>{const e=o[t.label];if(e&&e!=t.label){t.label=e}return t}))}function qv(t){return t.map(Gv).filter((t=>!!t))}function Gv(t){if(typeof t===\"string\"){return{model:t,label:t,hasBorder:false,view:{name:\"span\",styles:{color:t}}}}else{return{model:t.color,label:t.label||t.color,hasBorder:t.hasBorder===undefined?false:t.hasBorder,view:{name:\"span\",styles:{color:`${t.color}`}}}}}const $v=' ';class Kv extends Sv{constructor(t){super(t);const e=this.bindTemplate;this.set(\"color\",undefined);this.set(\"hasBorder\",false);this.icon=$v;this.extendTemplate({attributes:{style:{backgroundColor:e.to(\"color\")},class:[\"ck\",\"ck-color-grid__tile\",e.if(\"hasBorder\",\"ck-color-selector__color-tile_bordered\")]}})}render(){super.render();this.iconView.fillColor=\"hsl(0, 0%, 100%)\"}}var Yv=n(4239);var Qv={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Qv.insert=\"head\";Qv.singleton=true;var Zv=Ld()(Yv.A,Qv);const Jv=Yv.A.locals||{};class Xv extends ov{constructor(t,e){super(t);const n=e&&e.colorDefinitions?e.colorDefinitions:[];this.columns=e&&e.columns?e.columns:5;const o={gridTemplateColumns:`repeat( ${this.columns}, 1fr)`};this.set(\"selectedColor\",undefined);this.items=this.createCollection();this.focusTracker=new ad;this.keystrokes=new cd;this.items.on(\"add\",((t,e)=>{e.isOn=e.color===this.selectedColor}));n.forEach((t=>{const e=new Kv;e.set({color:t.color,label:t.label,tooltip:true,hasBorder:t.options.hasBorder});e.on(\"execute\",(()=>{this.fire(\"execute\",{value:t.color,hasBorder:t.options.hasBorder,label:t.label})}));this.items.add(e)}));this.setTemplate({tag:\"div\",children:this.items,attributes:{class:[\"ck\",\"ck-color-grid\"],style:o}});this.on(\"change:selectedColor\",((t,e,n)=>{for(const t of this.items){t.isOn=t.color===n}}))}focus(){if(this.items.length){this.items.first.focus()}}focusLast(){if(this.items.length){this.items.last.focus()}}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on(\"add\",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on(\"remove\",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element);r({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:this.columns,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}}var ty=n(8156);const ey=oy;var ny={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function oy(t){var e,n=[],o=1,i;if(typeof t===\"string\"){if(ty[t]){n=ty[t].slice();i=\"rgb\"}else if(t===\"transparent\"){o=0;i=\"rgb\";n=[0,0,0]}else if(/^#[A-Fa-f0-9]+$/.test(t)){var r=t.slice(1);var s=r.length;var a=s<=4;o=1;if(a){n=[parseInt(r[0]+r[0],16),parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16)];if(s===4){o=parseInt(r[3]+r[3],16)/255}}else{n=[parseInt(r[0]+r[1],16),parseInt(r[2]+r[3],16),parseInt(r[4]+r[5],16)];if(s===8){o=parseInt(r[6]+r[7],16)/255}}if(!n[0])n[0]=0;if(!n[1])n[1]=0;if(!n[2])n[2]=0;i=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(t)){var c=e[1];var l=c===\"rgb\";var r=c.replace(/a$/,\"\");i=r;var s=r===\"cmyk\"?4:r===\"gray\"?1:3;n=e[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map((function(t,e){if(/%$/.test(t)){if(e===s)return parseFloat(t)/100;if(r===\"rgb\")return parseFloat(t)*255/100;return parseFloat(t)}else if(r[e]===\"h\"){if(/deg$/.test(t)){return parseFloat(t)}else if(ny[t]!==undefined){return ny[t]}}return parseFloat(t)}));if(c===r)n.push(1);o=l?1:n[s]===undefined?1:n[s];n=n.slice(0,s)}else if(t.length>10&&/[0-9](?:\\s|\\/)/.test(t)){n=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)}));i=t.match(/([a-z])/gi).join(\"\").toLowerCase()}}else if(!isNaN(t)){i=\"rgb\";n=[t>>>16,(t&65280)>>>8,t&255]}else if(Array.isArray(t)||t.length){n=[t[0],t[1],t[2]];i=\"rgb\";o=t.length===4?t[3]:1}else if(t instanceof Object){if(t.r!=null||t.red!=null||t.R!=null){i=\"rgb\";n=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]}else{i=\"hsl\";n=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]}o=t.a||t.alpha||t.opacity||1;if(t.opacity!=null)o/=100}return{space:i,values:n,alpha:o}}var iy=n(734);var ry=n.t(iy,2);function sy(t,e){if(!t){return\"\"}const n=dy(t);if(!n){return\"\"}if(n.space===e){return t}if(!uy(n)){return\"\"}const o=ry[n.space];const i=o[e];if(!i){return\"\"}const r=i(n.space===\"hex\"?n.hexValue:n.values);return ly(r,e)}function ay(t){if(!t){return\"\"}const e=dy(t);if(!e){return\"#000\"}if(e.space===\"hex\"){return e.hexValue}return sy(t,\"hex\")}function cy(t,e){if(customElements.get(t)===undefined){customElements.define(t,e)}}function ly(t,e){switch(e){case\"hex\":return`#${t}`;case\"rgb\":return`rgb( ${t[0]}, ${t[1]}, ${t[2]} )`;case\"hsl\":return`hsl( ${t[0]}, ${t[1]}%, ${t[2]}% )`;case\"hwb\":return`hwb( ${t[0]}, ${t[1]}, ${t[2]} )`;case\"lab\":return`lab( ${t[0]}% ${t[1]} ${t[2]} )`;case\"lch\":return`lch( ${t[0]}% ${t[1]} ${t[2]} )`;default:return\"\"}}function dy(t){if(t.startsWith(\"#\")){const e=ey(t);return{space:\"hex\",values:e.values,hexValue:t,alpha:e.alpha}}const e=ey(t);if(!e.space){return null}return e}function uy(t){return Object.keys(ry).includes(t.space)}var hy=n(2828);var my={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};my.insert=\"head\";my.singleton=true;var gy=Ld()(hy.A,my);const fy=hy.A.locals||{};class py extends ov{constructor(t,e){super(t);const n=`ck-labeled-field-view-${T()}`;const o=`ck-labeled-field-view-status-${T()}`;this.fieldView=e(this,n,o);this.set(\"label\",undefined);this.set(\"isEnabled\",true);this.set(\"isEmpty\",true);this.set(\"isFocused\",false);this.set(\"errorText\",null);this.set(\"infoText\",null);this.set(\"class\",undefined);this.set(\"placeholder\",undefined);this.labelView=this._createLabelView(n);this.statusView=this._createStatusView(o);this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]);this.bind(\"_statusText\").to(this,\"errorText\",this,\"infoText\",((t,e)=>t||e));const i=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view\",i.to(\"class\"),i.if(\"isEnabled\",\"ck-disabled\",(t=>!t)),i.if(\"isEmpty\",\"ck-labeled-field-view_empty\"),i.if(\"isFocused\",\"ck-labeled-field-view_focused\"),i.if(\"placeholder\",\"ck-labeled-field-view_placeholder\"),i.if(\"errorText\",\"ck-error\")]},children:[{tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view__input-wrapper\"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(t){const e=new cv(this.locale);e.for=t;e.bind(\"text\").to(this,\"label\");return e}_createStatusView(t){const e=new ov(this.locale);const n=this.bindTemplate;e.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view__status\",n.if(\"errorText\",\"ck-labeled-field-view__status_error\"),n.if(\"_statusText\",\"ck-hidden\",(t=>!t))],id:t,role:n.if(\"errorText\",\"alert\")},children:[{text:n.to(\"_statusText\")}]});return e}focus(t){this.fieldView.focus(t)}}class by extends ov{constructor(t){super(t);this.set(\"value\",undefined);this.set(\"id\",undefined);this.set(\"placeholder\",undefined);this.set(\"tabIndex\",undefined);this.set(\"isReadOnly\",false);this.set(\"hasError\",false);this.set(\"ariaDescribedById\",undefined);this.set(\"ariaLabel\",undefined);this.focusTracker=new ad;this.bind(\"isFocused\").to(this.focusTracker);this.set(\"isEmpty\",true);const e=this.bindTemplate;this.setTemplate({tag:\"input\",attributes:{class:[\"ck\",\"ck-input\",e.if(\"isFocused\",\"ck-input_focused\"),e.if(\"isEmpty\",\"ck-input-text_empty\"),e.if(\"hasError\",\"ck-error\")],id:e.to(\"id\"),placeholder:e.to(\"placeholder\"),tabindex:e.to(\"tabIndex\"),readonly:e.to(\"isReadOnly\"),\"aria-invalid\":e.if(\"hasError\",true),\"aria-describedby\":e.to(\"ariaDescribedById\"),\"aria-label\":e.to(\"ariaLabel\")},on:{input:e.to(((...t)=>{this.fire(\"input\",...t);this._updateIsEmpty()})),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render();this.focusTracker.add(this.element);this._setDomElementValue(this.value);this._updateIsEmpty();this.on(\"change:value\",((t,e,n)=>{this._setDomElementValue(n);this._updateIsEmpty()}))}destroy(){super.destroy();this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}reset(){this.value=this.element.value=\"\";this._updateIsEmpty()}_updateIsEmpty(){this.isEmpty=ky(this.element)}_setDomElementValue(t){this.element.value=!t&&t!==0?\"\":t}}function ky(t){return!t.value}var wy=n(4071);var Ay={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Ay.insert=\"head\";Ay.singleton=true;var _y=Ld()(wy.A,Ay);const Cy=wy.A.locals||{};class vy extends by{constructor(t){super(t);this.set(\"inputMode\",\"text\");const e=this.bindTemplate;this.extendTemplate({attributes:{inputmode:e.to(\"inputMode\")}})}}class yy extends vy{constructor(t){super(t);this.extendTemplate({attributes:{type:\"text\",class:[\"ck-input-text\"]}})}}class xy extends vy{constructor(t,{min:e,max:n,step:o}={}){super(t);const i=this.bindTemplate;this.set(\"min\",e);this.set(\"max\",n);this.set(\"step\",o);this.extendTemplate({attributes:{type:\"number\",class:[\"ck-input-number\"],min:i.to(\"min\"),max:i.to(\"max\"),step:i.to(\"step\")}})}}var Ey=n(4097);var Dy={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Dy.insert=\"head\";Dy.singleton=true;var Iy=Ld()(Ey.A,Dy);const Ty=Ey.A.locals||{};class Sy extends by{constructor(t){super(t);this._isUpdateAutoGrowHeightPending=false;const e=Cc(\"px\");this.set(\"minRows\",2);this.set(\"maxRows\",5);this.set(\"_height\",null);this.set(\"resize\",\"none\");this._resizeObserver=null;this.on(\"change:minRows\",this._validateMinMaxRows.bind(this));this.on(\"change:maxRows\",this._validateMinMaxRows.bind(this));const n=this.bindTemplate;this.template.tag=\"textarea\";this.extendTemplate({attributes:{class:[\"ck-textarea\"],style:{height:n.to(\"_height\",(t=>t?e(t):null)),resize:n.to(\"resize\")},rows:n.to(\"minRows\")}})}render(){super.render();let t=false;this.on(\"input\",(()=>{this._updateAutoGrowHeight(true);this.fire(\"update\")}));this.on(\"change:value\",(()=>{oc.window.requestAnimationFrame((()=>{if(!Dc(this.element)){this._isUpdateAutoGrowHeightPending=true;return}this._updateAutoGrowHeight();this.fire(\"update\")}))}));this._resizeObserver=new Ac(this.element,(e=>{const n=!!e.contentRect.width&&!!e.contentRect.height;if(!t&&n&&this._isUpdateAutoGrowHeightPending){oc.window.requestAnimationFrame((()=>{this._updateAutoGrowHeight();this.fire(\"update\")}))}t=n}))}destroy(){if(this._resizeObserver){this._resizeObserver.destroy()}}reset(){super.reset();this._updateAutoGrowHeight();this.fire(\"update\")}_updateAutoGrowHeight(t){const e=this.element;if(!e.offsetParent){this._isUpdateAutoGrowHeightPending=true;return}this._isUpdateAutoGrowHeightPending=false;const n=By(e,\"1\");const o=By(e,e.value);const i=n.ownerDocument.defaultView.getComputedStyle(n);const r=parseFloat(i.paddingTop)+parseFloat(i.paddingBottom);const s=ac(n);const a=parseFloat(i.lineHeight);const c=s.top+s.bottom;const l=new hc(n).height;const d=Math.round((o.scrollHeight-r)/a);const u=this.maxRows*a+r+c;const h=d===1?l:this.minRows*a+r+c;this._height=Math.min(Math.max(Math.max(d,this.minRows)*a+r+c,h),u);if(t){e.scrollTop=e.scrollHeight}n.remove();o.remove()}_validateMinMaxRows(){if(this.minRows>this.maxRows){throw new N(\"ui-textarea-view-min-rows-greater-than-max-rows\",{textareaView:this,minRows:this.minRows,maxRows:this.maxRows})}}}function By(t,e){const n=t.cloneNode();n.style.position=\"absolute\";n.style.top=\"-99999px\";n.style.left=\"-99999px\";n.style.height=\"auto\";n.style.overflow=\"hidden\";n.style.width=t.ownerDocument.defaultView.getComputedStyle(t).width;n.tabIndex=-1;n.rows=1;n.value=e;t.parentNode.insertBefore(n,t);return n}class My extends ov{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isVisible\",false);this.set(\"position\",\"se\");this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-dropdown__panel\",e.to(\"position\",(t=>`ck-dropdown__panel_${t}`)),e.if(\"isVisible\",\"ck-dropdown__panel-visible\")],tabindex:\"-1\"},children:this.children,on:{selectstart:e.to((t=>{if(t.target.tagName.toLocaleLowerCase()===\"input\"){return}t.preventDefault()}))}})}focus(){if(this.children.length){const t=this.children.first;if(typeof t.focus===\"function\"){t.focus()}else{L(\"ui-dropdown-panel-focus-child-missing-focus\",{childView:this.children.first,dropdownPanel:this})}}}focusLast(){if(this.children.length){const t=this.children.last;if(typeof t.focusLast===\"function\"){t.focusLast()}else{t.focus()}}}}var Py=n(1887);var Ny={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Ny.insert=\"head\";Ny.singleton=true;var Ly=Ld()(Py.A,Ny);const zy=Py.A.locals||{};class Oy extends ov{constructor(t,e,n){super(t);const o=this.bindTemplate;this.buttonView=e;this.panelView=n;this.set(\"isOpen\",false);this.set(\"isEnabled\",true);this.set(\"class\",undefined);this.set(\"id\",undefined);this.set(\"panelPosition\",\"auto\");this.panelView.bind(\"isVisible\").to(this,\"isOpen\");this.keystrokes=new cd;this.focusTracker=new ad;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dropdown\",o.to(\"class\"),o.if(\"isEnabled\",\"ck-disabled\",(t=>!t))],id:o.to(\"id\"),\"aria-describedby\":o.to(\"ariaDescribedById\")},children:[e,n]});e.extendTemplate({attributes:{class:[\"ck-dropdown__button\"],\"data-cke-tooltip-disabled\":o.to(\"isOpen\")}})}render(){super.render();this.focusTracker.add(this.buttonView.element);this.focusTracker.add(this.panelView.element);this.listenTo(this.buttonView,\"open\",(()=>{this.isOpen=!this.isOpen}));this.on(\"change:isOpen\",((t,e,n)=>{if(!n){return}if(this.panelPosition===\"auto\"){const t=Oy._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:true,positions:this._panelPositions});this.panelView.position=t?t.name:this._panelPositions[0].name}else{this.panelView.position=this.panelPosition}}));this.keystrokes.listenTo(this.element);const t=(t,e)=>{if(this.isOpen){this.isOpen=false;e()}};this.keystrokes.set(\"arrowdown\",((t,e)=>{if(this.buttonView.isEnabled&&!this.isOpen){this.isOpen=true;e()}}));this.keystrokes.set(\"arrowright\",((t,e)=>{if(this.isOpen){e()}}));this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"esc\",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:o,northEast:i,northWest:r,southMiddleEast:s,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=Oy.defaultPanelPositions;if(this.locale.uiLanguageDirection!==\"rtl\"){return[n,o,s,a,t,i,r,c,l,e]}else{return[o,n,a,s,t,r,i,l,c,e]}}}Oy.defaultPanelPositions={south:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/2,name:\"s\"}),southEast:t=>({top:t.bottom,left:t.left,name:\"se\"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:\"sw\"}),southMiddleEast:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/4,name:\"sme\"}),southMiddleWest:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)*3/4,name:\"smw\"}),north:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/2,name:\"n\"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:\"ne\"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:\"nw\"}),northMiddleEast:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/4,name:\"nme\"}),northMiddleWest:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)*3/4,name:\"nmw\"})};Oy._getOptimalPosition=Ic;const Ry=Oy;class Vy extends Sv{constructor(t){super(t);this.arrowView=this._createArrowView();this.extendTemplate({attributes:{\"aria-haspopup\":true,\"aria-expanded\":this.bindTemplate.to(\"isOn\",(t=>String(t)))}});this.delegate(\"execute\").to(this,\"open\")}render(){super.render();this.children.add(this.arrowView)}_createArrowView(){const t=new yv;t.content=Rv;t.extendTemplate({attributes:{class:\"ck-dropdown__arrow\"}});return t}}class Fy extends($()){constructor(t){super();this.focusables=t.focusables;this.focusTracker=t.focusTracker;this.keystrokeHandler=t.keystrokeHandler;this.actions=t.actions;if(t.actions&&t.keystrokeHandler){for(const e in t.actions){let n=t.actions[e];if(typeof n==\"string\"){n=[n]}for(const o of n){t.keystrokeHandler.set(o,((t,n)=>{this[e]();n()}))}}}this.on(\"forwardCycle\",(()=>this.focusFirst()),{priority:\"low\"});this.on(\"backwardCycle\",(()=>this.focusLast()),{priority:\"low\"})}get first(){return this.focusables.find(jy)||null}get last(){return this.focusables.filter(jy).slice(-1)[0]||null}get next(){return this._getDomFocusableItem(1)}get previous(){return this._getDomFocusableItem(-1)}get current(){let t=null;if(this.focusTracker.focusedElement===null){return null}this.focusables.find(((e,n)=>{const o=e.element===this.focusTracker.focusedElement;if(o){t=n}return o}));return t}focusFirst(){this._focus(this.first,1)}focusLast(){this._focus(this.last,-1)}focusNext(){const t=this.next;if(t&&this.focusables.getIndex(t)===this.current){this.fire(\"forwardCycle\");return}if(t===this.first){this.fire(\"forwardCycle\")}else{this._focus(t,1)}}focusPrevious(){const t=this.previous;if(t&&this.focusables.getIndex(t)===this.current){this.fire(\"backwardCycle\");return}if(t===this.last){this.fire(\"backwardCycle\")}else{this._focus(t,-1)}}_focus(t,e){if(t&&this.focusTracker.focusedElement!==t.element){t.focus(e)}}_getDomFocusableItem(t){const e=this.focusables.length;if(!e){return null}const n=this.current;if(n===null){return this[t===1?\"first\":\"last\"]}let o=this.focusables.get(n);let i=(n+e+t)%e;do{const n=this.focusables.get(i);if(jy(n)){o=n;break}i=(i+e+t)%e}while(i!==n);return o}}function jy(t){return Hy(t)&&Dc(t.element)}function Hy(t){return!!(\"focus\"in t&&typeof t.focus==\"function\")}function Uy(t){return Hy(t)&&\"focusCycler\"in t&&t.focusCycler instanceof Fy}class Wy extends ov{constructor(t){super(t);this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-toolbar__separator\"]}})}}class qy extends ov{constructor(t){super(t);this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-toolbar__line-break\"]}})}}function Gy(t){return t.bindTemplate.to((e=>{if(e.target===t.element){e.preventDefault()}}))}function $y(t){if(Array.isArray(t)){return{items:t,removeItems:[]}}const e={items:[],removeItems:[]};if(!t){return e}return{...e,...t}}var Ky=n(9423);var Yy={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Yy.insert=\"head\";Yy.singleton=true;var Qy=Ld()(Ky.A,Yy);const Zy=Ky.A.locals||{};const{threeVerticalDots:Jy}=CC;const Xy={alignLeft:CC.alignLeft,bold:CC.bold,importExport:CC.importExport,paragraph:CC.paragraph,plus:CC.plus,text:CC.text,threeVerticalDots:CC.threeVerticalDots,pilcrow:CC.pilcrow,dragIndicator:CC.dragIndicator};class tx extends ov{constructor(t,e){super(t);const n=this.bindTemplate;const o=this.t;this.options=e||{};this.set(\"ariaLabel\",o(\"Editor toolbar\"));this.set(\"maxWidth\",\"auto\");this.items=this.createCollection();this.focusTracker=new ad;this.keystrokes=new cd;this.set(\"class\",undefined);this.set(\"isCompact\",false);this.itemsView=new ex(t);this.children=this.createCollection();this.children.add(this.itemsView);this.focusables=this.createCollection();const i=t.uiLanguageDirection===\"rtl\";this._focusCycler=new Fy({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[i?\"arrowright\":\"arrowleft\",\"arrowup\"],focusNext:[i?\"arrowleft\":\"arrowright\",\"arrowdown\"]}});const r=[\"ck\",\"ck-toolbar\",n.to(\"class\"),n.if(\"isCompact\",\"ck-toolbar_compact\")];if(this.options.shouldGroupWhenFull&&this.options.isFloating){r.push(\"ck-toolbar_floating\")}this.setTemplate({tag:\"div\",attributes:{class:r,role:\"toolbar\",\"aria-label\":n.to(\"ariaLabel\"),style:{maxWidth:n.to(\"maxWidth\")},tabindex:-1},children:this.children,on:{mousedown:Gy(this)}});this._behavior=this.options.shouldGroupWhenFull?new ox(this):new nx(this)}render(){super.render();this.focusTracker.add(this.element);for(const t of this.items){this.focusTracker.add(t.element)}this.items.on(\"add\",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on(\"remove\",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element);this._behavior.render(this)}destroy(){this._behavior.destroy();this.focusTracker.destroy();this.keystrokes.destroy();return super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e,n){this.items.addMany(this._buildItemsFromConfig(t,e,n))}_buildItemsFromConfig(t,e,n){const o=$y(t);const i=n||o.removeItems;const r=this._cleanItemsConfiguration(o.items,e,i).map((t=>{if(st(t)){return this._createNestedToolbarDropdown(t,e,i)}else if(t===\"|\"){return new Wy}else if(t===\"-\"){return new qy}return e.create(t)})).filter((t=>!!t));return r}_cleanItemsConfiguration(t,e,n){const o=t.filter(((t,o,i)=>{if(t===\"|\"){return true}if(n.indexOf(t)!==-1){return false}if(t===\"-\"){if(this.options.shouldGroupWhenFull){L(\"toolbarview-line-break-ignored-when-grouping-items\",i);return false}return true}if(!st(t)&&!e.has(t)){L(\"toolbarview-item-unavailable\",{item:t});return false}return true}));return this._cleanSeparatorsAndLineBreaks(o)}_cleanSeparatorsAndLineBreaks(t){const e=t=>t!==\"-\"&&t!==\"|\";const n=t.length;const o=t.findIndex(e);if(o===-1){return[]}const i=n-t.slice().reverse().findIndex(e);return t.slice(o,i).filter(((t,n,o)=>{if(e(t)){return true}const i=n>0&&o[n-1]===t;return!i}))}_createNestedToolbarDropdown(t,e,n){let{label:o,icon:i,items:r,tooltip:s=true,withText:a=false}=t;r=this._cleanItemsConfiguration(r,e,n);if(!r.length){return null}const c=this.locale;const l=xx(c);if(!o){L(\"toolbarview-nested-toolbar-dropdown-missing-label\",t)}l.class=\"ck-toolbar__nested-toolbar-dropdown\";l.buttonView.set({label:o,tooltip:s,withText:!!a});if(i!==false){l.buttonView.icon=Xy[i]||i||Jy}else{l.buttonView.withText=true}Ex(l,(()=>l.toolbarView._buildItemsFromConfig(r,e,n)));return l}}class ex extends ov{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-toolbar__items\"]},children:this.children})}}class nx{constructor(t){const e=t.bindTemplate;t.set(\"isVertical\",false);t.itemsView.children.bindTo(t.items).using((t=>t));t.focusables.bindTo(t.items).using((t=>Hy(t)?t:null));t.extendTemplate({attributes:{class:[e.if(\"isVertical\",\"ck-toolbar_vertical\")]}})}render(){}destroy(){}}class ox{constructor(t){this.resizeObserver=null;this.cachedPadding=null;this.shouldUpdateGroupingOnNextResize=false;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();t.itemsView.children.bindTo(this.ungroupedItems).using((t=>t));this.ungroupedItems.on(\"change\",this._updateFocusCyclableItems.bind(this));t.children.on(\"change\",this._updateFocusCyclableItems.bind(this));t.items.on(\"change\",((t,e)=>{const n=e.index;const o=Array.from(e.added);for(const t of e.removed){if(n>=this.ungroupedItems.length){this.groupedItems.remove(t)}else{this.ungroupedItems.remove(t)}}for(let t=n;tthis.ungroupedItems.length){this.groupedItems.add(e,t-this.ungroupedItems.length)}else{this.ungroupedItems.add(e,t)}}this._updateGrouping()}));t.extendTemplate({attributes:{class:[\"ck-toolbar_grouping\"]}})}render(t){this.viewElement=t.element;this._enableGroupingOnResize();this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy();this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement)){return}if(!Dc(this.viewElement)){this.shouldUpdateGroupingOnNextResize=true;return}const t=this.groupedItems.length;let e;while(this._areItemsOverflowing){this._groupLastItem();e=true}if(!e&&this.groupedItems.length){while(this.groupedItems.length&&!this._areItemsOverflowing){this._ungroupFirstItem()}if(this._areItemsOverflowing){this._groupLastItem()}}if(this.groupedItems.length!==t){this.view.fire(\"groupedItemsUpdate\")}}get _areItemsOverflowing(){if(!this.ungroupedItems.length){return false}const t=this.viewElement;const e=this.viewLocale.uiLanguageDirection;const n=new hc(t.lastChild);const o=new hc(t);if(!this.cachedPadding){const n=oc.window.getComputedStyle(t);const o=e===\"ltr\"?\"paddingRight\":\"paddingLeft\";this.cachedPadding=Number.parseInt(n[o])}if(e===\"ltr\"){return n.right>o.right-this.cachedPadding}else{return n.left{if(!t||t!==e.contentRect.width||this.shouldUpdateGroupingOnNextResize){this.shouldUpdateGroupingOnNextResize=false;this._updateGrouping();t=e.contentRect.width}}));this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on(\"change:maxWidth\",(()=>{this._updateGrouping()}))}_groupLastItem(){if(!this.groupedItems.length){this.viewChildren.add(new Wy);this.viewChildren.add(this.groupedItemsDropdown);this.viewFocusTracker.add(this.groupedItemsDropdown.element)}this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first));if(!this.groupedItems.length){this.viewChildren.remove(this.groupedItemsDropdown);this.viewChildren.remove(this.viewChildren.last);this.viewFocusTracker.remove(this.groupedItemsDropdown.element)}}_createGroupedItemsDropdown(){const t=this.viewLocale;const e=t.t;const n=xx(t);n.class=\"ck-toolbar__grouped-dropdown\";n.panelPosition=t.uiLanguageDirection===\"ltr\"?\"sw\":\"se\";Ex(n,this.groupedItems);n.buttonView.set({label:e(\"Show more items\"),tooltip:true,tooltipPosition:t.uiLanguageDirection===\"rtl\"?\"se\":\"sw\",icon:Jy});return n}_updateFocusCyclableItems(){this.viewFocusables.clear();this.ungroupedItems.map((t=>{if(Hy(t)){this.viewFocusables.add(t)}}));if(this.groupedItems.length){this.viewFocusables.add(this.groupedItemsDropdown)}}}class ix extends ov{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isVisible\",true);this.children=this.createCollection();this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__item\",e.if(\"isVisible\",\"ck-hidden\",(t=>!t))],role:\"presentation\"},children:this.children})}focus(){if(this.children.first){this.children.first.focus()}}}class rx extends ov{constructor(t){super(t);this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__separator\"]}})}}class sx extends ov{constructor(t,e=new cv){super(t);const n=this.bindTemplate;const o=new ux(t);this.set({label:\"\",isVisible:true});this.labelView=e;this.labelView.bind(\"text\").to(this,\"label\");this.children=this.createCollection();this.children.addMany([this.labelView,o]);o.set({role:\"group\",ariaLabelledBy:e.id});o.focusTracker.destroy();o.keystrokes.destroy();this.items=o.items;this.setTemplate({tag:\"li\",attributes:{role:\"presentation\",class:[\"ck\",\"ck-list__group\",n.if(\"isVisible\",\"ck-hidden\",(t=>!t))]},children:this.children})}focus(){if(this.items){const t=this.items.find((t=>!(t instanceof rx)));if(t){t.focus()}}}}var ax=n(8753);var cx={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};cx.insert=\"head\";cx.singleton=true;var lx=Ld()(ax.A,cx);const dx=ax.A.locals||{};class ux extends ov{constructor(t){super(t);this._listItemGroupToChangeListeners=new WeakMap;const e=this.bindTemplate;this.focusables=new vC;this.items=this.createCollection();this.focusTracker=new ad;this.keystrokes=new cd;this._focusCycler=new Fy({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"arrowup\",focusNext:\"arrowdown\"}});this.set(\"ariaLabel\",undefined);this.set(\"ariaLabelledBy\",undefined);this.set(\"role\",undefined);this.setTemplate({tag:\"ul\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"],role:e.to(\"role\"),\"aria-label\":e.to(\"ariaLabel\"),\"aria-labelledby\":e.to(\"ariaLabelledBy\")},children:this.items})}render(){super.render();for(const t of this.items){if(t instanceof sx){this._registerFocusableItemsGroup(t)}else if(t instanceof ix){this._registerFocusableListItem(t)}}this.items.on(\"change\",((t,e)=>{for(const t of e.removed){if(t instanceof sx){this._deregisterFocusableItemsGroup(t)}else if(t instanceof ix){this._deregisterFocusableListItem(t)}}for(const t of Array.from(e.added).reverse()){if(t instanceof sx){this._registerFocusableItemsGroup(t,e.index)}else{this._registerFocusableListItem(t,e.index)}}}));this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_registerFocusableListItem(t,e){this.focusTracker.add(t.element);this.focusables.add(t,e)}_deregisterFocusableListItem(t){this.focusTracker.remove(t.element);this.focusables.remove(t)}_getOnGroupItemsChangeCallback(t){return(e,n)=>{for(const t of n.removed){this._deregisterFocusableListItem(t)}for(const e of Array.from(n.added).reverse()){this._registerFocusableListItem(e,this.items.getIndex(t)+n.index)}}}_registerFocusableItemsGroup(t,e){Array.from(t.items).forEach(((t,n)=>{const o=typeof e!==\"undefined\"?e+n:undefined;this._registerFocusableListItem(t,o)}));const n=this._getOnGroupItemsChangeCallback(t);this._listItemGroupToChangeListeners.set(t,n);t.items.on(\"change\",n)}_deregisterFocusableItemsGroup(t){for(const e of t.items){this._deregisterFocusableListItem(e)}t.items.off(\"change\",this._listItemGroupToChangeListeners.get(t));this._listItemGroupToChangeListeners.delete(t)}}var hx=n(4890);var mx={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};mx.insert=\"head\";mx.singleton=true;var gx=Ld()(hx.A,mx);const fx=hx.A.locals||{};class px extends ov{constructor(t,e){super(t);const n=this.bindTemplate;this.set(\"class\",undefined);this.set(\"labelStyle\",undefined);this.set(\"icon\",undefined);this.set(\"isEnabled\",true);this.set(\"isOn\",false);this.set(\"isToggleable\",false);this.set(\"isVisible\",true);this.set(\"keystroke\",undefined);this.set(\"withKeystroke\",false);this.set(\"label\",undefined);this.set(\"tabindex\",-1);this.set(\"tooltip\",false);this.set(\"tooltipPosition\",\"s\");this.set(\"type\",\"button\");this.set(\"withText\",false);this.children=this.createCollection();this.actionView=this._createActionView(e);this.arrowView=this._createArrowView();this.keystrokes=new cd;this.focusTracker=new ad;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-splitbutton\",n.to(\"class\"),n.if(\"isVisible\",\"ck-hidden\",(t=>!t)),this.arrowView.bindTemplate.if(\"isOn\",\"ck-splitbutton_open\")]},children:this.children})}render(){super.render();this.children.add(this.actionView);this.children.add(this.arrowView);this.focusTracker.add(this.actionView.element);this.focusTracker.add(this.arrowView.element);this.keystrokes.listenTo(this.element);this.keystrokes.set(\"arrowright\",((t,e)=>{if(this.focusTracker.focusedElement===this.actionView.element){this.arrowView.focus();e()}}));this.keystrokes.set(\"arrowleft\",((t,e)=>{if(this.focusTracker.focusedElement===this.arrowView.element){this.actionView.focus();e()}}))}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(t){const e=t||new Sv;if(!t){e.bind(\"icon\",\"isEnabled\",\"isOn\",\"isToggleable\",\"keystroke\",\"label\",\"tabindex\",\"tooltip\",\"tooltipPosition\",\"type\",\"withText\").to(this)}e.extendTemplate({attributes:{class:\"ck-splitbutton__action\"}});e.delegate(\"execute\").to(this);return e}_createArrowView(){const t=new Sv;const e=t.bindTemplate;t.icon=Rv;t.extendTemplate({attributes:{class:[\"ck-splitbutton__arrow\"],\"data-cke-tooltip-disabled\":e.to(\"isOn\"),\"aria-haspopup\":true,\"aria-expanded\":e.to(\"isOn\",(t=>String(t)))}});t.bind(\"isEnabled\").to(this);t.bind(\"label\").to(this);t.bind(\"tooltip\").to(this);t.delegate(\"execute\").to(this,\"open\");return t}}var bx=n(9432);var kx={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};kx.insert=\"head\";kx.singleton=true;var wx=Ld()(bx.A,kx);const Ax=bx.A.locals||{};var _x=n(6571);var Cx={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Cx.insert=\"head\";Cx.singleton=true;var vx=Ld()(_x.A,Cx);const yx=_x.A.locals||{};function xx(t,e=Vy){const n=typeof e==\"function\"?new e(t):e;const o=new My(t);const i=new Ry(t,n,o);n.bind(\"isEnabled\").to(i);if(n instanceof px){n.arrowView.bind(\"isOn\").to(i,\"isOpen\")}else{n.bind(\"isOn\").to(i,\"isOpen\")}Bx(i);return i}function Ex(t,e,n={}){t.extendTemplate({attributes:{class:[\"ck-toolbar-dropdown\"]}});if(t.isOpen){Dx(t,e,n)}else{t.once(\"change:isOpen\",(()=>Dx(t,e,n)),{priority:\"highest\"})}if(n.enableActiveItemFocusOnDropdownOpen){Sx(t,(()=>t.toolbarView.items.find((t=>t.isOn))))}}function Dx(t,e,n){const o=t.locale;const i=o.t;const r=t.toolbarView=new tx(o);const s=typeof e==\"function\"?e():e;r.ariaLabel=n.ariaLabel||i(\"Dropdown toolbar\");if(n.maxWidth){r.maxWidth=n.maxWidth}if(n.class){r.class=n.class}if(n.isCompact){r.isCompact=n.isCompact}if(n.isVertical){r.isVertical=true}if(s instanceof vC){r.items.bindTo(s).using((t=>t))}else{r.items.addMany(s)}t.panelView.children.add(r);r.items.delegate(\"execute\").to(t)}function Ix(t,e,n={}){if(t.isOpen){Tx(t,e,n)}else{t.once(\"change:isOpen\",(()=>Tx(t,e,n)),{priority:\"highest\"})}Sx(t,(()=>t.listView.items.find((t=>{if(t instanceof ix){return t.children.first.isOn}return false}))))}function Tx(t,e,n){const o=t.locale;const i=t.listView=new ux(o);const r=typeof e==\"function\"?e():e;i.ariaLabel=n.ariaLabel;i.role=n.role;Rx(t,i.items,r,o);t.panelView.children.add(i);i.items.delegate(\"execute\").to(t)}function Sx(t,e){t.on(\"change:isOpen\",(()=>{if(!t.isOpen){return}const n=e();if(!n){return}if(typeof n.focus===\"function\"){n.focus()}else{L(\"ui-dropdown-focus-child-on-open-child-missing-focus\",{view:n})}}),{priority:B.low-10})}function Bx(t){Mx(t);Px(t);Nx(t);Lx(t);zx(t);Ox(t)}function Mx(e){e.on(\"render\",(()=>{t({emitter:e,activator:()=>e.isOpen,callback:()=>{e.isOpen=false},contextElements:()=>[e.element,...e.focusTracker._elements]})}))}function Px(t){t.on(\"execute\",(e=>{if(e.source instanceof Lv){return}t.isOpen=false}))}function Nx(t){t.focusTracker.on(\"change:isFocused\",((e,n,o)=>{if(t.isOpen&&!o){t.isOpen=false}}))}function Lx(t){t.keystrokes.set(\"arrowdown\",((e,n)=>{if(t.isOpen){t.panelView.focus();n()}}));t.keystrokes.set(\"arrowup\",((e,n)=>{if(t.isOpen){t.panelView.focusLast();n()}}))}function zx(t){t.on(\"change:isOpen\",((e,n,o)=>{if(o){return}const i=t.panelView.element;if(i&&i.contains(oc.document.activeElement)){t.buttonView.focus()}}))}function Ox(t){t.on(\"change:isOpen\",((e,n,o)=>{if(!o){return}t.panelView.focus()}),{priority:\"low\"})}function Rx(t,e,n,o){e.bindTo(n).using((e=>{if(e.type===\"separator\"){return new rx(o)}else if(e.type===\"group\"){const n=new sx(o);n.set({label:e.label});Rx(t,n.items,e.items,o);n.items.delegate(\"execute\").to(t);return n}else if(e.type===\"button\"||e.type===\"switchbutton\"){const t=new ix(o);let n;if(e.type===\"button\"){n=new Sv(o);n.bind(\"ariaChecked\").to(n,\"isOn\")}else{n=new Lv(o)}n.bind(...Object.keys(e.model)).to(e.model);n.delegate(\"execute\").to(t);t.children.add(n);return t}return null}))}const Vx=(t,e,n)=>{const o=new yy(t.locale);o.set({id:e,ariaDescribedById:n});o.bind(\"isReadOnly\").to(t,\"isEnabled\",(t=>!t));o.bind(\"hasError\").to(t,\"errorText\",(t=>!!t));o.on(\"input\",(()=>{t.errorText=null}));t.bind(\"isEmpty\",\"isFocused\",\"placeholder\").to(o);return o};const Fx=(t,e,n)=>{const o=new xy(t.locale);o.set({id:e,ariaDescribedById:n,inputMode:\"numeric\"});o.bind(\"isReadOnly\").to(t,\"isEnabled\",(t=>!t));o.bind(\"hasError\").to(t,\"errorText\",(t=>!!t));o.on(\"input\",(()=>{t.errorText=null}));t.bind(\"isEmpty\",\"isFocused\",\"placeholder\").to(o);return o};const jx=(t,e,n)=>{const o=new TextareaView(t.locale);o.set({id:e,ariaDescribedById:n});o.bind(\"isReadOnly\").to(t,\"isEnabled\",(t=>!t));o.bind(\"hasError\").to(t,\"errorText\",(t=>!!t));o.on(\"input\",(()=>{t.errorText=null}));t.bind(\"isEmpty\",\"isFocused\",\"placeholder\").to(o);return o};const Hx=(t,e,n)=>{const o=xx(t.locale);o.set({id:e,ariaDescribedById:n});o.bind(\"isEnabled\").to(t);return o};const Ux=(t,e=0,n=1)=>t>n?n:tMath.round(n*t)/n;const qx={grad:360/400,turn:360,rad:360/(Math.PI*2)};const Gx=t=>mE($x(t));const $x=t=>{if(t[0]===\"#\")t=t.substring(1);if(t.length<6){return{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?Wx(parseInt(t[3]+t[3],16)/255,2):1}}return{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:t.length===8?Wx(parseInt(t.substring(6,8),16)/255,2):1}};const Kx=(t,e=\"deg\")=>Number(t)*(qx[e]||1);const Yx=t=>{const e=/hsla?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;const n=e.exec(t);if(!n)return{h:0,s:0,v:0,a:1};return Zx({h:Kx(n[1],n[2]),s:Number(n[3]),l:Number(n[4]),a:n[5]===undefined?1:Number(n[5])/(n[6]?100:1)})};const Qx=null&&Yx;const Zx=({h:t,s:e,l:n,a:o})=>{e*=(n<50?n:100-n)/100;return{h:t,s:e>0?2*e/(n+e)*100:0,v:n+e,a:o}};const Jx=t=>hE(iE(t));const Xx=({h:t,s:e,v:n,a:o})=>{const i=(200-e)*n/100;return{h:Wx(t),s:Wx(i>0&&i<200?e*n/100/(i<=100?i:200-i)*100:0),l:Wx(i/2),a:Wx(o,2)}};const tE=t=>{const{h:e,s:n,v:o}=gE(t);return`hsv(${e}, ${n}%, ${o}%)`};const eE=t=>{const{h:e,s:n,v:o,a:i}=gE(t);return`hsva(${e}, ${n}%, ${o}%, ${i})`};const nE=t=>{const{h:e,s:n,l:o}=Xx(t);return`hsl(${e}, ${n}%, ${o}%)`};const oE=t=>{const{h:e,s:n,l:o,a:i}=Xx(t);return`hsla(${e}, ${n}%, ${o}%, ${i})`};const iE=({h:t,s:e,v:n,a:o})=>{t=t/360*6;e=e/100;n=n/100;const i=Math.floor(t),r=n*(1-e),s=n*(1-(t-i)*e),a=n*(1-(1-t+i)*e),c=i%6;return{r:Wx([n,s,r,r,a,n][c]*255),g:Wx([a,n,n,s,r,r][c]*255),b:Wx([r,r,a,n,n,s][c]*255),a:Wx(o,2)}};const rE=t=>{const{r:e,g:n,b:o}=iE(t);return`rgb(${e}, ${n}, ${o})`};const sE=t=>{const{r:e,g:n,b:o,a:i}=iE(t);return`rgba(${e}, ${n}, ${o}, ${i})`};const aE=t=>{const e=/hsva?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;const n=e.exec(t);if(!n)return{h:0,s:0,v:0,a:1};return gE({h:Kx(n[1],n[2]),s:Number(n[3]),v:Number(n[4]),a:n[5]===undefined?1:Number(n[5])/(n[6]?100:1)})};const cE=null&&aE;const lE=t=>{const e=/rgba?\\(?\\s*(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;const n=e.exec(t);if(!n)return{h:0,s:0,v:0,a:1};return mE({r:Number(n[1])/(n[2]?100/255:1),g:Number(n[3])/(n[4]?100/255:1),b:Number(n[5])/(n[6]?100/255:1),a:n[7]===undefined?1:Number(n[7])/(n[8]?100:1)})};const dE=null&≦const uE=t=>{const e=t.toString(16);return e.length<2?\"0\"+e:e};const hE=({r:t,g:e,b:n,a:o})=>{const i=o<1?uE(Wx(o*255)):\"\";return\"#\"+uE(t)+uE(e)+uE(n)+i};const mE=({r:t,g:e,b:n,a:o})=>{const i=Math.max(t,e,n);const r=i-Math.min(t,e,n);const s=r?i===t?(e-n)/r:i===e?2+(n-t)/r:4+(t-e)/r:0;return{h:Wx(60*(s<0?s+6:s)),s:Wx(i?r/i*100:0),v:Wx(i/255*100),a:o}};const gE=t=>({h:round(t.h),s:round(t.s),v:round(t.v),a:round(t.a,2)});const fE=({r:t,g:e,b:n})=>({r:t,g:e,b:n});const pE=({h:t,s:e,l:n})=>({h:t,s:e,l:n});const bE=t=>{const{h:e,s:n,v:o}=gE(t);return{h:e,s:n,v:o}};const kE=(t,e)=>{if(t===e)return true;for(const n in t){if(t[n]!==e[n])return false}return true};const wE=(t,e)=>t.replace(/\\s/g,\"\")===e.replace(/\\s/g,\"\");const AE=(t,e)=>{if(t.toLowerCase()===e.toLowerCase())return true;return kE($x(t),$x(e))};const _E={};const CE=t=>{let e=_E[t];if(!e){e=document.createElement(\"template\");e.innerHTML=t;_E[t]=e}return e};const vE=(t,e,n)=>{t.dispatchEvent(new CustomEvent(e,{bubbles:true,detail:n}))};let yE=false;const xE=t=>\"touches\"in t;const EE=t=>{if(yE&&!xE(t))return false;if(!yE)yE=xE(t);return true};const DE=(t,e)=>{const n=xE(e)?e.touches[0]:e;const o=t.el.getBoundingClientRect();vE(t.el,\"move\",t.getMove({x:Ux((n.pageX-(o.left+window.pageXOffset))/o.width),y:Ux((n.pageY-(o.top+window.pageYOffset))/o.height)}))};const IE=(t,e)=>{const n=e.keyCode;if(n>40||t.xy&&n<37||n<33)return;e.preventDefault();vE(t.el,\"move\",t.getMove({x:n===39?.01:n===37?-.01:n===34?.05:n===33?-.05:n===35?1:n===36?-1:0,y:n===40?.01:n===38?-.01:0},true))};class TE{constructor(t,e,n,o){const i=CE(``);t.appendChild(i.content.cloneNode(true));const r=t.querySelector(`[part=${e}]`);r.addEventListener(\"mousedown\",this);r.addEventListener(\"touchstart\",this);r.addEventListener(\"keydown\",this);this.el=r;this.xy=o;this.nodes=[r.firstChild,r]}set dragging(t){const e=t?document.addEventListener:document.removeEventListener;e(yE?\"touchmove\":\"mousemove\",this);e(yE?\"touchend\":\"mouseup\",this)}handleEvent(t){switch(t.type){case\"mousedown\":case\"touchstart\":t.preventDefault();if(!EE(t)||!yE&&t.button!=0)return;this.el.focus();DE(this,t);this.dragging=true;break;case\"mousemove\":case\"touchmove\":t.preventDefault();DE(this,t);break;case\"mouseup\":case\"touchend\":this.dragging=false;break;case\"keydown\":IE(this,t);break}}style(t){t.forEach(((t,e)=>{for(const n in t){this.nodes[e].style.setProperty(n,t[n])}}))}}class SE extends TE{constructor(t){super(t,\"hue\",'aria-label=\"Hue\" aria-valuemin=\"0\" aria-valuemax=\"360\"',false)}update({h:t}){this.h=t;this.style([{left:`${t/360*100}%`,color:nE({h:t,s:100,v:100,a:1})}]);this.el.setAttribute(\"aria-valuenow\",`${Wx(t)}`)}getMove(t,e){return{h:e?Ux(this.h+t.x*360,0,360):360*t.x}}}class BE extends TE{constructor(t){super(t,\"saturation\",'aria-label=\"Color\"',true)}update(t){this.hsva=t;this.style([{top:`${100-t.v}%`,left:`${t.s}%`,color:nE(t)},{\"background-color\":nE({h:t.h,s:100,v:100,a:1})}]);this.el.setAttribute(\"aria-valuetext\",`Saturation ${Wx(t.s)}%, Brightness ${Wx(t.v)}%`)}getMove(t,e){return{s:e?Ux(this.hsva.s+t.x*100,0,100):t.x*100,v:e?Ux(this.hsva.v-t.y*100,0,100):Math.round(100-t.y*100)}}}const ME=`:host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:\"\";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}`;const PE=`[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}`;const NE=`[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}`;const LE=Symbol(\"same\");const zE=Symbol(\"color\");const OE=Symbol(\"hsva\");const RE=Symbol(\"update\");const VE=Symbol(\"parts\");const FE=Symbol(\"css\");const jE=Symbol(\"sliders\");class HE extends HTMLElement{static get observedAttributes(){return[\"color\"]}get[FE](){return[ME,PE,NE]}get[jE](){return[BE,SE]}get color(){return this[zE]}set color(t){if(!this[LE](t)){const e=this.colorModel.toHsva(t);this[RE](e);this[zE]=t}}constructor(){super();const t=CE(``);const e=this.attachShadow({mode:\"open\"});e.appendChild(t.content.cloneNode(true));e.addEventListener(\"move\",this);this[VE]=this[jE].map((t=>new t(e)))}connectedCallback(){if(this.hasOwnProperty(\"color\")){const t=this.color;delete this[\"color\"];this.color=t}else if(!this.color){this.color=this.colorModel.defaultColor}}attributeChangedCallback(t,e,n){const o=this.colorModel.fromAttr(n);if(!this[LE](o)){this.color=o}}handleEvent(t){const e=this[OE];const n={...e,...t.detail};this[RE](n);let o;if(!kE(n,e)&&!this[LE](o=this.colorModel.fromHsva(n))){this[zE]=o;vE(this,\"color-changed\",{value:o})}}[LE](t){return this.color&&this.colorModel.equal(t,this.color)}[RE](t){this[OE]=t;this[VE].forEach((e=>e.update(t)))}}const UE={defaultColor:\"#000\",toHsva:Gx,fromHsva:({h:t,s:e,v:n})=>Jx({h:t,s:e,v:n,a:1}),equal:AE,fromAttr:t=>t};class WE extends HE{get colorModel(){return UE}}var qE=n(3019);var GE={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};GE.insert=\"head\";GE.singleton=true;var $E=Ld()(qE.A,GE);const KE=qE.A.locals||{};const YE=150;class QE extends ov{constructor(t,e={}){super(t);this.set({color:\"\",_hexColor:\"\"});this.hexInputRow=this._createInputRow();const n=this.createCollection();if(!e.hideInput){n.add(this.hexInputRow)}this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-picker\"],tabindex:-1},children:n});this._config=e;this._debounceColorPickerEvent=kg((t=>{this.set(\"color\",t);this.fire(\"colorSelected\",{color:this.color})}),YE,{leading:true});this.on(\"set:color\",((t,e,n)=>{t.return=sy(n,this._config.format||\"hsl\")}));this.on(\"change:color\",(()=>{this._hexColor=ZE(this.color)}));this.on(\"change:_hexColor\",(()=>{if(document.activeElement!==this.picker){this.picker.setAttribute(\"color\",this._hexColor)}if(ZE(this.color)!=ZE(this._hexColor)){this.color=this._hexColor}}))}render(){super.render();cy(\"hex-color-picker\",WE);this.picker=oc.document.createElement(\"hex-color-picker\");this.picker.setAttribute(\"class\",\"hex-color-picker\");this.picker.setAttribute(\"tabindex\",\"-1\");this._createSlidersView();if(this.element){if(this.hexInputRow.element){this.element.insertBefore(this.picker,this.hexInputRow.element)}else{this.element.appendChild(this.picker)}const t=document.createElement(\"style\");t.textContent='[role=\"slider\"]:focus [part$=\"pointer\"] {'+\"border: 1px solid #fff;\"+\"outline: 1px solid var(--ck-color-focus-border);\"+\"box-shadow: 0 0 0 2px #fff;\"+\"}\";this.picker.shadowRoot.appendChild(t)}this.picker.addEventListener(\"color-changed\",(t=>{const e=t.detail.value;this._debounceColorPickerEvent(e)}))}focus(){if(!this._config.hideInput&&(l.isGecko||l.isiOS||l.isSafari)){const t=this.hexInputRow.children.get(1);t.focus()}const t=this.slidersView.first;t.focus()}_createSlidersView(){const t=[...this.picker.shadowRoot.children];const e=t.filter((t=>t.getAttribute(\"role\")===\"slider\"));const n=e.map((t=>{const e=new JE(t);return e}));this.slidersView=this.createCollection();n.forEach((t=>{this.slidersView.add(t)}))}_createInputRow(){const t=new XE;const e=this._createColorInput();return new tD(this.locale,[t,e])}_createColorInput(){const t=new py(this.locale,Vx);const{t:e}=this.locale;t.set({label:e(\"HEX\"),class:\"color-picker-hex-input\"});t.fieldView.bind(\"value\").to(this,\"_hexColor\",(e=>{if(t.isFocused){return t.fieldView.value}else{return e.startsWith(\"#\")?e.substring(1):e}}));t.fieldView.on(\"input\",(()=>{const e=t.fieldView.element.value;if(e){const t=e.trim();const n=t.startsWith(\"#\")?t.substring(1):t;const o=[3,4,6,8].includes(n.length)&&/(([0-9a-fA-F]{2}){3,4}|([0-9a-fA-F]){3,4})/.test(n);if(o){this._debounceColorPickerEvent(\"#\"+n)}}}));return t}}function ZE(t){let e=ay(t);if(!e){e=\"#000\"}if(e.length===4){e=\"#\"+[e[1],e[1],e[2],e[2],e[3],e[3]].join(\"\")}return e.toLowerCase()}class JE extends ov{constructor(t){super();this.element=t}focus(){this.element.focus()}}class XE extends ov{constructor(t){super(t);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-picker__hash-view\"]},children:\"#\"})}}class tD extends ov{constructor(t,e){super(t);this.children=this.createCollection(e);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-picker__row\"]},children:this.children})}}class eD extends(mt(rd)){constructor(t){super(t);this.set(\"isEmpty\",true);this.on(\"change\",(()=>{this.set(\"isEmpty\",this.length===0)}))}add(t,e){if(this.find((e=>e.color===t.color))){return this}return super.add(t,e)}hasColor(t){return!!this.find((e=>e.color===t))}}const{eraser:nD,colorPalette:oD}=CC;class iD extends ov{constructor(t,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r,colorPickerLabel:s,focusTracker:a,focusables:c}){super(t);const l=this.bindTemplate;this.set(\"isVisible\",true);this.focusTracker=a;this.items=this.createCollection();this.colorDefinitions=e;this.columns=n;this.documentColors=new eD;this.documentColorsCount=r;this._focusables=c;this._removeButtonLabel=o;this._colorPickerLabel=s;this._documentColorsLabel=i;this.setTemplate({tag:\"div\",attributes:{class:[\"ck-color-grids-fragment\",l.if(\"isVisible\",\"ck-hidden\",(t=>!t))]},children:this.items});this.removeColorButtonView=this._createRemoveColorButton();this.items.add(this.removeColorButtonView)}updateDocumentColors(t,e){const n=t.document;const o=this.documentColorsCount;this.documentColors.clear();for(const i of n.getRoots()){const n=t.createRangeIn(i);for(const t of n.getItems()){if(t.is(\"$textProxy\")&&t.hasAttribute(e)){this._addColorToDocumentColors(t.getAttribute(e));if(this.documentColors.length>=o){return}}}}}updateSelectedColors(){const t=this.documentColorsGrid;const e=this.staticColorsGrid;const n=this.selectedColor;e.selectedColor=n;if(t){t.selectedColor=n}}render(){super.render();this.staticColorsGrid=this._createStaticColorsGrid();this.items.add(this.staticColorsGrid);if(this.documentColorsCount){const t=EC.bind(this.documentColors,this.documentColors);const e=new cv(this.locale);e.text=this._documentColorsLabel;e.extendTemplate({attributes:{class:[\"ck\",\"ck-color-grid__label\",t.if(\"isEmpty\",\"ck-hidden\")]}});this.items.add(e);this.documentColorsGrid=this._createDocumentColorsGrid();this.items.add(this.documentColorsGrid)}this._createColorPickerButton();this._addColorSelectorElementsToFocusTracker()}focus(){this.removeColorButtonView.focus()}destroy(){super.destroy()}addColorPickerButton(){if(this.colorPickerButtonView){this.items.add(this.colorPickerButtonView);this.focusTracker.add(this.colorPickerButtonView.element);this._focusables.add(this.colorPickerButtonView)}}_addColorSelectorElementsToFocusTracker(){this.focusTracker.add(this.removeColorButtonView.element);this._focusables.add(this.removeColorButtonView);if(this.staticColorsGrid){this.focusTracker.add(this.staticColorsGrid.element);this._focusables.add(this.staticColorsGrid)}if(this.documentColorsGrid){this.focusTracker.add(this.documentColorsGrid.element);this._focusables.add(this.documentColorsGrid)}}_createColorPickerButton(){this.colorPickerButtonView=new Sv;this.colorPickerButtonView.set({label:this._colorPickerLabel,withText:true,icon:oD,class:\"ck-color-selector__color-picker\"});this.colorPickerButtonView.on(\"execute\",(()=>{this.fire(\"colorPicker:show\")}))}_createRemoveColorButton(){const t=new Sv;t.set({withText:true,icon:nD,label:this._removeButtonLabel});t.class=\"ck-color-selector__remove-color\";t.on(\"execute\",(()=>{this.fire(\"execute\",{value:null,source:\"removeColorButton\"})}));t.render();return t}_createStaticColorsGrid(){const t=new Xv(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});t.on(\"execute\",((t,e)=>{this.fire(\"execute\",{value:e.value,source:\"staticColorsGrid\"})}));return t}_createDocumentColorsGrid(){const t=EC.bind(this.documentColors,this.documentColors);const e=new Xv(this.locale,{columns:this.columns});e.extendTemplate({attributes:{class:t.if(\"isEmpty\",\"ck-hidden\")}});e.items.bindTo(this.documentColors).using((t=>{const e=new Kv;e.set({color:t.color,hasBorder:t.options&&t.options.hasBorder});if(t.label){e.set({label:t.label,tooltip:true})}e.on(\"execute\",(()=>{this.fire(\"execute\",{value:t.color,source:\"documentColorsGrid\"})}));return e}));this.documentColors.on(\"change:isEmpty\",((t,n,o)=>{if(o){e.selectedColor=null}}));return e}_addColorToDocumentColors(t){const e=this.colorDefinitions.find((e=>e.color===t));if(!e){this.documentColors.add({color:t,label:t,options:{hasBorder:false}})}else{this.documentColors.add(Object.assign({},e))}}}class rD extends ov{constructor(t,{focusTracker:e,focusables:n,keystrokes:o,colorPickerViewConfig:i}){super(t);this.items=this.createCollection();this.focusTracker=e;this.keystrokes=o;this.set(\"isVisible\",false);this.set(\"selectedColor\",undefined);this._focusables=n;this._colorPickerViewConfig=i;const r=this.bindTemplate;const{saveButtonView:s,cancelButtonView:a}=this._createActionButtons();this.saveButtonView=s;this.cancelButtonView=a;this.actionBarView=this._createActionBarView({saveButtonView:s,cancelButtonView:a});this.setTemplate({tag:\"div\",attributes:{class:[\"ck-color-picker-fragment\",r.if(\"isVisible\",\"ck-hidden\",(t=>!t))]},children:this.items})}render(){super.render();const t=new QE(this.locale,{...this._colorPickerViewConfig});this.colorPickerView=t;this.colorPickerView.render();if(this.selectedColor){t.color=this.selectedColor}this.listenTo(this,\"change:selectedColor\",((e,n,o)=>{t.color=o}));this.items.add(this.colorPickerView);this.items.add(this.actionBarView);this._addColorPickersElementsToFocusTracker();this._stopPropagationOnArrowsKeys();this._executeOnEnterPress();this._executeUponColorChange()}destroy(){super.destroy()}focus(){this.colorPickerView.focus()}_executeOnEnterPress(){this.keystrokes.set(\"enter\",(t=>{if(this.isVisible&&this.focusTracker.focusedElement!==this.cancelButtonView.element){this.fire(\"execute\",{value:this.selectedColor});t.stopPropagation();t.preventDefault()}}))}_stopPropagationOnArrowsKeys(){const t=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",t);this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"arrowup\",t);this.keystrokes.set(\"arrowdown\",t)}_addColorPickersElementsToFocusTracker(){for(const t of this.colorPickerView.slidersView){this.focusTracker.add(t.element);this._focusables.add(t)}const t=this.colorPickerView.hexInputRow.children.get(1);if(t.element){this.focusTracker.add(t.element);this._focusables.add(t)}this.focusTracker.add(this.saveButtonView.element);this._focusables.add(this.saveButtonView);this.focusTracker.add(this.cancelButtonView.element);this._focusables.add(this.cancelButtonView)}_createActionBarView({saveButtonView:t,cancelButtonView:e}){const n=new ov;const o=this.createCollection();o.add(t);o.add(e);n.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-selector_action-bar\"]},children:o});return n}_createActionButtons(){const t=this.locale;const e=t.t;const n=new Sv(t);const o=new Sv(t);n.set({icon:CC.check,class:\"ck-button-save\",type:\"button\",withText:false,label:e(\"Accept\")});o.set({icon:CC.cancel,class:\"ck-button-cancel\",type:\"button\",withText:false,label:e(\"Cancel\")});n.on(\"execute\",(()=>{this.fire(\"execute\",{source:\"colorPickerSaveButton\",value:this.selectedColor})}));o.on(\"execute\",(()=>{this.fire(\"colorPicker:cancel\")}));return{saveButtonView:n,cancelButtonView:o}}_executeUponColorChange(){this.colorPickerView.on(\"colorSelected\",((t,e)=>{this.fire(\"execute\",{value:e.color,source:\"colorPicker\"});this.set(\"selectedColor\",e.color)}))}}var sD=n(2927);var aD={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};aD.insert=\"head\";aD.singleton=true;var cD=Ld()(sD.A,aD);const lD=sD.A.locals||{};class dD extends ov{constructor(t,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r,colorPickerLabel:s,colorPickerViewConfig:a}){super(t);this.items=this.createCollection();this.focusTracker=new ad;this.keystrokes=new cd;this._focusables=new vC;this._colorPickerViewConfig=a;this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.colorGridsFragmentView=new iD(t,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r,colorPickerLabel:s,focusTracker:this.focusTracker,focusables:this._focusables});this.colorPickerFragmentView=new rD(t,{focusables:this._focusables,focusTracker:this.focusTracker,keystrokes:this.keystrokes,colorPickerViewConfig:a});this.set(\"_isColorGridsFragmentVisible\",true);this.set(\"_isColorPickerFragmentVisible\",false);this.set(\"selectedColor\",undefined);this.colorGridsFragmentView.bind(\"isVisible\").to(this,\"_isColorGridsFragmentVisible\");this.colorPickerFragmentView.bind(\"isVisible\").to(this,\"_isColorPickerFragmentVisible\");this.on(\"change:selectedColor\",((t,e,n)=>{this.colorGridsFragmentView.set(\"selectedColor\",n);this.colorPickerFragmentView.set(\"selectedColor\",n)}));this.colorGridsFragmentView.on(\"change:selectedColor\",((t,e,n)=>{this.set(\"selectedColor\",n)}));this.colorPickerFragmentView.on(\"change:selectedColor\",((t,e,n)=>{this.set(\"selectedColor\",n)}));this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-selector\"]},children:this.items})}render(){super.render();this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}appendUI(){this._appendColorGridsFragment();if(this._colorPickerViewConfig){this._appendColorPickerFragment()}}showColorPickerFragment(){if(!this.colorPickerFragmentView.colorPickerView||this._isColorPickerFragmentVisible){return}this._isColorPickerFragmentVisible=true;this.colorPickerFragmentView.focus();this._isColorGridsFragmentVisible=false}showColorGridsFragment(){if(this._isColorGridsFragmentVisible){return}this._isColorGridsFragmentVisible=true;this.colorGridsFragmentView.focus();this._isColorPickerFragmentVisible=false}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}updateDocumentColors(t,e){this.colorGridsFragmentView.updateDocumentColors(t,e)}updateSelectedColors(){this.colorGridsFragmentView.updateSelectedColors()}_appendColorGridsFragment(){if(this.items.length){return}this.items.add(this.colorGridsFragmentView);this.colorGridsFragmentView.delegate(\"execute\").to(this);this.colorGridsFragmentView.delegate(\"colorPicker:show\").to(this)}_appendColorPickerFragment(){if(this.items.length===2){return}this.items.add(this.colorPickerFragmentView);if(this.colorGridsFragmentView.colorPickerButtonView){this.colorGridsFragmentView.colorPickerButtonView.on(\"execute\",(()=>{this.showColorPickerFragment()}))}this.colorGridsFragmentView.addColorPickerButton();this.colorPickerFragmentView.delegate(\"execute\").to(this);this.colorPickerFragmentView.delegate(\"colorPicker:cancel\").to(this)}}class uD{constructor(t){this._components=new Map;this.editor=t}*names(){for(const t of this._components.values()){yield t.originalName}}add(t,e){this._components.set(hD(t),{callback:e,originalName:t})}create(t){if(!this.has(t)){throw new N(\"componentfactory-item-missing\",this,{name:t})}return this._components.get(hD(t)).callback(this.editor.locale)}has(t){return this._components.has(hD(t))}}function hD(t){return String(t).toLowerCase()}var mD=n(8379);var gD={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};gD.insert=\"head\";gD.singleton=true;var fD=Ld()(mD.A,gD);const pD=mD.A.locals||{};class bD extends ov{constructor(t,e={}){super(t);const n=this.bindTemplate;this.set(\"label\",e.label||\"\");this.set(\"class\",e.class||null);this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-form__header\",n.to(\"class\")]},children:this.children});if(e.icon){this.iconView=new yv;this.iconView.content=e.icon;this.children.add(this.iconView)}const o=new ov(t);o.setTemplate({tag:\"h2\",attributes:{class:[\"ck\",\"ck-form__header__label\"],role:\"presentation\"},children:[{text:n.to(\"label\")}]});this.children.add(o)}}function kD(t){class e extends t{constructor(...t){super(...t);this._onDragBound=this._onDrag.bind(this);this._onDragEndBound=this._onDragEnd.bind(this);this._lastDraggingCoordinates={x:0,y:0};this.on(\"render\",(()=>{this._attachListeners()}));this.set(\"isDragging\",false)}_attachListeners(){this.listenTo(this.element,\"mousedown\",this._onDragStart.bind(this));this.listenTo(this.element,\"touchstart\",this._onDragStart.bind(this))}_attachDragListeners(){this.listenTo(oc.document,\"mouseup\",this._onDragEndBound);this.listenTo(oc.document,\"touchend\",this._onDragEndBound);this.listenTo(oc.document,\"mousemove\",this._onDragBound);this.listenTo(oc.document,\"touchmove\",this._onDragBound)}_detachDragListeners(){this.stopListening(oc.document,\"mouseup\",this._onDragEndBound);this.stopListening(oc.document,\"touchend\",this._onDragEndBound);this.stopListening(oc.document,\"mousemove\",this._onDragBound);this.stopListening(oc.document,\"touchmove\",this._onDragBound)}_onDragStart(t,e){if(!this._isHandleElementPressed(e)){return}this._attachDragListeners();let n=0;let o=0;if(e instanceof MouseEvent){n=e.clientX;o=e.clientY}else{n=e.touches[0].clientX;o=e.touches[0].clientY}this._lastDraggingCoordinates={x:n,y:o};this.isDragging=true}_onDrag(t,e){if(!this.isDragging){this._detachDragListeners();return}let n=0;let o=0;if(e instanceof MouseEvent){n=e.clientX;o=e.clientY}else{n=e.touches[0].clientX;o=e.touches[0].clientY}e.preventDefault();this.fire(\"drag\",{deltaX:Math.round(n-this._lastDraggingCoordinates.x),deltaY:Math.round(o-this._lastDraggingCoordinates.y)});this._lastDraggingCoordinates={x:n,y:o}}_onDragEnd(){this._detachDragListeners();this.isDragging=false}_isHandleElementPressed(t){if(!this.dragHandleElement){return false}return this.dragHandleElement===t.target||t.target instanceof HTMLElement&&this.dragHandleElement.contains(t.target)}}return e}var wD=n(7748);var AD={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};AD.insert=\"head\";AD.singleton=true;var _D=Ld()(wD.A,AD);const CD=wD.A.locals||{};class vD extends ov{constructor(t){super(t);this.children=this.createCollection();this.keystrokes=new cd;this._focusTracker=new ad;this._focusables=new vC;this.focusCycler=new Fy({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dialog__actions\"]},children:this.children})}render(){super.render();this.keystrokes.listenTo(this.element)}setButtons(t){for(const e of t){const t=new Sv(this.locale);let n;t.on(\"execute\",(()=>e.onExecute()));if(e.onCreate){e.onCreate(t)}for(n in e){if(n!=\"onExecute\"&&n!=\"onCreate\"){t.set(n,e[n])}}this.children.add(t)}this._updateFocusCyclableItems()}focus(t){if(t===-1){this.focusCycler.focusLast()}else{this.focusCycler.focusFirst()}}_updateFocusCyclableItems(){Array.from(this.children).forEach((t=>{this._focusables.add(t);this._focusTracker.add(t.element)}))}}class yD extends ov{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dialog__content\"]},children:this.children})}reset(){while(this.children.length){this.children.remove(0)}}}var xD=n(7197);var ED={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};ED.insert=\"head\";ED.singleton=true;var DD=Ld()(xD.A,ED);const ID=xD.A.locals||{};const TD={SCREEN_CENTER:\"screen-center\",EDITOR_CENTER:\"editor-center\",EDITOR_TOP_SIDE:\"editor-top-side\",EDITOR_TOP_CENTER:\"editor-top-center\",EDITOR_BOTTOM_CENTER:\"editor-bottom-center\",EDITOR_ABOVE_CENTER:\"editor-above-center\",EDITOR_BELOW_CENTER:\"editor-below-center\"};const SD=Cc(\"px\");class BD extends(kD(ov)){constructor(t,{getCurrentDomRoot:e,getViewportOffset:n}){super(t);this.wasMoved=false;const o=this.bindTemplate;const i=t.t;this.set(\"className\",\"\");this.set(\"ariaLabel\",i(\"Editor dialog\"));this.set(\"isModal\",false);this.set(\"position\",TD.SCREEN_CENTER);this.set(\"_isVisible\",false);this.set(\"_isTransparent\",false);this.set(\"_top\",0);this.set(\"_left\",0);this._getCurrentDomRoot=e;this._getViewportOffset=n;this.decorate(\"moveTo\");this.parts=this.createCollection();this.keystrokes=new cd;this.focusTracker=new ad;this._focusables=new vC;this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dialog-overlay\",o.if(\"isModal\",\"ck-dialog-overlay__transparent\",(t=>!t)),o.if(\"_isVisible\",\"ck-hidden\",(t=>!t))],tabindex:\"-1\"},children:[{tag:\"div\",attributes:{tabindex:\"-1\",class:[\"ck\",\"ck-dialog\",o.to(\"className\")],role:\"dialog\",\"aria-label\":o.to(\"ariaLabel\"),style:{top:o.to(\"_top\",(t=>SD(t))),left:o.to(\"_left\",(t=>SD(t))),visibility:o.if(\"_isTransparent\",\"hidden\")}},children:this.parts}]})}render(){super.render();this.keystrokes.set(\"Esc\",((t,e)=>{this.fire(\"close\",{source:\"escKeyPress\"});e()}));this.on(\"drag\",((t,{deltaX:e,deltaY:n})=>{this.wasMoved=true;this.moveBy(e,n)}));this.listenTo(oc.window,\"resize\",(()=>{if(this._isVisible&&!this.wasMoved){this.updatePosition()}}));this.listenTo(oc.document,\"scroll\",(()=>{if(this._isVisible&&!this.wasMoved){this.updatePosition()}}));this.on(\"change:_isVisible\",((t,e,n)=>{if(n){this._isTransparent=true;setTimeout((()=>{this.updatePosition();this._isTransparent=false;this.focus()}),10)}}));this.keystrokes.listenTo(this.element)}get dragHandleElement(){if(this.headerView){return this.headerView.element}else{return null}}setupParts({icon:t,title:e,hasCloseButton:n=true,content:o,actionButtons:i}){if(e){this.headerView=new bD(this.locale,{icon:t});if(n){this.closeButtonView=this._createCloseButton();this.headerView.children.add(this.closeButtonView)}this.headerView.label=e;this.ariaLabel=e;this.parts.add(this.headerView,0)}if(o){if(o instanceof ov){o=[o]}this.contentView=new yD(this.locale);this.contentView.children.addMany(o);this.parts.add(this.contentView)}if(i){this.actionsView=new vD(this.locale);this.actionsView.setButtons(i);this.parts.add(this.actionsView)}this._updateFocusCyclableItems()}focus(){this._focusCycler.focusFirst()}moveTo(t,e){const n=this._getViewportRect();const o=this._getDialogRect();if(t+o.width>n.right){t=n.right-o.width}if(t{this._focusables.add(t);this.focusTracker.add(t.element);if(Uy(t)){this.listenTo(t.focusCycler,\"forwardCycle\",(t=>{this._focusCycler.focusNext();if(this._focusCycler.next!==this._focusCycler.focusables.get(this._focusCycler.current)){t.stop()}}));this.listenTo(t.focusCycler,\"backwardCycle\",(t=>{this._focusCycler.focusPrevious();if(this._focusCycler.previous!==this._focusCycler.focusables.get(this._focusCycler.current)){t.stop()}}))}}))}_createCloseButton(){const t=new Sv(this.locale);const e=this.locale.t;t.set({label:e(\"Close\"),tooltip:true,icon:CC.cancel});t.on(\"execute\",(()=>this.fire(\"close\",{source:\"closeButton\"})));return t}}BD.defaultOffset=15;const MD=BD;function PD(t){t=Object.assign({top:0,bottom:0,left:0,right:0},t);const e=new hc(oc.window);e.top+=t.top;e.height-=t.top;e.bottom-=t.bottom;e.height-=t.bottom;e.left+=t.left;e.right-=t.right;e.width-=t.left+t.right;return e}class ND extends Ed{static get pluginName(){return\"Dialog\"}constructor(t){super(t);const e=t.t;this._initShowHideListeners();this._initFocusToggler();this._initMultiRootIntegration();this.set(\"id\",null);t.accessibility.addKeystrokeInfos({categoryId:\"navigation\",keystrokes:[{label:e(\"Move focus in and out of an active dialog window\"),keystroke:\"Ctrl+F6\",mayRequireFn:true}]})}_initShowHideListeners(){this.on(\"show\",((t,e)=>{this._show(e)}));this.on(\"show\",((t,e)=>{if(e.onShow){e.onShow(this)}}),{priority:\"low\"});this.on(\"hide\",(()=>{if(ND._visibleDialogPlugin){ND._visibleDialogPlugin._hide()}}));this.on(\"hide\",(()=>{if(this._onHide){this._onHide(this);this._onHide=undefined}}),{priority:\"low\"})}_initFocusToggler(){const t=this.editor;t.keystrokes.set(\"Ctrl+F6\",((e,n)=>{if(!this.isOpen||this.view.isModal){return}if(this.view.focusTracker.isFocused){t.editing.view.focus()}else{this.view.focus()}n()}))}_initMultiRootIntegration(){const t=this.editor.model;t.document.on(\"change:data\",(()=>{if(!this.view){return}const e=t.document.differ.getChangedRoots();for(const t of e){if(t.state){this.view.updatePosition()}}}))}show(t){this.hide();this.fire(`show:${t.id}`,t)}_show({id:t,icon:e,title:n,hasCloseButton:o=true,content:i,actionButtons:r,className:s,isModal:a,position:c,onHide:l}){const d=this.editor;this.view=new MD(d.locale,{getCurrentDomRoot:()=>d.editing.view.getDomRoot(d.model.document.selection.anchor.root.rootName),getViewportOffset:()=>d.ui.viewportOffset});const u=this.view;u.on(\"close\",(()=>{this.hide()}));d.ui.view.body.add(u);d.ui.focusTracker.add(u.element);d.keystrokes.listenTo(u.element);if(!c){c=a?TD.SCREEN_CENTER:TD.EDITOR_CENTER}u.set({position:c,_isVisible:true,className:s,isModal:a});u.setupParts({icon:e,title:n,hasCloseButton:o,content:i,actionButtons:r});this.id=t;if(l){this._onHide=l}this.isOpen=true;ND._visibleDialogPlugin=this}hide(){if(ND._visibleDialogPlugin){ND._visibleDialogPlugin.fire(`hide:${ND._visibleDialogPlugin.id}`)}}_hide(){if(!this.view){return}const t=this.editor;const e=this.view;if(e.contentView){e.contentView.reset()}t.ui.view.body.remove(e);t.ui.focusTracker.remove(e.element);t.keystrokes.stopListening(e.element);e.destroy();t.editing.view.focus();this.id=null;this.isOpen=false;ND._visibleDialogPlugin=null}}var LD=n(9316);var zD={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};zD.insert=\"head\";zD.singleton=true;var OD=Ld()(LD.A,zD);const RD=LD.A.locals||{};const VD=Cc(\"px\");const FD=oc.document.body;const jD={top:-99999,left:-99999,name:\"arrowless\",config:{withArrow:false}};class HD extends ov{constructor(t){super(t);const e=this.bindTemplate;this.set(\"top\",0);this.set(\"left\",0);this.set(\"position\",\"arrow_nw\");this.set(\"isVisible\",false);this.set(\"withArrow\",true);this.set(\"class\",undefined);this._pinWhenIsVisibleCallback=null;this.content=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-panel\",e.to(\"position\",(t=>`ck-balloon-panel_${t}`)),e.if(\"isVisible\",\"ck-balloon-panel_visible\"),e.if(\"withArrow\",\"ck-balloon-panel_with-arrow\"),e.to(\"class\")],style:{top:e.to(\"top\",VD),left:e.to(\"left\",VD)}},children:this.content})}show(){this.isVisible=true}hide(){this.isVisible=false}attachTo(t){this.show();const e=HD.defaultPositions;const n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast,e.viewportStickyNorth],limiter:FD,fitInViewport:true},t);const o=HD._getOptimalPosition(n)||jD;const i=parseInt(o.left);const r=parseInt(o.top);const s=o.name;const a=o.config||{};const{withArrow:c=true}=a;this.top=r;this.left=i;this.position=s;this.withArrow=c}pin(t){this.unpin();this._pinWhenIsVisibleCallback=()=>{if(this.isVisible){this._startPinning(t)}else{this._stopPinning()}};this._startPinning(t);this.listenTo(this,\"change:isVisible\",this._pinWhenIsVisibleCallback)}unpin(){if(this._pinWhenIsVisibleCallback){this._stopPinning();this.stopListening(this,\"change:isVisible\",this._pinWhenIsVisibleCallback);this._pinWhenIsVisibleCallback=null;this.hide()}}_startPinning(t){this.attachTo(t);const e=WD(t.target);const n=t.limiter?WD(t.limiter):FD;this.listenTo(oc.document,\"scroll\",((o,i)=>{const r=i.target;const s=e&&r.contains(e);const a=n&&r.contains(n);if(s||a||!e||!n){this.attachTo(t)}}),{useCapture:true});this.listenTo(oc.window,\"resize\",(()=>{this.attachTo(t)}))}_stopPinning(){this.stopListening(oc.document,\"scroll\");this.stopListening(oc.window,\"resize\")}}HD.arrowSideOffset=25;HD.arrowHeightOffset=10;HD.stickyVerticalOffset=20;HD._getOptimalPosition=Ic;HD.defaultPositions=qD();const UD=HD;function WD(t){if(qa(t)){return t}if(lc(t)){return t.commonAncestorContainer}if(typeof t==\"function\"){return WD(t())}return null}function qD(t={}){const{sideOffset:e=HD.arrowSideOffset,heightOffset:n=HD.arrowHeightOffset,stickyVerticalOffset:o=HD.stickyVerticalOffset,config:i}=t;return{northWestArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left-e,name:\"arrow_sw\",...i&&{config:i}}),northWestArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left-n.width*.25-e,name:\"arrow_smw\",...i&&{config:i}}),northWestArrowSouth:(t,e)=>({top:r(t,e),left:t.left-e.width/2,name:\"arrow_s\",...i&&{config:i}}),northWestArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left-n.width*.75+e,name:\"arrow_sme\",...i&&{config:i}}),northWestArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left-n.width+e,name:\"arrow_se\",...i&&{config:i}}),northArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-e,name:\"arrow_sw\",...i&&{config:i}}),northArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width*.25-e,name:\"arrow_smw\",...i&&{config:i}}),northArrowSouth:(t,e)=>({top:r(t,e),left:t.left+t.width/2-e.width/2,name:\"arrow_s\",...i&&{config:i}}),northArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width*.75+e,name:\"arrow_sme\",...i&&{config:i}}),northArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width+e,name:\"arrow_se\",...i&&{config:i}}),northEastArrowSouthWest:(t,n)=>({top:r(t,n),left:t.right-e,name:\"arrow_sw\",...i&&{config:i}}),northEastArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.right-n.width*.25-e,name:\"arrow_smw\",...i&&{config:i}}),northEastArrowSouth:(t,e)=>({top:r(t,e),left:t.right-e.width/2,name:\"arrow_s\",...i&&{config:i}}),northEastArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.right-n.width*.75+e,name:\"arrow_sme\",...i&&{config:i}}),northEastArrowSouthEast:(t,n)=>({top:r(t,n),left:t.right-n.width+e,name:\"arrow_se\",...i&&{config:i}}),southWestArrowNorthWest:t=>({top:s(t),left:t.left-e,name:\"arrow_nw\",...i&&{config:i}}),southWestArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left-n.width*.25-e,name:\"arrow_nmw\",...i&&{config:i}}),southWestArrowNorth:(t,e)=>({top:s(t),left:t.left-e.width/2,name:\"arrow_n\",...i&&{config:i}}),southWestArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left-n.width*.75+e,name:\"arrow_nme\",...i&&{config:i}}),southWestArrowNorthEast:(t,n)=>({top:s(t),left:t.left-n.width+e,name:\"arrow_ne\",...i&&{config:i}}),southArrowNorthWest:t=>({top:s(t),left:t.left+t.width/2-e,name:\"arrow_nw\",...i&&{config:i}}),southArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width*.25-e,name:\"arrow_nmw\",...i&&{config:i}}),southArrowNorth:(t,e)=>({top:s(t),left:t.left+t.width/2-e.width/2,name:\"arrow_n\",...i&&{config:i}}),southArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width*.75+e,name:\"arrow_nme\",...i&&{config:i}}),southArrowNorthEast:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width+e,name:\"arrow_ne\",...i&&{config:i}}),southEastArrowNorthWest:t=>({top:s(t),left:t.right-e,name:\"arrow_nw\",...i&&{config:i}}),southEastArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.right-n.width*.25-e,name:\"arrow_nmw\",...i&&{config:i}}),southEastArrowNorth:(t,e)=>({top:s(t),left:t.right-e.width/2,name:\"arrow_n\",...i&&{config:i}}),southEastArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.right-n.width*.75+e,name:\"arrow_nme\",...i&&{config:i}}),southEastArrowNorthEast:(t,n)=>({top:s(t),left:t.right-n.width+e,name:\"arrow_ne\",...i&&{config:i}}),westArrowEast:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.left-e.width-n,name:\"arrow_e\",...i&&{config:i}}),eastArrowWest:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.right+n,name:\"arrow_w\",...i&&{config:i}}),viewportStickyNorth:(t,e,n,r)=>{const s=r||n;if(!t.getIntersection(s)){return null}if(s.height-t.height>o){return null}return{top:s.top+o,left:t.left+t.width/2-e.width/2,name:\"arrowless\",config:{withArrow:false,...i}}}};function r(t,e){return t.top-e.height-n}function s(t){return t.bottom+n}}var GD=n(3935);var $D={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};$D.insert=\"head\";$D.singleton=true;var KD=Ld()(GD.A,$D);const YD=GD.A.locals||{};const QD=\"ck-tooltip\";class ZD extends(Ja()){constructor(t){super();this._currentElementWithTooltip=null;this._currentTooltipPosition=null;this._resizeObserver=null;this._mutationObserver=null;ZD._editors.add(t);if(ZD._instance){return ZD._instance}ZD._instance=this;this.tooltipTextView=new ov(t.locale);this.tooltipTextView.set(\"text\",\"\");this.tooltipTextView.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip__text\"]},children:[{text:this.tooltipTextView.bindTemplate.to(\"text\")}]});this.balloonPanelView=new UD(t.locale);this.balloonPanelView.class=QD;this.balloonPanelView.content.add(this.tooltipTextView);this._mutationObserver=eI((()=>{this._updateTooltipPosition()}));this._pinTooltipDebounced=kg(this._pinTooltip,600);this._unpinTooltipDebounced=kg(this._unpinTooltip,400);this.listenTo(oc.document,\"keydown\",this._onKeyDown.bind(this),{useCapture:true});this.listenTo(oc.document,\"mouseenter\",this._onEnterOrFocus.bind(this),{useCapture:true});this.listenTo(oc.document,\"mouseleave\",this._onLeaveOrBlur.bind(this),{useCapture:true});this.listenTo(oc.document,\"focus\",this._onEnterOrFocus.bind(this),{useCapture:true});this.listenTo(oc.document,\"blur\",this._onLeaveOrBlur.bind(this),{useCapture:true});this.listenTo(oc.document,\"scroll\",this._onScroll.bind(this),{useCapture:true});this._watchdogExcluded=true}destroy(t){const e=t.ui.view&&t.ui.view.body;ZD._editors.delete(t);this.stopListening(t.ui);if(e&&e.has(this.balloonPanelView)){e.remove(this.balloonPanelView)}if(!ZD._editors.size){this._unpinTooltip();this.balloonPanelView.destroy();this.stopListening();ZD._instance=null}}static getPositioningFunctions(t){const e=ZD.defaultBalloonPositions;return{s:[e.southArrowNorth,e.southArrowNorthEast,e.southArrowNorthWest],n:[e.northArrowSouth],e:[e.eastArrowWest],w:[e.westArrowEast],sw:[e.southArrowNorthEast],se:[e.southArrowNorthWest]}[t]}_onKeyDown(t,e){if(e.key===\"Escape\"&&this._currentElementWithTooltip){this._unpinTooltip();e.stopPropagation()}}_onEnterOrFocus(t,{target:e}){const n=XD(e);if(!n){if(t.name===\"focus\"){this._unpinTooltip()}return}if(n===this._currentElementWithTooltip){return}this._unpinTooltip();this._pinTooltipDebounced(n,tI(n))}_onLeaveOrBlur(t,{target:e,relatedTarget:n}){if(t.name===\"mouseleave\"){if(!qa(e)){return}const t=this.balloonPanelView.element;const o=t&&(t===n||t.contains(n));const i=!o&&e===t;if(o){this._unpinTooltipDebounced.cancel();return}if(!i&&this._currentElementWithTooltip&&e!==this._currentElementWithTooltip){return}const r=XD(e);const s=XD(n);if(i||r&&r!==s){this._unpinTooltipDebounced()}}else{if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip){return}this._unpinTooltipDebounced()}}_onScroll(t,{target:e}){if(!this._currentElementWithTooltip){return}if(e.contains(this.balloonPanelView.element)&&e.contains(this._currentElementWithTooltip)){return}this._unpinTooltip()}_pinTooltip(t,{text:e,position:n,cssClass:o}){this._unpinTooltip();const i=sd(ZD._editors.values()).ui.view.body;if(!i.has(this.balloonPanelView)){i.add(this.balloonPanelView)}this.tooltipTextView.text=e;this.balloonPanelView.pin({target:t,positions:ZD.getPositioningFunctions(n)});this._resizeObserver=new Ac(t,(()=>{if(!Dc(t)){this._unpinTooltip()}}));this._mutationObserver.attach(t);this.balloonPanelView.class=[QD,o].filter((t=>t)).join(\" \");for(const t of ZD._editors){this.listenTo(t.ui,\"update\",this._updateTooltipPosition.bind(this),{priority:\"low\"})}this._currentElementWithTooltip=t;this._currentTooltipPosition=n}_unpinTooltip(){this._unpinTooltipDebounced.cancel();this._pinTooltipDebounced.cancel();this.balloonPanelView.unpin();for(const t of ZD._editors){this.stopListening(t.ui,\"update\")}this._currentElementWithTooltip=null;this._currentTooltipPosition=null;this.tooltipTextView.text=\"\";if(this._resizeObserver){this._resizeObserver.destroy()}this._mutationObserver.detach()}_updateTooltipPosition(){const t=tI(this._currentElementWithTooltip);if(!Dc(this._currentElementWithTooltip)||!t.text){this._unpinTooltip();return}this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:ZD.getPositioningFunctions(t.position)})}}ZD.defaultBalloonPositions=qD({heightOffset:5,sideOffset:13});ZD._editors=new Set;ZD._instance=null;const JD=ZD;function XD(t){if(!qa(t)){return null}return t.closest(\"[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])\")}function tI(t){return{text:t.dataset.ckeTooltipText,position:t.dataset.ckeTooltipPosition||\"s\",cssClass:t.dataset.ckeTooltipClass||\"\"}}function eI(t){const e=new MutationObserver((()=>{t()}));return{attach(t){e.observe(t,{attributes:true,attributeFilter:[\"data-cke-tooltip-text\",\"data-cke-tooltip-position\"]})},detach(){e.disconnect()}}}var nI=\"Expected a function\";function oI(t,e,n){var o=true,i=true;if(typeof t!=\"function\"){throw new TypeError(nI)}if(st(n)){o=\"leading\"in n?!!n.leading:o;i=\"trailing\"in n?!!n.trailing:i}return kg(t,e,{leading:o,maxWait:e,trailing:i})}const iI=oI;const rI=' \\n';const sI=53;const aI=10;const cI=50;const lI=350;const dI=\"Powered by\";class uI extends(Ja()){constructor(t){super();this.editor=t;this._balloonView=null;this._lastFocusedEditableElement=null;this._showBalloonThrottled=iI(this._showBalloon.bind(this),50,{leading:true});t.on(\"ready\",this._handleEditorReady.bind(this))}destroy(){const t=this._balloonView;if(t){t.unpin();this._balloonView=null}this._showBalloonThrottled.cancel();this.stopListening()}_handleEditorReady(){const t=this.editor;const e=!!t.config.get(\"ui.poweredBy.forceVisible\");if(!e&&bd(t.config.get(\"licenseKey\"))===\"VALID\"){return}if(!t.ui.view){return}t.ui.focusTracker.on(\"change:isFocused\",((t,e,n)=>{this._updateLastFocusedEditableElement();if(n){this._showBalloon()}else{this._hideBalloon()}}));t.ui.focusTracker.on(\"change:focusedElement\",((t,e,n)=>{this._updateLastFocusedEditableElement();if(n){this._showBalloon()}}));t.ui.on(\"update\",(()=>{this._showBalloonThrottled()}))}_createBalloonView(){const t=this.editor;const e=this._balloonView=new UD;const n=bI(t);const o=new hI(t.locale,n.label);e.content.add(o);e.set({class:\"ck-powered-by-balloon\"});t.ui.view.body.add(e);t.ui.focusTracker.add(e.element);this._balloonView=e}_showBalloon(){if(!this._lastFocusedEditableElement){return}const t=mI(this.editor,this._lastFocusedEditableElement);if(t){if(!this._balloonView){this._createBalloonView()}this._balloonView.pin(t)}}_hideBalloon(){if(this._balloonView){this._balloonView.unpin()}}_updateLastFocusedEditableElement(){const t=this.editor;const e=t.ui.focusTracker.isFocused;const n=t.ui.focusTracker.focusedElement;if(!e||!n){this._lastFocusedEditableElement=null;return}const o=Array.from(t.ui.getEditableElementsNames()).map((e=>t.ui.getEditableElement(e)));if(o.includes(n)){this._lastFocusedEditableElement=n}else{this._lastFocusedEditableElement=o[0]}}}class hI extends ov{constructor(t,e){super(t);const n=new yv;const o=this.bindTemplate;n.set({content:rI,isColorInherited:false});n.extendTemplate({attributes:{style:{width:sI+\"px\",height:aI+\"px\"}}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-powered-by\"],\"aria-hidden\":true},children:[{tag:\"a\",attributes:{href:\"https://ckeditor.com/?utm_source=ckeditor&\"+\"utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo\",target:\"_blank\",tabindex:\"-1\"},children:[...e?[{tag:\"span\",attributes:{class:[\"ck\",\"ck-powered-by__label\"]},children:[e]}]:[],n],on:{dragstart:o.to((t=>t.preventDefault()))}}]})}}function mI(t,e){const n=bI(t);const o=n.side===\"right\"?gI(e,n):fI(e,n);return{target:e,positions:[o]}}function gI(t,e){return pI(t,e,((t,n)=>t.left+t.width-n.width-e.horizontalOffset))}function fI(t,e){return pI(t,e,(t=>t.left+e.horizontalOffset))}function pI(t,e,n){return(o,i)=>{const r=new hc(t);if(r.widthe.regionName===t));if(!i){i=new xI(this.view.locale);this.view.regionViews.add(i)}i.set({regionName:t,text:e,politeness:n})}}class yI extends ov{constructor(t){super(t);this.regionViews=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-aria-live-announcer\"]},children:this.regionViews})}}class xI extends ov{constructor(t){super(t);const e=this.bindTemplate;this.set(\"regionName\",\"\");this.set(\"text\",\"\");this.set(\"politeness\",CI.POLITE);this.setTemplate({tag:\"div\",attributes:{role:\"region\",\"data-region\":e.to(\"regionName\"),\"aria-live\":e.to(\"politeness\")},children:[{text:e.to(\"text\")}]})}}class EI extends(mt()){constructor(t){super();this.isReady=false;this._editableElementsMap=new Map;this._focusableToolbarDefinitions=[];const e=t.editing.view;this.editor=t;this.componentFactory=new uD(t);this.focusTracker=new ad;this.tooltipManager=new JD(t);this.poweredBy=new uI(t);this.ariaLiveAnnouncer=new vI(t);this.set(\"viewportOffset\",this._readViewportOffsetFromConfig());this.once(\"ready\",(()=>{this.isReady=true}));this.listenTo(e.document,\"layoutChanged\",this.update.bind(this));this.listenTo(e,\"scrollToTheSelection\",this._handleScrollToTheSelection.bind(this));this._initFocusTracking()}get element(){return null}update(){this.fire(\"update\")}destroy(){this.stopListening();this.focusTracker.destroy();this.tooltipManager.destroy(this.editor);this.poweredBy.destroy();for(const t of this._editableElementsMap.values()){t.ckeditorInstance=null;this.editor.keystrokes.stopListening(t)}this._editableElementsMap=new Map;this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e);if(!e.ckeditorInstance){e.ckeditorInstance=this.editor}this.focusTracker.add(e);const n=()=>{if(this.editor.editing.view.getDomRoot(t)){return}this.editor.keystrokes.listenTo(e)};if(this.isReady){n()}else{this.once(\"ready\",n)}}removeEditableElement(t){const e=this._editableElementsMap.get(t);if(!e){return}this._editableElementsMap.delete(t);this.editor.keystrokes.stopListening(e);this.focusTracker.remove(e);e.ckeditorInstance=null}getEditableElement(t=\"main\"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){if(t.isRendered){this.focusTracker.add(t.element);this.editor.keystrokes.listenTo(t.element)}else{t.once(\"render\",(()=>{this.focusTracker.add(t.element);this.editor.keystrokes.listenTo(t.element)}))}this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}get _editableElements(){console.warn(\"editor-ui-deprecated-editable-elements: \"+\"The EditorUI#_editableElements property has been deprecated and will be removed in the near future.\",{editorUI:this});return this._editableElementsMap}_readViewportOffsetFromConfig(){const t=this.editor;const e=t.config.get(\"ui.viewportOffset\");if(e){return e}const n=t.config.get(\"toolbar.viewportTopOffset\");if(n){console.warn(\"editor-ui-deprecated-viewport-offset-config: \"+\"The `toolbar.vieportTopOffset` configuration option is deprecated. \"+\"It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead.\");return{top:n}}return{top:0}}_initFocusTracking(){const t=this.editor;const e=t.editing.view;let n;let o;t.keystrokes.set(\"Alt+F10\",((t,i)=>{const r=this.focusTracker.focusedElement;if(Array.from(this._editableElementsMap.values()).includes(r)&&!Array.from(e.domRoots.values()).includes(r)){n=r}const s=this._getCurrentFocusedToolbarDefinition();if(!s||!o){o=this._getFocusableCandidateToolbarDefinitions()}for(let t=0;t{const i=this._getCurrentFocusedToolbarDefinition();if(!i){return}if(n){n.focus();n=null}else{t.editing.view.focus()}if(i.options.afterBlur){i.options.afterBlur()}o()}))}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:o}=e;if(Dc(n.element)||o.beforeFocus){t.push(e)}}t.sort(((t,e)=>DI(t)-DI(e)));return t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions){if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement)){return t}}return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;if(n){n()}if(!Dc(e.element)){return false}e.focus();return true}_handleScrollToTheSelection(t,e){const n={top:0,bottom:0,left:0,right:0,...this.viewportOffset};e.viewportOffset.top+=n.top;e.viewportOffset.bottom+=n.bottom;e.viewportOffset.left+=n.left;e.viewportOffset.right+=n.right}}function DI(t){const{toolbarView:e,options:n}=t;let o=10;if(Dc(e.element)){o--}if(n.isContextual){o--}return o}var II=n(5931);var TI={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};TI.insert=\"head\";TI.singleton=true;var SI=Ld()(II.A,TI);const BI=II.A.locals||{};class MI extends ov{constructor(t){super(t);this.body=new kv(t)}render(){super.render();this.body.attachToDom()}destroy(){this.body.detachFromDom();return super.destroy()}}class PI extends MI{constructor(t){super(t);this.top=this.createCollection();this.main=this.createCollection();this._voiceLabelView=this._createVoiceLabel();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-editor\",\"ck-rounded-corners\"],role:\"application\",dir:t.uiLanguageDirection,lang:t.uiLanguage,\"aria-labelledby\":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__top\",\"ck-reset_all\"],role:\"presentation\"},children:this.top},{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__main\"],role:\"presentation\"},children:this.main}]})}_createVoiceLabel(){const t=this.t;const e=new cv;e.text=t(\"Rich Text Editor\");e.extendTemplate({attributes:{class:\"ck-voice-label\"}});return e}}class NI extends ov{constructor(t,e,n){super(t);this.name=null;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-content\",\"ck-editor__editable\",\"ck-rounded-corners\"],lang:t.contentLanguage,dir:t.contentLanguageDirection}});this.set(\"isFocused\",false);this._editableElement=n;this._hasExternalElement=!!this._editableElement;this._editingView=e}render(){super.render();if(this._hasExternalElement){this.template.apply(this.element=this._editableElement)}else{this._editableElement=this.element}this.on(\"change:isFocused\",(()=>this._updateIsFocusedClasses()));this._updateIsFocusedClasses()}destroy(){if(this._hasExternalElement){this.template.revert(this._editableElement)}super.destroy()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const t=this._editingView;if(t.isRenderingInProgress){n(this)}else{e(this)}function e(e){t.change((n=>{const o=t.document.getRoot(e.name);n.addClass(e.isFocused?\"ck-focused\":\"ck-blurred\",o);n.removeClass(e.isFocused?\"ck-blurred\":\"ck-focused\",o)}))}function n(o){t.once(\"change:isRenderingInProgress\",((t,i,r)=>{if(!r){e(o)}else{n(o)}}))}}}class LI extends NI{constructor(t,e,n,o={}){super(t,e,n);const i=t.t;this.extendTemplate({attributes:{role:\"textbox\",class:\"ck-editor__editable_inline\"}});this._generateLabel=o.label||(()=>i(\"Editor editing area: %0\",this.name))}render(){super.render();const t=this._editingView;t.change((e=>{const n=t.document.getRoot(this.name);e.setAttribute(\"aria-label\",this._generateLabel(this),n)}))}}class zI extends ov{constructor(t){super(t);const e=this.bindTemplate;this.setTemplate({tag:\"iframe\",attributes:{class:[\"ck\",\"ck-reset_all\"],sandbox:\"allow-same-origin allow-scripts\"},on:{load:e.to(\"loaded\")}})}render(){return new Promise((t=>{this.on(\"loaded\",t);return super.render()}))}}class OI extends Pd{static get pluginName(){return\"Notification\"}init(){this.on(\"show:warning\",((t,e)=>{window.alert(e.message)}),{priority:\"lowest\"})}showSuccess(t,e={}){this._showNotification({message:t,type:\"success\",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:\"info\",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:\"warning\",namespace:e.namespace,title:e.title})}_showNotification(t){const e=t.namespace?`show:${t.type}:${t.namespace}`:`show:${t.type}`;this.fire(e,{message:t.message,type:t.type,title:t.title||\"\"})}}class RI extends(mt()){constructor(t,e){super();if(e){Ym(this,e)}if(t){this.set(t)}}}var VI=n(6841);var FI={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};FI.insert=\"head\";FI.singleton=true;var jI=Ld()(VI.A,FI);const HI=VI.A.locals||{};var UI=n(726);var WI={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};WI.insert=\"head\";WI.singleton=true;var qI=Ld()(UI.A,WI);const GI=UI.A.locals||{};const $I=Cc(\"px\");class KI extends Ed{static get pluginName(){return\"ContextualBalloon\"}constructor(t){super(t);this._viewToStack=new Map;this._idToStack=new Map;this._view=null;this._rotatorView=null;this._fakePanelsView=null;this.positionLimiter=()=>{const t=this.editor.editing.view;const e=t.document;const n=e.selection.editableElement;if(n){return t.domConverter.mapViewToDom(n.root)}return null};this.set(\"visibleView\",null);this.set(\"_numberOfStacks\",0);this.set(\"_singleViewMode\",false)}destroy(){super.destroy();if(this._view){this._view.destroy()}if(this._rotatorView){this._rotatorView.destroy()}if(this._fakePanelsView){this._fakePanelsView.destroy()}}get view(){if(!this._view){this._createPanelView()}return this._view}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(!this._view){this._createPanelView()}if(this.hasView(t.view)){throw new N(\"contextualballoon-add-view-exist\",[this,t])}const e=t.stackId||\"main\";if(!this._idToStack.has(e)){this._idToStack.set(e,new Map([[t.view,t]]));this._viewToStack.set(t.view,this._idToStack.get(e));this._numberOfStacks=this._idToStack.size;if(!this._visibleStack||t.singleViewMode){this.showStack(e)}return}const n=this._idToStack.get(e);if(t.singleViewMode){this.showStack(e)}n.set(t.view,t);this._viewToStack.set(t.view,n);if(n===this._visibleStack){this._showView(t)}}remove(t){if(!this.hasView(t)){throw new N(\"contextualballoon-remove-view-not-exist\",[this,t])}const e=this._viewToStack.get(t);if(this._singleViewMode&&this.visibleView===t){this._singleViewMode=false}if(this.visibleView===t){if(e.size===1){if(this._idToStack.size>1){this._showNextStack()}else{this.view.hide();this.visibleView=null;this._rotatorView.hideView()}}else{this._showView(Array.from(e.values())[e.size-2])}}if(e.size===1){this._idToStack.delete(this._getStackId(e));this._numberOfStacks=this._idToStack.size}else{e.delete(t)}this._viewToStack.delete(t)}updatePosition(t){if(t){this._visibleStack.get(this.visibleView).position=t}this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e){throw new N(\"contextualballoon-showstack-stack-not-exist\",this)}if(this._visibleStack===e){return}this._showView(Array.from(e.values()).pop())}_createPanelView(){this._view=new UD(this.editor.locale);this.editor.ui.view.body.add(this._view);this.editor.ui.focusTracker.add(this._view.element);this._rotatorView=this._createRotatorView();this._fakePanelsView=this._createFakePanelsView()}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){const e=Array.from(this._idToStack.entries()).find((e=>e[1]===t));return e[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;if(!t[e]){e=0}this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;if(!t[e]){e=t.length-1}this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new YI(this.editor.locale);const e=this.editor.locale.t;this.view.content.add(t);t.bind(\"isNavigationVisible\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",((t,e)=>!e&&t>1));t.on(\"change:isNavigationVisible\",(()=>this.updatePosition()),{priority:\"low\"});t.bind(\"counter\").to(this,\"visibleView\",this,\"_numberOfStacks\",((t,n)=>{if(n<2){return\"\"}const o=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e(\"%0 of %1\",[o,n])}));t.buttonNextView.on(\"execute\",(()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showNextStack()}));t.buttonPrevView.on(\"execute\",(()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showPrevStack()}));return t}_createFakePanelsView(){const t=new QI(this.editor.locale,this.view);t.bind(\"numberOfPanels\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",((t,e)=>{const n=!e&&t>=2;return n?Math.min(t-1,2):0}));t.listenTo(this.view,\"change:top\",(()=>t.updatePosition()));t.listenTo(this.view,\"change:left\",(()=>t.updatePosition()));this.editor.ui.view.body.add(t);return t}_showView({view:t,balloonClassName:e=\"\",withArrow:n=true,singleViewMode:o=false}){this.view.class=e;this.view.withArrow=n;this._rotatorView.showView(t);this.visibleView=t;this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition();if(o){this._singleViewMode=true}}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;if(t){if(!t.limiter){t=Object.assign({},t,{limiter:this.positionLimiter})}t=Object.assign({},t,{viewportOffsetConfig:this.editor.ui.viewportOffset})}return t}}class YI extends ov{constructor(t){super(t);const e=t.t;const n=this.bindTemplate;this.set(\"isNavigationVisible\",true);this.focusTracker=new ad;this.buttonPrevView=this._createButtonView(e(\"Previous\"),CC.previousArrow);this.buttonNextView=this._createButtonView(e(\"Next\"),CC.nextArrow);this.content=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-rotator\"],\"z-index\":\"-1\"},children:[{tag:\"div\",attributes:{class:[\"ck-balloon-rotator__navigation\",n.to(\"isNavigationVisible\",(t=>t?\"\":\"ck-hidden\"))]},children:[this.buttonPrevView,{tag:\"span\",attributes:{class:[\"ck-balloon-rotator__counter\"]},children:[{text:n.to(\"counter\")}]},this.buttonNextView]},{tag:\"div\",attributes:{class:\"ck-balloon-rotator__content\"},children:this.content}]})}render(){super.render();this.focusTracker.add(this.element)}destroy(){super.destroy();this.focusTracker.destroy()}showView(t){this.hideView();this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new Sv(this.locale);n.set({label:t,icon:e,tooltip:true});return n}}class QI extends ov{constructor(t,e){super(t);const n=this.bindTemplate;this.set(\"top\",0);this.set(\"left\",0);this.set(\"height\",0);this.set(\"width\",0);this.set(\"numberOfPanels\",0);this.content=this.createCollection();this._balloonPanelView=e;this.setTemplate({tag:\"div\",attributes:{class:[\"ck-fake-panel\",n.to(\"numberOfPanels\",(t=>t?\"\":\"ck-hidden\"))],style:{top:n.to(\"top\",$I),left:n.to(\"left\",$I),width:n.to(\"width\",$I),height:n.to(\"height\",$I)}},children:this.content});this.on(\"change:numberOfPanels\",((t,e,n,o)=>{if(n>o){this._addPanels(n-o)}else{this._removePanels(o-n)}this.updatePosition()}))}_addPanels(t){while(t--){const t=new ov;t.setTemplate({tag:\"div\"});this.content.add(t);this.registerChild(t)}}_removePanels(t){while(t--){const t=this.content.last;this.content.remove(t);this.deregisterChild(t);t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView;const{width:n,height:o}=new hc(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:o})}}}var ZI=n(8016);var JI={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};JI.insert=\"head\";JI.singleton=true;var XI=Ld()(ZI.A,JI);const tT=ZI.A.locals||{};const eT=Cc(\"px\");class nT extends ov{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isActive\",false);this.set(\"isSticky\",false);this.set(\"limiterElement\",null);this.set(\"limiterBottomOffset\",50);this.set(\"viewportTopOffset\",0);this.set(\"_marginLeft\",null);this.set(\"_isStickyToTheBottomOfLimiter\",false);this.set(\"_stickyTopOffset\",null);this.set(\"_stickyBottomOffset\",null);this.content=this.createCollection();this._contentPanelPlaceholder=new EC({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__placeholder\"],style:{display:e.to(\"isSticky\",(t=>t?\"block\":\"none\")),height:e.to(\"isSticky\",(t=>t?eT(this._contentPanelRect.height):null))}}}).render();this.contentPanelElement=new EC({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__content\",e.if(\"isSticky\",\"ck-sticky-panel__content_sticky\"),e.if(\"_isStickyToTheBottomOfLimiter\",\"ck-sticky-panel__content_sticky_bottom-limit\")],style:{width:e.to(\"isSticky\",(t=>t?eT(this._contentPanelPlaceholder.getBoundingClientRect().width):null)),top:e.to(\"_stickyTopOffset\",(t=>t?eT(t):t)),bottom:e.to(\"_stickyBottomOffset\",(t=>t?eT(t):t)),marginLeft:e.to(\"_marginLeft\")}},children:this.content}).render();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel\"]},children:[this._contentPanelPlaceholder,this.contentPanelElement]})}render(){super.render();this.checkIfShouldBeSticky();this.listenTo(oc.document,\"scroll\",(()=>{this.checkIfShouldBeSticky()}),{useCapture:true});this.listenTo(this,\"change:isActive\",(()=>{this.checkIfShouldBeSticky()}))}checkIfShouldBeSticky(){if(!this.limiterElement||!this.isActive){this._unstick();return}const t=new hc(this.limiterElement);let e=t.getVisible();if(e){const t=new hc(oc.window);t.top+=this.viewportTopOffset;t.height-=this.viewportTopOffset;e=e.getIntersection(t)}if(e&&t.tope.bottom){const n=Math.max(t.bottom-e.bottom,0)+this.limiterBottomOffset;if(t.bottom-n>t.top+this._contentPanelRect.height){this._stickToBottomOfLimiter(n)}else{this._unstick()}}else{if(this._contentPanelRect.height+this.limiterBottomOffset{this.reset();this.focus();this.fire(\"reset\")}));this.resetButtonView.bind(\"isVisible\").to(this.fieldView,\"isEmpty\",(t=>!t));this.fieldWrapperChildren.add(this.resetButtonView);this.extendTemplate({attributes:{class:\"ck-search__query_with-reset\"}})}}reset(){this.fieldView.reset();if(this._viewConfig.showResetButton){this.resetButtonView.isVisible=false}}}class iT extends ov{constructor(){super();const t=this.bindTemplate;this.set({isVisible:false,primaryText:\"\",secondaryText:\"\"});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-search__info\",t.if(\"isVisible\",\"ck-hidden\",(t=>!t))],tabindex:-1},children:[{tag:\"span\",children:[{text:[t.to(\"primaryText\")]}]},{tag:\"span\",children:[{text:[t.to(\"secondaryText\")]}]}]})}focus(){this.element.focus()}}class rT extends ov{constructor(t){super(t);this.children=this.createCollection();this.focusTracker=new ad;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-search__results\"],tabindex:-1},children:this.children});this._focusCycler=new Fy({focusables:this.children,focusTracker:this.focusTracker})}render(){super.render();for(const t of this.children){this.focusTracker.add(t.element)}}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}var sT=/[\\\\^$.*+?()[\\]{}|]/g,aT=RegExp(sT.source);function cT(t){t=Vu(t);return t&&aT.test(t)?t.replace(sT,\"\\\\$&\"):t}const lT=cT;var dT=n(9381);var uT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};uT.insert=\"head\";uT.singleton=true;var hT=Ld()(dT.A,uT);const mT=dT.A.locals||{};class gT extends ov{constructor(t,e){super(t);this._config=e;this.filteredView=e.filteredView;this.queryView=this._createSearchTextQueryView();this.focusTracker=new ad;this.keystrokes=new cd;this.resultsView=new rT(t);this.children=this.createCollection();this.focusableChildren=this.createCollection([this.queryView,this.resultsView]);this.set(\"isEnabled\",true);this.set(\"resultsCount\",0);this.set(\"totalItemsCount\",0);if(e.infoView&&e.infoView.instance){this.infoView=e.infoView.instance}else{this.infoView=new iT;this._enableDefaultInfoViewBehavior();this.on(\"render\",(()=>{this.search(\"\")}))}this.resultsView.children.addMany([this.infoView,this.filteredView]);this.focusCycler=new Fy({focusables:this.focusableChildren,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.on(\"search\",((t,{resultsCount:e,totalItemsCount:n})=>{this.resultsCount=e;this.totalItemsCount=n}));this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-search\",e.class||null],tabindex:\"-1\"},children:this.children})}render(){super.render();this.children.addMany([this.queryView,this.resultsView]);const t=t=>t.stopPropagation();for(const t of this.focusableChildren){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element);this.keystrokes.set(\"arrowright\",t);this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"arrowup\",t);this.keystrokes.set(\"arrowdown\",t)}focus(){this.queryView.focus()}reset(){this.queryView.reset();this.search(\"\")}search(t){const e=t?new RegExp(lT(t),\"ig\"):null;const n=this.filteredView.filter(e);this.fire(\"search\",{query:t,...n})}_createSearchTextQueryView(){const t=new oT(this.locale,this._config.queryView);this.listenTo(t.fieldView,\"input\",(()=>{this.search(t.fieldView.element.value)}));t.on(\"reset\",(()=>this.reset()));t.bind(\"isEnabled\").to(this);return t}_enableDefaultInfoViewBehavior(){const t=this.locale.t;const e=this.infoView;this.on(\"search\",((o,i)=>{if(!i.resultsCount){const o=this._config.infoView&&this._config.infoView.text;let r,s;if(i.totalItemsCount){if(o&&o.notFound){r=o.notFound.primary;s=o.notFound.secondary}else{r=t(\"No results found\");s=\"\"}}else{if(o&&o.noSearchableItems){r=o.noSearchableItems.primary;s=o.noSearchableItems.secondary}else{r=t(\"No searchable items\");s=\"\"}}e.set({primaryText:n(r,i),secondaryText:n(s,i),isVisible:true})}else{e.set({isVisible:false})}}));function n(t,{query:e,resultsCount:n,totalItemsCount:o}){return typeof t===\"function\"?t(e,n,o):t}}}var fT=n(5169);var pT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};pT.insert=\"head\";pT.singleton=true;var bT=Ld()(fT.A,pT);const kT=fT.A.locals||{};class wT extends gT{constructor(t,e){super(t,e);this._config=e;const n=Cc(\"px\");this.extendTemplate({attributes:{class:[\"ck-autocomplete\"]}});const o=this.resultsView.bindTemplate;this.resultsView.set(\"isVisible\",false);this.resultsView.set(\"_position\",\"s\");this.resultsView.set(\"_width\",0);this.resultsView.extendTemplate({attributes:{class:[o.if(\"isVisible\",\"ck-hidden\",(t=>!t)),o.to(\"_position\",(t=>`ck-search__results_${t}`))],style:{width:o.to(\"_width\",n)}}});this.focusTracker.on(\"change:isFocused\",((t,n,o)=>{this._updateResultsVisibility();if(o){this.resultsView.element.scrollTop=0}else if(e.resetOnBlur){this.queryView.reset()}}));this.on(\"search\",(()=>{this._updateResultsVisibility();this._updateResultsViewWidthAndPosition()}));this.keystrokes.set(\"esc\",((t,e)=>{if(!this.resultsView.isVisible){return}this.queryView.focus();this.resultsView.isVisible=false;e()}));this.listenTo(oc.document,\"scroll\",(()=>{this._updateResultsViewWidthAndPosition()}));this.on(\"change:isEnabled\",(()=>{this._updateResultsVisibility()}));this.filteredView.on(\"execute\",((t,{value:e})=>{this.focus();this.reset();this.queryView.fieldView.value=this.queryView.fieldView.element.value=e;this.resultsView.isVisible=false}));this.resultsView.on(\"change:isVisible\",(()=>{this._updateResultsViewWidthAndPosition()}))}_updateResultsViewWidthAndPosition(){if(!this.resultsView.isVisible){return}this.resultsView._width=new hc(this.queryView.fieldView.element).width;const t=wT._getOptimalPosition({element:this.resultsView.element,target:this.queryView.element,fitInViewport:true,positions:wT.defaultResultsPositions});this.resultsView._position=t?t.name:\"s\"}_updateResultsVisibility(){const t=typeof this._config.queryMinChars===\"undefined\"?0:this._config.queryMinChars;const e=this.queryView.fieldView.element.value.length;this.resultsView.isVisible=this.focusTracker.isFocused&&this.isEnabled&&e>=t}}wT.defaultResultsPositions=[t=>({top:t.bottom,left:t.left,name:\"s\"}),(t,e)=>({top:t.top-e.height,left:t.left,name:\"n\"})];wT._getOptimalPosition=Ic;const AT=null&&wT;function _T(t){return function(e){return t==null?undefined:t[e]}}const CT=_T;var vT={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"};var yT=CT(vT);const xT=yT;var ET=/[&<>\"']/g,DT=RegExp(ET.source);function IT(t){t=Vu(t);return t&&DT.test(t)?t.replace(ET,xT):t}const TT=IT;var ST=n(2859);var BT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};BT.insert=\"head\";BT.singleton=true;var MT=Ld()(ST.A,BT);const PT=ST.A.locals||{};class NT extends ov{constructor(){super();this.set(\"text\",undefined);this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-highlighted-text\"]}});this.on(\"render\",(()=>{this.on(\"change:text\",(()=>{this._updateInnerHTML(this.text)}));this._updateInnerHTML(this.text)}))}highlightText(t){this._updateInnerHTML(LT(this.text||\"\",t))}_updateInnerHTML(t){this.element.innerHTML=t||\"\"}}function LT(t,e){if(!e){return TT(t)}const n=[];let o=0;let i=e.exec(t);while(i!==null){const r=i.index;if(r!==o){n.push({text:t.substring(o,r),isMatch:false})}n.push({text:i[0],isMatch:true});o=e.lastIndex;i=e.exec(t)}if(o!==t.length){n.push({text:t.substring(o),isMatch:false})}const r=n.map((t=>{t.text=TT(t.text);return t})).map((t=>t.isMatch?`${t.text} `:t.text)).join(\"\");return r}var zT=n(6047);var OT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};OT.insert=\"head\";OT.singleton=true;var RT=Ld()(zT.A,OT);const VT=zT.A.locals||{};class FT extends ov{constructor(){super();this.set(\"isVisible\",false);const t=this.bindTemplate;this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-spinner-container\",t.if(\"isVisible\",\"ck-hidden\",(t=>!t))]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-spinner\"]}}]})}}const jT=Cc(\"px\");class HT extends Ed{static get pluginName(){return\"BalloonToolbar\"}static get requires(){return[KI]}constructor(t){super(t);this._resizeObserver=null;this._balloonConfig=$y(t.config.get(\"balloonToolbar\"));this.toolbarView=this._createToolbarView();this.focusTracker=new ad;t.ui.once(\"ready\",(()=>{this.focusTracker.add(t.ui.getEditableElement());this.focusTracker.add(this.toolbarView.element)}));t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this.show(true),afterBlur:()=>this.hide(),isContextual:true});this._balloon=t.plugins.get(KI);this._fireSelectionChangeDebounced=kg((()=>this.fire(\"_selectionChangeDebounced\")),200);this.decorate(\"show\")}init(){const t=this.editor;const e=t.model.document.selection;this.listenTo(this.focusTracker,\"change:isFocused\",((t,e,n)=>{const o=this._balloon.visibleView===this.toolbarView;if(!n&&o){this.hide()}else if(n){this.show()}}));this.listenTo(e,\"change:range\",((t,n)=>{if(n.directChange||e.isCollapsed){this.hide()}this._fireSelectionChangeDebounced()}));this.listenTo(this,\"_selectionChangeDebounced\",(()=>{if(this.editor.editing.view.document.isFocused){this.show()}}));if(!this._balloonConfig.shouldNotGroupWhenFull){this.listenTo(t,\"ready\",(()=>{const e=t.ui.view.editable.element;this._resizeObserver=new Ac(e,(t=>{this.toolbarView.maxWidth=jT(t.contentRect.width*.9)}))}))}this.listenTo(this.toolbarView,\"groupedItemsUpdate\",(()=>{this._updatePosition()}));t.ui.once(\"ready\",(()=>{this.toolbarView.fillFromConfig(this._balloonConfig,this.editor.ui.componentFactory)}))}_createToolbarView(){const t=this.editor.locale.t;const e=!this._balloonConfig.shouldNotGroupWhenFull;const n=new tx(this.editor.locale,{shouldGroupWhenFull:e,isFloating:true});n.ariaLabel=t(\"Editor contextual toolbar\");n.render();return n}show(t=false){const e=this.editor;const n=e.model.document.selection;const o=e.model.schema;if(this._balloon.hasView(this.toolbarView)){return}if(n.isCollapsed&&!t){return}if(UT(n,o)){return}if(Array.from(this.toolbarView.items).every((t=>t.isEnabled!==undefined&&!t.isEnabled))){return}this.listenTo(this.editor.ui,\"update\",(()=>{this._updatePosition()}));this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:\"ck-toolbar-container\"})}hide(){if(this._balloon.hasView(this.toolbarView)){this.stopListening(this.editor.ui,\"update\");this._balloon.remove(this.toolbarView)}}_getBalloonPositionData(){const t=this.editor;const e=t.editing.view;const n=e.document;const o=n.selection;const i=n.selection.isBackward;return{target:()=>{const t=i?o.getFirstRange():o.getLastRange();const n=hc.getDomRangeRects(e.domConverter.viewRangeToDom(t));if(i){return n[0]}else{if(n.length>1&&n[n.length-1].width===0){n.pop()}return n[n.length-1]}},positions:this._getBalloonPositions(i)}}_updatePosition(){this._balloon.updatePosition(this._getBalloonPositionData())}destroy(){super.destroy();this.stopListening();this._fireSelectionChangeDebounced.cancel();this.toolbarView.destroy();this.focusTracker.destroy();if(this._resizeObserver){this._resizeObserver.destroy()}}_getBalloonPositions(t){const e=l.isSafari&&l.isiOS;const n=e?qD({heightOffset:Math.max(UD.arrowHeightOffset,Math.round(20/oc.window.visualViewport.scale))}):UD.defaultPositions;return t?[n.northWestArrowSouth,n.northWestArrowSouthWest,n.northWestArrowSouthEast,n.northWestArrowSouthMiddleEast,n.northWestArrowSouthMiddleWest,n.southWestArrowNorth,n.southWestArrowNorthWest,n.southWestArrowNorthEast,n.southWestArrowNorthMiddleWest,n.southWestArrowNorthMiddleEast]:[n.southEastArrowNorth,n.southEastArrowNorthEast,n.southEastArrowNorthWest,n.southEastArrowNorthMiddleEast,n.southEastArrowNorthMiddleWest,n.northEastArrowSouth,n.northEastArrowSouthEast,n.northEastArrowSouthWest,n.northEastArrowSouthMiddleEast,n.northEastArrowSouthMiddleWest]}}function UT(t,e){if(t.rangeCount===1){return false}return[...t.getRanges()].every((t=>{const n=t.getContainedElement();return n&&e.isSelectable(n)}))}var WT=n(8604);var qT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};qT.insert=\"head\";qT.singleton=true;var GT=Ld()(WT.A,qT);const $T=WT.A.locals||{};const KT=Cc(\"px\");class YT extends Sv{constructor(t){super(t);const e=this.bindTemplate;this.isVisible=false;this.isToggleable=true;this.set(\"top\",0);this.set(\"left\",0);this.extendTemplate({attributes:{class:\"ck-block-toolbar-button\",style:{top:e.to(\"top\",(t=>KT(t))),left:e.to(\"left\",(t=>KT(t)))}}})}}const QT=Cc(\"px\");class ZT extends Ed{static get pluginName(){return\"BlockToolbar\"}constructor(e){super(e);this._resizeObserver=null;this._blockToolbarConfig=$y(this.editor.config.get(\"blockToolbar\"));this.toolbarView=this._createToolbarView();this.panelView=this._createPanelView();this.buttonView=this._createButtonView();t({emitter:this.panelView,contextElements:[this.panelView.element,this.buttonView.element],activator:()=>this.panelView.isVisible,callback:()=>this._hidePanel()})}init(){const t=this.editor;const e=t.t;const n=e(\"Click to edit block\");const o=e(\"Drag to move\");const i=e(\"Edit block\");const r=t.plugins.has(\"DragDropBlockToolbar\");const s=r?`${n}\\n${o}`:i;this.buttonView.label=s;if(r){this.buttonView.element.dataset.ckeTooltipClass=\"ck-tooltip_multi-line\"}this.listenTo(t.model.document.selection,\"change:range\",((t,e)=>{if(e.directChange){this._hidePanel()}}));this.listenTo(t.ui,\"update\",(()=>this._updateButton()));this.listenTo(t,\"change:isReadOnly\",(()=>this._updateButton()),{priority:\"low\"});this.listenTo(t.ui.focusTracker,\"change:isFocused\",(()=>this._updateButton()));this.listenTo(this.buttonView,\"change:isVisible\",((t,e,n)=>{if(n){this.buttonView.listenTo(window,\"resize\",(()=>this._updateButton()))}else{this.buttonView.stopListening(window,\"resize\");this._hidePanel()}}));t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this._showPanel(),afterBlur:()=>this._hidePanel()});t.ui.once(\"ready\",(()=>{this.toolbarView.fillFromConfig(this._blockToolbarConfig,this.editor.ui.componentFactory);for(const t of this.toolbarView.items){t.on(\"execute\",(()=>this._hidePanel(true)),{priority:\"high\"})}}))}destroy(){super.destroy();this.panelView.destroy();this.buttonView.destroy();this.toolbarView.destroy();if(this._resizeObserver){this._resizeObserver.destroy()}}_createToolbarView(){const t=this.editor.locale.t;const e=!this._blockToolbarConfig.shouldNotGroupWhenFull;const n=new tx(this.editor.locale,{shouldGroupWhenFull:e,isFloating:true});n.ariaLabel=t(\"Editor block content toolbar\");return n}_createPanelView(){const t=this.editor;const e=new UD(t.locale);e.content.add(this.toolbarView);e.class=\"ck-toolbar-container\";t.ui.view.body.add(e);t.ui.focusTracker.add(e.element);this.toolbarView.keystrokes.set(\"Esc\",((t,e)=>{this._hidePanel(true);e()}));return e}_createButtonView(){const t=this.editor;const e=t.t;const n=new YT(t.locale);const o=this._blockToolbarConfig.icon;const i=Xy[o]||o||Xy.dragIndicator;n.set({label:e(\"Edit block\"),icon:i,withText:false});n.bind(\"isOn\").to(this.panelView,\"isVisible\");n.bind(\"tooltip\").to(this.panelView,\"isVisible\",(t=>!t));this.listenTo(n,\"execute\",(()=>{if(!this.panelView.isVisible){this._showPanel()}else{this._hidePanel(true)}}));t.ui.view.body.add(n);t.ui.focusTracker.add(n.element);return n}_updateButton(){const t=this.editor;const e=t.model;const n=t.editing.view;if(!t.ui.focusTracker.isFocused){this._hideButton();return}if(!t.model.canEditAt(t.model.document.selection)){this._hideButton();return}const o=Array.from(e.document.selection.getSelectedBlocks())[0];if(!o||Array.from(this.toolbarView.items).every((t=>!t.isEnabled))){this._hideButton();return}const i=n.domConverter.mapViewToDom(t.editing.mapper.toViewElement(o));this.buttonView.isVisible=true;this._setupToolbarResize();this._attachButtonToElement(i);if(this.panelView.isVisible){this._showPanel()}}_hideButton(){this.buttonView.isVisible=false}_showPanel(){if(!this.buttonView.isVisible){return}const t=this.panelView.isVisible;this.panelView.show();const e=this._getSelectedEditableElement();this.toolbarView.maxWidth=this._getToolbarMaxWidth(e);this.panelView.pin({target:this.buttonView.element,limiter:e});if(!t){this.toolbarView.items.get(0).focus()}}_getSelectedEditableElement(){const t=this.editor.model.document.selection.getFirstRange().root.rootName;return this.editor.ui.getEditableElement(t)}_hidePanel(t){this.panelView.isVisible=false;if(t){this.editor.editing.view.focus()}}_attachButtonToElement(t){const e=window.getComputedStyle(t);const n=new hc(this._getSelectedEditableElement());const o=parseInt(e.paddingTop,10);const i=parseInt(e.lineHeight,10)||parseInt(e.fontSize,10)*1.2;const r=new hc(this.buttonView.element);const s=new hc(t);let a;if(this.editor.locale.uiLanguageDirection===\"ltr\"){a=n.left-r.width}else{a=n.right}const c=s.top+o+(i-r.height)/2;r.moveTo(a,c);const l=r.toAbsoluteRect();this.buttonView.top=l.top;this.buttonView.left=l.left}_setupToolbarResize(){const t=this._getSelectedEditableElement();if(!this._blockToolbarConfig.shouldNotGroupWhenFull){if(this._resizeObserver&&this._resizeObserver.element!==t){this._resizeObserver.destroy();this._resizeObserver=null}if(!this._resizeObserver){this._resizeObserver=new Ac(t,(()=>{this.toolbarView.maxWidth=this._getToolbarMaxWidth(t)}))}}}_getToolbarMaxWidth(t){const e=new hc(t);const n=new hc(this.buttonView.element);const o=this.editor.locale.uiLanguageDirection===\"rtl\";const i=o?n.left-e.right+n.width:e.left-n.left;return QT(e.width+i)}}var JT=n(6050);var XT={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};XT.insert=\"head\";XT.singleton=true;var tS=Ld()(JT.A,XT);const eS=JT.A.locals||{};class nS extends Sv{constructor(t){super(t);const e=this.bindTemplate;this.set({withText:true,role:\"menuitem\"});this.arrowView=this._createArrowView();this.extendTemplate({attributes:{class:[\"ck-menu-bar__menu__button\"],\"aria-haspopup\":true,\"aria-expanded\":this.bindTemplate.to(\"isOn\",(t=>String(t))),\"data-cke-tooltip-disabled\":e.to(\"isOn\")},on:{mouseenter:e.to(\"mouseenter\")}})}render(){super.render();this.children.add(this.arrowView)}_createArrowView(){const t=new yv;t.content=Rv;t.extendTemplate({attributes:{class:\"ck-menu-bar__menu__button__arrow\"}});return t}}var oS=n(3835);var iS={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};iS.insert=\"head\";iS.singleton=true;var rS=Ld()(oS.A,iS);const sS=oS.A.locals||{};class aS extends ix{constructor(t,e){super(t);const n=this.bindTemplate;this.extendTemplate({attributes:{class:[\"ck-menu-bar__menu__item\"]},on:{mouseenter:n.to(\"mouseenter\")}});this.delegate(\"mouseenter\").to(e)}}const cS=5;const lS={toggleMenusAndFocusItemsOnHover(t){t.on(\"menu:mouseenter\",(e=>{if(!t.isOpen){return}for(const n of t.menus){const t=e.path[0];const o=t instanceof aS&&t.children.first===n;n.isOpen=(e.path.includes(n)||o)&&n.isEnabled}e.source.focus()}))},focusCycleMenusOnArrows(t){const e=t.locale.uiLanguageDirection===\"rtl\";t.on(\"menu:arrowright\",(t=>{n(t.source,e?-1:1)}));t.on(\"menu:arrowleft\",(t=>{n(t.source,e?1:-1)}));function n(e,n){const o=t.children.getIndex(e);const i=e.isOpen;const r=t.children.length;const s=t.children.get((o+r+n)%r);e.isOpen=false;if(i){s.isOpen=true}s.buttonView.focus()}},closeMenusWhenTheBarCloses(t){t.on(\"change:isOpen\",(()=>{if(!t.isOpen){t.menus.forEach((t=>{t.isOpen=false}))}}))},closeMenuWhenAnotherOnTheSameLevelOpens(t){t.on(\"menu:change:isOpen\",((e,n,o)=>{if(o){t.menus.filter((t=>e.source.parentMenuView===t.parentMenuView&&e.source!==t&&t.isOpen)).forEach((t=>{t.isOpen=false}))}}))},closeOnClickOutside(e){t({emitter:e,activator:()=>e.isOpen,callback:()=>e.close(),contextElements:()=>e.children.map((t=>t.element))})}};const dS={openAndFocusPanelOnArrowDownKey(t){t.keystrokes.set(\"arrowdown\",((e,n)=>{if(t.focusTracker.focusedElement===t.buttonView.element){if(!t.isOpen){t.isOpen=true}t.panelView.focus();n()}}))},openOnArrowRightKey(t){const e=t.locale.uiLanguageDirection===\"rtl\"?\"arrowleft\":\"arrowright\";t.keystrokes.set(e,((e,n)=>{if(t.focusTracker.focusedElement!==t.buttonView.element||!t.isEnabled){return}if(!t.isOpen){t.isOpen=true}t.panelView.focus();n()}))},openOnButtonClick(t){t.buttonView.on(\"execute\",(()=>{t.isOpen=true;t.panelView.focus()}))},toggleOnButtonClick(t){t.buttonView.on(\"execute\",(()=>{t.isOpen=!t.isOpen;if(t.isOpen){t.panelView.focus()}}))},closeOnArrowLeftKey(t){const e=t.locale.uiLanguageDirection===\"rtl\"?\"arrowright\":\"arrowleft\";t.keystrokes.set(e,((e,n)=>{if(t.isOpen){t.isOpen=false;t.focus();n()}}))},closeOnEscKey(t){t.keystrokes.set(\"esc\",((e,n)=>{if(t.isOpen){t.isOpen=false;t.focus();n()}}))},closeOnParentClose(t){t.parentMenuView.on(\"change:isOpen\",((e,n,o)=>{if(!o&&e.source===t.parentMenuView){t.isOpen=false}}))}};const uS={southEast:t=>({top:t.bottom,left:t.left,name:\"se\"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:\"sw\"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:\"ne\"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:\"nw\"}),eastSouth:t=>({top:t.top,left:t.right-cS,name:\"es\"}),eastNorth:(t,e)=>({top:t.top-e.height,left:t.right-cS,name:\"en\"}),westSouth:(t,e)=>({top:t.top,left:t.left-e.width+cS,name:\"ws\"}),westNorth:(t,e)=>({top:t.top-e.height,left:t.left-e.width+cS,name:\"wn\"})};const hS=[{menuId:\"file\",label:\"File\",groups:[{groupId:\"export\",items:[\"menuBar:exportPdf\",\"menuBar:exportWord\"]},{groupId:\"import\",items:[\"menuBar:importWord\"]},{groupId:\"revisionHistory\",items:[\"menuBar:revisionHistory\"]}]},{menuId:\"edit\",label:\"Edit\",groups:[{groupId:\"undo\",items:[\"menuBar:undo\",\"menuBar:redo\"]},{groupId:\"selectAll\",items:[\"menuBar:selectAll\"]},{groupId:\"findAndReplace\",items:[\"menuBar:findAndReplace\"]}]},{menuId:\"view\",label:\"View\",groups:[{groupId:\"sourceEditing\",items:[\"menuBar:sourceEditing\"]},{groupId:\"showBlocks\",items:[\"menuBar:showBlocks\"]},{groupId:\"restrictedEditingException\",items:[\"menuBar:restrictedEditingException\"]}]},{menuId:\"insert\",label:\"Insert\",groups:[{groupId:\"insertMainWidgets\",items:[\"menuBar:uploadImage\",\"menuBar:ckbox\",\"menuBar:ckfinder\",\"menuBar:insertTable\"]},{groupId:\"insertInline\",items:[\"menuBar:link\",\"menuBar:comment\"]},{groupId:\"insertMinorWidgets\",items:[\"menuBar:insertTemplate\",\"menuBar:blockQuote\",\"menuBar:codeBlock\",\"menuBar:htmlEmbed\"]},{groupId:\"insertStructureWidgets\",items:[\"menuBar:horizontalLine\",\"menuBar:pageBreak\",\"menuBar:tableOfContents\"]},{groupId:\"restrictedEditing\",items:[\"menuBar:restrictedEditing\"]}]},{menuId:\"format\",label:\"Format\",groups:[{groupId:\"textAndFont\",items:[{menuId:\"text\",label:\"Text\",groups:[{groupId:\"basicStyles\",items:[\"menuBar:bold\",\"menuBar:italic\",\"menuBar:underline\",\"menuBar:strikethrough\",\"menuBar:superscript\",\"menuBar:subscript\",\"menuBar:code\"]},{groupId:\"textPartLanguage\",items:[\"menuBar:textPartLanguage\"]}]},{menuId:\"font\",label:\"Font\",groups:[{groupId:\"fontProperties\",items:[\"menuBar:fontSize\",\"menuBar:fontFamily\"]},{groupId:\"fontColors\",items:[\"menuBar:fontColor\",\"menuBar:fontBackgroundColor\"]},{groupId:\"highlight\",items:[\"menuBar:highlight\"]}]},\"menuBar:heading\"]},{groupId:\"list\",items:[\"menuBar:bulletedList\",\"menuBar:numberedList\",\"menuBar:todoList\"]},{groupId:\"indent\",items:[\"menuBar:alignment\",\"menuBar:indent\",\"menuBar:outdent\"]},{groupId:\"caseChange\",items:[\"menuBar:caseChange\"]},{groupId:\"removeFormat\",items:[\"menuBar:removeFormat\"]}]},{menuId:\"tools\",label:\"Tools\",groups:[{groupId:\"aiTools\",items:[\"menuBar:aiAssistant\",\"menuBar:aiCommands\"]},{groupId:\"tools\",items:[\"menuBar:trackChanges\",\"menuBar:commentsArchive\"]}]},{menuId:\"help\",label:\"Help\",groups:[{groupId:\"help\",items:[\"menuBar:accessibilityHelp\"]}]}];function mS(t){let e;if(!(\"items\"in t)||!t.items){e={items:Pf(hS),addItems:[],removeItems:[],isVisible:true,isUsingDefaultConfig:true,...t}}else{e={items:t.items,removeItems:[],addItems:[],isVisible:true,isUsingDefaultConfig:false,...t}}return e}function gS({normalizedConfig:t,locale:e,componentFactory:n}){const o=Pf(t);fS(t,o);pS(t,o);kS(t,o,n);wS(t,o);_S(o,e);return o}function fS(t,e){const n=e.removeItems;const o=[];e.items=e.items.filter((({menuId:t})=>{if(n.includes(t)){o.push(t);return false}return true}));CS(e.items,(t=>{t.groups=t.groups.filter((({groupId:t})=>{if(n.includes(t)){o.push(t);return false}return true}));for(const e of t.groups){e.items=e.items.filter((t=>{const e=DS(t);if(n.includes(e)){o.push(e);return false}return true}))}}));for(const e of n){if(!o.includes(e)){L(\"menu-bar-item-could-not-be-removed\",{menuBarConfig:t,itemName:e})}}}function pS(t,e){const n=e.addItems;const o=[];for(const t of n){const n=xS(t.position);const i=ES(t.position);if(vS(t)){if(!i){if(n===\"start\"){e.items.unshift(t.menu);o.push(t)}else if(n===\"end\"){e.items.push(t.menu);o.push(t)}}else{const r=e.items.findIndex((t=>t.menuId===i));if(r!=-1){if(n===\"before\"){e.items.splice(r,0,t.menu);o.push(t)}else if(n===\"after\"){e.items.splice(r+1,0,t.menu);o.push(t)}}else{const r=bS(e,t.menu,i,n);if(r){o.push(t)}}}}else if(yS(t)){CS(e.items,(e=>{if(e.menuId===i){if(n===\"start\"){e.groups.unshift(t.group);o.push(t)}else if(n===\"end\"){e.groups.push(t.group);o.push(t)}}else{const r=e.groups.findIndex((t=>t.groupId===i));if(r!==-1){if(n===\"before\"){e.groups.splice(r,0,t.group);o.push(t)}else if(n===\"after\"){e.groups.splice(r+1,0,t.group);o.push(t)}}}}))}else{const r=bS(e,t.item,i,n);if(r){o.push(t)}}}for(const e of n){if(!o.includes(e)){L(\"menu-bar-item-could-not-be-added\",{menuBarConfig:t,addedItemConfig:e})}}}function bS(t,e,n,o){let i=false;CS(t.items,(t=>{for(const{groupId:r,items:s}of t.groups){if(i){return}if(r===n){if(o===\"start\"){s.unshift(e);i=true}else if(o===\"end\"){s.push(e);i=true}}else{const t=s.findIndex((t=>DS(t)===n));if(t!==-1){if(o===\"before\"){s.splice(t,0,e);i=true}else if(o===\"after\"){s.splice(t+1,0,e);i=true}}}}}));return i}function kS(t,e,n){CS(e.items,(o=>{for(const i of o.groups){i.items=i.items.filter((i=>{const r=typeof i===\"string\"&&!n.has(i);if(r&&!e.isUsingDefaultConfig){L(\"menu-bar-item-unavailable\",{menuBarConfig:t,parentMenuConfig:Pf(o),componentName:i})}return!r}))}}))}function wS(t,e){const n=e.isUsingDefaultConfig;let o=false;e.items=e.items.filter((e=>{if(!e.groups.length){AS(t,e,n);return false}return true}));if(!e.items.length){AS(t,t,n);return}CS(e.items,(e=>{e.groups=e.groups.filter((t=>{if(!t.items.length){o=true;return false}return true}));for(const i of e.groups){i.items=i.items.filter((e=>{if(IS(e)&&!e.groups.length){AS(t,e,n);o=true;return false}return true}))}}));if(o){wS(t,e)}}function AS(t,e,n){if(n){return}L(\"menu-bar-menu-empty\",{menuBarConfig:t,emptyMenuConfig:e})}function _S(t,e){const n=e.t;const o={File:n({string:\"File\",id:\"MENU_BAR_MENU_FILE\"}),Edit:n({string:\"Edit\",id:\"MENU_BAR_MENU_EDIT\"}),View:n({string:\"View\",id:\"MENU_BAR_MENU_VIEW\"}),Insert:n({string:\"Insert\",id:\"MENU_BAR_MENU_INSERT\"}),Format:n({string:\"Format\",id:\"MENU_BAR_MENU_FORMAT\"}),Tools:n({string:\"Tools\",id:\"MENU_BAR_MENU_TOOLS\"}),Help:n({string:\"Help\",id:\"MENU_BAR_MENU_HELP\"}),Text:n({string:\"Text\",id:\"MENU_BAR_MENU_TEXT\"}),Font:n({string:\"Font\",id:\"MENU_BAR_MENU_FONT\"})};CS(t.items,(t=>{if(t.label in o){t.label=o[t.label]}}))}function CS(t,e){if(Array.isArray(t)){for(const e of t){n(e)}}function n(t){e(t);for(const e of t.groups){for(const t of e.items){if(IS(t)){n(t)}}}}}function vS(t){return typeof t===\"object\"&&\"menu\"in t}function yS(t){return typeof t===\"object\"&&\"group\"in t}function xS(t){if(t.startsWith(\"start\")){return\"start\"}else if(t.startsWith(\"end\")){return\"end\"}else if(t.startsWith(\"after\")){return\"after\"}else{return\"before\"}}function ES(t){const e=t.match(/^[^:]+:(.+)/);if(e){return e[1]}return null}function DS(t){return typeof t===\"string\"?t:t.menuId}function IS(t){return typeof t===\"object\"&&\"menuId\"in t}var TS=n(5306);var SS={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};SS.insert=\"head\";SS.singleton=true;var BS=Ld()(TS.A,SS);const MS=TS.A.locals||{};class PS extends ov{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isVisible\",false);this.set(\"position\",\"se\");this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-menu-bar__menu__panel\",e.to(\"position\",(t=>`ck-menu-bar__menu__panel_position_${t}`)),e.if(\"isVisible\",\"ck-hidden\",(t=>!t))],tabindex:\"-1\"},children:this.children,on:{selectstart:e.to((t=>{if(t.target.tagName.toLocaleLowerCase()===\"input\"){return}t.preventDefault()}))}})}focus(t=1){if(this.children.length){if(t===1){this.children.first.focus()}else{this.children.last.focus()}}}}var NS=n(5842);var LS={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};LS.insert=\"head\";LS.singleton=true;var zS=Ld()(NS.A,LS);const OS=NS.A.locals||{};class RS extends ov{constructor(t){super(t);const e=this.bindTemplate;this.buttonView=new nS(t);this.buttonView.delegate(\"mouseenter\").to(this);this.buttonView.bind(\"isOn\",\"isEnabled\").to(this,\"isOpen\",\"isEnabled\");this.panelView=new PS(t);this.panelView.bind(\"isVisible\").to(this,\"isOpen\");this.keystrokes=new cd;this.focusTracker=new ad;this.set(\"isOpen\",false);this.set(\"isEnabled\",true);this.set(\"panelPosition\",\"w\");this.set(\"class\",undefined);this.set(\"parentMenuView\",null);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-menu-bar__menu\",e.to(\"class\"),e.if(\"isEnabled\",\"ck-disabled\",(t=>!t)),e.if(\"parentMenuView\",\"ck-menu-bar__menu_top-level\",(t=>!t))]},children:[this.buttonView,this.panelView]})}render(){super.render();this.focusTracker.add(this.buttonView.element);this.focusTracker.add(this.panelView.element);this.keystrokes.listenTo(this.element);dS.closeOnEscKey(this);this._repositionPanelOnOpen()}_attachBehaviors(){if(!this.parentMenuView){this._propagateArrowKeystrokeEvents();dS.openAndFocusPanelOnArrowDownKey(this);dS.toggleOnButtonClick(this)}else{dS.openOnButtonClick(this);dS.openOnArrowRightKey(this);dS.closeOnArrowLeftKey(this);dS.closeOnParentClose(this)}}_propagateArrowKeystrokeEvents(){this.keystrokes.set(\"arrowright\",((t,e)=>{this.fire(\"arrowright\");e()}));this.keystrokes.set(\"arrowleft\",((t,e)=>{this.fire(\"arrowleft\");e()}))}_repositionPanelOnOpen(){this.on(\"change:isOpen\",((t,e,n)=>{if(!n){return}const o=RS._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:true,positions:this._panelPositions});this.panelView.position=o?o.name:this._panelPositions[0].name}))}focus(){this.buttonView.focus()}get _panelPositions(){const{southEast:t,southWest:e,northEast:n,northWest:o,westSouth:i,eastSouth:r,westNorth:s,eastNorth:a}=uS;if(this.locale.uiLanguageDirection===\"ltr\"){if(this.parentMenuView){return[r,a,i,s]}else{return[t,e,n,o]}}else{if(this.parentMenuView){return[i,s,r,a]}else{return[e,t,o,n]}}}}RS._getOptimalPosition=Ic;const VS=RS;class FS extends ux{constructor(t){super(t);this.role=\"menu\"}}var jS=n(5519);var HS={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};HS.insert=\"head\";HS.singleton=true;var US=Ld()(jS.A,HS);const WS=jS.A.locals||{};class qS extends Sv{constructor(t){super(t);this.set({withText:true,withKeystroke:true,tooltip:false,role:\"menuitem\"});this.extendTemplate({attributes:{class:[\"ck-menu-bar__menu__item__button\"]}})}}class GS extends zv{constructor(t){super(t);this.set({withText:true,withKeystroke:true,tooltip:false,role:\"menuitem\"});this.extendTemplate({attributes:{class:[\"ck-menu-bar__menu__item__button\"]}})}}var $S=n(3779);var KS={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};KS.insert=\"head\";KS.singleton=true;var YS=Ld()($S.A,KS);const QS=$S.A.locals||{};const ZS=[\"mouseenter\",\"arrowleft\",\"arrowright\",\"change:isOpen\"];class JS extends ov{constructor(t){super(t);this.menus=[];const e=t.t;this.set(\"isOpen\",false);this._setupIsOpenUpdater();this.children=this.createCollection();this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-menu-bar\"],\"aria-label\":e(\"Editor menu bar\"),role:\"menubar\"},children:this.children})}fillFromConfig(t,e){const n=this.locale;const o=gS({normalizedConfig:t,locale:n,componentFactory:e});const i=o.items.map((t=>this._createMenu({componentFactory:e,menuDefinition:t})));this.children.addMany(i)}render(){super.render();lS.toggleMenusAndFocusItemsOnHover(this);lS.closeMenusWhenTheBarCloses(this);lS.closeMenuWhenAnotherOnTheSameLevelOpens(this);lS.focusCycleMenusOnArrows(this);lS.closeOnClickOutside(this)}focus(){if(this.children.first){this.children.first.focus()}}close(){for(const t of this.children){t.isOpen=false}}registerMenu(t,e=null){if(e){t.delegate(...ZS).to(e);t.parentMenuView=e}else{t.delegate(...ZS).to(this,(t=>\"menu:\"+t))}t._attachBehaviors();this.menus.push(t)}_createMenu({componentFactory:t,menuDefinition:e,parentMenuView:n}){const o=this.locale;const i=new VS(o);this.registerMenu(i,n);i.buttonView.set({label:e.label});i.once(\"change:isOpen\",(()=>{const n=new FS(o);n.ariaLabel=e.label;i.panelView.children.add(n);n.items.addMany(this._createMenuItems({menuDefinition:e,parentMenuView:i,componentFactory:t}))}));return i}_createMenuItems({menuDefinition:t,parentMenuView:e,componentFactory:n}){const o=this.locale;const i=[];for(const r of t.groups){for(const t of r.items){const r=new aS(o,e);if(st(t)){r.children.add(this._createMenu({componentFactory:n,menuDefinition:t,parentMenuView:e}))}else{const o=this._createMenuItemContentFromFactory({componentName:t,componentFactory:n,parentMenuView:e});if(!o){continue}r.children.add(o)}i.push(r)}if(r!==t.groups[t.groups.length-1]){i.push(new rx(o))}}return i}_createMenuItemContentFromFactory({componentName:t,parentMenuView:e,componentFactory:n}){const o=n.create(t);if(!(o instanceof VS||o instanceof qS||o instanceof GS)){L(\"menu-bar-component-unsupported\",{componentName:t,componentView:o});return null}this._registerMenuTree(o,e);o.on(\"execute\",(()=>{this.close()}));return o}_registerMenuTree(t,e){if(!(t instanceof VS)){t.delegate(\"mouseenter\").to(e);return}this.registerMenu(t,e);const n=t.panelView.children.filter((t=>t instanceof FS))[0];if(!n){t.delegate(\"mouseenter\").to(e);return}const o=n.items.filter((t=>t instanceof ix));for(const e of o){this._registerMenuTree(e.children.get(0),t)}}_setupIsOpenUpdater(){let t;this.on(\"menu:change:isOpen\",((e,n,o)=>{clearTimeout(t);if(o){this.isOpen=true}else{t=setTimeout((()=>{this.isOpen=Array.from(this.children).some((t=>t.isOpen))}),0)}}))}}class XS extends EI{constructor(t,e){super(t);this.view=e;this._toolbarConfig=$y(t.config.get(\"toolbar\"));this._menuBarConfig=mS(t.config.get(\"menuBar\")||{});this._elementReplacer=new yt;this.listenTo(t.editing.view,\"scrollToTheSelection\",this._handleScrollToTheSelectionWithStickyPanel.bind(this))}get element(){return this.view.element}init(t){const e=this.editor;const n=this.view;const o=e.editing.view;const i=n.editable;const r=o.document.getRoot();i.name=r.rootName;n.render();const s=i.element;this.setEditableElement(i.name,s);n.editable.bind(\"isFocused\").to(this.focusTracker);o.attachDomRoot(s);if(t){this._elementReplacer.replace(t,this.element)}this._initPlaceholder();this._initToolbar();this._initMenuBar();this._initDialogPluginIntegration();this.fire(\"ready\")}destroy(){super.destroy();const t=this.view;const e=this.editor.editing.view;this._elementReplacer.restore();e.detachDomRoot(t.editable.name);t.destroy()}_initToolbar(){const t=this.view;t.stickyPanel.bind(\"isActive\").to(this.focusTracker,\"isFocused\");t.stickyPanel.limiterElement=t.element;t.stickyPanel.bind(\"viewportTopOffset\").to(this,\"viewportOffset\",(({top:t})=>t||0));t.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory);this.addToolbar(t.toolbar)}_initMenuBar(){const t=this.view;if(!t.menuBarView){return}this._setupMenuBarBehaviors(t.menuBarView.element);t.menuBarView.fillFromConfig(this._menuBarConfig,this.componentFactory)}_initPlaceholder(){const t=this.editor;const e=t.editing.view;const n=e.document.getRoot();const o=t.sourceElement;let i;const r=t.config.get(\"placeholder\");if(r){i=typeof r===\"string\"?r:r[this.view.editable.name]}if(!i&&o&&o.tagName.toLowerCase()===\"textarea\"){i=o.getAttribute(\"placeholder\")}if(i){n.placeholder=i}Hd({view:e,element:n,isDirectHost:false,keepOnFocus:true})}_handleScrollToTheSelectionWithStickyPanel(t,e,n){const o=this.view.stickyPanel;if(o.isSticky){const t=new hc(o.element).height;e.viewportOffset.top+=t}else{const t=()=>{this.editor.editing.view.scrollToTheSelection(n)};this.listenTo(o,\"change:isSticky\",t);setTimeout((()=>{this.stopListening(o,\"change:isSticky\",t)}),20)}}_initDialogPluginIntegration(){if(!this.editor.plugins.has(\"Dialog\")){return}const t=this.view.stickyPanel;const e=this.editor.plugins.get(\"Dialog\");e.on(\"show\",(()=>{const n=e.view;n.on(\"moveTo\",((e,o)=>{if(!t.isSticky||n.wasMoved){return}const i=new hc(t.contentPanelElement);if(o[1]{if(t.contains(this.focusTracker.focusedElement)){e.editing.view.focus();o()}}));e.keystrokes.set(\"Alt+F9\",((e,n)=>{if(!t.contains(this.focusTracker.focusedElement)){this.view.menuBarView.focus();n()}}))}}var tB=n(3394);var eB={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};eB.insert=\"head\";eB.singleton=true;var nB=Ld()(tB.A,eB);const oB=tB.A.locals||{};class iB extends PI{constructor(t,e,n={}){super(t);this.stickyPanel=new nT(t);this.toolbar=new tx(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull});if(n.useMenuBar){this.menuBarView=new JS(t)}this.editable=new LI(t,e)}render(){super.render();if(this.menuBarView){this.stickyPanel.content.addMany([this.menuBarView,this.toolbar])}else{this.stickyPanel.content.add(this.toolbar)}this.top.add(this.stickyPanel);this.main.add(this.editable)}}class rB{constructor(t){this.crashes=[];this.state=\"initializing\";this._now=Date.now;this.crashes=[];this._crashNumberLimit=typeof t.crashNumberLimit===\"number\"?t.crashNumberLimit:3;this._minimumNonErrorTimePeriod=typeof t.minimumNonErrorTimePeriod===\"number\"?t.minimumNonErrorTimePeriod:5e3;this._boundErrorHandler=t=>{const e=\"error\"in t?t.error:t.reason;if(e instanceof Error){this._handleError(e,t)}};this._listeners={};if(!this._restart){throw new Error(\"The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. \"+\"Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.\")}}destroy(){this._stopErrorHandling();this._listeners={}}on(t,e){if(!this._listeners[t]){this._listeners[t]=[]}this._listeners[t].push(e)}off(t,e){this._listeners[t]=this._listeners[t].filter((t=>t!==e))}_fire(t,...e){const n=this._listeners[t]||[];for(const t of n){t.apply(this,[null,...e])}}_startErrorHandling(){window.addEventListener(\"error\",this._boundErrorHandler);window.addEventListener(\"unhandledrejection\",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener(\"error\",this._boundErrorHandler);window.removeEventListener(\"unhandledrejection\",this._boundErrorHandler)}_handleError(t,e){if(this._shouldReactToError(t)){this.crashes.push({message:t.message,stack:t.stack,filename:e instanceof ErrorEvent?e.filename:undefined,lineno:e instanceof ErrorEvent?e.lineno:undefined,colno:e instanceof ErrorEvent?e.colno:undefined,date:this._now()});const n=this._shouldRestart();this.state=\"crashed\";this._fire(\"stateChange\");this._fire(\"error\",{error:t,causesRestart:n});if(n){this._restart()}else{this.state=\"crashedPermanently\";this._fire(\"stateChange\")}}}_shouldReactToError(t){return t.is&&t.is(\"CKEditorError\")&&t.context!==undefined&&t.context!==null&&this.state===\"ready\"&&this._isErrorComingFromThisItem(t)}_shouldRestart(){if(this.crashes.length<=this._crashNumberLimit){return true}const t=this.crashes[this.crashes.length-1].date;const e=this.crashes[this.crashes.length-1-this._crashNumberLimit].date;const n=(t-e)/this._crashNumberLimit;return n>this._minimumNonErrorTimePeriod}}function sB(t,e=new Set){const n=[t];const o=new Set;let i=0;while(n.length>i){const t=n[i++];if(o.has(t)||!aB(t)||e.has(t)){continue}o.add(t);if(Symbol.iterator in t){try{for(const e of t){n.push(e)}}catch(t){}}else{for(const e in t){if(e===\"defaultValue\"){continue}n.push(t[e])}}}return o}function aB(t){const e=Object.prototype.toString.call(t);const n=typeof t;return!(n===\"number\"||n===\"boolean\"||n===\"string\"||n===\"symbol\"||n===\"function\"||e===\"[object Date]\"||e===\"[object RegExp]\"||e===\"[object Module]\"||t===undefined||t===null||t._watchdogExcluded||t instanceof EventTarget||t instanceof Event)}function cB(t,e,n=new Set){if(t===e&&dB(t)){return true}const o=sB(t,n);const i=sB(e,n);for(const t of o){if(i.has(t)){return true}}return false}function lB(t,e,n){const{subNodes:o,prevNodeMap:i}=getSubNodes(t,n.subNodes);const{subNodes:r,prevNodeMap:s}=getSubNodes(e,n.subNodes);for(const n of o){if(r.has(n)){const o=[];o.push(n);let r=i.get(n);while(r&&r!==t){o.push(r);r=i.get(r)}r=s.get(n);while(r&&r!==e){o.unshift(r);r=s.get(r)}console.log(\"--------\");console.log({target1:t});console.log({sharedNode:n});console.log({target2:e});console.log({connection:o});return true}}return false}function dB(t){return typeof t===\"object\"&&t!==null}class uB extends rB{constructor(t,e={}){super(e);this._editor=null;this._lifecyclePromise=null;this._initUsingData=true;this._editables={};this._throttledSave=iI(this._save.bind(this),typeof e.saveInterval===\"number\"?e.saveInterval:5e3);if(t){this._creator=(e,n)=>t.create(e,n)}this._destructor=t=>t.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}_restart(){return Promise.resolve().then((()=>{this.state=\"initializing\";this._fire(\"stateChange\");return this._destroy()})).catch((t=>{console.error(\"An error happened during the editor destroying.\",t)})).then((()=>{const t={};const e=[];const n=this._config.rootsAttributes||{};const o={};for(const[i,r]of Object.entries(this._data.roots)){if(r.isLoaded){t[i]=\"\";o[i]=n[i]||{}}else{e.push(i)}}const i={...this._config,extraPlugins:this._config.extraPlugins||[],lazyRoots:e,rootsAttributes:o,_watchdogInitialData:this._data};delete i.initialData;i.extraPlugins.push(hB);if(this._initUsingData){return this.create(t,i,i.context)}else{if(qa(this._elementOrData)){return this.create(this._elementOrData,i,i.context)}else{return this.create(this._editables,i,i.context)}}})).then((()=>{this._fire(\"restart\")}))}create(t=this._elementOrData,e=this._config,n){this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>{super._startErrorHandling();this._elementOrData=t;this._initUsingData=typeof t==\"string\"||Object.keys(t).length>0&&typeof Object.values(t)[0]==\"string\";this._config=this._cloneEditorConfiguration(e)||{};this._config.context=n;return this._creator(t,this._config)})).then((t=>{this._editor=t;t.model.document.on(\"change:data\",this._throttledSave);this._lastDocumentVersion=t.model.document.version;this._data=this._getData();if(!this._initUsingData){this._editables=this._getEditables()}this.state=\"ready\";this._fire(\"stateChange\")})).finally((()=>{this._lifecyclePromise=null}));return this._lifecyclePromise}destroy(){this._lifecyclePromise=Promise.resolve(this._lifecyclePromise).then((()=>{this.state=\"destroyed\";this._fire(\"stateChange\");super.destroy();return this._destroy()})).finally((()=>{this._lifecyclePromise=null}));return this._lifecyclePromise}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();this._throttledSave.cancel();const t=this._editor;this._editor=null;t.model.document.off(\"change:data\",this._throttledSave);return this._destructor(t)}))}_save(){const t=this._editor.model.document.version;try{this._data=this._getData();if(!this._initUsingData){this._editables=this._getEditables()}this._lastDocumentVersion=t}catch(t){console.error(t,\"An error happened during restoring editor data. \"+\"Editor will be restored from the previously saved data.\")}}_setExcludedProperties(t){this._excludedProps=t}_getData(){const t=this._editor;const e=t.model.document.roots.filter((t=>t.isAttached()&&t.rootName!=\"$graveyard\"));const{plugins:n}=t;const o=n.has(\"CommentsRepository\")&&n.get(\"CommentsRepository\");const i=n.has(\"TrackChanges\")&&n.get(\"TrackChanges\");const r={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};e.forEach((t=>{r.roots[t.rootName]={content:JSON.stringify(Array.from(t.getChildren())),attributes:JSON.stringify(Array.from(t.getAttributes())),isLoaded:t._isLoaded}}));for(const e of t.model.markers){if(!e._affectsData){continue}r.markers[e.name]={rangeJSON:e.getRange().toJSON(),usingOperation:e._managedUsingOperations,affectsData:e._affectsData}}if(o){r.commentThreads=JSON.stringify(o.getCommentThreads({toJSON:true,skipNotAttached:true}))}if(i){r.suggestions=JSON.stringify(i.getSuggestions({toJSON:true,skipNotAttached:true}))}return r}_getEditables(){const t={};for(const e of this.editor.model.document.getRootNames()){const n=this.editor.ui.getEditableElement(e);if(n){t[e]=n}}return t}_isErrorComingFromThisItem(t){return cB(this._editor,t.context,this._excludedProps)}_cloneEditorConfiguration(t){return Ua(t,((t,e)=>{if(qa(t)){return t}if(e===\"context\"){return t}}))}}class hB{constructor(t){this.editor=t;this._data=t.config.get(\"_watchdogInitialData\")}init(){this.editor.data.on(\"init\",(t=>{t.stop();this.editor.model.enqueueChange({isUndoable:false},(t=>{this._restoreCollaborationData();this._restoreEditorData(t)}));this.editor.data.fire(\"ready\")}),{priority:1e3-1})}_createNode(t,e){if(\"name\"in e){const n=t.createElement(e.name,e.attributes);if(e.children){for(const o of e.children){n._appendChild(this._createNode(t,o))}}return n}else{return t.createText(e.data,e.attributes)}}_restoreEditorData(t){const e=this.editor;Object.entries(this._data.roots).forEach((([n,{content:o,attributes:i}])=>{const r=JSON.parse(o);const s=JSON.parse(i);const a=e.model.document.getRoot(n);for(const[e,n]of s){t.setAttribute(e,n,a)}for(const e of r){const n=this._createNode(t,e);t.insert(n,a,\"end\")}}));Object.entries(this._data.markers).forEach((([n,o])=>{const{document:i}=e.model;const{rangeJSON:{start:r,end:s},...a}=o;const c=i.getRoot(r.root);const l=t.createPositionFromPath(c,r.path,r.stickiness);const d=t.createPositionFromPath(c,s.path,s.stickiness);const u=t.createRange(l,d);t.addMarker(n,{range:u,...a})}))}_restoreCollaborationData(){const t=JSON.parse(this._data.commentThreads);const e=JSON.parse(this._data.suggestions);t.forEach((t=>{const e=this.editor.config.get(\"collaboration.channelId\");const n=this.editor.plugins.get(\"CommentsRepository\");if(n.hasCommentThread(t.threadId)){const e=n.getCommentThread(t.threadId);e.remove()}n.addCommentThread({channelId:e,...t})}));e.forEach((t=>{const e=this.editor.plugins.get(\"TrackChangesEditing\");if(e.hasSuggestion(t.id)){const n=e.getSuggestion(t.id);n.attributes=t.attributes}else{e.addSuggestionData(t)}}))}}const mB=Symbol(\"MainQueueId\");class gB extends rB{constructor(t,e={}){super(e);this._watchdogs=new Map;this._context=null;this._contextProps=new Set;this._actionQueues=new fB;this._watchdogConfig=e;this._creator=e=>t.create(e);this._destructor=t=>t.destroy();this._actionQueues.onEmpty((()=>{if(this.state===\"initializing\"){this.state=\"ready\";this._fire(\"stateChange\")}}))}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}get context(){return this._context}create(t={}){return this._actionQueues.enqueue(mB,(()=>{this._contextConfig=t;return this._create()}))}getItem(t){const e=this._getWatchdog(t);return e._item}getItemState(t){const e=this._getWatchdog(t);return e.state}add(t){const e=pB(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t.id,(()=>{if(this.state===\"destroyed\"){throw new Error(\"Cannot add items to destroyed watchdog.\")}if(!this._context){throw new Error(\"Context was not created yet. You should call the `ContextWatchdog#create()` method first.\")}let e;if(this._watchdogs.has(t.id)){throw new Error(`Item with the given id is already added: '${t.id}'.`)}if(t.type===\"editor\"){e=new uB(null,this._watchdogConfig);e.setCreator(t.creator);e._setExcludedProperties(this._contextProps);if(t.destructor){e.setDestructor(t.destructor)}this._watchdogs.set(t.id,e);e.on(\"error\",((n,{error:o,causesRestart:i})=>{this._fire(\"itemError\",{itemId:t.id,error:o});if(!i){return}this._actionQueues.enqueue(t.id,(()=>new Promise((n=>{const o=()=>{e.off(\"restart\",o);this._fire(\"itemRestart\",{itemId:t.id});n()};e.on(\"restart\",o)}))))}));return e.create(t.sourceElementOrData,t.config,this._context)}else{throw new Error(`Not supported item type: '${t.type}'.`)}})))))}remove(t){const e=pB(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t,(()=>{const e=this._getWatchdog(t);this._watchdogs.delete(t);return e.destroy()})))))}destroy(){return this._actionQueues.enqueue(mB,(()=>{this.state=\"destroyed\";this._fire(\"stateChange\");super.destroy();return this._destroy()}))}_restart(){return this._actionQueues.enqueue(mB,(()=>{this.state=\"initializing\";this._fire(\"stateChange\");return this._destroy().catch((t=>{console.error(\"An error happened during destroying the context or items.\",t)})).then((()=>this._create())).then((()=>this._fire(\"restart\")))}))}_create(){return Promise.resolve().then((()=>{this._startErrorHandling();return this._creator(this._contextConfig)})).then((t=>{this._context=t;this._contextProps=sB(this._context);return Promise.all(Array.from(this._watchdogs.values()).map((t=>{t._setExcludedProperties(this._contextProps);return t.create(undefined,undefined,this._context)})))}))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();const t=this._context;this._context=null;this._contextProps=new Set;return Promise.all(Array.from(this._watchdogs.values()).map((t=>t.destroy()))).then((()=>this._destructor(t)))}))}_getWatchdog(t){const e=this._watchdogs.get(t);if(!e){throw new Error(`Item with the given id was not registered: ${t}.`)}return e}_isErrorComingFromThisItem(t){for(const e of this._watchdogs.values()){if(e._isErrorComingFromThisItem(t)){return false}}return cB(this._context,t.context)}}class fB{constructor(){this._onEmptyCallbacks=[];this._queues=new Map;this._activeActions=0}onEmpty(t){this._onEmptyCallbacks.push(t)}enqueue(t,e){const n=t===mB;this._activeActions++;if(!this._queues.get(t)){this._queues.set(t,Promise.resolve())}const o=n?Promise.all(this._queues.values()):Promise.all([this._queues.get(mB),this._queues.get(t)]);const i=o.then(e);const r=i.catch((()=>{}));this._queues.set(t,r);return i.finally((()=>{this._activeActions--;if(this._queues.get(t)===r&&this._activeActions===0){this._onEmptyCallbacks.forEach((t=>t()))}}))}}function pB(t){return Array.isArray(t)?t:[t]}class bB extends(u_(c_)){constructor(t,e={}){if(!AB(t)&&e.initialData!==undefined){throw new N(\"editor-create-initial-data\",null)}super(e);this.config.define(\"menuBar.isVisible\",false);if(this.config.get(\"initialData\")===undefined){this.config.set(\"initialData\",wB(t))}if(AB(t)){this.sourceElement=t}this.model.document.createRoot();const n=!this.config.get(\"toolbar.shouldNotGroupWhenFull\");const o=this.config.get(\"menuBar\");const i=new iB(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n,useMenuBar:o.isVisible});this.ui=new XS(this,i);l_(this)}destroy(){if(this.sourceElement){this.updateSourceElement()}this.ui.destroy();return super.destroy()}static create(t,e={}){return new Promise((n=>{const o=new this(t,e);n(o.initPlugins().then((()=>o.ui.init(AB(t)?t:null))).then((()=>o.data.init(o.config.get(\"initialData\")))).then((()=>o.fire(\"ready\"))).then((()=>o)))}))}}bB.Context=Md;bB.EditorWatchdog=uB;bB.ContextWatchdog=gB;const kB=bB;function wB(t){return AB(t)?sc(t):t}function AB(t){return qa(t)}class _B{constructor(t,e=20){this._batch=null;this.model=t;this._size=0;this.limit=e;this._isLocked=false;this._changeCallback=(t,e)=>{if(e.isLocal&&e.isUndoable&&e!==this._batch){this._reset(true)}};this._selectionChangeCallback=()=>{this._reset()};this.model.document.on(\"change\",this._changeCallback);this.model.document.selection.on(\"change:range\",this._selectionChangeCallback);this.model.document.selection.on(\"change:attribute\",this._selectionChangeCallback)}get batch(){if(!this._batch){this._batch=this.model.createBatch({isTyping:true})}return this._batch}get size(){return this._size}input(t){this._size+=t;if(this._size>=this.limit){this._reset(true)}}get isLocked(){return this._isLocked}lock(){this._isLocked=true}unlock(){this._isLocked=false}destroy(){this.model.document.off(\"change\",this._changeCallback);this.model.document.selection.off(\"change:range\",this._selectionChangeCallback);this.model.document.selection.off(\"change:attribute\",this._selectionChangeCallback)}_reset(t=false){if(!this.isLocked||t){this._batch=null;this._size=0}}}class CB extends Id{constructor(t,e){super(t);this._buffer=new _B(t.model,e);this._isEnabledBasedOnSelection=false}get buffer(){return this._buffer}destroy(){super.destroy();this._buffer.destroy()}execute(t={}){const e=this.editor.model;const n=e.document;const o=t.text||\"\";const i=o.length;let r=n.selection;if(t.selection){r=t.selection}else if(t.range){r=e.createSelection(t.range)}if(!e.canEditAt(r)){return}const s=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock();const a=Array.from(n.selection.getAttributes());e.deleteContent(r);if(o){e.insertContent(t.createText(o,a),r)}if(s){t.setSelection(s)}else if(!r.is(\"documentSelection\")){t.setSelection(r)}this._buffer.unlock();this._buffer.input(i)}))}}const vB=[\"insertText\",\"insertReplacementText\"];class yB extends $m{constructor(t){super(t);this.focusObserver=t.getObserver(Cf);if(l.isAndroid){vB.push(\"insertCompositionText\")}const e=t.document;e.on(\"beforeinput\",((n,o)=>{if(!this.isEnabled){return}const{data:i,targetRanges:r,inputType:s,domEvent:a}=o;if(!vB.includes(s)){return}this.focusObserver.flush();const c=new D(e,\"insertText\");e.fire(c,new Qm(t,a,{text:i,selection:t.createSelection(r)}));if(c.stop.called){n.stop()}}));e.on(\"compositionend\",((n,{data:o,domEvent:i})=>{if(!this.isEnabled||l.isAndroid){return}if(!o){return}e.fire(\"insertText\",new Qm(t,i,{text:o,selection:e.selection}))}),{priority:\"lowest\"})}observe(){}stopObserving(){}}class xB extends Ed{static get pluginName(){return\"Input\"}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=e.document.selection;n.addObserver(yB);const i=new CB(t,t.config.get(\"typing.undoStep\")||20);t.commands.add(\"insertText\",i);t.commands.add(\"input\",i);this.listenTo(n.document,\"insertText\",((o,i)=>{if(!n.document.isComposing){i.preventDefault()}const{text:r,selection:s,resultRange:a}=i;const c=Array.from(s.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));let d=r;if(l.isAndroid){const t=Array.from(c[0].getItems()).reduce(((t,e)=>t+(e.is(\"$textProxy\")?e.data:\"\")),\"\");if(t){if(t.length<=d.length){if(d.startsWith(t)){d=d.substring(t.length);c[0].start=c[0].start.getShiftedBy(t.length)}}else{if(t.startsWith(d)){c[0].start=c[0].start.getShiftedBy(d.length);d=\"\"}}}}const u={text:d,selection:e.createSelection(c)};if(a){u.resultRange=t.editing.mapper.toModelRange(a)}t.execute(\"insertText\",u);n.scrollToTheSelection()}));if(l.isAndroid){this.listenTo(n.document,\"keydown\",((t,r)=>{if(o.isCollapsed||r.keyCode!=229||!n.document.isComposing){return}EB(e,i)}))}else{this.listenTo(n.document,\"compositionstart\",(()=>{if(o.isCollapsed){return}EB(e,i)}))}}}function EB(t,e){if(!e.isEnabled){return}const n=e.buffer;n.lock();t.enqueueChange(n.batch,(()=>{t.deleteContent(t.document.selection)}));n.unlock()}class DB extends Id{constructor(t,e){super(t);this.direction=e;this._buffer=new _B(t.model,t.config.get(\"typing.undoStep\"));this._isEnabledBasedOnSelection=false}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model;const n=e.document;e.enqueueChange(this._buffer.batch,(o=>{this._buffer.lock();const i=o.createSelection(t.selection||n.selection);if(!e.canEditAt(i)){return}const r=t.sequence||1;const s=i.isCollapsed;if(i.isCollapsed){e.modifySelection(i,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:true})}if(this._shouldEntireContentBeReplacedWithParagraph(r)){this._replaceEntireContentWithParagraph(o);return}if(this._shouldReplaceFirstBlockWithParagraph(i,r)){this.editor.execute(\"paragraph\",{selection:i});return}if(i.isCollapsed){return}let a=0;i.getFirstRange().getMinimalFlatRanges().forEach((t=>{a+=Et(t.getWalker({singleCharacters:true,ignoreElementEnd:true,shallow:true}))}));e.deleteContent(i,{doNotResetEntireContent:s,direction:this.direction});this._buffer.input(a);o.setSelection(i);this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1){return false}const e=this.editor.model;const n=e.document;const o=n.selection;const i=e.schema.getLimitElement(o);const r=o.isCollapsed&&o.containsEntireContent(i);if(!r){return false}if(!e.schema.checkChild(i,\"paragraph\")){return false}const s=i.getChild(0);if(s&&s.is(\"element\",\"paragraph\")){return false}return true}_replaceEntireContentWithParagraph(t){const e=this.editor.model;const n=e.document;const o=n.selection;const i=e.schema.getLimitElement(o);const r=t.createElement(\"paragraph\");t.remove(t.createRangeIn(i));t.insert(r,i);t.setSelection(r,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||this.direction!=\"backward\"){return false}if(!t.isCollapsed){return false}const o=t.getFirstPosition();const i=n.schema.getLimitElement(o);const r=i.getChild(0);if(o.parent!=r){return false}if(!t.containsEntireContent(r)){return false}if(!n.schema.checkChild(i,\"paragraph\")){return false}if(r.name==\"paragraph\"){return false}return true}}const IB=\"character\";const TB=\"word\";const SB=\"codePoint\";const BB=\"selection\";const MB=\"backward\";const PB=\"forward\";const NB={deleteContent:{unit:BB,direction:MB},deleteContentBackward:{unit:SB,direction:MB},deleteWordBackward:{unit:TB,direction:MB},deleteHardLineBackward:{unit:BB,direction:MB},deleteSoftLineBackward:{unit:BB,direction:MB},deleteContentForward:{unit:IB,direction:PB},deleteWordForward:{unit:TB,direction:PB},deleteHardLineForward:{unit:BB,direction:PB},deleteSoftLineForward:{unit:BB,direction:PB}};class LB extends $m{constructor(t){super(t);const e=t.document;let n=0;e.on(\"keydown\",(()=>{n++}));e.on(\"keyup\",(()=>{n=0}));e.on(\"beforeinput\",((o,i)=>{if(!this.isEnabled){return}const{targetRanges:r,domEvent:s,inputType:a}=i;const c=NB[a];if(!c){return}const d={direction:c.direction,unit:c.unit,sequence:n};if(d.unit==BB){d.selectionToRemove=t.createSelection(r[0])}if(a===\"deleteContentBackward\"){if(l.isAndroid){d.sequence=1}if(OB(r)){d.unit=BB;d.selectionToRemove=t.createSelection(r)}}const u=new Th(e,\"delete\",r[0]);e.fire(u,new Qm(t,s,d));if(u.stop.called){o.stop()}}));if(l.isBlink){zB(this)}}observe(){}stopObserving(){}}function zB(t){const e=t.view;const n=e.document;let o=null;let i=false;n.on(\"keydown\",((t,{keyCode:e})=>{o=e;i=false}));n.on(\"keyup\",((a,{keyCode:c,domEvent:l})=>{const d=n.selection;const u=t.isEnabled&&c==o&&r(c)&&!d.isCollapsed&&!i;o=null;if(u){const t=d.getFirstRange();const o=new Th(n,\"delete\",t);const i={unit:BB,direction:s(c),selectionToRemove:d};n.fire(o,new Qm(e,l,i))}}));n.on(\"beforeinput\",((t,{inputType:e})=>{const n=NB[e];const a=r(o)&&n&&n.direction==s(o);if(a){i=true}}),{priority:\"high\"});n.on(\"beforeinput\",((t,{inputType:e,data:n})=>{const i=o==Yc.delete&&e==\"insertText\"&&n==\"\u007F\";if(i){t.stop()}}),{priority:\"high\"});function r(t){return t==Yc.backspace||t==Yc.delete}function s(t){return t==Yc.backspace?MB:PB}}function OB(t){if(t.length!=1||t[0].isCollapsed){return false}const e=t[0].getWalker({direction:\"backward\",singleCharacters:true,ignoreElementEnd:true});let n=0;for(const{nextPosition:t}of e){if(!t.parent.is(\"$text\")){n++}else{const e=t.parent.data;const o=t.offset;if(_d(e,o)||Cd(e,o)||yd(e,o)){continue}n++}if(n>1){return true}}return false}class RB extends Ed{static get pluginName(){return\"Delete\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;const o=t.model.document;e.addObserver(LB);this._undoOnBackspace=false;const i=new DB(t,\"forward\");t.commands.add(\"deleteForward\",i);t.commands.add(\"forwardDelete\",i);t.commands.add(\"delete\",new DB(t,\"backward\"));this.listenTo(n,\"delete\",((o,i)=>{if(!n.isComposing){i.preventDefault()}const{direction:r,sequence:s,selectionToRemove:a,unit:c}=i;const l=r===\"forward\"?\"deleteForward\":\"delete\";const d={sequence:s};if(c==\"selection\"){const e=Array.from(a.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));d.selection=t.model.createSelection(e)}else{d.unit=c}t.execute(l,d);e.scrollToTheSelection()}),{priority:\"low\"});if(this.editor.plugins.has(\"UndoEditing\")){this.listenTo(n,\"delete\",((e,n)=>{if(this._undoOnBackspace&&n.direction==\"backward\"&&n.sequence==1&&n.unit==\"codePoint\"){this._undoOnBackspace=false;t.execute(\"undo\");n.preventDefault();e.stop()}}),{context:\"$capture\"});this.listenTo(o,\"change\",(()=>{this._undoOnBackspace=false}))}}requestUndoOnBackspace(){if(this.editor.plugins.has(\"UndoEditing\")){this._undoOnBackspace=true}}}class VB extends Ed{static get requires(){return[xB,RB]}static get pluginName(){return\"Typing\"}}function FB(t,e){let n=t.start;const o=Array.from(t.getWalker({ignoreElementEnd:false})).reduce(((t,{item:o})=>{if(!(o.is(\"$text\")||o.is(\"$textProxy\"))){n=e.createPositionAfter(o);return\"\"}return t+o.data}),\"\");return{text:o,range:e.createRange(n,t.end)}}class jB extends(mt()){constructor(t,e){super();this.model=t;this.testCallback=e;this._hasMatch=false;this.set(\"isEnabled\",true);this.on(\"change:isEnabled\",(()=>{if(this.isEnabled){this._startListening()}else{this.stopListening(t.document.selection);this.stopListening(t.document)}}));this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const t=this.model;const e=t.document;this.listenTo(e.selection,\"change:range\",((t,{directChange:n})=>{if(!n){return}if(!e.selection.isCollapsed){if(this.hasMatch){this.fire(\"unmatched\");this._hasMatch=false}return}this._evaluateTextBeforeSelection(\"selection\")}));this.listenTo(e,\"change:data\",((t,e)=>{if(e.isUndo||!e.isLocal){return}this._evaluateTextBeforeSelection(\"data\",{batch:e})}))}_evaluateTextBeforeSelection(t,e={}){const n=this.model;const o=n.document;const i=o.selection;const r=n.createRange(n.createPositionAt(i.focus.parent,0),i.focus);const{text:s,range:a}=FB(r,n);const c=this.testCallback(s);if(!c&&this.hasMatch){this.fire(\"unmatched\")}this._hasMatch=!!c;if(c){const n=Object.assign(e,{text:s,range:a});if(typeof c==\"object\"){Object.assign(n,c)}this.fire(`matched:${t}`,n)}}}class HB extends Ed{static get pluginName(){return\"TwoStepCaretMovement\"}constructor(t){super(t);this._isNextGravityRestorationSkipped=false;this.attributes=new Set;this._overrideUid=null}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=t.locale;const i=e.document.selection;this.listenTo(n.document,\"arrowKey\",((t,e)=>{if(!i.isCollapsed){return}if(e.shiftKey||e.altKey||e.ctrlKey){return}const n=e.keyCode==Yc.arrowright;const r=e.keyCode==Yc.arrowleft;if(!n&&!r){return}const s=o.contentLanguageDirection;let a=false;if(s===\"ltr\"&&n||s===\"rtl\"&&r){a=this._handleForwardMovement(e)}else{a=this._handleBackwardMovement(e)}if(a===true){t.stop()}}),{context:\"$text\",priority:\"highest\"});this.listenTo(i,\"change:range\",((t,e)=>{if(this._isNextGravityRestorationSkipped){this._isNextGravityRestorationSkipped=false;return}if(!this._isGravityOverridden){return}if(!e.directChange&&KB(i.getFirstPosition(),this.attributes)){return}this._restoreGravity()}));this._enableClickingAfterNode();this._enableInsertContentSelectionAttributesFixer();this._handleDeleteContentAfterNode()}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes;const n=this.editor.model;const o=n.document.selection;const i=o.getFirstPosition();if(this._isGravityOverridden){return false}if(i.isAtStart&&UB(o,e)){return false}if(KB(i,e)){GB(t);if(UB(o,e)&&KB(i,e,true)){qB(n,e)}else{this._overrideGravity()}return true}return false}_handleBackwardMovement(t){const e=this.attributes;const n=this.editor.model;const o=n.document.selection;const i=o.getFirstPosition();if(this._isGravityOverridden){GB(t);this._restoreGravity();if(KB(i,e,true)){qB(n,e)}else{WB(n,e,i)}return true}else{if(i.isAtStart){if(UB(o,e)){GB(t);WB(n,e,i);return true}return false}if(!UB(o,e)&&KB(i,e,true)){GB(t);WB(n,e,i);return true}if($B(i,e)){if(i.isAtEnd&&!UB(o,e)&&KB(i,e)){GB(t);WB(n,e,i);return true}this._isNextGravityRestorationSkipped=true;this._overrideGravity();return false}}return false}_enableClickingAfterNode(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=t.editing.view.document;t.editing.view.addObserver(dA);let i=false;this.listenTo(o,\"mousedown\",(()=>{i=true}));this.listenTo(o,\"selectionChange\",(()=>{const t=this.attributes;if(!i){return}i=false;if(!n.isCollapsed){return}if(!UB(n,t)){return}const o=n.getFirstPosition();if(!KB(o,t)){return}if(o.isAtStart||KB(o,t,true)){qB(e,t)}else if(!this._isGravityOverridden){this._overrideGravity()}}))}_enableInsertContentSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=this.attributes;this.listenTo(e,\"insertContent\",(()=>{const t=n.getFirstPosition();if(UB(n,o)&&KB(t,o)){qB(e,o)}}),{priority:\"low\"})}_handleDeleteContentAfterNode(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=t.editing.view;let i=false;let r=false;this.listenTo(o.document,\"delete\",((t,e)=>{i=e.direction===\"backward\"}),{priority:\"high\"});this.listenTo(e,\"deleteContent\",(()=>{if(!i){return}const t=n.getFirstPosition();r=UB(n,this.attributes)&&!$B(t,this.attributes)}),{priority:\"high\"});this.listenTo(e,\"deleteContent\",(()=>{if(!i){return}i=false;if(r){return}t.model.enqueueChange((()=>{const t=n.getFirstPosition();if(UB(n,this.attributes)&&KB(t,this.attributes)){if(t.isAtStart||KB(t,this.attributes,true)){qB(e,this.attributes)}else if(!this._isGravityOverridden){this._overrideGravity()}}}))}),{priority:\"low\"})}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((t=>t.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((t=>{t.restoreSelectionGravity(this._overrideUid);this._overrideUid=null}))}}function UB(t,e){for(const n of e){if(t.hasAttribute(n)){return true}}return false}function WB(t,e,n){const o=n.nodeBefore;t.change((n=>{if(o){const e=[];const i=t.schema.isObject(o)&&t.schema.isInline(o);for(const[n,r]of o.getAttributes()){if(t.schema.checkAttribute(\"$text\",n)&&(!i||t.schema.getAttributeProperties(n).copyFromObject!==false)){e.push([n,r])}}n.setSelectionAttribute(e)}else{n.removeSelectionAttribute(e)}}))}function qB(t,e){t.change((t=>{t.removeSelectionAttribute(e)}))}function GB(t){t.preventDefault()}function $B(t,e){const n=t.getShiftedBy(-1);return KB(n,e)}function KB(t,e,n=false){const{nodeBefore:o,nodeAfter:i}=t;for(const t of e){const e=o?o.getAttribute(t):undefined;const r=i?i.getAttribute(t):undefined;if(n&&(e===undefined||r===undefined)){continue}if(r!==e){return true}}return false}const YB={copyright:{from:\"(c)\",to:\"\u00A9\"},registeredTrademark:{from:\"(r)\",to:\"\u00AE\"},trademark:{from:\"(tm)\",to:\"\u2122\"},oneHalf:{from:/(^|[^/a-z0-9])(1\\/2)([^/a-z0-9])$/i,to:[null,\"\u00BD\",null]},oneThird:{from:/(^|[^/a-z0-9])(1\\/3)([^/a-z0-9])$/i,to:[null,\"\u2153\",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\\/3)([^/a-z0-9])$/i,to:[null,\"\u2154\",null]},oneForth:{from:/(^|[^/a-z0-9])(1\\/4)([^/a-z0-9])$/i,to:[null,\"\u00BC\",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\\/4)([^/a-z0-9])$/i,to:[null,\"\u00BE\",null]},lessThanOrEqual:{from:\"<=\",to:\"\u2264\"},greaterThanOrEqual:{from:\">=\",to:\"\u2265\"},notEqual:{from:\"!=\",to:\"\u2260\"},arrowLeft:{from:\"<-\",to:\"\u2190\"},arrowRight:{from:\"->\",to:\"\u2192\"},horizontalEllipsis:{from:\"...\",to:\"\u2026\"},enDash:{from:/(^| )(--)( )$/,to:[null,\"\u2013\",null]},emDash:{from:/(^| )(---)( )$/,to:[null,\"\u2014\",null]},quotesPrimary:{from:nM('\"'),to:[null,\"\u201C\",null,\"\u201D\"]},quotesSecondary:{from:nM(\"'\"),to:[null,\"\u2018\",null,\"\u2019\"]},quotesPrimaryEnGb:{from:nM(\"'\"),to:[null,\"\u2018\",null,\"\u2019\"]},quotesSecondaryEnGb:{from:nM('\"'),to:[null,\"\u201C\",null,\"\u201D\"]},quotesPrimaryPl:{from:nM('\"'),to:[null,\"\u201E\",null,\"\u201D\"]},quotesSecondaryPl:{from:nM(\"'\"),to:[null,\"\u201A\",null,\"\u2019\"]}};const QB={symbols:[\"copyright\",\"registeredTrademark\",\"trademark\"],mathematical:[\"oneHalf\",\"oneThird\",\"twoThirds\",\"oneForth\",\"threeQuarters\",\"lessThanOrEqual\",\"greaterThanOrEqual\",\"notEqual\",\"arrowLeft\",\"arrowRight\"],typography:[\"horizontalEllipsis\",\"enDash\",\"emDash\"],quotes:[\"quotesPrimary\",\"quotesSecondary\"]};const ZB=[\"symbols\",\"mathematical\",\"typography\",\"quotes\"];class JB extends Ed{static get requires(){return[\"Delete\",\"Input\"]}static get pluginName(){return\"TextTransformation\"}constructor(t){super(t);t.config.define(\"typing\",{transformations:{include:ZB}})}init(){const t=this.editor.model;const e=t.document.selection;e.on(\"change:range\",(()=>{this.isEnabled=!e.anchor.parent.is(\"element\",\"codeBlock\")}));this._enableTransformationWatchers()}_enableTransformationWatchers(){const t=this.editor;const e=t.model;const n=t.plugins.get(\"Delete\");const o=oM(t.config.get(\"typing.transformations\"));const i=t=>{for(const e of o){const n=e.from;const o=n.test(t);if(o){return{normalizedTransformation:e}}}};const r=new jB(t.model,i);r.on(\"matched:data\",((t,o)=>{if(!o.batch.isTyping){return}const{from:i,to:r}=o.normalizedTransformation;const s=i.exec(o.text);const a=r(s.slice(1));const c=o.range;let l=s.index;e.enqueueChange((t=>{for(let n=1;n{n.requestUndoOnBackspace()}))}))}));r.bind(\"isEnabled\").to(this)}}function XB(t){if(typeof t==\"string\"){return new RegExp(`(${lT(t)})$`)}return t}function tM(t){if(typeof t==\"string\"){return()=>[t]}else if(t instanceof Array){return()=>t}return t}function eM(t){const e=t.textNode?t.textNode:t.nodeAfter;return e.getAttributes()}function nM(t){return new RegExp(`(^|\\\\s)(${t})([^${t}]*)(${t})$`)}function oM(t){const e=t.extra||[];const n=t.remove||[];const o=t=>!n.includes(t);const i=t.include.concat(e).filter(o);return iM(i).filter(o).map((t=>typeof t==\"string\"&&YB[t]?YB[t]:t)).filter((t=>typeof t===\"object\")).map((t=>({from:XB(t.from),to:tM(t.to)})))}function iM(t){const e=new Set;for(const n of t){if(typeof n==\"string\"&&QB[n]){for(const t of QB[n]){e.add(t)}}else{e.add(n)}}return Array.from(e)}function rM(t,e,n,o){return o.createRange(sM(t,e,n,true,o),sM(t,e,n,false,o))}function sM(t,e,n,o,i){let r=t.textNode||(o?t.nodeBefore:t.nodeAfter);let s=null;while(r&&r.getAttribute(e)==n){s=r;r=o?r.previousSibling:r.nextSibling}return s?i.createPositionAt(s,o?\"before\":\"after\"):t}function aM(t,e,n,o){const i=t.editing.view;const r=new Set;i.document.registerPostFixer((i=>{const s=t.model.document.selection;let a=false;if(s.hasAttribute(e)){const c=rM(s.getFirstPosition(),e,s.getAttribute(e),t.model);const l=t.editing.mapper.toViewRange(c);for(const t of l.getItems()){if(t.is(\"element\",n)&&!t.hasClass(o)){i.addClass(o,t);r.add(t);a=true}}}return a}));t.conversion.for(\"editingDowncast\").add((t=>{t.on(\"insert\",e,{priority:\"highest\"});t.on(\"remove\",e,{priority:\"highest\"});t.on(\"attribute\",e,{priority:\"highest\"});t.on(\"selection\",e,{priority:\"highest\"});function e(){i.change((t=>{for(const e of r.values()){t.removeClass(o,e);r.delete(e)}}))}}))}function cM(t,e,n,o){let i;let r=null;if(typeof o==\"function\"){i=o}else{r=t.commands.get(o);i=()=>{t.execute(o)}}t.model.document.on(\"change:data\",((s,a)=>{if(r&&!r.isEnabled||!e.isEnabled){return}const c=sd(t.model.document.selection.getRanges());if(!c.isCollapsed){return}if(a.isUndo||!a.isLocal){return}const l=Array.from(t.model.document.differ.getChanges());const d=l[0];if(l.length!=1||d.type!==\"insert\"||d.name!=\"$text\"||d.length!=1){return}const u=d.position.parent;if(u.is(\"element\",\"codeBlock\")){return}if(u.is(\"element\",\"listItem\")&&typeof o!==\"function\"&&![\"numberedList\",\"bulletedList\",\"todoList\"].includes(o)){return}if(r&&r.value===true){return}const h=u.getChild(0);const m=t.model.createRangeOn(h);if(!m.containsRange(c)&&!c.end.isEqual(m.end)){return}const g=n.exec(h.data.substr(0,c.end.offset));if(!g){return}t.model.enqueueChange((e=>{const n=e.createPositionAt(u,0);const o=e.createPositionAt(u,g[0].length);const r=new mp(n,o);const s=i({match:g});if(s!==false){e.remove(r);const n=t.model.document.selection.getFirstRange();const o=e.createRangeIn(u);if(u.isEmpty&&!o.isEqual(n)&&!o.containsRange(n,true)){e.remove(u)}}r.detach();t.model.enqueueChange((()=>{const e=t.plugins.get(\"Delete\");e.requestUndoOnBackspace()}))}))}))}function lM(t,e,n,o){let i;let r;if(n instanceof RegExp){i=n}else{r=n}r=r||(t=>{let e;const n=[];const o=[];while((e=i.exec(t))!==null){if(e&&e.length<4){break}let{index:t,1:i,2:r,3:s}=e;const a=i+r+s;t+=e[0].length-a.length;const c=[t,t+i.length];const l=[t+i.length+r.length,t+i.length+r.length+s.length];n.push(c);n.push(l);o.push([t+i.length,t+i.length+r.length])}return{remove:n,format:o}});t.model.document.on(\"change:data\",((n,i)=>{if(i.isUndo||!i.isLocal||!e.isEnabled){return}const s=t.model;const a=s.document.selection;if(!a.isCollapsed){return}const c=Array.from(s.document.differ.getChanges());const l=c[0];if(c.length!=1||l.type!==\"insert\"||l.name!=\"$text\"||l.length!=1){return}const d=a.focus;const u=d.parent;const{text:h,range:m}=uM(s.createRange(s.createPositionAt(u,0),d),s);const g=r(h);const f=dM(m.start,g.format,s);const p=dM(m.start,g.remove,s);if(!(f.length&&p.length)){return}s.enqueueChange((e=>{const n=o(e,f);if(n===false){return}for(const t of p.reverse()){e.remove(t)}s.enqueueChange((()=>{const e=t.plugins.get(\"Delete\");e.requestUndoOnBackspace()}))}))}))}function dM(t,e,n){return e.filter((t=>t[0]!==undefined&&t[1]!==undefined)).map((e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1]))))}function uM(t,e){let n=t.start;const o=Array.from(t.getItems()).reduce(((t,o)=>{if(!(o.is(\"$text\")||o.is(\"$textProxy\"))||o.getAttribute(\"code\")){n=e.createPositionAfter(o);return\"\"}return t+o.data}),\"\");return{text:o,range:e.createRange(n,t.end)}}class hM extends Ed{static get requires(){return[RB]}static get pluginName(){return\"Autoformat\"}afterInit(){const t=this.editor;const e=this.editor.t;this._addListAutoformats();this._addBasicStylesAutoformats();this._addHeadingAutoformats();this._addBlockQuoteAutoformats();this._addCodeBlockAutoformats();this._addHorizontalLineAutoformats();t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Revert autoformatting action\"),keystroke:\"Backspace\"}]})}_addListAutoformats(){const t=this.editor.commands;if(t.get(\"bulletedList\")){cM(this.editor,this,/^[*-]\\s$/,\"bulletedList\")}if(t.get(\"numberedList\")){cM(this.editor,this,/^1[.|)]\\s$/,\"numberedList\")}if(t.get(\"todoList\")){cM(this.editor,this,/^\\[\\s?\\]\\s$/,\"todoList\")}if(t.get(\"checkTodoList\")){cM(this.editor,this,/^\\[\\s?x\\s?\\]\\s$/,(()=>{this.editor.execute(\"todoList\");this.editor.execute(\"checkTodoList\")}))}}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get(\"bold\")){const t=mM(this.editor,\"bold\");lM(this.editor,this,/(?:^|\\s)(\\*\\*)([^*]+)(\\*\\*)$/g,t);lM(this.editor,this,/(?:^|\\s)(__)([^_]+)(__)$/g,t)}if(t.get(\"italic\")){const t=mM(this.editor,\"italic\");lM(this.editor,this,/(?:^|\\s)(\\*)([^*_]+)(\\*)$/g,t);lM(this.editor,this,/(?:^|\\s)(_)([^_]+)(_)$/g,t)}if(t.get(\"code\")){const t=mM(this.editor,\"code\");lM(this.editor,this,/(`)([^`]+)(`)$/g,t)}if(t.get(\"strikethrough\")){const t=mM(this.editor,\"strikethrough\");lM(this.editor,this,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const t=this.editor.commands.get(\"heading\");if(t){t.modelElements.filter((t=>t.match(/^heading[1-6]$/))).forEach((e=>{const n=e[7];const o=new RegExp(`^(#{${n}})\\\\s$`);cM(this.editor,this,o,(()=>{if(!t.isEnabled||t.value===e){return false}this.editor.execute(\"heading\",{value:e})}))}))}}_addBlockQuoteAutoformats(){if(this.editor.commands.get(\"blockQuote\")){cM(this.editor,this,/^>\\s$/,\"blockQuote\")}}_addCodeBlockAutoformats(){const t=this.editor;const e=t.model.document.selection;if(t.commands.get(\"codeBlock\")){cM(t,this,/^```$/,(()=>{if(e.getFirstPosition().parent.is(\"element\",\"listItem\")){return false}this.editor.execute(\"codeBlock\",{usePreviousLanguageChoice:true})}))}}_addHorizontalLineAutoformats(){if(this.editor.commands.get(\"horizontalLine\")){cM(this.editor,this,/^---$/,\"horizontalLine\")}}}function mM(t,e){return(n,o)=>{const i=t.commands.get(e);if(!i.isEnabled){return false}const r=t.model.schema.getValidRanges(o,e);for(const t of r){n.setAttribute(e,true,t)}n.removeSelectionAttribute(e)}}class gM extends Id{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=this._getValueFromFirstAllowedNode();this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const o=n.selection;const i=t.forceValue===undefined?!this.value:t.forceValue;e.change((t=>{if(o.isCollapsed){if(i){t.setSelectionAttribute(this.attributeKey,true)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(o.getRanges(),this.attributeKey);for(const e of n){if(i){t.setAttribute(this.attributeKey,i,e)}else{t.removeAttribute(this.attributeKey,e)}}}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;if(n.isCollapsed){return n.hasAttribute(this.attributeKey)}for(const t of n.getRanges()){for(const n of t.getItems()){if(e.checkAttribute(n,this.attributeKey)){return n.hasAttribute(this.attributeKey)}}}return false}}const fM=\"bold\";class pM extends Ed{static get pluginName(){return\"BoldEditing\"}init(){const t=this.editor;const e=this.editor.t;t.model.schema.extend(\"$text\",{allowAttributes:fM});t.model.schema.setAttributeProperties(fM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:fM,view:\"strong\",upcastAlso:[\"b\",t=>{const e=t.getStyle(\"font-weight\");if(!e){return null}if(e==\"bold\"||Number(e)>=600){return{name:true,styles:[\"font-weight\"]}}return null}]});t.commands.add(fM,new gM(t,fM));t.keystrokes.set(\"CTRL+B\",fM);t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Bold text\"),keystroke:\"CTRL+B\"}]})}}function bM({editor:t,commandName:e,plugin:n,icon:o,label:i,keystroke:r}){return s=>{const a=t.commands.get(e);const c=new s(t.locale);c.set({label:i,icon:o,keystroke:r,isToggleable:true});c.bind(\"isEnabled\").to(a,\"isEnabled\");n.listenTo(c,\"execute\",(()=>{t.execute(e);t.editing.view.focus()}));return c}}const kM=\"bold\";class wM extends Ed{static get pluginName(){return\"BoldUI\"}init(){const t=this.editor;const e=t.locale.t;const n=t.commands.get(kM);const o=bM({editor:t,commandName:kM,plugin:this,icon:CC.bold,label:e(\"Bold\"),keystroke:\"CTRL+B\"});t.ui.componentFactory.add(kM,(()=>{const t=o(Sv);t.set({tooltip:true});t.bind(\"isOn\").to(n,\"value\");return t}));t.ui.componentFactory.add(\"menuBar:\"+kM,(()=>o(qS)))}}class AM extends Ed{static get requires(){return[pM,wM]}static get pluginName(){return\"Bold\"}}const _M=\"code\";const CM=\"ck-code_selected\";class vM extends Ed{static get pluginName(){return\"CodeEditing\"}static get requires(){return[HB]}init(){const t=this.editor;const e=this.editor.t;t.model.schema.extend(\"$text\",{allowAttributes:_M});t.model.schema.setAttributeProperties(_M,{isFormatting:true,copyOnEnter:false});t.conversion.attributeToElement({model:_M,view:\"code\",upcastAlso:{styles:{\"word-wrap\":\"break-word\"}}});t.commands.add(_M,new gM(t,_M));t.plugins.get(HB).registerAttribute(_M);aM(t,_M,\"code\",CM);t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Move out of an inline code style\"),keystroke:[[\"arrowleft\",\"arrowleft\"],[\"arrowright\",\"arrowright\"]]}]})}}const yM=' ';var xM=n(2165);var EM={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};EM.insert=\"head\";EM.singleton=true;var DM=Ld()(xM.A,EM);const IM=xM.A.locals||{};const TM=\"code\";class SM extends Ed{static get pluginName(){return\"CodeUI\"}init(){const t=this.editor;const e=t.locale.t;const n=bM({editor:t,commandName:TM,plugin:this,icon:yM,label:e(\"Code\")});t.ui.componentFactory.add(TM,(()=>{const e=n(Sv);const o=t.commands.get(TM);e.set({tooltip:true});e.bind(\"isOn\").to(o,\"value\");return e}));t.ui.componentFactory.add(\"menuBar:\"+TM,(()=>n(qS)))}}class BM extends Ed{static get requires(){return[vM,SM]}static get pluginName(){return\"Code\"}}const MM=\"italic\";class PM extends Ed{static get pluginName(){return\"ItalicEditing\"}init(){const t=this.editor;const e=this.editor.t;t.model.schema.extend(\"$text\",{allowAttributes:MM});t.model.schema.setAttributeProperties(MM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:MM,view:\"i\",upcastAlso:[\"em\",{styles:{\"font-style\":\"italic\"}}]});t.commands.add(MM,new gM(t,MM));t.keystrokes.set(\"CTRL+I\",MM);t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Italic text\"),keystroke:\"CTRL+I\"}]})}}const NM=' ';const LM=\"italic\";class zM extends Ed{static get pluginName(){return\"ItalicUI\"}init(){const t=this.editor;const e=t.commands.get(LM);const n=t.locale.t;const o=bM({editor:t,commandName:LM,plugin:this,icon:NM,keystroke:\"CTRL+I\",label:n(\"Italic\")});t.ui.componentFactory.add(LM,(()=>{const t=o(Sv);t.set({tooltip:true});t.bind(\"isOn\").to(e,\"value\");return t}));t.ui.componentFactory.add(\"menuBar:\"+LM,(()=>o(qS)))}}class OM extends Ed{static get requires(){return[PM,zM]}static get pluginName(){return\"Italic\"}}const RM=\"strikethrough\";class VM extends(null&&Plugin){static get pluginName(){return\"StrikethroughEditing\"}init(){const t=this.editor;const e=this.editor.t;t.model.schema.extend(\"$text\",{allowAttributes:RM});t.model.schema.setAttributeProperties(RM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:RM,view:\"s\",upcastAlso:[\"del\",\"strike\",{styles:{\"text-decoration\":\"line-through\"}}]});t.commands.add(RM,new AttributeCommand(t,RM));t.keystrokes.set(\"CTRL+SHIFT+X\",\"strikethrough\");t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Strikethrough text\"),keystroke:\"CTRL+SHIFT+X\"}]})}}const FM=\"strikethrough\";class jM extends(null&&Plugin){static get pluginName(){return\"StrikethroughUI\"}init(){const t=this.editor;const e=t.locale.t;const n=getButtonCreator({editor:t,commandName:FM,plugin:this,icon:strikethroughIcon,keystroke:\"CTRL+SHIFT+X\",label:e(\"Strikethrough\")});t.ui.componentFactory.add(FM,(()=>{const e=n(ButtonView);const o=t.commands.get(FM);e.set({tooltip:true});e.bind(\"isOn\").to(o,\"value\");return e}));t.ui.componentFactory.add(\"menuBar:\"+FM,(()=>n(MenuBarMenuListItemButtonView)))}}class HM extends(null&&Plugin){static get requires(){return[StrikethroughEditing,StrikethroughUI]}static get pluginName(){return\"Strikethrough\"}}const UM=\"subscript\";class WM extends(null&&Plugin){static get pluginName(){return\"SubscriptEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:UM});t.model.schema.setAttributeProperties(UM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:UM,view:\"sub\",upcastAlso:[{styles:{\"vertical-align\":\"sub\"}}]});t.commands.add(UM,new AttributeCommand(t,UM))}}const qM=\"subscript\";class GM extends(null&&Plugin){static get pluginName(){return\"SubscriptUI\"}init(){const t=this.editor;const e=t.locale.t;const n=getButtonCreator({editor:t,commandName:qM,plugin:this,icon:subscriptIcon,label:e(\"Subscript\")});t.ui.componentFactory.add(qM,(()=>{const e=n(ButtonView);const o=t.commands.get(qM);e.set({tooltip:true});e.bind(\"isOn\").to(o,\"value\");return e}));t.ui.componentFactory.add(\"menuBar:\"+qM,(()=>n(MenuBarMenuListItemButtonView)))}}class $M extends(null&&Plugin){static get requires(){return[SubscriptEditing,SubscriptUI]}static get pluginName(){return\"Subscript\"}}const KM=\"superscript\";class YM extends(null&&Plugin){static get pluginName(){return\"SuperscriptEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:KM});t.model.schema.setAttributeProperties(KM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:KM,view:\"sup\",upcastAlso:[{styles:{\"vertical-align\":\"super\"}}]});t.commands.add(KM,new AttributeCommand(t,KM))}}const QM=\"superscript\";class ZM extends(null&&Plugin){static get pluginName(){return\"SuperscriptUI\"}init(){const t=this.editor;const e=t.locale.t;const n=getButtonCreator({editor:t,commandName:QM,plugin:this,icon:superscriptIcon,label:e(\"Superscript\")});t.ui.componentFactory.add(QM,(()=>{const e=n(ButtonView);const o=t.commands.get(QM);e.set({tooltip:true});e.bind(\"isOn\").to(o,\"value\");return e}));t.ui.componentFactory.add(\"menuBar:\"+QM,(()=>n(MenuBarMenuListItemButtonView)))}}class JM extends(null&&Plugin){static get requires(){return[SuperscriptEditing,SuperscriptUI]}static get pluginName(){return\"Superscript\"}}const XM=\"underline\";class tP extends(null&&Plugin){static get pluginName(){return\"UnderlineEditing\"}init(){const t=this.editor;const e=this.editor.t;t.model.schema.extend(\"$text\",{allowAttributes:XM});t.model.schema.setAttributeProperties(XM,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:XM,view:\"u\",upcastAlso:{styles:{\"text-decoration\":\"underline\"}}});t.commands.add(XM,new AttributeCommand(t,XM));t.keystrokes.set(\"CTRL+U\",\"underline\");t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Underline text\"),keystroke:\"CTRL+U\"}]})}}const eP=\"underline\";class nP extends(null&&Plugin){static get pluginName(){return\"UnderlineUI\"}init(){const t=this.editor;const e=t.commands.get(eP);const n=t.locale.t;const o=getButtonCreator({editor:t,commandName:eP,plugin:this,icon:underlineIcon,label:n(\"Underline\"),keystroke:\"CTRL+U\"});t.ui.componentFactory.add(eP,(()=>{const t=o(ButtonView);t.set({tooltip:true});t.bind(\"isOn\").to(e,\"value\");return t}));t.ui.componentFactory.add(\"menuBar:\"+eP,(()=>o(MenuBarMenuListItemButtonView)))}}class oP extends(null&&Plugin){static get requires(){return[UnderlineEditing,UnderlineUI]}static get pluginName(){return\"Underline\"}}function*iP(t,e){for(const n of e){if(n&&t.getAttributeProperties(n[0]).copyOnEnter){yield n}}}class rP extends Id{execute(){this.editor.model.change((t=>{this.enterBlock(t);this.fire(\"afterExecute\",{writer:t})}))}enterBlock(t){const e=this.editor.model;const n=e.document.selection;const o=e.schema;const i=n.isCollapsed;const r=n.getFirstRange();const s=r.start.parent;const a=r.end.parent;if(o.isLimit(s)||o.isLimit(a)){if(!i&&s==a){e.deleteContent(n)}return false}if(i){const e=iP(t.model.schema,n.getAttributes());sP(t,r.start);t.setSelectionAttribute(e);return true}else{const o=!(r.start.isAtStart&&r.end.isAtEnd);const i=s==a;e.deleteContent(n,{leaveUnmerged:o});if(o){if(i){sP(t,n.focus);return true}else{t.setSelection(a,0)}}}return false}}function sP(t,e){t.split(e);t.setSelection(e.parent.nextSibling,0)}const aP={insertParagraph:{isSoft:false},insertLineBreak:{isSoft:true}};class cP extends $m{constructor(t){super(t);const e=this.document;let n=false;e.on(\"keydown\",((t,e)=>{n=e.shiftKey}));e.on(\"beforeinput\",((o,i)=>{if(!this.isEnabled){return}let r=i.inputType;if(l.isSafari&&n&&r==\"insertParagraph\"){r=\"insertLineBreak\"}const s=i.domEvent;const a=aP[r];if(!a){return}const c=new Th(e,\"enter\",i.targetRanges[0]);e.fire(c,new Qm(t,s,{isSoft:a.isSoft}));if(c.stop.called){o.stop()}}))}observe(){}stopObserving(){}}class lP extends Ed{static get pluginName(){return\"Enter\"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;const o=this.editor.t;e.addObserver(cP);t.commands.add(\"enter\",new rP(t));this.listenTo(n,\"enter\",((o,i)=>{if(!n.isComposing){i.preventDefault()}if(i.isSoft){return}t.execute(\"enter\");e.scrollToTheSelection()}),{priority:\"low\"});t.accessibility.addKeystrokeInfos({keystrokes:[{label:o(\"Insert a hard break (a new paragraph)\"),keystroke:\"Enter\"}]})}}class dP extends Id{execute(){const t=this.editor.model;const e=t.document;t.change((n=>{hP(t,n,e.selection);this.fire(\"afterExecute\",{writer:n})}))}refresh(){const t=this.editor.model;const e=t.document;this.isEnabled=uP(t.schema,e.selection)}}function uP(t,e){if(e.rangeCount>1){return false}const n=e.anchor;if(!n||!t.checkChild(n,\"softBreak\")){return false}const o=e.getFirstRange();const i=o.start.parent;const r=o.end.parent;if((gP(i,t)||gP(r,t))&&i!==r){return false}return true}function hP(t,e,n){const o=n.isCollapsed;const i=n.getFirstRange();const r=i.start.parent;const s=i.end.parent;const a=r==s;if(o){const o=iP(t.schema,n.getAttributes());mP(t,e,i.end);e.removeSelectionAttribute(n.getAttributeKeys());e.setSelectionAttribute(o)}else{const o=!(i.start.isAtStart&&i.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:o});if(a){mP(t,e,n.focus)}else{if(o){e.setSelection(s,0)}}}}function mP(t,e,n){const o=e.createElement(\"softBreak\");t.insertContent(o,n);e.setSelection(o,\"after\")}function gP(t,e){if(t.is(\"rootElement\")){return false}return e.isLimit(t)||gP(t.parent,e)}class fP extends Ed{static get pluginName(){return\"ShiftEnter\"}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;const o=t.editing.view;const i=o.document;const r=this.editor.t;e.register(\"softBreak\",{allowWhere:\"$text\",isInline:true});n.for(\"upcast\").elementToElement({model:\"softBreak\",view:\"br\"});n.for(\"downcast\").elementToElement({model:\"softBreak\",view:(t,{writer:e})=>e.createEmptyElement(\"br\")});o.addObserver(cP);t.commands.add(\"shiftEnter\",new dP(t));this.listenTo(i,\"enter\",((e,n)=>{if(!i.isComposing){n.preventDefault()}if(!n.isSoft){return}t.execute(\"shiftEnter\");o.scrollToTheSelection()}),{priority:\"low\"});t.accessibility.addKeystrokeInfos({keystrokes:[{label:r(\"Insert a soft break (a <br>
element)\"),keystroke:\"Shift+Enter\"}]})}}class pP extends Id{refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.schema;const o=e.document.selection;const i=Array.from(o.getSelectedBlocks());const r=t.forceValue===undefined?!this.value:t.forceValue;e.change((t=>{if(!r){this._removeQuote(t,i.filter(bP))}else{const e=i.filter((t=>bP(t)||wP(n,t)));this._applyQuote(t,e)}}))}_getValue(){const t=this.editor.model.document.selection;const e=sd(t.getSelectedBlocks());return!!(e&&bP(e))}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=sd(t.getSelectedBlocks());if(!n){return false}return wP(e,n)}_removeQuote(t,e){kP(t,e).reverse().forEach((e=>{if(e.start.isAtStart&&e.end.isAtEnd){t.unwrap(e.start.parent);return}if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);t.move(e,n);return}if(!e.end.isAtEnd){t.split(e.end)}const n=t.createPositionAfter(e.end.parent);t.move(e,n)}))}_applyQuote(t,e){const n=[];kP(t,e).reverse().forEach((e=>{let o=bP(e.start);if(!o){o=t.createElement(\"blockQuote\");t.wrap(e,o)}n.push(o)}));n.reverse().reduce(((e,n)=>{if(e.nextSibling==n){t.merge(t.createPositionAfter(e));return e}return n}))}}function bP(t){return t.parent.name==\"blockQuote\"?t.parent:null}function kP(t,e){let n;let o=0;const i=[];while(o{const o=t.model.document.differ.getChanges();for(const t of o){if(t.type==\"insert\"){const o=t.position.nodeAfter;if(!o){continue}if(o.is(\"element\",\"blockQuote\")&&o.isEmpty){n.remove(o);return true}else if(o.is(\"element\",\"blockQuote\")&&!e.checkChild(t.position,o)){n.unwrap(o);return true}else if(o.is(\"element\")){const t=n.createRangeIn(o);for(const o of t.getItems()){if(o.is(\"element\",\"blockQuote\")&&!e.checkChild(n.createPositionBefore(o),o)){n.unwrap(o);return true}}}}else if(t.type==\"remove\"){const e=t.position.parent;if(e.is(\"element\",\"blockQuote\")&&e.isEmpty){n.remove(e);return true}}}return false}));const n=this.editor.editing.view.document;const o=t.model.document.selection;const i=t.commands.get(\"blockQuote\");this.listenTo(n,\"enter\",((e,n)=>{if(!o.isCollapsed||!i.value){return}const r=o.getLastPosition().parent;if(r.isEmpty){t.execute(\"blockQuote\");t.editing.view.scrollToTheSelection();n.preventDefault();e.stop()}}),{context:\"blockquote\"});this.listenTo(n,\"delete\",((e,n)=>{if(n.direction!=\"backward\"||!o.isCollapsed||!i.value){return}const r=o.getLastPosition().parent;if(r.isEmpty&&!r.previousSibling){t.execute(\"blockQuote\");t.editing.view.scrollToTheSelection();n.preventDefault();e.stop()}}),{context:\"blockquote\"})}}var _P=n(9394);var CP={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};CP.insert=\"head\";CP.singleton=true;var vP=Ld()(_P.A,CP);const yP=_P.A.locals||{};class xP extends Ed{static get pluginName(){return\"BlockQuoteUI\"}init(){const t=this.editor;const e=t.commands.get(\"blockQuote\");t.ui.componentFactory.add(\"blockQuote\",(()=>{const t=this._createButton(Sv);t.set({tooltip:true});t.bind(\"isOn\").to(e,\"value\");return t}));t.ui.componentFactory.add(\"menuBar:blockQuote\",(()=>this._createButton(qS)))}_createButton(t){const e=this.editor;const n=e.locale;const o=e.commands.get(\"blockQuote\");const i=new t(e.locale);const r=n.t;i.set({label:r(\"Block quote\"),icon:CC.quote,isToggleable:true});i.bind(\"isEnabled\").to(o,\"isEnabled\");this.listenTo(i,\"execute\",(()=>{e.execute(\"blockQuote\");e.editing.view.focus()}));return i}}class EP extends Ed{static get requires(){return[AP,xP]}static get pluginName(){return\"BlockQuote\"}}class DP extends Ed{static get pluginName(){return\"CKBoxUI\"}afterInit(){const t=this.editor;if(!t.commands.get(\"ckbox\")){return}const e=t.t;const n=t.ui.componentFactory;n.add(\"ckbox\",(()=>{const t=this._createButton(Sv);t.tooltip=true;return t}));n.add(\"menuBar:ckbox\",(()=>this._createButton(qS)));if(t.plugins.has(\"ImageInsertUI\")){const n=t.plugins.get(\"ImageInsertUI\");n.registerIntegration({name:\"assetManager\",observable:()=>t.commands.get(\"ckbox\"),buttonViewCreator:()=>{const t=this.editor.ui.componentFactory.create(\"ckbox\");t.icon=CC.imageAssetManager;t.bind(\"label\").to(n,\"isImageSelected\",(t=>t?e(\"Replace image with file manager\"):e(\"Insert image with file manager\")));return t},formViewCreator:()=>{const t=this.editor.ui.componentFactory.create(\"ckbox\");t.icon=CC.imageAssetManager;t.withText=true;t.bind(\"label\").to(n,\"isImageSelected\",(t=>t?e(\"Replace with file manager\"):e(\"Insert with file manager\")));t.on(\"execute\",(()=>{n.dropdownView.isOpen=false}));return t}})}}_createButton(t){const e=this.editor;const n=e.locale;const o=new t(n);const i=e.commands.get(\"ckbox\");const r=n.t;o.set({label:r(\"Open file manager\"),icon:CC.browseFiles});o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\");o.on(\"execute\",(()=>{e.execute(\"ckbox\")}));return o}}var IP=[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\"#\",\"$\",\"%\",\"*\",\"+\",\",\",\"-\",\".\",\":\",\";\",\"=\",\"?\",\"@\",\"[\",\"]\",\"^\",\"_\",\"{\",\"|\",\"}\",\"~\"],TP=t=>{let e=0;for(let n=0;n{var n=\"\";for(let o=1;o<=e;o++){let i=Math.floor(t)/Math.pow(83,e-o)%83;n+=IP[Math.floor(i)]}return n};var BP=t=>{let e=t/255;return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},MP=t=>{let e=Math.max(0,Math.min(1,t));return e<=.0031308?Math.trunc(e*12.92*255+.5):Math.trunc((1.055*Math.pow(e,.4166666666666667)-.055)*255+.5)},PP=t=>t<0?-1:1,NP=(t,e)=>PP(t)*Math.pow(Math.abs(t),e);var LP=class extends Error{constructor(t){super(t),this.name=\"ValidationError\",this.message=t}};var zP=t=>{if(!t||t.length<6)throw new LP(\"The blurhash string must be at least 6 characters\");let e=TP(t[0]),n=Math.floor(e/9)+1,o=e%9+1;if(t.length!==4+2*o*n)throw new LP(`blurhash length mismatch: length is ${t.length} but it should be ${4+2*o*n}`)},OP=t=>{try{zP(t)}catch(t){return{result:!1,errorReason:t.message}}return{result:!0}},RP=t=>{let e=t>>16,n=t>>8&255,o=t&255;return[BP(e),BP(n),BP(o)]},VP=(t,e)=>{let n=Math.floor(t/361),o=Math.floor(t/19)%19,i=t%19;return[NP((n-9)/9,2)*e,NP((o-9)/9,2)*e,NP((i-9)/9,2)*e]},FP=(t,e,n,o)=>{zP(t),o=o|1;let i=TP(t[0]),r=Math.floor(i/9)+1,s=i%9+1,a=(TP(t[1])+1)/166,c=new Array(s*r);for(let e=0;e{let i=0,r=0,s=0,a=e*HP;for(let c=0;c{let e=MP(t[0]),n=MP(t[1]),o=MP(t[2]);return(e<<16)+(n<<8)+o},qP=(t,e)=>{let n=Math.floor(Math.max(0,Math.min(18,Math.floor(NP(t[0]/e,.5)*9+9.5)))),o=Math.floor(Math.max(0,Math.min(18,Math.floor(NP(t[1]/e,.5)*9+9.5)))),i=Math.floor(Math.max(0,Math.min(18,Math.floor(NP(t[2]/e,.5)*9+9.5))));return n*19*19+o*19+i},GP=(t,e,n,o,i)=>{if(o<1||o>9||i<1||i>9)throw new LP(\"BlurHash must have between 1 and 9 components\");if(e*n*4!==t.length)throw new LP(\"Width and height must match the pixels array\");let r=[];for(let s=0;so*Math.cos(Math.PI*i*t/e)*Math.cos(Math.PI*s*r/n)));r.push(a)}let s=r[0],a=r.slice(1),c=\"\",l=o-1+(i-1)*9;c+=SP(l,1);let d;if(a.length>0){let t=Math.max(...a.map((t=>Math.max(...t)))),e=Math.floor(Math.max(0,Math.min(82,Math.floor(t*166-.5))));d=(e+1)/166,c+=SP(e,1)}else d=1,c+=SP(0,1);return c+=SP(WP(s),4),a.forEach((t=>{c+=SP(qP(t,d),2)})),c},$P=null&&GP;function KP(t){const e=[];let n=0;for(const o in t){const i=parseInt(o,10);if(!isNaN(i)){if(i>n){n=i}e.push(`${t[o]} ${o}w`)}}const o=[{srcset:e.join(\",\"),sizes:`(max-width: ${n}px) 100vw, ${n}px`,type:\"image/webp\"}];return{imageFallbackUrl:t.default,imageSources:o}}function YP(t,e){const[,n]=t.value.split(\".\");const o=JSON.parse(atob(n));const i=o.auth&&o.auth.ckbox&&o.auth.ckbox.workspaces||[o.aud];if(!e){return i[0]}const r=o.auth&&o.auth.ckbox&&o.auth.ckbox.role;if(r==\"superadmin\"||i.includes(e)){return e}return null}const QP=32;function ZP(t){if(!t){return}try{const e=`${QP}px`;const n=document.createElement(\"canvas\");n.setAttribute(\"width\",e);n.setAttribute(\"height\",e);const o=n.getContext(\"2d\");if(!o){return}const i=o.createImageData(QP,QP);const r=jP(t,QP,QP);i.data.set(r);o.putImageData(i,0,0);return n.toDataURL()}catch(t){return undefined}}function JP({url:t,method:e=\"GET\",data:n,onUploadProgress:o,signal:i,authorization:r}){const s=new XMLHttpRequest;s.open(e,t.toString());s.setRequestHeader(\"Authorization\",r);s.setRequestHeader(\"CKBox-Version\",\"CKEditor 5\");s.responseType=\"json\";const a=()=>{s.abort()};return new Promise(((t,e)=>{i.throwIfAborted();i.addEventListener(\"abort\",a);s.addEventListener(\"loadstart\",(()=>{i.addEventListener(\"abort\",a)}));s.addEventListener(\"loadend\",(()=>{i.removeEventListener(\"abort\",a)}));s.addEventListener(\"error\",(()=>{e()}));s.addEventListener(\"abort\",(()=>{e()}));s.addEventListener(\"load\",(()=>{const n=s.response;if(!n||n.statusCode>=400){return e(n&&n.message)}t(n)}));if(o){s.upload.addEventListener(\"progress\",(t=>{o(t)}))}s.send(n)}))}const XP={\"image/gif\":\"gif\",\"image/jpeg\":\"jpg\",\"image/png\":\"png\",\"image/webp\":\"webp\",\"image/bmp\":\"bmp\",\"image/tiff\":\"tiff\"};function tN(t){return XP[t]}async function eN(t,e){try{const n=await fetch(t,{method:\"HEAD\",cache:\"force-cache\",...e});if(!n.ok){return\"\"}return n.headers.get(\"content-type\")||\"\"}catch{return\"\"}}function nN(t){const e=t.name;const n=/\\.(?[^.]+)$/;const o=e.match(n);return o.groups.ext.toLowerCase()}const oN=1e3;class iN extends Id{constructor(t){super(t);this._chosenAssets=new Set;this._wrapper=null;this._initListeners()}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(){this.fire(\"ckbox:open\")}_getValue(){return this._wrapper!==null}_checkEnabled(){const t=this.editor.commands.get(\"insertImage\");const e=this.editor.commands.get(\"link\");if(!t.isEnabled&&!e.isEnabled){return false}return true}_prepareOptions(){const t=this.editor;const e=t.config.get(\"ckbox\");return{theme:e.theme,language:e.language,tokenUrl:e.tokenUrl,serviceOrigin:e.serviceOrigin,forceDemoLabel:e.forceDemoLabel,dialog:{onClose:()=>this.fire(\"ckbox:close\")},assets:{onChoose:t=>this.fire(\"ckbox:choose\",t)}}}_initListeners(){const t=this.editor;const e=t.model;const n=!t.config.get(\"ckbox.ignoreDataId\");this.on(\"ckbox\",(()=>{this.refresh()}),{priority:\"low\"});this.on(\"ckbox:open\",(()=>{if(!this.isEnabled||this.value){return}this._wrapper=ie(document,\"div\",{class:\"ck ckbox-wrapper\"});document.body.appendChild(this._wrapper);window.CKBox.mount(this._wrapper,this._prepareOptions())}));this.on(\"ckbox:close\",(()=>{if(!this.value){return}this._wrapper.remove();this._wrapper=null;t.editing.view.focus()}));this.on(\"ckbox:choose\",((o,i)=>{if(!this.isEnabled){return}const r=t.commands.get(\"insertImage\");const s=t.commands.get(\"link\");const a=rN({assets:i,isImageAllowed:r.isEnabled,isLinkAllowed:s.isEnabled});const c=a.length;if(c===0){return}e.change((t=>{for(const e of a){const o=e===a[c-1];const i=c===1;this._insertAsset(e,o,t,i);if(n){setTimeout((()=>this._chosenAssets.delete(e)),oN);this._chosenAssets.add(e)}}}));t.editing.view.focus()}));this.listenTo(t,\"destroy\",(()=>{this.fire(\"ckbox:close\");this._chosenAssets.clear()}))}_insertAsset(t,e,n,o){const i=this.editor;const r=i.model;const s=r.document.selection;n.removeSelectionAttribute(\"linkHref\");if(t.type===\"image\"){this._insertImage(t)}else{this._insertLink(t,n,o)}if(!e){n.setSelection(s.getLastPosition())}}_insertImage(t){const e=this.editor;const{imageFallbackUrl:n,imageSources:o,imageTextAlternative:i,imageWidth:r,imageHeight:s,imagePlaceholder:a}=t.attributes;e.execute(\"insertImage\",{source:{src:n,sources:o,alt:i,width:r,height:s,...a?{placeholder:a}:null}})}_insertLink(t,e,n){const o=this.editor;const i=o.model;const r=i.document.selection;const{linkName:s,linkHref:a}=t.attributes;if(r.isCollapsed){const t=dd(r.getAttributes());const c=e.createText(s,t);if(!n){const t=r.getLastPosition();const n=t.parent;if(!(n.name===\"paragraph\"&&n.isEmpty)){o.execute(\"insertParagraph\",{position:t})}const s=i.insertContent(c);e.setSelection(s);o.execute(\"link\",a);return}const l=i.insertContent(c);e.setSelection(l)}o.execute(\"link\",a)}}function rN({assets:t,isImageAllowed:e,isLinkAllowed:n}){return t.map((t=>cN(t)?{id:t.data.id,type:\"image\",attributes:sN(t)}:{id:t.data.id,type:\"link\",attributes:aN(t)})).filter((t=>t.type===\"image\"?e:n))}function sN(t){const{imageFallbackUrl:e,imageSources:n}=KP(t.data.imageUrls);const{description:o,width:i,height:r,blurHash:s}=t.data.metadata;const a=ZP(s);return{imageFallbackUrl:e,imageSources:n,imageTextAlternative:o||\"\",imageWidth:i,imageHeight:r,...a?{imagePlaceholder:a}:null}}function aN(t){return{linkName:t.data.name,linkHref:lN(t)}}function cN(t){const e=t.data.metadata;if(!e){return false}return e.width&&e.height}function lN(t){const e=new URL(t.data.url);e.searchParams.set(\"download\",\"true\");return e.toString()}class dN extends(mt()){constructor(){super();const t=new window.FileReader;this._reader=t;this._data=undefined;this.set(\"loaded\",0);t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;this.total=t.size;return new Promise(((n,o)=>{e.onload=()=>{const t=e.result;this._data=t;n(t)};e.onerror=()=>{o(\"error\")};e.onabort=()=>{o(\"aborted\")};this._reader.readAsDataURL(t)}))}abort(){this._reader.abort()}}class uN extends Ed{constructor(){super(...arguments);this.loaders=new rd;this._loadersMap=new Map;this._pendingAction=null}static get pluginName(){return\"FileRepository\"}static get requires(){return[m_]}init(){this.loaders.on(\"change\",(()=>this._updatePendingAction()));this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",((t,e)=>e?t/e*100:0))}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter){L(\"filerepository-no-upload-adapter\");return null}const e=new hN(Promise.resolve(t),this.createUploadAdapter);this.loaders.add(e);this._loadersMap.set(t,e);if(t instanceof Promise){e.file.then((t=>{this._loadersMap.set(t,e)})).catch((()=>{}))}e.on(\"change:uploaded\",(()=>{let t=0;for(const e of this.loaders){t+=e.uploaded}this.uploaded=t}));e.on(\"change:uploadTotal\",(()=>{let t=0;for(const e of this.loaders){if(e.uploadTotal){t+=e.uploadTotal}}this.uploadTotal=t}));return e}destroyLoader(t){const e=t instanceof hN?t:this.getLoader(t);e._destroy();this.loaders.remove(e);this._loadersMap.forEach(((t,n)=>{if(t===e){this._loadersMap.delete(n)}}))}_updatePendingAction(){const t=this.editor.plugins.get(m_);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t;const n=t=>`${e(\"Upload in progress\")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent));this._pendingAction.bind(\"message\").to(this,\"uploadedPercent\",n)}}else{t.remove(this._pendingAction);this._pendingAction=null}}}class hN extends(mt()){constructor(t,e){super();this.id=T();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new dN;this.set(\"status\",\"idle\");this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",((t,e)=>e?t/e*100:0));this.set(\"uploadResponse\",null)}get file(){if(!this._filePromiseWrapper){return Promise.resolve(null)}else{return this._filePromiseWrapper.promise.then((t=>this._filePromiseWrapper?t:null))}}get data(){return this._reader.data}read(){if(this.status!=\"idle\"){throw new N(\"filerepository-read-wrong-status\",this)}this.status=\"reading\";return this.file.then((t=>this._reader.read(t))).then((t=>{if(this.status!==\"reading\"){throw this.status}this.status=\"idle\";return t})).catch((t=>{if(t===\"aborted\"){this.status=\"aborted\";throw\"aborted\"}this.status=\"error\";throw this._reader.error?this._reader.error:t}))}upload(){if(this.status!=\"idle\"){throw new N(\"filerepository-upload-wrong-status\",this)}this.status=\"uploading\";return this.file.then((()=>this._adapter.upload())).then((t=>{this.uploadResponse=t;this.status=\"idle\";return t})).catch((t=>{if(this.status===\"aborted\"){throw\"aborted\"}this.status=\"error\";throw t}))}abort(){const t=this.status;this.status=\"aborted\";if(!this._filePromiseWrapper.isFulfilled){this._filePromiseWrapper.promise.catch((()=>{}));this._filePromiseWrapper.rejecter(\"aborted\")}else if(t==\"reading\"){this._reader.abort()}else if(t==\"uploading\"&&this._adapter.abort){this._adapter.abort()}this._destroy()}_destroy(){this._filePromiseWrapper=undefined;this._reader=undefined;this._adapter=undefined;this.uploadResponse=undefined}_createFilePromiseWrapper(t){const e={};e.promise=new Promise(((n,o)=>{e.rejecter=o;e.isFulfilled=false;t.then((t=>{e.isFulfilled=true;n(t)})).catch((t=>{e.isFulfilled=true;o(t)}))}));return e}}class mN extends(null&&Plugin){static get requires(){return[FileRepository]}static get pluginName(){return\"Base64UploadAdapter\"}init(){this.editor.plugins.get(FileRepository).createUploadAdapter=t=>new gN(t)}}class gN{constructor(t){this.loader=t}upload(){return new Promise(((t,e)=>{const n=this.reader=new window.FileReader;n.addEventListener(\"load\",(()=>{t({default:n.result})}));n.addEventListener(\"error\",(t=>{e(t)}));n.addEventListener(\"abort\",(()=>{e()}));this.loader.file.then((t=>{n.readAsDataURL(t)}))}))}abort(){this.reader.abort()}}class fN extends(null&&Plugin){static get requires(){return[FileRepository]}static get pluginName(){return\"SimpleUploadAdapter\"}init(){const t=this.editor.config.get(\"simpleUpload\");if(!t){return}if(!t.uploadUrl){logWarning(\"simple-upload-adapter-missing-uploadurl\");return}this.editor.plugins.get(FileRepository).createUploadAdapter=e=>new pN(e,t)}}class pN{constructor(t,e){this.loader=t;this.options=e}upload(){return this.loader.file.then((t=>new Promise(((e,n)=>{this._initRequest();this._initListeners(e,n,t);this._sendRequest(t)}))))}abort(){if(this.xhr){this.xhr.abort()}}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open(\"POST\",this.options.uploadUrl,true);t.responseType=\"json\"}_initListeners(t,e,n){const o=this.xhr;const i=this.loader;const r=`Couldn't upload file: ${n.name}.`;o.addEventListener(\"error\",(()=>e(r)));o.addEventListener(\"abort\",(()=>e()));o.addEventListener(\"load\",(()=>{const n=o.response;if(!n||n.error){return e(n&&n.error&&n.error.message?n.error.message:r)}const i=n.url?{default:n.url}:n.urls;t({...n,urls:i})}));if(o.upload){o.upload.addEventListener(\"progress\",(t=>{if(t.lengthComputable){i.uploadTotal=t.total;i.uploaded=t.loaded}}))}}_sendRequest(t){const e=this.options.headers||{};const n=this.options.withCredentials||false;for(const t of Object.keys(e)){this.xhr.setRequestHeader(t,e[t])}this.xhr.withCredentials=n;const o=new FormData;o.append(\"upload\",t);this.xhr.send(o)}}const bN=\"lark\";class kN extends Ed{static get pluginName(){return\"CKBoxUtils\"}static get requires(){return[\"CloudServices\"]}async init(){const t=this.editor;const e=!!t.config.get(\"ckbox\");const n=!!window.CKBox;if(!e&&!n){return}t.config.define(\"ckbox\",{serviceOrigin:\"https://api.ckbox.io\",defaultUploadCategories:null,ignoreDataId:false,language:t.locale.uiLanguage,theme:bN,tokenUrl:t.config.get(\"cloudServices.tokenUrl\")});const o=t.plugins.get(\"CloudServices\");const i=t.config.get(\"cloudServices.tokenUrl\");const r=t.config.get(\"ckbox.tokenUrl\");if(!r){throw new N(\"ckbox-plugin-missing-token-url\",this)}if(r==i){this._token=o.token}else{this._token=await o.registerTokenUrl(r)}}getToken(){return this._token}getWorkspaceId(){const t=this.editor.t;const e=t(\"Cannot access default workspace.\");const n=this.editor.config.get(\"ckbox.defaultUploadWorkspaceId\");const o=YP(this._token,n);if(o==null){z(\"ckbox-access-default-workspace-error\");throw e}return o}async getCategoryIdForFile(t,e){const n=this.editor.t;const o=n(\"Cannot determine a category for the uploaded file.\");const i=this.editor.config.get(\"ckbox.defaultUploadCategories\");const r=this._getAvailableCategories(e);const s=typeof t==\"string\"?tN(await eN(t,e)):nN(t);const a=await r;if(!a){throw o}if(i){const t=Object.keys(i).find((t=>i[t].find((t=>t.toLowerCase()==s))));if(t){const e=a.find((e=>e.id===t||e.name===t));if(!e){throw o}return e.id}}const c=a.find((t=>t.extensions.find((t=>t.toLowerCase()==s))));if(!c){throw o}return c.id}async _getAvailableCategories(t){const e=50;const n=this.editor;const o=this._token;const{signal:i}=t;const r=n.config.get(\"ckbox.serviceOrigin\");const s=this.getWorkspaceId();try{const t=[];let n=0;let o;do{const i=await a(n);t.push(...i.items);o=i.totalCount-(n+e);n+=e}while(o>0);return t}catch{i.throwIfAborted();z(\"ckbox-fetch-category-http-error\");return undefined}function a(t){const n=new URL(\"categories\",r);n.searchParams.set(\"limit\",e.toString());n.searchParams.set(\"offset\",t.toString());n.searchParams.set(\"workspaceId\",s);return JP({url:n,signal:i,authorization:o.value})}}}class wN extends Ed{static get requires(){return[\"ImageUploadEditing\",\"ImageUploadProgress\",uN,_N]}static get pluginName(){return\"CKBoxUploadAdapter\"}async afterInit(){const t=this.editor;const e=!!t.config.get(\"ckbox\");const n=!!window.CKBox;if(!e&&!n){return}const o=t.plugins.get(uN);const i=t.plugins.get(kN);o.createUploadAdapter=e=>new AN(e,t,i);const r=!t.config.get(\"ckbox.ignoreDataId\");const s=t.plugins.get(\"ImageUploadEditing\");if(r){s.on(\"uploadComplete\",((e,{imageElement:n,data:o})=>{t.model.change((t=>{t.setAttribute(\"ckboxImageId\",o.ckboxImageId,n)}))}))}}}class AN{constructor(t,e,n){this.loader=t;this.token=n.getToken();this.ckboxUtils=n;this.editor=e;this.controller=new AbortController;this.serviceOrigin=e.config.get(\"ckbox.serviceOrigin\")}async upload(){const t=this.ckboxUtils;const e=this.editor.t;const n=await this.loader.file;const o=await t.getCategoryIdForFile(n,{signal:this.controller.signal});const i=new URL(\"assets\",this.serviceOrigin);const r=new FormData;i.searchParams.set(\"workspaceId\",t.getWorkspaceId());r.append(\"categoryId\",o);r.append(\"file\",n);const s={method:\"POST\",url:i,data:r,onUploadProgress:t=>{if(t.lengthComputable){this.loader.uploadTotal=t.total;this.loader.uploaded=t.loaded}},signal:this.controller.signal,authorization:this.token.value};return JP(s).then((async t=>{const e=KP(t.imageUrls);return{ckboxImageId:t.id,default:e.imageFallbackUrl,sources:e.imageSources}})).catch((()=>{const t=e(\"Cannot upload file:\")+` ${n.name}.`;return Promise.reject(t)}))}abort(){this.controller.abort()}}class _N extends Ed{static get pluginName(){return\"CKBoxEditing\"}static get requires(){return[\"LinkEditing\",\"PictureEditing\",wN,kN]}init(){const t=this.editor;if(!this._shouldBeInitialised()){return}this._checkImagePlugins();if(DN()){t.commands.add(\"ckbox\",new iN(t))}}afterInit(){const t=this.editor;if(!this._shouldBeInitialised()){return}if(!t.config.get(\"ckbox.ignoreDataId\")){this._initSchema();this._initConversion();this._initFixers()}}_shouldBeInitialised(){const t=this.editor;const e=!!t.config.get(\"ckbox\");return e||DN()}_checkImagePlugins(){const t=this.editor;if(!t.plugins.has(\"ImageBlockEditing\")&&!t.plugins.has(\"ImageInlineEditing\")){z(\"ckbox-plugin-image-feature-missing\",t)}}_initSchema(){const t=this.editor;const e=t.model.schema;e.extend(\"$text\",{allowAttributes:\"ckboxLinkId\"});if(e.isRegistered(\"imageBlock\")){e.extend(\"imageBlock\",{allowAttributes:[\"ckboxImageId\",\"ckboxLinkId\"]})}if(e.isRegistered(\"imageInline\")){e.extend(\"imageInline\",{allowAttributes:[\"ckboxImageId\",\"ckboxLinkId\"]})}e.addAttributeCheck(((t,e)=>{const n=!!t.last.getAttribute(\"linkHref\");if(!n&&e===\"ckboxLinkId\"){return false}}))}_initConversion(){const t=this.editor;t.conversion.for(\"downcast\").add((t=>{t.on(\"attribute:ckboxLinkId:imageBlock\",((t,e,n)=>{const{writer:o,mapper:i,consumable:r}=n;if(!r.consume(e.item,t.name)){return}const s=i.toViewElement(e.item);const a=[...s.getChildren()].find((t=>t.name===\"a\"));if(!a){return}if(e.item.hasAttribute(\"ckboxLinkId\")){o.setAttribute(\"data-ckbox-resource-id\",e.item.getAttribute(\"ckboxLinkId\"),a)}else{o.removeAttribute(\"data-ckbox-resource-id\",a)}}),{priority:\"low\"});t.on(\"attribute:ckboxLinkId\",((t,e,n)=>{const{writer:o,mapper:i,consumable:r}=n;if(!r.consume(e.item,t.name)){return}if(e.attributeOldValue){const t=xN(o,e.attributeOldValue);o.unwrap(i.toViewRange(e.range),t)}if(e.attributeNewValue){const t=xN(o,e.attributeNewValue);if(e.item.is(\"selection\")){const e=o.document.selection;o.wrap(e.getFirstRange(),t)}else{o.wrap(i.toViewRange(e.range),t)}}}),{priority:\"low\"})}));t.conversion.for(\"upcast\").add((t=>{t.on(\"element:a\",((t,e,n)=>{const{writer:o,consumable:i}=n;if(!e.viewItem.getAttribute(\"href\")){return}const r={attributes:[\"data-ckbox-resource-id\"]};if(!i.consume(e.viewItem,r)){return}const s=e.viewItem.getAttribute(\"data-ckbox-resource-id\");if(!s){return}if(e.modelRange){for(let t of e.modelRange.getItems()){if(t.is(\"$textProxy\")){t=t.textNode}if(EN(t)){o.setAttribute(\"ckboxLinkId\",s,t)}}}else{const t=e.modelCursor.nodeBefore||e.modelCursor.parent;o.setAttribute(\"ckboxLinkId\",s,t)}}),{priority:\"low\"})}));t.conversion.for(\"downcast\").attributeToAttribute({model:\"ckboxImageId\",view:\"data-ckbox-resource-id\"});t.conversion.for(\"upcast\").elementToAttribute({model:{key:\"ckboxImageId\",value:t=>t.getAttribute(\"data-ckbox-resource-id\")},view:{attributes:{\"data-ckbox-resource-id\":/[\\s\\S]+/}}});const e=t.commands.get(\"replaceImageSource\");if(e){this.listenTo(e,\"cleanupImage\",((t,[e,n])=>{e.removeAttribute(\"ckboxImageId\",n)}))}}_initFixers(){const t=this.editor;const e=t.model;const n=e.document.selection;e.document.registerPostFixer(CN(t));e.document.registerPostFixer(vN(n))}}function CN(t){return e=>{let n=false;const o=t.model;const i=t.commands.get(\"ckbox\");if(!i){return n}for(const t of o.document.differ.getChanges()){if(t.type!==\"insert\"&&t.type!==\"attribute\"){continue}const o=t.type===\"insert\"?new Zf(t.position,t.position.getShiftedBy(t.length)):t.range;const r=t.type===\"attribute\"&&t.attributeKey===\"linkHref\"&&t.attributeNewValue===null;for(const t of o.getItems()){if(r&&t.hasAttribute(\"ckboxLinkId\")){e.removeAttribute(\"ckboxLinkId\",t);n=true;continue}const o=yN(t,i._chosenAssets);for(const i of o){const o=i.type===\"image\"?\"ckboxImageId\":\"ckboxLinkId\";if(i.id===t.getAttribute(o)){continue}e.setAttribute(o,i.id,t);n=true}}}return n}}function vN(t){return e=>{const n=!t.hasAttribute(\"linkHref\")&&t.hasAttribute(\"ckboxLinkId\");if(n){e.removeSelectionAttribute(\"ckboxLinkId\");return true}return false}}function yN(t,e){const n=t.is(\"element\",\"imageInline\")||t.is(\"element\",\"imageBlock\");const o=t.hasAttribute(\"linkHref\");return[...e].filter((e=>{if(e.type===\"image\"&&n){return e.attributes.imageFallbackUrl===t.getAttribute(\"src\")}if(e.type===\"link\"&&o){return e.attributes.linkHref===t.getAttribute(\"linkHref\")}}))}function xN(t,e){const n=t.createAttributeElement(\"a\",{\"data-ckbox-resource-id\":e},{priority:5});t.setCustomProperty(\"link\",true,n);return n}function EN(t){if(t.is(\"$text\")){return true}if(t.is(\"element\",\"imageInline\")||t.is(\"element\",\"imageBlock\")){return true}return false}function DN(){return!!window.CKBox}class IN extends Ed{static get pluginName(){return\"CKBox\"}static get requires(){return[_N,DP]}}function TN(t){const e=SN(t);return t=>{const n=t.is(\"element\",\"imageInline\")||t.is(\"element\",\"imageBlock\");if(!n){return false}if(t.hasAttribute(\"ckboxImageId\")){return true}if(t.hasAttribute(\"src\")){return e(t.getAttribute(\"src\"))}return false}}function SN(t){if(Array.isArray(t)){const e=t.map(SN);return t=>e.some((e=>e(t)))}if(t==\"origin\"){const t=oc.window.location.origin;return e=>new URL(e,oc.document.baseURI).origin==t}if(typeof t==\"function\"){return t}if(t instanceof RegExp){return e=>!!(e.match(t)||e.replace(/^https?:\\/\\//,\"\").match(t))}const e=t;return()=>false}class BN extends Id{constructor(t){super(t);this._wrapper=null;this._processInProgress=new Set;this.value=false;this._canEdit=TN(t.config.get(\"ckbox.allowExternalImagesEditing\"));this._prepareOptions=xt(((t,e)=>this._prepareOptionsAbortable(t,e)));this._prepareListeners()}refresh(){const t=this.editor;this.value=this._getValue();const e=t.model.document.selection.getSelectedElement();this.isEnabled=!!e&&this._canEdit(e)&&!this._checkIfElementIsBeingProcessed(e)}execute(){if(this._getValue()){return}const t=ie(document,\"div\",{class:\"ck ckbox-wrapper\"});this._wrapper=t;this.value=true;document.body.appendChild(this._wrapper);const e=this.editor.model.document.selection.getSelectedElement();const n={element:e,controller:new AbortController};this._prepareOptions(n).then((e=>window.CKBox.mountImageEditor(t,e)),(t=>{const e=this.editor;const n=e.t;const o=e.plugins.get(OI);o.showWarning(n(\"Failed to determine category of edited image.\"),{namespace:\"ckbox\"});console.error(t);this._handleImageEditorClose()}))}destroy(){this._handleImageEditorClose();this._prepareOptions.abort();for(const t of this._processInProgress.values()){t.controller.abort()}super.destroy()}_getValue(){return this._wrapper!==null}async _prepareOptionsAbortable(t,e){const n=this.editor;const o=n.config.get(\"ckbox\");const i=n.plugins.get(kN);const{element:r}=e;let s;const a=r.getAttribute(\"ckboxImageId\");if(a){s={assetId:a}}else{const e=new URL(r.getAttribute(\"src\"),document.baseURI).href;const n=await i.getCategoryIdForFile(e,{signal:t});s={imageUrl:e,uploadCategoryId:n}}return{...s,imageEditing:{allowOverwrite:false},tokenUrl:o.tokenUrl,...o.serviceOrigin&&{serviceOrigin:o.serviceOrigin},onClose:()=>this._handleImageEditorClose(),onSave:t=>this._handleImageEditorSave(e,t)}}_prepareListeners(){this.listenTo(this.editor.model.document,\"change:data\",(()=>{const t=this._getProcessingStatesOfDeletedImages();t.forEach((t=>{t.controller.abort()}))}))}_getProcessingStatesOfDeletedImages(){const t=[];for(const e of this._processInProgress.values()){if(e.element.root.rootName==\"$graveyard\"){t.push(e)}}return t}_checkIfElementIsBeingProcessed(t){for(const{element:e}of this._processInProgress){if(jk(e,t)){return true}}return false}_handleImageEditorClose(){if(!this._wrapper){return}this._wrapper.remove();this._wrapper=null;this.editor.editing.view.focus();this.refresh()}_handleImageEditorSave(t,e){const n=this.editor.locale.t;const o=this.editor.plugins.get(OI);const i=this.editor.plugins.get(m_);const r=i.add(n(\"Processing the edited image.\"));this._processInProgress.add(t);this._showImageProcessingIndicator(t.element,e);this.refresh();this._waitForAssetProcessed(e.data.id,t.controller.signal).then((e=>{this._replaceImage(t.element,e)}),(e=>{this.editor.editing.reconvertItem(t.element);if(t.controller.signal.aborted){return}if(!e||e instanceof N){o.showWarning(n(\"Server failed to process the image.\"),{namespace:\"ckbox\"})}else{console.error(e)}})).finally((()=>{this._processInProgress.delete(t);i.remove(r);this.refresh()}))}async _getAssetStatusFromServer(t,e){const n=this.editor.plugins.get(kN);const o=new URL(\"assets/\"+t,this.editor.config.get(\"ckbox.serviceOrigin\"));const i=await JP({url:o,signal:e,authorization:n.getToken().value});const r=i.metadata.metadataProcessingStatus;if(!r||r==\"queued\"){throw new N(\"ckbox-image-not-processed\")}return{data:{...i}}}async _waitForAssetProcessed(t,e){const n=await hd((()=>this._getAssetStatusFromServer(t,e)),{signal:e,maxAttempts:5});if(n.data.metadata.metadataProcessingStatus!=\"success\"){throw new N(\"ckbox-image-processing-failed\")}return n}_showImageProcessingIndicator(t,e){const n=this.editor;n.editing.view.change((o=>{const i=n.editing.mapper.toViewElement(t);const r=this.editor.plugins.get(\"ImageUtils\");const s=r.findViewImgElement(i);o.removeStyle(\"aspect-ratio\",s);o.setAttribute(\"width\",e.data.metadata.width,s);o.setAttribute(\"height\",e.data.metadata.height,s);o.setStyle(\"width\",`${e.data.metadata.width}px`,s);o.setStyle(\"height\",`${e.data.metadata.height}px`,s);o.addClass(\"image-processing\",i)}))}_replaceImage(t,e){const n=this.editor;const{imageFallbackUrl:o,imageSources:i,imageWidth:r,imageHeight:s,imagePlaceholder:a}=sN(e);const c=Array.from(n.model.document.selection.getRanges());n.model.change((l=>{l.setSelection(t,\"on\");n.execute(\"insertImage\",{source:{src:o,sources:i,width:r,height:s,...a?{placeholder:a}:null,...t.hasAttribute(\"alt\")?{alt:t.getAttribute(\"alt\")}:null}});const d=t.getChildren();t=n.model.document.selection.getSelectedElement();for(const e of d){l.append(l.cloneElement(e),t)}l.setAttribute(\"ckboxImageId\",e.data.id,t);l.setSelection(c)}))}}class MN extends(null&&Plugin){static get pluginName(){return\"CKBoxImageEditEditing\"}static get requires(){return[CKBoxEditing,CKBoxUtils,PendingActions,Notification,\"ImageUtils\",\"ImageEditing\"]}init(){const{editor:t}=this;t.commands.add(\"ckboxImageEdit\",new CKBoxImageEditCommand(t))}}class PN extends(null&&Plugin){static get pluginName(){return\"CKBoxImageEditUI\"}init(){const t=this.editor;t.ui.componentFactory.add(\"ckboxImageEdit\",(e=>{const n=t.commands.get(\"ckboxImageEdit\");const o=new ButtonView(e);const i=e.t;o.set({label:i(\"Edit image\"),icon:ckboxImageEditIcon,tooltip:true});o.bind(\"isOn\").to(n,\"value\",n,\"isEnabled\",((t,e)=>t&&e));o.bind(\"isEnabled\").to(n);this.listenTo(o,\"execute\",(()=>{t.execute(\"ckboxImageEdit\");t.editing.view.focus()}));return o}))}}var NN=n(2364);var LN={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};LN.insert=\"head\";LN.singleton=true;var zN=Ld()(NN.A,LN);const ON=NN.A.locals||{};class RN extends(null&&Plugin){static get pluginName(){return\"CKBoxImageEdit\"}static get requires(){return[CKBoxImageEditEditing,CKBoxImageEditUI]}}const VN={autoRefresh:true};const FN=36e5;class jN extends(mt()){constructor(t,e={}){super();if(!t){throw new N(\"token-missing-token-url\",this)}if(e.initValue){this._validateTokenValue(e.initValue)}this.set(\"value\",e.initValue);if(typeof t===\"function\"){this._refresh=t}else{this._refresh=()=>HN(t)}this._options={...VN,...e}}init(){return new Promise(((t,e)=>{if(!this.value){this.refreshToken().then(t).catch(e);return}if(this._options.autoRefresh){this._registerRefreshTokenTimeout()}t(this)}))}refreshToken(){return this._refresh().then((t=>{this._validateTokenValue(t);this.set(\"value\",t);if(this._options.autoRefresh){this._registerRefreshTokenTimeout()}return this}))}destroy(){clearTimeout(this._tokenRefreshTimeout)}_validateTokenValue(t){const e=typeof t===\"string\";const n=!/^\".*\"$/.test(t);const o=e&&t.split(\".\").length===3;if(!(n&&o)){throw new N(\"token-not-in-jwt-format\",this)}}_registerRefreshTokenTimeout(){const t=this._getTokenRefreshTimeoutTime();clearTimeout(this._tokenRefreshTimeout);this._tokenRefreshTimeout=setTimeout((()=>{this.refreshToken()}),t)}_getTokenRefreshTimeoutTime(){try{const[,t]=this.value.split(\".\");const{exp:e}=JSON.parse(atob(t));if(!e){return FN}const n=Math.floor((e*1e3-Date.now())/2);return n}catch(t){return FN}}static create(t,e={}){const n=new jN(t,e);return n.init()}}function HN(t){return new Promise(((e,n)=>{const o=new XMLHttpRequest;o.open(\"GET\",t);o.addEventListener(\"load\",(()=>{const t=o.status;const i=o.response;if(t<200||t>299){return n(new N(\"token-cannot-download-new-token\",null))}return e(i)}));o.addEventListener(\"error\",(()=>n(new Error(\"Network Error\"))));o.addEventListener(\"abort\",(()=>n(new Error(\"Abort\"))));o.send()}))}const UN=/^data:(\\S*?);base64,/;class WN extends($()){constructor(t,e,n){super();if(!t){throw new N(\"fileuploader-missing-file\",null)}if(!e){throw new N(\"fileuploader-missing-token\",null)}if(!n){throw new N(\"fileuploader-missing-api-address\",null)}this.file=GN(t)?qN(t):t;this._token=e;this._apiAddress=n}onProgress(t){this.on(\"progress\",((e,n)=>t(n)));return this}onError(t){this.once(\"error\",((e,n)=>t(n)));return this}abort(){this.xhr.abort()}send(){this._prepareRequest();this._attachXHRListeners();return this._sendRequest()}_prepareRequest(){const t=new XMLHttpRequest;t.open(\"POST\",this._apiAddress);t.setRequestHeader(\"Authorization\",this._token.value);t.responseType=\"json\";this.xhr=t}_attachXHRListeners(){const t=this.xhr;const e=t=>()=>this.fire(\"error\",t);t.addEventListener(\"error\",e(\"Network Error\"));t.addEventListener(\"abort\",e(\"Abort\"));if(t.upload){t.upload.addEventListener(\"progress\",(t=>{if(t.lengthComputable){this.fire(\"progress\",{total:t.total,uploaded:t.loaded})}}))}t.addEventListener(\"load\",(()=>{const e=t.status;const n=t.response;if(e<200||e>299){return this.fire(\"error\",n.message||n.error)}}))}_sendRequest(){const t=new FormData;const e=this.xhr;t.append(\"file\",this.file);return new Promise(((n,o)=>{e.addEventListener(\"load\",(()=>{const t=e.status;const i=e.response;if(t<200||t>299){if(i.message){return o(new N(\"fileuploader-uploading-data-failed\",this,{message:i.message}))}return o(i.error)}return n(i)}));e.addEventListener(\"error\",(()=>o(new Error(\"Network Error\"))));e.addEventListener(\"abort\",(()=>o(new Error(\"Abort\"))));e.send(t)}))}}function qN(t,e=512){try{const n=t.match(UN)[1];const o=atob(t.replace(UN,\"\"));const i=[];for(let t=0;t{e.push(n);if(i{if(a){this._applyCodeBlock(t,s,c)}else{this._removeCodeBlock(t,s)}}))}_getValue(){const t=this.editor.model.document.selection;const e=sd(t.getSelectedBlocks());const n=!!(e&&e.is(\"element\",\"codeBlock\"));return n?e.getAttribute(\"language\"):false}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=sd(t.getSelectedBlocks());if(!n){return false}return nL(e,n)}_applyCodeBlock(t,e,n){this._lastLanguage=n;const o=this.editor.model.schema;const i=e.filter((t=>nL(o,t)));for(const e of i){t.rename(e,\"codeBlock\");t.setAttribute(\"language\",n,e);o.removeDisallowedAttributes([e],t);Array.from(e.getChildren()).filter((t=>!o.checkChild(e,t))).forEach((e=>t.remove(e)))}i.reverse().forEach(((e,n)=>{const o=i[n+1];if(e.previousSibling===o){t.appendElement(\"softBreak\",o);t.merge(t.createPositionBefore(e))}}))}_removeCodeBlock(t,e){const n=e.filter((t=>t.is(\"element\",\"codeBlock\")));for(const e of n){const n=t.createRangeOn(e);for(const e of Array.from(n.getItems()).reverse()){if(e.is(\"element\",\"softBreak\")&&e.parent.is(\"element\",\"codeBlock\")){const{position:n}=t.split(t.createPositionBefore(e));const o=n.nodeAfter;t.rename(o,\"paragraph\");t.removeAttribute(\"language\",o);t.remove(e)}}t.rename(e,\"paragraph\");t.removeAttribute(\"language\",e)}}}function iL(t,e,n){if(t.language){return t.language}if(t.usePreviousLanguageChoice&&e){return e}return n}class rL extends Id{constructor(t){super(t);this._indentSequence=t.config.get(\"codeBlock.indentSequence\")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor;const e=t.model;e.change((t=>{const n=tL(e);for(const o of n){const n=t.createText(this._indentSequence);e.insertContent(n,o)}}))}_checkEnabled(){if(!this._indentSequence){return false}return eL(this.editor.model.document.selection)}}class sL extends Id{constructor(t){super(t);this._indentSequence=t.config.get(\"codeBlock.indentSequence\")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor;const e=t.model;e.change((()=>{const t=tL(e);for(const n of t){const t=aL(e,n,this._indentSequence);if(t){e.deleteContent(e.createSelection(t))}}}))}_checkEnabled(){if(!this._indentSequence){return false}const t=this.editor.model;if(!eL(t.document.selection)){return false}return tL(t).some((e=>aL(t,e,this._indentSequence)))}}function aL(t,e,n){const o=cL(e);if(!o){return null}const i=JN(o);const r=i.lastIndexOf(n);if(r+n.length!==i.length){return null}if(r===-1){return null}const{parent:s,startOffset:a}=o;return t.createRange(t.createPositionAt(s,a+r),t.createPositionAt(s,a+r+n.length))}function cL(t){let e=t.parent.getChild(t.index);if(!e||e.is(\"element\",\"softBreak\")){e=t.nodeBefore}if(!e||e.is(\"element\",\"softBreak\")){return null}return e}function lL(t,e,n=false){const o=ZN(e,\"language\",\"class\");const i=ZN(e,\"language\",\"label\");return(e,r,s)=>{const{writer:a,mapper:c,consumable:l}=s;if(!l.consume(r.item,\"insert\")){return}const d=r.item.getAttribute(\"language\");const u=c.toViewPosition(t.createPositionBefore(r.item));const h={};if(n){h[\"data-language\"]=i[d];h.spellcheck=\"false\"}const m=o[d]?{class:o[d]}:undefined;const g=a.createContainerElement(\"code\",m);const f=a.createContainerElement(\"pre\",h,g);a.insert(u,f);c.bindElements(r.item,g)}}function dL(t){return(e,n,o)=>{if(n.item.parent.name!==\"codeBlock\"){return}const{writer:i,mapper:r,consumable:s}=o;if(!s.consume(n.item,\"insert\")){return}const a=r.toViewPosition(t.createPositionBefore(n.item));i.insert(a,i.createText(\"\\n\"))}}function uL(t,e){const n=ZN(e,\"class\",\"language\");const o=e[0].language;return(t,e,i)=>{const r=e.viewItem;const s=r.parent;if(!s||!s.is(\"element\",\"pre\")){return}if(e.modelCursor.findAncestor(\"codeBlock\")){return}const{consumable:a,writer:c}=i;if(!a.test(r,{name:true})){return}const l=c.createElement(\"codeBlock\");const d=[...r.getClassNames()];if(!d.length){d.push(\"\")}for(const t of d){const e=n[t];if(e){c.setAttribute(\"language\",e,l);break}}if(!l.hasAttribute(\"language\")){c.setAttribute(\"language\",o,l)}i.convertChildren(r,l);if(!i.safeInsert(l,e.modelCursor)){return}a.consume(r,{name:true});i.updateConversionResult(l,e)}}function hL(){return(t,e,{consumable:n,writer:o})=>{let i=e.modelCursor;if(!n.test(e.viewItem)){return}if(!i.findAncestor(\"codeBlock\")){return}n.consume(e.viewItem);const r=e.viewItem.data;const s=r.split(\"\\n\").map((t=>o.createText(t)));const a=s[s.length-1];for(const t of s){o.insert(t,i);i=i.getShiftedBy(t.offsetSize);if(t!==a){const t=o.createElement(\"softBreak\");o.insert(t,i);i=o.createPositionAfter(t)}}e.modelRange=o.createRange(e.modelCursor,i);e.modelCursor=i}}function mL(){return(t,e,{consumable:n})=>{const o=e.viewItem;if(o.findAncestor(\"pre\")){return}const i=Array.from(o.getChildren());const r=i.find((t=>t.is(\"element\",\"code\")));if(!r){return}for(const t of i){if(t===r||!t.is(\"$text\")){continue}n.consume(t,{name:true})}}}const gL=\"paragraph\";class fL extends Ed{static get pluginName(){return\"CodeBlockEditing\"}static get requires(){return[fP]}constructor(t){super(t);t.config.define(\"codeBlock\",{languages:[{language:\"plaintext\",label:\"Plain text\"},{language:\"c\",label:\"C\"},{language:\"cs\",label:\"C#\"},{language:\"cpp\",label:\"C++\"},{language:\"css\",label:\"CSS\"},{language:\"diff\",label:\"Diff\"},{language:\"html\",label:\"HTML\"},{language:\"java\",label:\"Java\"},{language:\"javascript\",label:\"JavaScript\"},{language:\"php\",label:\"PHP\"},{language:\"python\",label:\"Python\"},{language:\"ruby\",label:\"Ruby\"},{language:\"typescript\",label:\"TypeScript\"},{language:\"xml\",label:\"XML\"}],indentSequence:\"\\t\"})}init(){const t=this.editor;const e=t.model.schema;const n=t.model;const o=t.editing.view;const i=t.plugins.has(\"ListEditing\")?t.plugins.get(\"ListEditing\"):null;const r=QN(t);t.commands.add(\"codeBlock\",new oL(t));t.commands.add(\"indentCodeBlock\",new rL(t));t.commands.add(\"outdentCodeBlock\",new sL(t));this.listenTo(o.document,\"tab\",((e,n)=>{const o=n.shiftKey?\"outdentCodeBlock\":\"indentCodeBlock\";const i=t.commands.get(o);if(!i.isEnabled){return}t.execute(o);n.stopPropagation();n.preventDefault();e.stop()}),{context:\"pre\"});e.register(\"codeBlock\",{allowWhere:\"$block\",allowChildren:\"$text\",isBlock:true,allowAttributes:[\"language\"]});e.addAttributeCheck(((t,e)=>{if(t.endsWith(\"codeBlock\")&&i&&i.getListAttributeNames().includes(e)){return true}if(t.endsWith(\"codeBlock $text\")){return false}}));t.model.schema.addChildCheck(((t,e)=>{if(t.endsWith(\"codeBlock\")&&e.isObject){return false}}));t.editing.downcastDispatcher.on(\"insert:codeBlock\",lL(n,r,true));t.data.downcastDispatcher.on(\"insert:codeBlock\",lL(n,r));t.data.downcastDispatcher.on(\"insert:softBreak\",dL(n),{priority:\"high\"});t.data.upcastDispatcher.on(\"element:code\",uL(o,r));t.data.upcastDispatcher.on(\"text\",hL());t.data.upcastDispatcher.on(\"element:pre\",mL(),{priority:\"high\"});this.listenTo(t.editing.view.document,\"clipboardInput\",((e,o)=>{let i=n.createRange(n.document.selection.anchor);if(o.targetRanges){i=t.editing.mapper.toModelRange(o.targetRanges[0])}if(!i.start.parent.is(\"element\",\"codeBlock\")){return}const r=o.dataTransfer.getData(\"text/plain\");const s=new uA(t.editing.view.document);o.content=XN(s,r)}));this.listenTo(n,\"getSelectedContent\",((t,[o])=>{const i=o.anchor;if(o.isCollapsed||!i.parent.is(\"element\",\"codeBlock\")||!i.hasSameParentAs(o.focus)){return}n.change((n=>{const r=t.return;if(i.parent.is(\"element\")&&(r.childCount>1||o.containsEntireContent(i.parent))){const e=n.createElement(\"codeBlock\",i.parent.getAttributes());n.append(r,e);const o=n.createDocumentFragment();n.append(e,o);t.return=o;return}const s=r.getChild(0);if(e.checkAttribute(s,\"code\")){n.setAttribute(\"code\",true,s)}}))}))}afterInit(){const t=this.editor;const e=t.commands;const n=e.get(\"indent\");const o=e.get(\"outdent\");if(n){n.registerChildCommand(e.get(\"indentCodeBlock\"),{priority:\"highest\"})}if(o){o.registerChildCommand(e.get(\"outdentCodeBlock\"))}this.listenTo(t.editing.view.document,\"enter\",((e,n)=>{const o=t.model.document.selection.getLastPosition().parent;if(!o.is(\"element\",\"codeBlock\")){return}if(!bL(t,n.isSoft)&&!kL(t,n.isSoft)){pL(t)}n.preventDefault();e.stop()}),{context:\"pre\"})}}function pL(t){const e=t.model;const n=e.document;const o=n.selection.getLastPosition();const i=o.nodeBefore||o.textNode;let r;if(i&&i.is(\"$text\")){r=JN(i)}t.model.change((e=>{t.execute(\"shiftEnter\");if(r){e.insertText(r,n.selection.anchor)}}))}function bL(t,e){const n=t.model;const o=n.document;const i=t.editing.view;const r=o.selection.getLastPosition();const s=r.nodeAfter;if(e||!o.selection.isCollapsed||!r.isAtStart){return false}if(!AL(s)){return false}t.model.change((e=>{t.execute(\"enter\");const n=o.selection.anchor.parent.previousSibling;e.rename(n,gL);e.setSelection(n,\"in\");t.model.schema.removeDisallowedAttributes([n],e);e.remove(s)}));i.scrollToTheSelection();return true}function kL(t,e){const n=t.model;const o=n.document;const i=t.editing.view;const r=o.selection.getLastPosition();const s=r.nodeBefore;let a;if(e||!o.selection.isCollapsed||!r.isAtEnd||!s||!s.previousSibling){return false}if(AL(s)&&AL(s.previousSibling)){a=n.createRange(n.createPositionBefore(s.previousSibling),n.createPositionAfter(s))}else if(wL(s)&&AL(s.previousSibling)&&AL(s.previousSibling.previousSibling)){a=n.createRange(n.createPositionBefore(s.previousSibling.previousSibling),n.createPositionAfter(s))}else if(wL(s)&&AL(s.previousSibling)&&wL(s.previousSibling.previousSibling)&&s.previousSibling.previousSibling&&AL(s.previousSibling.previousSibling.previousSibling)){a=n.createRange(n.createPositionBefore(s.previousSibling.previousSibling.previousSibling),n.createPositionAfter(s))}else{return false}t.model.change((e=>{e.remove(a);t.execute(\"enter\");const n=o.selection.anchor.parent;e.rename(n,gL);t.model.schema.removeDisallowedAttributes([n],e)}));i.scrollToTheSelection();return true}function wL(t){return t&&t.is(\"$text\")&&!t.data.match(/\\S/)}function AL(t){return t&&t.is(\"element\",\"softBreak\")}var _L=n(2440);var CL={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};CL.insert=\"head\";CL.singleton=true;var vL=Ld()(_L.A,CL);const yL=_L.A.locals||{};class xL extends Ed{static get pluginName(){return\"CodeBlockUI\"}init(){const t=this.editor;const e=t.t;const n=t.ui.componentFactory;const o=QN(t);const i=this._getLanguageListItemDefinitions(o);const r=t.commands.get(\"codeBlock\");n.add(\"codeBlock\",(n=>{const o=xx(n,px);const s=o.buttonView;const a=e(\"Insert code block\");s.set({label:a,tooltip:true,icon:CC.codeBlock,isToggleable:true});s.bind(\"isOn\").to(r,\"value\",(t=>!!t));s.on(\"execute\",(()=>{t.execute(\"codeBlock\",{usePreviousLanguageChoice:true});t.editing.view.focus()}));o.on(\"execute\",(e=>{t.execute(\"codeBlock\",{language:e.source._codeBlockLanguage,forceValue:true});t.editing.view.focus()}));o.class=\"ck-code-block-dropdown\";o.bind(\"isEnabled\").to(r);Ix(o,i,{role:\"menu\",ariaLabel:a});return o}));n.add(\"menuBar:codeBlock\",(n=>{const o=new VS(n);o.buttonView.set({label:e(\"Code block\"),icon:CC.codeBlock});o.bind(\"isEnabled\").to(r);const s=new FS(n);s.set({ariaLabel:e(\"Insert code block\")});for(const e of i){const i=new aS(n,o);const a=new qS(n);a.bind(...Object.keys(e.model)).to(e.model);a.bind(\"ariaChecked\").to(a,\"isOn\");a.delegate(\"execute\").to(o);a.on(\"execute\",(()=>{t.execute(\"codeBlock\",{language:e.model._codeBlockLanguage,forceValue:r.value==e.model._codeBlockLanguage?false:true});t.editing.view.focus()}));i.children.add(a);s.items.add(i)}o.panelView.children.add(s);return o}))}_getLanguageListItemDefinitions(t){const e=this.editor;const n=e.commands.get(\"codeBlock\");const o=new rd;for(const e of t){const t={type:\"button\",model:new RI({_codeBlockLanguage:e.language,label:e.label,role:\"menuitemradio\",withText:true})};t.model.bind(\"isOn\").to(n,\"value\",(e=>e===t.model._codeBlockLanguage));o.add(t)}return o}}class EL extends Ed{static get requires(){return[fL,xL]}static get pluginName(){return\"CodeBlock\"}}class DL extends Zm{constructor(t){super(t);this.domEventType=[\"paste\",\"copy\",\"cut\",\"drop\",\"dragover\",\"dragstart\",\"dragend\",\"dragenter\",\"dragleave\"];const e=this.document;this.listenTo(e,\"paste\",n(\"clipboardInput\"),{priority:\"low\"});this.listenTo(e,\"drop\",n(\"clipboardInput\"),{priority:\"low\"});this.listenTo(e,\"dragover\",n(\"dragging\"),{priority:\"low\"});function n(t){return(n,o)=>{o.preventDefault();const i=o.dropRange?[o.dropRange]:null;const r=new D(e,t);e.fire(r,{dataTransfer:o.dataTransfer,method:n.name,targetRanges:i,target:o.target,domEvent:o.domEvent});if(r.stop.called){o.stopPropagation()}}}}onDomEvent(t){const e=\"clipboardData\"in t?t.clipboardData:t.dataTransfer;const n=t.type==\"drop\"||t.type==\"paste\";const o={dataTransfer:new xf(e,{cacheFiles:n})};if(t.type==\"drop\"||t.type==\"dragover\"){o.dropRange=IL(this.view,t)}this.fire(t.type,t,o)}}function IL(t,e){const n=e.target.ownerDocument;const o=e.clientX;const i=e.clientY;let r;if(n.caretRangeFromPoint&&n.caretRangeFromPoint(o,i)){r=n.caretRangeFromPoint(o,i)}else if(e.rangeParent){r=n.createRange();r.setStart(e.rangeParent,e.rangeOffset);r.collapse(true)}if(r){return t.domConverter.domRangeToView(r)}return null}function TL(t){t=t.replace(/&/g,\"&\").replace(//g,\">\").replace(/\\r?\\n\\r?\\n/g,\"
\").replace(/\\r?\\n/g,\" \").replace(/\\t/g,\" \").replace(/^\\s/,\" \").replace(/\\s$/,\" \").replace(/\\s\\s/g,\" \");if(t.includes(\"
\")||t.includes(\" \")){t=`
${t}
`}return t}function SL(t){return t.replace(/(\\s+)<\\/span>/g,((t,e)=>{if(e.length==1){return\" \"}return e})).replace(//g,\"\")}const BL=[\"figcaption\",\"li\"];const ML=[\"ol\",\"ul\"];function PL(t){if(t.is(\"$text\")||t.is(\"$textProxy\")){return t.data}if(t.is(\"element\",\"img\")&&t.hasAttribute(\"alt\")){return t.getAttribute(\"alt\")}if(t.is(\"element\",\"br\")){return\"\\n\"}let e=\"\";let n=null;for(const o of t.getChildren()){e+=NL(o,n)+PL(o);n=o}return e}function NL(t,e){if(!e){return\"\"}if(t.is(\"element\",\"li\")&&!t.isEmpty&&t.getChild(0).is(\"containerElement\")){return\"\\n\\n\"}if(ML.includes(t.name)&&ML.includes(e.name)){return\"\\n\\n\"}if(!t.is(\"containerElement\")&&!e.is(\"containerElement\")){return\"\"}if(BL.includes(t.name)||BL.includes(e.name)){return\"\\n\"}return\"\\n\\n\"}function LL(t,e){return t&&hl(t,e,Gi)}const zL=LL;var OL=1,RL=2;function VL(t,e,n,o){var i=n.length,r=i,s=!o;if(t==null){return!r}t=Object(t);while(i--){var a=n[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t)){return false}}while(++it.model.getSelectedContent(t.model.document.selection))){return this.editor.model.change((o=>{const i=o.model.document.selection;o.setSelection(e);const r=this._insertFakeMarkersIntoSelection(o,o.model.document.selection,t);const s=n(o);const a=this._removeFakeMarkersInsideElement(o,s);for(const[t,e]of Object.entries(r)){a[t]||(a[t]=o.createRangeIn(s));for(const t of e){o.remove(t)}}s.markers.clear();for(const[t,e]of Object.entries(a)){s.markers.set(t,e)}o.setSelection(i);return s}))}_pasteMarkersIntoTransformedElement(t,e){const n=this._getPasteMarkersFromRangeMap(t);return this.editor.model.change((t=>{const o=this._insertFakeMarkersElements(t,n);const i=e(t);const r=this._removeFakeMarkersInsideElement(t,i);for(const e of Object.values(o).flat()){t.remove(e)}for(const[e,n]of Object.entries(r)){if(!t.model.markers.has(e)){t.addMarker(e,{usingOperation:true,affectsData:true,range:n})}}return i}))}_pasteFragmentWithMarkers(t){const e=this._getPasteMarkersFromRangeMap(t.markers);t.markers.clear();for(const n of e){t.markers.set(n.name,n.range)}return this.editor.model.insertContent(t)}_forceMarkersCopy(t,e,n={allowedActions:\"all\",copyPartiallySelected:true,duplicateOnPaste:true}){const o=this._markersToCopy.get(t);this._markersToCopy.set(t,n);e();if(o){this._markersToCopy.set(t,o)}else{this._markersToCopy.delete(t)}}_isMarkerCopyable(t,e){const n=this._getMarkerClipboardConfig(t);if(!n){return false}if(!e){return true}const{allowedActions:o}=n;return o===\"all\"||o.includes(e)}_hasMarkerConfiguration(t){return!!this._getMarkerClipboardConfig(t)}_getMarkerClipboardConfig(t){const[e]=t.split(\":\");return this._markersToCopy.get(e)||null}_insertFakeMarkersIntoSelection(t,e,n){const o=this._getCopyableMarkersFromSelection(t,e,n);return this._insertFakeMarkersElements(t,o)}_getCopyableMarkersFromSelection(t,e,n){const o=Array.from(e.getRanges());const i=new Set(o.flatMap((e=>Array.from(t.model.markers.getMarkersIntersectingRange(e)))));const r=t=>{const e=this._isMarkerCopyable(t.name,n);if(!e){return false}const{copyPartiallySelected:i}=this._getMarkerClipboardConfig(t.name);if(!i){const e=t.getRange();return o.some((t=>t.containsRange(e,true)))}return true};return Array.from(i).filter(r).map((t=>{const e=n===\"dragstart\"?this._getUniqueMarkerName(t.name):t.name;return{name:e,range:t.getRange()}}))}_getPasteMarkersFromRangeMap(t,e=null){const{model:n}=this.editor;const o=t instanceof Map?Array.from(t.entries()):Object.entries(t);return o.flatMap((([t,o])=>{if(!this._hasMarkerConfiguration(t)){return[{name:t,range:o}]}if(this._isMarkerCopyable(t,e)){const e=this._getMarkerClipboardConfig(t);const i=n.markers.has(t)&&n.markers.get(t).getRange().root.rootName===\"$graveyard\";if(e.duplicateOnPaste||i){t=this._getUniqueMarkerName(t)}return[{name:t,range:o}]}return[]}))}_insertFakeMarkersElements(t,e){const n={};const o=e.flatMap((t=>{const{start:e,end:n}=t.range;return[{position:e,marker:t,type:\"start\"},{position:n,marker:t,type:\"end\"}]})).sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:e,marker:i,type:r}of o){const o=t.createElement(\"$marker\",{\"data-name\":i.name,\"data-type\":r});if(!n[i.name]){n[i.name]=[]}n[i.name].push(o);t.insert(o,e)}return n}_removeFakeMarkersInsideElement(t,e){const n=this._getAllFakeMarkersFromElement(t,e);const o=n.reduce(((e,n)=>{const o=n.markerElement&&t.createPositionBefore(n.markerElement);let i=e[n.name];let r=false;if(i&&i.start&&i.end){const t=this._getMarkerClipboardConfig(n.name);if(t.duplicateOnPaste){e[this._getUniqueMarkerName(n.name)]=e[n.name]}else{r=true}i=null}if(!r){e[n.name]={...i,[n.type]:o}}if(n.markerElement){t.remove(n.markerElement)}return e}),{});return gz(o,(n=>new Zf(n.start||t.createPositionFromPath(e,[0]),n.end||t.createPositionAt(e,\"end\"))))}_getAllFakeMarkersFromElement(t,e){const n=Array.from(t.createRangeIn(e)).flatMap((({item:t})=>{if(!t.is(\"element\",\"$marker\")){return[]}const e=t.getAttribute(\"data-name\");const n=t.getAttribute(\"data-type\");return[{markerElement:t,name:e,type:n}]}));const o=[];const i=[];for(const t of n){if(t.type===\"end\"){const e=n.some((e=>e.name===t.name&&e.type===\"start\"));if(!e){o.push({markerElement:null,name:t.name,type:\"start\"})}}if(t.type===\"start\"){const e=n.some((e=>e.name===t.name&&e.type===\"end\"));if(!e){i.unshift({markerElement:null,name:t.name,type:\"end\"})}}}return[...o,...n,...i]}_getUniqueMarkerName(t){const e=t.split(\":\");const n=T().substring(1,6);if(e.length===3){return`${e.slice(0,2).join(\":\")}:${n}`}return`${e.join(\":\")}:${n}`}}class pz extends Ed{static get pluginName(){return\"ClipboardPipeline\"}static get requires(){return[fz]}init(){const t=this.editor;const e=t.editing.view;e.addObserver(DL);this._setupPasteDrop();this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const o=this.editor.plugins.get(\"ClipboardMarkersUtils\");this.editor.model.enqueueChange({isUndoable:n===\"cut\"},(()=>{const i=o._copySelectedFragmentWithMarkers(n,e);this.fire(\"outputTransformation\",{dataTransfer:t,content:i,method:n})}))}_setupPasteDrop(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=n.document;const i=this.editor.plugins.get(\"ClipboardMarkersUtils\");this.listenTo(o,\"clipboardInput\",((e,n)=>{if(n.method==\"paste\"&&!t.model.canEditAt(t.model.document.selection)){e.stop()}}),{priority:\"highest\"});this.listenTo(o,\"clipboardInput\",((t,e)=>{const o=e.dataTransfer;let i;if(e.content){i=e.content}else{let t=\"\";if(o.getData(\"text/html\")){t=SL(o.getData(\"text/html\"))}else if(o.getData(\"text/plain\")){t=TL(o.getData(\"text/plain\"))}i=this.editor.data.htmlProcessor.toView(t)}const r=new D(this,\"inputTransformation\");this.fire(r,{content:i,dataTransfer:o,targetRanges:e.targetRanges,method:e.method});if(r.stop.called){t.stop()}n.scrollToTheSelection()}),{priority:\"low\"});this.listenTo(this,\"inputTransformation\",((t,n)=>{if(n.content.isEmpty){return}const o=this.editor.data;const i=o.toModel(n.content,\"$clipboardHolder\");if(i.childCount==0){return}t.stop();e.change((()=>{this.fire(\"contentInsertion\",{content:i,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})}))}),{priority:\"low\"});this.listenTo(this,\"contentInsertion\",((t,e)=>{e.resultRange=i._pasteFragmentWithMarkers(e.content)}),{priority:\"low\"})}_setupCopyCut(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const o=n.document;const i=(t,n)=>{const o=n.dataTransfer;n.preventDefault();this._fireOutputTransformationEvent(o,e.selection,t.name)};this.listenTo(o,\"copy\",i,{priority:\"low\"});this.listenTo(o,\"cut\",((e,n)=>{if(!t.model.canEditAt(t.model.document.selection)){n.preventDefault()}else{i(e,n)}}),{priority:\"low\"});this.listenTo(this,\"outputTransformation\",((e,n)=>{const i=t.data.toView(n.content);o.fire(\"clipboardOutput\",{dataTransfer:n.dataTransfer,content:i,method:n.method})}),{priority:\"low\"});this.listenTo(o,\"clipboardOutput\",((n,o)=>{if(!o.content.isEmpty){o.dataTransfer.setData(\"text/html\",this.editor.data.htmlProcessor.toData(o.content));o.dataTransfer.setData(\"text/plain\",PL(o.content))}if(o.method==\"cut\"){t.model.deleteContent(e.selection)}}),{priority:\"low\"})}}class bz extends($()){constructor(){super(...arguments);this._stack=[]}add(t,e){const n=this._stack;const o=n[0];this._insertDescriptor(t);const i=n[0];if(o!==i&&!kz(o,i)){this.fire(\"change:top\",{oldDescriptor:o,newDescriptor:i,writer:e})}}remove(t,e){const n=this._stack;const o=n[0];this._removeDescriptor(t);const i=n[0];if(o!==i&&!kz(o,i)){this.fire(\"change:top\",{oldDescriptor:o,newDescriptor:i,writer:e})}}_insertDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t.id));if(kz(t,e[n])){return}if(n>-1){e.splice(n,1)}let o=0;while(e[o]&&wz(e[o],t)){o++}e.splice(o,0,t)}_removeDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t));if(n>-1){e.splice(n,1)}}}function kz(t,e){return t&&e&&t.priority==e.priority&&Az(t.classes)==Az(e.classes)}function wz(t,e){if(t.priority>e.priority){return true}else if(t.priorityAz(e.classes)}function Az(t){return Array.isArray(t)?t.sort().join(\",\"):t}const _z=' ';const Cz=\"ck-widget\";const vz=\"ck-widget_selected\";function yz(t){if(!t.is(\"element\")){return false}return!!t.getCustomProperty(\"widget\")}function xz(t,e,n={}){if(!t.is(\"containerElement\")){throw new N(\"widget-to-widget-wrong-element-type\",null,{element:t})}e.setAttribute(\"contenteditable\",\"false\",t);e.addClass(Cz,t);e.setCustomProperty(\"widget\",true,t);t.getFillerOffset=Nz;e.setCustomProperty(\"widgetLabel\",[],t);if(n.label){Tz(t,n.label)}if(n.hasSelectionHandle){Lz(t,e)}Iz(t,e);return t}function Ez(t,e,n){if(e.classes){n.addClass(sl(e.classes),t)}if(e.attributes){for(const o in e.attributes){n.setAttribute(o,e.attributes[o],t)}}}function Dz(t,e,n){if(e.classes){n.removeClass(sl(e.classes),t)}if(e.attributes){for(const o in e.attributes){n.removeAttribute(o,t)}}}function Iz(t,e,n=Ez,o=Dz){const i=new bz;i.on(\"change:top\",((e,i)=>{if(i.oldDescriptor){o(t,i.oldDescriptor,i.writer)}if(i.newDescriptor){n(t,i.newDescriptor,i.writer)}}));const r=(t,e,n)=>i.add(e,n);const s=(t,e,n)=>i.remove(e,n);e.setCustomProperty(\"addHighlight\",r,t);e.setCustomProperty(\"removeHighlight\",s,t)}function Tz(t,e){const n=t.getCustomProperty(\"widgetLabel\");n.push(e)}function Sz(t){const e=t.getCustomProperty(\"widgetLabel\");return e.reduce(((t,e)=>{if(typeof e===\"function\"){return t?t+\". \"+e():e()}else{return t?t+\". \"+e:e}}),\"\")}function Bz(t,e,n={}){e.addClass([\"ck-editor__editable\",\"ck-editor__nested-editable\"],t);e.setAttribute(\"role\",\"textbox\",t);e.setAttribute(\"tabindex\",\"-1\",t);if(n.label){e.setAttribute(\"aria-label\",n.label,t)}e.setAttribute(\"contenteditable\",t.isReadOnly?\"false\":\"true\",t);t.on(\"change:isReadOnly\",((n,o,i)=>{e.setAttribute(\"contenteditable\",i?\"false\":\"true\",t)}));t.on(\"change:isFocused\",((n,o,i)=>{if(i){e.addClass(\"ck-editor__nested-editable_focused\",t)}else{e.removeClass(\"ck-editor__nested-editable_focused\",t)}}));Iz(t,e);return t}function Mz(t,e){const n=t.getSelectedElement();if(n){const o=jz(t);if(o){return e.createRange(e.createPositionAt(n,o))}}return e.schema.findOptimalInsertionRange(t)}function Pz(t,e){return(n,o)=>{const{mapper:i,viewPosition:r}=o;const s=i.findMappedViewAncestor(r);if(!e(s)){return}const a=i.toModelElement(s);o.modelPosition=t.createPositionAt(a,r.isAtStart?\"before\":\"after\")}}function Nz(){return null}function Lz(t,e){const n=e.createUIElement(\"div\",{class:\"ck ck-widget__selection-handle\"},(function(t){const e=this.toDomElement(t);const n=new yv;n.set(\"content\",_z);n.render();e.appendChild(n.element);return e}));e.insert(e.createPositionAt(t,0),n);e.addClass([\"ck-widget_with-selection-handle\"],t)}const zz=\"widget-type-around\";function Oz(t,e,n){return!!t&&yz(t)&&!n.isInline(e)}function Rz(t){return t.closest(\".ck-widget__type-around__button\")}function Vz(t){return t.classList.contains(\"ck-widget__type-around__button_before\")?\"before\":\"after\"}function Fz(t,e){const n=t.closest(\".ck-widget\");return e.mapDomToView(n)}function jz(t){return t.getAttribute(zz)}const Hz=' ';var Uz=n(698);var Wz={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Wz.insert=\"head\";Wz.singleton=true;var qz=Ld()(Uz.A,Wz);const Gz=Uz.A.locals||{};const $z=[\"before\",\"after\"];const Kz=(new DOMParser).parseFromString(Hz,\"image/svg+xml\").firstChild;const Yz=\"ck-widget__type-around_disabled\";class Qz extends Ed{constructor(){super(...arguments);this._currentFakeCaretModelElement=null}static get pluginName(){return\"WidgetTypeAround\"}static get requires(){return[lP,RB]}init(){const t=this.editor;const e=t.editing.view;this.on(\"change:isEnabled\",((n,o,i)=>{e.change((t=>{for(const n of e.document.roots){if(i){t.removeClass(Yz,n)}else{t.addClass(Yz,n)}}}));if(!i){t.model.change((t=>{t.removeSelectionAttribute(zz)}))}}));this._enableTypeAroundUIInjection();this._enableInsertingParagraphsOnButtonClick();this._enableInsertingParagraphsOnEnterKeypress();this._enableInsertingParagraphsOnTypingKeystroke();this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows();this._enableDeleteIntegration();this._enableInsertContentIntegration();this._enableInsertObjectIntegration();this._enableDeleteContentIntegration()}destroy(){super.destroy();this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor;const o=n.editing.view;const i=n.model.schema.getAttributesWithProperty(t,\"copyOnReplace\",true);n.execute(\"insertParagraph\",{position:n.model.createPositionAt(t,e),attributes:i});o.focus();o.scrollToTheSelection()}_listenToIfEnabled(t,e,n,o){this.listenTo(t,e,((...t)=>{if(this.isEnabled){n(...t)}}),o)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=jz(n);if(!o){return false}const i=n.getSelectedElement();this._insertParagraph(i,o);return true}_enableTypeAroundUIInjection(){const t=this.editor;const e=t.model.schema;const n=t.locale.t;const o={before:n(\"Insert paragraph before block\"),after:n(\"Insert paragraph after block\")};t.editing.downcastDispatcher.on(\"insert\",((t,i,r)=>{const s=r.mapper.toViewElement(i.item);if(!s){return}if(Oz(s,i.item,e)){Zz(r.writer,o,s);const t=s.getCustomProperty(\"widgetLabel\");t.push((()=>this.isEnabled?n(\"Press Enter to type after or press Shift + Enter to type before the widget\"):\"\"))}}),{priority:\"low\"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=e.schema;const i=t.editing.view;this._listenToIfEnabled(i.document,\"arrowKey\",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[yz,\"$text\"],priority:\"high\"});this._listenToIfEnabled(n,\"change:range\",((e,n)=>{if(!n.directChange){return}t.model.change((t=>{t.removeSelectionAttribute(zz)}))}));this._listenToIfEnabled(e.document,\"change:data\",(()=>{const e=n.getSelectedElement();if(e){const n=t.editing.mapper.toViewElement(e);if(Oz(n,e,o)){return}}t.model.change((t=>{t.removeSelectionAttribute(zz)}))}));this._listenToIfEnabled(t.editing.downcastDispatcher,\"selection\",((t,e,n)=>{const i=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);if(t){i.removeClass($z.map(r),t);this._currentFakeCaretModelElement=null}}const s=e.selection.getSelectedElement();if(!s){return}const a=n.mapper.toViewElement(s);if(!Oz(a,s,o)){return}const c=jz(e.selection);if(!c){return}i.addClass(r(c),a);this._currentFakeCaretModelElement=s}));this._listenToIfEnabled(t.ui.focusTracker,\"change:isFocused\",((e,n,o)=>{if(!o){t.model.change((t=>{t.removeSelectionAttribute(zz)}))}}));function r(t){return`ck-widget_type-around_show-fake-caret_${t}`}}_handleArrowKeyPress(t,e){const n=this.editor;const o=n.model;const i=o.document.selection;const r=o.schema;const s=n.editing.view;const a=e.keyCode;const c=ol(a,n.locale.contentLanguageDirection);const l=s.document.selection.getSelectedElement();const d=n.editing.mapper.toModelElement(l);let u;if(Oz(l,d,r)){u=this._handleArrowKeyPressOnSelectedWidget(c)}else if(i.isCollapsed){u=this._handleArrowKeyPressWhenSelectionNextToAWidget(c)}else if(!e.shiftKey){u=this._handleArrowKeyPressWhenNonCollapsedSelection(c)}if(u){e.preventDefault();t.stop()}}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor;const n=e.model;const o=n.document.selection;const i=jz(o);return n.change((e=>{if(i){const n=i===(t?\"after\":\"before\");if(!n){e.removeSelectionAttribute(zz);return true}}else{e.setSelectionAttribute(zz,t?\"after\":\"before\");return true}return false}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor;const n=e.model;const o=n.schema;const i=e.plugins.get(\"Widget\");const r=i._getObjectElementNextToSelection(t);const s=e.editing.mapper.toViewElement(r);if(Oz(s,r,o)){n.change((e=>{i._setSelectionOverElement(r);e.setSelectionAttribute(zz,t?\"before\":\"after\")}));return true}return false}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor;const n=e.model;const o=n.schema;const i=e.editing.mapper;const r=n.document.selection;const s=t?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter;const a=i.toViewElement(s);if(Oz(a,s,o)){n.change((e=>{e.setSelection(s,\"on\");e.setSelectionAttribute(zz,t?\"after\":\"before\")}));return true}return false}_enableInsertingParagraphsOnButtonClick(){const t=this.editor;const e=t.editing.view;this._listenToIfEnabled(e.document,\"mousedown\",((n,o)=>{const i=Rz(o.domTarget);if(!i){return}const r=Vz(i);const s=Fz(i,e.domConverter);const a=t.editing.mapper.toModelElement(s);this._insertParagraph(a,r);o.preventDefault();n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor;const e=t.model.document.selection;const n=t.editing.view;this._listenToIfEnabled(n.document,\"enter\",((n,o)=>{if(n.eventPhase!=\"atTarget\"){return}const i=e.getSelectedElement();const r=t.editing.mapper.toViewElement(i);const s=t.model.schema;let a;if(this._insertParagraphAccordingToFakeCaretPosition()){a=true}else if(Oz(r,i,s)){this._insertParagraph(i,o.isSoft?\"before\":\"after\");a=true}if(a){o.preventDefault();n.stop()}}),{context:yz})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor;const e=t.editing.view.document;this._listenToIfEnabled(e,\"insertText\",((t,n)=>{if(this._insertParagraphAccordingToFakeCaretPosition()){n.selection=e.selection}}),{priority:\"high\"});if(l.isAndroid){this._listenToIfEnabled(e,\"keydown\",((t,e)=>{if(e.keyCode==229){this._insertParagraphAccordingToFakeCaretPosition()}}))}else{this._listenToIfEnabled(e,\"compositionstart\",(()=>{this._insertParagraphAccordingToFakeCaretPosition()}),{priority:\"high\"})}}_enableDeleteIntegration(){const t=this.editor;const e=t.editing.view;const n=t.model;const o=n.schema;this._listenToIfEnabled(e.document,\"delete\",((e,i)=>{if(e.eventPhase!=\"atTarget\"){return}const r=jz(n.document.selection);if(!r){return}const s=i.direction;const a=n.document.selection.getSelectedElement();const c=r===\"before\";const l=s==\"forward\";const d=c===l;if(d){t.execute(\"delete\",{selection:n.createSelection(a,\"on\")})}else{const e=o.getNearestSelectionRange(n.createPositionAt(a,r),s);if(e){if(!e.isCollapsed){n.change((n=>{n.setSelection(e);t.execute(l?\"deleteForward\":\"delete\")}))}else{const i=n.createSelection(e.start);n.modifySelection(i,{direction:s});if(!i.focus.isEqual(e.start)){n.change((n=>{n.setSelection(e);t.execute(l?\"deleteForward\":\"delete\")}))}else{const t=tO(o,e.start.parent);n.deleteContent(n.createSelection(t,\"on\"),{doNotAutoparagraph:true})}}}}i.preventDefault();e.stop()}),{context:yz})}_enableInsertContentIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,\"insertContent\",((t,[o,i])=>{if(i&&!i.is(\"documentSelection\")){return}const r=jz(n);if(!r){return}t.stop();return e.change((t=>{const i=n.getSelectedElement();const s=e.createPositionAt(i,r);const a=t.createSelection(s);const c=e.insertContent(o,a);t.setSelection(a);return c}))}),{priority:\"high\"})}_enableInsertObjectIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,\"insertObject\",((t,e)=>{const[,o,i={}]=e;if(o&&!o.is(\"documentSelection\")){return}const r=jz(n);if(!r){return}i.findOptimalPosition=r;e[3]=i}),{priority:\"high\"})}_enableDeleteContentIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,\"deleteContent\",((t,[e])=>{if(e&&!e.is(\"documentSelection\")){return}const o=jz(n);if(o){t.stop()}}),{priority:\"high\"})}}function Zz(t,e,n){const o=t.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__type-around\"},(function(t){const n=this.toDomElement(t);Jz(n,e);Xz(n);return n}));t.insert(t.createPositionAt(n,\"end\"),o)}function Jz(t,e){for(const n of $z){const o=new EC({tag:\"div\",attributes:{class:[\"ck\",\"ck-widget__type-around__button\",`ck-widget__type-around__button_${n}`],title:e[n],\"aria-hidden\":\"true\"},children:[t.ownerDocument.importNode(Kz,true)]});t.appendChild(o.render())}}function Xz(t){const e=new EC({tag:\"div\",attributes:{class:[\"ck\",\"ck-widget__type-around__fake-caret\"]}});t.appendChild(e.render())}function tO(t,e){let n=e;for(const o of e.getAncestors({parentFirst:true})){if(o.childCount>1||t.isLimit(o)){break}n=o}return n}function eO(t){const e=t.model;return(n,o)=>{const i=o.keyCode==Yc.arrowup;const r=o.keyCode==Yc.arrowdown;const s=o.shiftKey;const a=e.document.selection;if(!i&&!r){return}const c=r;if(s&&sO(a,c)){return}const l=nO(t,a,c);if(!l){return}if(l.isCollapsed){if(a.isCollapsed){return}else if(s){return}}if(l.isCollapsed||rO(t,l,c)){e.change((t=>{const n=c?l.end:l.start;if(s){const o=e.createSelection(a.anchor);o.setFocus(n);t.setSelection(o)}else{t.setSelection(n)}}));n.stop();o.preventDefault();o.stopPropagation()}}}function nO(t,e,n){const o=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition();const n=oO(o,t,\"forward\");if(!n){return null}const i=o.createRange(t,n);const r=iO(o.schema,i,\"backward\");if(r){return o.createRange(t,r)}return null}else{const t=e.isCollapsed?e.focus:e.getFirstPosition();const n=oO(o,t,\"backward\");if(!n){return null}const i=o.createRange(n,t);const r=iO(o.schema,i,\"forward\");if(r){return o.createRange(r,t)}return null}}function oO(t,e,n){const o=t.schema;const i=t.createRangeIn(e.root);const r=n==\"forward\"?\"elementStart\":\"elementEnd\";for(const{previousPosition:t,item:s,type:a}of i.getWalker({startPosition:e,direction:n})){if(o.isLimit(s)&&!o.isInline(s)){return t}if(a==r&&o.isBlock(s)){return null}}return null}function iO(t,e,n){const o=n==\"backward\"?e.end:e.start;if(t.checkChild(o,\"$text\")){return o}for(const{nextPosition:o}of e.getWalker({direction:n})){if(t.checkChild(o,\"$text\")){return o}}return null}function rO(t,e,n){const o=t.model;const i=t.view.domConverter;if(n){const t=o.createSelection(e.start);o.modifySelection(t);if(!t.focus.isAtEnd&&!e.start.isEqual(t.focus)){e=o.createRange(t.focus,e.end)}}const r=t.mapper.toViewRange(e);const s=i.viewRangeToDom(r);const a=hc.getDomRangeRects(s);let c;for(const t of a){if(c===undefined){c=Math.round(t.bottom);continue}if(Math.round(t.top)>=c){return false}c=Math.max(c,Math.round(t.bottom))}return true}function sO(t,e){return!t.isCollapsed&&t.isBackward==e}var aO=n(1089);var cO={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};cO.insert=\"head\";cO.singleton=true;var lO=Ld()(aO.A,cO);const dO=aO.A.locals||{};class uO extends Ed{constructor(){super(...arguments);this._previouslySelected=new Set}static get pluginName(){return\"Widget\"}static get requires(){return[Qz,RB]}init(){const t=this.editor;const e=t.editing.view;const n=e.document;const o=t.t;this.editor.editing.downcastDispatcher.on(\"selection\",((e,n,o)=>{const i=o.writer;const r=n.selection;if(r.isCollapsed){return}const s=r.getSelectedElement();if(!s){return}const a=t.editing.mapper.toViewElement(s);if(!yz(a)){return}if(!o.consumable.consume(r,\"selection\")){return}i.setSelection(i.createRangeOn(a),{fake:true,label:Sz(a)})}));this.editor.editing.downcastDispatcher.on(\"selection\",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const o=n.writer;const i=o.document.selection;let r=null;for(const t of i.getRanges()){for(const e of t){const t=e.item;if(yz(t)&&!mO(t,r)){o.addClass(vz,t);this._previouslySelected.add(t);r=t}}}}),{priority:\"low\"});e.addObserver(dA);this.listenTo(n,\"mousedown\",((...t)=>this._onMousedown(...t)));this.listenTo(n,\"arrowKey\",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[yz,\"$text\"]});this.listenTo(n,\"arrowKey\",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:\"$root\"});this.listenTo(n,\"arrowKey\",eO(this.editor.editing),{context:\"$text\"});this.listenTo(n,\"delete\",((t,e)=>{if(this._handleDelete(e.direction==\"forward\")){e.preventDefault();t.stop()}}),{context:\"$root\"});this.listenTo(n,\"tab\",((t,e)=>{if(t.eventPhase!=\"atTarget\"){return}if(e.shiftKey){return}if(this._selectFirstNestedEditable()){e.preventDefault();t.stop()}}),{context:yz,priority:\"low\"});this.listenTo(n,\"tab\",((t,e)=>{if(!e.shiftKey){return}if(this._selectAncestorWidget()){e.preventDefault();t.stop()}}),{priority:\"low\"});this.listenTo(n,\"keydown\",((t,e)=>{if(e.keystroke!=Yc.esc){return}if(this._selectAncestorWidget()){e.preventDefault();t.stop()}}),{priority:\"low\"});t.accessibility.addKeystrokeInfoGroup({id:\"widget\",label:o(\"Keystrokes that can be used when a widget is selected (for example: image, table, etc.)\"),keystrokes:[{label:o(\"Insert a new paragraph directly after a widget\"),keystroke:\"Enter\"},{label:o(\"Insert a new paragraph directly before a widget\"),keystroke:\"Shift+Enter\"},{label:o(\"Move the caret to allow typing directly before a widget\"),keystroke:[[\"arrowup\"],[\"arrowleft\"]]},{label:o(\"Move the caret to allow typing directly after a widget\"),keystroke:[[\"arrowdown\"],[\"arrowright\"]]}]})}_onMousedown(t,e){const n=this.editor;const o=n.editing.view;const i=o.document;let r=e.target;if(e.domEvent.detail>=3){if(this._selectBlockContent(r)){e.preventDefault()}return}if(hO(r)){return}if(!yz(r)){r=r.findAncestor(yz);if(!r){return}}if(l.isAndroid){e.preventDefault()}if(!i.isFocused){o.focus()}const s=n.editing.mapper.toModelElement(r);this._setSelectionOverElement(s)}_selectBlockContent(t){const e=this.editor;const n=e.model;const o=e.editing.mapper;const i=n.schema;const r=o.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0));const s=gO(o.toModelElement(r),n.schema);if(!s){return false}n.change((t=>{const e=!i.isLimit(s)?fO(t.createPositionAfter(s),i):null;const n=t.createPositionAt(s,0);const o=e?t.createPositionAt(e,0):t.createPositionAt(s,\"end\");t.setSelection(t.createRange(n,o))}));return true}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode;const o=this.editor.model;const i=o.schema;const r=o.document.selection;const s=r.getSelectedElement();const a=el(n,this.editor.locale.contentLanguageDirection);const c=a==\"down\"||a==\"right\";const l=a==\"up\"||a==\"down\";if(s&&i.isObject(s)){const n=c?r.getLastPosition():r.getFirstPosition();const s=i.getNearestSelectionRange(n,c?\"forward\":\"backward\");if(s){o.change((t=>{t.setSelection(s)}));e.preventDefault();t.stop()}return}if(!r.isCollapsed&&!e.shiftKey){const n=r.getFirstPosition();const s=r.getLastPosition();const a=n.nodeAfter;const l=s.nodeBefore;if(a&&i.isObject(a)||l&&i.isObject(l)){o.change((t=>{t.setSelection(c?s:n)}));e.preventDefault();t.stop()}return}if(!r.isCollapsed){return}const d=this._getObjectElementNextToSelection(c);if(d&&i.isObject(d)){if(i.isInline(d)&&l){return}this._setSelectionOverElement(d);e.preventDefault();t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model;const o=n.schema;const i=n.document.selection.getSelectedElement();if(i&&o.isObject(i)){e.preventDefault();t.stop()}}_handleDelete(t){const e=this.editor.model.document;const n=e.selection;if(!this.editor.model.canEditAt(n)){return}if(!n.isCollapsed){return}const o=this._getObjectElementNextToSelection(t);if(o){this.editor.model.change((t=>{let e=n.anchor.parent;while(e.isEmpty){const n=e;e=n.parent;t.remove(n)}this._setSelectionOverElement(o)}));return true}}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model;const n=e.schema;const o=e.document.selection;const i=e.createSelection(o);e.modifySelection(i,{direction:t?\"forward\":\"backward\"});if(i.isEqual(o)){return null}const r=t?i.focus.nodeBefore:i.focus.nodeAfter;if(!!r&&n.isObject(r)){return r}return null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected){t.removeClass(vz,e)}this._previouslySelected.clear()}_selectFirstNestedEditable(){const t=this.editor;const e=this.editor.editing.view;const n=e.document;for(const e of n.selection.getFirstRange().getItems()){if(e.is(\"editableElement\")){const n=t.editing.mapper.toModelElement(e);if(!n){continue}const o=t.model.createPositionAt(n,0);const i=t.model.schema.getNearestSelectionRange(o,\"forward\");t.model.change((t=>{t.setSelection(i)}));return true}}return false}_selectAncestorWidget(){const t=this.editor;const e=t.editing.mapper;const n=t.editing.view.document.selection;const o=n.getFirstPosition().parent;const i=o.is(\"$text\")?o.parent:o;const r=i.findAncestor(yz);if(!r){return false}const s=e.toModelElement(r);if(!s){return false}t.model.change((t=>{t.setSelection(s,\"on\")}));return true}}function hO(t){let e=t;while(e){if(e.is(\"editableElement\")&&!e.is(\"rootElement\")){return true}if(yz(e)){return false}e=e.parent}return false}function mO(t,e){if(!e){return false}return Array.from(t.getAncestors()).includes(e)}function gO(t,e){for(const n of t.getAncestors({includeSelf:true,parentFirst:true})){if(e.checkChild(n,\"$text\")){return n}if(e.isLimit(n)&&!e.isObject(n)){break}}return null}function fO(t,e){const n=new Hf({startPosition:t});for(const{item:t}of n){if(e.isLimit(t)||!t.is(\"element\")){return null}if(e.checkChild(t,\"$text\")){return t}}return null}class pO extends Ed{constructor(){super(...arguments);this._toolbarDefinitions=new Map}static get requires(){return[KI]}static get pluginName(){return\"WidgetToolbarRepository\"}init(){const t=this.editor;if(t.plugins.has(\"BalloonToolbar\")){const e=t.plugins.get(\"BalloonToolbar\");this.listenTo(e,\"show\",(e=>{if(wO(t.editing.view.document.selection)){e.stop()}}),{priority:\"high\"})}this._balloon=this.editor.plugins.get(\"ContextualBalloon\");this.on(\"change:isEnabled\",(()=>{this._updateToolbarsVisibility()}));this.listenTo(t.ui,\"update\",(()=>{this._updateToolbarsVisibility()}));this.listenTo(t.ui.focusTracker,\"change:isFocused\",(()=>{this._updateToolbarsVisibility()}),{priority:\"low\"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values()){t.view.destroy()}}register(t,{ariaLabel:e,items:n,getRelatedElement:o,balloonClassName:i=\"ck-toolbar-container\"}){if(!n.length){L(\"widget-toolbar-no-items\",{toolbarId:t});return}const r=this.editor;const s=r.t;const a=new tx(r.locale);a.ariaLabel=e||s(\"Widget toolbar\");if(this._toolbarDefinitions.has(t)){throw new N(\"widget-toolbar-duplicated\",this,{toolbarId:t})}const c={view:a,getRelatedElement:o,balloonClassName:i,itemsConfig:n,initialized:false};r.ui.addToolbar(a,{isContextual:true,beforeFocus:()=>{const t=o(r.editing.view.document.selection);if(t){this._showToolbar(c,t)}},afterBlur:()=>{this._hideToolbar(c)}});this._toolbarDefinitions.set(t,c)}_updateToolbarsVisibility(){let t=0;let e=null;let n=null;for(const o of this._toolbarDefinitions.values()){const i=o.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!i){if(this._isToolbarInBalloon(o)){this._hideToolbar(o)}}else if(!this.editor.ui.focusTracker.isFocused){if(this._isToolbarVisible(o)){this._hideToolbar(o)}}else{const r=i.getAncestors().length;if(r>t){t=r;e=i;n=o}}}if(n){this._showToolbar(n,e)}}_hideToolbar(t){this._balloon.remove(t.view);this.stopListening(this._balloon,\"change:visibleView\")}_showToolbar(t,e){if(this._isToolbarVisible(t)){bO(this.editor,e)}else if(!this._isToolbarInBalloon(t)){if(!t.initialized){t.initialized=true;t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)}this._balloon.add({view:t.view,position:kO(this.editor,e),balloonClassName:t.balloonClassName});this.listenTo(this._balloon,\"change:visibleView\",(()=>{for(const t of this._toolbarDefinitions.values()){if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);bO(this.editor,e)}}}))}}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function bO(t,e){const n=t.plugins.get(\"ContextualBalloon\");const o=kO(t,e);n.updatePosition(o)}function kO(t,e){const n=t.editing.view;const o=UD.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,o.viewportStickyNorth]}}function wO(t){const e=t.getSelectedElement();return!!(e&&yz(e))}class AO extends(mt()){constructor(t){super();this.set(\"activeHandlePosition\",null);this.set(\"proposedWidthPercents\",null);this.set(\"proposedWidth\",null);this.set(\"proposedHeight\",null);this.set(\"proposedHandleHostWidth\",null);this.set(\"proposedHandleHostHeight\",null);this._options=t;this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const o=new hc(e);this.activeHandlePosition=yO(t);this._referenceCoordinates=CO(e,xO(this.activeHandlePosition));this._originalWidth=o.width;this._originalHeight=o.height;this._aspectRatio=o.width/o.height;const i=n.style.width;if(i&&i.match(/^\\d+(\\.\\d*)?%$/)){this._originalWidthPercents=parseFloat(i)}else{this._originalWidthPercents=_O(n,o)}}update(t){this.proposedWidth=t.width;this.proposedHeight=t.height;this.proposedWidthPercents=t.widthPercents;this.proposedHandleHostWidth=t.handleHostWidth;this.proposedHandleHostHeight=t.handleHostHeight}}function _O(t,e){const n=t.parentElement;let o=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);const i=5;let r=0;let s=n;while(isNaN(o)){s=s.parentElement;if(++r>i){return 0}o=parseFloat(n.ownerDocument.defaultView.getComputedStyle(s).width)}return e.width/o*100}function CO(t,e){const n=new hc(t);const o=e.split(\"-\");const i={x:o[1]==\"right\"?n.right:n.left,y:o[0]==\"bottom\"?n.bottom:n.top};i.x+=t.ownerDocument.defaultView.scrollX;i.y+=t.ownerDocument.defaultView.scrollY;return i}function vO(t){return`ck-widget__resizer__handle-${t}`}function yO(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const n of e){if(t.classList.contains(vO(n))){return n}}}function xO(t){const e=t.split(\"-\");const n={top:\"bottom\",bottom:\"top\",left:\"right\",right:\"left\"};return`${n[e[0]]}-${n[e[1]]}`}class EO extends ov{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-size-view\",t.to(\"_viewPosition\",(t=>t?`ck-orientation-${t}`:\"\"))],style:{display:t.if(\"_isVisible\",\"none\",(t=>!t))}},children:[{text:t.to(\"_label\")}]})}_bindToState(t,e){this.bind(\"_isVisible\").to(e,\"proposedWidth\",e,\"proposedHeight\",((t,e)=>t!==null&&e!==null));this.bind(\"_label\").to(e,\"proposedHandleHostWidth\",e,\"proposedHandleHostHeight\",e,\"proposedWidthPercents\",((e,n,o)=>{if(t.unit===\"px\"){return`${e}\u00D7${n}`}else{return`${o}%`}}));this.bind(\"_viewPosition\").to(e,\"activeHandlePosition\",e,\"proposedHandleHostWidth\",e,\"proposedHandleHostHeight\",((t,e,n)=>e<50||n<50?\"above-center\":t))}_dismiss(){this.unbind();this._isVisible=false}}class DO extends(mt()){constructor(t){super();this._viewResizerWrapper=null;this._options=t;this.set(\"isEnabled\",true);this.set(\"isSelected\",false);this.bind(\"isVisible\").to(this,\"isEnabled\",this,\"isSelected\",((t,e)=>t&&e));this.decorate(\"begin\");this.decorate(\"cancel\");this.decorate(\"commit\");this.decorate(\"updateSize\");this.on(\"commit\",(t=>{if(!this.state.proposedWidth&&!this.state.proposedWidthPercents){this._cleanup();t.stop()}}),{priority:\"high\"})}get state(){return this._state}show(){const t=this._options.editor.editing.view;t.change((t=>{t.removeClass(\"ck-hidden\",this._viewResizerWrapper)}))}hide(){const t=this._options.editor.editing.view;t.change((t=>{t.addClass(\"ck-hidden\",this._viewResizerWrapper)}))}attach(){const t=this;const e=this._options.viewElement;const n=this._options.editor.editing.view;n.change((n=>{const o=n.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__resizer\"},(function(e){const n=this.toDomElement(e);t._appendHandles(n);t._appendSizeUI(n);return n}));n.insert(n.createPositionAt(e,\"end\"),o);n.addClass(\"ck-widget_with-resizer\",e);this._viewResizerWrapper=o;if(!this.isVisible){this.hide()}}));this.on(\"change:isVisible\",(()=>{if(this.isVisible){this.show();this.redraw()}else{this.hide()}}))}begin(t){this._state=new AO(this._options);this._sizeView._bindToState(this._options,this.state);this._initialViewWidth=this._options.viewElement.getStyle(\"width\");this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);const n=this._options.editor.editing.view;n.change((t=>{const n=this._options.unit||\"%\";const o=(n===\"%\"?e.widthPercents:e.width)+n;t.setStyle(\"width\",o,this._options.viewElement)}));const o=this._getHandleHost();const i=new hc(o);const r=Math.round(i.width);const s=Math.round(i.height);const a=new hc(o);e.width=Math.round(a.width);e.height=Math.round(a.height);this.redraw(i);this.state.update({...e,handleHostWidth:r,handleHostHeight:s})}commit(){const t=this._options.unit||\"%\";const e=(t===\"%\"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change((()=>{this._cleanup();this._options.onCommit(e)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!SO(e)){return}const n=e.parentElement;const o=this._getHandleHost();const i=this._viewResizerWrapper;const r=[i.getStyle(\"width\"),i.getStyle(\"height\"),i.getStyle(\"left\"),i.getStyle(\"top\")];let s;if(n.isSameNode(o)){const e=t||new hc(o);s=[e.width+\"px\",e.height+\"px\",undefined,undefined]}else{s=[o.offsetWidth+\"px\",o.offsetHeight+\"px\",o.offsetLeft+\"px\",o.offsetTop+\"px\"]}if(Dt(r,s)!==\"same\"){this._options.editor.editing.view.change((t=>{t.setStyle({width:s[0],height:s[1],left:s[2],top:s[3]},i)}))}}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains(\"ck-widget__resizer__handle\")}_cleanup(){this._sizeView._dismiss();const t=this._options.editor.editing.view;t.change((t=>{t.setStyle(\"width\",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(t){const e=this.state;const n=TO(t);const o=this._options.isCentered?this._options.isCentered(this):true;const i={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};if(o&&e.activeHandlePosition.endsWith(\"-right\")){i.x=n.x-(e._referenceCoordinates.x+e.originalWidth)}if(o){i.x*=2}let r=Math.abs(e.originalWidth+i.x);let s=Math.abs(e.originalHeight+i.y);const a=r/e.aspectRatio>s?\"width\":\"height\";if(a==\"width\"){s=r/e.aspectRatio}else{r=s*e.aspectRatio}return{width:Math.round(r),height:Math.round(s),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*r*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const n of e){t.appendChild(new EC({tag:\"div\",attributes:{class:`ck-widget__resizer__handle ${IO(n)}`}}).render())}}_appendSizeUI(t){this._sizeView=new EO;this._sizeView.render();t.appendChild(this._sizeView.element)}}function IO(t){return`ck-widget__resizer__handle-${t}`}function TO(t){return{x:t.pageX,y:t.pageY}}function SO(t){return t&&t.ownerDocument&&t.ownerDocument.contains(t)}var BO=n(6645);var MO={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};MO.insert=\"head\";MO.singleton=true;var PO=Ld()(BO.A,MO);const NO=BO.A.locals||{};class LO extends Ed{constructor(){super(...arguments);this._resizers=new Map}static get pluginName(){return\"WidgetResize\"}init(){const t=this.editor.editing;const e=oc.window.document;this.set(\"selectedResizer\",null);this.set(\"_activeResizer\",null);t.view.addObserver(dA);this._observer=new(Ja());this.listenTo(t.view.document,\"mousedown\",this._mouseDownListener.bind(this),{priority:\"high\"});this._observer.listenTo(e,\"mousemove\",this._mouseMoveListener.bind(this));this._observer.listenTo(e,\"mouseup\",this._mouseUpListener.bind(this));this._redrawSelectedResizerThrottled=iI((()=>this.redrawSelectedResizer()),200);this.editor.ui.on(\"update\",this._redrawSelectedResizerThrottled);this.editor.model.document.on(\"change\",(()=>{for(const[t,e]of this._resizers){if(!t.isAttached()){this._resizers.delete(t);e.destroy()}}}),{priority:\"lowest\"});this._observer.listenTo(oc.window,\"resize\",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on(\"change\",(()=>{const t=n.getSelectedElement();const e=this.getResizerByViewElement(t)||null;if(e){this.select(e)}else{this.deselect()}}))}redrawSelectedResizer(){if(this.selectedResizer&&this.selectedResizer.isVisible){this.selectedResizer.redraw()}}destroy(){super.destroy();this._observer.stopListening();for(const t of this._resizers.values()){t.destroy()}this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect();this.selectedResizer=t;this.selectedResizer.isSelected=true}deselect(){if(this.selectedResizer){this.selectedResizer.isSelected=false}this.selectedResizer=null}attachTo(t){const e=new DO(t);const n=this.editor.plugins;e.attach();if(n.has(\"WidgetToolbarRepository\")){const t=n.get(\"WidgetToolbarRepository\");e.on(\"begin\",(()=>{t.forceDisabled(\"resize\")}),{priority:\"lowest\"});e.on(\"cancel\",(()=>{t.clearForceDisabled(\"resize\")}),{priority:\"highest\"});e.on(\"commit\",(()=>{t.clearForceDisabled(\"resize\")}),{priority:\"highest\"})}this._resizers.set(t.viewElement,e);const o=this.editor.editing.view.document.selection;const i=o.getSelectedElement();if(this.getResizerByViewElement(i)==e){this.select(e)}return e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values()){if(e.containsHandle(t)){return e}}}_mouseDownListener(t,e){const n=e.domTarget;if(!DO.isResizeHandle(n)){return}this._activeResizer=this._getResizerByHandle(n)||null;if(this._activeResizer){this._activeResizer.begin(n);t.stop();e.preventDefault()}}_mouseMoveListener(t,e){if(this._activeResizer){this._activeResizer.updateSize(e)}}_mouseUpListener(){if(this._activeResizer){this._activeResizer.commit();this._activeResizer=null}}}const zO=Cc(\"px\");class OO extends ov{constructor(){super();const t=this.bindTemplate;this.set({isVisible:false,left:null,top:null,width:null});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-clipboard-drop-target-line\",t.if(\"isVisible\",\"ck-hidden\",(t=>!t))],style:{left:t.to(\"left\",(t=>zO(t))),top:t.to(\"top\",(t=>zO(t))),width:t.to(\"width\",(t=>zO(t)))}}})}}class RO extends Ed{constructor(){super(...arguments);this.removeDropMarkerDelayed=pd((()=>this.removeDropMarker()),40);this._updateDropMarkerThrottled=iI((t=>this._updateDropMarker(t)),40);this._reconvertMarkerThrottled=iI((()=>{if(this.editor.model.markers.has(\"drop-target\")){this.editor.editing.reconvertMarker(\"drop-target\")}}),0);this._dropTargetLineView=new OO;this._domEmitter=new(Ja());this._scrollables=new Map}static get pluginName(){return\"DragDropTarget\"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values()){t.destroy()}this._updateDropMarkerThrottled.cancel();this.removeDropMarkerDelayed.cancel();this._reconvertMarkerThrottled.cancel();return super.destroy()}updateDropMarker(t,e,n,o,i,r){this.removeDropMarkerDelayed.cancel();const s=VO(this.editor,t,e,n,o,i,r);if(!s){return}if(r&&r.containsRange(s)){return this.removeDropMarker()}this._updateDropMarkerThrottled(s)}getFinalDropRange(t,e,n,o,i,r){const s=VO(this.editor,t,e,n,o,i,r);this.removeDropMarker();return s}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel();this._updateDropMarkerThrottled.cancel();this._dropTargetLineView.isVisible=false;if(t.markers.has(\"drop-target\")){t.change((t=>{t.removeMarker(\"drop-target\")}))}}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView);t.conversion.for(\"editingDowncast\").markerToHighlight({model:\"drop-target\",view:{classes:[\"ck-clipboard-drop-target-range\"]}});t.conversion.for(\"editingDowncast\").markerToElement({model:\"drop-target\",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,\"$text\")){this._dropTargetLineView.isVisible=false;return this._createDropTargetPosition(n)}else{if(e.markerRange.isCollapsed){this._updateDropTargetLine(e.markerRange)}else{this._dropTargetLineView.isVisible=false}}}})}_updateDropMarker(t){const e=this.editor;const n=e.model.markers;e.model.change((e=>{if(n.has(\"drop-target\")){if(!n.get(\"drop-target\").getRange().isEqual(t)){e.updateMarker(\"drop-target\",{range:t})}}else{e.addMarker(\"drop-target\",{range:t,usingOperation:false,affectsData:false})}}))}_createDropTargetPosition(t){return t.createUIElement(\"span\",{class:\"ck ck-clipboard-drop-target-position\"},(function(t){const e=this.toDomElement(t);e.append(\"\u2060\",t.createElement(\"span\"),\"\u2060\");return e}))}_updateDropTargetLine(t){const e=this.editor.editing;const n=t.start.nodeBefore;const o=t.start.nodeAfter;const i=t.start.parent;const r=n?e.mapper.toViewElement(n):null;const s=r?e.view.domConverter.mapViewToDom(r):null;const a=o?e.mapper.toViewElement(o):null;const c=a?e.view.domConverter.mapViewToDom(a):null;const l=e.mapper.toViewElement(i);if(!l){return}const d=e.view.domConverter.mapViewToDom(l);const u=this._getScrollableRect(l);const{scrollX:h,scrollY:m}=oc.window;const g=s?new hc(s):null;const f=c?new hc(c):null;const p=new hc(d).excludeScrollbarsAndBorders();const b=g?g.bottom:p.top;const k=f?f.top:p.bottom;const w=oc.window.getComputedStyle(d);const A=b<=k?(b+k)/2:k;if(u.topa.schema.checkChild(r,t)));if(l){if(a.schema.checkChild(r,\"$text\")){return a.createRange(r)}else if(e){return jO(t,UO(t,e.parent),o,i)}}}}else if(a.schema.isInline(d)){return jO(t,d,o,i)}}if(a.schema.isBlock(d)){return jO(t,d,o,i)}else if(a.schema.checkChild(d,\"$block\")){const e=Array.from(d.getChildren()).filter((e=>e.is(\"element\")&&!FO(t,e)));let n=0;let r=e.length;if(r==0){return a.createRange(a.createPositionAt(d,\"end\"))}while(n{if(n){this.forceDisabled(\"readOnlyMode\");this._isBlockDragging=false}else{this.clearForceDisabled(\"readOnlyMode\")}}));if(l.isAndroid){this.forceDisabled(\"noAndroidSupport\")}if(t.plugins.has(\"BlockToolbar\")){const e=t.plugins.get(\"BlockToolbar\");const n=e.buttonView.element;this._domEmitter.listenTo(n,\"dragstart\",((t,e)=>this._handleBlockDragStart(e)));this._domEmitter.listenTo(oc.document,\"dragover\",((t,e)=>this._handleBlockDragging(e)));this._domEmitter.listenTo(oc.document,\"drop\",((t,e)=>this._handleBlockDragging(e)));this._domEmitter.listenTo(oc.document,\"dragend\",(()=>this._handleBlockDragEnd()),{useCapture:true});if(this.isEnabled){n.setAttribute(\"draggable\",\"true\")}this.on(\"change:isEnabled\",((t,e,o)=>{n.setAttribute(\"draggable\",o?\"true\":\"false\")}))}}destroy(){this._domEmitter.stopListening();return super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled){return}const e=this.editor.model;const n=e.document.selection;const o=this.editor.editing.view;const i=Array.from(n.getSelectedBlocks());const r=e.createRange(e.createPositionBefore(i[0]),e.createPositionAfter(i[i.length-1]));e.change((t=>t.setSelection(r)));this._isBlockDragging=true;o.focus();o.getObserver(DL).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging){return}const e=t.clientX+(this.editor.locale.contentLanguageDirection==\"ltr\"?100:-100);const n=t.clientY;const o=document.elementFromPoint(e,n);const i=this.editor.editing.view;if(!o||!o.closest(\".ck-editor__editable\")){return}i.getObserver(DL).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:o,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=false}}var GO=n(8643);var $O={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};$O.insert=\"head\";$O.singleton=true;var KO=Ld()(GO.A,$O);const YO=GO.A.locals||{};class QO extends Ed{constructor(){super(...arguments);this._clearDraggableAttributesDelayed=pd((()=>this._clearDraggableAttributes()),40);this._blockMode=false;this._domEmitter=new(Ja())}static get pluginName(){return\"DragDrop\"}static get requires(){return[pz,uO,RO,qO]}init(){const t=this.editor;const e=t.editing.view;this._draggedRange=null;this._draggingUid=\"\";this._draggableElement=null;e.addObserver(DL);e.addObserver(dA);this._setupDragging();this._setupContentInsertionIntegration();this._setupClipboardInputIntegration();this._setupDraggableAttributeHandling();this.listenTo(t,\"change:isReadOnly\",((t,e,n)=>{if(n){this.forceDisabled(\"readOnlyMode\")}else{this.clearForceDisabled(\"readOnlyMode\")}}));this.on(\"change:isEnabled\",((t,e,n)=>{if(!n){this._finalizeDragging(false)}}));if(l.isAndroid){this.forceDisabled(\"noAndroidSupport\")}}destroy(){if(this._draggedRange){this._draggedRange.detach();this._draggedRange=null}if(this._previewContainer){this._previewContainer.remove()}this._domEmitter.stopListening();this._clearDraggableAttributesDelayed.cancel();return super.destroy()}_setupDragging(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=n.document;const i=t.plugins.get(RO);this.listenTo(o,\"dragstart\",((t,n)=>{if(n.target&&n.target.is(\"editableElement\")){n.preventDefault();return}this._prepareDraggedRange(n.target);if(!this._draggedRange){n.preventDefault();return}this._draggingUid=T();n.dataTransfer.effectAllowed=this.isEnabled?\"copyMove\":\"copy\";n.dataTransfer.setData(\"application/ckeditor5-dragging-uid\",this._draggingUid);const o=e.createSelection(this._draggedRange.toRange());const i=this.editor.plugins.get(\"ClipboardPipeline\");i._fireOutputTransformationEvent(n.dataTransfer,o,\"dragstart\");const{dataTransfer:r,domTarget:s,domEvent:a}=n;const{clientX:c}=a;this._updatePreview({dataTransfer:r,domTarget:s,clientX:c});n.stopPropagation();if(!this.isEnabled){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=\"\"}}),{priority:\"low\"});this.listenTo(o,\"dragend\",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&e.dataTransfer.dropEffect==\"move\")}),{priority:\"low\"});this._domEmitter.listenTo(oc.document,\"dragend\",(()=>{this._blockMode=false}),{useCapture:true});this.listenTo(o,\"dragenter\",(()=>{if(!this.isEnabled){return}n.focus()}));this.listenTo(o,\"dragleave\",(()=>{i.removeDropMarkerDelayed()}));this.listenTo(o,\"dragging\",((t,e)=>{if(!this.isEnabled){e.dataTransfer.dropEffect=\"none\";return}const{clientX:n,clientY:o}=e.domEvent;i.updateDropMarker(e.target,e.targetRanges,n,o,this._blockMode,this._draggedRange);if(!this._draggedRange){e.dataTransfer.dropEffect=\"copy\"}if(!l.isGecko){if(e.dataTransfer.effectAllowed==\"copy\"){e.dataTransfer.dropEffect=\"copy\"}else if([\"all\",\"copyMove\"].includes(e.dataTransfer.effectAllowed)){e.dataTransfer.dropEffect=\"move\"}}t.stop()}),{priority:\"low\"})}_setupClipboardInputIntegration(){const t=this.editor;const e=t.editing.view;const n=e.document;const o=t.plugins.get(RO);this.listenTo(n,\"clipboardInput\",((e,n)=>{if(n.method!=\"drop\"){return}const{clientX:i,clientY:r}=n.domEvent;const s=o.getFinalDropRange(n.target,n.targetRanges,i,r,this._blockMode,this._draggedRange);if(!s){this._finalizeDragging(false);e.stop();return}if(this._draggedRange&&this._draggingUid!=n.dataTransfer.getData(\"application/ckeditor5-dragging-uid\")){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=\"\"}const a=ZO(n.dataTransfer)==\"move\";if(a&&this._draggedRange&&this._draggedRange.containsRange(s,true)){this._finalizeDragging(false);e.stop();return}n.targetRanges=[t.editing.mapper.toViewRange(s)]}),{priority:\"high\"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(pz);t.on(\"contentInsertion\",((t,e)=>{if(!this.isEnabled||e.method!==\"drop\"){return}const n=e.targetRanges.map((t=>this.editor.editing.mapper.toModelRange(t)));this.editor.model.change((t=>t.setSelection(n)))}),{priority:\"high\"});t.on(\"contentInsertion\",((t,e)=>{if(!this.isEnabled||e.method!==\"drop\"){return}const n=ZO(e.dataTransfer)==\"move\";const o=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(o&&n)}),{priority:\"lowest\"})}_setupDraggableAttributeHandling(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,\"mousedown\",((o,i)=>{if(l.isAndroid||!i){return}this._clearDraggableAttributesDelayed.cancel();let r=JO(i.target);if(l.isBlink&&!t.isReadOnly&&!r&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();if(!t||!yz(t)){r=n.selection.editableElement}}if(r){e.change((t=>{t.setAttribute(\"draggable\",\"true\",r)}));this._draggableElement=t.editing.mapper.toModelElement(r)}}));this.listenTo(n,\"mouseup\",(()=>{if(!l.isAndroid){this._clearDraggableAttributesDelayed()}}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{if(this._draggableElement&&this._draggableElement.root.rootName!=\"$graveyard\"){e.removeAttribute(\"draggable\",t.mapper.toViewElement(this._draggableElement))}this._draggableElement=null}))}_finalizeDragging(t){const e=this.editor;const n=e.model;const o=e.plugins.get(RO);o.removeDropMarker();this._clearDraggableAttributes();if(e.plugins.has(\"WidgetToolbarRepository\")){const t=e.plugins.get(\"WidgetToolbarRepository\");t.clearForceDisabled(\"dragDrop\")}this._draggingUid=\"\";if(this._previewContainer){this._previewContainer.remove();this._previewContainer=undefined}if(!this._draggedRange){return}if(t&&this.isEnabled){n.change((t=>{const e=n.createSelection(this._draggedRange);n.deleteContent(e,{doNotAutoparagraph:true});const o=e.getFirstPosition().parent;if(o.isEmpty&&!n.schema.checkChild(o,\"$text\")&&n.schema.checkChild(o,\"paragraph\")){t.insertElement(\"paragraph\",o,0)}}))}this._draggedRange.detach();this._draggedRange=null}_prepareDraggedRange(t){const e=this.editor;const n=e.model;const o=n.document.selection;const i=t?JO(t):null;if(i){const t=e.editing.mapper.toModelElement(i);this._draggedRange=mp.fromRange(n.createRangeOn(t));this._blockMode=n.schema.isBlock(t);if(e.plugins.has(\"WidgetToolbarRepository\")){const t=e.plugins.get(\"WidgetToolbarRepository\");t.forceDisabled(\"dragDrop\")}return}if(o.isCollapsed&&!o.getFirstPosition().parent.isEmpty){return}const r=Array.from(o.getSelectedBlocks());const s=o.getFirstRange();if(r.length==0){this._draggedRange=mp.fromRange(s);return}const a=XO(n,r);if(r.length>1){this._draggedRange=mp.fromRange(a);this._blockMode=true}else if(r.length==1){const t=s.start.isTouching(a.start)&&s.end.isTouching(a.end);this._draggedRange=mp.fromRange(t?a:s);this._blockMode=t}n.change((t=>t.setSelection(this._draggedRange.toRange())))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const o=this.editor.editing.view;const i=o.document.selection.editableElement;const r=o.domConverter.mapViewToDom(i);const s=oc.window.getComputedStyle(r);if(!this._previewContainer){this._previewContainer=ie(oc.document,\"div\",{style:\"position: fixed; left: -999999px;\"});oc.document.body.appendChild(this._previewContainer)}else if(this._previewContainer.firstElementChild){this._previewContainer.removeChild(this._previewContainer.firstElementChild)}const a=new hc(r);if(r.contains(e)){return}const c=parseFloat(s.paddingLeft);const d=ie(oc.document,\"div\");d.className=\"ck ck-content\";d.style.width=s.width;d.style.paddingLeft=`${a.left-n+c}px`;if(l.isiOS){d.style.backgroundColor=\"white\"}d.innerHTML=t.getData(\"text/html\");t.setDragImage(d,0,0);this._previewContainer.appendChild(d)}}function ZO(t){if(l.isGecko){return t.dropEffect}return[\"all\",\"copyMove\"].includes(t.effectAllowed)?\"move\":\"copy\"}function JO(t){if(t.is(\"editableElement\")){return null}if(t.hasClass(\"ck-widget__selection-handle\")){return t.findAncestor(yz)}if(yz(t)){return t}const e=t.findAncestor((t=>yz(t)||t.is(\"editableElement\")));if(yz(e)){return e}return null}function XO(t,e){const n=e[0];const o=e[e.length-1];const i=n.getCommonAncestor(o);const r=t.createPositionBefore(n);const s=t.createPositionAfter(o);if(i&&i.is(\"element\")&&!t.schema.isLimit(i)){const e=t.createRangeOn(i);const n=r.isTouching(e.start);const o=s.isTouching(e.end);if(n&&o){return XO(t,[i])}}return t.createRange(r,s)}class tR extends Ed{static get pluginName(){return\"PastePlainText\"}static get requires(){return[pz]}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=n.document;const i=e.document.selection;let r=false;n.addObserver(DL);this.listenTo(o,\"keydown\",((t,e)=>{r=e.shiftKey}));t.plugins.get(pz).on(\"contentInsertion\",((t,n)=>{if(!r&&!eR(n.content,e.schema)){return}e.change((t=>{const o=Array.from(i.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));if(!i.isCollapsed){e.deleteContent(i,{doNotAutoparagraph:true})}o.push(...i.getAttributes());const r=t.createRangeIn(n.content);for(const e of r.getItems()){if(e.is(\"$textProxy\")){t.setAttributes(o,e)}}}))}))}}function eR(t,e){if(t.childCount>1){return false}const n=t.getChild(0);if(e.isObject(n)){return false}return Array.from(n.getAttributeKeys()).length==0}class nR extends Ed{static get pluginName(){return\"Clipboard\"}static get requires(){return[fz,pz,QO,tR]}init(){const t=this.editor;const e=this.editor.t;t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Copy selected content\"),keystroke:\"CTRL+C\"},{label:e(\"Paste content\"),keystroke:\"CTRL+V\"},{label:e(\"Paste content as plain text\"),keystroke:\"CTRL+SHIFT+V\"}]})}}class oR extends Id{constructor(t){super(t);this.affectsData=false}execute(){const t=this.editor.model;const e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!iR(t.schema,n)){do{n=n.parent;if(!n){return}}while(!iR(t.schema,n))}t.change((t=>{t.setSelection(n,\"in\")}))}}function iR(t,e){return t.isLimit(e)&&(t.checkChild(e,\"$text\")||t.checkChild(e,\"paragraph\"))}const rR=Jc(\"Ctrl+A\");class sR extends Ed{static get pluginName(){return\"SelectAllEditing\"}init(){const t=this.editor;const e=t.t;const n=t.editing.view;const o=n.document;t.commands.add(\"selectAll\",new oR(t));this.listenTo(o,\"keydown\",((e,n)=>{if(Zc(n)===rR){t.execute(\"selectAll\");n.preventDefault()}}));t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Select all\"),keystroke:\"CTRL+A\"}]})}}const aR=' ';class cR extends Ed{static get pluginName(){return\"SelectAllUI\"}init(){const t=this.editor;t.ui.componentFactory.add(\"selectAll\",(()=>{const t=this._createButton(Sv);t.set({tooltip:true});return t}));t.ui.componentFactory.add(\"menuBar:selectAll\",(()=>this._createButton(qS)))}_createButton(t){const e=this.editor;const n=e.locale;const o=e.commands.get(\"selectAll\");const i=new t(e.locale);const r=n.t;i.set({label:r(\"Select all\"),icon:aR,keystroke:\"Ctrl+A\"});i.bind(\"isEnabled\").to(o,\"isEnabled\");this.listenTo(i,\"execute\",(()=>{e.execute(\"selectAll\");e.editing.view.focus()}));return i}}class lR extends Ed{static get requires(){return[sR,cR]}static get pluginName(){return\"SelectAll\"}}class dR extends Id{constructor(t){super(t);this._stack=[];this._createdBatches=new WeakSet;this.refresh();this._isEnabledBasedOnSelection=false;this.listenTo(t.data,\"set\",((t,e)=>{e[1]={...e[1]};const n=e[1];if(!n.batchType){n.batchType={isUndoable:false}}}),{priority:\"high\"});this.listenTo(t.data,\"set\",((t,e)=>{const n=e[1];if(!n.batchType.isUndoable){this.clearStack()}}))}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection;const n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n});this.refresh()}clearStack(){this._stack=[];this.refresh()}_restoreSelection(t,e,n){const o=this.editor.model;const i=o.document;const r=[];const s=t.map((t=>t.getTransformedByOperations(n)));const a=s.flat();for(const t of s){const e=t.filter((t=>t.root!=i.graveyard)).filter((t=>!hR(t,a)));if(!e.length){continue}uR(e);r.push(e[0])}if(r.length){o.change((t=>{t.setSelection(r,{backward:e})}))}}_undo(t,e){const n=this.editor.model;const o=n.document;this._createdBatches.add(e);const i=t.operations.slice().filter((t=>t.isDocumentOperation));i.reverse();for(const t of i){const i=t.baseVersion+1;const r=Array.from(o.history.getOperations(i));const s=tw([t.getReversed()],r,{useRelations:true,document:this.editor.model.document,padWithNoOps:false,forceWeakRemove:true});const a=s.operationsA;for(let i of a){const r=i.affectedSelectable;if(r&&!n.canEditAt(r)){i=new Uk(i.baseVersion)}e.addOperation(i);n.applyOperation(i);o.history.setOperationAsUndone(t,i)}}}}function uR(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,true)))}class mR extends dR{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1;const n=this._stack.splice(e,1)[0];const o=this.editor.model.createBatch({isUndo:true});this.editor.model.enqueueChange(o,(()=>{this._undo(n.batch,o);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t)}));this.fire(\"revert\",n.batch,o);this.refresh()}}class gR extends dR{execute(){const t=this._stack.pop();const e=this.editor.model.createBatch({isUndo:true});this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1];const o=n.baseVersion+1;const i=this.editor.model.document.history.getOperations(o);this._restoreSelection(t.selection.ranges,t.selection.isBackward,i);this._undo(t.batch,e)}));this.refresh()}}class fR extends Ed{constructor(){super(...arguments);this._batchRegistry=new WeakSet}static get pluginName(){return\"UndoEditing\"}init(){const t=this.editor;const e=t.t;this._undoCommand=new mR(t);this._redoCommand=new gR(t);t.commands.add(\"undo\",this._undoCommand);t.commands.add(\"redo\",this._redoCommand);this.listenTo(t.model,\"applyOperation\",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}const o=n.batch;const i=this._redoCommand.createdBatches.has(o);const r=this._undoCommand.createdBatches.has(o);const s=this._batchRegistry.has(o);if(s){return}this._batchRegistry.add(o);if(!o.isUndoable){return}if(i){this._undoCommand.addBatch(o)}else if(!r){this._undoCommand.addBatch(o);this._redoCommand.clearStack()}}),{priority:\"highest\"});this.listenTo(this._undoCommand,\"revert\",((t,e,n)=>{this._redoCommand.addBatch(n)}));t.keystrokes.set(\"CTRL+Z\",\"undo\");t.keystrokes.set(\"CTRL+Y\",\"redo\");t.keystrokes.set(\"CTRL+SHIFT+Z\",\"redo\");t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Undo\"),keystroke:\"CTRL+Z\"},{label:e(\"Redo\"),keystroke:[[\"CTRL+Y\"],[\"CTRL+SHIFT+Z\"]]}]})}}class pR extends Ed{static get pluginName(){return\"UndoUI\"}init(){const t=this.editor;const e=t.locale;const n=t.t;const o=e.uiLanguageDirection==\"ltr\"?CC.undo:CC.redo;const i=e.uiLanguageDirection==\"ltr\"?CC.redo:CC.undo;this._addButtonsToFactory(\"undo\",n(\"Undo\"),\"CTRL+Z\",o);this._addButtonsToFactory(\"redo\",n(\"Redo\"),\"CTRL+Y\",i)}_addButtonsToFactory(t,e,n,o){const i=this.editor;i.ui.componentFactory.add(t,(()=>{const i=this._createButton(Sv,t,e,n,o);i.set({tooltip:true});return i}));i.ui.componentFactory.add(\"menuBar:\"+t,(()=>this._createButton(qS,t,e,n,o)))}_createButton(t,e,n,o,i){const r=this.editor;const s=r.locale;const a=r.commands.get(e);const c=new t(s);c.set({label:n,icon:i,keystroke:o});c.bind(\"isEnabled\").to(a,\"isEnabled\");this.listenTo(c,\"execute\",(()=>{r.execute(e);r.editing.view.focus()}));return c}}class bR extends Ed{static get requires(){return[fR,pR]}static get pluginName(){return\"Undo\"}}class kR extends Ed{static get requires(){return[bv,nR,lP,lR,fP,VB,bR]}static get pluginName(){return\"Essentials\"}}class wR extends Id{constructor(t){super(t);this._isEnabledBasedOnSelection=false}refresh(){const t=this.editor.model;const e=t.document;const n=sd(e.selection.getSelectedBlocks());this.value=!!n&&n.is(\"element\",\"paragraph\");this.isEnabled=!!n&&AR(n,t.schema)}execute(t={}){const e=this.editor.model;const n=e.document;const o=t.selection||n.selection;if(!e.canEditAt(o)){return}e.change((t=>{const n=o.getSelectedBlocks();for(const o of n){if(!o.is(\"element\",\"paragraph\")&&AR(o,e.schema)){t.rename(o,\"paragraph\")}}}))}}function AR(t,e){return e.checkChild(t.parent,\"paragraph\")&&!e.isObject(t)}class _R extends Id{constructor(t){super(t);this._isEnabledBasedOnSelection=false}execute(t){const e=this.editor.model;const n=t.attributes;let o=t.position;if(!e.canEditAt(o)){return}e.change((t=>{o=this._findPositionToInsertParagraph(o,t);if(!o){return}const i=t.createElement(\"paragraph\");if(n){e.schema.setAllowedAttributes(i,n,t)}e.insertContent(i,o);t.setSelection(i,\"in\")}))}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,\"paragraph\")){return t}const o=n.schema.findAllowedParent(t,\"paragraph\");if(!o){return null}const i=t.parent;const r=n.schema.checkChild(i,\"$text\");if(i.isEmpty||r&&t.isAtEnd){return n.createPositionAfter(i)}if(!i.isEmpty&&r&&t.isAtStart){return n.createPositionBefore(i)}return e.split(t,o).position}}class CR extends Ed{static get pluginName(){return\"Paragraph\"}init(){const t=this.editor;const e=t.model;t.commands.add(\"paragraph\",new wR(t));t.commands.add(\"insertParagraph\",new _R(t));e.schema.register(\"paragraph\",{inheritAllFrom:\"$block\"});t.conversion.elementToElement({model:\"paragraph\",view:\"p\"});t.conversion.for(\"upcast\").elementToElement({model:(t,{writer:e})=>{if(!CR.paragraphLikeElements.has(t.name)){return null}if(t.isEmpty){return null}return e.createElement(\"paragraph\")},view:/.+/,converterPriority:\"low\"})}}CR.paragraphLikeElements=new Set([\"blockquote\",\"dd\",\"div\",\"dt\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"p\",\"td\",\"th\"]);const vR=CR;const yR=CC.paragraph;class xR extends(null&&Plugin){static get requires(){return[Paragraph]}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"paragraph\",(n=>{const o=new ButtonView(n);const i=t.commands.get(\"paragraph\");o.label=e(\"Paragraph\");o.icon=yR;o.tooltip=true;o.isToggleable=true;o.bind(\"isEnabled\").to(i);o.bind(\"isOn\").to(i,\"value\");o.on(\"execute\",(()=>{t.execute(\"paragraph\")}));return o}))}}class ER extends Id{constructor(t,e){super(t);this.modelElements=e}refresh(){const t=sd(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name;this.isEnabled=!!t&&this.modelElements.some((e=>DR(t,e,this.editor.model.schema)))}execute(t){const e=this.editor.model;const n=e.document;const o=t.value;e.change((t=>{const i=Array.from(n.selection.getSelectedBlocks()).filter((t=>DR(t,o,e.schema)));for(const e of i){if(!e.is(\"element\",o)){t.rename(e,o)}}}))}}function DR(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const IR=\"paragraph\";class TR extends Ed{static get pluginName(){return\"HeadingEditing\"}constructor(t){super(t);t.config.define(\"heading\",{options:[{model:\"paragraph\",title:\"Paragraph\",class:\"ck-heading_paragraph\"},{model:\"heading1\",view:\"h2\",title:\"Heading 1\",class:\"ck-heading_heading1\"},{model:\"heading2\",view:\"h3\",title:\"Heading 2\",class:\"ck-heading_heading2\"},{model:\"heading3\",view:\"h4\",title:\"Heading 3\",class:\"ck-heading_heading3\"}]})}static get requires(){return[vR]}init(){const t=this.editor;const e=t.config.get(\"heading.options\");const n=[];for(const o of e){if(o.model===\"paragraph\"){continue}t.model.schema.register(o.model,{inheritAllFrom:\"$block\"});t.conversion.elementToElement(o);n.push(o.model)}this._addDefaultH1Conversion(t);t.commands.add(\"heading\",new ER(t,n))}afterInit(){const t=this.editor;const e=t.commands.get(\"enter\");const n=t.config.get(\"heading.options\");if(e){this.listenTo(e,\"afterExecute\",((e,o)=>{const i=t.model.document.selection.getFirstPosition().parent;const r=n.some((t=>i.is(\"element\",t.model)));if(r&&!i.is(\"element\",IR)&&i.childCount===0){o.writer.rename(i,IR)}}))}}_addDefaultH1Conversion(t){t.conversion.for(\"upcast\").elementToElement({model:\"heading1\",view:\"h1\",converterPriority:B.low+1})}}function SR(t){const e=t.t;const n={Paragraph:e(\"Paragraph\"),\"Heading 1\":e(\"Heading 1\"),\"Heading 2\":e(\"Heading 2\"),\"Heading 3\":e(\"Heading 3\"),\"Heading 4\":e(\"Heading 4\"),\"Heading 5\":e(\"Heading 5\"),\"Heading 6\":e(\"Heading 6\")};return t.config.get(\"heading.options\").map((t=>{const e=n[t.title];if(e&&e!=t.title){t.title=e}return t}))}var BR=n(2863);var MR={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};MR.insert=\"head\";MR.singleton=true;var PR=Ld()(BR.A,MR);const NR=BR.A.locals||{};class LR extends Ed{static get pluginName(){return\"HeadingUI\"}init(){const t=this.editor;const e=t.t;const n=SR(t);const o=e(\"Choose heading\");const i=e(\"Heading\");t.ui.componentFactory.add(\"heading\",(e=>{const r={};const s=new rd;const a=t.commands.get(\"heading\");const c=t.commands.get(\"paragraph\");const l=[a];for(const t of n){const e={type:\"button\",model:new RI({label:t.title,class:t.class,role:\"menuitemradio\",withText:true})};if(t.model===\"paragraph\"){e.model.bind(\"isOn\").to(c,\"value\");e.model.set(\"commandName\",\"paragraph\");l.push(c)}else{e.model.bind(\"isOn\").to(a,\"value\",(e=>e===t.model));e.model.set({commandName:\"heading\",commandValue:t.model})}s.add(e);r[t.model]=t.title}const d=xx(e);Ix(d,s,{ariaLabel:i,role:\"menu\"});d.buttonView.set({ariaLabel:i,ariaLabelledBy:undefined,isOn:false,withText:true,tooltip:i});d.extendTemplate({attributes:{class:[\"ck-heading-dropdown\"]}});d.bind(\"isEnabled\").toMany(l,\"isEnabled\",((...t)=>t.some((t=>t))));d.buttonView.bind(\"label\").to(a,\"value\",c,\"value\",((t,e)=>{const n=e?\"paragraph\":t;if(typeof n===\"boolean\"){return o}if(!r[n]){return o}return r[n]}));d.buttonView.bind(\"ariaLabel\").to(a,\"value\",c,\"value\",((t,e)=>{const n=e?\"paragraph\":t;if(typeof n===\"boolean\"){return i}if(!r[n]){return i}return`${r[n]}, ${i}`}));this.listenTo(d,\"execute\",(e=>{const{commandName:n,commandValue:o}=e.source;t.execute(n,o?{value:o}:undefined);t.editing.view.focus()}));return d}));t.ui.componentFactory.add(\"menuBar:heading\",(o=>{const i=new VS(o);const r=t.commands.get(\"heading\");const s=t.commands.get(\"paragraph\");const a=[r];const c=new FS(o);i.set({class:\"ck-heading-dropdown\"});c.set({ariaLabel:e(\"Heading\"),role:\"menu\"});i.buttonView.set({label:e(\"Heading\")});i.panelView.children.add(c);for(const e of n){const n=new aS(o,i);const l=new qS(o);n.children.add(l);c.items.add(n);l.set({label:e.title,role:\"menuitemradio\",class:e.class});l.bind(\"ariaChecked\").to(l,\"isOn\");l.delegate(\"execute\").to(i);l.on(\"execute\",(()=>{const n=e.model===\"paragraph\"?\"paragraph\":\"heading\";t.execute(n,{value:e.model});t.editing.view.focus()}));if(e.model===\"paragraph\"){l.bind(\"isOn\").to(s,\"value\");a.push(s)}else{l.bind(\"isOn\").to(r,\"value\",(t=>t===e.model))}}i.bind(\"isEnabled\").toMany(a,\"isEnabled\",((...t)=>t.some((t=>t))));return i}))}}class zR extends Ed{static get requires(){return[TR,LR]}static get pluginName(){return\"Heading\"}}const OR={heading1:CC.heading1,heading2:CC.heading2,heading3:CC.heading3,heading4:CC.heading4,heading5:CC.heading5,heading6:CC.heading6};class RR extends(null&&Plugin){init(){const t=getLocalizedOptions(this.editor);t.filter((t=>t.model!==\"paragraph\")).map((t=>this._createButton(t)))}_createButton(t){const e=this.editor;e.ui.componentFactory.add(t.model,(n=>{const o=new ButtonView(n);const i=e.commands.get(\"heading\");o.label=t.title;o.icon=t.icon||OR[t.model];o.tooltip=true;o.isToggleable=true;o.bind(\"isEnabled\").to(i);o.bind(\"isOn\").to(i,\"value\",(e=>e==t.model));o.on(\"execute\",(()=>{e.execute(\"heading\",{value:t.model});e.editing.view.focus()}));return o}))}}const VR=new Set([\"paragraph\",\"heading1\",\"heading2\",\"heading3\",\"heading4\",\"heading5\",\"heading6\"]);class FR extends Ed{constructor(){super(...arguments);this._bodyPlaceholder=new Map}static get pluginName(){return\"Title\"}static get requires(){return[\"Paragraph\"]}init(){const t=this.editor;const e=t.model;e.schema.register(\"title\",{isBlock:true,allowIn:\"$root\"});e.schema.register(\"title-content\",{isBlock:true,allowIn:\"title\",allowAttributes:[\"alignment\"]});e.schema.extend(\"$text\",{allowIn:\"title-content\"});e.schema.addAttributeCheck((t=>{if(t.endsWith(\"title-content $text\")){return false}}));t.editing.mapper.on(\"modelToViewPosition\",HR(t.editing.view));t.data.mapper.on(\"modelToViewPosition\",HR(t.editing.view));t.conversion.for(\"downcast\").elementToElement({model:\"title-content\",view:\"h1\"});t.conversion.for(\"downcast\").add((t=>t.on(\"insert:title\",((t,e,n)=>{n.consumable.consume(e.item,t.name)}))));t.data.upcastDispatcher.on(\"element:h1\",jR,{priority:\"high\"});t.data.upcastDispatcher.on(\"element:h2\",jR,{priority:\"high\"});t.data.upcastDispatcher.on(\"element:h3\",jR,{priority:\"high\"});e.document.registerPostFixer((t=>this._fixTitleContent(t)));e.document.registerPostFixer((t=>this._fixTitleElement(t)));e.document.registerPostFixer((t=>this._fixBodyElement(t)));e.document.registerPostFixer((t=>this._fixExtraParagraph(t)));this._attachPlaceholders();this._attachTabPressHandling()}getTitle(t={}){const e=t.rootName?t.rootName:undefined;const n=this._getTitleElement(e);const o=n.getChild(0);return this.editor.data.stringify(o,t)}getBody(t={}){const e=this.editor;const n=e.data;const o=e.model;const i=t.rootName?t.rootName:undefined;const r=e.model.document.getRoot(i);const s=e.editing.view;const a=new Xh(s.document);const c=o.createRangeIn(r);const l=a.createDocumentFragment();const d=o.createPositionAfter(r.getChild(0));const u=o.createRange(d,o.createPositionAt(r,\"end\"));const h=new Map;for(const t of o.markers){const e=u.getIntersection(t.getRange());if(e){h.set(t.name,e)}}n.mapper.clearBindings();n.mapper.bindElements(r,l);n.downcastDispatcher.convert(c,h,a,t);a.remove(a.createRangeOn(l.getChild(0)));return e.data.processor.toData(l)}_getTitleElement(t){const e=this.editor.model.document.getRoot(t);for(const t of e.getChildren()){if(UR(t)){return t}}}_fixTitleContent(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const o=this._getTitleElement(n);if(!o||o.maxOffset===1){continue}const i=Array.from(o.getChildren());i.shift();for(const e of i){t.move(t.createRangeOn(e),o,\"after\");t.rename(e,\"paragraph\")}e=true}return e}_fixTitleElement(t){let e=false;const n=this.editor.model;for(const o of this.editor.model.document.getRoots()){const i=Array.from(o.getChildren()).filter(UR);const r=i[0];const s=o.getChild(0);if(s.is(\"element\",\"title\")){if(i.length>1){qR(i,t,n);e=true}continue}if(!r&&!VR.has(s.name)){const n=t.createElement(\"title\");t.insert(n,o);t.insertElement(\"title-content\",n);e=true;continue}if(VR.has(s.name)){WR(s,t,n)}else{t.move(t.createRangeOn(r),o,0)}qR(i,t,n);e=true}return e}_fixBodyElement(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const o=this.editor.model.document.getRoot(n);if(o.childCount<2){const i=t.createElement(\"paragraph\");t.insert(i,o,1);this._bodyPlaceholder.set(n,i);e=true}}return e}_fixExtraParagraph(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const o=this.editor.model.document.getRoot(n);const i=this._bodyPlaceholder.get(n);if($R(i,o)){this._bodyPlaceholder.delete(n);t.remove(i);e=true}}return e}_attachPlaceholders(){const t=this.editor;const e=t.t;const n=t.editing.view;const o=t.sourceElement;const i=t.config.get(\"title.placeholder\")||e(\"Type your title\");const r=t.config.get(\"placeholder\")||o&&o.tagName.toLowerCase()===\"textarea\"&&o.getAttribute(\"placeholder\")||e(\"Type or paste your content here.\");t.editing.downcastDispatcher.on(\"insert:title-content\",((t,e,o)=>{const r=o.mapper.toViewElement(e.item);r.placeholder=i;Hd({view:n,element:r,keepOnFocus:true})}));const s=new Map;n.document.registerPostFixer((t=>{let e=false;for(const o of n.document.roots){if(o.isEmpty){continue}const n=o.getChild(1);const i=s.get(o.rootName);if(n!==i){if(i){qd(t,i);t.removeAttribute(\"data-placeholder\",i)}t.setAttribute(\"data-placeholder\",r,n);s.set(o.rootName,n);e=true}if(Gd(n,true)&&o.childCount===2&&n.name===\"p\"){e=Wd(t,n)?true:e}else{e=qd(t,n)?true:e}}return e}))}_attachTabPressHandling(){const t=this.editor;const e=t.model;t.keystrokes.set(\"TAB\",((t,n)=>{e.change((t=>{const o=e.document.selection;const i=Array.from(o.getSelectedBlocks());if(i.length===1&&i[0].is(\"element\",\"title-content\")){const e=o.getFirstPosition().root;const i=e.getChild(1);t.setSelection(i,0);n()}}))}));t.keystrokes.set(\"SHIFT + TAB\",((n,o)=>{e.change((n=>{const i=e.document.selection;if(!i.isCollapsed){return}const r=sd(i.getSelectedBlocks());const s=i.getFirstPosition();const a=t.model.document.getRoot(s.root.rootName);const c=a.getChild(0);const l=a.getChild(1);if(r===l&&s.isAtStart){n.setSelection(c.getChild(0),0);o()}}))}))}}function jR(t,e,n){const o=e.modelCursor;const i=e.viewItem;if(!o.isAtStart||!o.parent.is(\"element\",\"$root\")){return}if(!n.consumable.consume(i,{name:true})){return}const r=n.writer;const s=r.createElement(\"title\");const a=r.createElement(\"title-content\");r.append(a,s);r.insert(s,o);n.convertChildren(i,a);n.updateConversionResult(s,e)}function HR(t){return(e,n)=>{const o=n.modelPosition.parent;if(!o.is(\"element\",\"title\")){return}const i=o.parent;const r=n.mapper.toViewElement(i);n.viewPosition=t.createPositionAt(r,0);e.stop()}}function UR(t){return t.is(\"element\",\"title\")}function WR(t,e,n){const o=e.createElement(\"title\");e.insert(o,t,\"before\");e.insert(t,o,0);e.rename(t,\"title-content\");n.schema.removeDisallowedAttributes([t],e)}function qR(t,e,n){let o=false;for(const i of t){if(i.index!==0){GR(i,e,n);o=true}}return o}function GR(t,e,n){const o=t.getChild(0);if(o.isEmpty){e.remove(t);return}e.move(e.createRangeOn(o),t,\"before\");e.rename(o,\"paragraph\");e.remove(t);n.schema.removeDisallowedAttributes([o],e)}function $R(t,e){if(!t||!t.is(\"element\",\"paragraph\")||t.childCount){return false}if(e.childCount<=2||e.getChild(e.childCount-1)!==t){return false}return true}class KR extends Id{refresh(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;const o=ZR(n);this.isEnabled=YR(n,e,t);this.value=o?o.getAttribute(\"value\")||\"\":null}execute(t){const e=this.editor.model;const n=e.document.selection;e.change((o=>{let i;if(this.value!==null){i=ZR(n)}else{i=o.createElement(\"rawHtml\");e.insertObject(i,null,null,{setSelection:\"on\"})}o.setAttribute(\"value\",t,i)}))}}function YR(t,e,n){const o=QR(t,n);return e.checkChild(o,\"rawHtml\")}function QR(t,e){const n=Mz(t,e);const o=n.start.parent;if(o.isEmpty&&!o.is(\"rootElement\")){return o.parent}return o}function ZR(t){const e=t.getSelectedElement();if(e&&e.is(\"element\",\"rawHtml\")){return e}return null}var JR=n(8912);var XR={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};XR.insert=\"head\";XR.singleton=true;var tV=Ld()(JR.A,XR);const eV=JR.A.locals||{};class nV extends Ed{static get pluginName(){return\"HtmlEmbedEditing\"}constructor(t){super(t);this._widgetButtonViewReferences=new Set;t.config.define(\"htmlEmbed\",{showPreviews:false,sanitizeHtml:t=>{L(\"html-embed-provide-sanitize-function\");return{html:t,hasChanged:false}}})}init(){const t=this.editor;const e=t.model.schema;e.register(\"rawHtml\",{inheritAllFrom:\"$blockObject\",allowAttributes:[\"value\"]});t.commands.add(\"htmlEmbed\",new KR(t));this._setupConversion()}_setupConversion(){const t=this.editor;const e=t.t;const n=t.editing.view;const o=this._widgetButtonViewReferences;const i=t.config.get(\"htmlEmbed\");this.editor.editing.view.on(\"render\",(()=>{for(const t of o){if(t.element&&t.element.isConnected){return}t.destroy();o.delete(t)}}),{priority:\"lowest\"});t.data.registerRawContentMatcher({name:\"div\",classes:\"raw-html-embed\"});t.conversion.for(\"upcast\").elementToElement({view:{name:\"div\",classes:\"raw-html-embed\"},model:(t,{writer:e})=>e.createElement(\"rawHtml\",{value:t.getCustomProperty(\"$rawContent\")})});t.conversion.for(\"dataDowncast\").elementToElement({model:\"rawHtml\",view:(t,{writer:e})=>e.createRawElement(\"div\",{class:\"raw-html-embed\"},(function(e){e.innerHTML=t.getAttribute(\"value\")||\"\"}))});t.conversion.for(\"editingDowncast\").elementToStructure({model:{name:\"rawHtml\",attributes:[\"value\"]},view:(o,{writer:s})=>{let a;let c;let l;const d=s.createRawElement(\"div\",{class:\"raw-html-embed__content-wrapper\"},(function(e){a=e;r({editor:t,domElement:e,state:c,props:l});a.addEventListener(\"mousedown\",(()=>{if(c.isEditable){const e=t.model;const n=e.document.selection.getSelectedElement();if(n!==o){e.change((t=>t.setSelection(o,\"on\")))}}}),true)}));const u={makeEditable(){c=Object.assign({},c,{isEditable:true});r({domElement:a,editor:t,state:c,props:l});n.change((t=>{t.setAttribute(\"data-cke-ignore-events\",\"true\",d)}));a.querySelector(\"textarea\").focus()},save(e){if(e!==c.getRawHtmlValue()){t.execute(\"htmlEmbed\",e);t.editing.view.focus()}else{this.cancel()}},cancel(){c=Object.assign({},c,{isEditable:false});r({domElement:a,editor:t,state:c,props:l});t.editing.view.focus();n.change((t=>{t.removeAttribute(\"data-cke-ignore-events\",d)}))}};c={showPreviews:i.showPreviews,isEditable:false,getRawHtmlValue:()=>o.getAttribute(\"value\")||\"\"};l={sanitizeHtml:i.sanitizeHtml,textareaPlaceholder:e(\"Paste raw HTML here...\"),onEditClick(){u.makeEditable()},onSaveClick(t){u.save(t)},onCancelClick(){u.cancel()}};const h=s.createContainerElement(\"div\",{class:\"raw-html-embed\",\"data-html-embed-label\":e(\"HTML snippet\"),dir:t.locale.uiLanguageDirection},d);s.setCustomProperty(\"rawHtmlApi\",u,h);s.setCustomProperty(\"rawHtml\",true,h);return xz(h,s,{label:e(\"HTML snippet\"),hasSelectionHandle:true})}});function r({editor:t,domElement:e,state:n,props:o}){e.textContent=\"\";const i=e.ownerDocument;let r;if(n.isEditable){const t={isDisabled:false,placeholder:o.textareaPlaceholder};r=a({domDocument:i,state:n,props:t});e.append(r)}else if(n.showPreviews){const r={sanitizeHtml:o.sanitizeHtml};e.append(c({domDocument:i,state:n,props:r,editor:t}))}else{const t={isDisabled:true,placeholder:o.textareaPlaceholder};e.append(a({domDocument:i,state:n,props:t}))}const l={onEditClick:o.onEditClick,onSaveClick:()=>{o.onSaveClick(r.value)},onCancelClick:o.onCancelClick};e.prepend(s({editor:t,domDocument:i,state:n,props:l}))}function s({editor:t,domDocument:e,state:n,props:i}){const r=ie(e,\"div\",{class:\"raw-html-embed__buttons-wrapper\"});if(n.isEditable){const e=oV(t,\"save\",i.onSaveClick);const n=oV(t,\"cancel\",i.onCancelClick);r.append(e.element,n.element);o.add(e).add(n)}else{const e=oV(t,\"edit\",i.onEditClick);r.append(e.element);o.add(e)}return r}function a({domDocument:t,state:e,props:n}){const o=ie(t,\"textarea\",{placeholder:n.placeholder,class:\"ck ck-reset ck-input ck-input-text raw-html-embed__source\"});o.disabled=n.isDisabled;o.value=e.getRawHtmlValue();return o}function c({editor:t,domDocument:n,state:o,props:i}){const r=i.sanitizeHtml(o.getRawHtmlValue());const s=o.getRawHtmlValue().length>0?e(\"No preview available\"):e(\"Empty snippet content\");const a=ie(n,\"div\",{class:\"ck ck-reset_all raw-html-embed__preview-placeholder\"},s);const c=ie(n,\"div\",{class:\"raw-html-embed__preview-content\",dir:t.locale.contentLanguageDirection});const l=n.createRange();const d=l.createContextualFragment(r.html);c.appendChild(d);const u=ie(n,\"div\",{class:\"raw-html-embed__preview\"},[a,c]);return u}}}function oV(t,e,n){const{t:o}=t.locale;const i=new Sv(t.locale);const r=t.commands.get(\"htmlEmbed\");i.set({class:`raw-html-embed__${e}-button`,icon:CC.pencil,tooltip:true,tooltipPosition:t.locale.uiLanguageDirection===\"rtl\"?\"e\":\"w\"});i.render();if(e===\"edit\"){i.set({icon:CC.pencil,label:o(\"Edit source\")});i.bind(\"isEnabled\").to(r)}else if(e===\"save\"){i.set({icon:CC.check,label:o(\"Save changes\")});i.bind(\"isEnabled\").to(r)}else{i.set({icon:CC.cancel,label:o(\"Cancel\")})}i.on(\"execute\",n);return i}class iV extends Ed{static get pluginName(){return\"HtmlEmbedUI\"}init(){const t=this.editor;const e=t.locale;const n=e.t;t.ui.componentFactory.add(\"htmlEmbed\",(()=>{const t=this._createButton(Sv);t.set({tooltip:true,label:n(\"Insert HTML\")});return t}));t.ui.componentFactory.add(\"menuBar:htmlEmbed\",(()=>{const t=this._createButton(qS);t.set({label:n(\"HTML snippet\")});return t}))}_createButton(t){const e=this.editor;const n=e.commands.get(\"htmlEmbed\");const o=new t(e.locale);o.set({icon:CC.html});o.bind(\"isEnabled\").to(n,\"isEnabled\");this.listenTo(o,\"execute\",(()=>{e.execute(\"htmlEmbed\");e.editing.view.focus();const t=e.editing.view.document.selection.getSelectedElement().getCustomProperty(\"rawHtmlApi\");t.makeEditable()}));return o}}class rV extends Ed{static get requires(){return[nV,iV,uO]}static get pluginName(){return\"HtmlEmbed\"}}function sV(t,e,n,o){var i=-1,r=t==null?0:t.length;if(o&&r){n=t[++i]}while(++i=o?t:Qu(t,e,n)}const _F=AF;var CF=\"\\\\ud800-\\\\udfff\",vF=\"\\\\u0300-\\\\u036f\",yF=\"\\\\ufe20-\\\\ufe2f\",xF=\"\\\\u20d0-\\\\u20ff\",EF=vF+yF+xF,DF=\"\\\\ufe0e\\\\ufe0f\";var IF=\"\\\\u200d\";var TF=RegExp(\"[\"+IF+CF+EF+DF+\"]\");function SF(t){return TF.test(t)}const BF=SF;function MF(t){return t.split(\"\")}const PF=MF;var NF=\"\\\\ud800-\\\\udfff\",LF=\"\\\\u0300-\\\\u036f\",zF=\"\\\\ufe20-\\\\ufe2f\",OF=\"\\\\u20d0-\\\\u20ff\",RF=LF+zF+OF,VF=\"\\\\ufe0e\\\\ufe0f\";var FF=\"[\"+NF+\"]\",jF=\"[\"+RF+\"]\",HF=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",UF=\"(?:\"+jF+\"|\"+HF+\")\",WF=\"[^\"+NF+\"]\",qF=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",GF=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",$F=\"\\\\u200d\";var KF=UF+\"?\",YF=\"[\"+VF+\"]?\",QF=\"(?:\"+$F+\"(?:\"+[WF,qF,GF].join(\"|\")+\")\"+YF+KF+\")*\",ZF=YF+KF+QF,JF=\"(?:\"+[WF+jF+\"?\",jF,qF,GF,FF].join(\"|\")+\")\";var XF=RegExp(HF+\"(?=\"+HF+\")|\"+JF+ZF,\"g\");function tj(t){return t.match(XF)||[]}const ej=tj;function nj(t){return BF(t)?ej(t):PF(t)}const oj=nj;function ij(t){return function(e){e=Vu(e);var n=BF(e)?oj(e):undefined;var o=n?n[0]:e.charAt(0);var i=n?_F(n,1).join(\"\"):e.slice(1);return o[t]()+i}}const rj=ij;var sj=rj(\"toUpperCase\");const aj=sj;var cj=wF((function(t,e,n){return t+(n?\" \":\"\")+aj(e)}));const lj=cj;function dj(t,e,n,o){if(e){hj(t,e,o)}if(n){uj(t,n,o)}}function uj(t,e,n){if(e.attributes){for(const[o,i]of Object.entries(e.attributes)){t.setAttribute(o,i,n)}}if(e.styles){t.setStyle(e.styles,n)}if(e.classes){t.addClass(e.classes,n)}}function hj(t,e,n){if(e.attributes){for(const[o]of Object.entries(e.attributes)){t.removeAttribute(o,n)}}if(e.styles){for(const o of Object.keys(e.styles)){t.removeStyle(o,n)}}if(e.classes){t.removeClass(e.classes,n)}}function mj(t,e){const n=Pf(t);let o=\"attributes\";for(o in e){if(o==\"classes\"){n[o]=Array.from(new Set([...t[o]||[],...e[o]]))}else{n[o]={...t[o],...e[o]}}}return n}function gj(t,e,n,o,i){const r=e.getAttribute(n);const s={};for(const t of[\"attributes\",\"styles\",\"classes\"]){if(t!=o){if(r&&r[t]){s[t]=r[t]}continue}if(o==\"classes\"){const e=new Set(r&&r.classes||[]);i(e);if(e.size){s[t]=Array.from(e)}continue}const e=new Map(Object.entries(r&&r[t]||{}));i(e);if(e.size){s[t]=Object.fromEntries(e)}}if(Object.keys(s).length){if(e.is(\"documentSelection\")){t.setSelectionAttribute(n,s)}else{t.setAttribute(n,s,e)}}else if(r){if(e.is(\"documentSelection\")){t.removeSelectionAttribute(n)}else{t.removeAttribute(n,e)}}}function fj(t){return lj(t).replace(/ /g,\"\")}function pj(t){return`html${fj(t)}Attributes`}function bj({model:t}){return(e,n)=>n.writer.createElement(t,{htmlContent:e.getCustomProperty(\"$rawContent\")})}function kj(t,{view:e,isInline:n}){const o=t.t;return(t,{writer:i})=>{const r=o(\"HTML object\");const s=wj(e,t,i);const a=t.getAttribute(pj(e));i.addClass(\"html-object-embed__content\",s);if(a){uj(i,a,s)}const c=i.createContainerElement(n?\"span\":\"div\",{class:\"html-object-embed\",\"data-html-object-embed-label\":r},s);return xz(c,i,{label:r})}}function wj(t,e,n){return n.createRawElement(t,null,((t,n)=>{n.setContentOf(t,e.getAttribute(\"htmlContent\"))}))}function Aj({view:t,model:e,allowEmpty:n},o){return e=>{e.on(`element:${t}`,((t,e,r)=>{let s=o.processViewAttributes(e.viewItem,r);if(!s&&!r.consumable.test(e.viewItem,{name:true})){return}s=s||{};r.consumable.consume(e.viewItem,{name:true});if(!e.modelRange){e=Object.assign(e,r.convertChildren(e.viewItem,e.modelCursor))}if(n&&e.modelRange.isCollapsed&&Object.keys(s).length){const t=r.writer.createElement(\"htmlEmptyElement\");if(!r.safeInsert(t,e.modelCursor)){return}const n=r.getSplitParts(t);e.modelRange=r.writer.createRange(e.modelRange.start,r.writer.createPositionAfter(n[n.length-1]));r.updateConversionResult(t,e);i(t,s,r);return}for(const t of e.modelRange.getItems()){i(t,s,r)}}),{priority:\"low\"})};function i(t,n,o){if(o.schema.checkAttribute(t,e)){const i=t.getAttribute(e);const r=mj(n,i||{});o.writer.setAttribute(e,r,t)}}}function _j({model:t,view:e},n){return(o,{writer:i,consumable:r})=>{if(!o.hasAttribute(t)){return null}const s=i.createContainerElement(e);const a=o.getAttribute(t);r.consume(o,`attribute:${t}`);uj(i,a,s);s.getFillerOffset=()=>null;return n?xz(s,i):s}}function Cj({priority:t,view:e}){return(n,o)=>{if(!n){return}const{writer:i}=o;const r=i.createAttributeElement(e,null,{priority:t});uj(i,n,r);return r}}function vj({view:t},e){return n=>{n.on(`element:${t}`,((t,n,o)=>{if(!n.modelRange||n.modelRange.isCollapsed){return}const i=e.processViewAttributes(n.viewItem,o);if(!i){return}o.writer.setAttribute(pj(n.viewItem.name),i,n.modelRange)}),{priority:\"low\"})}}function yj({view:t,model:e}){return n=>{n.on(`attribute:${pj(t)}:${e}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const{attributeOldValue:o,attributeNewValue:i}=e;const r=n.writer;const s=n.mapper.toViewElement(e.item);dj(r,o,i,s)}))}}const xj={block:[{model:\"codeBlock\",view:\"pre\"},{model:\"paragraph\",view:\"p\"},{model:\"blockQuote\",view:\"blockquote\"},{model:\"listItem\",view:\"li\"},{model:\"pageBreak\",view:\"div\"},{model:\"rawHtml\",view:\"div\"},{model:\"table\",view:\"table\"},{model:\"tableRow\",view:\"tr\"},{model:\"tableCell\",view:\"td\"},{model:\"tableCell\",view:\"th\"},{model:\"tableColumnGroup\",view:\"colgroup\"},{model:\"tableColumn\",view:\"col\"},{model:\"caption\",view:\"caption\"},{model:\"caption\",view:\"figcaption\"},{model:\"imageBlock\",view:\"img\"},{model:\"imageInline\",view:\"img\"},{model:\"htmlP\",view:\"p\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlBlockquote\",view:\"blockquote\",modelSchema:{inheritAllFrom:\"$container\"}},{model:\"htmlTable\",view:\"table\",modelSchema:{allowWhere:\"$block\",isBlock:true}},{model:\"htmlTbody\",view:\"tbody\",modelSchema:{allowIn:\"htmlTable\",isBlock:false}},{model:\"htmlThead\",view:\"thead\",modelSchema:{allowIn:\"htmlTable\",isBlock:false}},{model:\"htmlTfoot\",view:\"tfoot\",modelSchema:{allowIn:\"htmlTable\",isBlock:false}},{model:\"htmlCaption\",view:\"caption\",modelSchema:{allowIn:\"htmlTable\",allowChildren:\"$text\",isBlock:false}},{model:\"htmlColgroup\",view:\"colgroup\",modelSchema:{allowIn:\"htmlTable\",allowChildren:\"col\",isBlock:false}},{model:\"htmlCol\",view:\"col\",modelSchema:{allowIn:\"htmlColgroup\",isBlock:false}},{model:\"htmlTr\",view:\"tr\",modelSchema:{allowIn:[\"htmlTable\",\"htmlThead\",\"htmlTbody\"],isLimit:true}},{model:\"htmlTd\",view:\"td\",modelSchema:{allowIn:\"htmlTr\",allowContentOf:\"$container\",isLimit:true,isBlock:false}},{model:\"htmlTh\",view:\"th\",modelSchema:{allowIn:\"htmlTr\",allowContentOf:\"$container\",isLimit:true,isBlock:false}},{model:\"htmlFigure\",view:\"figure\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlFigcaption\",view:\"figcaption\",modelSchema:{allowIn:\"htmlFigure\",allowChildren:\"$text\",isBlock:false}},{model:\"htmlAddress\",view:\"address\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlAside\",view:\"aside\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlMain\",view:\"main\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlDetails\",view:\"details\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlSummary\",view:\"summary\",modelSchema:{allowChildren:\"$text\",allowIn:\"htmlDetails\",isBlock:false}},{model:\"htmlDiv\",view:\"div\",paragraphLikeModel:\"htmlDivParagraph\",modelSchema:{inheritAllFrom:\"$container\"}},{model:\"htmlFieldset\",view:\"fieldset\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlLegend\",view:\"legend\",modelSchema:{allowIn:\"htmlFieldset\",allowChildren:\"$text\"}},{model:\"htmlHeader\",view:\"header\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlFooter\",view:\"footer\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlForm\",view:\"form\",modelSchema:{inheritAllFrom:\"$container\",isBlock:true}},{model:\"htmlHgroup\",view:\"hgroup\",modelSchema:{allowChildren:[\"htmlH1\",\"htmlH2\",\"htmlH3\",\"htmlH4\",\"htmlH5\",\"htmlH6\"],isBlock:false}},{model:\"htmlH1\",view:\"h1\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH2\",view:\"h2\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH3\",view:\"h3\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH4\",view:\"h4\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH5\",view:\"h5\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH6\",view:\"h6\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"$htmlList\",modelSchema:{allowWhere:\"$container\",allowChildren:[\"$htmlList\",\"htmlLi\"],isBlock:false}},{model:\"htmlDir\",view:\"dir\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlMenu\",view:\"menu\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlUl\",view:\"ul\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlOl\",view:\"ol\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlLi\",view:\"li\",modelSchema:{allowIn:\"$htmlList\",allowChildren:\"$text\",isBlock:false}},{model:\"htmlPre\",view:\"pre\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlArticle\",view:\"article\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlSection\",view:\"section\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlNav\",view:\"nav\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}},{model:\"htmlDivDl\",view:\"div\",modelSchema:{allowChildren:[\"htmlDt\",\"htmlDd\"],allowIn:\"htmlDl\"}},{model:\"htmlDl\",view:\"dl\",modelSchema:{allowWhere:\"$container\",allowChildren:[\"htmlDt\",\"htmlDd\",\"htmlDivDl\"],isBlock:false}},{model:\"htmlDt\",view:\"dt\",modelSchema:{allowChildren:\"$block\",isBlock:false}},{model:\"htmlDd\",view:\"dd\",modelSchema:{allowChildren:\"$block\",isBlock:false}},{model:\"htmlCenter\",view:\"center\",modelSchema:{inheritAllFrom:\"$container\",isBlock:false}}],inline:[{model:\"htmlLiAttributes\",view:\"li\",appliesToBlock:true,coupledAttribute:\"listItemId\"},{model:\"htmlOlAttributes\",view:\"ol\",appliesToBlock:true,coupledAttribute:\"listItemId\"},{model:\"htmlUlAttributes\",view:\"ul\",appliesToBlock:true,coupledAttribute:\"listItemId\"},{model:\"htmlFigureAttributes\",view:\"figure\",appliesToBlock:\"table\"},{model:\"htmlTheadAttributes\",view:\"thead\",appliesToBlock:\"table\"},{model:\"htmlTbodyAttributes\",view:\"tbody\",appliesToBlock:\"table\"},{model:\"htmlFigureAttributes\",view:\"figure\",appliesToBlock:\"imageBlock\"},{model:\"htmlAcronym\",view:\"acronym\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlTt\",view:\"tt\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlFont\",view:\"font\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlTime\",view:\"time\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlVar\",view:\"var\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlBig\",view:\"big\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlSmall\",view:\"small\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlSamp\",view:\"samp\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlQ\",view:\"q\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlOutput\",view:\"output\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlKbd\",view:\"kbd\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlBdi\",view:\"bdi\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlBdo\",view:\"bdo\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlAbbr\",view:\"abbr\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlA\",view:\"a\",priority:5,coupledAttribute:\"linkHref\"},{model:\"htmlStrong\",view:\"strong\",coupledAttribute:\"bold\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlB\",view:\"b\",coupledAttribute:\"bold\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlI\",view:\"i\",coupledAttribute:\"italic\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlEm\",view:\"em\",coupledAttribute:\"italic\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlS\",view:\"s\",coupledAttribute:\"strikethrough\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlDel\",view:\"del\",coupledAttribute:\"strikethrough\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlIns\",view:\"ins\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlU\",view:\"u\",coupledAttribute:\"underline\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlSub\",view:\"sub\",coupledAttribute:\"subscript\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlSup\",view:\"sup\",coupledAttribute:\"superscript\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlCode\",view:\"code\",coupledAttribute:\"code\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlMark\",view:\"mark\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlSpan\",view:\"span\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlCite\",view:\"cite\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlLabel\",view:\"label\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlDfn\",view:\"dfn\",attributeProperties:{copyOnEnter:true,isFormatting:true}},{model:\"htmlObject\",view:\"object\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlIframe\",view:\"iframe\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlInput\",view:\"input\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlButton\",view:\"button\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlTextarea\",view:\"textarea\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlSelect\",view:\"select\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlVideo\",view:\"video\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlEmbed\",view:\"embed\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlOembed\",view:\"oembed\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlAudio\",view:\"audio\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlImg\",view:\"img\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlCanvas\",view:\"canvas\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlMeter\",view:\"meter\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlProgress\",view:\"progress\",isObject:true,modelSchema:{inheritAllFrom:\"$inlineObject\"}},{model:\"htmlScript\",view:\"script\",modelSchema:{allowWhere:[\"$text\",\"$block\"],isInline:true}},{model:\"htmlStyle\",view:\"style\",modelSchema:{allowWhere:[\"$text\",\"$block\"],isInline:true}},{model:\"htmlCustomElement\",view:\"$customElement\",modelSchema:{allowWhere:[\"$text\",\"$block\"],allowAttributesOf:\"$inlineObject\",isInline:true}}]};var Ej=Gl((function(t,e,n,o){Cl(t,e,n,o)}));const Dj=Ej;class Ij extends Ed{constructor(){super(...arguments);this._definitions=[]}static get pluginName(){return\"DataSchema\"}init(){for(const t of xj.block){this.registerBlockElement(t)}for(const t of xj.inline){this.registerInlineElement(t)}}registerBlockElement(t){this._definitions.push({...t,isBlock:true})}registerInlineElement(t){this._definitions.push({...t,isInline:true})}extendBlockElement(t){this._extendDefinition({...t,isBlock:true})}extendInlineElement(t){this._extendDefinition({...t,isInline:true})}getDefinitionsForView(t,e=false){const n=new Set;for(const o of this._getMatchingViewDefinitions(t)){if(e){for(const t of this._getReferences(o.model)){n.add(t)}}n.add(o)}return n}getDefinitionsForModel(t){return this._definitions.filter((e=>e.model==t))}_getMatchingViewDefinitions(t){return this._definitions.filter((e=>e.view&&Tj(t,e.view)))}*_getReferences(t){const e=[\"inheritAllFrom\",\"inheritTypesFrom\",\"allowWhere\",\"allowContentOf\",\"allowAttributesOf\"];const n=this._definitions.filter((e=>e.model==t));for(const{modelSchema:o}of n){if(!o){continue}for(const n of e){for(const e of sl(o[n]||[])){const n=this._definitions.filter((t=>t.model==e));for(const o of n){if(e!==t){yield*this._getReferences(o.model);yield o}}}}}}_extendDefinition(t){const e=Array.from(this._definitions.entries()).filter((([,e])=>e.model==t.model));if(e.length==0){this._definitions.push(t);return}for(const[n,o]of e){this._definitions[n]=Dj({},o,t,((t,e)=>Array.isArray(t)?t.concat(e):undefined))}}}function Tj(t,e){if(typeof t===\"string\"){return t===e}if(t instanceof RegExp){return t.test(e)}return false}var Sj=n(9064);var Bj={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Bj.insert=\"head\";Bj.singleton=true;var Mj=Ld()(Sj.A,Bj);const Pj=Sj.A.locals||{};class Nj extends Ed{constructor(t){super(t);this._dataSchema=t.plugins.get(\"DataSchema\");this._allowedAttributes=new iu;this._disallowedAttributes=new iu;this._allowedElements=new Set;this._disallowedElements=new Set;this._dataInitialized=false;this._coupledAttributes=null;this._registerElementsAfterInit();this._registerElementHandlers();this._registerCoupledAttributesPostFixer();this._registerAssociatedHtmlAttributesPostFixer()}static get pluginName(){return\"DataFilter\"}static get requires(){return[Ij,uO]}loadAllowedConfig(t){for(const e of t){const t=e.name||/[\\s\\S]+/;const n=Fj(e);this.allowElement(t);n.forEach((t=>this.allowAttributes(t)))}}loadDisallowedConfig(t){for(const e of t){const t=e.name||/[\\s\\S]+/;const n=Fj(e);if(n.length==0){this.disallowElement(t)}else{n.forEach((t=>this.disallowAttributes(t)))}}}loadAllowedEmptyElementsConfig(t){for(const e of t){this.allowEmptyElement(e)}}allowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,true)){this._addAllowedElement(e);this._coupledAttributes=null}}disallowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,false)){this._disallowedElements.add(e.view)}}allowEmptyElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,true)){if(e.isInline){this._dataSchema.extendInlineElement({...e,allowEmpty:true})}}}allowAttributes(t){this._allowedAttributes.add(t)}disallowAttributes(t){this._disallowedAttributes.add(t)}processViewAttributes(t,e){const{consumable:n}=e;Lj(t,this._disallowedAttributes,n);return zj(t,Lj(t,this._allowedAttributes,n))}_addAllowedElement(t){if(this._allowedElements.has(t)){return}this._allowedElements.add(t);if(\"appliesToBlock\"in t&&typeof t.appliesToBlock==\"string\"){for(const e of this._dataSchema.getDefinitionsForModel(t.appliesToBlock)){if(e.isBlock){this._addAllowedElement(e)}}}if(this._dataInitialized){this.editor.data.once(\"set\",(()=>{this._fireRegisterEvent(t)}),{priority:B.highest+1})}}_registerElementsAfterInit(){this.editor.data.on(\"init\",(()=>{this._dataInitialized=true;for(const t of this._allowedElements){this._fireRegisterEvent(t)}}),{priority:B.highest+1})}_registerElementHandlers(){this.on(\"register\",((t,e)=>{const n=this.editor.model.schema;if(e.isObject&&!n.isRegistered(e.model)){this._registerObjectElement(e)}else if(e.isBlock){this._registerBlockElement(e)}else if(e.isInline){this._registerInlineElement(e)}else{throw new N(\"data-filter-invalid-definition\",null,e)}t.stop()}),{priority:\"lowest\"})}_registerCoupledAttributesPostFixer(){const t=this.editor.model;const e=t.document.selection;t.document.registerPostFixer((e=>{const n=t.document.differ.getChanges();let o=false;const i=this._getCoupledAttributesMap();for(const t of n){if(t.type!=\"attribute\"||t.attributeNewValue!==null){continue}const n=i.get(t.attributeKey);if(!n){continue}for(const{item:i}of t.range.getWalker()){for(const t of n){if(i.hasAttribute(t)){e.removeAttribute(t,i);o=true}}}}return o}));this.listenTo(e,\"change:attribute\",((n,{attributeKeys:o})=>{const i=new Set;const r=this._getCoupledAttributesMap();for(const t of o){if(e.hasAttribute(t)){continue}const n=r.get(t);if(!n){continue}for(const t of n){if(e.hasAttribute(t)){i.add(t)}}}if(i.size==0){return}t.change((t=>{for(const e of i){t.removeSelectionAttribute(e)}}))}))}_registerAssociatedHtmlAttributesPostFixer(){const t=this.editor.model;t.document.registerPostFixer((e=>{const n=t.document.differ.getChanges();let o=false;for(const i of n){if(i.type!==\"insert\"||i.name===\"$text\"){continue}for(const n of i.attributes.keys()){if(!n.startsWith(\"html\")||!n.endsWith(\"Attributes\")){continue}if(!t.schema.checkAttribute(i.name,n)){e.removeAttribute(n,i.position.nodeAfter);o=true}}}return o}))}_getCoupledAttributesMap(){if(this._coupledAttributes){return this._coupledAttributes}this._coupledAttributes=new Map;for(const t of this._allowedElements){if(t.coupledAttribute&&t.model){const e=this._coupledAttributes.get(t.coupledAttribute);if(e){e.push(t.model)}else{this._coupledAttributes.set(t.coupledAttribute,[t.model])}}}return this._coupledAttributes}_fireRegisterEvent(t){if(t.view&&this._disallowedElements.has(t.view)){return}this.fire(t.view?`register:${t.view}`:\"register\",t)}_registerObjectElement(t){const e=this.editor;const n=e.model.schema;const o=e.conversion;const{view:i,model:r}=t;n.register(r,t.modelSchema);if(!i){return}n.extend(t.model,{allowAttributes:[pj(i),\"htmlContent\"]});e.data.registerRawContentMatcher({name:i});o.for(\"upcast\").elementToElement({view:i,model:bj(t),converterPriority:B.low+2});o.for(\"upcast\").add(vj(t,this));o.for(\"editingDowncast\").elementToStructure({model:{name:r,attributes:[pj(i)]},view:kj(e,t)});o.for(\"dataDowncast\").elementToElement({model:r,view:(t,{writer:e})=>wj(i,t,e)});o.for(\"dataDowncast\").add(yj(t))}_registerBlockElement(t){const e=this.editor;const n=e.model.schema;const o=e.conversion;const{view:i,model:r}=t;if(!n.isRegistered(t.model)){n.register(t.model,t.modelSchema);if(!i){return}o.for(\"upcast\").elementToElement({model:r,view:i,converterPriority:B.low+2});o.for(\"downcast\").elementToElement({model:r,view:i})}if(!i){return}n.extend(t.model,{allowAttributes:pj(i)});o.for(\"upcast\").add(vj(t,this));o.for(\"downcast\").add(yj(t))}_registerInlineElement(t){const e=this.editor;const n=e.model.schema;const o=e.conversion;const i=t.model;if(t.appliesToBlock){return}n.extend(\"$text\",{allowAttributes:i});if(t.attributeProperties){n.setAttributeProperties(i,t.attributeProperties)}o.for(\"upcast\").add(Aj(t,this));o.for(\"downcast\").attributeToElement({model:i,view:Cj(t)});if(!t.allowEmpty){return}n.setAttributeProperties(i,{copyFromObject:false});if(!n.isRegistered(\"htmlEmptyElement\")){n.register(\"htmlEmptyElement\",{inheritAllFrom:\"$inlineObject\"})}e.data.htmlProcessor.domConverter.registerInlineObjectMatcher((e=>{if(e.name==t.view&&e.isEmpty&&Array.from(e.getAttributeKeys()).length){return{name:true}}return null}));o.for(\"editingDowncast\").elementToElement({model:\"htmlEmptyElement\",view:_j(t,true)});o.for(\"dataDowncast\").elementToElement({model:\"htmlEmptyElement\",view:_j(t)})}}function Lj(t,e,n){const o=e.matchAll(t)||[];const i=t.document.stylesProcessor;return o.reduce(((e,{match:o})=>{for(const r of o.styles||[]){const o=i.getRelatedStyles(r).filter((t=>t.split(\"-\").length>r.split(\"-\").length)).sort(((t,e)=>e.split(\"-\").length-t.split(\"-\").length));for(const i of o){if(n.consume(t,{styles:[i]})){e.styles.push(i)}}if(n.consume(t,{styles:[r]})){e.styles.push(r)}}for(const i of o.classes||[]){if(n.consume(t,{classes:[i]})){e.classes.push(i)}}for(const i of o.attributes||[]){if(n.consume(t,{attributes:[i]})){e.attributes.push(i)}}return e}),{attributes:[],classes:[],styles:[]})}function zj(t,{attributes:e,classes:n,styles:o}){if(!e.length&&!n.length&&!o.length){return null}return{...e.length&&{attributes:Oj(t,e)},...o.length&&{styles:Rj(t,o)},...n.length&&{classes:n}}}function Oj(t,e){const n={};for(const o of e){const e=t.getAttribute(o);if(e!==undefined&&Ec(o)){n[o]=e}}return n}function Rj(t,e){const n=new lh(t.document.stylesProcessor);for(const o of e){const e=t.getStyle(o);if(e!==undefined){n.set(o,e)}}return Object.fromEntries(n.getStylesEntries())}function Vj(t,e){const{name:n}=t;const o=t[e];if(pe(o)){return Object.entries(o).map((([t,o])=>({name:n,[e]:{[t]:o}})))}if(Array.isArray(o)){return o.map((t=>({name:n,[e]:[t]})))}return[t]}function Fj(t){const{name:e,attributes:n,classes:o,styles:i}=t;const r=[];if(n){r.push(...Vj({name:e,attributes:n},\"attributes\"))}if(o){r.push(...Vj({name:e,classes:o},\"classes\"))}if(i){r.push(...Vj({name:e,styles:i},\"styles\"))}return r}class jj extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"CodeBlockElementSupport\"}init(){if(!this.editor.plugins.has(\"CodeBlockEditing\")){return}const t=this.editor.plugins.get(Nj);t.on(\"register:pre\",((e,n)=>{if(n.model!==\"codeBlock\"){return}const o=this.editor;const i=o.model.schema;const r=o.conversion;i.extend(\"codeBlock\",{allowAttributes:[\"htmlPreAttributes\",\"htmlContentAttributes\"]});r.for(\"upcast\").add(Hj(t));r.for(\"downcast\").add(Uj());e.stop()}))}}function Hj(t){return e=>{e.on(\"element:code\",((e,n,o)=>{const i=n.viewItem;const r=i.parent;if(!r||!r.is(\"element\",\"pre\")){return}s(r,\"htmlPreAttributes\");s(i,\"htmlContentAttributes\");function s(e,i){const r=t.processViewAttributes(e,o);if(r){o.writer.setAttribute(i,r,n.modelRange)}}}),{priority:\"low\"})}}function Uj(){return t=>{t.on(\"attribute:htmlPreAttributes:codeBlock\",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const{attributeOldValue:o,attributeNewValue:i}=e;const r=n.mapper.toViewElement(e.item);const s=r.parent;dj(n.writer,o,i,s)}));t.on(\"attribute:htmlContentAttributes:codeBlock\",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const{attributeOldValue:o,attributeNewValue:i}=e;const r=n.mapper.toViewElement(e.item);dj(n.writer,o,i,r)}))}}class Wj extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"DualContentModelElementSupport\"}init(){const t=this.editor.plugins.get(Nj);t.on(\"register\",((t,e)=>{const n=e;const o=this.editor;const i=o.model.schema;const r=o.conversion;if(!n.paragraphLikeModel){return}if(i.isRegistered(n.model)||i.isRegistered(n.paragraphLikeModel)){return}const s={model:n.paragraphLikeModel,view:n.view};i.register(n.model,n.modelSchema);i.register(s.model,{inheritAllFrom:\"$block\"});r.for(\"upcast\").elementToElement({view:n.view,model:(t,{writer:e})=>{if(this._hasBlockContent(t)){return e.createElement(n.model)}return e.createElement(s.model)},converterPriority:B.low+.5});r.for(\"downcast\").elementToElement({view:n.view,model:n.model});this._addAttributeConversion(n);r.for(\"downcast\").elementToElement({view:s.view,model:s.model});this._addAttributeConversion(s);t.stop()}))}_hasBlockContent(t){const e=this.editor.editing.view;const n=e.domConverter.blockElements;for(const o of e.createRangeIn(t).getItems()){if(o.is(\"element\")&&n.includes(o.name)){return true}}return false}_addAttributeConversion(t){const e=this.editor;const n=e.conversion;const o=e.plugins.get(Nj);e.model.schema.extend(t.model,{allowAttributes:pj(t.view)});n.for(\"upcast\").add(vj(t,o));n.for(\"downcast\").add(yj(t))}}class qj extends Ed{static get requires(){return[Ij,lP]}static get pluginName(){return\"HeadingElementSupport\"}init(){const t=this.editor;if(!t.plugins.has(\"HeadingEditing\")){return}const e=t.config.get(\"heading.options\");this.registerHeadingElements(t,e)}registerHeadingElements(t,e){const n=t.plugins.get(Ij);const o=[];for(const t of e){if(\"model\"in t&&\"view\"in t){n.registerBlockElement({view:t.view,model:t.model});o.push(t.model)}}n.extendBlockElement({model:\"htmlHgroup\",modelSchema:{allowChildren:o}})}}function Gj(t,e,n){const o=t.createRangeOn(e);for(const{item:t}of o.getWalker()){if(t.is(\"element\",n)){return t}}}class $j extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"ImageElementSupport\"}init(){const t=this.editor;if(!t.plugins.has(\"ImageInlineEditing\")&&!t.plugins.has(\"ImageBlockEditing\")){return}const e=t.model.schema;const n=t.conversion;const o=t.plugins.get(Nj);o.on(\"register:figure\",(()=>{n.for(\"upcast\").add(Qj(o))}));o.on(\"register:img\",((i,r)=>{if(r.model!==\"imageBlock\"&&r.model!==\"imageInline\"){return}if(e.isRegistered(\"imageBlock\")){e.extend(\"imageBlock\",{allowAttributes:[\"htmlImgAttributes\",\"htmlFigureAttributes\",\"htmlLinkAttributes\"]})}if(e.isRegistered(\"imageInline\")){e.extend(\"imageInline\",{allowAttributes:[\"htmlA\",\"htmlImgAttributes\"]})}n.for(\"upcast\").add(Kj(o));n.for(\"downcast\").add(Zj());if(t.plugins.has(\"LinkImage\")){n.for(\"upcast\").add(Yj(o,t))}i.stop()}))}}function Kj(t){return e=>{e.on(\"element:img\",((e,n,o)=>{if(!n.modelRange){return}const i=n.viewItem;const r=t.processViewAttributes(i,o);if(r){o.writer.setAttribute(\"htmlImgAttributes\",r,n.modelRange)}}),{priority:\"low\"})}}function Yj(t,e){const n=e.plugins.get(\"ImageUtils\");return e=>{e.on(\"element:a\",((e,o,i)=>{const r=o.viewItem;const s=n.findViewImgElement(r);if(!s){return}const a=o.modelCursor.parent;if(!a.is(\"element\",\"imageBlock\")){return}const c=t.processViewAttributes(r,i);if(c){i.writer.setAttribute(\"htmlLinkAttributes\",c,a)}}),{priority:\"low\"})}}function Qj(t){return e=>{e.on(\"element:figure\",((e,n,o)=>{const i=n.viewItem;if(!n.modelRange||!i.hasClass(\"image\")){return}const r=t.processViewAttributes(i,o);if(r){o.writer.setAttribute(\"htmlFigureAttributes\",r,n.modelRange)}}),{priority:\"low\"})}}function Zj(){return t=>{e(\"htmlImgAttributes\");n(\"img\",\"htmlImgAttributes\");n(\"figure\",\"htmlFigureAttributes\");n(\"a\",\"htmlLinkAttributes\");function e(e){t.on(`attribute:${e}:imageInline`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const{attributeOldValue:o,attributeNewValue:i}=e;const r=n.mapper.toViewElement(e.item);dj(n.writer,o,i,r)}),{priority:\"low\"})}function n(e,n){t.on(`attribute:${n}:imageBlock`,((t,n,o)=>{if(!o.consumable.test(n.item,t.name)){return}const{attributeOldValue:i,attributeNewValue:r}=n;const s=o.mapper.toViewElement(n.item);const a=Gj(o.writer,s,e);if(a){dj(o.writer,i,r,a);o.consumable.consume(n.item,t.name)}}),{priority:\"low\"});if(e===\"a\"){t.on(\"attribute:linkHref:imageBlock\",((t,e,n)=>{if(!n.consumable.consume(e.item,\"attribute:htmlLinkAttributes:imageBlock\")){return}const o=n.mapper.toViewElement(e.item);const i=Gj(n.writer,o,\"a\");uj(n.writer,e.item.getAttribute(\"htmlLinkAttributes\"),i)}),{priority:\"low\"})}}}}class Jj extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"MediaEmbedElementSupport\"}init(){const t=this.editor;if(!t.plugins.has(\"MediaEmbed\")||t.config.get(\"mediaEmbed.previewsInData\")){return}const e=t.model.schema;const n=t.conversion;const o=this.editor.plugins.get(Nj);const i=this.editor.plugins.get(Ij);const r=t.config.get(\"mediaEmbed.elementName\");i.registerBlockElement({model:\"media\",view:r});o.on(\"register:figure\",(()=>{n.for(\"upcast\").add(tH(o))}));o.on(`register:${r}`,((t,i)=>{if(i.model!==\"media\"){return}e.extend(\"media\",{allowAttributes:[pj(r),\"htmlFigureAttributes\"]});n.for(\"upcast\").add(Xj(o,r));n.for(\"dataDowncast\").add(eH(r));t.stop()}))}}function Xj(t,e){const n=(n,o,i)=>{const r=o.viewItem;s(r,pj(e));function s(e,n){const r=t.processViewAttributes(e,i);if(r){i.writer.setAttribute(n,r,o.modelRange)}}};return t=>{t.on(`element:${e}`,n,{priority:\"low\"})}}function tH(t){return e=>{e.on(\"element:figure\",((e,n,o)=>{const i=n.viewItem;if(!n.modelRange||!i.hasClass(\"media\")){return}const r=t.processViewAttributes(i,o);if(r){o.writer.setAttribute(\"htmlFigureAttributes\",r,n.modelRange)}}),{priority:\"low\"})}}function eH(t){return e=>{n(t,pj(t));n(\"figure\",\"htmlFigureAttributes\");function n(t,n){e.on(`attribute:${n}:media`,((e,n,o)=>{if(!o.consumable.consume(n.item,e.name)){return}const{attributeOldValue:i,attributeNewValue:r}=n;const s=o.mapper.toViewElement(n.item);const a=Gj(o.writer,s,t);dj(o.writer,i,r,a)}))}}}class nH extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"ScriptElementSupport\"}init(){const t=this.editor.plugins.get(Nj);t.on(\"register:script\",((e,n)=>{const o=this.editor;const i=o.model.schema;const r=o.conversion;i.register(\"htmlScript\",n.modelSchema);i.extend(\"htmlScript\",{allowAttributes:[\"htmlScriptAttributes\",\"htmlContent\"],isContent:true});o.data.registerRawContentMatcher({name:\"script\"});r.for(\"upcast\").elementToElement({view:\"script\",model:bj(n)});r.for(\"upcast\").add(vj(n,t));r.for(\"downcast\").elementToElement({model:\"htmlScript\",view:(t,{writer:e})=>wj(\"script\",t,e)});r.for(\"downcast\").add(yj(n));e.stop()}))}}class oH extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"TableElementSupport\"}init(){const t=this.editor;if(!t.plugins.has(\"TableEditing\")){return}const e=t.model.schema;const n=t.conversion;const o=t.plugins.get(Nj);const i=t.plugins.get(\"TableUtils\");o.on(\"register:figure\",(()=>{n.for(\"upcast\").add(sH(o))}));o.on(\"register:table\",((r,s)=>{if(s.model!==\"table\"){return}e.extend(\"table\",{allowAttributes:[\"htmlTableAttributes\",\"htmlFigureAttributes\",\"htmlTheadAttributes\",\"htmlTbodyAttributes\"]});n.for(\"upcast\").add(rH(o));n.for(\"downcast\").add(aH());t.model.document.registerPostFixer(iH(t.model,i));r.stop()}))}}function iH(t,e){return n=>{const o=t.document.differ.getChanges();let i=false;for(const t of o){if(t.type!=\"attribute\"||t.attributeKey!=\"headingRows\"){continue}const o=t.range.start.nodeAfter;const r=o.getAttribute(\"htmlTheadAttributes\");const s=o.getAttribute(\"htmlTbodyAttributes\");if(r&&!t.attributeNewValue){n.removeAttribute(\"htmlTheadAttributes\",o);i=true}else if(s&&t.attributeNewValue==e.getRows(o)){n.removeAttribute(\"htmlTbodyAttributes\",o);i=true}}return i}}function rH(t){return e=>{e.on(\"element:table\",((e,n,o)=>{if(!n.modelRange){return}const i=n.viewItem;r(i,\"htmlTableAttributes\");for(const t of i.getChildren()){if(t.is(\"element\",\"thead\")){r(t,\"htmlTheadAttributes\")}if(t.is(\"element\",\"tbody\")){r(t,\"htmlTbodyAttributes\")}}function r(e,i){const r=t.processViewAttributes(e,o);if(r){o.writer.setAttribute(i,r,n.modelRange)}}}),{priority:\"low\"})}}function sH(t){return e=>{e.on(\"element:figure\",((e,n,o)=>{const i=n.viewItem;if(!n.modelRange||!i.hasClass(\"table\")){return}const r=t.processViewAttributes(i,o);if(r){o.writer.setAttribute(\"htmlFigureAttributes\",r,n.modelRange)}}),{priority:\"low\"})}}function aH(){return t=>{e(\"table\",\"htmlTableAttributes\");e(\"figure\",\"htmlFigureAttributes\");e(\"thead\",\"htmlTheadAttributes\");e(\"tbody\",\"htmlTbodyAttributes\");function e(e,n){t.on(`attribute:${n}:table`,((t,n,o)=>{if(!o.consumable.test(n.item,t.name)){return}const i=o.mapper.toViewElement(n.item);const r=Gj(o.writer,i,e);if(!r){return}o.consumable.consume(n.item,t.name);dj(o.writer,n.attributeOldValue,n.attributeNewValue,r)}))}}}class cH extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"StyleElementSupport\"}init(){const t=this.editor.plugins.get(Nj);t.on(\"register:style\",((e,n)=>{const o=this.editor;const i=o.model.schema;const r=o.conversion;i.register(\"htmlStyle\",n.modelSchema);i.extend(\"htmlStyle\",{allowAttributes:[\"htmlStyleAttributes\",\"htmlContent\"],isContent:true});o.data.registerRawContentMatcher({name:\"style\"});r.for(\"upcast\").elementToElement({view:\"style\",model:bj(n)});r.for(\"upcast\").add(vj(n,t));r.for(\"downcast\").elementToElement({model:\"htmlStyle\",view:(t,{writer:e})=>wj(\"style\",t,e)});r.for(\"downcast\").add(yj(n));e.stop()}))}}class lH extends Ed{static get requires(){return[Nj]}static get pluginName(){return\"ListElementSupport\"}init(){const t=this.editor;if(!t.plugins.has(\"ListEditing\")){return}const e=t.model.schema;const n=t.conversion;const o=t.plugins.get(Nj);const i=t.plugins.get(\"ListEditing\");const r=t.plugins.get(\"ListUtils\");const s=[\"ul\",\"ol\",\"li\"];i.registerDowncastStrategy({scope:\"item\",attributeName:\"htmlLiAttributes\",setAttributeOnDowncast:uj});i.registerDowncastStrategy({scope:\"list\",attributeName:\"htmlUlAttributes\",setAttributeOnDowncast:uj});i.registerDowncastStrategy({scope:\"list\",attributeName:\"htmlOlAttributes\",setAttributeOnDowncast:uj});o.on(\"register\",((t,i)=>{if(!s.includes(i.view)){return}t.stop();if(e.checkAttribute(\"$block\",\"htmlLiAttributes\")){return}const r=s.map((t=>pj(t)));e.extend(\"$listItem\",{allowAttributes:r});n.for(\"upcast\").add((t=>{t.on(\"element:ul\",dH(\"htmlUlAttributes\",o),{priority:\"low\"});t.on(\"element:ol\",dH(\"htmlOlAttributes\",o),{priority:\"low\"});t.on(\"element:li\",dH(\"htmlLiAttributes\",o),{priority:\"low\"})}))}));i.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{for(const{node:o,previousNodeInList:i}of e){if(!i){continue}if(i.getAttribute(\"listType\")==o.getAttribute(\"listType\")){const e=uH(i.getAttribute(\"listType\"));const r=i.getAttribute(e);if(!jk(o.getAttribute(e),r)&&n.model.schema.checkAttribute(o,e)){n.setAttribute(e,r,o);t.return=true}}if(i.getAttribute(\"listItemId\")==o.getAttribute(\"listItemId\")){const e=i.getAttribute(\"htmlLiAttributes\");if(!jk(o.getAttribute(\"htmlLiAttributes\"),e)&&n.model.schema.checkAttribute(o,\"htmlLiAttributes\")){n.setAttribute(\"htmlLiAttributes\",e,o);t.return=true}}}}));i.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{for(const{node:o}of e){const e=o.getAttribute(\"listType\");if(!r.isNumberedListType(e)&&o.getAttribute(\"htmlOlAttributes\")){n.removeAttribute(\"htmlOlAttributes\",o);t.return=true}if(r.isNumberedListType(e)&&o.getAttribute(\"htmlUlAttributes\")){n.removeAttribute(\"htmlUlAttributes\",o);t.return=true}}}))}afterInit(){const t=this.editor;if(!t.commands.get(\"indentList\")){return}const e=t.commands.get(\"indentList\");this.listenTo(e,\"afterExecute\",((e,n)=>{t.model.change((e=>{for(const o of n){const n=uH(o.getAttribute(\"listType\"));if(!t.model.schema.checkAttribute(o,n)){continue}e.setAttribute(n,{},o)}}))}))}}function dH(t,e){return(n,o,i)=>{const r=o.viewItem;if(!o.modelRange){Object.assign(o,i.convertChildren(o.viewItem,o.modelCursor))}const s=e.processViewAttributes(r,i);for(const e of o.modelRange.getItems({shallow:true})){if(!e.hasAttribute(\"listItemId\")){continue}if(e.hasAttribute(t)){continue}if(i.writer.model.schema.checkAttribute(e,t)){i.writer.setAttribute(t,s||{},e)}}}}function uH(t){return t===\"numbered\"||t==\"customNumbered\"?\"htmlOlAttributes\":\"htmlUlAttributes\"}class hH extends Ed{static get requires(){return[Nj,Ij]}static get pluginName(){return\"CustomElementSupport\"}init(){const t=this.editor.plugins.get(Nj);const e=this.editor.plugins.get(Ij);t.on(\"register:$customElement\",((n,o)=>{n.stop();const i=this.editor;const r=i.model.schema;const s=i.conversion;const a=i.editing.view.domConverter.unsafeElements;const c=i.data.htmlProcessor.domConverter.preElements;r.register(o.model,o.modelSchema);r.extend(o.model,{allowAttributes:[\"htmlElementName\",\"htmlCustomElementAttributes\",\"htmlContent\"],isContent:true});i.data.htmlProcessor.domConverter.registerRawContentMatcher({name:\"template\"});s.for(\"upcast\").elementToElement({view:/.*/,model:(n,r)=>{if(n.name==\"$comment\"){return null}if(!mH(n.name)){return null}if(e.getDefinitionsForView(n.name).size){return null}if(!a.includes(n.name)){a.push(n.name)}if(!c.includes(n.name)){c.push(n.name)}const s=r.writer.createElement(o.model,{htmlElementName:n.name});const l=t.processViewAttributes(n,r);if(l){r.writer.setAttribute(\"htmlCustomElementAttributes\",l,s)}let d;if(n.is(\"element\",\"template\")&&n.getCustomProperty(\"$rawContent\")){d=n.getCustomProperty(\"$rawContent\")}else{const t=new uA(n.document);const e=t.createDocumentFragment(n);const o=i.data.htmlProcessor.domConverter.viewToDom(e);const r=o.firstChild;while(r.firstChild){o.appendChild(r.firstChild)}r.remove();d=i.data.htmlProcessor.htmlWriter.getHtml(o)}r.writer.setAttribute(\"htmlContent\",d,s);for(const{item:t}of i.editing.view.createRangeIn(n)){r.consumable.consume(t,{name:true})}return s},converterPriority:\"low\"});s.for(\"editingDowncast\").elementToElement({model:{name:o.model,attributes:[\"htmlElementName\",\"htmlCustomElementAttributes\",\"htmlContent\"]},view:(t,{writer:e})=>{const n=t.getAttribute(\"htmlElementName\");const o=e.createRawElement(n);if(t.hasAttribute(\"htmlCustomElementAttributes\")){uj(e,t.getAttribute(\"htmlCustomElementAttributes\"),o)}return o}});s.for(\"dataDowncast\").elementToElement({model:{name:o.model,attributes:[\"htmlElementName\",\"htmlCustomElementAttributes\",\"htmlContent\"]},view:(t,{writer:e})=>{const n=t.getAttribute(\"htmlElementName\");const o=t.getAttribute(\"htmlContent\");const i=e.createRawElement(n,null,((t,e)=>{e.setContentOf(t,o)}));if(t.hasAttribute(\"htmlCustomElementAttributes\")){uj(e,t.getAttribute(\"htmlCustomElementAttributes\"),i)}return i}})}))}}function mH(t){try{document.createElement(t)}catch(t){return false}return true}class gH extends Ed{static get pluginName(){return\"GeneralHtmlSupport\"}static get requires(){return[Nj,jj,Wj,qj,$j,Jj,nH,oH,cH,lH,hH]}init(){const t=this.editor;const e=t.plugins.get(Nj);e.loadAllowedEmptyElementsConfig(t.config.get(\"htmlSupport.allowEmpty\")||[]);e.loadAllowedConfig(t.config.get(\"htmlSupport.allow\")||[]);e.loadDisallowedConfig(t.config.get(\"htmlSupport.disallow\")||[])}getGhsAttributeNameForElement(t){const e=this.editor.plugins.get(\"DataSchema\");const n=Array.from(e.getDefinitionsForView(t,false));const o=n.find((t=>t.isInline&&!n[0].isObject));if(o){return o.model}return pj(t)}addModelHtmlClass(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"classes\",(t=>{for(const n of sl(e)){t.add(n)}}))}}))}removeModelHtmlClass(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"classes\",(t=>{for(const n of sl(e)){t.delete(n)}}))}}))}setModelHtmlAttributes(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"attributes\",(t=>{for(const[n,o]of Object.entries(e)){t.set(n,o)}}))}}))}removeModelHtmlAttributes(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"attributes\",(t=>{for(const n of sl(e)){t.delete(n)}}))}}))}setModelHtmlStyles(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"styles\",(t=>{for(const[n,o]of Object.entries(e)){t.set(n,o)}}))}}))}removeModelHtmlStyles(t,e,n){const o=this.editor.model;const i=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const r of fH(o,n,i)){gj(t,r,i,\"styles\",(t=>{for(const n of sl(e)){t.delete(n)}}))}}))}}function*fH(t,e,n){if(!e){return}if(!(Symbol.iterator in e)&&e.is(\"documentSelection\")&&e.isCollapsed){if(t.schema.checkAttributeInSelection(e,n)){yield e}}else{for(const o of pH(t,e,n)){yield*o.getItems({shallow:true})}}}function pH(t,e,n){if(!(Symbol.iterator in e)&&(e.is(\"node\")||e.is(\"$text\")||e.is(\"$textProxy\"))){if(t.schema.checkAttribute(e,n)){return[t.createRangeOn(e)]}else{return[]}}else{return t.schema.getValidRanges(t.createSelection(e).getRanges(),n)}}class bH extends Ed{static get pluginName(){return\"HtmlComment\"}init(){const t=this.editor;const e=new Map;t.data.processor.skipComments=false;t.model.schema.addAttributeCheck(((t,e)=>{if(t.endsWith(\"$root\")&&e.startsWith(\"$comment\")){return true}}));t.conversion.for(\"upcast\").elementToMarker({view:\"$comment\",model:t=>{const n=T();const o=`$comment:${n}`;const i=t.getCustomProperty(\"$rawContent\");e.set(o,i);return o}});t.conversion.for(\"dataDowncast\").markerToElement({model:\"$comment\",view:(t,{writer:e})=>{let n=undefined;for(const e of this.editor.model.document.getRootNames()){n=this.editor.model.document.getRoot(e);if(n.hasAttribute(t.markerName)){break}}const o=t.markerName;const i=n.getAttribute(o);const r=e.createUIElement(\"$comment\");e.setCustomProperty(\"$rawContent\",i,r);return r}});t.model.document.registerPostFixer((n=>{let o=false;const i=t.model.document.differ.getChangedMarkers().filter((t=>t.name.startsWith(\"$comment:\")));for(const t of i){const{oldRange:i,newRange:r}=t.data;if(i&&r&&i.root==r.root){continue}if(i){const e=i.root;if(e.hasAttribute(t.name)){n.removeAttribute(t.name,e);o=true}}if(r){const i=r.root;if(i.rootName==\"$graveyard\"){n.removeMarker(t.name);o=true}else if(!i.hasAttribute(t.name)){n.setAttribute(t.name,e.get(t.name)||\"\",i);o=true}}}return o}));t.data.on(\"set\",(()=>{for(const e of t.model.markers.getMarkersGroup(\"$comment\")){this.removeHtmlComment(e.name)}}),{priority:\"high\"});t.model.on(\"deleteContent\",((e,[n])=>{for(const e of n.getRanges()){const n=t.model.schema.getLimitElement(e);const o=t.model.createPositionAt(n,0);const i=t.model.createPositionAt(n,\"end\");let r;if(o.isTouching(e.start)&&i.isTouching(e.end)){r=this.getHtmlCommentsInRange(t.model.createRange(o,i))}else{r=this.getHtmlCommentsInRange(e,{skipBoundaries:true})}for(const t of r){this.removeHtmlComment(t)}}}),{priority:\"high\"})}createHtmlComment(t,e){const n=T();const o=this.editor;const i=o.model;const r=i.document.getRoot(t.root.rootName);const s=`$comment:${n}`;return i.change((n=>{const o=n.createRange(t);n.addMarker(s,{usingOperation:true,affectsData:true,range:o});n.setAttribute(s,e,r);return s}))}removeHtmlComment(t){const e=this.editor;const n=e.model.markers.get(t);if(!n){return false}e.model.change((t=>{t.removeMarker(n)}));return true}getHtmlCommentData(t){const e=this.editor;const n=e.model.markers.get(t);if(!n){return null}let o=\"\";for(const e of this.editor.model.document.getRoots()){if(e.hasAttribute(t)){o=e.getAttribute(t);break}}return{content:o,position:n.getStart()}}getHtmlCommentsInRange(t,{skipBoundaries:e=false}={}){const n=!e;return Array.from(this.editor.model.markers.getMarkersGroup(\"$comment\")).filter((e=>o(e,t))).map((t=>t.name));function o(t,e){const o=t.getRange().start;return(o.isAfter(e.start)||n&&o.isEqual(e.start))&&(o.isBefore(e.end)||n&&o.isEqual(e.end))}}}class kH extends Ak{toView(t){if(!t.match(/<(?:html|body|head|meta)(?:\\s[^>]*)?>/i)){return super.toView(t)}let e=\"\";let n=\"\";t=t.replace(/]*>/i,(t=>{e=t;return\"\"}));t=t.replace(/<\\?xml\\s[^?]*\\?>/i,(t=>{n=t;return\"\"}));const o=this._toDom(t);const i=this.domConverter.domToView(o,{skipComments:this.skipComments});const r=new uA(i.document);r.setCustomProperty(\"$fullPageDocument\",o.ownerDocument.documentElement.outerHTML,i);if(e){r.setCustomProperty(\"$fullPageDocType\",e,i)}if(n){r.setCustomProperty(\"$fullPageXmlDeclaration\",n,i)}return i}toData(t){let e=super.toData(t);const n=t.getCustomProperty(\"$fullPageDocument\");const o=t.getCustomProperty(\"$fullPageDocType\");const i=t.getCustomProperty(\"$fullPageXmlDeclaration\");if(n){e=n.replace(/<\\/body\\s*>/,e+\"$&\");if(o){e=o+\"\\n\"+e}if(i){e=i+\"\\n\"+e}}return e}}class wH extends Ed{static get pluginName(){return\"FullPage\"}init(){const t=this.editor;const e=[\"$fullPageDocument\",\"$fullPageDocType\",\"$fullPageXmlDeclaration\"];t.data.processor=new kH(t.data.viewDocument);t.model.schema.extend(\"$root\",{allowAttributes:e});t.data.on(\"toModel\",((n,[o])=>{const i=t.model.document.getRoot();t.model.change((t=>{for(const n of e){const e=o.getCustomProperty(n);if(e){t.setAttribute(n,e,i)}}}))}),{priority:\"low\"});t.data.on(\"toView\",((t,[n])=>{if(!n.is(\"rootElement\")){return}const o=n;const i=t.return;if(!o.hasAttribute(\"$fullPageDocument\")){return}const r=new uA(i.document);for(const t of e){const e=o.getAttribute(t);if(e){r.setCustomProperty(t,e,i)}}}),{priority:\"low\"});t.data.on(\"set\",(()=>{const n=t.model.document.getRoot();t.model.change((t=>{for(const o of e){if(n.hasAttribute(o)){t.removeAttribute(o,n)}}}))}),{priority:\"high\"});t.data.on(\"get\",((t,e)=>{if(!e[0]){e[0]={}}e[0].trim=false}),{priority:\"high\"})}}function AH(t){return t.createContainerElement(\"span\",{class:\"image-inline\"},t.createEmptyElement(\"img\"))}function _H(t){return t.createContainerElement(\"figure\",{class:\"image\"},[t.createEmptyElement(\"img\"),t.createSlot(\"children\")])}function CH(t,e){const n=t.plugins.get(\"ImageUtils\");const o=t.plugins.has(\"ImageInlineEditing\")&&t.plugins.has(\"ImageBlockEditing\");return t=>{if(!n.isInlineImageView(t)){return null}if(!o){return i(t)}const r=t.getStyle(\"display\")==\"block\"||t.findAncestor(n.isBlockImageView)?\"imageBlock\":\"imageInline\";if(r!==e){return null}return i(t)};function i(t){const e={name:true};if(t.hasAttribute(\"src\")){e.attributes=[\"src\"]}return e}}function vH(t,e){const n=sd(e.getSelectedBlocks());if(!n||t.isObject(n)){return\"imageBlock\"}if(n.isEmpty&&n.name!=\"listItem\"){return\"imageBlock\"}return\"imageInline\"}function yH(t){if(t&&t.endsWith(\"px\")){return parseInt(t)}return null}function xH(t){const e=yH(t.getStyle(\"width\"));const n=yH(t.getStyle(\"height\"));return!!(e&&n)}const EH=/^(image|image-inline)$/;class DH extends Ed{constructor(){super(...arguments);this._domEmitter=new(Ja())}static get pluginName(){return\"ImageUtils\"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is(\"element\",\"img\")}isBlockImageView(t){return!!t&&t.is(\"element\",\"figure\")&&t.hasClass(\"image\")}insertImage(t={},e=null,n=null,o={}){const i=this.editor;const r=i.model;const s=r.document.selection;const a=BH(i,e||s,n);t={...Object.fromEntries(s.getAttributes()),...t};for(const e in t){if(!r.schema.checkAttribute(a,e)){delete t[e]}}return r.change((n=>{const{setImageSizes:i=true}=o;const s=n.createElement(a,t);r.insertObject(s,e,null,{setSelection:\"on\",findOptimalPosition:!e&&a!=\"imageInline\"?\"auto\":undefined});if(s.parent){if(i){this.setImageNaturalSizeAttributes(s)}return s}return null}))}setImageNaturalSizeAttributes(t){const e=t.getAttribute(\"src\");if(!e){return}if(t.getAttribute(\"width\")||t.getAttribute(\"height\")){return}this.editor.model.change((n=>{const o=new oc.window.Image;this._domEmitter.listenTo(o,\"load\",(()=>{if(!t.getAttribute(\"width\")&&!t.getAttribute(\"height\")){this.editor.model.enqueueChange(n.batch,(e=>{e.setAttribute(\"width\",o.naturalWidth,t);e.setAttribute(\"height\",o.naturalHeight,t)}))}this._domEmitter.stopListening(o,\"load\")}));o.src=e}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e){return null}const n=t.getSelectedElement();if(n&&this.isImageWidget(n)){return n}let o=e.parent;while(o){if(o.is(\"element\")&&this.isImageWidget(o)){return o}o=o.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor(\"imageBlock\")}getImageWidgetFromImageView(t){return t.findAncestor({classes:EH})}isImageAllowed(){const t=this.editor.model;const e=t.document.selection;return IH(this.editor,e)&&TH(e)}toImageWidget(t,e,n){e.setCustomProperty(\"image\",true,t);const o=()=>{const e=this.findViewImgElement(t);const o=e.getAttribute(\"alt\");return o?`${o} ${n}`:n};return xz(t,e,{label:o})}isImageWidget(t){return!!t.getCustomProperty(\"image\")&&yz(t)}isBlockImage(t){return!!t&&t.is(\"element\",\"imageBlock\")}isInlineImage(t){return!!t&&t.is(\"element\",\"imageInline\")}findViewImgElement(t){if(this.isInlineImageView(t)){return t}const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t)){if(this.isInlineImageView(n)){return n}}}destroy(){this._domEmitter.stopListening();return super.destroy()}}function IH(t,e){const n=BH(t,e,null);if(n==\"imageBlock\"){const n=SH(e,t.model);if(t.model.schema.checkChild(n,\"imageBlock\")){return true}}else if(t.model.schema.checkChild(e.focus,\"imageInline\")){return true}return false}function TH(t){return[...t.focus.getAncestors()].every((t=>!t.is(\"element\",\"imageBlock\")))}function SH(t,e){const n=Mz(t,e);const o=n.start.parent;if(o.isEmpty&&!o.is(\"element\",\"$root\")){return o.parent}return o}function BH(t,e,n){const o=t.model.schema;const i=t.config.get(\"image.insert.type\");if(!t.plugins.has(\"ImageBlockEditing\")){return\"imageInline\"}if(!t.plugins.has(\"ImageInlineEditing\")){return\"imageBlock\"}if(n){return n}if(i===\"inline\"){return\"imageInline\"}if(i!==\"auto\"){return\"imageBlock\"}if(e.is(\"selection\")){return vH(o,e)}return o.checkChild(e,\"imageInline\")?\"imageInline\":\"imageBlock\"}const MH=new RegExp(String(/^(http(s)?:\\/\\/)?[\\w-]+\\.[\\w.~:/[\\]@!$&'()*+,;=%-]+/.source+/\\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\\?[\\w.~:/[\\]@!$&'()*+,;=%-]*)?/.source+/(#[\\w.~:/[\\]@!$&'()*+,;=%-]*)?$/.source));class PH extends Ed{static get requires(){return[nR,DH,bR,RB]}static get pluginName(){return\"AutoImage\"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;const n=t.plugins.get(\"ClipboardPipeline\");this.listenTo(n,\"inputTransformation\",(()=>{const t=e.selection.getFirstRange();const n=cw.fromPosition(t.start);n.stickiness=\"toPrevious\";const o=cw.fromPosition(t.end);o.stickiness=\"toNext\";e.once(\"change:data\",(()=>{this._embedImageBetweenPositions(n,o);n.detach();o.detach()}),{priority:\"high\"})}));t.commands.get(\"undo\").on(\"execute\",(()=>{if(this._timeoutId){oc.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:\"high\"})}_embedImageBetweenPositions(t,e){const n=this.editor;const o=new mp(t,e);const i=o.getWalker({ignoreElementEnd:true});const r=Object.fromEntries(n.model.document.selection.getAttributes());const s=this.editor.plugins.get(\"ImageUtils\");let a=\"\";for(const t of i){if(t.item.is(\"$textProxy\")){a+=t.item.data}}a=a.trim();if(!a.match(MH)){o.detach();return}this._positionToInsert=cw.fromPosition(t);this._timeoutId=setTimeout((()=>{const t=n.commands.get(\"insertImage\");if(!t.isEnabled){o.detach();return}n.model.change((t=>{this._timeoutId=null;t.remove(o);o.detach();let e;if(this._positionToInsert.root.rootName!==\"$graveyard\"){e=this._positionToInsert.toPosition()}s.insertImage({...r,src:a},e);this._positionToInsert.detach();this._positionToInsert=null}));const e=n.plugins.get(\"Delete\");e.requestUndoOnBackspace()}),100)}}class NH extends Id{refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n;if(this.isEnabled&&n.hasAttribute(\"alt\")){this.value=n.getAttribute(\"alt\")}else{this.value=false}}execute(t){const e=this.editor;const n=e.plugins.get(\"ImageUtils\");const o=e.model;const i=n.getClosestSelectedImageElement(o.document.selection);o.change((e=>{e.setAttribute(\"alt\",t.newValue,i)}))}}class LH extends Ed{static get requires(){return[DH]}static get pluginName(){return\"ImageTextAlternativeEditing\"}init(){this.editor.commands.add(\"imageTextAlternative\",new NH(this.editor))}}var zH=n(8748);var OH={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};OH.insert=\"head\";OH.singleton=true;var RH=Ld()(zH.A,OH);const VH=zH.A.locals||{};var FH=n(7072);var jH={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};jH.insert=\"head\";jH.singleton=true;var HH=Ld()(FH.A,jH);const UH=FH.A.locals||{};class WH extends ov{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new ad;this.keystrokes=new cd;this.labeledInput=this._createLabeledInputView();this.saveButtonView=this._createButton(e(\"Save\"),CC.check,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(e(\"Cancel\"),CC.cancel,\"ck-button-cancel\",\"cancel\");this._focusables=new vC;this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-text-alternative-form\",\"ck-responsive-form\"],tabindex:\"-1\"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]})}render(){super.render();this.keystrokes.listenTo(this.element);i({view:this});[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}))}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}_createButton(t,e,n,o){const i=new Sv(this.locale);i.set({label:t,icon:e,tooltip:true});i.extendTemplate({attributes:{class:n}});if(o){i.delegate(\"execute\").to(this,o)}return i}_createLabeledInputView(){const t=this.locale.t;const e=new py(this.locale,Vx);e.label=t(\"Text alternative\");return e}}function qH(t){const e=t.plugins.get(\"ContextualBalloon\");const n=t.plugins.get(\"ImageUtils\");if(n.getClosestSelectedImageWidget(t.editing.view.document.selection)){const n=GH(t);e.updatePosition(n)}}function GH(t){const e=t.editing.view;const n=UD.defaultPositions;const o=t.plugins.get(\"ImageUtils\");return{target:e.domConverter.mapViewToDom(o.getClosestSelectedImageWidget(e.document.selection)),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}class $H extends Ed{static get requires(){return[KI]}static get pluginName(){return\"ImageTextAlternativeUI\"}init(){this._createButton()}destroy(){super.destroy();if(this._form){this._form.destroy()}}_createButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"imageTextAlternative\",(n=>{const o=t.commands.get(\"imageTextAlternative\");const i=new Sv(n);i.set({label:e(\"Change image text alternative\"),icon:CC.textAlternative,tooltip:true});i.bind(\"isEnabled\").to(o,\"isEnabled\");i.bind(\"isOn\").to(o,\"value\",(t=>!!t));this.listenTo(i,\"execute\",(()=>{this._showForm()}));return i}))}_createForm(){const n=this.editor;const o=n.editing.view;const i=o.document;const r=n.plugins.get(\"ImageUtils\");this._balloon=this.editor.plugins.get(\"ContextualBalloon\");this._form=new(e(WH))(n.locale);this._form.render();this.listenTo(this._form,\"submit\",(()=>{n.execute(\"imageTextAlternative\",{newValue:this._form.labeledInput.fieldView.element.value});this._hideForm(true)}));this.listenTo(this._form,\"cancel\",(()=>{this._hideForm(true)}));this._form.keystrokes.set(\"Esc\",((t,e)=>{this._hideForm(true);e()}));this.listenTo(n.ui,\"update\",(()=>{if(!r.getClosestSelectedImageWidget(i.selection)){this._hideForm(true)}else if(this._isVisible){qH(n)}}));t({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible){return}if(!this._form){this._createForm()}const t=this.editor;const e=t.commands.get(\"imageTextAlternative\");const n=this._form.labeledInput;this._form.disableCssTransitions();if(!this._isInBalloon){this._balloon.add({view:this._form,position:GH(t)})}n.fieldView.value=n.fieldView.element.value=e.value||\"\";this._form.labeledInput.fieldView.select();this._form.enableCssTransitions()}_hideForm(t=false){if(!this._isInBalloon){return}if(this._form.focusTracker.isFocused){this._form.saveButtonView.focus()}this._balloon.remove(this._form);if(t){this.editor.editing.view.focus()}}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class KH extends Ed{static get requires(){return[LH,$H]}static get pluginName(){return\"ImageTextAlternative\"}}function YH(t){const e=(e,n,o)=>{if(!o.consumable.test(n.viewItem,{name:true,classes:\"image\"})){return}const i=t.findViewImgElement(n.viewItem);if(!i||!o.consumable.test(i,{name:true})){return}o.consumable.consume(n.viewItem,{name:true,classes:\"image\"});const r=o.convertItem(i,n.modelCursor);const s=sd(r.modelRange.getItems());if(!s){o.consumable.revert(n.viewItem,{name:true,classes:\"image\"});return}o.convertChildren(n.viewItem,s);o.updateConversionResult(s,n)};return t=>{t.on(\"element:figure\",e)}}function QH(t){const e=[\"srcset\",\"media\",\"type\",\"sizes\"];const n=(n,o,i)=>{const r=o.viewItem;if(!i.consumable.test(r,{name:true})){return}const s=new Map;for(const t of r.getChildren()){if(t.is(\"element\",\"source\")){const n={};for(const o of e){if(t.hasAttribute(o)){if(i.consumable.test(t,{attributes:o})){n[o]=t.getAttribute(o)}}}if(Object.keys(n).length){s.set(t,n)}}}const a=t.findViewImgElement(r);if(!a){return}let c=o.modelCursor.parent;if(!c.is(\"element\",\"imageBlock\")){const t=i.convertItem(a,o.modelCursor);o.modelRange=t.modelRange;o.modelCursor=t.modelCursor;c=sd(t.modelRange.getItems())}i.consumable.consume(r,{name:true});for(const[t,e]of s){i.consumable.consume(t,{attributes:Object.keys(e)})}if(s.size){i.writer.setAttribute(\"sources\",Array.from(s.values()),c)}i.convertChildren(r,c)};return t=>{t.on(\"element:picture\",n)}}function ZH(t,e){const n=(e,n,o)=>{if(!o.consumable.consume(n.item,e.name)){return}const i=o.writer;const r=o.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);if(n.attributeNewValue===null){i.removeAttribute(\"srcset\",s);i.removeAttribute(\"sizes\",s)}else{if(n.attributeNewValue){i.setAttribute(\"srcset\",n.attributeNewValue,s);i.setAttribute(\"sizes\",\"100vw\",s)}}};return t=>{t.on(`attribute:srcset:${e}`,n)}}function JH(t){const e=(e,n,o)=>{if(!o.consumable.consume(n.item,e.name)){return}const i=o.writer;const r=o.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);const a=n.attributeNewValue;if(a&&a.length){const t=i.createContainerElement(\"picture\",null,a.map((t=>i.createEmptyElement(\"source\",t))));const e=[];let n=s.parent;while(n&&n.is(\"attributeElement\")){const t=n.parent;i.unwrap(i.createRangeOn(s),n);e.unshift(n);n=t}i.insert(i.createPositionBefore(s),t);i.move(i.createRangeOn(s),i.createPositionAt(t,\"end\"));for(const n of e){i.wrap(i.createRangeOn(t),n)}}else if(s.parent.is(\"element\",\"picture\")){const t=s.parent;i.move(i.createRangeOn(s),i.createPositionBefore(t));i.remove(t)}};return t=>{t.on(\"attribute:sources:imageBlock\",e);t.on(\"attribute:sources:imageInline\",e)}}function XH(t,e,n){const o=(e,n,o)=>{if(!o.consumable.consume(n.item,e.name)){return}const i=o.writer;const r=o.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);i.setAttribute(n.attributeKey,n.attributeNewValue||\"\",s)};return t=>{t.on(`attribute:${n}:${e}`,o)}}class tU extends $m{observe(t){this.listenTo(t,\"load\",((t,e)=>{const n=e.target;if(this.checkShouldIgnoreEventFromTarget(n)){return}if(n.tagName==\"IMG\"){this._fireEvents(e)}}),{useCapture:true})}stopObserving(t){this.stopListening(t)}_fireEvents(t){if(this.isEnabled){this.document.fire(\"layoutChanged\");this.document.fire(\"imageLoaded\",t)}}}class eU extends Id{constructor(t){super(t);const e=t.config.get(\"image.insert.type\");if(!t.plugins.has(\"ImageBlockEditing\")){if(e===\"block\"){L(\"image-block-plugin-required\")}}if(!t.plugins.has(\"ImageInlineEditing\")){if(e===\"inline\"){L(\"image-inline-plugin-required\")}}}refresh(){const t=this.editor.plugins.get(\"ImageUtils\");this.isEnabled=t.isImageAllowed()}execute(t){const e=sl(t.source);const n=this.editor.model.document.selection;const o=this.editor.plugins.get(\"ImageUtils\");const i=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(typeof t===\"string\"){t={src:t}}if(e&&r&&o.isImage(r)){const e=this.editor.model.createPositionAfter(r);o.insertImage({...t,...i},e)}else{o.insertImage({...t,...i})}}))}}class nU extends Id{constructor(t){super(t);this.decorate(\"cleanupImage\")}refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n);this.value=this.isEnabled?n.getAttribute(\"src\"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement();const n=this.editor.plugins.get(\"ImageUtils\");this.editor.model.change((o=>{o.setAttribute(\"src\",t.source,e);this.cleanupImage(o,e);n.setImageNaturalSizeAttributes(e)}))}cleanupImage(t,e){t.removeAttribute(\"srcset\",e);t.removeAttribute(\"sizes\",e);t.removeAttribute(\"sources\",e);t.removeAttribute(\"width\",e);t.removeAttribute(\"height\",e);t.removeAttribute(\"alt\",e)}}class oU extends Ed{static get requires(){return[DH]}static get pluginName(){return\"ImageEditing\"}init(){const t=this.editor;const e=t.conversion;t.editing.view.addObserver(tU);e.for(\"upcast\").attributeToAttribute({view:{name:\"img\",key:\"alt\"},model:\"alt\"}).attributeToAttribute({view:{name:\"img\",key:\"srcset\"},model:\"srcset\"});const n=new eU(t);const o=new nU(t);t.commands.add(\"insertImage\",n);t.commands.add(\"replaceImageSource\",o);t.commands.add(\"imageInsert\",n)}}class iU extends Ed{static get requires(){return[DH]}static get pluginName(){return\"ImageSizeAttributes\"}afterInit(){this._registerSchema();this._registerConverters(\"imageBlock\");this._registerConverters(\"imageInline\")}_registerSchema(){if(this.editor.plugins.has(\"ImageBlockEditing\")){this.editor.model.schema.extend(\"imageBlock\",{allowAttributes:[\"width\",\"height\"]})}if(this.editor.plugins.has(\"ImageInlineEditing\")){this.editor.model.schema.extend(\"imageInline\",{allowAttributes:[\"width\",\"height\"]})}}_registerConverters(t){const e=this.editor;const n=e.plugins.get(\"ImageUtils\");const o=t===\"imageBlock\"?\"figure\":\"img\";e.conversion.for(\"upcast\").attributeToAttribute({view:{name:o,styles:{width:/.+/}},model:{key:\"width\",value:t=>{if(xH(t)){return yH(t.getStyle(\"width\"))}return null}}}).attributeToAttribute({view:{name:o,key:\"width\"},model:\"width\"}).attributeToAttribute({view:{name:o,styles:{height:/.+/}},model:{key:\"height\",value:t=>{if(xH(t)){return yH(t.getStyle(\"height\"))}return null}}}).attributeToAttribute({view:{name:o,key:\"height\"},model:\"height\"});e.conversion.for(\"editingDowncast\").add((t=>{i(t,\"width\",\"width\",true);i(t,\"height\",\"height\",true)}));e.conversion.for(\"dataDowncast\").add((t=>{i(t,\"width\",\"width\",false);i(t,\"height\",\"height\",false)}));function i(e,o,i,r){e.on(`attribute:${o}:${t}`,((e,o,s)=>{if(!s.consumable.consume(o.item,e.name)){return}const a=s.writer;const c=s.mapper.toViewElement(o.item);const l=n.findViewImgElement(c);if(o.attributeNewValue!==null){a.setAttribute(i,o.attributeNewValue,l)}else{a.removeAttribute(i,l)}if(o.item.hasAttribute(\"sources\")){return}const d=o.item.hasAttribute(\"resizedWidth\");if(t===\"imageInline\"&&!d&&!r){return}const u=o.item.getAttribute(\"width\");const h=o.item.getAttribute(\"height\");if(u&&h){a.setStyle(\"aspect-ratio\",`${u}/${h}`,l)}}))}}}class rU extends Id{constructor(t,e){super(t);this._modelElementName=e}refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);if(this._modelElementName===\"imageBlock\"){this.isEnabled=e.isInlineImage(n)}else{this.isEnabled=e.isBlockImage(n)}}execute(t={}){const e=this.editor;const n=this.editor.model;const o=e.plugins.get(\"ImageUtils\");const i=o.getClosestSelectedImageElement(n.document.selection);const r=Object.fromEntries(i.getAttributes());if(!r.src&&!r.uploadId){return null}return n.change((e=>{const{setImageSizes:s=true}=t;const a=Array.from(n.markers).filter((t=>t.getRange().containsItem(i)));const c=o.insertImage(r,n.createSelection(i,\"on\"),this._modelElementName,{setImageSizes:s});if(!c){return null}const l=e.createRangeOn(c);for(const t of a){const n=t.getRange();const o=n.root.rootName!=\"$graveyard\"?n.getJoined(l,true):l;e.updateMarker(t,{range:o})}return{oldElement:i,newElement:c}}))}}var sU=n(8588);var aU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};aU.insert=\"head\";aU.singleton=true;var cU=Ld()(sU.A,aU);const lU=sU.A.locals||{};class dU extends Ed{static get requires(){return[DH]}static get pluginName(){return\"ImagePlaceholder\"}afterInit(){this._setupSchema();this._setupConversion();this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;if(t.isRegistered(\"imageBlock\")){t.extend(\"imageBlock\",{allowAttributes:[\"placeholder\"]})}if(t.isRegistered(\"imageInline\")){t.extend(\"imageInline\",{allowAttributes:[\"placeholder\"]})}}_setupConversion(){const t=this.editor;const e=t.conversion;const n=t.plugins.get(\"ImageUtils\");e.for(\"editingDowncast\").add((t=>{t.on(\"attribute:placeholder\",((t,e,o)=>{if(!o.consumable.test(e.item,t.name)){return}if(!e.item.is(\"element\",\"imageBlock\")&&!e.item.is(\"element\",\"imageInline\")){return}o.consumable.consume(e.item,t.name);const i=o.writer;const r=o.mapper.toViewElement(e.item);const s=n.findViewImgElement(r);if(e.attributeNewValue){i.addClass(\"image_placeholder\",s);i.setStyle(\"background-image\",`url(${e.attributeNewValue})`,s);i.setCustomProperty(\"editingPipeline:doNotReuseOnce\",true,s)}else{i.removeClass(\"image_placeholder\",s);i.removeStyle(\"background-image\",s)}}))}))}_setupLoadListener(){const t=this.editor;const e=t.model;const n=t.editing;const o=n.view;const i=t.plugins.get(\"ImageUtils\");o.addObserver(tU);this.listenTo(o.document,\"imageLoaded\",((t,r)=>{const s=o.domConverter.mapDomToView(r.target);if(!s){return}const a=i.getImageWidgetFromImageView(s);if(!a){return}const c=n.mapper.toModelElement(a);if(!c||!c.hasAttribute(\"placeholder\")){return}e.enqueueChange({isUndoable:false},(t=>{t.removeAttribute(\"placeholder\",c)}))}))}}class uU extends Ed{static get requires(){return[oU,iU,DH,dU,pz]}static get pluginName(){return\"ImageBlockEditing\"}init(){const t=this.editor;const e=t.model.schema;e.register(\"imageBlock\",{inheritAllFrom:\"$blockObject\",allowAttributes:[\"alt\",\"src\",\"srcset\"]});this._setupConversion();if(t.plugins.has(\"ImageInlineEditing\")){t.commands.add(\"imageTypeBlock\",new rU(this.editor,\"imageBlock\"));this._setupClipboardIntegration()}}_setupConversion(){const t=this.editor;const e=t.t;const n=t.conversion;const o=t.plugins.get(\"ImageUtils\");n.for(\"dataDowncast\").elementToStructure({model:\"imageBlock\",view:(t,{writer:e})=>_H(e)});n.for(\"editingDowncast\").elementToStructure({model:\"imageBlock\",view:(t,{writer:n})=>o.toImageWidget(_H(n),n,e(\"image widget\"))});n.for(\"downcast\").add(XH(o,\"imageBlock\",\"src\")).add(XH(o,\"imageBlock\",\"alt\")).add(ZH(o,\"imageBlock\"));n.for(\"upcast\").elementToElement({view:CH(t,\"imageBlock\"),model:(t,{writer:e})=>e.createElement(\"imageBlock\",t.hasAttribute(\"src\")?{src:t.getAttribute(\"src\")}:undefined)}).add(YH(o))}_setupClipboardIntegration(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=t.plugins.get(\"ImageUtils\");const i=t.plugins.get(\"ClipboardPipeline\");this.listenTo(i,\"inputTransformation\",((i,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(o.isInlineImageView)){return}if(r.targetRanges){a=t.editing.mapper.toModelRange(r.targetRanges[0])}else{a=e.document.selection.getFirstRange()}const c=e.createSelection(a);if(vH(e.schema,c)===\"imageBlock\"){const t=new uA(n.document);const e=s.map((e=>t.createElement(\"figure\",{class:\"image\"},e)));r.content=t.createDocumentFragment(e)}}));this.listenTo(i,\"contentInsertion\",((t,n)=>{if(n.method!==\"paste\"){return}e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems()){if(t.is(\"element\",\"imageBlock\")){o.setImageNaturalSizeAttributes(t)}}}))}))}}var hU=n(5420);var mU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};mU.insert=\"head\";mU.singleton=true;var gU=Ld()(hU.A,mU);const fU=hU.A.locals||{};class pU extends ov{constructor(t,e=[]){super(t);this.focusTracker=new ad;this.keystrokes=new cd;this._focusables=new vC;this.children=this.createCollection();this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});for(const t of e){this.children.add(t);this._focusables.add(t);if(t instanceof Uv){this._focusables.addMany(t.children)}}if(this._focusables.length>1){for(const t of this._focusables){if(bU(t)){t.focusCycler.on(\"forwardCycle\",(t=>{this._focusCycler.focusNext();t.stop()}));t.focusCycler.on(\"backwardCycle\",(t=>{this._focusCycler.focusPrevious();t.stop()}))}}}this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-image-insert-form\"],tabindex:-1},children:this.children})}render(){super.render();i({view:this});for(const t of this._focusables){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element);const t=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",t);this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"arrowup\",t);this.keystrokes.set(\"arrowdown\",t)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function bU(t){return\"focusCycler\"in t}class kU extends Ed{static get pluginName(){return\"ImageInsertUI\"}static get requires(){return[DH]}constructor(t){super(t);this._integrations=new Map;t.config.define(\"image.insert.integrations\",[\"upload\",\"assetManager\",\"url\"])}init(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get(\"ImageUtils\");this.set(\"isImageSelected\",false);this.listenTo(t.model.document,\"change\",(()=>{this.isImageSelected=n.isImage(e.getSelectedElement())}));const o=t=>this._createToolbarComponent(t);t.ui.componentFactory.add(\"insertImage\",o);t.ui.componentFactory.add(\"imageInsert\",o)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:o,requiresForm:i}){if(this._integrations.has(t)){L(\"image-insert-integration-exists\",{name:t})}this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:o,requiresForm:!!i})}_createToolbarComponent(t){const e=this.editor;const n=t.t;const o=this._prepareIntegrations();if(!o.length){return null}let i;const r=o[0];if(o.length==1){if(!r.requiresForm){return r.buttonViewCreator(true)}i=r.buttonViewCreator(true)}else{const e=r.buttonViewCreator(false);i=new px(t,e);i.tooltip=true;i.bind(\"label\").to(this,\"isImageSelected\",(t=>t?n(\"Replace image\"):n(\"Insert image\")))}const s=this.dropdownView=xx(t,i);const a=o.map((({observable:t})=>typeof t==\"function\"?t():t));s.bind(\"isEnabled\").toMany(a,\"isEnabled\",((...t)=>t.some((t=>t))));s.once(\"change:isOpen\",(()=>{const t=o.map((({formViewCreator:t})=>t(o.length==1)));const n=new pU(e.locale,t);s.panelView.children.add(n)}));return s}_prepareIntegrations(){const t=this.editor;const e=t.config.get(\"image.insert.integrations\");const n=[];if(!e.length){L(\"image-insert-integrations-not-specified\");return n}for(const t of e){if(!this._integrations.has(t)){if(![\"upload\",\"assetManager\",\"url\"].includes(t)){L(\"image-insert-unknown-integration\",{item:t})}continue}n.push(this._integrations.get(t))}if(!n.length){L(\"image-insert-integrations-not-registered\")}return n}}var wU=n(2051);var AU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};AU.insert=\"head\";AU.singleton=true;var _U=Ld()(wU.A,AU);const CU=wU.A.locals||{};class vU extends Ed{static get requires(){return[uU,uO,KH,kU]}static get pluginName(){return\"ImageBlock\"}}class yU extends Ed{static get requires(){return[oU,iU,DH,dU,pz]}static get pluginName(){return\"ImageInlineEditing\"}init(){const t=this.editor;const e=t.model.schema;e.register(\"imageInline\",{inheritAllFrom:\"$inlineObject\",allowAttributes:[\"alt\",\"src\",\"srcset\"]});e.addChildCheck(((t,e)=>{if(t.endsWith(\"caption\")&&e.name===\"imageInline\"){return false}}));this._setupConversion();if(t.plugins.has(\"ImageBlockEditing\")){t.commands.add(\"imageTypeInline\",new rU(this.editor,\"imageInline\"));this._setupClipboardIntegration()}}_setupConversion(){const t=this.editor;const e=t.t;const n=t.conversion;const o=t.plugins.get(\"ImageUtils\");n.for(\"dataDowncast\").elementToElement({model:\"imageInline\",view:(t,{writer:e})=>e.createEmptyElement(\"img\")});n.for(\"editingDowncast\").elementToStructure({model:\"imageInline\",view:(t,{writer:n})=>o.toImageWidget(AH(n),n,e(\"image widget\"))});n.for(\"downcast\").add(XH(o,\"imageInline\",\"src\")).add(XH(o,\"imageInline\",\"alt\")).add(ZH(o,\"imageInline\"));n.for(\"upcast\").elementToElement({view:CH(t,\"imageInline\"),model:(t,{writer:e})=>e.createElement(\"imageInline\",t.hasAttribute(\"src\")?{src:t.getAttribute(\"src\")}:undefined)})}_setupClipboardIntegration(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=t.plugins.get(\"ImageUtils\");const i=t.plugins.get(\"ClipboardPipeline\");this.listenTo(i,\"inputTransformation\",((i,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(o.isBlockImageView)){return}if(r.targetRanges){a=t.editing.mapper.toModelRange(r.targetRanges[0])}else{a=e.document.selection.getFirstRange()}const c=e.createSelection(a);if(vH(e.schema,c)===\"imageInline\"){const t=new uA(n.document);const e=s.map((e=>{if(e.childCount===1){Array.from(e.getAttributes()).forEach((n=>t.setAttribute(...n,o.findViewImgElement(e))));return e.getChild(0)}else{return e}}));r.content=t.createDocumentFragment(e)}}));this.listenTo(i,\"contentInsertion\",((t,n)=>{if(n.method!==\"paste\"){return}e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems()){if(t.is(\"element\",\"imageInline\")){o.setImageNaturalSizeAttributes(t)}}}))}))}}class xU extends Ed{static get requires(){return[yU,uO,KH,kU]}static get pluginName(){return\"ImageInline\"}}class EU extends Ed{static get requires(){return[vU,xU]}static get pluginName(){return\"Image\"}}class DU extends Ed{static get pluginName(){return\"ImageCaptionUtils\"}static get requires(){return[DH]}getCaptionFromImageModelElement(t){for(const e of t.getChildren()){if(!!e&&e.is(\"element\",\"caption\")){return e}}return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get(\"ImageUtils\");const n=t.getFirstPosition().findAncestor(\"caption\");if(!n){return null}if(e.isBlockImage(n.parent)){return n}return null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get(\"ImageUtils\");if(t.name==\"figcaption\"&&e.isBlockImageView(t.parent)){return{name:true}}return null}}class IU extends Id{refresh(){const t=this.editor;const e=t.plugins.get(\"ImageCaptionUtils\");const n=t.plugins.get(\"ImageUtils\");if(!t.plugins.has(uU)){this.isEnabled=false;this.value=false;return}const o=t.model.document.selection;const i=o.getSelectedElement();if(!i){const t=e.getCaptionFromModelSelection(o);this.isEnabled=!!t;this.value=!!t;return}this.isEnabled=n.isImage(i);if(!this.isEnabled){this.value=false}else{this.value=!!e.getCaptionFromImageModelElement(i)}}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change((t=>{if(this.value){this._hideImageCaption(t)}else{this._showImageCaption(t,e)}}))}_showImageCaption(t,e){const n=this.editor.model;const o=n.document.selection;const i=this.editor.plugins.get(\"ImageCaptionEditing\");const r=this.editor.plugins.get(\"ImageUtils\");let s=o.getSelectedElement();const a=i._getSavedCaption(s);if(r.isInlineImage(s)){this.editor.execute(\"imageTypeBlock\");s=o.getSelectedElement()}const c=a||t.createElement(\"caption\");t.append(c,s);if(e){t.setSelection(c,\"in\")}}_hideImageCaption(t){const e=this.editor;const n=e.model.document.selection;const o=e.plugins.get(\"ImageCaptionEditing\");const i=e.plugins.get(\"ImageCaptionUtils\");let r=n.getSelectedElement();let s;if(r){s=i.getCaptionFromImageModelElement(r)}else{s=i.getCaptionFromModelSelection(n);r=s.parent}o._saveCaption(r,s);t.setSelection(r,\"on\");t.remove(s)}}class TU extends Ed{static get requires(){return[DH,DU]}static get pluginName(){return\"ImageCaptionEditing\"}constructor(t){super(t);this._savedCaptionsMap=new WeakMap}init(){const t=this.editor;const e=t.model.schema;if(!e.isRegistered(\"caption\")){e.register(\"caption\",{allowIn:\"imageBlock\",allowContentOf:\"$block\",isLimit:true})}else{e.extend(\"caption\",{allowIn:\"imageBlock\"})}t.commands.add(\"toggleImageCaption\",new IU(this.editor));this._setupConversion();this._setupImageTypeCommandsIntegration();this._registerCaptionReconversion()}_setupConversion(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get(\"ImageUtils\");const o=t.plugins.get(\"ImageCaptionUtils\");const i=t.t;t.conversion.for(\"upcast\").elementToElement({view:t=>o.matchImageCaptionViewElement(t),model:\"caption\"});t.conversion.for(\"dataDowncast\").elementToElement({model:\"caption\",view:(t,{writer:e})=>{if(!n.isBlockImage(t.parent)){return null}return e.createContainerElement(\"figcaption\")}});t.conversion.for(\"editingDowncast\").elementToElement({model:\"caption\",view:(t,{writer:o})=>{if(!n.isBlockImage(t.parent)){return null}const r=o.createEditableElement(\"figcaption\");o.setCustomProperty(\"imageCaption\",true,r);r.placeholder=i(\"Enter image caption\");Hd({view:e,element:r,keepOnFocus:true});const s=t.parent.getAttribute(\"alt\");const a=s?i(\"Caption for image: %0\",[s]):i(\"Caption for the image\");return Bz(r,o,{label:a})}})}_setupImageTypeCommandsIntegration(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=t.plugins.get(\"ImageCaptionUtils\");const o=t.commands.get(\"imageTypeInline\");const i=t.commands.get(\"imageTypeBlock\");const r=t=>{if(!t.return){return}const{oldElement:o,newElement:i}=t.return;if(!o){return}if(e.isBlockImage(o)){const t=n.getCaptionFromImageModelElement(o);if(t){this._saveCaption(i,t);return}}const r=this._getSavedCaption(o);if(r){this._saveCaption(i,r)}};if(o){this.listenTo(o,\"execute\",r,{priority:\"low\"})}if(i){this.listenTo(i,\"execute\",r,{priority:\"low\"})}}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?Ff.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor;const e=t.model;const n=t.plugins.get(\"ImageUtils\");const o=t.plugins.get(\"ImageCaptionUtils\");e.document.on(\"change:data\",(()=>{const i=e.document.differ.getChanges();for(const e of i){if(e.attributeKey!==\"alt\"){continue}const i=e.range.start.nodeAfter;if(n.isBlockImage(i)){const e=o.getCaptionFromImageModelElement(i);if(!e){return}t.editing.reconvertItem(e)}}}))}}class SU extends Ed{static get requires(){return[DU]}static get pluginName(){return\"ImageCaptionUI\"}init(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get(\"ImageCaptionUtils\");const o=t.t;t.ui.componentFactory.add(\"toggleImageCaption\",(i=>{const r=t.commands.get(\"toggleImageCaption\");const s=new Sv(i);s.set({icon:CC.caption,tooltip:true,isToggleable:true});s.bind(\"isOn\",\"isEnabled\").to(r,\"value\",\"isEnabled\");s.bind(\"label\").to(r,\"value\",(t=>t?o(\"Toggle caption off\"):o(\"Toggle caption on\")));this.listenTo(s,\"execute\",(()=>{t.execute(\"toggleImageCaption\",{focusCaptionOnShow:true});const o=n.getCaptionFromModelSelection(t.model.document.selection);if(o){const n=t.editing.mapper.toViewElement(o);e.scrollToTheSelection();e.change((t=>{t.addClass(\"image__caption_highlighted\",n)}))}t.editing.view.focus()}));return s}))}}var BU=n(7369);var MU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};MU.insert=\"head\";MU.singleton=true;var PU=Ld()(BU.A,MU);const NU=BU.A.locals||{};class LU extends Ed{static get requires(){return[TU,SU]}static get pluginName(){return\"ImageCaption\"}}function zU(t){const e=t.map((t=>t.replace(\"+\",\"\\\\+\")));return new RegExp(`^image\\\\/(${e.join(\"|\")})$`)}function OU(t){return new Promise(((e,n)=>{const o=t.getAttribute(\"src\");fetch(o).then((t=>t.blob())).then((t=>{const n=VU(t,o);const i=n.replace(\"image/\",\"\");const r=`image.${i}`;const s=new File([t],r,{type:n});e(s)})).catch((t=>t&&t.name===\"TypeError\"?FU(o).then(e).catch(n):n(t)))}))}function RU(t,e){if(!t.isInlineImageView(e)||!e.getAttribute(\"src\")){return false}return!!e.getAttribute(\"src\").match(/^data:image\\/\\w+;base64,/g)||!!e.getAttribute(\"src\").match(/^blob:/g)}function VU(t,e){if(t.type){return t.type}else if(e.match(/data:(image\\/\\w+);base64/)){return e.match(/data:(image\\/\\w+);base64/)[1].toLowerCase()}else{return\"image/jpeg\"}}function FU(t){return jU(t).then((e=>{const n=VU(e,t);const o=n.replace(\"image/\",\"\");const i=`image.${o}`;return new File([e],i,{type:n})}))}function jU(t){return new Promise(((e,n)=>{const o=oc.document.createElement(\"img\");o.addEventListener(\"load\",(()=>{const t=oc.document.createElement(\"canvas\");t.width=o.width;t.height=o.height;const i=t.getContext(\"2d\");i.drawImage(o,0,0);t.toBlob((t=>t?e(t):n()))}));o.addEventListener(\"error\",(()=>n()));o.src=t}))}class HU extends Ed{static get pluginName(){return\"ImageUploadUI\"}init(){const t=this.editor;const e=t.t;const n=()=>{const t=this._createButton(zv);t.set({label:e(\"Upload image from computer\"),tooltip:true});return t};t.ui.componentFactory.add(\"uploadImage\",n);t.ui.componentFactory.add(\"imageUpload\",n);t.ui.componentFactory.add(\"menuBar:uploadImage\",(()=>{const t=this._createButton(GS);t.label=e(\"Image from computer\");return t}));if(t.plugins.has(\"ImageInsertUI\")){const n=t.plugins.get(\"ImageInsertUI\");n.registerIntegration({name:\"upload\",observable:()=>t.commands.get(\"uploadImage\"),buttonViewCreator:()=>{const o=t.ui.componentFactory.create(\"uploadImage\");o.bind(\"label\").to(n,\"isImageSelected\",(t=>t?e(\"Replace image from computer\"):e(\"Upload image from computer\")));return o},formViewCreator:()=>{const o=t.ui.componentFactory.create(\"uploadImage\");o.withText=true;o.bind(\"label\").to(n,\"isImageSelected\",(t=>t?e(\"Replace from computer\"):e(\"Upload from computer\")));o.on(\"execute\",(()=>{n.dropdownView.isOpen=false}));return o}})}}_createButton(t){const e=this.editor;const n=e.locale;const o=e.commands.get(\"uploadImage\");const i=e.config.get(\"image.upload.types\");const r=zU(i);const s=new t(e.locale);const a=n.t;s.set({acceptedType:i.map((t=>`image/${t}`)).join(\",\"),allowMultipleFiles:true,label:a(\"Upload image from computer\"),icon:CC.imageUpload});s.bind(\"isEnabled\").to(o);s.on(\"done\",((t,n)=>{const o=Array.from(n).filter((t=>r.test(t.type)));if(o.length){e.execute(\"uploadImage\",{file:o});e.editing.view.focus()}}));return s}}var UU=n(2209);var WU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};WU.insert=\"head\";WU.singleton=true;var qU=Ld()(UU.A,WU);const GU=UU.A.locals||{};var $U=n(9967);var KU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};KU.insert=\"head\";KU.singleton=true;var YU=Ld()($U.A,KU);const QU=$U.A.locals||{};var ZU=n(2021);var JU={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};JU.insert=\"head\";JU.singleton=true;var XU=Ld()(ZU.A,JU);const tW=ZU.A.locals||{};class eW extends Ed{static get pluginName(){return\"ImageUploadProgress\"}constructor(t){super(t);this.uploadStatusChange=(t,e,n)=>{const o=this.editor;const i=e.item;const r=i.getAttribute(\"uploadId\");if(!n.consumable.consume(e.item,t.name)){return}const s=o.plugins.get(\"ImageUtils\");const a=o.plugins.get(uN);const c=r?e.attributeNewValue:null;const l=this.placeholder;const d=o.editing.mapper.toViewElement(i);const u=n.writer;if(c==\"reading\"){nW(d,u);iW(s,l,d,u);return}if(c==\"uploading\"){const t=a.loaders.get(r);nW(d,u);if(!t){iW(s,l,d,u)}else{rW(d,u);sW(d,u,t,o.editing.view);mW(s,d,u,t)}return}if(c==\"complete\"&&a.loaders.get(r)){cW(d,u,o.editing.view)}aW(d,u);rW(d,u);oW(d,u)};this.placeholder=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\"}init(){const t=this.editor;if(t.plugins.has(\"ImageBlockEditing\")){t.editing.downcastDispatcher.on(\"attribute:uploadStatus:imageBlock\",this.uploadStatusChange)}if(t.plugins.has(\"ImageInlineEditing\")){t.editing.downcastDispatcher.on(\"attribute:uploadStatus:imageInline\",this.uploadStatusChange)}}}function nW(t,e){if(!t.hasClass(\"ck-appear\")){e.addClass(\"ck-appear\",t)}}function oW(t,e){e.removeClass(\"ck-appear\",t)}function iW(t,e,n,o){if(!n.hasClass(\"ck-image-upload-placeholder\")){o.addClass(\"ck-image-upload-placeholder\",n)}const i=t.findViewImgElement(n);if(i.getAttribute(\"src\")!==e){o.setAttribute(\"src\",e,i)}if(!uW(n,\"placeholder\")){o.insert(o.createPositionAfter(i),dW(o))}}function rW(t,e){if(t.hasClass(\"ck-image-upload-placeholder\")){e.removeClass(\"ck-image-upload-placeholder\",t)}hW(t,e,\"placeholder\")}function sW(t,e,n,o){const i=lW(e);e.insert(e.createPositionAt(t,\"end\"),i);n.on(\"change:uploadedPercent\",((t,e,n)=>{o.change((t=>{t.setStyle(\"width\",n+\"%\",i)}))}))}function aW(t,e){hW(t,e,\"progressBar\")}function cW(t,e,n){const o=e.createUIElement(\"div\",{class:\"ck-image-upload-complete-icon\"});e.insert(e.createPositionAt(t,\"end\"),o);setTimeout((()=>{n.change((t=>t.remove(t.createRangeOn(o))))}),3e3)}function lW(t){const e=t.createUIElement(\"div\",{class:\"ck-progress-bar\"});t.setCustomProperty(\"progressBar\",true,e);return e}function dW(t){const e=t.createUIElement(\"div\",{class:\"ck-upload-placeholder-loader\"});t.setCustomProperty(\"placeholder\",true,e);return e}function uW(t,e){for(const n of t.getChildren()){if(n.getCustomProperty(e)){return n}}}function hW(t,e,n){const o=uW(t,n);if(o){e.remove(e.createRangeOn(o))}}function mW(t,e,n,o){if(o.data){const i=t.findViewImgElement(e);n.setAttribute(\"src\",o.data,i)}}class gW extends Id{refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=sl(t.file);const n=this.editor.model.document.selection;const o=this.editor.plugins.get(\"ImageUtils\");const i=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(e&&r&&o.isImage(r)){const e=this.editor.model.createPositionAfter(r);this._uploadImage(t,i,e)}else{this._uploadImage(t,i)}}))}_uploadImage(t,e,n){const o=this.editor;const i=o.plugins.get(uN);const r=i.createLoader(t);const s=o.plugins.get(\"ImageUtils\");if(!r){return}s.insertImage({...e,uploadId:r.id},n)}}class fW extends Ed{static get requires(){return[uN,OI,pz,DH]}static get pluginName(){return\"ImageUploadEditing\"}constructor(t){super(t);t.config.define(\"image\",{upload:{types:[\"jpeg\",\"png\",\"gif\",\"bmp\",\"webp\",\"tiff\"]}});this._uploadImageElements=new Map}init(){const t=this.editor;const e=t.model.document;const n=t.conversion;const o=t.plugins.get(uN);const i=t.plugins.get(\"ImageUtils\");const r=t.plugins.get(\"ClipboardPipeline\");const s=zU(t.config.get(\"image.upload.types\"));const a=new gW(t);t.commands.add(\"uploadImage\",a);t.commands.add(\"imageUpload\",a);n.for(\"upcast\").attributeToAttribute({view:{name:\"img\",key:\"uploadId\"},model:\"uploadId\"});this.listenTo(t.editing.view.document,\"clipboardInput\",((e,n)=>{if(pW(n.dataTransfer)){return}const o=Array.from(n.dataTransfer.files).filter((t=>{if(!t){return false}return s.test(t.type)}));if(!o.length){return}e.stop();t.model.change((e=>{if(n.targetRanges){e.setSelection(n.targetRanges.map((e=>t.editing.mapper.toModelRange(e))))}t.execute(\"uploadImage\",{file:o})}))}));this.listenTo(r,\"inputTransformation\",((e,n)=>{const r=Array.from(t.editing.view.createRangeIn(n.content)).map((t=>t.item)).filter((t=>RU(i,t)&&!t.getAttribute(\"uploadProcessed\"))).map((t=>({promise:OU(t),imageElement:t})));if(!r.length){return}const s=new uA(t.editing.view.document);for(const t of r){s.setAttribute(\"uploadProcessed\",true,t.imageElement);const e=o.createLoader(t.promise);if(e){s.setAttribute(\"src\",\"\",t.imageElement);s.setAttribute(\"uploadId\",e.id,t.imageElement)}}}));t.editing.view.document.on(\"dragover\",((t,e)=>{e.preventDefault()}));e.on(\"change\",(()=>{const n=e.differ.getChanges({includeChangesInGraveyard:true}).reverse();const i=new Set;for(const e of n){if(e.type==\"insert\"&&e.name!=\"$text\"){const n=e.position.nodeAfter;const r=e.position.root.rootName==\"$graveyard\";for(const e of bW(t,n)){const t=e.getAttribute(\"uploadId\");if(!t){continue}const n=o.loaders.get(t);if(!n){continue}if(r){if(!i.has(t)){n.abort()}}else{i.add(t);this._uploadImageElements.set(t,e);if(n.status==\"idle\"){this._readAndUpload(n)}}}}}}));this.on(\"uploadComplete\",((t,{imageElement:e,data:n})=>{const o=n.urls?n.urls:n;this.editor.model.change((t=>{t.setAttribute(\"src\",o.default,e);this._parseAndSetSrcsetAttributeOnImage(o,e,t);i.setImageNaturalSizeAttributes(e)}))}),{priority:\"low\"})}afterInit(){const t=this.editor.model.schema;if(this.editor.plugins.has(\"ImageBlockEditing\")){t.extend(\"imageBlock\",{allowAttributes:[\"uploadId\",\"uploadStatus\"]})}if(this.editor.plugins.has(\"ImageInlineEditing\")){t.extend(\"imageInline\",{allowAttributes:[\"uploadId\",\"uploadStatus\"]})}}_readAndUpload(t){const e=this.editor;const n=e.model;const o=e.locale.t;const i=e.plugins.get(uN);const r=e.plugins.get(OI);const s=e.plugins.get(\"ImageUtils\");const a=this._uploadImageElements;n.enqueueChange({isUndoable:false},(e=>{e.setAttribute(\"uploadStatus\",\"reading\",a.get(t.id))}));return t.read().then((()=>{const o=t.upload();const i=a.get(t.id);if(l.isSafari){const t=e.editing.mapper.toViewElement(i);const n=s.findViewImgElement(t);e.editing.view.once(\"render\",(()=>{if(!n.parent){return}const t=e.editing.view.domConverter.mapViewToDom(n.parent);if(!t){return}const o=t.style.display;t.style.display=\"none\";t._ckHack=t.offsetHeight;t.style.display=o}))}n.enqueueChange({isUndoable:false},(t=>{t.setAttribute(\"uploadStatus\",\"uploading\",i)}));return o})).then((e=>{n.enqueueChange({isUndoable:false},(n=>{const o=a.get(t.id);n.setAttribute(\"uploadStatus\",\"complete\",o);this.fire(\"uploadComplete\",{data:e,imageElement:o})}));c()})).catch((e=>{if(t.status!==\"error\"&&t.status!==\"aborted\"){throw e}if(t.status==\"error\"&&e){r.showWarning(e,{title:o(\"Upload failed\"),namespace:\"upload\"})}n.enqueueChange({isUndoable:false},(e=>{e.remove(a.get(t.id))}));c()}));function c(){n.enqueueChange({isUndoable:false},(e=>{const n=a.get(t.id);e.removeAttribute(\"uploadId\",n);e.removeAttribute(\"uploadStatus\",n);a.delete(t.id)}));i.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let o=0;const i=Object.keys(t).filter((t=>{const e=parseInt(t,10);if(!isNaN(e)){o=Math.max(o,e);return true}})).map((e=>`${t[e]} ${e}w`)).join(\", \");if(i!=\"\"){const t={srcset:i};if(!e.hasAttribute(\"width\")&&!e.hasAttribute(\"height\")){t.width=o}n.setAttributes(t,e)}}}function pW(t){return Array.from(t.types).includes(\"text/html\")&&t.getData(\"text/html\")!==\"\"}function bW(t,e){const n=t.plugins.get(\"ImageUtils\");return Array.from(t.model.createRangeOn(e)).filter((t=>n.isImage(t.item))).map((t=>t.item))}class kW extends Ed{static get pluginName(){return\"ImageUpload\"}static get requires(){return[fW,HU,eW]}}class wW extends ov{constructor(t){super(t);this.set(\"imageURLInputValue\",\"\");this.set(\"isImageSelected\",false);this.set(\"isEnabled\",true);this.focusTracker=new ad;this.keystrokes=new cd;this._focusables=new vC;this.focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.urlInputView=this._createUrlInputView();this.insertButtonView=this._createInsertButton();this.cancelButtonView=this._createCancelButton();this._focusables.addMany([this.urlInputView,this.insertButtonView,this.cancelButtonView]);this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-image-insert-url\"]},children:[this.urlInputView,{tag:\"div\",attributes:{class:[\"ck\",\"ck-image-insert-url__action-row\"]},children:[this.insertButtonView,this.cancelButtonView]}]})}render(){super.render();for(const t of this._focusables){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}_createUrlInputView(){const t=this.locale;const e=t.t;const n=new py(t,Vx);n.bind(\"label\").to(this,\"isImageSelected\",(t=>t?e(\"Update image URL\"):e(\"Insert image via URL\")));n.bind(\"isEnabled\").to(this);n.fieldView.placeholder=\"https://example.com/image.png\";n.fieldView.bind(\"value\").to(this,\"imageURLInputValue\",(t=>t||\"\"));n.fieldView.on(\"input\",(()=>{this.imageURLInputValue=n.fieldView.element.value.trim()}));return n}_createInsertButton(){const t=this.locale;const e=t.t;const n=new Sv(t);n.set({icon:CC.check,class:\"ck-button-save\",type:\"submit\",withText:true});n.bind(\"label\").to(this,\"isImageSelected\",(t=>t?e(\"Update\"):e(\"Insert\")));n.bind(\"isEnabled\").to(this,\"imageURLInputValue\",this,\"isEnabled\",((...t)=>t.every((t=>t))));n.delegate(\"execute\").to(this,\"submit\");return n}_createCancelButton(){const t=this.locale;const e=t.t;const n=new Sv(t);n.set({label:e(\"Cancel\"),icon:CC.cancel,class:\"ck-button-cancel\",withText:true});n.bind(\"isEnabled\").to(this);n.delegate(\"execute\").to(this,\"cancel\");return n}focus(t){if(t===-1){this.focusCycler.focusLast()}else{this.focusCycler.focusFirst()}}}class AW extends(null&&Plugin){static get pluginName(){return\"ImageInsertViaUrlUI\"}static get requires(){return[ImageInsertUI]}afterInit(){this._imageInsertUI=this.editor.plugins.get(\"ImageInsertUI\");this._imageInsertUI.registerIntegration({name:\"url\",observable:()=>this.editor.commands.get(\"insertImage\"),requiresForm:true,buttonViewCreator:t=>this._createInsertUrlButton(t),formViewCreator:t=>this._createInsertUrlView(t)})}_createInsertUrlView(t){const e=this.editor;const n=e.locale;const o=n.t;const i=e.commands.get(\"replaceImageSource\");const r=e.commands.get(\"insertImage\");const s=new ImageInsertUrlView(n);const a=t?null:new CollapsibleView(n,[s]);s.bind(\"isImageSelected\").to(this._imageInsertUI);s.bind(\"isEnabled\").toMany([r,i],\"isEnabled\",((...t)=>t.some((t=>t))));s.imageURLInputValue=i.value||\"\";this._imageInsertUI.dropdownView.on(\"change:isOpen\",(()=>{if(this._imageInsertUI.dropdownView.isOpen){s.imageURLInputValue=i.value||\"\";if(a){a.isCollapsed=true}}}),{priority:\"low\"});s.on(\"submit\",(()=>{if(i.isEnabled){e.execute(\"replaceImageSource\",{source:s.imageURLInputValue})}else{e.execute(\"insertImage\",{source:s.imageURLInputValue})}this._closePanel()}));s.on(\"cancel\",(()=>this._closePanel()));if(a){a.set({isCollapsed:true});a.bind(\"label\").to(this._imageInsertUI,\"isImageSelected\",(t=>t?o(\"Update image URL\"):o(\"Insert image via URL\")));return a}return s}_createInsertUrlButton(t){const e=t?DropdownButtonView:ButtonView;const n=this.editor;const o=new e(n.locale);const i=n.locale.t;o.set({icon:icons.imageUrl,tooltip:true});o.bind(\"label\").to(this._imageInsertUI,\"isImageSelected\",(t=>t?i(\"Update image URL\"):i(\"Insert image via URL\")));return o}_closePanel(){this.editor.editing.view.focus();this._imageInsertUI.dropdownView.isOpen=false}}class _W extends(null&&Plugin){static get pluginName(){return\"ImageInsertViaUrl\"}static get requires(){return[ImageInsertViaUrlUI,ImageInsertUI]}}class CW extends(null&&Plugin){static get pluginName(){return\"ImageInsert\"}static get requires(){return[ImageUpload,ImageInsertViaUrl,ImageInsertUI]}}class vW extends Id{refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=e.getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n;if(!n||!n.hasAttribute(\"resizedWidth\")){this.value=null}else{this.value={width:n.getAttribute(\"resizedWidth\"),height:null}}}execute(t){const e=this.editor;const n=e.model;const o=e.plugins.get(\"ImageUtils\");const i=o.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null};if(i){n.change((e=>{e.setAttribute(\"resizedWidth\",t.width,i);e.removeAttribute(\"resizedHeight\",i);o.setImageNaturalSizeAttributes(i)}))}}}class yW extends Ed{static get requires(){return[DH]}static get pluginName(){return\"ImageResizeEditing\"}constructor(t){super(t);t.config.define(\"image\",{resizeUnit:\"%\",resizeOptions:[{name:\"resizeImage:original\",value:null,icon:\"original\"},{name:\"resizeImage:25\",value:\"25\",icon:\"small\"},{name:\"resizeImage:50\",value:\"50\",icon:\"medium\"},{name:\"resizeImage:75\",value:\"75\",icon:\"large\"}]})}init(){const t=this.editor;const e=new vW(t);this._registerConverters(\"imageBlock\");this._registerConverters(\"imageInline\");t.commands.add(\"resizeImage\",e);t.commands.add(\"imageResize\",e)}afterInit(){this._registerSchema()}_registerSchema(){if(this.editor.plugins.has(\"ImageBlockEditing\")){this.editor.model.schema.extend(\"imageBlock\",{allowAttributes:[\"resizedWidth\",\"resizedHeight\"]})}if(this.editor.plugins.has(\"ImageInlineEditing\")){this.editor.model.schema.extend(\"imageInline\",{allowAttributes:[\"resizedWidth\",\"resizedHeight\"]})}}_registerConverters(t){const e=this.editor;const n=e.plugins.get(\"ImageUtils\");e.conversion.for(\"downcast\").add((e=>e.on(`attribute:resizedWidth:${t}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const o=n.writer;const i=n.mapper.toViewElement(e.item);if(e.attributeNewValue!==null){o.setStyle(\"width\",e.attributeNewValue,i);o.addClass(\"image_resized\",i)}else{o.removeStyle(\"width\",i);o.removeClass(\"image_resized\",i)}}))));e.conversion.for(\"dataDowncast\").attributeToAttribute({model:{name:t,key:\"resizedHeight\"},view:t=>({key:\"style\",value:{height:t}})});e.conversion.for(\"editingDowncast\").add((e=>e.on(`attribute:resizedHeight:${t}`,((e,o,i)=>{if(!i.consumable.consume(o.item,e.name)){return}const r=i.writer;const s=i.mapper.toViewElement(o.item);const a=t===\"imageInline\"?n.findViewImgElement(s):s;if(o.attributeNewValue!==null){r.setStyle(\"height\",o.attributeNewValue,a)}else{r.removeStyle(\"height\",a)}}))));e.conversion.for(\"upcast\").attributeToAttribute({view:{name:t===\"imageBlock\"?\"figure\":\"img\",styles:{width:/.+/}},model:{key:\"resizedWidth\",value:t=>{if(xH(t)){return null}return t.getStyle(\"width\")}}});e.conversion.for(\"upcast\").attributeToAttribute({view:{name:t===\"imageBlock\"?\"figure\":\"img\",styles:{height:/.+/}},model:{key:\"resizedHeight\",value:t=>{if(xH(t)){return null}return t.getStyle(\"height\")}}})}}const xW={small:CC.objectSizeSmall,medium:CC.objectSizeMedium,large:CC.objectSizeLarge,original:CC.objectSizeFull};class EW extends Ed{static get requires(){return[yW]}static get pluginName(){return\"ImageResizeButtons\"}constructor(t){super(t);this._resizeUnit=t.config.get(\"image.resizeUnit\")}init(){const t=this.editor;const e=t.config.get(\"image.resizeOptions\");const n=t.commands.get(\"resizeImage\");this.bind(\"isEnabled\").to(n);for(const t of e){this._registerImageResizeButton(t)}this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor;const{name:n,value:o,icon:i}=t;const r=o?o+this._resizeUnit:null;e.ui.componentFactory.add(n,(n=>{const o=new Sv(n);const s=e.commands.get(\"resizeImage\");const a=this._getOptionLabelValue(t,true);if(!xW[i]){throw new N(\"imageresizebuttons-missing-icon\",e,t)}o.set({label:a,icon:xW[i],tooltip:a,isToggleable:true});o.bind(\"isEnabled\").to(this);o.bind(\"isOn\").to(s,\"value\",DW(r));this.listenTo(o,\"execute\",(()=>{e.execute(\"resizeImage\",{width:r})}));return o}))}_registerImageResizeDropdown(t){const e=this.editor;const n=e.t;const o=t.find((t=>!t.value));const i=i=>{const r=e.commands.get(\"resizeImage\");const s=xx(i,Vy);const a=s.buttonView;const c=n(\"Resize image\");a.set({tooltip:c,commandValue:o.value,icon:xW.medium,isToggleable:true,label:this._getOptionLabelValue(o),withText:true,class:\"ck-resize-image-button\",ariaLabel:c,ariaLabelledBy:undefined});a.bind(\"label\").to(r,\"value\",(t=>{if(t&&t.width){return t.width}else{return this._getOptionLabelValue(o)}}));s.bind(\"isEnabled\").to(this);Ix(s,(()=>this._getResizeDropdownListItemDefinitions(t,r)),{ariaLabel:n(\"Image resize list\"),role:\"menu\"});this.listenTo(s,\"execute\",(t=>{e.execute(t.source.commandName,{width:t.source.commandValue});e.editing.view.focus()}));return s};e.ui.componentFactory.add(\"resizeImage\",i);e.ui.componentFactory.add(\"imageResize\",i)}_getOptionLabelValue(t,e=false){const n=this.editor.t;if(t.label){return t.label}else if(e){if(t.value){return n(\"Resize image to %0\",t.value+this._resizeUnit)}else{return n(\"Resize image to the original size\")}}else{if(t.value){return t.value+this._resizeUnit}else{return n(\"Original\")}}}_getResizeDropdownListItemDefinitions(t,e){const n=new rd;t.map((t=>{const o=t.value?t.value+this._resizeUnit:null;const i={type:\"button\",model:new RI({commandName:\"resizeImage\",commandValue:o,label:this._getOptionLabelValue(t),role:\"menuitemradio\",withText:true,icon:null})};i.model.bind(\"isOn\").to(e,\"value\",DW(o));n.add(i)}));return n}}function DW(t){return e=>{const n=e;if(t===null&&n===t){return true}return n!==null&&n.width===t}}const IW=null&&\"figure.image.ck-widget > img,\"+\"figure.image.ck-widget > picture > img,\"+\"figure.image.ck-widget > a > img,\"+\"figure.image.ck-widget > a > picture > img,\"+\"span.image-inline.ck-widget > img,\"+\"span.image-inline.ck-widget > picture > img\";const TW=\"image_resized\";class SW extends(null&&Plugin){static get requires(){return[WidgetResize,ImageUtils]}static get pluginName(){return\"ImageResizeHandles\"}init(){const t=this.editor.commands.get(\"resizeImage\");this.bind(\"isEnabled\").to(t);this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get(\"ImageUtils\");e.addObserver(ImageLoadObserver);this.listenTo(e.document,\"imageLoaded\",((o,i)=>{if(!i.target.matches(IW)){return}const r=t.editing.view.domConverter;const s=r.domToView(i.target);const a=n.getImageWidgetFromImageView(s);let c=this.editor.plugins.get(WidgetResize).getResizerByViewElement(a);if(c){c.redraw();return}const l=t.editing.mapper;const d=l.toModelElement(a);c=t.plugins.get(WidgetResize).attachTo({unit:t.config.get(\"image.resizeUnit\"),modelElement:d,viewElement:a,editor:t,getHandleHost(t){return t.querySelector(\"img\")},getResizeHost(){return r.mapViewToDom(l.toViewElement(d.parent))},isCentered(){const t=d.getAttribute(\"imageStyle\");return t==\"alignCenter\"},onCommit(n){e.change((t=>{t.removeClass(TW,a)}));t.execute(\"resizeImage\",{width:n})}});c.on(\"updateSize\",(()=>{if(!a.hasClass(TW)){e.change((t=>{t.addClass(TW,a)}))}const t=d.name===\"imageInline\"?s:a;if(t.getStyle(\"height\")){e.change((e=>{e.removeStyle(\"height\",t)}))}}));c.bind(\"isEnabled\").to(this)}))}}var BW=n(5035);var MW={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};MW.insert=\"head\";MW.singleton=true;var PW=Ld()(BW.A,MW);const NW=BW.A.locals||{};class LW extends(null&&Plugin){static get requires(){return[ImageResizeEditing,ImageResizeHandles,ImageResizeButtons]}static get pluginName(){return\"ImageResize\"}}class zW extends Id{constructor(t,e){super(t);this._defaultStyles={imageBlock:false,imageInline:false};this._styles=new Map(e.map((t=>{if(t.isDefault){for(const e of t.modelElements){this._defaultStyles[e]=t.name}}return[t.name,t]})))}refresh(){const t=this.editor;const e=t.plugins.get(\"ImageUtils\");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n;if(!this.isEnabled){this.value=false}else if(n.hasAttribute(\"imageStyle\")){this.value=n.getAttribute(\"imageStyle\")}else{this.value=this._defaultStyles[n.name]}}execute(t={}){const e=this.editor;const n=e.model;const o=e.plugins.get(\"ImageUtils\");n.change((e=>{const i=t.value;const{setImageSizes:r=true}=t;let s=o.getClosestSelectedImageElement(n.document.selection);if(i&&this.shouldConvertImageType(i,s)){this.editor.execute(o.isBlockImage(s)?\"imageTypeInline\":\"imageTypeBlock\",{setImageSizes:r});s=o.getClosestSelectedImageElement(n.document.selection)}if(!i||this._styles.get(i).isDefault){e.removeAttribute(\"imageStyle\",s)}else{e.setAttribute(\"imageStyle\",i,s)}if(r){o.setImageNaturalSizeAttributes(s)}}))}shouldConvertImageType(t,e){const n=this._styles.get(t).modelElements;return!n.includes(e.name)}}const{objectFullWidth:OW,objectInline:RW,objectLeft:VW,objectRight:FW,objectCenter:jW,objectBlockLeft:HW,objectBlockRight:UW}=CC;const WW={get inline(){return{name:\"inline\",title:\"In line\",icon:RW,modelElements:[\"imageInline\"],isDefault:true}},get alignLeft(){return{name:\"alignLeft\",title:\"Left aligned image\",icon:VW,modelElements:[\"imageBlock\",\"imageInline\"],className:\"image-style-align-left\"}},get alignBlockLeft(){return{name:\"alignBlockLeft\",title:\"Left aligned image\",icon:HW,modelElements:[\"imageBlock\"],className:\"image-style-block-align-left\"}},get alignCenter(){return{name:\"alignCenter\",title:\"Centered image\",icon:jW,modelElements:[\"imageBlock\"],className:\"image-style-align-center\"}},get alignRight(){return{name:\"alignRight\",title:\"Right aligned image\",icon:FW,modelElements:[\"imageBlock\",\"imageInline\"],className:\"image-style-align-right\"}},get alignBlockRight(){return{name:\"alignBlockRight\",title:\"Right aligned image\",icon:UW,modelElements:[\"imageBlock\"],className:\"image-style-block-align-right\"}},get block(){return{name:\"block\",title:\"Centered image\",icon:jW,modelElements:[\"imageBlock\"],isDefault:true}},get side(){return{name:\"side\",title:\"Side image\",icon:FW,modelElements:[\"imageBlock\"],className:\"image-style-side\"}}};const qW={full:OW,left:HW,right:UW,center:jW,inlineLeft:VW,inlineRight:FW,inline:RW};const GW=[{name:\"imageStyle:wrapText\",title:\"Wrap text\",defaultItem:\"imageStyle:alignLeft\",items:[\"imageStyle:alignLeft\",\"imageStyle:alignRight\"]},{name:\"imageStyle:breakText\",title:\"Break text\",defaultItem:\"imageStyle:block\",items:[\"imageStyle:alignBlockLeft\",\"imageStyle:block\",\"imageStyle:alignBlockRight\"]}];function $W(t){const e=t.configuredStyles.options||[];const n=e.map((t=>QW(t))).filter((e=>ZW(e,t)));return n}function KW(t,e){if(t&&e){return{options:[\"inline\",\"alignLeft\",\"alignRight\",\"alignCenter\",\"alignBlockLeft\",\"alignBlockRight\",\"block\",\"side\"]}}else if(t){return{options:[\"block\",\"side\"]}}else if(e){return{options:[\"inline\",\"alignLeft\",\"alignRight\"]}}return{}}function YW(t){if(t.has(\"ImageBlockEditing\")&&t.has(\"ImageInlineEditing\")){return[...GW]}else{return[]}}function QW(t){if(typeof t===\"string\"){if(!WW[t]){t={name:t}}else{t={...WW[t]}}}else{t=JW(WW[t.name],t)}if(typeof t.icon===\"string\"){t.icon=qW[t.icon]||t.icon}return t}function ZW(t,{isBlockPluginLoaded:e,isInlinePluginLoaded:n}){const{modelElements:o,name:i}=t;if(!o||!o.length||!i){XW({style:t});return false}else{const i=[e?\"imageBlock\":null,n?\"imageInline\":null];if(!o.some((t=>i.includes(t)))){L(\"image-style-missing-dependency\",{style:t,missingPlugins:o.map((t=>t===\"imageBlock\"?\"ImageBlockEditing\":\"ImageInlineEditing\"))});return false}}return true}function JW(t,e){const n={...e};for(const o in t){if(!Object.prototype.hasOwnProperty.call(e,o)){n[o]=t[o]}}return n}function XW(t){L(\"image-style-configuration-definition-invalid\",t)}const tq={normalizeStyles:$W,getDefaultStylesConfiguration:KW,getDefaultDropdownDefinitions:YW,warnInvalidStyle:XW,DEFAULT_OPTIONS:WW,DEFAULT_ICONS:qW,DEFAULT_DROPDOWN_DEFINITIONS:GW};function eq(t){return(e,n,o)=>{if(!o.consumable.consume(n.item,e.name)){return}const i=oq(n.attributeNewValue,t);const r=oq(n.attributeOldValue,t);const s=o.mapper.toViewElement(n.item);const a=o.writer;if(r){a.removeClass(r.className,s)}if(i){a.addClass(i.className,s)}}}function nq(t){const e={imageInline:t.filter((t=>!t.isDefault&&t.modelElements.includes(\"imageInline\"))),imageBlock:t.filter((t=>!t.isDefault&&t.modelElements.includes(\"imageBlock\")))};return(t,n,o)=>{if(!n.modelRange){return}const i=n.viewItem;const r=sd(n.modelRange.getItems());if(!r){return}if(!o.schema.checkAttribute(r,\"imageStyle\")){return}for(const t of e[r.name]){if(o.consumable.consume(i,{classes:t.className})){o.writer.setAttribute(\"imageStyle\",t.name,r)}}}}function oq(t,e){for(const n of e){if(n.name===t){return n}}}class iq extends Ed{static get pluginName(){return\"ImageStyleEditing\"}static get requires(){return[DH]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=tq;const n=this.editor;const o=n.plugins.has(\"ImageBlockEditing\");const i=n.plugins.has(\"ImageInlineEditing\");n.config.define(\"image.styles\",e(o,i));this.normalizedStyles=t({configuredStyles:n.config.get(\"image.styles\"),isBlockPluginLoaded:o,isInlinePluginLoaded:i});this._setupConversion(o,i);this._setupPostFixer();n.commands.add(\"imageStyle\",new zW(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor;const o=n.model.schema;const i=eq(this.normalizedStyles);const r=nq(this.normalizedStyles);n.editing.downcastDispatcher.on(\"attribute:imageStyle\",i);n.data.downcastDispatcher.on(\"attribute:imageStyle\",i);if(t){o.extend(\"imageBlock\",{allowAttributes:\"imageStyle\"});n.data.upcastDispatcher.on(\"element:figure\",r,{priority:\"low\"})}if(e){o.extend(\"imageInline\",{allowAttributes:\"imageStyle\"});n.data.upcastDispatcher.on(\"element:img\",r,{priority:\"low\"})}}_setupPostFixer(){const t=this.editor;const e=t.model.document;const n=t.plugins.get(DH);const o=new Map(this.normalizedStyles.map((t=>[t.name,t])));e.registerPostFixer((t=>{let i=false;for(const r of e.differ.getChanges()){if(r.type==\"insert\"||r.type==\"attribute\"&&r.attributeKey==\"imageStyle\"){let e=r.type==\"insert\"?r.position.nodeAfter:r.range.start.nodeAfter;if(e&&e.is(\"element\",\"paragraph\")&&e.childCount>0){e=e.getChild(0)}if(!n.isImage(e)){continue}const s=e.getAttribute(\"imageStyle\");if(!s){continue}const a=o.get(s);if(!a||!a.modelElements.includes(e.name)){t.removeAttribute(\"imageStyle\",e);i=true}}}return i}))}}var rq=n(1644);var sq={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};sq.insert=\"head\";sq.singleton=true;var aq=Ld()(rq.A,sq);const cq=rq.A.locals||{};class lq extends Ed{static get requires(){return[iq]}static get pluginName(){return\"ImageStyleUI\"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{\"Wrap text\":t(\"Wrap text\"),\"Break text\":t(\"Break text\"),\"In line\":t(\"In line\"),\"Full size image\":t(\"Full size image\"),\"Side image\":t(\"Side image\"),\"Left aligned image\":t(\"Left aligned image\"),\"Centered image\":t(\"Centered image\"),\"Right aligned image\":t(\"Right aligned image\")}}init(){const t=this.editor.plugins;const e=this.editor.config.get(\"image.toolbar\")||[];const n=t.get(\"ImageStyleEditing\");const o=dq(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const t of o){this._createButton(t)}const i=dq([...e.filter(st),...tq.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const t of i){this._createDropdown(t,o)}}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,(o=>{let i;const{defaultItem:r,items:s,title:a}=t;const c=s.filter((t=>e.find((({name:e})=>uq(e)===t)))).map((t=>{const e=n.create(t);if(t===r){i=e}return e}));if(s.length!==c.length){tq.warnInvalidStyle({dropdown:t})}const l=xx(o,px);const d=l.buttonView;const u=d.arrowView;Ex(l,c,{enableActiveItemFocusOnDropdownOpen:true});d.set({label:hq(a,i.label),class:null,tooltip:true});u.unbind(\"label\");u.set({label:a});d.bind(\"icon\").toMany(c,\"isOn\",((...t)=>{const e=t.findIndex(yl);return e<0?i.icon:c[e].icon}));d.bind(\"label\").toMany(c,\"isOn\",((...t)=>{const e=t.findIndex(yl);return hq(a,e<0?i.label:c[e].label)}));d.bind(\"isOn\").toMany(c,\"isOn\",((...t)=>t.some(yl)));d.bind(\"class\").toMany(c,\"isOn\",((...t)=>t.some(yl)?\"ck-splitbutton_flatten\":undefined));d.on(\"execute\",(()=>{if(!c.some((({isOn:t})=>t))){i.fire(\"execute\")}else{l.isOpen=!l.isOpen}}));l.bind(\"isEnabled\").toMany(c,\"isEnabled\",((...t)=>t.some(yl)));this.listenTo(l,\"execute\",(()=>{this.editor.editing.view.focus()}));return l}))}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(uq(e),(n=>{const o=this.editor.commands.get(\"imageStyle\");const i=new Sv(n);i.set({label:t.title,icon:t.icon,tooltip:true,isToggleable:true});i.bind(\"isEnabled\").to(o,\"isEnabled\");i.bind(\"isOn\").to(o,\"value\",(t=>t===e));i.on(\"execute\",this._executeCommand.bind(this,e));return i}))}_executeCommand(t){this.editor.execute(\"imageStyle\",{value:t});this.editor.editing.view.focus()}}function dq(t,e){for(const n of t){if(e[n.title]){n.title=e[n.title]}}return t}function uq(t){return`imageStyle:${t}`}function hq(t,e){return(t?t+\": \":\"\")+e}class mq extends Ed{static get requires(){return[iq,lq]}static get pluginName(){return\"ImageStyle\"}}class gq extends Ed{static get requires(){return[pO,DH]}static get pluginName(){return\"ImageToolbar\"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(pO);const o=t.plugins.get(\"ImageUtils\");n.register(\"image\",{ariaLabel:e(\"Image toolbar\"),items:fq(t.config.get(\"image.toolbar\")||[]),getRelatedElement:t=>o.getClosestSelectedImageWidget(t)})}}function fq(t){return t.map((t=>st(t)?t.name:t))}class pq extends Ed{static get requires(){return[oU,DH]}static get pluginName(){return\"PictureEditing\"}afterInit(){const t=this.editor;if(t.plugins.has(\"ImageBlockEditing\")){t.model.schema.extend(\"imageBlock\",{allowAttributes:[\"sources\"]})}if(t.plugins.has(\"ImageInlineEditing\")){t.model.schema.extend(\"imageInline\",{allowAttributes:[\"sources\"]})}this._setupConversion();this._setupImageUploadEditingIntegration()}_setupConversion(){const t=this.editor;const e=t.conversion;const n=t.plugins.get(\"ImageUtils\");e.for(\"upcast\").add(QH(n));e.for(\"downcast\").add(JH(n))}_setupImageUploadEditingIntegration(){const t=this.editor;if(!t.plugins.has(\"ImageUploadEditing\")){return}const e=t.plugins.get(\"ImageUploadEditing\");this.listenTo(e,\"uploadComplete\",((e,{imageElement:n,data:o})=>{const i=o.sources;if(!i){return}t.model.change((t=>{t.setAttributes({sources:i},n)}))}))}}class bq extends Ed{static get pluginName(){return\"IndentEditing\"}init(){const t=this.editor;t.commands.add(\"indent\",new Sd(t));t.commands.add(\"outdent\",new Sd(t))}}class kq extends Ed{static get pluginName(){return\"IndentUI\"}init(){const t=this.editor;const e=t.locale;const n=t.t;const o=e.uiLanguageDirection==\"ltr\"?CC.indent:CC.outdent;const i=e.uiLanguageDirection==\"ltr\"?CC.outdent:CC.indent;this._defineButton(\"indent\",n(\"Increase indent\"),o);this._defineButton(\"outdent\",n(\"Decrease indent\"),i)}_defineButton(t,e,n){const o=this.editor;o.ui.componentFactory.add(t,(()=>{const o=this._createButton(Sv,t,e,n);o.set({tooltip:true});return o}));o.ui.componentFactory.add(\"menuBar:\"+t,(()=>this._createButton(qS,t,e,n)))}_createButton(t,e,n,o){const i=this.editor;const r=i.commands.get(e);const s=new t(i.locale);s.set({label:n,icon:o});s.bind(\"isEnabled\").to(r,\"isEnabled\");this.listenTo(s,\"execute\",(()=>{i.execute(e);i.editing.view.focus()}));return s}}class wq extends Ed{static get pluginName(){return\"Indent\"}static get requires(){return[bq,kq]}}class Aq extends Id{constructor(t,e){super(t);this._indentBehavior=e}refresh(){const t=this.editor;const e=t.model;const n=sd(e.document.selection.getSelectedBlocks());if(!n||!this._isIndentationChangeAllowed(n)){this.isEnabled=false;return}this.isEnabled=this._indentBehavior.checkEnabled(n.getAttribute(\"blockIndent\"))}execute(){const t=this.editor.model;const e=this._getBlocksToChange();t.change((t=>{for(const n of e){const e=n.getAttribute(\"blockIndent\");const o=this._indentBehavior.getNextIndent(e);if(o){t.setAttribute(\"blockIndent\",o,n)}else{t.removeAttribute(\"blockIndent\",n)}}}))}_getBlocksToChange(){const t=this.editor.model;const e=t.document.selection;const n=Array.from(e.getSelectedBlocks());return n.filter((t=>this._isIndentationChangeAllowed(t)))}_isIndentationChangeAllowed(t){const e=this.editor;if(!e.model.schema.checkAttribute(t,\"blockIndent\")){return false}if(!e.plugins.has(\"ListUtils\")){return true}if(!this._indentBehavior.isForward){return true}const n=e.plugins.get(\"ListUtils\");return!n.isListItemBlock(t)}}class _q{constructor(t){this.isForward=t.direction===\"forward\";this.offset=t.offset;this.unit=t.unit}checkEnabled(t){const e=parseFloat(t||\"0\");return this.isForward||e>0}getNextIndent(t){const e=parseFloat(t||\"0\");const n=!t||t.endsWith(this.unit);if(!n){return this.isForward?this.offset+this.unit:undefined}const o=this.isForward?this.offset:-this.offset;const i=e+o;return i>0?i+this.unit:undefined}}class Cq{constructor(t){this.isForward=t.direction===\"forward\";this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);if(this.isForward){return e=0}}getNextIndent(t){const e=this.classes.indexOf(t);const n=this.isForward?1:-1;return this.classes[e+n]}}const vq=[\"paragraph\",\"heading1\",\"heading2\",\"heading3\",\"heading4\",\"heading5\",\"heading6\"];class yq extends Ed{constructor(t){super(t);t.config.define(\"indentBlock\",{offset:40,unit:\"px\"})}static get pluginName(){return\"IndentBlock\"}init(){const t=this.editor;const e=t.config.get(\"indentBlock\");if(e.classes&&e.classes.length){this._setupConversionUsingClasses(e.classes);t.commands.add(\"indentBlock\",new Aq(t,new Cq({direction:\"forward\",classes:e.classes})));t.commands.add(\"outdentBlock\",new Aq(t,new Cq({direction:\"backward\",classes:e.classes})))}else{t.data.addStyleProcessorRules(e_);this._setupConversionUsingOffset();t.commands.add(\"indentBlock\",new Aq(t,new _q({direction:\"forward\",offset:e.offset,unit:e.unit})));t.commands.add(\"outdentBlock\",new Aq(t,new _q({direction:\"backward\",offset:e.offset,unit:e.unit})))}}afterInit(){const t=this.editor;const e=t.model.schema;const n=t.commands.get(\"indent\");const o=t.commands.get(\"outdent\");const i=t.config.get(\"heading.options\");const r=i&&i.map((t=>t.model));const s=r||vq;s.forEach((t=>{if(e.isRegistered(t)){e.extend(t,{allowAttributes:\"blockIndent\"})}}));e.setAttributeProperties(\"blockIndent\",{isFormatting:true});n.registerChildCommand(t.commands.get(\"indentBlock\"));o.registerChildCommand(t.commands.get(\"outdentBlock\"))}_setupConversionUsingOffset(){const t=this.editor.conversion;const e=this.editor.locale;const n=e.contentLanguageDirection===\"rtl\"?\"margin-right\":\"margin-left\";t.for(\"upcast\").attributeToAttribute({view:{styles:{[n]:/[\\s\\S]+/}},model:{key:\"blockIndent\",value:t=>{if(!t.is(\"element\",\"li\")){return t.getStyle(n)}}}});t.for(\"downcast\").attributeToAttribute({model:\"blockIndent\",view:t=>({key:\"style\",value:{[n]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:\"blockIndent\",values:[]},view:{}};for(const n of t){e.model.values.push(n);e.view[n]={key:\"class\",value:[n]}}this.editor.conversion.attributeToAttribute(e)}}class xq{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){if(Array.isArray(t)){t.forEach((t=>this._definitions.add(t)))}else{this._definitions.add(t)}}getDispatcher(){return t=>{t.on(\"attribute:linkHref\",((t,e,n)=>{if(!n.consumable.test(e.item,\"attribute:linkHref\")){return}if(!(e.item.is(\"selection\")||n.schema.isInline(e.item))){return}const o=n.writer;const i=o.document.selection;for(const t of this._definitions){const r=o.createAttributeElement(\"a\",t.attributes,{priority:5});if(t.classes){o.addClass(t.classes,r)}for(const e in t.styles){o.setStyle(e,t.styles[e],r)}o.setCustomProperty(\"link\",true,r);if(t.callback(e.attributeNewValue)){if(e.item.is(\"selection\")){o.wrap(i.getFirstRange(),r)}else{o.wrap(n.mapper.toViewRange(e.range),r)}}else{o.unwrap(n.mapper.toViewRange(e.range),r)}}}),{priority:\"high\"})}}getDispatcherForLinkedImage(){return t=>{t.on(\"attribute:linkHref:imageBlock\",((t,e,{writer:n,mapper:o})=>{const i=o.toViewElement(e.item);const r=Array.from(i.getChildren()).find((t=>t.is(\"element\",\"a\")));for(const t of this._definitions){const o=dd(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of o){if(t===\"class\"){n.addClass(e,r)}else{n.setAttribute(t,e,r)}}if(t.classes){n.addClass(t.classes,r)}for(const e in t.styles){n.setStyle(e,t.styles[e],r)}}else{for(const[t,e]of o){if(t===\"class\"){n.removeClass(e,r)}else{n.removeAttribute(t,r)}}if(t.classes){n.removeClass(t.classes,r)}for(const e in t.styles){n.removeStyle(e,r)}}}}))}}}const Eq=/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g;const Dq=\"^(?:(?:):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))\";const Iq=/^[\\S]+@((?![-_])(?:[-\\w\\u00a1-\\uffff]{0,63}[^-_]\\.))+(?:[a-z\\u00a1-\\uffff]{2,})$/i;const Tq=/^((\\w+:(\\/{2,})?)|(\\W))/i;const Sq=[\"https?\",\"ftps?\",\"mailto\"];const Bq=\"Ctrl+K\";function Mq(t){return t.is(\"attributeElement\")&&!!t.getCustomProperty(\"link\")}function Pq(t,{writer:e}){const n=e.createAttributeElement(\"a\",{href:t},{priority:5});e.setCustomProperty(\"link\",true,n);return n}function Nq(t,e=Sq){const n=String(t);const o=e.join(\"|\");const i=new RegExp(`${Dq.replace(\"\",o)}`,\"i\");return Lq(n,i)?n:\"#\"}function Lq(t,e){const n=t.replace(Eq,\"\");return!!n.match(e)}function zq(t,e){const n={\"Open in a new tab\":t(\"Open in a new tab\"),Downloadable:t(\"Downloadable\")};e.forEach((t=>{if(\"label\"in t&&n[t.label]){t.label=n[t.label]}return t}));return e}function Oq(t){const e=[];if(t){for(const[n,o]of Object.entries(t)){const t=Object.assign({},o,{id:`link${aj(n)}`});e.push(t)}}return e}function Rq(t,e){if(!t){return false}return e.checkAttribute(t.name,\"linkHref\")}function Vq(t){return Iq.test(t)}function Fq(t,e){const n=Vq(t)?\"mailto:\":e;const o=!!n&&!jq(t);return t&&o?n+t:t}function jq(t){return Tq.test(t)}function Hq(t){window.open(t,\"_blank\",\"noopener\")}class Uq extends Id{constructor(){super(...arguments);this.manualDecorators=new rd;this.automaticDecorators=new xq}restoreManualDecoratorStates(){for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}refresh(){const t=this.editor.model;const e=t.document.selection;const n=e.getSelectedElement()||sd(e.getSelectedBlocks());if(Rq(n,t.schema)){this.value=n.getAttribute(\"linkHref\");this.isEnabled=t.schema.checkAttribute(n,\"linkHref\")}else{this.value=e.getAttribute(\"linkHref\");this.isEnabled=t.schema.checkAttributeInSelection(e,\"linkHref\")}for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}execute(t,e={}){const n=this.editor.model;const o=n.document.selection;const i=[];const r=[];for(const t in e){if(e[t]){i.push(t)}else{r.push(t)}}n.change((e=>{if(o.isCollapsed){const s=o.getFirstPosition();if(o.hasAttribute(\"linkHref\")){const a=Wq(o);let c=rM(s,\"linkHref\",o.getAttribute(\"linkHref\"),n);if(o.getAttribute(\"linkHref\")===a){c=this._updateLinkContent(n,e,c,t)}e.setAttribute(\"linkHref\",t,c);i.forEach((t=>{e.setAttribute(t,true,c)}));r.forEach((t=>{e.removeAttribute(t,c)}));e.setSelection(e.createPositionAfter(c.end.nodeBefore))}else if(t!==\"\"){const r=dd(o.getAttributes());r.set(\"linkHref\",t);i.forEach((t=>{r.set(t,true)}));const{end:a}=n.insertContent(e.createText(t,r),s);e.setSelection(a)}[\"linkHref\",...i,...r].forEach((t=>{e.removeSelectionAttribute(t)}))}else{const s=n.schema.getValidRanges(o.getRanges(),\"linkHref\");const a=[];for(const t of o.getSelectedBlocks()){if(n.schema.checkAttribute(t,\"linkHref\")){a.push(e.createRangeOn(t))}}const c=a.slice();for(const t of s){if(this._isRangeToUpdate(t,a)){c.push(t)}}for(const s of c){let a=s;if(c.length===1){const i=Wq(o);if(o.getAttribute(\"linkHref\")===i){a=this._updateLinkContent(n,e,s,t);e.setSelection(e.createSelection(a))}}e.setAttribute(\"linkHref\",t,a);i.forEach((t=>{e.setAttribute(t,true,a)}));r.forEach((t=>{e.removeAttribute(t,a)}))}}}))}_getDecoratorStateFromModel(t){const e=this.editor.model;const n=e.document.selection;const o=n.getSelectedElement();if(Rq(o,e.schema)){return o.getAttribute(t)}return n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e){if(n.containsRange(t)){return false}}return true}_updateLinkContent(t,e,n,o){const i=e.createText(o,{linkHref:o});return t.insertContent(i,n)}}function Wq(t){if(t.isCollapsed){const e=t.getFirstPosition();return e.textNode&&e.textNode.data}else{const e=Array.from(t.getFirstRange().getItems());if(e.length>1){return null}const n=e[0];if(n.is(\"$text\")||n.is(\"$textProxy\")){return n.data}return null}}class qq extends Id{refresh(){const t=this.editor.model;const e=t.document.selection;const n=e.getSelectedElement();if(Rq(n,t.schema)){this.isEnabled=t.schema.checkAttribute(n,\"linkHref\")}else{this.isEnabled=t.schema.checkAttributeInSelection(e,\"linkHref\")}}execute(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;const o=t.commands.get(\"link\");e.change((t=>{const i=n.isCollapsed?[rM(n.getFirstPosition(),\"linkHref\",n.getAttribute(\"linkHref\"),e)]:e.schema.getValidRanges(n.getRanges(),\"linkHref\");for(const e of i){t.removeAttribute(\"linkHref\",e);if(o){for(const n of o.manualDecorators){t.removeAttribute(n.id,e)}}}}))}}class Gq extends(mt()){constructor({id:t,label:e,attributes:n,classes:o,styles:i,defaultValue:r}){super();this.id=t;this.set(\"value\",undefined);this.defaultValue=r;this.label=e;this.attributes=n;this.classes=o;this.styles=i}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var $q=n(7865);var Kq={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};Kq.insert=\"head\";Kq.singleton=true;var Yq=Ld()($q.A,Kq);const Qq=$q.A.locals||{};const Zq=\"ck-link_selected\";const Jq=\"automatic\";const Xq=\"manual\";const tG=/^(https?:)?\\/\\//;class eG extends Ed{static get pluginName(){return\"LinkEditing\"}static get requires(){return[HB,xB,pz]}constructor(t){super(t);t.config.define(\"link\",{allowCreatingEmptyLinks:false,addTargetToExternalLinks:false})}init(){const t=this.editor;const e=this.editor.config.get(\"link.allowedProtocols\");t.model.schema.extend(\"$text\",{allowAttributes:\"linkHref\"});t.conversion.for(\"dataDowncast\").attributeToElement({model:\"linkHref\",view:Pq});t.conversion.for(\"editingDowncast\").attributeToElement({model:\"linkHref\",view:(t,n)=>Pq(Nq(t,e),n)});t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:{href:true}},model:{key:\"linkHref\",value:t=>t.getAttribute(\"href\")}});t.commands.add(\"link\",new Uq(t));t.commands.add(\"unlink\",new qq(t));const n=zq(t.t,Oq(t.config.get(\"link.decorators\")));this._enableAutomaticDecorators(n.filter((t=>t.mode===Jq)));this._enableManualDecorators(n.filter((t=>t.mode===Xq)));const o=t.plugins.get(HB);o.registerAttribute(\"linkHref\");aM(t,\"linkHref\",\"a\",Zq);this._enableLinkOpen();this._enableSelectionAttributesFixer();this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor;const n=e.commands.get(\"link\");const o=n.automaticDecorators;if(e.config.get(\"link.addTargetToExternalLinks\")){o.add({id:\"linkIsExternal\",mode:Jq,callback:t=>!!t&&tG.test(t),attributes:{target:\"_blank\",rel:\"noopener noreferrer\"}})}o.add(t);if(o.length){e.conversion.for(\"downcast\").add(o.getDispatcher())}}_enableManualDecorators(t){if(!t.length){return}const e=this.editor;const n=e.commands.get(\"link\");const o=n.manualDecorators;t.forEach((t=>{e.model.schema.extend(\"$text\",{allowAttributes:t.id});const n=new Gq(t);o.add(n);e.conversion.for(\"downcast\").attributeToElement({model:n.id,view:(t,{writer:e,schema:o},{item:i})=>{if(!(i.is(\"selection\")||o.isInline(i))){return}if(t){const t=e.createAttributeElement(\"a\",n.attributes,{priority:5});if(n.classes){e.addClass(n.classes,t)}for(const o in n.styles){e.setStyle(o,n.styles[o],t)}e.setCustomProperty(\"link\",true,t);return t}}});e.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",...n._createPattern()},model:{key:n.id}})}))}_enableLinkOpen(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,\"click\",((t,e)=>{const n=l.isMac?e.domEvent.metaKey:e.domEvent.ctrlKey;if(!n){return}let o=e.domTarget;if(o.tagName.toLowerCase()!=\"a\"){o=o.closest(\"a\")}if(!o){return}const i=o.getAttribute(\"href\");if(!i){return}t.stop();e.preventDefault();Hq(i)}),{context:\"$capture\"});this.listenTo(n,\"keydown\",((e,n)=>{const o=t.commands.get(\"link\");const i=o.value;const r=!!i&&n.keyCode===Yc.enter&&n.altKey;if(!r){return}e.stop();Hq(i)}))}_enableSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;this.listenTo(n,\"change:attribute\",((t,{attributeKeys:o})=>{if(!o.includes(\"linkHref\")||n.hasAttribute(\"linkHref\")){return}e.change((t=>{nG(t,oG(e.schema))}))}))}_enableClipboardIntegration(){const t=this.editor;const e=t.model;const n=this.editor.config.get(\"link.defaultProtocol\");if(!n){return}this.listenTo(t.plugins.get(\"ClipboardPipeline\"),\"contentInsertion\",((t,o)=>{e.change((t=>{const e=t.createRangeIn(o.content);for(const o of e.getItems()){if(o.hasAttribute(\"linkHref\")){const e=Fq(o.getAttribute(\"linkHref\"),n);t.setAttribute(\"linkHref\",e,o)}}}))}))}}function nG(t,e){t.removeSelectionAttribute(\"linkHref\");for(const n of e){t.removeSelectionAttribute(n)}}function oG(t){const e=t.getDefinition(\"$text\").allowAttributes;return e.filter((t=>t.startsWith(\"link\")))}var iG=n(2375);var rG={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};rG.insert=\"head\";rG.singleton=true;var sG=Ld()(iG.A,rG);const aG=iG.A.locals||{};class cG extends ov{constructor(t,e){super(t);this.focusTracker=new ad;this.keystrokes=new cd;this._focusables=new vC;const n=t.t;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n(\"Save\"),CC.check,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.cancelButtonView=this._createButton(n(\"Cancel\"),CC.cancel,\"ck-button-cancel\",\"cancel\");this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e);this.children=this._createFormChildren(e.manualDecorators);this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});const o=[\"ck\",\"ck-link-form\",\"ck-responsive-form\"];if(e.manualDecorators.length){o.push(\"ck-link-form_layout-vertical\",\"ck-vertical-form\")}this.setTemplate({tag:\"form\",attributes:{class:o,tabindex:\"-1\"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>{t[e.name]=e.isOn;return t}),{})}render(){super.render();i({view:this});const t=[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t;const e=new py(this.locale,Vx);e.label=t(\"Link URL\");return e}_createButton(t,e,n,o){const i=new Sv(this.locale);i.set({label:t,icon:e,tooltip:true});i.extendTemplate({attributes:{class:n}});if(o){i.delegate(\"execute\").to(this,o)}return i}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const o=new Lv(this.locale);o.set({name:n.id,label:n.label,withText:true});o.bind(\"isOn\").toMany([n,t],\"value\",((t,e)=>e===undefined&&t===undefined?!!n.defaultValue:!!t));o.on(\"execute\",(()=>{n.set(\"value\",!o.isOn)}));e.add(o)}return e}_createFormChildren(t){const e=this.createCollection();e.add(this.urlInputView);if(t.length){const t=new ov;t.setTemplate({tag:\"ul\",children:this._manualDecoratorSwitches.map((t=>({tag:\"li\",children:[t],attributes:{class:[\"ck\",\"ck-list__item\"]}}))),attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"]}});e.add(t)}e.add(this.saveButtonView);e.add(this.cancelButtonView);return e}}var lG=n(6144);var dG={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};dG.insert=\"head\";dG.singleton=true;var uG=Ld()(lG.A,dG);const hG=lG.A.locals||{};const mG=' ';class gG extends ov{constructor(t,e={}){super(t);this.focusTracker=new ad;this.keystrokes=new cd;this._focusables=new vC;const n=t.t;this.previewButtonView=this._createPreviewButton();this.unlinkButtonView=this._createButton(n(\"Unlink\"),mG,\"unlink\");this.editButtonView=this._createButton(n(\"Edit link\"),CC.pencil,\"edit\");this.set(\"href\",undefined);this._linkConfig=e;this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-link-actions\",\"ck-responsive-form\"],tabindex:\"-1\"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();const t=[this.previewButtonView,this.editButtonView,this.unlinkButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const o=new Sv(this.locale);o.set({label:t,icon:e,tooltip:true});o.delegate(\"execute\").to(this,n);return o}_createPreviewButton(){const t=new Sv(this.locale);const e=this.bindTemplate;const n=this.t;t.set({withText:true,tooltip:n(\"Open link in new tab\")});t.extendTemplate({attributes:{class:[\"ck\",\"ck-link-actions__preview\"],href:e.to(\"href\",(t=>t&&Nq(t,this._linkConfig.allowedProtocols))),target:\"_blank\",rel:\"noopener noreferrer\"}});t.bind(\"label\").to(this,\"href\",(t=>t||n(\"This link has no URL\")));t.bind(\"isEnabled\").to(this,\"href\",(t=>!!t));t.template.tag=\"a\";t.template.eventListeners={};return t}}const fG=' ';const pG=\"link-ui\";class bG extends Ed{constructor(){super(...arguments);this.actionsView=null;this.formView=null}static get requires(){return[KI]}static get pluginName(){return\"LinkUI\"}init(){const t=this.editor;const e=this.editor.t;t.editing.view.addObserver(lA);this._balloon=t.plugins.get(KI);this._createToolbarLinkButton();this._enableBalloonActivators();t.conversion.for(\"editingDowncast\").markerToHighlight({model:pG,view:{classes:[\"ck-fake-link-selection\"]}});t.conversion.for(\"editingDowncast\").markerToElement({model:pG,view:{name:\"span\",classes:[\"ck-fake-link-selection\",\"ck-fake-link-selection_collapsed\"]}});t.accessibility.addKeystrokeInfos({keystrokes:[{label:e(\"Create link\"),keystroke:Bq},{label:e(\"Move out of a link\"),keystroke:[[\"arrowleft\",\"arrowleft\"],[\"arrowright\",\"arrowright\"]]}]})}destroy(){super.destroy();if(this.formView){this.formView.destroy()}if(this.actionsView){this.actionsView.destroy()}}_createViews(){this.actionsView=this._createActionsView();this.formView=this._createFormView();this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor;const e=new gG(t.locale,t.config.get(\"link\"));const n=t.commands.get(\"link\");const o=t.commands.get(\"unlink\");e.bind(\"href\").to(n,\"value\");e.editButtonView.bind(\"isEnabled\").to(n);e.unlinkButtonView.bind(\"isEnabled\").to(o);this.listenTo(e,\"edit\",(()=>{this._addFormView()}));this.listenTo(e,\"unlink\",(()=>{t.execute(\"unlink\");this._hideUI()}));e.keystrokes.set(\"Esc\",((t,e)=>{this._hideUI();e()}));e.keystrokes.set(Bq,((t,e)=>{this._addFormView();e()}));return e}_createFormView(){const t=this.editor;const n=t.commands.get(\"link\");const o=t.config.get(\"link.defaultProtocol\");const i=t.config.get(\"link.allowCreatingEmptyLinks\");const r=new(e(cG))(t.locale,n);r.urlInputView.fieldView.bind(\"value\").to(n,\"value\");r.urlInputView.bind(\"isEnabled\").to(n,\"isEnabled\");r.saveButtonView.bind(\"isEnabled\").to(n,\"isEnabled\",r.urlInputView,\"isEmpty\",((t,e)=>t&&(i||!e)));this.listenTo(r,\"submit\",(()=>{const{value:e}=r.urlInputView.fieldView.element;const n=Fq(e,o);t.execute(\"link\",n,r.getDecoratorSwitchesState());this._closeFormView()}));this.listenTo(r,\"cancel\",(()=>{this._closeFormView()}));r.keystrokes.set(\"Esc\",((t,e)=>{this._closeFormView();e()}));return r}_createToolbarLinkButton(){const t=this.editor;const e=t.commands.get(\"link\");t.ui.componentFactory.add(\"link\",(()=>{const t=this._createButton(Sv);t.set({tooltip:true,isToggleable:true});t.bind(\"isOn\").to(e,\"value\",(t=>!!t));return t}));t.ui.componentFactory.add(\"menuBar:link\",(()=>this._createButton(qS)))}_createButton(t){const e=this.editor;const n=e.locale;const o=e.commands.get(\"link\");const i=new t(e.locale);const r=n.t;i.set({label:r(\"Link\"),icon:fG,keystroke:Bq});i.bind(\"isEnabled\").to(o,\"isEnabled\");this.listenTo(i,\"execute\",(()=>this._showUI(true)));return i}_enableBalloonActivators(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,\"click\",(()=>{const t=this._getSelectedLinkElement();if(t){this._showUI()}}));t.keystrokes.set(Bq,((e,n)=>{n();if(t.commands.get(\"link\").isEnabled){this._showUI(true)}}))}_enableUserBalloonInteractions(){this.editor.keystrokes.set(\"Tab\",((t,e)=>{if(this._areActionsVisible&&!this.actionsView.focusTracker.isFocused){this.actionsView.focus();e()}}),{priority:\"high\"});this.editor.keystrokes.set(\"Esc\",((t,e)=>{if(this._isUIVisible){this._hideUI();e()}}));t({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){if(!this.actionsView){this._createViews()}if(this._areActionsInPanel){return}this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(!this.formView){this._createViews()}if(this._isFormInPanel){return}const t=this.editor;const e=t.commands.get(\"link\");this.formView.disableCssTransitions();this._balloon.add({view:this.formView,position:this._getBalloonPositionData()});this.formView.urlInputView.fieldView.value=e.value||\"\";if(this._balloon.visibleView===this.formView){this.formView.urlInputView.fieldView.select()}this.formView.enableCssTransitions()}_closeFormView(){const t=this.editor.commands.get(\"link\");t.restoreManualDecoratorStates();if(t.value!==undefined){this._removeFormView()}else{this._hideUI()}}_removeFormView(){if(this._isFormInPanel){this.formView.saveButtonView.focus();this.formView.urlInputView.fieldView.reset();this._balloon.remove(this.formView);this.editor.editing.view.focus();this._hideFakeVisualSelection()}}_showUI(t=false){if(!this.formView){this._createViews()}if(!this._getSelectedLinkElement()){this._showFakeVisualSelection();this._addActionsView();if(t){this._balloon.showStack(\"main\")}this._addFormView()}else{if(this._areActionsVisible){this._addFormView()}else{this._addActionsView()}if(t){this._balloon.showStack(\"main\")}}this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel){return}const t=this.editor;this.stopListening(t.ui,\"update\");this.stopListening(this._balloon,\"change:visibleView\");t.editing.view.focus();this._removeFormView();this._balloon.remove(this.actionsView);this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor;const e=t.editing.view.document;let n=this._getSelectedLinkElement();let o=r();const i=()=>{const t=this._getSelectedLinkElement();const e=r();if(n&&!t||!n&&e!==o){this._hideUI()}else if(this._isUIVisible){this._balloon.updatePosition(this._getBalloonPositionData())}n=t;o=e};function r(){return e.selection.focus.getAncestors().reverse().find((t=>t.is(\"element\")))}this.listenTo(t.ui,\"update\",i);this.listenTo(this._balloon,\"change:visibleView\",i)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view;const e=this.editor.model;const n=t.document;let o;if(e.markers.has(pG)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(pG));const n=t.createRange(t.createPositionBefore(e[0]),t.createPositionAfter(e[e.length-1]));o=t.domConverter.viewRangeToDom(n)}else{o=()=>{const e=this._getSelectedLinkElement();return e?t.domConverter.mapViewToDom(e):t.domConverter.viewRangeToDom(n.selection.getFirstRange())}}return{target:o}}_getSelectedLinkElement(){const t=this.editor.editing.view;const e=t.document.selection;const n=e.getSelectedElement();if(e.isCollapsed||n&&yz(n)){return kG(e.getFirstPosition())}else{const n=e.getFirstRange().getTrimmed();const o=kG(n.start);const i=kG(n.end);if(!o||o!=i){return null}if(t.createRangeIn(o).getTrimmed().isEqual(n)){return o}else{return null}}}_showFakeVisualSelection(){const t=this.editor.model;t.change((e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(pG)){e.updateMarker(pG,{range:n})}else{if(n.start.isAtEnd){const o=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(pG,{usingOperation:false,affectsData:false,range:e.createRange(o,n.end)})}else{e.addMarker(pG,{usingOperation:false,affectsData:false,range:n})}}}))}_hideFakeVisualSelection(){const t=this.editor.model;if(t.markers.has(pG)){t.change((t=>{t.removeMarker(pG)}))}}}function kG(t){return t.getAncestors().find((t=>Mq(t)))||null}const wG=4;const AG=new RegExp(\"(^|\\\\s)\"+\"(\"+\"(\"+\"(?:(?:(?:https?|ftp):)?\\\\/\\\\/)\"+\"(?:\\\\S+(?::\\\\S*)?@)?\"+\"(?:\"+\"(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])\"+\"(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}\"+\"(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))\"+\"|\"+\"(\"+\"((?!www\\\\.)|(www\\\\.))\"+\"(?![-_])(?:[-_a-z0-9\\\\u00a1-\\\\uffff]{1,63}\\\\.)+\"+\"(?:[a-z\\\\u00a1-\\\\uffff]{2,63})\"+\")\"+\")\"+\"(?::\\\\d{2,5})?\"+\"(?:[/?#]\\\\S*)?\"+\")\"+\"|\"+\"(\"+\"(www.|(\\\\S+@))\"+\"((?![-_])(?:[-_a-z0-9\\\\u00a1-\\\\uffff]{1,63}\\\\.))+\"+\"(?:[a-z\\\\u00a1-\\\\uffff]{2,63})\"+\")\"+\")$\",\"i\");const _G=2;class CG extends Ed{static get requires(){return[RB,eG]}static get pluginName(){return\"AutoLink\"}init(){const t=this.editor;const e=t.model.document.selection;e.on(\"change:range\",(()=>{this.isEnabled=!e.anchor.parent.is(\"element\",\"codeBlock\")}));this._enableTypingHandling()}afterInit(){this._enableEnterHandling();this._enableShiftEnterHandling();this._enablePasteLinking()}_expandLinkRange(t,e){if(e.textNode&&e.textNode.hasAttribute(\"linkHref\")){return rM(e,\"linkHref\",e.textNode.getAttribute(\"linkHref\"),t)}else{return null}}_selectEntireLinks(t,e){const n=this.editor;const o=n.model;const i=o.document.selection;const r=i.getFirstPosition();const s=i.getLastPosition();let a=e.getJoined(this._expandLinkRange(o,r)||e);if(a){a=a.getJoined(this._expandLinkRange(o,s)||e)}if(a&&(a.start.isBefore(r)||a.end.isAfter(s))){t.setSelection(a)}}_enablePasteLinking(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=t.plugins.get(\"ClipboardPipeline\");const i=t.commands.get(\"link\");o.on(\"inputTransformation\",((t,o)=>{if(!this.isEnabled||!i.isEnabled||n.isCollapsed||o.method!==\"paste\"){return}if(n.rangeCount>1){return}const r=n.getFirstRange();const s=o.dataTransfer.getData(\"text/plain\");if(!s){return}const a=s.match(AG);if(a&&a[2]===s){e.change((t=>{this._selectEntireLinks(t,r);i.execute(s)}));t.stop()}}),{priority:\"high\"})}_enableTypingHandling(){const t=this.editor;const e=new jB(t.model,(t=>{if(!vG(t)){return}const e=yG(t.substr(0,t.length-1));if(e){return{url:e}}}));e.on(\"matched:data\",((e,n)=>{const{batch:o,range:i,url:r}=n;if(!o.isTyping){return}const s=i.end.getShiftedBy(-1);const a=s.getShiftedBy(-r.length);const c=t.model.createRange(a,s);this._applyAutoLink(r,c)}));e.bind(\"isEnabled\").to(this)}_enableEnterHandling(){const t=this.editor;const e=t.model;const n=t.commands.get(\"enter\");if(!n){return}n.on(\"execute\",(()=>{const t=e.document.selection.getFirstPosition();if(!t.parent.previousSibling){return}const n=e.createRangeIn(t.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(n)}))}_enableShiftEnterHandling(){const t=this.editor;const e=t.model;const n=t.commands.get(\"shiftEnter\");if(!n){return}n.on(\"execute\",(()=>{const t=e.document.selection.getFirstPosition();const n=e.createRange(e.createPositionAt(t.parent,0),t.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)}))}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model;const{text:n,range:o}=FB(t,e);const i=yG(n);if(i){const t=e.createRange(o.end.getShiftedBy(-i.length),o.end);this._applyAutoLink(i,t)}}_applyAutoLink(t,e){const n=this.editor.model;const o=this.editor.config.get(\"link.defaultProtocol\");const i=Fq(t,o);if(!this.isEnabled||!xG(e,n)||!jq(i)||EG(e)){return}this._persistAutoLink(i,e)}_persistAutoLink(t,e){const n=this.editor.model;const o=this.editor.plugins.get(\"Delete\");n.enqueueChange((i=>{i.setAttribute(\"linkHref\",t,e);n.enqueueChange((()=>{o.requestUndoOnBackspace()}))}))}}function vG(t){return t.length>wG&&t[t.length-1]===\" \"&&t[t.length-2]!==\" \"}function yG(t){const e=AG.exec(t);return e?e[_G]:null}function xG(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),\"linkHref\")}function EG(t){const e=t.start.nodeAfter;return!!e&&e.hasAttribute(\"linkHref\")}class DG extends Ed{static get requires(){return[eG,bG,CG]}static get pluginName(){return\"Link\"}}class IG extends(null&&Plugin){static get requires(){return[\"ImageEditing\",\"ImageUtils\",LinkEditing]}static get pluginName(){return\"LinkImageEditing\"}afterInit(){const t=this.editor;const e=t.model.schema;if(t.plugins.has(\"ImageBlockEditing\")){e.extend(\"imageBlock\",{allowAttributes:[\"linkHref\"]})}t.conversion.for(\"upcast\").add(TG(t));t.conversion.for(\"downcast\").add(SG(t));this._enableAutomaticDecorators();this._enableManualDecorators()}_enableAutomaticDecorators(){const t=this.editor;const e=t.commands.get(\"link\");const n=e.automaticDecorators;if(n.length){t.conversion.for(\"downcast\").add(n.getDispatcherForLinkedImage())}}_enableManualDecorators(){const t=this.editor;const e=t.commands.get(\"link\");for(const n of e.manualDecorators){if(t.plugins.has(\"ImageBlockEditing\")){t.model.schema.extend(\"imageBlock\",{allowAttributes:n.id})}if(t.plugins.has(\"ImageInlineEditing\")){t.model.schema.extend(\"imageInline\",{allowAttributes:n.id})}t.conversion.for(\"downcast\").add(BG(n));t.conversion.for(\"upcast\").add(MG(t,n))}}}function TG(t){const e=t.plugins.has(\"ImageInlineEditing\");const n=t.plugins.get(\"ImageUtils\");return t=>{t.on(\"element:a\",((t,o,i)=>{const r=o.viewItem;const s=n.findViewImgElement(r);if(!s){return}const a=s.findAncestor((t=>n.isBlockImageView(t)));if(e&&!a){return}const c={attributes:[\"href\"]};if(!i.consumable.consume(r,c)){return}const l=r.getAttribute(\"href\");if(!l){return}let d=o.modelCursor.parent;if(!d.is(\"element\",\"imageBlock\")){const t=i.convertItem(s,o.modelCursor);o.modelRange=t.modelRange;o.modelCursor=t.modelCursor;d=o.modelCursor.nodeBefore}if(d&&d.is(\"element\",\"imageBlock\")){i.writer.setAttribute(\"linkHref\",l,d)}}),{priority:\"high\"})}}function SG(t){const e=t.plugins.get(\"ImageUtils\");return t=>{t.on(\"attribute:linkHref:imageBlock\",((t,n,o)=>{if(!o.consumable.consume(n.item,t.name)){return}const i=o.mapper.toViewElement(n.item);const r=o.writer;const s=Array.from(i.getChildren()).find((t=>t.is(\"element\",\"a\")));const a=e.findViewImgElement(i);const c=a.parent.is(\"element\",\"picture\")?a.parent:a;if(s){if(n.attributeNewValue){r.setAttribute(\"href\",n.attributeNewValue,s)}else{r.move(r.createRangeOn(c),r.createPositionAt(i,0));r.remove(s)}}else{const t=r.createContainerElement(\"a\",{href:n.attributeNewValue});r.insert(r.createPositionAt(i,0),t);r.move(r.createRangeOn(c),r.createPositionAt(t,0))}}),{priority:\"high\"})}}function BG(t){return e=>{e.on(`attribute:${t.id}:imageBlock`,((e,n,o)=>{const i=o.mapper.toViewElement(n.item);const r=Array.from(i.getChildren()).find((t=>t.is(\"element\",\"a\")));if(!r){return}for(const[e,n]of toMap(t.attributes)){o.writer.setAttribute(e,n,r)}if(t.classes){o.writer.addClass(t.classes,r)}for(const e in t.styles){o.writer.setStyle(e,t.styles[e],r)}}))}}function MG(t,e){const n=t.plugins.has(\"ImageInlineEditing\");const o=t.plugins.get(\"ImageUtils\");return t=>{t.on(\"element:a\",((t,i,r)=>{const s=i.viewItem;const a=o.findViewImgElement(s);if(!a){return}const c=a.findAncestor((t=>o.isBlockImageView(t)));if(n&&!c){return}const l=new Matcher(e._createPattern());const d=l.match(s);if(!d){return}if(!r.consumable.consume(s,d.match)){return}const u=i.modelCursor.nodeBefore||i.modelCursor.parent;r.writer.setAttribute(e.id,true,u)}),{priority:\"high\"})}}class PG extends(null&&Plugin){static get requires(){return[LinkEditing,LinkUI,\"ImageBlockEditing\"]}static get pluginName(){return\"LinkImageUI\"}init(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,\"click\",((e,n)=>{if(this._isSelectedLinkedImage(t.model.document.selection)){n.preventDefault();e.stop()}}),{priority:\"high\"});this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(\"linkImage\",(n=>{const o=new ButtonView(n);const i=t.plugins.get(\"LinkUI\");const r=t.commands.get(\"link\");o.set({isEnabled:true,label:e(\"Link image\"),icon:linkIcon,keystroke:LINK_KEYSTROKE,tooltip:true,isToggleable:true});o.bind(\"isEnabled\").to(r,\"isEnabled\");o.bind(\"isOn\").to(r,\"value\",(t=>!!t));this.listenTo(o,\"execute\",(()=>{if(this._isSelectedLinkedImage(t.model.document.selection)){i._addActionsView()}else{i._showUI(true)}}));return o}))}_isSelectedLinkedImage(t){const e=t.getSelectedElement();const n=this.editor.plugins.get(\"ImageUtils\");return n.isImage(e)&&e.hasAttribute(\"linkHref\")}}var NG=n(1634);var LG={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};LG.insert=\"head\";LG.singleton=true;var zG=Ld()(NG.A,LG);const OG=NG.A.locals||{};class RG extends(null&&Plugin){static get requires(){return[LinkImageEditing,LinkImageUI]}static get pluginName(){return\"LinkImage\"}}class VG{constructor(t,e){this._startElement=t;this._referenceIndent=t.getAttribute(\"listIndent\");this._isForward=e.direction==\"forward\";this._includeSelf=!!e.includeSelf;this._sameAttributes=sl(e.sameAttributes||[]);this._sameIndent=!!e.sameIndent;this._lowerIndent=!!e.lowerIndent;this._higherIndent=!!e.higherIndent}static first(t,e){const n=new this(t,e);const o=n[Symbol.iterator]();return sd(o)}*[Symbol.iterator](){const t=[];for(const{node:e}of FG(this._getStartNode(),this._isForward?\"forward\":\"backward\")){const n=e.getAttribute(\"listIndent\");if(nthis._referenceIndent){if(!this._higherIndent){continue}if(!this._isForward){t.push(e);continue}}else{if(!this._sameIndent){if(this._higherIndent){if(t.length){yield*t;t.length=0}break}continue}if(this._sameAttributes.some((t=>e.getAttribute(t)!==this._startElement.getAttribute(t)))){break}}if(t.length){yield*t;t.length=0}yield e}}_getStartNode(){if(this._includeSelf){return this._startElement}return this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}function*FG(t,e=\"forward\"){const n=e==\"forward\";const o=[];let i=null;while(UG(t)){let e=null;if(i){const n=t.getAttribute(\"listIndent\");const r=i.getAttribute(\"listIndent\");if(n>r){o[r]=i}else if(nt.getAttribute(\"listIndent\"))));const r=new Map;for(const t of n){r.set(t,VG.first(t,{lowerIndent:true}))}for(const t of n){if(o.has(t)){continue}o.add(t);const n=t.getAttribute(\"listIndent\")-1;if(n<0){n$(t,e);continue}if(t.getAttribute(\"listIndent\")==i){const n=l$(t,r.get(t),e);for(const t of n){o.add(t)}if(n.length){continue}}e.setAttribute(\"listIndent\",n,t)}return r$(o)}function n$(t,e){t=sl(t);for(const n of t){if(n.is(\"element\",\"listItem\")){e.rename(n,\"paragraph\")}}for(const n of t){for(const t of n.getAttributeKeys()){if(t.startsWith(\"list\")){e.removeAttribute(t,n)}}}return t}function o$(t){if(!t.length){return false}const e=t[0].getAttribute(\"listItemId\");if(!e){return false}return!t.some((t=>t.getAttribute(\"listItemId\")!=e))}function i$(t,e){const n=[];let o=Number.POSITIVE_INFINITY;for(const{node:i}of FG(t.nextSibling,\"forward\")){const t=i.getAttribute(\"listIndent\");if(t==0){break}if(tt.root.rootName!==\"$graveyard\")).sort(((t,e)=>t.index-e.index))}function s$(t){const e=t.document.selection.getSelectedElement();if(!e){return null}if(t.schema.isObject(e)&&t.schema.isBlock(e)){return e}return null}function a$(t,e){return e.checkChild(t.parent,\"listItem\")&&e.checkChild(t,\"$text\")&&!e.isObject(t)}function c$(t){return t==\"numbered\"||t==\"customNumbered\"}function l$(t,e,n){const o=qG(e,{direction:\"forward\"});if(o.pop().index>t.index){return XG(t,e,n)}return[]}class d$ extends Id{constructor(t,e){super(t);this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=u$(t.document.selection);t.change((t=>{const n=[];if(o$(e)&&!KG(e[0])){if(this._direction==\"forward\"){n.push(...t$(e,t))}n.push(...JG(e[0],t))}else{if(this._direction==\"forward\"){n.push(...t$(e,t,{expand:true}))}else{n.push(...e$(e,t))}}for(const e of n){if(!e.hasAttribute(\"listType\")){continue}const n=VG.first(e,{sameIndent:true});if(n){t.setAttribute(\"listType\",n.getAttribute(\"listType\"),e)}}this._fireAfterExecute(n)}))}_fireAfterExecute(t){this.fire(\"afterExecute\",r$(new Set(t)))}_checkEnabled(){let t=u$(this.editor.model.document.selection);let e=t[0];if(!e){return false}if(this._direction==\"backward\"){return true}if(o$(t)&&!KG(t[0])){return true}t=QG(t);e=t[0];const n=VG.first(e,{sameIndent:true});if(!n){return false}if(n.getAttribute(\"listType\")==e.getAttribute(\"listType\")){return true}return false}}function u$(t){const e=Array.from(t.getSelectedBlocks());const n=e.findIndex((t=>!UG(t)));if(n!=-1){e.length=n}return e}class h$ extends Id{constructor(t,e,n={}){super(t);this.type=e;this._listWalkerOptions=n.multiLevel?{higherIndent:true,lowerIndent:true,sameAttributes:[]}:undefined}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;const o=s$(e);const i=Array.from(n.selection.getSelectedBlocks()).filter((t=>e.schema.checkAttribute(t,\"listType\")||a$(t,e.schema)));const r=t.forceValue!==undefined?!t.forceValue:this.value;e.change((s=>{if(r){const t=i[i.length-1];const e=qG(t,{direction:\"forward\"});const n=[];if(e.length>1){n.push(...JG(e[1],s))}n.push(...n$(i,s));n.push(...i$(t,s));this._fireAfterExecute(n)}else if((o||n.selection.isCollapsed)&&UG(i[0])){const e=$G(o||i[0],this._listWalkerOptions);for(const n of e){s.setAttributes({...t.additionalAttributes,listType:this.type},n)}this._fireAfterExecute(e)}else{const n=[];for(const o of i){if(!o.hasAttribute(\"listType\")){if(!o.is(\"element\",\"listItem\")&&a$(o,e.schema)){s.rename(o,\"listItem\")}s.setAttributes({...t.additionalAttributes,listIndent:0,listItemId:HG.next(),listType:this.type},o);n.push(o)}else{for(const e of QG(o,{withNested:false})){if(e.getAttribute(\"listType\")!=this.type){s.setAttributes({...t.additionalAttributes,listType:this.type},e);n.push(e)}}}}this._fireAfterExecute(n)}}))}_fireAfterExecute(t){this.fire(\"afterExecute\",r$(new Set(t)))}_getValue(){const t=this.editor.model.document.selection;const e=Array.from(t.getSelectedBlocks());if(!e.length){return false}for(const t of e){if(t.getAttribute(\"listType\")!=this.type){return false}}return true}_checkEnabled(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;const o=Array.from(n.getSelectedBlocks());if(!o.length){return false}if(this.value){return true}for(const t of o){if(e.checkAttribute(t,\"listType\")||a$(t,e)){return true}}return false}}class m$ extends Id{constructor(t,e){super(t);this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute({shouldMergeOnBlocksContentLevel:t=false}={}){const e=this.editor.model;const n=e.document.selection;const o=[];e.change((i=>{const{firstElement:r,lastElement:s}=this._getMergeSubjectElements(n,t);const a=r.getAttribute(\"listIndent\")||0;const c=s.getAttribute(\"listIndent\");const l=s.getAttribute(\"listItemId\");if(a!=c){const t=GG(s);o.push(...t$([s,...t],i,{indentBy:a-c,expand:a{const e=JG(this._getStartBlock(),t);this._fireAfterExecute(e)}))}_fireAfterExecute(t){this.fire(\"afterExecute\",r$(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection;const e=this._getStartBlock();return t.isCollapsed&&UG(e)&&!KG(e)}_getStartBlock(){const t=this.editor.model.document;const e=t.selection.getFirstPosition().parent;return this._direction==\"before\"?e:e.nextSibling}}class f$ extends Ed{static get pluginName(){return\"ListUtils\"}expandListBlocksToCompleteList(t){return ZG(t)}isFirstBlockOfListItem(t){return KG(t)}isListItemBlock(t){return UG(t)}expandListBlocksToCompleteItems(t,e={}){return QG(t,e)}isNumberedListType(t){return c$(t)}}function p$(t){return t.is(\"element\",\"ol\")||t.is(\"element\",\"ul\")}function b$(t){return t.is(\"element\",\"li\")}function k$(t){let e=0;let n=t.parent;while(n){if(b$(n)){e++}else{const t=n.previousSibling;if(t&&b$(t)){e++}}n=n.parent}return e}function w$(t,e,n,o=C$(n,e)){return t.createAttributeElement(_$(n),null,{priority:2*e/100-100,id:o})}function A$(t,e,n){return t.createAttributeElement(\"li\",null,{priority:(2*e+1)/100-100,id:n})}function _$(t){return t==\"numbered\"||t==\"customNumbered\"?\"ol\":\"ul\"}function C$(t,e){return`list-${t}-${e}`}function v$(t,e){const n=t.nodeBefore;if(!UG(n)){const n=t.nodeAfter;if(UG(n)){e.set(n,n)}}else{let t=n;for(const{node:n}of FG(t,\"backward\")){t=n;if(e.has(t)){return}}e.set(n,t)}}function y$(t,e){let n=0;let o=-1;let i=null;let r=false;for(const{node:s}of t){const t=s.getAttribute(\"listIndent\");if(t>n){let a;if(i===null){i=t-n;a=n}else{if(i>t){i=t}a=t-i}if(a>o+1){a=o+1}e.setAttribute(\"listIndent\",a,s);r=true;o=a}else{i=null;n=t+1;o=t}}return r}function x$(t,e,n){const o=new Set;let i=false;for(const{node:r}of t){if(o.has(r)){continue}let t=r.getAttribute(\"listType\");let s=r.getAttribute(\"listItemId\");if(e.has(s)){s=HG.next()}e.add(s);if(r.is(\"element\",\"listItem\")){if(r.getAttribute(\"listItemId\")!=s){n.setAttribute(\"listItemId\",s,r);i=true}continue}for(const e of qG(r,{direction:\"forward\"})){o.add(e);if(e.getAttribute(\"listType\")!=t){s=HG.next();t=e.getAttribute(\"listType\")}if(e.getAttribute(\"listItemId\")!=s){n.setAttribute(\"listItemId\",s,e);i=true}}}return i}function E$(){return(t,e,n)=>{const{writer:o,schema:i}=n;if(!e.modelRange){return}const r=Array.from(e.modelRange.getItems({shallow:true})).filter((t=>i.checkAttribute(t,\"listItemId\")));if(!r.length){return}const s=HG.next();const a=k$(e.viewItem);let c=e.viewItem.parent&&e.viewItem.parent.is(\"element\",\"ol\")?\"numbered\":\"bulleted\";const l=r[0].getAttribute(\"listType\");if(l){c=l}const d={listItemId:s,listIndent:a,listType:c};for(const t of r){if(!t.hasAttribute(\"listItemId\")){o.setAttributes(d,t)}}if(r.length>1){if(r[1].getAttribute(\"listItemId\")!=d.listItemId){n.keepEmptyElement(r[0])}}}}function D$(){return(t,e,n)=>{if(!n.consumable.test(e.viewItem,{name:true})){return}const o=new uA(e.viewItem.document);for(const t of Array.from(e.viewItem.getChildren())){if(!b$(t)&&!p$(t)){o.remove(t)}}}}function I$(t,e,n,o){return()=>{const o=t.document.differ.getChanges();const s=[];const a=new Map;const c=new Set;for(const t of o){if(t.type==\"insert\"&&t.name!=\"$text\"){v$(t.position,a);if(!t.attributes.has(\"listItemId\")){v$(t.position.getShiftedBy(t.length),a)}else{c.add(t.position.nodeAfter)}}else if(t.type==\"remove\"&&t.attributes.has(\"listItemId\")){v$(t.position,a)}else if(t.type==\"attribute\"){const e=t.range.start.nodeAfter;if(n.includes(t.attributeKey)){v$(t.range.start,a);if(t.attributeNewValue===null){v$(t.range.start.getShiftedBy(1),a);if(r(e)){s.push(e)}}else{c.add(e)}}else if(UG(e)){if(r(e)){s.push(e)}}}}for(const t of a.values()){s.push(...i(t,c))}for(const t of new Set(s)){e.reconvertItem(t)}};function i(t,e){const o=[];const i=new Set;const a=[];for(const{node:c,previous:l}of FG(t,\"forward\")){if(i.has(c)){continue}const t=c.getAttribute(\"listIndent\");if(l&&tn.includes(t))));const d=qG(c,{direction:\"forward\"});for(const t of d){i.add(t);if(r(t,d)){o.push(t)}else if(s(t,a,e)){o.push(t)}}}return o}function r(t,i){const r=e.mapper.toViewElement(t);if(!r){return false}const s=o.fire(\"checkElement\",{modelElement:t,viewElement:r});if(s){return true}if(!t.is(\"element\",\"paragraph\")&&!t.is(\"element\",\"listItem\")){return false}const a=V$(t,n,i);if(a&&r.is(\"element\",\"p\")){return true}else if(!a&&r.is(\"element\",\"span\")){return true}return false}function s(t,n,i){if(i.has(t)){return false}const r=e.mapper.toViewElement(t);let s=n.length-1;for(let t=r.parent;!t.is(\"editableElement\");t=t.parent){const e=b$(t);const i=p$(t);if(!i&&!e){continue}const r=`checkAttributes:${e?\"item\":\"list\"}`;const a=o.fire(r,{viewElement:t,modelAttributes:n[s]});if(a){break}if(i){s--;if(s<0){return false}}}return true}}function T$(t,e,n,{dataPipeline:o}={}){const i=R$(t);return(r,s,a)=>{const{writer:c,mapper:l,consumable:d}=a;const u=s.item;if(!t.includes(s.attributeKey)){return}if(!i(u,d)){return}const h=M$(u,l,n);N$(h,c,l);z$(h,c);const m=L$(u,h,e,c,{dataPipeline:o});O$(u,m,e,c)}}function S$(t){return(e,n,o)=>{const{writer:i,mapper:r}=o;const s=e.name.split(\":\")[1];if(!t.checkAttribute(s,\"listItemId\")){return}const a=r.toViewPosition(n.position);const c=n.position.getShiftedBy(n.length);const l=r.toViewPosition(c,{isPhantom:true});const d=i.createRange(a,l).getTrimmed();const u=d.end.nodeBefore;if(!u){return}N$(u,i,r)}}function B$(t,{dataPipeline:e}={}){return(n,{writer:o})=>{if(!V$(n,t)){return null}if(!e){return o.createContainerElement(\"span\",{class:\"ck-list-bogus-paragraph\"})}const i=o.createContainerElement(\"p\");o.setCustomProperty(\"dataPipeline:transparentRendering\",true,i);return i}}function M$(t,e,n){const o=n.createRangeOn(t);const i=e.toViewRange(o).getTrimmed();return i.end.nodeBefore}function P$(t,e){return(n,o)=>{if(o.modelPosition.offset>0){return}const i=o.modelPosition.parent;if(!UG(i)){return}if(!t.some((t=>t.scope==\"itemMarker\"&&t.canInjectMarkerIntoElement&&t.canInjectMarkerIntoElement(i)))){return}const r=o.mapper.toViewElement(i);const s=e.createRangeIn(r);const a=s.getWalker();let c=s.start;for(const{item:t}of a){if(t.is(\"element\")&&o.mapper.toModelElement(t)||t.is(\"$textProxy\")){break}if(t.is(\"element\")&&t.getCustomProperty(\"listItemMarker\")){c=e.createPositionAfter(t);a.skip((({previousPosition:t})=>!t.isEqual(c)))}}o.viewPosition=c}}function N$(t,e,n){while(t.parent.is(\"attributeElement\")&&t.parent.getCustomProperty(\"listItemWrapper\")){e.unwrap(e.createRangeOn(t),t.parent)}const o=[];i(e.createPositionBefore(t).getWalker({direction:\"backward\"}));i(e.createRangeIn(t).getWalker());for(const t of o){e.remove(t)}function i(t){for(const{item:e}of t){if(e.is(\"element\")&&n.toModelElement(e)){break}if(e.is(\"element\")&&e.getCustomProperty(\"listItemMarker\")){o.push(e)}}}}function L$(t,e,n,o,{dataPipeline:i}){let r=o.createRangeOn(e);if(!KG(t)){return r}for(const s of n){if(s.scope!=\"itemMarker\"){continue}const n=s.createElement(o,t,{dataPipeline:i});if(!n){continue}o.setCustomProperty(\"listItemMarker\",true,n);if(s.canInjectMarkerIntoElement&&s.canInjectMarkerIntoElement(t)){o.insert(o.createPositionAt(e,0),n)}else{o.insert(r.start,n);r=o.createRange(o.createPositionBefore(n),o.createPositionAfter(e))}if(!s.createWrapperElement||!s.canWrapElement){continue}const a=s.createWrapperElement(o,t,{dataPipeline:i});o.setCustomProperty(\"listItemWrapper\",true,a);if(s.canWrapElement(t)){r=o.wrap(r,a)}else{r=o.wrap(o.createRangeOn(n),a);r=o.createRange(r.start,o.createPositionAfter(e))}}return r}function z$(t,e){let n=t.parent;while(n.is(\"attributeElement\")&&[\"ul\",\"ol\",\"li\"].includes(n.name)){const o=n.parent;e.unwrap(e.createRangeOn(t),n);n=o}}function O$(t,e,n,o){if(!t.hasAttribute(\"listIndent\")){return}const i=t.getAttribute(\"listIndent\");let r=t;for(let t=i;t>=0;t--){const i=A$(o,t,r.getAttribute(\"listItemId\"));const s=w$(o,t,r.getAttribute(\"listType\"));for(const t of n){if((t.scope==\"list\"||t.scope==\"item\")&&r.hasAttribute(t.attributeName)){t.setAttributeOnDowncast(o,r.getAttribute(t.attributeName),t.scope==\"list\"?s:i)}}e=o.wrap(e,i);e=o.wrap(e,s);if(t==0){break}r=VG.first(r,{lowerIndent:true});if(!r){break}}}function R$(t){return(e,n)=>{const o=[];for(const n of t){if(e.hasAttribute(n)){o.push(`attribute:${n}`)}}if(!o.every((t=>n.test(e,t)!==false))){return false}o.forEach((t=>n.consume(e,t)));return true}}function V$(t,e,n=WG(t)){if(!UG(t)){return false}for(const n of t.getAttributeKeys()){if(n.startsWith(\"selection:\")){continue}if(!e.includes(n)){return false}}return n.length<2}var F$=n(1374);var j$={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};j$.insert=\"head\";j$.singleton=true;var H$=Ld()(F$.A,j$);const U$=F$.A.locals||{};var W$=n(8921);var q$={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};q$.insert=\"head\";q$.singleton=true;var G$=Ld()(W$.A,q$);const $$=W$.A.locals||{};const K$=[\"listType\",\"listIndent\",\"listItemId\"];class Y$ extends Ed{static get pluginName(){return\"ListEditing\"}static get requires(){return[lP,RB,f$,pz]}constructor(t){super(t);this._downcastStrategies=[];t.config.define(\"list.multiBlock\",true)}init(){const t=this.editor;const e=t.model;const n=t.config.get(\"list.multiBlock\");if(t.plugins.has(\"LegacyListEditing\")){throw new N(\"list-feature-conflict\",this,{conflictPlugin:\"LegacyListEditing\"})}e.schema.register(\"$listItem\",{allowAttributes:K$});if(n){e.schema.extend(\"$container\",{allowAttributesOf:\"$listItem\"});e.schema.extend(\"$block\",{allowAttributesOf:\"$listItem\"});e.schema.extend(\"$blockObject\",{allowAttributesOf:\"$listItem\"})}else{e.schema.register(\"listItem\",{inheritAllFrom:\"$block\",allowAttributesOf:\"$listItem\"})}for(const t of K$){e.schema.setAttributeProperties(t,{copyOnReplace:true})}t.commands.add(\"numberedList\",new h$(t,\"numbered\"));t.commands.add(\"bulletedList\",new h$(t,\"bulleted\"));t.commands.add(\"customNumberedList\",new h$(t,\"customNumbered\",{multiLevel:true}));t.commands.add(\"customBulletedList\",new h$(t,\"customBulleted\",{multiLevel:true}));t.commands.add(\"indentList\",new d$(t,\"forward\"));t.commands.add(\"outdentList\",new d$(t,\"backward\"));t.commands.add(\"splitListItemBefore\",new g$(t,\"before\"));t.commands.add(\"splitListItemAfter\",new g$(t,\"after\"));if(n){t.commands.add(\"mergeListItemBackward\",new m$(t,\"backward\"));t.commands.add(\"mergeListItemForward\",new m$(t,\"forward\"))}this._setupDeleteIntegration();this._setupEnterIntegration();this._setupTabIntegration();this._setupClipboardIntegration();this._setupAccessibilityIntegration()}afterInit(){const t=this.editor;const e=t.commands;const n=e.get(\"indent\");const o=e.get(\"outdent\");if(n){n.registerChildCommand(e.get(\"indentList\"),{priority:\"high\"})}if(o){o.registerChildCommand(e.get(\"outdentList\"),{priority:\"lowest\"})}this._setupModelPostFixing();this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...K$,...this._downcastStrategies.map((t=>t.attributeName))]}_setupDeleteIntegration(){const t=this.editor;const e=t.commands.get(\"mergeListItemBackward\");const n=t.commands.get(\"mergeListItemForward\");this.listenTo(t.editing.view.document,\"delete\",((o,i)=>{const r=t.model.document.selection;if(s$(t.model)){return}t.model.change((()=>{const s=r.getFirstPosition();if(r.isCollapsed&&i.direction==\"backward\"){if(!s.isAtStart){return}const n=s.parent;if(!UG(n)){return}const r=VG.first(n,{sameAttributes:\"listType\",sameIndent:true});if(!r&&n.getAttribute(\"listIndent\")===0){if(!YG(n)){t.execute(\"splitListItemAfter\")}t.execute(\"outdentList\")}else{if(!e||!e.isEnabled){return}e.execute({shouldMergeOnBlocksContentLevel:J$(t.model,\"backward\")})}i.preventDefault();o.stop()}else{if(r.isCollapsed&&!r.getLastPosition().isAtEnd){return}if(!n||!n.isEnabled){return}n.execute({shouldMergeOnBlocksContentLevel:J$(t.model,\"forward\")});i.preventDefault();o.stop()}}))}),{context:\"li\"})}_setupEnterIntegration(){const t=this.editor;const e=t.model;const n=t.commands;const o=n.get(\"enter\");this.listenTo(t.editing.view.document,\"enter\",((n,o)=>{const i=e.document;const r=i.selection.getFirstPosition().parent;if(i.selection.isCollapsed&&UG(r)&&r.isEmpty&&!o.isSoft){const e=KG(r);const i=YG(r);if(e&&i){t.execute(\"outdentList\");o.preventDefault();n.stop()}else if(e&&!i){t.execute(\"splitListItemAfter\");o.preventDefault();n.stop()}else if(i){t.execute(\"splitListItemBefore\");o.preventDefault();n.stop()}}}),{context:\"li\"});this.listenTo(o,\"afterExecute\",(()=>{const e=n.get(\"splitListItemBefore\");e.refresh();if(!e.isEnabled){return}const o=t.model.document;const i=o.selection.getLastPosition().parent;const r=WG(i);if(r.length===2){e.execute()}}))}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,\"tab\",((e,n)=>{const o=n.shiftKey?\"outdentList\":\"indentList\";const i=this.editor.commands.get(o);if(i.isEnabled){t.execute(o);n.stopPropagation();n.preventDefault();e.stop()}}),{context:\"li\"})}_setupConversion(){const t=this.editor;const e=t.model;const n=this.getListAttributeNames();const o=t.config.get(\"list.multiBlock\");const i=o?\"paragraph\":\"listItem\";t.conversion.for(\"upcast\").elementToElement({view:\"li\",model:(t,{writer:e})=>e.createElement(i,{listType:\"\"})}).elementToElement({view:\"p\",model:(t,{writer:e})=>{if(t.parent&&t.parent.is(\"element\",\"li\")){return e.createElement(i,{listType:\"\"})}return null},converterPriority:\"high\"}).add((t=>{t.on(\"element:li\",E$());t.on(\"element:ul\",D$(),{priority:\"high\"});t.on(\"element:ol\",D$(),{priority:\"high\"})}));if(!o){t.conversion.for(\"downcast\").elementToElement({model:\"listItem\",view:\"p\"})}t.conversion.for(\"editingDowncast\").elementToElement({model:i,view:B$(n),converterPriority:\"high\"}).add((t=>{t.on(\"attribute\",T$(n,this._downcastStrategies,e));t.on(\"remove\",S$(e.schema))}));t.conversion.for(\"dataDowncast\").elementToElement({model:i,view:B$(n,{dataPipeline:true}),converterPriority:\"high\"}).add((t=>{t.on(\"attribute\",T$(n,this._downcastStrategies,e,{dataPipeline:true}))}));const r=P$(this._downcastStrategies,t.editing.view);t.editing.mapper.on(\"modelToViewPosition\",r);t.data.mapper.on(\"modelToViewPosition\",r);this.listenTo(e.document,\"change:data\",I$(e,t.editing,n,this),{priority:\"high\"});this.on(\"checkAttributes:item\",((t,{viewElement:e,modelAttributes:n})=>{if(e.id!=n.listItemId){t.return=true;t.stop()}}));this.on(\"checkAttributes:list\",((t,{viewElement:e,modelAttributes:n})=>{if(e.name!=_$(n.listType)||e.id!=C$(n.listType,n.listIndent)){t.return=true;t.stop()}}))}_setupModelPostFixing(){const t=this.editor.model;const e=this.getListAttributeNames();t.document.registerPostFixer((n=>Q$(t,n,e,this)));this.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{t.return=y$(e,n)||t.return}),{priority:\"high\"});this.on(\"postFixer\",((t,{listNodes:e,writer:n,seenIds:o})=>{t.return=x$(e,o,n)||t.return}),{priority:\"high\"})}_setupClipboardIntegration(){const t=this.editor.model;const e=this.editor.plugins.get(\"ClipboardPipeline\");this.listenTo(t,\"insertContent\",Z$(t),{priority:\"high\"});this.listenTo(e,\"outputTransformation\",((e,n)=>{t.change((t=>{const e=Array.from(n.content.getChildren());const o=e[e.length-1];if(e.length>1&&o.is(\"element\")&&o.isEmpty){const n=e.slice(0,-1);if(n.every(UG)){t.remove(o)}}if(n.method==\"copy\"||n.method==\"cut\"){const e=Array.from(n.content.getChildren());const o=o$(e);if(o){n$(e,t)}}}))}))}_setupAccessibilityIntegration(){const t=this.editor;const e=t.t;t.accessibility.addKeystrokeInfoGroup({id:\"list\",label:e(\"Keystrokes that can be used in a list\"),keystrokes:[{label:e(\"Increase list item indent\"),keystroke:\"Tab\"},{label:e(\"Decrease list item indent\"),keystroke:\"Shift+Tab\"}]})}}function Q$(t,e,n,o){const i=t.document.differ.getChanges();const r=new Map;const s=o.editor.config.get(\"list.multiBlock\");let a=false;for(const o of i){if(o.type==\"insert\"&&o.name!=\"$text\"){const i=o.position.nodeAfter;if(!t.schema.checkAttribute(i,\"listItemId\")){for(const t of Array.from(i.getAttributeKeys())){if(n.includes(t)){e.removeAttribute(t,i);a=true}}}v$(o.position,r);if(!o.attributes.has(\"listItemId\")){v$(o.position.getShiftedBy(o.length),r)}for(const{item:e,previousPosition:n}of t.createRangeIn(i)){if(UG(e)){v$(n,r)}}}else if(o.type==\"remove\"){v$(o.position,r)}else if(o.type==\"attribute\"&&n.includes(o.attributeKey)){v$(o.range.start,r);if(o.attributeNewValue===null){v$(o.range.start.getShiftedBy(1),r)}}if(!s&&o.type==\"attribute\"&&K$.includes(o.attributeKey)){const t=o.range.start.nodeAfter;if(o.attributeNewValue===null&&t&&t.is(\"element\",\"listItem\")){e.rename(t,\"paragraph\");a=true}else if(o.attributeOldValue===null&&t&&t.is(\"element\")&&t.name!=\"listItem\"){e.rename(t,\"listItem\");a=true}}}const c=new Set;for(const t of r.values()){a=o.fire(\"postFixer\",{listNodes:new jG(t),listHead:t,writer:e,seenIds:c})||a}return a}function Z$(t){return(e,[n,o])=>{const i=n.is(\"documentFragment\")?Array.from(n.getChildren()):[n];if(!i.length){return}const r=o?t.createSelection(o):t.document.selection;const s=r.getFirstPosition();let a;if(UG(s.parent)){a=s.parent}else if(UG(s.nodeBefore)){a=s.nodeBefore}else{return}t.change((t=>{const e=a.getAttribute(\"listType\");const n=a.getAttribute(\"listIndent\");const o=i[0].getAttribute(\"listIndent\")||0;const r=Math.max(n-o,0);for(const n of i){const o=UG(n);if(a.is(\"element\",\"listItem\")&&n.is(\"element\",\"paragraph\")){t.rename(n,\"listItem\")}t.setAttributes({listIndent:(o?n.getAttribute(\"listIndent\"):0)+r,listItemId:o?n.getAttribute(\"listItemId\"):HG.next(),listType:e},n)}}))}}function J$(t,e){const n=t.document.selection;if(!n.isCollapsed){return!s$(t)}if(e===\"forward\"){return true}const o=n.getFirstPosition();const i=o.parent;const r=i.previousSibling;if(t.schema.isObject(r)){return false}if(r.isEmpty){return true}return o$([i,r])}function X$(t,e,n,o){t.ui.componentFactory.add(e,(()=>{const i=tK(Sv,t,e,n,o);i.set({tooltip:true,isToggleable:true});return i}));t.ui.componentFactory.add(`menuBar:${e}`,(()=>tK(qS,t,e,n,o)))}function tK(t,e,n,o,i){const r=e.commands.get(n);const s=new t(e.locale);s.set({label:o,icon:i});s.bind(\"isOn\",\"isEnabled\").to(r,\"value\",\"isEnabled\");s.on(\"execute\",(()=>{e.execute(n);e.editing.view.focus()}));return s}class eK extends Ed{static get pluginName(){return\"ListUI\"}init(){const t=this.editor.t;X$(this.editor,\"numberedList\",t(\"Numbered List\"),CC.numberedList);X$(this.editor,\"bulletedList\",t(\"Bulleted List\"),CC.bulletedList)}}class nK extends Ed{static get requires(){return[Y$,eK]}static get pluginName(){return\"List\"}}class oK extends Id{refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute({startIndex:t=1}={}){const e=this.editor.model;const n=e.document;let o=Array.from(n.selection.getSelectedBlocks()).filter((t=>UG(t)&&c$(t.getAttribute(\"listType\"))));o=ZG(o);e.change((e=>{for(const n of o){e.setAttribute(\"listStart\",t>=0?t:1,n)}}))}_getValue(){const t=this.editor.model;const e=t.document;const n=sd(e.selection.getSelectedBlocks());if(n&&UG(n)&&c$(n.getAttribute(\"listType\"))){return n.getAttribute(\"listStart\")}return null}}const iK={};const rK={};const sK={};const aK=[{listStyle:\"disc\",typeAttribute:\"disc\",listType:\"bulleted\"},{listStyle:\"circle\",typeAttribute:\"circle\",listType:\"bulleted\"},{listStyle:\"square\",typeAttribute:\"square\",listType:\"bulleted\"},{listStyle:\"decimal\",typeAttribute:\"1\",listType:\"numbered\"},{listStyle:\"decimal-leading-zero\",typeAttribute:null,listType:\"numbered\"},{listStyle:\"lower-roman\",typeAttribute:\"i\",listType:\"numbered\"},{listStyle:\"upper-roman\",typeAttribute:\"I\",listType:\"numbered\"},{listStyle:\"lower-alpha\",typeAttribute:\"a\",listType:\"numbered\"},{listStyle:\"upper-alpha\",typeAttribute:\"A\",listType:\"numbered\"},{listStyle:\"lower-latin\",typeAttribute:\"a\",listType:\"numbered\"},{listStyle:\"upper-latin\",typeAttribute:\"A\",listType:\"numbered\"}];for(const{listStyle:t,typeAttribute:e,listType:n}of aK){iK[t]=n;rK[t]=e;if(e){sK[e]=t}}function cK(){return aK.map((t=>t.listStyle))}function lK(t){return iK[t]||null}function dK(t){return sK[t]||null}function uK(t){return rK[t]||null}class hK extends Id{constructor(t,e,n){super(t);this.defaultType=e;this._supportedTypes=n}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;e.change((e=>{this._tryToConvertItemsToList(t);let o=Array.from(n.selection.getSelectedBlocks()).filter((t=>t.hasAttribute(\"listType\")));if(!o.length){return}o=ZG(o);for(const n of o){e.setAttribute(\"listStyle\",t.type||this.defaultType,n)}}))}isStyleTypeSupported(t){if(!this._supportedTypes){return true}return this._supportedTypes.includes(t)}_getValue(){const t=sd(this.editor.model.document.selection.getSelectedBlocks());if(UG(t)){return t.getAttribute(\"listStyle\")}return null}_checkEnabled(){const t=this.editor;const e=t.commands.get(\"numberedList\");const n=t.commands.get(\"bulletedList\");return e.isEnabled||n.isEnabled}_tryToConvertItemsToList(t){if(!t.type){return}const e=lK(t.type);if(!e){return}const n=this.editor;const o=`${e}List`;const i=n.commands.get(o);if(!i.value){n.execute(o)}}}class mK extends Id{refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute(t={}){const e=this.editor.model;const n=e.document;let o=Array.from(n.selection.getSelectedBlocks()).filter((t=>UG(t)&&t.getAttribute(\"listType\")==\"numbered\"));o=ZG(o);e.change((e=>{for(const n of o){e.setAttribute(\"listReversed\",!!t.reversed,n)}}))}_getValue(){const t=this.editor.model;const e=t.document;const n=sd(e.selection.getSelectedBlocks());if(UG(n)&&n.getAttribute(\"listType\")==\"numbered\"){return n.getAttribute(\"listReversed\")}return null}}function gK(t){return(e,n,o)=>{const{writer:i,schema:r,consumable:s}=o;if(s.test(n.viewItem,t.viewConsumables)===false){return}if(!n.modelRange){Object.assign(n,o.convertChildren(n.viewItem,n.modelCursor))}let a=false;for(const e of n.modelRange.getItems({shallow:true})){if(!r.checkAttribute(e,t.attributeName)){continue}if(!t.appliesToListItem(e)){continue}if(e.hasAttribute(t.attributeName)){continue}i.setAttribute(t.attributeName,t.getAttributeOnUpcast(n.viewItem),e);a=true}if(a){s.consume(n.viewItem,t.viewConsumables)}}}class fK extends Ed{static get pluginName(){return\"ListPropertiesUtils\"}getAllSupportedStyleTypes(){return cK()}getListTypeFromListStyleType(t){return lK(t)}getListStyleTypeFromTypeAttribute(t){return dK(t)}getTypeAttributeFromListStyleType(t){return uK(t)}}const pK=\"default\";class bK extends Ed{static get requires(){return[Y$,fK]}static get pluginName(){return\"ListPropertiesEditing\"}constructor(t){super(t);t.config.define(\"list.properties\",{styles:true,startIndex:false,reversed:false})}init(){const t=this.editor;const e=t.model;const n=t.plugins.get(Y$);const o=t.config.get(\"list.properties\");const i=kK(o);for(const o of i){o.addCommand(t);e.schema.extend(\"$listItem\",{allowAttributes:o.attributeName});n.registerDowncastStrategy({scope:\"list\",attributeName:o.attributeName,setAttributeOnDowncast(t,e,n){o.setAttributeOnDowncast(t,e,n)}})}t.conversion.for(\"upcast\").add((t=>{for(const e of i){t.on(\"element:ol\",gK(e));t.on(\"element:ul\",gK(e))}}));n.on(\"checkAttributes:list\",((t,{viewElement:e,modelAttributes:n})=>{for(const o of i){if(o.getAttributeOnUpcast(e)!=n[o.attributeName]){t.return=true;t.stop()}}}));this.listenTo(t.commands.get(\"indentList\"),\"afterExecute\",((t,n)=>{e.change((t=>{for(const e of n){for(const n of i){if(n.appliesToListItem(e)){t.setAttribute(n.attributeName,n.defaultValue,e)}}}}))}));n.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{for(const{node:o}of e){for(const e of i){if(e.hasValidAttribute(o)){continue}if(e.appliesToListItem(o)){n.setAttribute(e.attributeName,e.defaultValue,o)}else{n.removeAttribute(e.attributeName,o)}t.return=true}}}));n.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{for(const{node:o,previousNodeInList:r}of e){if(!r){continue}if(r.getAttribute(\"listType\")!=o.getAttribute(\"listType\")){continue}for(const e of i){const{attributeName:i}=e;if(!e.appliesToListItem(o)){continue}const s=r.getAttribute(i);if(o.getAttribute(i)!=s){n.setAttribute(i,s,o);t.return=true}}}}))}}function kK(t){const e=[];if(t.styles){const n=typeof t.styles==\"object\"&&t.styles.useAttribute;e.push({attributeName:\"listStyle\",defaultValue:pK,viewConsumables:{styles:\"list-style-type\"},addCommand(t){let e=cK();if(n){e=e.filter((t=>!!uK(t)))}t.commands.add(\"listStyle\",new hK(t,pK,e))},appliesToListItem(t){return t.getAttribute(\"listType\")==\"numbered\"||t.getAttribute(\"listType\")==\"bulleted\"},hasValidAttribute(t){if(!this.appliesToListItem(t)){return!t.hasAttribute(\"listStyle\")}if(!t.hasAttribute(\"listStyle\")){return false}const e=t.getAttribute(\"listStyle\");if(e==pK){return true}return lK(e)==t.getAttribute(\"listType\")},setAttributeOnDowncast(t,e,o){if(e&&e!==pK){if(n){const n=uK(e);if(n){t.setAttribute(\"type\",n,o);return}}else{t.setStyle(\"list-style-type\",e,o);return}}t.removeStyle(\"list-style-type\",o);t.removeAttribute(\"type\",o)},getAttributeOnUpcast(t){const e=t.getStyle(\"list-style-type\");if(e){return e}const n=t.getAttribute(\"type\");if(n){return dK(n)}return pK}})}if(t.reversed){e.push({attributeName:\"listReversed\",defaultValue:false,viewConsumables:{attributes:\"reversed\"},addCommand(t){t.commands.add(\"listReversed\",new mK(t))},appliesToListItem(t){return t.getAttribute(\"listType\")==\"numbered\"},hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute(\"listReversed\")},setAttributeOnDowncast(t,e,n){if(e){t.setAttribute(\"reversed\",\"reversed\",n)}else{t.removeAttribute(\"reversed\",n)}},getAttributeOnUpcast(t){return t.hasAttribute(\"reversed\")}})}if(t.startIndex){e.push({attributeName:\"listStart\",defaultValue:1,viewConsumables:{attributes:\"start\"},addCommand(t){t.commands.add(\"listStart\",new oK(t))},appliesToListItem(t){return c$(t.getAttribute(\"listType\"))},hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute(\"listStart\")},setAttributeOnDowncast(t,e,n){if(e==0||e>1){t.setAttribute(\"start\",e,n)}else{t.removeAttribute(\"start\",n)}},getAttributeOnUpcast(t){const e=t.getAttribute(\"start\");return e>=0?e:1}})}return e}var wK=n(6634);var AK={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};AK.insert=\"head\";AK.singleton=true;var _K=Ld()(wK.A,AK);const CK=wK.A.locals||{};class vK extends ov{constructor(t,{enabledProperties:e,styleButtonViews:n,styleGridAriaLabel:o}){super(t);this.stylesView=null;this.additionalPropertiesCollapsibleView=null;this.startIndexFieldView=null;this.reversedSwitchButtonView=null;this.focusTracker=new ad;this.keystrokes=new cd;this.focusables=new vC;const i=[\"ck\",\"ck-list-properties\"];this.children=this.createCollection();this.focusCycler=new Fy({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});if(e.styles){this.stylesView=this._createStylesView(n,o);this.children.add(this.stylesView)}else{i.push(\"ck-list-properties_without-styles\")}if(e.startIndex||e.reversed){this._addNumberedListPropertyViews(e);i.push(\"ck-list-properties_with-numbered-properties\")}this.setTemplate({tag:\"div\",attributes:{class:i},children:this.children})}render(){super.render();if(this.stylesView){this.focusables.add(this.stylesView);this.focusTracker.add(this.stylesView.element);if(this.startIndexFieldView||this.reversedSwitchButtonView){this.focusables.add(this.children.last.buttonView);this.focusTracker.add(this.children.last.buttonView.element)}for(const t of this.stylesView.children){this.stylesView.focusTracker.add(t.element)}r({keystrokeHandler:this.stylesView.keystrokes,focusTracker:this.stylesView.focusTracker,gridItems:this.stylesView.children,numberOfColumns:()=>oc.window.getComputedStyle(this.stylesView.element).getPropertyValue(\"grid-template-columns\").split(\" \").length,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}if(this.startIndexFieldView){this.focusables.add(this.startIndexFieldView);this.focusTracker.add(this.startIndexFieldView.element);const t=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",t);this.keystrokes.set(\"arrowleft\",t);this.keystrokes.set(\"arrowup\",t);this.keystrokes.set(\"arrowdown\",t)}if(this.reversedSwitchButtonView){this.focusables.add(this.reversedSwitchButtonView);this.focusTracker.add(this.reversedSwitchButtonView.element)}this.keystrokes.listenTo(this.element)}focus(){this.focusCycler.focusFirst()}focusLast(){this.focusCycler.focusLast()}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}_createStylesView(t,e){const n=new ov(this.locale);n.children=n.createCollection();n.children.addMany(t);n.setTemplate({tag:\"div\",attributes:{\"aria-label\":e,class:[\"ck\",\"ck-list-styles-list\"]},children:n.children});n.children.delegate(\"execute\").to(this);n.focus=function(){this.children.first.focus()};n.focusTracker=new ad;n.keystrokes=new cd;n.render();n.keystrokes.listenTo(n.element);return n}_addNumberedListPropertyViews(t){const e=this.locale.t;const n=[];if(t.startIndex){this.startIndexFieldView=this._createStartIndexField();n.push(this.startIndexFieldView)}if(t.reversed){this.reversedSwitchButtonView=this._createReversedSwitchButton();n.push(this.reversedSwitchButtonView)}if(t.styles){this.additionalPropertiesCollapsibleView=new Uv(this.locale,n);this.additionalPropertiesCollapsibleView.set({label:e(\"List properties\"),isCollapsed:true});this.additionalPropertiesCollapsibleView.buttonView.bind(\"isEnabled\").toMany(n,\"isEnabled\",((...t)=>t.some((t=>t))));this.additionalPropertiesCollapsibleView.buttonView.on(\"change:isEnabled\",((t,e,n)=>{if(!n){this.additionalPropertiesCollapsibleView.isCollapsed=true}}));this.children.add(this.additionalPropertiesCollapsibleView)}else{this.children.addMany(n)}}_createStartIndexField(){const t=this.locale.t;const e=new py(this.locale,Fx);e.set({label:t(\"Start at\"),class:\"ck-numbered-list-properties__start-index\"});e.fieldView.set({min:0,step:1,value:1,inputMode:\"numeric\"});e.fieldView.on(\"input\",(()=>{const n=e.fieldView.element;const o=n.valueAsNumber;if(Number.isNaN(o)){e.errorText=t(\"Invalid start index value.\");return}if(!n.checkValidity()){e.errorText=t(\"Start index must be greater than 0.\")}else{this.fire(\"listStart\",{startIndex:o})}}));return e}_createReversedSwitchButton(){const t=this.locale.t;const e=new Lv(this.locale);e.set({withText:true,label:t(\"Reversed order\"),class:\"ck-numbered-list-properties__reversed-order\"});e.delegate(\"execute\").to(this,\"listReversed\");return e}}const yK=' ';const xK=' ';const EK=' ';const DK=' ';const IK=' ';const TK=' ';const SK=' ';const BK=' ';const MK=' ';var PK=n(5471);var NK={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};NK.insert=\"head\";NK.singleton=true;var LK=Ld()(PK.A,NK);const zK=PK.A.locals||{};class OK extends Ed{static get pluginName(){return\"ListPropertiesUI\"}init(){const t=this.editor;const e=t.locale.t;const n=t.config.get(\"list.properties\");if(n.styles){const o=[{label:e(\"Toggle the disc list style\"),tooltip:e(\"Disc\"),type:\"disc\",icon:yK},{label:e(\"Toggle the circle list style\"),tooltip:e(\"Circle\"),type:\"circle\",icon:xK},{label:e(\"Toggle the square list style\"),tooltip:e(\"Square\"),type:\"square\",icon:EK}];const i=e(\"Bulleted List\");const r=e(\"Bulleted list styles toolbar\");const s=\"bulletedList\";t.ui.componentFactory.add(s,RK({editor:t,propertiesConfig:n,parentCommandName:s,buttonLabel:i,buttonIcon:CC.bulletedList,styleGridAriaLabel:r,styleDefinitions:o}));t.ui.componentFactory.add(`menuBar:${s}`,jK({editor:t,propertiesConfig:n,parentCommandName:s,buttonLabel:i,styleGridAriaLabel:r,styleDefinitions:o}))}if(n.styles||n.startIndex||n.reversed){const o=[{label:e(\"Toggle the decimal list style\"),tooltip:e(\"Decimal\"),type:\"decimal\",icon:DK},{label:e(\"Toggle the decimal with leading zero list style\"),tooltip:e(\"Decimal with leading zero\"),type:\"decimal-leading-zero\",icon:IK},{label:e(\"Toggle the lower\u2013roman list style\"),tooltip:e(\"Lower\u2013roman\"),type:\"lower-roman\",icon:TK},{label:e(\"Toggle the upper\u2013roman list style\"),tooltip:e(\"Upper-roman\"),type:\"upper-roman\",icon:SK},{label:e(\"Toggle the lower\u2013latin list style\"),tooltip:e(\"Lower-latin\"),type:\"lower-latin\",icon:BK},{label:e(\"Toggle the upper\u2013latin list style\"),tooltip:e(\"Upper-latin\"),type:\"upper-latin\",icon:MK}];const i=e(\"Numbered List\");const r=e(\"Numbered list styles toolbar\");const s=\"numberedList\";t.ui.componentFactory.add(s,RK({editor:t,propertiesConfig:n,parentCommandName:s,buttonLabel:i,buttonIcon:CC.numberedList,styleGridAriaLabel:r,styleDefinitions:o}));if(n.styles){t.ui.componentFactory.add(`menuBar:${s}`,jK({editor:t,propertiesConfig:n,parentCommandName:s,buttonLabel:i,styleGridAriaLabel:r,styleDefinitions:o}))}}}}function RK({editor:t,propertiesConfig:e,parentCommandName:n,buttonLabel:o,buttonIcon:i,styleGridAriaLabel:r,styleDefinitions:s}){const a=t.commands.get(n);return c=>{const l=xx(c,px);const d=l.buttonView;l.bind(\"isEnabled\").to(a);l.class=\"ck-list-styles-dropdown\";d.on(\"execute\",(()=>{t.execute(n);t.editing.view.focus()}));d.set({label:o,icon:i,tooltip:true,isToggleable:true});d.bind(\"isOn\").to(a,\"value\",(t=>!!t));l.once(\"change:isOpen\",(()=>{const o=FK({editor:t,propertiesConfig:e,dropdownView:l,parentCommandName:n,styleGridAriaLabel:r,styleDefinitions:s});l.panelView.children.add(o)}));l.on(\"execute\",(()=>{t.editing.view.focus()}));return l}}function VK({editor:t,listStyleCommand:e,parentCommandName:n}){const o=t.locale;const i=t.commands.get(n);return({label:r,type:s,icon:a,tooltip:c})=>{const l=new Sv(o);l.set({label:r,icon:a,tooltip:c});e.on(\"change:value\",(()=>{l.isOn=e.value===s}));l.on(\"execute\",(()=>{if(i.value){if(e.value===s){t.execute(n)}else if(e.value!==s){t.execute(\"listStyle\",{type:s})}}else{t.model.change((()=>{t.execute(\"listStyle\",{type:s})}))}}));return l}}function FK({editor:t,propertiesConfig:e,dropdownView:n,parentCommandName:o,styleDefinitions:i,styleGridAriaLabel:r}){const s=t.locale;const a={...e};if(o!=\"numberedList\"){a.startIndex=false;a.reversed=false}let c=null;if(a.styles){const e=t.commands.get(\"listStyle\");const n=VK({editor:t,parentCommandName:o,listStyleCommand:e});const r=HK(e);c=i.filter(r).map(n)}const l=new vK(s,{styleGridAriaLabel:r,enabledProperties:a,styleButtonViews:c});if(a.styles){Sx(n,(()=>l.stylesView.children.find((t=>t.isOn))))}if(a.startIndex){const e=t.commands.get(\"listStart\");l.startIndexFieldView.bind(\"isEnabled\").to(e);l.startIndexFieldView.fieldView.bind(\"value\").to(e);l.on(\"listStart\",((e,n)=>t.execute(\"listStart\",n)))}if(a.reversed){const e=t.commands.get(\"listReversed\");l.reversedSwitchButtonView.bind(\"isEnabled\").to(e);l.reversedSwitchButtonView.bind(\"isOn\").to(e,\"value\",(t=>!!t));l.on(\"listReversed\",(()=>{const n=e.value;t.execute(\"listReversed\",{reversed:!n})}))}l.delegate(\"execute\").to(n);return l}function jK({editor:t,propertiesConfig:e,parentCommandName:n,buttonLabel:o,styleGridAriaLabel:i,styleDefinitions:r}){return s=>{const a=new VS(s);const c=t.commands.get(n);const l=t.commands.get(\"listStyle\");const d=HK(l);const u=VK({editor:t,parentCommandName:n,listStyleCommand:l});const h=r.filter(d).map(u);const m=new vK(s,{styleGridAriaLabel:i,enabledProperties:{...e,startIndex:false,reversed:false},styleButtonViews:h});m.delegate(\"execute\").to(a);a.buttonView.set({label:o,icon:CC[n]});a.panelView.children.add(m);a.bind(\"isEnabled\").to(c,\"isEnabled\");a.on(\"execute\",(()=>{t.editing.view.focus()}));return a}}function HK(t){if(typeof t.isStyleTypeSupported==\"function\"){return e=>t.isStyleTypeSupported(e.type)}else{return()=>true}}class UK extends Ed{static get requires(){return[bK,OK]}static get pluginName(){return\"ListProperties\"}}class WK extends Id{constructor(t){super(t);this.on(\"execute\",(()=>{this.refresh()}),{priority:\"highest\"})}refresh(){const t=this._getSelectedItems();this.value=this._getValue(t);this.isEnabled=!!t.length}execute(t={}){this.editor.model.change((e=>{const n=this._getSelectedItems();const o=t.forceValue===undefined?!this._getValue(n):t.forceValue;for(const t of n){if(o){e.setAttribute(\"todoListChecked\",true,t)}else{e.removeAttribute(\"todoListChecked\",t)}}}))}_getValue(t){return t.every((t=>t.getAttribute(\"todoListChecked\")))}_getSelectedItems(){const t=this.editor.model;const e=t.schema;const n=t.document.selection.getFirstRange();const o=n.start.parent;const i=[];if(e.checkAttribute(o,\"todoListChecked\")){i.push(...WG(o))}for(const t of n.getItems({shallow:true})){if(e.checkAttribute(t,\"todoListChecked\")&&!i.includes(t)){i.push(...WG(t))}}return i}}class qK extends Zm{constructor(){super(...arguments);this.domEventType=[\"change\"]}onDomEvent(t){if(t.target){const e=this.view.domConverter.mapDomToView(t.target);if(e&&e.is(\"element\",\"input\")&&e.getAttribute(\"type\")==\"checkbox\"&&e.findAncestor({classes:\"todo-list__label\"})){this.fire(\"todoCheckboxChange\",t)}}}}const GK=Jc(\"Ctrl+Enter\");class $K extends Ed{static get pluginName(){return\"TodoListEditing\"}static get requires(){return[Y$]}init(){const t=this.editor;const e=t.model;const n=t.editing;const o=t.plugins.get(Y$);const i=t.config.get(\"list.multiBlock\");const r=i?\"paragraph\":\"listItem\";t.commands.add(\"todoList\",new h$(t,\"todo\"));t.commands.add(\"checkTodoList\",new WK(t));n.view.addObserver(qK);e.schema.extend(\"$listItem\",{allowAttributes:\"todoListChecked\"});e.schema.addAttributeCheck(((t,e)=>{const n=t.last;if(e!=\"todoListChecked\"){return}if(!n.getAttribute(\"listItemId\")||n.getAttribute(\"listType\")!=\"todo\"){return false}}));t.conversion.for(\"upcast\").add((t=>{t.on(\"element:input\",KK());t.on(\"element:label\",YK({name:\"label\",classes:\"todo-list__label\"}));t.on(\"element:label\",YK({name:\"label\",classes:[\"todo-list__label\",\"todo-list__label_without-description\"]}));t.on(\"element:span\",YK({name:\"span\",classes:\"todo-list__label__description\"}));t.on(\"element:ul\",QK({name:\"ul\",classes:\"todo-list\"}))}));t.conversion.for(\"downcast\").elementToElement({model:r,view:(t,{writer:e})=>{if(ZK(t,o.getListAttributeNames())){return e.createContainerElement(\"span\",{class:\"todo-list__label__description\"})}},converterPriority:\"highest\"});o.registerDowncastStrategy({scope:\"list\",attributeName:\"listType\",setAttributeOnDowncast(t,e,n){if(e==\"todo\"){t.addClass(\"todo-list\",n)}else{t.removeClass(\"todo-list\",n)}}});o.registerDowncastStrategy({scope:\"itemMarker\",attributeName:\"todoListChecked\",createElement(t,e,{dataPipeline:n}){if(e.getAttribute(\"listType\")!=\"todo\"){return null}const o=t.createUIElement(\"input\",{type:\"checkbox\",...e.getAttribute(\"todoListChecked\")?{checked:\"checked\"}:null,...n?{disabled:\"disabled\"}:{tabindex:\"-1\"}});if(n){return o}const i=t.createContainerElement(\"span\",{contenteditable:\"false\"},o);i.getFillerOffset=()=>null;return i},canWrapElement(t){return ZK(t,o.getListAttributeNames())},createWrapperElement(t,e,{dataPipeline:n}){const i=[\"todo-list__label\"];if(!ZK(e,o.getListAttributeNames())){i.push(\"todo-list__label_without-description\")}return t.createAttributeElement(n?\"label\":\"span\",{class:i.join(\" \")})}});o.on(\"checkElement\",((t,{modelElement:e,viewElement:n})=>{const i=ZK(e,o.getListAttributeNames());const r=n.hasClass(\"todo-list__label__description\");if(r!=i){t.return=true;t.stop()}}));o.on(\"checkElement\",((e,{modelElement:n,viewElement:o})=>{const i=n.getAttribute(\"listType\")==\"todo\"&&KG(n);let r=false;const s=t.editing.view.createPositionBefore(o).getWalker({direction:\"backward\"});for(const{item:e}of s){if(e.is(\"element\")&&t.editing.mapper.toModelElement(e)){break}if(e.is(\"element\",\"input\")&&e.getAttribute(\"type\")==\"checkbox\"){r=true}}if(r!=i){e.return=true;e.stop()}}));o.on(\"postFixer\",((t,{listNodes:e,writer:n})=>{for(const{node:o,previousNodeInList:i}of e){if(!i){continue}if(i.getAttribute(\"listItemId\")!=o.getAttribute(\"listItemId\")){continue}const e=i.hasAttribute(\"todoListChecked\");const r=o.hasAttribute(\"todoListChecked\");if(r&&!e){n.removeAttribute(\"todoListChecked\",o);t.return=true}else if(!r&&e){n.setAttribute(\"todoListChecked\",true,o);t.return=true}}}));e.document.registerPostFixer((t=>{const n=e.document.differ.getChanges();let o=false;for(const e of n){if(e.type==\"attribute\"&&e.attributeKey==\"listType\"){const n=e.range.start.nodeAfter;if(e.attributeOldValue==\"todo\"&&n.hasAttribute(\"todoListChecked\")){t.removeAttribute(\"todoListChecked\",n);o=true}}else if(e.type==\"insert\"&&e.name!=\"$text\"){for(const{item:n}of t.createRangeOn(e.position.nodeAfter)){if(n.is(\"element\")&&n.getAttribute(\"listType\")!=\"todo\"&&n.hasAttribute(\"todoListChecked\")){t.removeAttribute(\"todoListChecked\",n);o=true}}}}return o}));this.listenTo(n.view.document,\"keydown\",((e,n)=>{if(Zc(n)===GK){t.execute(\"checkTodoList\");e.stop()}}),{priority:\"high\"});this.listenTo(n.view.document,\"todoCheckboxChange\",((t,e)=>{const o=e.target;if(!o||!o.is(\"element\",\"input\")){return}const i=n.view.createPositionAfter(o);const r=n.mapper.toModelPosition(i);const s=r.parent;if(s&&UG(s)&&s.getAttribute(\"listType\")==\"todo\"){this._handleCheckmarkChange(s)}}));this.listenTo(n.view.document,\"arrowKey\",XK(e,t.locale),{context:\"$text\"});this.listenTo(n.mapper,\"viewToModelPosition\",((t,n)=>{const o=n.viewPosition.parent;const i=o.is(\"attributeElement\",\"li\")&&n.viewPosition.offset==0;const r=tY(o)&&n.viewPosition.offset<=1;const s=o.is(\"element\",\"span\")&&o.getAttribute(\"contenteditable\")==\"false\"&&tY(o.parent);if(!i&&!r&&!s){return}const a=n.modelPosition.nodeAfter;if(a&&a.getAttribute(\"listType\")==\"todo\"){n.modelPosition=e.createPositionAt(a,0)}}),{priority:\"low\"})}_handleCheckmarkChange(t){const e=this.editor;const n=e.model;const o=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,\"end\");e.execute(\"checkTodoList\");n.setSelection(o)}))}}function KK(){return(t,e,n)=>{const o=e.modelCursor;const i=o.parent;const r=e.viewItem;if(!n.consumable.test(r,{name:true})){return}if(r.getAttribute(\"type\")!=\"checkbox\"||!o.isAtStart||!i.hasAttribute(\"listType\")){return}n.consumable.consume(r,{name:true});const s=n.writer;s.setAttribute(\"listType\",\"todo\",i);if(e.viewItem.hasAttribute(\"checked\")){s.setAttribute(\"todoListChecked\",true,i)}e.modelRange=s.createRange(o)}}function YK(t){const e=new iu(t);return(t,n,o)=>{const i=e.match(n.viewItem);if(!i){return}if(!o.consumable.consume(n.viewItem,i.match)){return}Object.assign(n,o.convertChildren(n.viewItem,n.modelCursor))}}function QK(t){const e=new iu(t);return(t,n,o)=>{const i=e.match(n.viewItem);if(!i){return}const r=i.match;r.name=false;o.consumable.consume(n.viewItem,r)}}function ZK(t,e){return(t.is(\"element\",\"paragraph\")||t.is(\"element\",\"listItem\"))&&t.getAttribute(\"listType\")==\"todo\"&&KG(t)&&JK(t,e)}function JK(t,e){for(const n of t.getAttributeKeys()){if(n.startsWith(\"selection:\")){continue}if(!e.includes(n)){return false}}return true}function XK(t,e){return(n,o)=>{const i=el(o.keyCode,e.contentLanguageDirection);const r=t.schema;const s=t.document.selection;if(!s.isCollapsed){return}const a=s.getFirstPosition();const c=a.parent;if(i==\"right\"&&a.isAtEnd){const e=r.getNearestSelectionRange(t.createPositionAfter(c),\"forward\");if(!e){return}const i=e.start.parent;if(i&&UG(i)&&i.getAttribute(\"listType\")==\"todo\"){t.change((t=>t.setSelection(e)));o.preventDefault();o.stopPropagation();n.stop()}}else if(i==\"left\"&&a.isAtStart&&UG(c)&&c.getAttribute(\"listType\")==\"todo\"){const e=r.getNearestSelectionRange(t.createPositionBefore(c),\"backward\");if(!e){return}t.change((t=>t.setSelection(e)));o.preventDefault();o.stopPropagation();n.stop()}}}function tY(t){return!!t&&t.is(\"attributeElement\")&&t.hasClass(\"todo-list__label\")}class eY extends Ed{static get pluginName(){return\"TodoListUI\"}init(){const t=this.editor.t;X$(this.editor,\"todoList\",t(\"To-do List\"),CC.todoList)}}var nY=n(3161);var oY={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};oY.insert=\"head\";oY.singleton=true;var iY=Ld()(nY.A,oY);const rY=nY.A.locals||{};class sY extends Ed{static get requires(){return[$K,eY]}static get pluginName(){return\"TodoList\"}}class aY extends Id{constructor(t,e){super(t);this.type=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;const o=Array.from(n.selection.getSelectedBlocks()).filter((t=>lY(t,e.schema)));const i=t.forceValue!==undefined?!t.forceValue:this.value;e.change((t=>{if(i){let e=o[o.length-1].nextSibling;let n=Number.POSITIVE_INFINITY;let i=[];while(e&&e.name==\"listItem\"&&e.getAttribute(\"listIndent\")!==0){const t=e.getAttribute(\"listIndent\");if(t=n){if(r>i.getAttribute(\"listIndent\")){r=i.getAttribute(\"listIndent\")}if(i.getAttribute(\"listIndent\")==r){t[e?\"unshift\":\"push\"](i)}i=i[e?\"previousSibling\":\"nextSibling\"]}}}function lY(t,e){return e.checkChild(t.parent,\"listItem\")&&!e.isObject(t)}class dY extends Id{constructor(t,e){super(t);this._indentBy=e==\"forward\"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=n[n.length-1];let o=e.nextSibling;while(o&&o.name==\"listItem\"&&o.getAttribute(\"listIndent\")>e.getAttribute(\"listIndent\")){n.push(o);o=o.nextSibling}if(this._indentBy<0){n=n.reverse()}for(const e of n){const n=e.getAttribute(\"listIndent\")+this._indentBy;if(n<0){t.rename(e,\"paragraph\")}else{t.setAttribute(\"listIndent\",n,e)}}this.fire(\"_executeCleanup\",n)}))}_checkEnabled(){const t=sd(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is(\"element\",\"listItem\")){return false}if(this._indentBy>0){const e=t.getAttribute(\"listIndent\");const n=t.getAttribute(\"listType\");let o=t.previousSibling;while(o&&o.is(\"element\",\"listItem\")&&o.getAttribute(\"listIndent\")>=e){if(o.getAttribute(\"listIndent\")==e){return o.getAttribute(\"listType\")==n}o=o.previousSibling}return false}return true}}function uY(t){const e=t.createContainerElement(\"li\");e.getFillerOffset=vY;return e}function hY(t,e){const n=e.mapper;const o=e.writer;const i=t.getAttribute(\"listType\")==\"numbered\"?\"ol\":\"ul\";const r=uY(o);const s=o.createContainerElement(i,null);o.insert(o.createPositionAt(s,0),r);n.bindElements(t,r);return r}function mY(t,e,n,o){const i=e.parent;const r=n.mapper;const s=n.writer;let a=r.toViewPosition(o.createPositionBefore(t));const c=pY(t.previousSibling,{sameIndent:true,smallerIndent:true,listIndent:t.getAttribute(\"listIndent\")});const l=t.previousSibling;if(c&&c.getAttribute(\"listIndent\")==t.getAttribute(\"listIndent\")){const t=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(t))}else{if(l&&l.name==\"listItem\"){a=r.toViewPosition(o.createPositionAt(l,\"end\"));const t=r.findMappedViewAncestor(a);const e=bY(t);if(e){a=s.createPositionBefore(e)}else{a=s.createPositionAt(t,\"end\")}}else{a=r.toViewPosition(o.createPositionBefore(t))}}a=fY(a);s.insert(a,i);if(l&&l.name==\"listItem\"){const t=r.toViewElement(l);const n=s.createRange(s.createPositionAt(t,0),a);const o=n.getWalker({ignoreElementEnd:true});for(const t of o){if(t.item.is(\"element\",\"li\")){const n=s.breakContainer(s.createPositionBefore(t.item));const i=t.item.parent;const r=s.createPositionAt(e,\"end\");gY(s,r.nodeBefore,r.nodeAfter);s.move(s.createRangeOn(i),r);o._position=n}}}else{const n=i.nextSibling;if(n&&(n.is(\"element\",\"ul\")||n.is(\"element\",\"ol\"))){let o=null;for(const e of n.getChildren()){const n=r.toModelElement(e);if(n&&n.getAttribute(\"listIndent\")>t.getAttribute(\"listIndent\")){o=e}else{break}}if(o){s.breakContainer(s.createPositionAfter(o));s.move(s.createRangeOn(o.parent),s.createPositionAt(e,\"end\"))}}}gY(s,i,i.nextSibling);gY(s,i.previousSibling,i)}function gY(t,e,n){if(!e||!n||e.name!=\"ul\"&&e.name!=\"ol\"){return null}if(e.name!=n.name||e.getAttribute(\"class\")!==n.getAttribute(\"class\")){return null}return t.mergeContainers(t.createPositionAfter(e))}function fY(t){return t.getLastMatchingPosition((t=>t.item.is(\"uiElement\")))}function pY(t,e){const n=!!e.sameIndent;const o=!!e.smallerIndent;const i=e.listIndent;let r=t;while(r&&r.name==\"listItem\"){const t=r.getAttribute(\"listIndent\");if(n&&i==t||o&&i>t){return r}if(e.direction===\"forward\"){r=r.nextSibling}else{r=r.previousSibling}}return null}function bY(t){for(const e of t.getChildren()){if(e.name==\"ul\"||e.name==\"ol\"){return e}}return null}function kY(t,e){const n=[];const o=t.parent;const i={ignoreElementEnd:false,startPosition:t,shallow:true,direction:e};const r=o.getAttribute(\"listIndent\");const s=[...new Hf(i)].filter((t=>t.item.is(\"element\"))).map((t=>t.item));for(const t of s){if(!t.is(\"element\",\"listItem\")){break}if(t.getAttribute(\"listIndent\")r){continue}if(t.getAttribute(\"listType\")!==o.getAttribute(\"listType\")){break}if(t.getAttribute(\"listStyle\")!==o.getAttribute(\"listStyle\")){break}if(t.getAttribute(\"listReversed\")!==o.getAttribute(\"listReversed\")){break}if(t.getAttribute(\"listStart\")!==o.getAttribute(\"listStart\")){break}if(e===\"backward\"){n.unshift(t)}else{n.push(t)}}return n}function wY(t){const e=t.document;let n=[...e.selection.getSelectedBlocks()].filter((t=>t.is(\"element\",\"listItem\"))).map((e=>{const n=t.change((t=>t.createPositionAt(e,0)));return[...kY(n,\"backward\"),...kY(n,\"forward\")]})).flat();n=[...new Set(n)];return n}const AY=[\"disc\",\"circle\",\"square\"];const _Y=[\"decimal\",\"decimal-leading-zero\",\"lower-roman\",\"upper-roman\",\"lower-latin\",\"upper-latin\"];function CY(t){if(AY.includes(t)){return\"bulleted\"}if(_Y.includes(t)){return\"numbered\"}return null}function vY(){const t=!this.isEmpty&&(this.getChild(0).name==\"ul\"||this.getChild(0).name==\"ol\");if(this.isEmpty||t){return 0}return wh.call(this)}class yY extends Ed{static get pluginName(){return\"LegacyListUtils\"}getListTypeFromListStyleType(t){return CY(t)}getSelectedListItems(t){return wY(t)}getSiblingNodes(t,e){return kY(t,e)}}function xY(t){return(e,n,o)=>{const i=o.consumable;if(!i.test(n.item,\"insert\")||!i.test(n.item,\"attribute:listType\")||!i.test(n.item,\"attribute:listIndent\")){return}i.consume(n.item,\"insert\");i.consume(n.item,\"attribute:listType\");i.consume(n.item,\"attribute:listIndent\");const r=n.item;const s=hY(r,o);mY(r,s,o,t)}}function EY(t){return(e,n,o)=>{const i=o.mapper.toViewPosition(n.position);const r=i.getLastMatchingPosition((t=>!t.item.is(\"element\",\"li\")));const s=r.nodeAfter;const a=o.writer;a.breakContainer(a.createPositionBefore(s));a.breakContainer(a.createPositionAfter(s));const c=s.parent;const l=c.previousSibling;const d=a.createRangeOn(c);const u=a.remove(d);if(l&&l.nextSibling){gY(a,l,l.nextSibling)}const h=o.mapper.toModelElement(s);jY(h.getAttribute(\"listIndent\")+1,n.position,d.start,s,o,t);for(const t of a.createRangeIn(u).getItems()){o.mapper.unbindViewElement(t)}e.stop()}}const DY=(t,e,n)=>{if(!n.consumable.test(e.item,t.name)){return}const o=n.mapper.toViewElement(e.item);const i=n.writer;i.breakContainer(i.createPositionBefore(o));i.breakContainer(i.createPositionAfter(o));const r=o.parent;const s=e.attributeNewValue==\"numbered\"?\"ol\":\"ul\";i.rename(s,r)};const IY=(t,e,n)=>{n.consumable.consume(e.item,t.name);const o=n.mapper.toViewElement(e.item);const i=o.parent;const r=n.writer;gY(r,i,i.nextSibling);gY(r,i.previousSibling,i)};function TY(t){return(e,n,o)=>{if(!o.consumable.consume(n.item,\"attribute:listIndent\")){return}const i=o.mapper.toViewElement(n.item);const r=o.writer;r.breakContainer(r.createPositionBefore(i));r.breakContainer(r.createPositionAfter(i));const s=i.parent;const a=s.previousSibling;const c=r.createRangeOn(s);r.remove(c);if(a&&a.nextSibling){gY(r,a,a.nextSibling)}jY(n.attributeOldValue+1,n.range.start,c.start,i,o,t);mY(n.item,i,o,t);for(const t of n.item.getChildren()){o.consumable.consume(t,\"insert\")}}}const SY=(t,e,n)=>{if(!n.consumable.test(e.item,t.name)){return}if(e.item.name!=\"listItem\"){let t=n.mapper.toViewPosition(e.range.start);const o=n.writer;const i=[];while(t.parent.name==\"ul\"||t.parent.name==\"ol\"){t=o.breakContainer(t);if(t.parent.name!=\"li\"){break}const e=t;const n=o.createPositionAt(t.parent,\"end\");if(!e.isEqual(n)){const t=o.remove(o.createRange(e,n));i.push(t)}t=o.createPositionAfter(t.parent)}if(i.length>0){for(let e=0;e0){const e=gY(o,n,n.nextSibling);if(e&&e.parent==n){t.offset--}}}gY(o,t.nodeBefore,t.nodeAfter)}}};const BY=(t,e,n)=>{const o=n.mapper.toViewPosition(e.position);const i=o.nodeBefore;const r=o.nodeAfter;gY(n.writer,i,r)};const MY=(t,e,n)=>{if(n.consumable.consume(e.viewItem,{name:true})){const t=n.writer;const o=t.createElement(\"listItem\");const i=UY(e.viewItem);t.setAttribute(\"listIndent\",i,o);const r=e.viewItem.parent&&e.viewItem.parent.name==\"ol\"?\"numbered\":\"bulleted\";t.setAttribute(\"listType\",r,o);if(!n.safeInsert(o,e.modelCursor)){return}const s=VY(o,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,s);n.updateConversionResult(o,e)}};const PY=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:true})){const t=Array.from(e.viewItem.getChildren());for(const e of t){const t=!(e.is(\"element\",\"li\")||HY(e));if(t){e._remove()}}}};const NY=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:true})){if(e.viewItem.childCount===0){return}const t=[...e.viewItem.getChildren()];let n=false;for(const e of t){if(n&&!HY(e)){e._remove()}if(HY(e)){n=true}}}};function LY(t){return(e,n)=>{if(n.isPhantom){return}const o=n.modelPosition.nodeBefore;if(o&&o.is(\"element\",\"listItem\")){const e=n.mapper.toViewElement(o);const i=e.getAncestors().find(HY);const r=t.createPositionAt(e,0).getWalker();for(const t of r){if(t.type==\"elementStart\"&&t.item.is(\"element\",\"li\")){n.viewPosition=t.previousPosition;break}else if(t.type==\"elementEnd\"&&t.item==i){n.viewPosition=t.nextPosition;break}}}}}function zY(t){return(e,n)=>{const o=n.viewPosition;const i=o.parent;const r=n.mapper;if(i.name==\"ul\"||i.name==\"ol\"){if(!o.isAtEnd){const e=r.toModelElement(o.nodeAfter);n.modelPosition=t.createPositionBefore(e)}else{const e=r.toModelElement(o.nodeBefore);const i=r.getModelLength(o.nodeBefore);n.modelPosition=t.createPositionBefore(e).getShiftedBy(i)}e.stop()}else if(i.name==\"li\"&&o.nodeBefore&&(o.nodeBefore.name==\"ul\"||o.nodeBefore.name==\"ol\")){const s=r.toModelElement(i);let a=1;let c=o.nodeBefore;while(c&&HY(c)){a+=r.getModelLength(c);c=c.previousSibling}n.modelPosition=t.createPositionBefore(s).getShiftedBy(a);e.stop()}}}function OY(t,e){const n=t.document.differ.getChanges();const o=new Map;let i=false;for(const o of n){if(o.type==\"insert\"&&o.name==\"listItem\"){r(o.position)}else if(o.type==\"insert\"&&o.name!=\"listItem\"){if(o.name!=\"$text\"){const n=o.position.nodeAfter;if(n.hasAttribute(\"listIndent\")){e.removeAttribute(\"listIndent\",n);i=true}if(n.hasAttribute(\"listType\")){e.removeAttribute(\"listType\",n);i=true}if(n.hasAttribute(\"listStyle\")){e.removeAttribute(\"listStyle\",n);i=true}if(n.hasAttribute(\"listReversed\")){e.removeAttribute(\"listReversed\",n);i=true}if(n.hasAttribute(\"listStart\")){e.removeAttribute(\"listStart\",n);i=true}for(const e of Array.from(t.createRangeIn(n)).filter((t=>t.item.is(\"element\",\"listItem\")))){r(e.previousPosition)}}const n=o.position.getShiftedBy(o.length);r(n)}else if(o.type==\"remove\"&&o.name==\"listItem\"){r(o.position)}else if(o.type==\"attribute\"&&o.attributeKey==\"listIndent\"){r(o.range.start)}else if(o.type==\"attribute\"&&o.attributeKey==\"listType\"){r(o.range.start)}}for(const t of o.values()){s(t);a(t)}return i;function r(t){const e=t.nodeBefore;if(!e||!e.is(\"element\",\"listItem\")){const e=t.nodeAfter;if(e&&e.is(\"element\",\"listItem\")){o.set(e,e)}}else{let t=e;if(o.has(t)){return}for(let e=t.previousSibling;e&&e.is(\"element\",\"listItem\");e=t.previousSibling){t=e;if(o.has(t)){return}}o.set(e,t)}}function s(t){let n=0;let o=null;while(t&&t.is(\"element\",\"listItem\")){const r=t.getAttribute(\"listIndent\");if(r>n){let s;if(o===null){o=r-n;s=n}else{if(o>r){o=r}s=r-o}e.setAttribute(\"listIndent\",s,t);i=true}else{o=null;n=t.getAttribute(\"listIndent\")+1}t=t.nextSibling}}function a(t){let n=[];let o=null;while(t&&t.is(\"element\",\"listItem\")){const r=t.getAttribute(\"listIndent\");if(o&&o.getAttribute(\"listIndent\")>r){n=n.slice(0,r+1)}if(r!=0){if(n[r]){const o=n[r];if(t.getAttribute(\"listType\")!=o){e.setAttribute(\"listType\",o,t);i=true}}else{n[r]=t.getAttribute(\"listType\")}}o=t;t=t.nextSibling}}}const RY=function(t,[e,n]){const o=this;let i=e.is(\"documentFragment\")?e.getChild(0):e;let r;if(!n){r=o.document.selection}else{r=o.createSelection(n)}if(i&&i.is(\"element\",\"listItem\")){const t=r.getFirstPosition();let e=null;if(t.parent.is(\"element\",\"listItem\")){e=t.parent}else if(t.nodeBefore&&t.nodeBefore.is(\"element\",\"listItem\")){e=t.nodeBefore}if(e){const t=e.getAttribute(\"listIndent\");if(t>0){while(i&&i.is(\"element\",\"listItem\")){i._setAttribute(\"listIndent\",i.getAttribute(\"listIndent\")+t);i=i.nextSibling}}}}};function VY(t,e,n){const{writer:o,schema:i}=n;let r=o.createPositionAfter(t);for(const s of e){if(s.name==\"ul\"||s.name==\"ol\"){r=n.convertItem(s,r).modelCursor}else{const e=n.convertItem(s,o.createPositionAt(t,\"end\"));const a=e.modelRange.start.nodeAfter;const c=a&&a.is(\"element\")&&!i.checkChild(t,a.name);if(c){if(e.modelCursor.parent.is(\"element\",\"listItem\")){t=e.modelCursor.parent}else{t=FY(e.modelCursor)}r=o.createPositionAfter(t)}}}return r}function FY(t){const e=new Hf({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is(\"element\",\"listItem\"));return n.value.item}function jY(t,e,n,o,i,r){const s=pY(e.nodeBefore,{sameIndent:true,smallerIndent:true,listIndent:t});const a=i.mapper;const c=i.writer;const l=s?s.getAttribute(\"listIndent\"):null;let d;if(!s){d=n}else if(l==t){const t=a.toViewElement(s).parent;d=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,\"end\");d=a.toViewPosition(t)}d=fY(d);for(const t of[...o.getChildren()]){if(HY(t)){d=c.move(c.createRangeOn(t),d).end;gY(c,t,t.nextSibling);gY(c,t.previousSibling,t)}}}function HY(t){return t.is(\"element\",\"ol\")||t.is(\"element\",\"ul\")}function UY(t){let e=0;let n=t.parent;while(n){if(n.is(\"element\",\"li\")){e++}else{const t=n.previousSibling;if(t&&t.is(\"element\",\"li\")){e++}}n=n.parent}return e}class WY extends Ed{static get pluginName(){return\"LegacyListEditing\"}static get requires(){return[lP,RB,yY]}init(){const t=this.editor;t.model.schema.register(\"listItem\",{inheritAllFrom:\"$block\",allowAttributes:[\"listType\",\"listIndent\"]});const e=t.data;const n=t.editing;t.model.document.registerPostFixer((e=>OY(t.model,e)));n.mapper.registerViewToModelLength(\"li\",qY);e.mapper.registerViewToModelLength(\"li\",qY);n.mapper.on(\"modelToViewPosition\",LY(n.view));n.mapper.on(\"viewToModelPosition\",zY(t.model));e.mapper.on(\"modelToViewPosition\",LY(n.view));t.conversion.for(\"editingDowncast\").add((e=>{e.on(\"insert\",SY,{priority:\"high\"});e.on(\"insert:listItem\",xY(t.model));e.on(\"attribute:listType:listItem\",DY,{priority:\"high\"});e.on(\"attribute:listType:listItem\",IY,{priority:\"low\"});e.on(\"attribute:listIndent:listItem\",TY(t.model));e.on(\"remove:listItem\",EY(t.model));e.on(\"remove\",BY,{priority:\"low\"})}));t.conversion.for(\"dataDowncast\").add((e=>{e.on(\"insert\",SY,{priority:\"high\"});e.on(\"insert:listItem\",xY(t.model))}));t.conversion.for(\"upcast\").add((t=>{t.on(\"element:ul\",PY,{priority:\"high\"});t.on(\"element:ol\",PY,{priority:\"high\"});t.on(\"element:li\",NY,{priority:\"high\"});t.on(\"element:li\",MY)}));t.model.on(\"insertContent\",RY,{priority:\"high\"});t.commands.add(\"numberedList\",new aY(t,\"numbered\"));t.commands.add(\"bulletedList\",new aY(t,\"bulleted\"));t.commands.add(\"indentList\",new dY(t,\"forward\"));t.commands.add(\"outdentList\",new dY(t,\"backward\"));const o=n.view.document;this.listenTo(o,\"enter\",((t,e)=>{const n=this.editor.model.document;const o=n.selection.getLastPosition().parent;if(n.selection.isCollapsed&&o.name==\"listItem\"&&o.isEmpty){this.editor.execute(\"outdentList\");e.preventDefault();t.stop()}}),{context:\"li\"});this.listenTo(o,\"delete\",((t,e)=>{if(e.direction!==\"backward\"){return}const n=this.editor.model.document.selection;if(!n.isCollapsed){return}const o=n.getFirstPosition();if(!o.isAtStart){return}const i=o.parent;if(i.name!==\"listItem\"){return}const r=i.previousSibling&&i.previousSibling.name===\"listItem\";if(r){return}this.editor.execute(\"outdentList\");e.preventDefault();t.stop()}),{context:\"li\"});this.listenTo(t.editing.view.document,\"tab\",((e,n)=>{const o=n.shiftKey?\"outdentList\":\"indentList\";const i=this.editor.commands.get(o);if(i.isEnabled){t.execute(o);n.stopPropagation();n.preventDefault();e.stop()}}),{context:\"li\"})}afterInit(){const t=this.editor.commands;const e=t.get(\"indent\");const n=t.get(\"outdent\");if(e){e.registerChildCommand(t.get(\"indentList\"))}if(n){n.registerChildCommand(t.get(\"outdentList\"))}}}function qY(t){let e=1;for(const n of t.getChildren()){if(n.name==\"ul\"||n.name==\"ol\"){for(const t of n.getChildren()){e+=qY(t)}}}return e}class GY extends(null&&Plugin){static get requires(){return[LegacyListEditing,ListUI]}static get pluginName(){return\"LegacyList\"}}class $Y extends Id{constructor(t,e){super(t);this.defaultType=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){this._tryToConvertItemsToList(t);const e=this.editor.model;const n=wY(e);if(!n.length){return}e.change((e=>{for(const o of n){e.setAttribute(\"listStyle\",t.type||this.defaultType,o)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is(\"element\",\"listItem\")){return t.getAttribute(\"listStyle\")}return null}_checkEnabled(){const t=this.editor;const e=t.commands.get(\"numberedList\");const n=t.commands.get(\"bulletedList\");return e.isEnabled||n.isEnabled}_tryToConvertItemsToList(t){if(!t.type){return}const e=CY(t.type);if(!e){return}const n=this.editor;const o=`${e}List`;const i=n.commands.get(o);if(!i.value){n.execute(o)}}}class KY extends Id{refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute(t={}){const e=this.editor.model;const n=wY(e).filter((t=>t.getAttribute(\"listType\")==\"numbered\"));e.change((e=>{for(const o of n){e.setAttribute(\"listReversed\",!!t.reversed,o)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is(\"element\",\"listItem\")&&t.getAttribute(\"listType\")==\"numbered\"){return t.getAttribute(\"listReversed\")}return null}}class YY extends Id{refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute({startIndex:t=1}={}){const e=this.editor.model;const n=wY(e).filter((t=>t.getAttribute(\"listType\")==\"numbered\"));e.change((e=>{for(const o of n){e.setAttribute(\"listStart\",t>=0?t:1,o)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is(\"element\",\"listItem\")&&t.getAttribute(\"listType\")==\"numbered\"){return t.getAttribute(\"listStart\")}return null}}const QY=\"default\";class ZY extends Ed{static get requires(){return[WY]}static get pluginName(){return\"LegacyListPropertiesEditing\"}constructor(t){super(t);t.config.define(\"list\",{properties:{styles:true,startIndex:false,reversed:false}})}init(){const t=this.editor;const e=t.model;const n=t.config.get(\"list.properties\");const o=JY(n);e.schema.extend(\"listItem\",{allowAttributes:o.map((t=>t.attributeName))});for(const e of o){e.addCommand(t)}this.listenTo(t.commands.get(\"indentList\"),\"_executeCleanup\",eQ(t,o));this.listenTo(t.commands.get(\"outdentList\"),\"_executeCleanup\",nQ(t,o));this.listenTo(t.commands.get(\"bulletedList\"),\"_executeCleanup\",aQ(t));this.listenTo(t.commands.get(\"numberedList\"),\"_executeCleanup\",aQ(t));e.document.registerPostFixer(oQ(t,o));t.conversion.for(\"upcast\").add(XY(o));t.conversion.for(\"downcast\").add(tQ(o));this._mergeListAttributesWhileMergingLists(o)}afterInit(){const t=this.editor;if(t.commands.get(\"todoList\")){t.model.document.registerPostFixer(sQ(t))}}_mergeListAttributesWhileMergingLists(t){const e=this.editor;const n=e.model;let o;this.listenTo(n,\"deleteContent\",((t,[e])=>{const n=e.getFirstPosition();const i=e.getLastPosition();if(n.parent===i.parent){return}if(!n.parent.is(\"element\",\"listItem\")){return}const r=i.parent.nextSibling;if(!r||!r.is(\"element\",\"listItem\")){return}const s=pY(n.parent,{sameIndent:true,listIndent:r.getAttribute(\"listIndent\")});if(!s){return}if(s.getAttribute(\"listType\")===r.getAttribute(\"listType\")){o=s}}),{priority:\"high\"});this.listenTo(n,\"deleteContent\",(()=>{if(!o){return}n.change((e=>{const n=pY(o.nextSibling,{sameIndent:true,listIndent:o.getAttribute(\"listIndent\"),direction:\"forward\"});if(!n){o=null;return}const i=[n,...kY(e.createPositionAt(n,0),\"forward\")];for(const n of i){for(const i of t){if(i.appliesToListItem(n)){const t=i.attributeName;const r=o.getAttribute(t);e.setAttribute(t,r,n)}}}}));o=null}),{priority:\"low\"})}}function JY(t){const e=[];if(t.styles){e.push({attributeName:\"listStyle\",defaultValue:QY,addCommand(t){t.commands.add(\"listStyle\",new $Y(t,QY))},appliesToListItem(){return true},setAttributeOnDowncast(t,e,n){if(e&&e!==QY){t.setStyle(\"list-style-type\",e,n)}else{t.removeStyle(\"list-style-type\",n)}},getAttributeOnUpcast(t){return t.getStyle(\"list-style-type\")||QY}})}if(t.reversed){e.push({attributeName:\"listReversed\",defaultValue:false,addCommand(t){t.commands.add(\"listReversed\",new KY(t))},appliesToListItem(t){return t.getAttribute(\"listType\")==\"numbered\"},setAttributeOnDowncast(t,e,n){if(e){t.setAttribute(\"reversed\",\"reversed\",n)}else{t.removeAttribute(\"reversed\",n)}},getAttributeOnUpcast(t){return t.hasAttribute(\"reversed\")}})}if(t.startIndex){e.push({attributeName:\"listStart\",defaultValue:1,addCommand(t){t.commands.add(\"listStart\",new YY(t))},appliesToListItem(t){return t.getAttribute(\"listType\")==\"numbered\"},setAttributeOnDowncast(t,e,n){if(e==0||e>1){t.setAttribute(\"start\",e,n)}else{t.removeAttribute(\"start\",n)}},getAttributeOnUpcast(t){const e=t.getAttribute(\"start\");return e>=0?e:1}})}return e}function XY(t){return e=>{e.on(\"element:li\",((e,n,o)=>{if(!n.modelRange){return}const i=n.viewItem.parent;const r=n.modelRange.start.nodeAfter||n.modelRange.end.nodeBefore;for(const e of t){if(e.appliesToListItem(r)){const t=e.getAttributeOnUpcast(i);o.writer.setAttribute(e.attributeName,t,r)}}}),{priority:\"low\"})}}function tQ(t){return n=>{for(const o of t){n.on(`attribute:${o.attributeName}:listItem`,((t,n,i)=>{const r=i.writer;const s=n.item;const a=pY(s.previousSibling,{sameIndent:true,listIndent:s.getAttribute(\"listIndent\"),direction:\"backward\"});const c=i.mapper.toViewElement(s);if(!e(s,a)){r.breakContainer(r.createPositionBefore(c))}o.setAttributeOnDowncast(r,n.attributeNewValue,c.parent)}),{priority:\"low\"})}};function e(t,e){return e&&t.getAttribute(\"listType\")===e.getAttribute(\"listType\")&&t.getAttribute(\"listIndent\")===e.getAttribute(\"listIndent\")&&t.getAttribute(\"listStyle\")===e.getAttribute(\"listStyle\")&&t.getAttribute(\"listReversed\")===e.getAttribute(\"listReversed\")&&t.getAttribute(\"listStart\")===e.getAttribute(\"listStart\")}}function eQ(t,e){return(n,o)=>{const i=o[0];const r=i.getAttribute(\"listIndent\");const s=o.filter((t=>t.getAttribute(\"listIndent\")===r));let a=null;if(i.previousSibling.getAttribute(\"listIndent\")+1!==r){a=pY(i.previousSibling,{sameIndent:true,direction:\"backward\",listIndent:r})}t.model.change((t=>{for(const n of s){for(const o of e){if(o.appliesToListItem(n)){const e=a==null?o.defaultValue:a.getAttribute(o.attributeName);t.setAttribute(o.attributeName,e,n)}}}}))}}function nQ(t,e){return(n,o)=>{o=o.reverse().filter((t=>t.is(\"element\",\"listItem\")));if(!o.length){return}const i=o[0].getAttribute(\"listIndent\");const r=o[0].getAttribute(\"listType\");let s=o[0].previousSibling;if(s.is(\"element\",\"listItem\")){while(s.getAttribute(\"listIndent\")!==i){s=s.previousSibling}}else{s=null}if(!s){s=o[o.length-1].nextSibling}if(!s||!s.is(\"element\",\"listItem\")){return}if(s.getAttribute(\"listType\")!==r){return}t.model.change((t=>{const n=o.filter((t=>t.getAttribute(\"listIndent\")===i));for(const o of n){for(const n of e){if(n.appliesToListItem(o)){const e=n.attributeName;const i=s.getAttribute(e);t.setAttribute(e,i,o)}}}}))}}function oQ(t,e){return n=>{let o=false;const i=cQ(t.model.document.differ.getChanges()).filter((t=>t.getAttribute(\"listType\")!==\"todo\"));if(!i.length){return o}let r=i[i.length-1].nextSibling;if(!r||!r.is(\"element\",\"listItem\")){r=i[0].previousSibling;if(r){const t=i[0].getAttribute(\"listIndent\");while(r.is(\"element\",\"listItem\")&&r.getAttribute(\"listIndent\")!==t){r=r.previousSibling;if(!r){break}}}}for(const t of e){const e=t.attributeName;for(const s of i){if(!t.appliesToListItem(s)){n.removeAttribute(e,s);continue}if(!s.hasAttribute(e)){if(iQ(r,s,t)){n.setAttribute(e,r.getAttribute(e),s)}else{n.setAttribute(e,t.defaultValue,s)}o=true}else{const i=s.previousSibling;if(rQ(i,s,t.attributeName)){n.setAttribute(e,i.getAttribute(e),s);o=true}}}}return o}}function iQ(t,e,n){if(!t){return false}const o=t.getAttribute(n.attributeName);if(!o){return false}if(o==n.defaultValue){return false}if(t.getAttribute(\"listType\")!==e.getAttribute(\"listType\")){return false}return true}function rQ(t,e,n){if(!t||!t.is(\"element\",\"listItem\")){return false}if(e.getAttribute(\"listType\")!==t.getAttribute(\"listType\")){return false}const o=t.getAttribute(\"listIndent\");if(o<1||o!==e.getAttribute(\"listIndent\")){return false}const i=t.getAttribute(n);if(!i||i===e.getAttribute(n)){return false}return true}function sQ(t){return e=>{const n=cQ(t.model.document.differ.getChanges()).filter((t=>t.getAttribute(\"listType\")===\"todo\"&&(t.hasAttribute(\"listStyle\")||t.hasAttribute(\"listReversed\")||t.hasAttribute(\"listStart\"))));if(!n.length){return false}for(const t of n){e.removeAttribute(\"listStyle\",t);e.removeAttribute(\"listReversed\",t);e.removeAttribute(\"listStart\",t)}return true}}function aQ(t){return(e,n)=>{n=n.filter((t=>t.is(\"element\",\"listItem\")));t.model.change((t=>{for(const e of n){t.removeAttribute(\"listStyle\",e)}}))}}function cQ(t){const e=[];for(const n of t){const t=lQ(n);if(t&&t.is(\"element\",\"listItem\")){e.push(t)}}return e}function lQ(t){if(t.type===\"attribute\"){return t.range.start.nodeAfter}if(t.type===\"insert\"){return t.position.nodeAfter}return null}class dQ extends(null&&Plugin){static get requires(){return[LegacyListPropertiesEditing,ListPropertiesUI]}static get pluginName(){return\"LegacyListProperties\"}}const uQ=\"todoListChecked\";class hQ extends Id{constructor(t){super(t);this._selectedElements=[];this.on(\"execute\",(()=>{this.refresh()}),{priority:\"highest\"})}refresh(){this._selectedElements=this._getSelectedItems();this.value=this._selectedElements.every((t=>!!t.getAttribute(uQ)));this.isEnabled=!!this._selectedElements.length}_getSelectedItems(){const t=this.editor.model;const e=t.schema;const n=t.document.selection.getFirstRange();const o=n.start.parent;const i=[];if(e.checkAttribute(o,uQ)){i.push(o)}for(const t of n.getItems()){if(e.checkAttribute(t,uQ)&&!i.includes(t)){i.push(t)}}return i}execute(t={}){this.editor.model.change((e=>{for(const n of this._selectedElements){const o=t.forceValue===undefined?!this.value:t.forceValue;if(o){e.setAttribute(uQ,true,n)}else{e.removeAttribute(uQ,n)}}}))}}function mQ(t,e){return(n,o,i)=>{const r=i.consumable;if(!r.test(o.item,\"insert\")||!r.test(o.item,\"attribute:listType\")||!r.test(o.item,\"attribute:listIndent\")){return}if(o.item.getAttribute(\"listType\")!=\"todo\"){return}const s=o.item;r.consume(s,\"insert\");r.consume(s,\"attribute:listType\");r.consume(s,\"attribute:listIndent\");r.consume(s,\"attribute:todoListChecked\");const a=i.writer;const c=generateLiInUl(s,i);const l=!!s.getAttribute(\"todoListChecked\");const d=wQ(s,a,l,e);const u=a.createContainerElement(\"span\",{class:\"todo-list__label__description\"});a.addClass(\"todo-list\",c.parent);a.insert(a.createPositionAt(c,0),d);a.insert(a.createPositionAfter(d),u);injectViewList(s,c,i,t)}}function gQ(t){return(e,n,o)=>{const i=o.consumable;if(!i.test(n.item,\"insert\")||!i.test(n.item,\"attribute:listType\")||!i.test(n.item,\"attribute:listIndent\")){return}if(n.item.getAttribute(\"listType\")!=\"todo\"){return}const r=n.item;i.consume(r,\"insert\");i.consume(r,\"attribute:listType\");i.consume(r,\"attribute:listIndent\");i.consume(r,\"attribute:todoListChecked\");const s=o.writer;const a=generateLiInUl(r,o);s.addClass(\"todo-list\",a.parent);const c=s.createContainerElement(\"label\",{class:\"todo-list__label\"});const l=s.createEmptyElement(\"input\",{type:\"checkbox\",disabled:\"disabled\"});const d=s.createContainerElement(\"span\",{class:\"todo-list__label__description\"});if(r.getAttribute(\"todoListChecked\")){s.setAttribute(\"checked\",\"checked\",l)}s.insert(s.createPositionAt(a,0),c);s.insert(s.createPositionAt(c,0),l);s.insert(s.createPositionAfter(l),d);injectViewList(r,a,o,t)}}const fQ=(t,e,n)=>{const o=e.modelCursor;const i=o.parent;const r=e.viewItem;if(r.getAttribute(\"type\")!=\"checkbox\"||i.name!=\"listItem\"||!o.isAtStart){return}if(!n.consumable.consume(r,{name:true})){return}const s=n.writer;s.setAttribute(\"listType\",\"todo\",i);if(e.viewItem.hasAttribute(\"checked\")){s.setAttribute(\"todoListChecked\",true,i)}e.modelRange=s.createRange(o)};function pQ(t,e){return(n,o,i)=>{if(!i.consumable.consume(o.item,n.name)){return}const r=i.mapper.toViewElement(o.item);const s=i.writer;const a=AQ(r,e);if(o.attributeNewValue==\"todo\"){const e=!!o.item.getAttribute(\"todoListChecked\");const n=wQ(o.item,s,e,t);const i=s.createContainerElement(\"span\",{class:\"todo-list__label__description\"});const a=s.createRangeIn(r);const c=findNestedList(r);const l=positionAfterUiElements(a.start);const d=c?s.createPositionBefore(c):a.end;const u=s.createRange(l,d);s.addClass(\"todo-list\",r.parent);s.move(u,s.createPositionAt(i,0));s.insert(s.createPositionAt(r,0),n);s.insert(s.createPositionAfter(n),i)}else if(o.attributeOldValue==\"todo\"){const t=_Q(r,e);s.removeClass(\"todo-list\",r.parent);s.remove(a);s.move(s.createRangeIn(t),s.createPositionBefore(t));s.remove(t)}}}function bQ(t){return(e,n,o)=>{if(n.item.getAttribute(\"listType\")!=\"todo\"){return}if(!o.consumable.consume(n.item,\"attribute:todoListChecked\")){return}const{mapper:i,writer:r}=o;const s=!!n.item.getAttribute(\"todoListChecked\");const a=i.toViewElement(n.item);const c=a.getChild(0);const l=wQ(n.item,r,s,t);r.insert(r.createPositionAfter(c),l);r.remove(c)}}function kQ(t){return(e,n)=>{const o=n.modelPosition;const i=o.parent;if(!i.is(\"element\",\"listItem\")||i.getAttribute(\"listType\")!=\"todo\"){return}const r=n.mapper.toViewElement(i);const s=_Q(r,t);if(s){n.viewPosition=n.mapper.findPositionIn(s,o.offset)}}}function wQ(t,e,n,o){const i=e.createUIElement(\"label\",{class:\"todo-list__label\",contenteditable:false},(function(e){const i=createElement(document,\"input\",{type:\"checkbox\",tabindex:\"-1\"});if(n){i.setAttribute(\"checked\",\"checked\")}i.addEventListener(\"change\",(()=>o(t)));const r=this.toDomElement(e);r.appendChild(i);return r}));return i}function AQ(t,e){const n=e.createRangeIn(t);for(const t of n){if(t.item.is(\"uiElement\",\"label\")){return t.item}}}function _Q(t,e){const n=e.createRangeIn(t);for(const t of n){if(t.item.is(\"containerElement\",\"span\")&&t.item.hasClass(\"todo-list__label__description\")){return t.item}}}const CQ=Jc(\"Ctrl+Enter\");class vQ extends(null&&Plugin){static get pluginName(){return\"LegacyTodoListEditing\"}static get requires(){return[LegacyListEditing]}init(){const t=this.editor;const{editing:e,data:n,model:o}=t;o.schema.extend(\"listItem\",{allowAttributes:[\"todoListChecked\"]});o.schema.addAttributeCheck(((t,e)=>{const n=t.last;if(e==\"todoListChecked\"&&n.name==\"listItem\"&&n.getAttribute(\"listType\")!=\"todo\"){return false}}));t.commands.add(\"todoList\",new LegacyListCommand(t,\"todo\"));const i=new LegacyCheckTodoListCommand(t);t.commands.add(\"checkTodoList\",i);t.commands.add(\"todoListCheck\",i);n.downcastDispatcher.on(\"insert:listItem\",dataModelViewInsertion(o),{priority:\"high\"});n.upcastDispatcher.on(\"element:input\",dataViewModelCheckmarkInsertion,{priority:\"high\"});e.downcastDispatcher.on(\"insert:listItem\",modelViewInsertion(o,(t=>this._handleCheckmarkChange(t))),{priority:\"high\"});e.downcastDispatcher.on(\"attribute:listType:listItem\",modelViewChangeType((t=>this._handleCheckmarkChange(t)),e.view));e.downcastDispatcher.on(\"attribute:todoListChecked:listItem\",modelViewChangeChecked((t=>this._handleCheckmarkChange(t))));e.mapper.on(\"modelToViewPosition\",mapModelToViewPosition(e.view));n.mapper.on(\"modelToViewPosition\",mapModelToViewPosition(e.view));this.listenTo(e.view.document,\"arrowKey\",yQ(o,t.locale),{context:\"li\"});this.listenTo(e.view.document,\"keydown\",((e,n)=>{if(getCode(n)===CQ){t.execute(\"checkTodoList\");e.stop()}}),{priority:\"high\"});const r=new Set;this.listenTo(o,\"applyOperation\",((t,e)=>{const n=e[0];if(n.type==\"rename\"&&n.oldName==\"listItem\"){const t=n.position.nodeAfter;if(t.hasAttribute(\"todoListChecked\")){r.add(t)}}else if(n.type==\"changeAttribute\"&&n.key==\"listType\"&&n.oldValue===\"todo\"){for(const t of n.range.getItems()){if(t.hasAttribute(\"todoListChecked\")&&t.getAttribute(\"listType\")!==\"todo\"){r.add(t)}}}}));o.document.registerPostFixer((t=>{let e=false;for(const n of r){t.removeAttribute(\"todoListChecked\",n);e=true}r.clear();return e}))}_handleCheckmarkChange(t){const e=this.editor;const n=e.model;const o=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,\"end\");e.execute(\"checkTodoList\");n.setSelection(o)}))}}function yQ(t,e){return(n,o)=>{const i=getLocalizedArrowKeyCodeDirection(o.keyCode,e.contentLanguageDirection);if(i!=\"left\"){return}const r=t.schema;const s=t.document.selection;if(!s.isCollapsed){return}const a=s.getFirstPosition();const c=a.parent;if(c.name===\"listItem\"&&c.getAttribute(\"listType\")==\"todo\"&&a.isAtStart){const e=r.getNearestSelectionRange(t.createPositionBefore(c),\"backward\");if(e){t.change((t=>t.setSelection(e)))}o.preventDefault();o.stopPropagation();n.stop()}}}class xQ extends(null&&Plugin){static get requires(){return[LegacyTodoListEditing,TodoListUI]}static get pluginName(){return\"LegacyTodoList\"}}class EQ extends(null&&Plugin){static get pluginName(){return\"AdjacentListsSupport\"}init(){const t=this.editor;const e=t.model;e.schema.register(\"listSeparator\",{allowWhere:\"$block\",isBlock:true});t.conversion.for(\"upcast\").add((t=>{t.on(\"element:ol\",DQ());t.on(\"element:ul\",DQ())})).elementToElement({model:\"listSeparator\",view:\"ck-list-separator\"});t.conversion.for(\"editingDowncast\").elementToElement({model:\"listSeparator\",view:{name:\"div\",classes:[\"ck-list-separator\",\"ck-hidden\"]}});t.conversion.for(\"dataDowncast\").elementToElement({model:\"listSeparator\",view:(t,e)=>{const n=e.writer.createContainerElement(\"ck-list-separator\");e.writer.setCustomProperty(\"dataPipeline:transparentRendering\",true,n);n.getFillerOffset=()=>null;return n}})}}function DQ(){return(t,e,n)=>{const o=e.viewItem;const i=o.nextSibling;if(!i){return}if(o.name!==i.name){return}if(!e.modelRange){Object.assign(e,n.convertChildren(e.viewItem,e.modelCursor))}const r=n.writer;const s=r.createElement(\"listSeparator\");if(!n.safeInsert(s,e.modelCursor)){return}const a=n.getSplitParts(s);e.modelRange=r.createRange(e.modelRange.start,r.createPositionAfter(a[a.length-1]));n.updateConversionResult(s,e)}}class IQ extends Ed{static get requires(){return[nK]}static get pluginName(){return\"DocumentList\"}constructor(t){super(t);L(\"plugin-obsolete-documentlist\",{pluginName:\"DocumentList\"})}}class TQ extends Ed{static get requires(){return[UK]}static get pluginName(){return\"DocumentListProperties\"}constructor(t){super(t);L(\"plugin-obsolete-documentlistproperties\",{pluginName:\"DocumentListProperties\"})}}class SQ extends Ed{static get requires(){return[sY]}static get pluginName(){return\"TodoDocumentList\"}constructor(t){super(t);L(\"plugin-obsolete-tododocumentlist\",{pluginName:\"TodoDocumentList\"})}}function BQ(t,e){const n=(n,o,i)=>{if(!i.consumable.consume(o.item,n.name)){return}const r=o.attributeNewValue;const s=i.writer;const a=i.mapper.toViewElement(o.item);const c=[...a.getChildren()].find((t=>t.getCustomProperty(\"media-content\")));s.remove(c);const l=t.getMediaViewElement(s,r,e);s.insert(s.createPositionAt(a,0),l)};return t=>{t.on(\"attribute:url:media\",n)}}function MQ(t,e,n){e.setCustomProperty(\"media\",true,t);return xz(t,e,{label:n})}function PQ(t){const e=t.getSelectedElement();if(e&&NQ(e)){return e}return null}function NQ(t){return!!t.getCustomProperty(\"media\")&&isWidget(t)}function LQ(t,e,n,o){return t.createContainerElement(\"figure\",{class:\"media\"},[e.getMediaViewElement(t,n,o),t.createSlot()])}function zQ(t){const e=t.getSelectedElement();if(e&&e.is(\"element\",\"media\")){return e}return null}function OQ(t,e,n,o){t.change((i=>{const r=i.createElement(\"media\",{url:e});t.insertObject(r,n,null,{setSelection:\"on\",findOptimalPosition:o?\"auto\":undefined})}))}class RQ extends Id{refresh(){const t=this.editor.model;const e=t.document.selection;const n=zQ(e);this.value=n?n.getAttribute(\"url\"):undefined;this.isEnabled=FQ(e)||VQ(e,t)}execute(t){const e=this.editor.model;const n=e.document.selection;const o=zQ(n);if(o){e.change((e=>{e.setAttribute(\"url\",t,o)}))}else{OQ(e,t,n,true)}}}function VQ(t,e){const n=Mz(t,e);let o=n.start.parent;if(o.isEmpty&&!e.schema.isLimit(o)){o=o.parent}return e.schema.checkChild(o,\"media\")}function FQ(t){const e=t.getSelectedElement();return!!e&&e.name===\"media\"}const jQ=' ';const HQ=\"0 0 64 42\";class UQ{constructor(t,e){const n=e.providers;const o=e.extraProviders||[];const i=new Set(e.removeProviders);const r=n.concat(o).filter((t=>{const e=t.name;if(!e){L(\"media-embed-no-provider-name\",{provider:t});return false}return!i.has(e)}));this.locale=t;this.providerDefinitions=r}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t){return new WQ(this.locale)}t=t.trim();for(const e of this.providerDefinitions){const n=e.html;const o=sl(e.url);for(const e of o){const o=this._getUrlMatches(t,e);if(o){return new WQ(this.locale,t,o,n)}}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n){return n}let o=t.replace(/^https?:\\/\\//,\"\");n=o.match(e);if(n){return n}o=o.replace(/^www\\./,\"\");n=o.match(e);if(n){return n}return null}}class WQ{constructor(t,e,n,o){this.url=this._getValidUrl(e);this._locale=t;this._match=n;this._previewRenderer=o}getViewElement(t,e){const n={};let o;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){if(this.url){n[\"data-oembed-url\"]=this.url}if(e.renderForEditingView){n.class=\"ck-media__wrapper\"}const i=this._getPreviewHtml(e);o=t.createRawElement(\"div\",n,((t,e)=>{e.setContentOf(t,i)}))}else{if(this.url){n.url=this.url}o=t.createEmptyElement(e.elementName,n)}t.setCustomProperty(\"media-content\",true,o);return o}_getPreviewHtml(t){if(this._previewRenderer){return this._previewRenderer(this._match)}else{if(this.url&&t.renderForEditingView){return this._getPlaceholderHtml()}return\"\"}}_getPlaceholderHtml(){const t=new yv;const e=this._locale.t;t.content=jQ;t.viewBox=HQ;const n=new EC({tag:\"div\",attributes:{class:\"ck ck-reset_all ck-media__placeholder\"},children:[{tag:\"div\",attributes:{class:\"ck-media__placeholder__icon\"},children:[t]},{tag:\"a\",attributes:{class:\"ck-media__placeholder__url\",target:\"_blank\",rel:\"noopener noreferrer\",href:this.url,\"data-cke-tooltip-text\":e(\"Open media in new tab\")},children:[{tag:\"span\",attributes:{class:\"ck-media__placeholder__url__text\"},children:[this.url]}]}]}).render();return n.outerHTML}_getValidUrl(t){if(!t){return null}if(t.match(/^https?/)){return t}return\"https://\"+t}}var qQ=n(8074);var GQ={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};GQ.insert=\"head\";GQ.singleton=true;var $Q=Ld()(qQ.A,GQ);const KQ=qQ.A.locals||{};class YQ extends Ed{static get pluginName(){return\"MediaEmbedEditing\"}constructor(t){super(t);t.config.define(\"mediaEmbed\",{elementName:\"oembed\",providers:[{name:\"dailymotion\",url:[/^dailymotion\\.com\\/video\\/(\\w+)/,/^dai.ly\\/(\\w+)/],html:t=>{const e=t[1];return''+`\"+\"
\"}},{name:\"spotify\",url:[/^open\\.spotify\\.com\\/(artist\\/\\w+)/,/^open\\.spotify\\.com\\/(album\\/\\w+)/,/^open\\.spotify\\.com\\/(track\\/\\w+)/],html:t=>{const e=t[1];return''+`\"+\"
\"}},{name:\"youtube\",url:[/^(?:m\\.)?youtube\\.com\\/watch\\?v=([\\w-]+)(?:&t=(\\d+))?/,/^(?:m\\.)?youtube\\.com\\/v\\/([\\w-]+)(?:\\?t=(\\d+))?/,/^youtube\\.com\\/embed\\/([\\w-]+)(?:\\?start=(\\d+))?/,/^youtu\\.be\\/([\\w-]+)(?:\\?t=(\\d+))?/],html:t=>{const e=t[1];const n=t[2];return''+`VIDEO \"+\"
\"}},{name:\"vimeo\",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+)/],html:t=>{const e=t[1];return''+`\"+\"
\"}},{name:\"instagram\",url:/^instagram\\.com\\/p\\/(\\w+)/},{name:\"twitter\",url:/^twitter\\.com/},{name:\"googleMaps\",url:[/^google\\.com\\/maps/,/^goo\\.gl\\/maps/,/^maps\\.google\\.com/,/^maps\\.app\\.goo\\.gl/]},{name:\"flickr\",url:/^flickr\\.com/},{name:\"facebook\",url:/^facebook\\.com/}]});this.registry=new UQ(t.locale,t.config.get(\"mediaEmbed\"))}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const o=t.conversion;const i=t.config.get(\"mediaEmbed.previewsInData\");const r=t.config.get(\"mediaEmbed.elementName\");const s=this.registry;t.commands.add(\"mediaEmbed\",new RQ(t));e.register(\"media\",{inheritAllFrom:\"$blockObject\",allowAttributes:[\"url\"]});o.for(\"dataDowncast\").elementToStructure({model:\"media\",view:(t,{writer:e})=>{const n=t.getAttribute(\"url\");return LQ(e,s,n,{elementName:r,renderMediaPreview:!!n&&i})}});o.for(\"dataDowncast\").add(BQ(s,{elementName:r,renderMediaPreview:i}));o.for(\"editingDowncast\").elementToStructure({model:\"media\",view:(t,{writer:e})=>{const o=t.getAttribute(\"url\");const i=LQ(e,s,o,{elementName:r,renderForEditingView:true});return MQ(i,e,n(\"media widget\"))}});o.for(\"editingDowncast\").add(BQ(s,{elementName:r,renderForEditingView:true}));o.for(\"upcast\").elementToElement({view:t=>[\"oembed\",r].includes(t.name)&&t.getAttribute(\"url\")?{name:true}:null,model:(t,{writer:e})=>{const n=t.getAttribute(\"url\");if(s.hasMedia(n)){return e.createElement(\"media\",{url:n})}return null}}).elementToElement({view:{name:\"div\",attributes:{\"data-oembed-url\":true}},model:(t,{writer:e})=>{const n=t.getAttribute(\"data-oembed-url\");if(s.hasMedia(n)){return e.createElement(\"media\",{url:n})}return null}}).add((t=>{const e=(t,e,n)=>{if(!n.consumable.consume(e.viewItem,{name:true,classes:\"media\"})){return}const{modelRange:o,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=o;e.modelCursor=i;const r=sd(o.getItems());if(!r){n.consumable.revert(e.viewItem,{name:true,classes:\"media\"})}};t.on(\"element:figure\",e)}))}}const QQ=/^(?:http(s)?:\\/\\/)?[\\w-]+\\.[\\w-.~:/?#[\\]@!$&'()*+,;=%]+$/;class ZQ extends Ed{static get requires(){return[nR,RB,bR]}static get pluginName(){return\"AutoMediaEmbed\"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;const n=t.plugins.get(\"ClipboardPipeline\");this.listenTo(n,\"inputTransformation\",(()=>{const t=e.selection.getFirstRange();const n=cw.fromPosition(t.start);n.stickiness=\"toPrevious\";const o=cw.fromPosition(t.end);o.stickiness=\"toNext\";e.once(\"change:data\",(()=>{this._embedMediaBetweenPositions(n,o);n.detach();o.detach()}),{priority:\"high\"})}));const o=t.commands.get(\"undo\");o.on(\"execute\",(()=>{if(this._timeoutId){oc.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:\"high\"})}_embedMediaBetweenPositions(t,e){const n=this.editor;const o=n.plugins.get(YQ).registry;const i=new mp(t,e);const r=i.getWalker({ignoreElementEnd:true});let s=\"\";for(const t of r){if(t.item.is(\"$textProxy\")){s+=t.item.data}}s=s.trim();if(!s.match(QQ)){i.detach();return}if(!o.hasMedia(s)){i.detach();return}const a=n.commands.get(\"mediaEmbed\");if(!a.isEnabled){i.detach();return}this._positionToInsert=cw.fromPosition(t);this._timeoutId=oc.window.setTimeout((()=>{n.model.change((t=>{this._timeoutId=null;t.remove(i);i.detach();let e=null;if(this._positionToInsert.root.rootName!==\"$graveyard\"){e=this._positionToInsert}OQ(n.model,s,e,false);this._positionToInsert.detach();this._positionToInsert=null}));n.plugins.get(RB).requestUndoOnBackspace()}),100)}}var JQ=n(7269);var XQ={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};XQ.insert=\"head\";XQ.singleton=true;var tZ=Ld()(JQ.A,XQ);const eZ=JQ.A.locals||{};class nZ extends ov{constructor(t,e){super(e);const n=e.t;this.focusTracker=new ad;this.keystrokes=new cd;this.set(\"mediaURLInputValue\",\"\");this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n(\"Save\"),CC.check,\"ck-button-save\");this.saveButtonView.type=\"submit\";this.saveButtonView.bind(\"isEnabled\").to(this,\"mediaURLInputValue\",(t=>!!t));this.cancelButtonView=this._createButton(n(\"Cancel\"),CC.cancel,\"ck-button-cancel\",\"cancel\");this._focusables=new vC;this._focusCycler=new Fy({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});this._validators=t;this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-media-form\",\"ck-responsive-form\"],tabindex:\"-1\"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render();i({view:this});const t=[this.urlInputView,this.saveButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",e);this.keystrokes.set(\"arrowleft\",e);this.keystrokes.set(\"arrowup\",e);this.keystrokes.set(\"arrowdown\",e)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e){this.urlInputView.errorText=e;return false}}return true}resetFormStatus(){this.urlInputView.errorText=null;this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t;const e=new py(this.locale,Vx);const n=e.fieldView;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.on(\"input\",(()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault;this.mediaURLInputValue=n.element.value.trim()}));return e}_createButton(t,e,n,o){const i=new Sv(this.locale);i.set({label:t,icon:e,tooltip:true});i.extendTemplate({attributes:{class:n}});if(o){i.delegate(\"execute\").to(this,o)}return i}}const oZ=' ';class iZ extends Ed{static get requires(){return[YQ]}static get pluginName(){return\"MediaEmbedUI\"}init(){const t=this.editor;const e=t.commands.get(\"mediaEmbed\");t.ui.componentFactory.add(\"mediaEmbed\",(t=>{const n=xx(t);this._setUpDropdown(n,e);return n}))}_setUpDropdown(t,n){const o=this.editor;const i=o.t;const r=t.buttonView;const s=o.plugins.get(YQ).registry;t.once(\"change:isOpen\",(()=>{const i=new(e(nZ))(rZ(o.t,s),o.locale);t.panelView.children.add(i);r.on(\"open\",(()=>{i.disableCssTransitions();i.url=n.value||\"\";i.urlInputView.fieldView.select();i.enableCssTransitions()}),{priority:\"low\"});t.on(\"submit\",(()=>{if(i.isValid()){o.execute(\"mediaEmbed\",i.url);o.editing.view.focus()}}));t.on(\"change:isOpen\",(()=>i.resetFormStatus()));t.on(\"cancel\",(()=>{o.editing.view.focus()}));i.delegate(\"submit\",\"cancel\").to(t);i.urlInputView.fieldView.bind(\"value\").to(n,\"value\");i.urlInputView.bind(\"isEnabled\").to(n,\"isEnabled\")}));t.bind(\"isEnabled\").to(n);r.set({label:i(\"Insert media\"),icon:oZ,tooltip:true})}}function rZ(t,e){return[e=>{if(!e.url.length){return t(\"The URL must not be empty.\")}},n=>{if(!e.hasMedia(n.url)){return t(\"This media URL is not supported.\")}}]}var sZ=n(9724);var aZ={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};aZ.insert=\"head\";aZ.singleton=true;var cZ=Ld()(sZ.A,aZ);const lZ=sZ.A.locals||{};class dZ extends Ed{static get requires(){return[YQ,iZ,ZQ,uO]}static get pluginName(){return\"MediaEmbed\"}}class uZ extends(null&&Plugin){static get requires(){return[WidgetToolbarRepository]}static get pluginName(){return\"MediaEmbedToolbar\"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(WidgetToolbarRepository);n.register(\"mediaEmbed\",{ariaLabel:e(\"Media toolbar\"),items:t.config.get(\"mediaEmbed.toolbar\")||[],getRelatedElement:getSelectedMediaViewWidget})}}function hZ(t){const e=parseFloat(t);if(t.endsWith(\"pt\")){return gZ(e*96/72)}else if(t.endsWith(\"pc\")){return gZ(e*12*96/72)}else if(t.endsWith(\"in\")){return gZ(e*96)}else if(t.endsWith(\"cm\")){return gZ(e*96/2.54)}else if(t.endsWith(\"mm\")){return gZ(e/10*96/2.54)}return t}function mZ(t){return t!==undefined&&t.endsWith(\"px\")}function gZ(t){return t.toFixed(2).replace(/\\.?0+$/,\"\")+\"px\"}function fZ(t,e,n){if(!t.childCount){return}const o=new uA(t.document);const i=bZ(t,o);if(!i.length){return}const r={};const s=[];for(const t of i){if(t.indent!==undefined){if(!kZ(t)){s.length=0}const i=`${t.id}:${t.indent}`;const a=Math.min(t.indent-1,s.length);if(as.length-1||s[a].listElement.name!=c.type){if(a==0&&c.type==\"ol\"&&t.id!==undefined&&r[i]){c.startIndex=r[i]}const e=yZ(c,o,n);if(mZ(t.marginLeft)&&(a==0||mZ(s[a-1].marginLeft))){let n=t.marginLeft;if(a>0){n=gZ(parseFloat(n)-parseFloat(s[a-1].marginLeft))}o.setStyle(\"padding-left\",n,e)}if(s.length==0){const n=t.element.parent;const i=n.getChildIndex(t.element)+1;o.insertChild(i,e,n)}else{const t=s[a-1].listItemElements;o.appendChild(e,t[t.length-1])}s[a]={...t,listElement:e,listItemElements:[]};if(a==0&&t.id!==undefined){r[i]=c.startIndex||1}}}const c=t.element.name==\"li\"?t.element:o.createElement(\"li\");o.appendChild(c,s[a].listElement);s[a].listItemElements.push(c);if(a==0&&t.id!==undefined){r[i]++}if(t.element!=c){o.appendChild(t.element,c)}EZ(t.element,o);o.removeStyle(\"text-indent\",t.element);o.removeStyle(\"margin-left\",t.element)}else{const e=s.find((e=>e.marginLeft==t.marginLeft));if(e){const n=e.listItemElements;o.appendChild(t.element,n[n.length-1]);o.removeStyle(\"margin-left\",t.element)}else{s.length=0}}}}function pZ(t,e){for(const n of e.createRangeIn(t)){const t=n.item;if(t.is(\"element\",\"li\")){const n=t.getChild(0);if(n&&n.is(\"element\",\"p\")){e.unwrapElement(n)}}}}function bZ(t,e){const n=e.createRangeIn(t);const o=[];const i=new Set;for(const t of n.getItems()){if(!t.is(\"element\")||!t.name.match(/^(p|h\\d+|li|div)$/)){continue}let e=DZ(t);if(e!==undefined&&parseFloat(e)==0&&!Array.from(t.getClassNames()).find((t=>t.startsWith(\"MsoList\")))){e=undefined}if(t.hasStyle(\"mso-list\")||e!==undefined&&i.has(e)){const n=xZ(t);o.push({element:t,id:n.id,order:n.order,indent:n.indent,marginLeft:e});if(e!==undefined){i.add(e)}}else{i.clear()}}return o}function kZ(t){const e=t.element.previousSibling;if(!e){return wZ(t.element.parent)}return wZ(e)}function wZ(t){return t.is(\"element\",\"ol\")||t.is(\"element\",\"ul\")}function AZ(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\\\s*({[^}]*)`,\"gi\");const o=/mso-level-number-format:([^;]{0,100});/gi;const i=/mso-level-start-at:\\s{0,100}([0-9]{0,10})\\s{0,100};/gi;const r=new RegExp(`@list\\\\s+l${t.id}:level\\\\d\\\\s*{[^{]*mso-level-text:\"%\\\\d\\\\\\\\.`,\"gi\");const s=new RegExp(`@list l${t.id}:level\\\\d\\\\s*{[^{]*mso-level-number-format:`,\"gi\");const a=r.exec(e);const c=s.exec(e);const l=a&&!c;const d=n.exec(e);let u=\"decimal\";let h=\"ol\";let m=null;if(d&&d[1]){const e=o.exec(d[1]);if(e&&e[1]){u=e[1].trim();h=u!==\"bullet\"&&u!==\"image\"?\"ol\":\"ul\"}if(u===\"bullet\"){const e=_Z(t.element);if(e){u=e}}else{const t=i.exec(d[1]);if(t&&t[1]){m=parseInt(t[1])}}if(l){h=\"ol\"}}return{type:h,startIndex:m,style:vZ(u),isLegalStyleList:l}}function _Z(t){if(t.name==\"li\"&&t.parent.name==\"ul\"&&t.parent.hasAttribute(\"type\")){return t.parent.getAttribute(\"type\")}const e=CZ(t);if(!e){return null}const n=e._data;if(n===\"o\"){return\"circle\"}else if(n===\"\u00B7\"){return\"disc\"}else if(n===\"\u00A7\"){return\"square\"}return null}function CZ(t){if(t.getChild(0).is(\"$text\")){return null}for(const e of t.getChildren()){if(!e.is(\"element\",\"span\")){continue}const t=e.getChild(0);if(!t){continue}if(t.is(\"$text\")){return t}return t.getChild(0)}return null}function vZ(t){if(t.startsWith(\"arabic-leading-zero\")){return\"decimal-leading-zero\"}switch(t){case\"alpha-upper\":return\"upper-alpha\";case\"alpha-lower\":return\"lower-alpha\";case\"roman-upper\":return\"upper-roman\";case\"roman-lower\":return\"lower-roman\";case\"circle\":case\"disc\":case\"square\":return t;default:return null}}function yZ(t,e,n){const o=e.createElement(t.type);if(t.style){e.setStyle(\"list-style-type\",t.style,o)}if(t.startIndex&&t.startIndex>1){e.setAttribute(\"start\",t.startIndex,o)}if(t.isLegalStyleList&&n){e.addClass(\"legal-list\",o)}return o}function xZ(t){const e=t.getStyle(\"mso-list\");if(e===undefined){return{}}const n=e.match(/(^|\\s{1,100})l(\\d+)/i);const o=e.match(/\\s{0,100}lfo(\\d+)/i);const i=e.match(/\\s{0,100}level(\\d+)/i);if(n&&o&&i){return{id:n[2],order:o[1],indent:parseInt(i[1])}}return{indent:1}}function EZ(t,e){const n=new iu({name:\"span\",styles:{\"mso-list\":\"Ignore\"}});const o=e.createRangeIn(t);for(const t of o){if(t.type===\"elementStart\"&&n.match(t.item)){e.remove(t.item)}}}function DZ(t){const e=t.getStyle(\"margin-left\");if(e===undefined||e.endsWith(\"px\")){return e}return hZ(e)}function IZ(t,e){if(!t.childCount){return}const n=new uA(t.document);const o=SZ(t,n);BZ(o,t,n);PZ(o,t,n);MZ(t,n);const i=NZ(t,n);if(i.length){zZ(i,LZ(e),n)}}function TZ(t){return btoa(t.match(/\\w{2}/g).map((t=>String.fromCharCode(parseInt(t,16)))).join(\"\"))}function SZ(t,e){const n=e.createRangeIn(t);const o=new iu({name:/v:(.+)/});const i=[];for(const t of n){if(t.type!=\"elementStart\"){continue}const e=t.item;const n=e.previousSibling;const r=n&&n.is(\"element\")?n.name:null;const s=[\"Chart\"];const a=o.match(e);const c=e.getAttribute(\"o:gfxdata\");const l=r===\"v:shapetype\";const d=c&&s.some((t=>e.getAttribute(\"id\").includes(t)));if(a&&c&&!l&&!d){i.push(t.item.getAttribute(\"id\"))}}return i}function BZ(t,e,n){const o=n.createRangeIn(e);const i=new iu({name:\"img\"});const r=[];for(const e of o){if(e.item.is(\"element\")&&i.match(e.item)){const n=e.item;const o=n.getAttribute(\"v:shapes\")?n.getAttribute(\"v:shapes\").split(\" \"):[];if(o.length&&o.every((e=>t.indexOf(e)>-1))){r.push(n)}else if(!n.getAttribute(\"src\")){r.push(n)}}}for(const t of r){n.remove(t)}}function MZ(t,e){const n=e.createRangeIn(t);const o=new iu({name:/v:(.+)/});const i=[];for(const t of n){if(t.type==\"elementStart\"&&o.match(t.item)){i.push(t.item)}}for(const t of i){e.remove(t)}}function PZ(t,e,n){const o=n.createRangeIn(e);const i=[];for(const e of o){if(e.type==\"elementStart\"&&e.item.is(\"element\",\"v:shape\")){const n=e.item.getAttribute(\"id\");if(t.includes(n)){continue}if(!r(e.item.parent.getChildren(),n)){i.push(e.item)}}}for(const t of i){const e={src:s(t)};if(t.hasAttribute(\"alt\")){e.alt=t.getAttribute(\"alt\")}const o=n.createElement(\"img\",e);n.insertChild(t.index+1,o,t.parent)}function r(t,e){for(const n of t){if(n.is(\"element\")){if(n.name==\"img\"&&n.getAttribute(\"v:shapes\")==e){return true}if(r(n.getChildren(),e)){return true}}}return false}function s(t){for(const e of t.getChildren()){if(e.is(\"element\")&&e.getAttribute(\"src\")){return e.getAttribute(\"src\")}}}}function NZ(t,e){const n=e.createRangeIn(t);const o=new iu({name:\"img\"});const i=[];for(const t of n){if(t.item.is(\"element\")&&o.match(t.item)){if(t.item.getAttribute(\"src\").startsWith(\"file://\")){i.push(t.item)}}}return i}function LZ(t){if(!t){return[]}const e=/{\\\\pict[\\s\\S]+?\\\\bliptag-?\\d+(\\\\blipupi-?\\d+)?({\\\\\\*\\\\blipuid\\s?[\\da-fA-F]+)?[\\s}]*?/;const n=new RegExp(\"(?:(\"+e.source+\"))([\\\\da-fA-F\\\\s]+)\\\\}\",\"g\");const o=t.match(n);const i=[];if(o){for(const t of o){let n=false;if(t.includes(\"\\\\pngblip\")){n=\"image/png\"}else if(t.includes(\"\\\\jpegblip\")){n=\"image/jpeg\"}if(n){i.push({hex:t.replace(e,\"\").replace(/[^\\da-fA-F]/g,\"\"),type:n})}}}return i}function zZ(t,e,n){if(t.length===e.length){for(let o=0;o/i;const VZ=/xmlns:o=\"urn:schemas-microsoft-com/i;class FZ{constructor(t,e=false){this.document=t;this.hasMultiLevelListPlugin=e}isActive(t){return RZ.test(t)||VZ.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;fZ(e,n,this.hasMultiLevelListPlugin);IZ(e,t.dataTransfer.getData(\"text/rtf\"));OZ(e);t.content=e}}function jZ(t,e){for(const n of t.getChildren()){if(n.is(\"element\",\"b\")&&n.getStyle(\"font-weight\")===\"normal\"){const o=t.getChildIndex(n);e.remove(n);e.insertChild(o,n.getChildren(),t)}}}function HZ(t,e){const n=new Oh(e.document.stylesProcessor);const o=new Fm(n,{renderingMode:\"data\"});const i=o.blockElements;const r=o.inlineObjectElements;const s=[];for(const n of e.createRangeIn(t)){const t=n.item;if(t.is(\"element\",\"br\")){const n=UZ(t,\"forward\",e,{blockElements:i,inlineObjectElements:r});const o=UZ(t,\"backward\",e,{blockElements:i,inlineObjectElements:r});const a=WZ(n,i);const c=WZ(o,i);if(c||a){s.push(t)}}}for(const t of s){if(t.hasClass(\"Apple-interchange-newline\")){e.remove(t)}else{e.replace(t,e.createElement(\"p\"))}}}function UZ(t,e,n,{blockElements:o,inlineObjectElements:i}){let r=n.createPositionAt(t,e==\"forward\"?\"after\":\"before\");r=r.getLastMatchingPosition((({item:t})=>t.is(\"element\")&&!o.includes(t.name)&&!i.includes(t.name)),{direction:e});return e==\"forward\"?r.nodeAfter:r.nodeBefore}function WZ(t,e){return!!t&&t.is(\"element\")&&e.includes(t.name)}const qZ=/id=(\"|')docs-internal-guid-[-0-9a-f]+(\"|')/i;class GZ{constructor(t){this.document=t}isActive(t){return qZ.test(t)}execute(t){const e=new uA(this.document);const{body:n}=t._parsedData;jZ(n,e);pZ(n,e);HZ(n,e);t.content=n}}function $Z(t,e){for(const n of t.getChildren()){if(n.is(\"element\",\"table\")&&n.hasAttribute(\"xmlns\")){e.removeAttribute(\"xmlns\",n)}}}function KZ(t,e){for(const n of t.getChildren()){if(n.is(\"element\",\"google-sheets-html-origin\")){const o=t.getChildIndex(n);e.remove(n);e.insertChild(o,n.getChildren(),t)}}}function YZ(t,e){for(const n of t.getChildren()){if(n.is(\"element\",\"table\")&&n.getStyle(\"width\")===\"0px\"){e.removeStyle(\"width\",n)}}}function QZ(t,e){for(const n of Array.from(t.getChildren())){if(n.is(\"element\",\"style\")){e.remove(n)}}}const ZZ=/[^\\S\\r\\n]*?)[\\r\\n]+([^\\S\\r\\n]*<\\/span>)/g,\"$1$2\").replace(/<\\/span>/g,\"\").replace(/()[\\r\\n]+(<\\/span>)/g,\"$1 $2\").replace(/ <\\//g,\"\u00A0\").replace(/ <\\/o:p>/g,\"\u00A0 \").replace(/( |\\u00A0)<\\/o:p>/g,\"\").replace(/>([^\\S\\r\\n]*[\\r\\n]\\s*)<\")}function tJ(t){t.querySelectorAll(\"span[style*=spacerun]\").forEach((t=>{const e=t;const n=e.innerText.length||0;e.innerText=Array(n+1).join(\"\u00A0 \").substr(0,n)}))}function eJ(t){return t.replace(/(\\s+)<\\/span>/g,((t,e)=>e.length===1?\" \":Array(e.length+1).join(\"\u00A0 \").substr(0,e.length)))}function nJ(t,e){const n=new DOMParser;t=t.replace(/\n\t\n\n\n`;\n\n\nexport interface InitializeAppOptions {\n readonly level: number;\n readonly keywordLanguage: string;\n /**\n * The URL root where static content is hosted\n */\n readonly staticRoot?: string;\n}\n\n/**\n * Initialize \"global\" parts of the main app\n */\nexport function initializeApp(options: InitializeAppOptions) {\n theLevel = options.level;\n theKeywordLanguage = options.keywordLanguage;\n theStaticRoot = options.staticRoot ?? '';\n // When we are in Alpha or in dev the static root already points to an internal directory\n theStaticRoot = theStaticRoot === '/' ? '' : theStaticRoot;\n initializeCopyToClipboard();\n\n // Close the dropdown menu if the user clicks outside of it\n $(document).on(\"click\", function(event){\n // The following is not needed anymore, but it saves the next for loop if the click is not for dropdown.\n if (!$(event.target).closest(\".dropdown\").length) {\n $('.dropdown_menu').slideUp(\"medium\");\n $('.cheatsheet_menu').slideUp(\"medium\");\n return;\n }\n\n const allDropdowns = $('.dropdown_menu')\n for (const dd of allDropdowns) {\n // find the closest dropdown button (element) that initiated the event\n const c = $(dd).closest('.dropdown')[0]\n // if the click event target is not within or close to the container, slide up the dropdown menu\n if (!$(event.target).closest(c).length) {\n $(dd).slideUp('fast');\n }\n }\n });\n\n $('#search_language').on('keyup', function() {\n let search_query = ($('#search_language').val() as string).toLowerCase();\n $('.language').each(function(){\n let languageName = $(this).html().toLowerCase();\n let englishName = $(this).attr('data-english');\n if (englishName !== undefined && (languageName.includes(search_query) || englishName.toLowerCase().includes(search_query))) {\n $(this).show();\n } else {\n $(this).hide();\n $('#add_language_btn').show();\n }\n });\n });\n\n // All input elements with data-autosubmit=\"true\" automatically submit their enclosing form\n $('*[data-autosubmit=\"true\"]').on('change', (ev) => {\n $(ev.target).closest('form').trigger('submit');\n });\n\n initializeLoginLinks();\n\n initializeActivity();\n}\n\nexport interface InitializeCodePageOptions {\n readonly page: 'code' | 'tryit';\n readonly level: number;\n readonly lang: string;\n readonly adventures: Adventure[];\n readonly initial_tab: string;\n readonly current_user_name?: string;\n readonly suppress_save_and_load?: boolean;\n readonly enforce_developers_mode?: boolean;\n}\n\n/**\n * Initialize the actual code page\n */\nexport function initializeCodePage(options: InitializeCodePageOptions) {\n theUserIsLoggedIn = !!options.current_user_name;\n if (theUserIsLoggedIn) {\n theLocalSaveWarning.setLoggedIn();\n }\n\n theAdventures = Object.fromEntries((options.adventures ?? []).map(a => [a.short_name, a]));\n\n // theLevel will already have been set during initializeApp\n if (theLevel != options.level) {\n throw new Error(`initializeApp set level to ${JSON.stringify(theLevel)} but initializeCodePage sets it to ${JSON.stringify(options.level)}`);\n }\n theLanguage = options.lang;\n\n // *** EDITOR SETUP ***\n const $editor = $('#editor');\n if ($editor.length) {\n const dir = $('body').attr('dir');\n theGlobalEditor = editorCreator.initializeEditorWithGutter($editor, EditorType.MAIN, dir);\n attachMainEditorEvents(theGlobalEditor);\n initializeDebugger({\n editor: theGlobalEditor,\n level: theLevel,\n language: theLanguage,\n keywordLanguage: theKeywordLanguage,\n });\n }\n\n const anchor = window.location.hash.substring(1);\n\n const validAnchor = [...Object.keys(theAdventures), 'parsons', 'quiz'].includes(anchor) ? anchor : undefined;\n let tabs: any;\n const isTryItPage = options.page == 'tryit';\n if (isTryItPage) {\n tabs = new IndexTabs({\n // If we're opening an adventure from the beginning (either through a link to /hedy/adventures or through a saved program for an adventure), we click on the relevant tab.\n // We click on `level` to load a program associated with level, if any.\n initialTab: validAnchor ?? options.initial_tab,\n level: options.level\n });\n } else {\n tabs = new Tabs({\n // If we're opening an adventure from the beginning (either through a link to /hedy/adventures or through a saved program for an adventure), we click on the relevant tab.\n // We click on `level` to load a program associated with level, if any.\n initialTab: validAnchor ?? options.initial_tab,\n });\n }\n\n tabs.on('beforeSwitch', () => {\n // If there are unsaved changes, we warn the user before changing tabs.\n saveIfNecessary();\n });\n\n tabs.on('afterSwitch', (ev: SwitchTabsEvent | SwitchAdventureEvent) => {\n currentTab = ev.newTab;\n const adventure = theAdventures[currentTab];\n\n if (!options.suppress_save_and_load) {\n // Load initial code from local storage, if available\n const programFromLs = localLoad(currentTabLsKey());\n // if we are in raw (used in slides) we don't want to load from local storage, we always want to show startcode\n if (programFromLs && adventure) {\n adventure.editor_contents = programFromLs.code;\n adventure.save_name = programFromLs.saveName;\n adventure.save_info = 'local-storage';\n }\n }\n reconfigurePageBasedOnTab(isTryItPage, options.enforce_developers_mode);\n checkNow();\n theLocalSaveWarning.switchTab();\n });\n\n initializeSpeech(options.page === 'tryit');\n\n // Share/hand in modals\n $('#share_program_button').on('click', () => $('#share_modal').show());\n $('#hand_in_button').on('click', () => $('#hand_in_modal').show());\n initializeShareProgramButtons();\n initializeHandInButton();\n\n if (options.suppress_save_and_load) {\n disableAutomaticSaving();\n }\n\n // Save if user navigates away\n window.addEventListener('beforeunload', () => saveIfNecessary(), { capture: true });\n\n // Save if program name is changed\n $('#program_name').on('blur', () => saveIfNecessary());\n\n // Scroll to this level in the adventures side pane\n document.getElementById(`level_${options.level}_header`)?.scrollIntoView({block: 'center'});\n}\n\nfunction attachMainEditorEvents(editor: HedyEditor) {\n\n editor.on('change', () => {\n theLocalSaveWarning.setProgramLength(theGlobalEditor.contents.split('\\n').length);\n });\n\n // If prompt is shown and user enters text in the editor, hide the prompt.\n editor.on('change', function() {\n if (askPromptOpen) {\n stopit();\n theGlobalEditor.focus(); // Make sure the editor has focus, so we can continue typing\n }\n if ($('#ask_modal').is(':visible')) $('#inline_modal').hide();\n askPromptOpen = false;\n $('#runit').css('background-color', '');\n theGlobalEditor.clearErrors();\n theGlobalEditor.clearIncorrectLines();\n //removing the debugging state when loading in the editor\n stopDebug();\n });\n\n editor.on('click', (event: MouseEvent) => {\n editor.skipFaultyHandler(event);\n });\n\n // *** KEYBOARD SHORTCUTS ***\n let altPressed: boolean | undefined;\n // alt is 18, enter is 13\n window.addEventListener ('keydown', function (ev) {\n const keyCode = ev.keyCode;\n if (keyCode === 18) {\n altPressed = true;\n return;\n }\n if (keyCode === 13 && altPressed) {\n if (!theLevel || !theLanguage) {\n throw new Error('Oh no');\n }\n runit (theLevel, theLanguage, false, \"\", \"run\",function () {\n $ ('#output').focus ();\n });\n }\n // We don't use jquery because it doesn't return true for this equality check.\n if (keyCode === 37 && document.activeElement === document.getElementById ('output')) {\n theGlobalEditor.focus();\n theGlobalEditor.moveCursorToEndOfFile();\n }\n });\n window.addEventListener ('keyup', function (ev) {\n triggerAutomaticSave();\n const keyCode = ev.keyCode;\n if (keyCode === 18) {\n altPressed = false;\n return;\n }\n });\n}\n\nexport interface InitializeViewProgramPageOptions {\n readonly page: 'view-program';\n readonly level: number;\n readonly lang: string;\n readonly code: string;\n}\n\nexport function initializeViewProgramPage(options: InitializeViewProgramPageOptions) {\n theLevel = options.level;\n theLanguage = options.lang;\n\n // We need to enable the main editor for the program page as well\n const dir = $('body').attr('dir');\n theGlobalEditor = editorCreator.initializeEditorWithGutter($('#editor'), EditorType.MAIN, dir);\n attachMainEditorEvents(theGlobalEditor);\n theGlobalEditor.contents = options.code;\n initializeDebugger({\n editor: theGlobalEditor,\n level: theLevel,\n language: theLanguage,\n keywordLanguage: theKeywordLanguage,\n });\n}\n\nexport function initializeHighlightedCodeBlocks(where: Element, initializeAll?: boolean) {\n const dir = $(\"body\").attr(\"dir\");\n initializeParsons();\n // Any code blocks we find inside 'turn-pre-into-ace' get turned into\n // read-only editors (for syntax highlighting)\n for (const container of $(where).find('.turn-pre-into-ace').get()) {\n for (const preview of $(container).find('pre').get()) {\n $(preview)\n .addClass('relative text-lg rounded overflow-x-hidden')\n // We set the language of the editor to the current keyword_language -> needed when copying to main editor\n .attr('data-lang', theKeywordLanguage);\n // If the request comes from HTMX initialize all directly\n if (initializeAll) {\n convertPreviewToEditor(preview, container, dir)\n } else {\n // Only turn into an editor if the editor scrolls into view\n // Otherwise, the teacher manual Frequent Mistakes page is SUPER SLOW to load.\n onElementBecomesVisible(preview, () => {\n convertPreviewToEditor(preview, container, dir)\n });\n }\n }\n }\n}\n\nfunction convertPreviewToEditor(preview: HTMLPreElement, container: HTMLElement, dir?: string) {\n const codeNode = preview.querySelector('code')\n let code: string;\n // In case it has a child node\n if (codeNode) {\n codeNode.hidden = true\n code = codeNode.innerText\n } else {\n code = preview.textContent || \"\";\n preview.textContent = \"\";\n }\n\n // Create this example editor\n const exampleEditor = editorCreator.initializeReadOnlyEditor(preview, dir);\n // Strip trailing newline, it renders better\n exampleEditor.contents = code;\n exampleEditor.contents = exampleEditor.contents.trimEnd();\n // And add an overlay button to the editor if requested via a show-copy-button class, either\n // on the itself OR on the element that has the '.turn-pre-into-ace' class.\n if ($(preview).hasClass('show-copy-button') || $(container).hasClass('show-copy-button')) {\n const adventure = container.closest('[data-tabtarget]')?.getAttribute('data-tabtarget');\n const buttonContainer = $('').addClass('absolute ltr:right-0 rtl:left-0 top-0 mx-1 mt-1').appendTo(preview);\n let symbol = \"\u21E5\";\n if (dir === \"rtl\") {\n symbol = \"\u21E4\";\n }\n $('
').css({ fontFamily: 'sans-serif' }).addClass('yellow-btn').attr('data-cy', `paste_example_code_${adventure}`).text(symbol).appendTo(buttonContainer).click(function() {\n if (!theGlobalEditor?.isReadOnly) {\n theGlobalEditor.contents = exampleEditor.contents + '\\n';\n }\n update_view(\"main_editor_keyword_selector\", $(preview).attr('data-lang'));\n stopit();\n clearOutput();\n });\n }\n\n // Try to find the level for this code block. We first look at the 'level'\n // attribute on the element itself. This is to preserve legacy\n // behavior, I'm not sure where this is still used. The modern way is to look\n // for 'data-level' attributes on the element itself and any containing element.\n // Same for 'lang' and 'data-lang'.\n const levelStr = $(preview).attr('level') ?? $(preview).closest('[data-level]').attr('data-level');\n const kwlang = $(preview).attr('lang') ?? $(preview).closest('[data-kwlang]').attr('data-kwlang');\n if (levelStr) {\n const level = parseInt(levelStr, 10);\n exampleEditor.setHighlighterForLevel(level, kwlang ?? 'en');\n }\n}\n\nexport function getHighlighter(level: number) {\n return `ace/mode/level${level}`;\n}\n\nexport function stopit() {\n // We bucket-fix stop the current program by setting the run limit to 1ms\n Sk.execLimit = 1;\n clearTimeouts();\n $('#stopit').hide();\n $('#runit').show();\n $('#ask_modal').hide();\n document.onkeydown = null;\n $('#keybinding_modal').hide();\n $('#sleep_modal').hide();\n\n if (sleepRunning) {\n sleepRunning = false;\n }\n\n askPromptOpen = false;\n}\n\nfunction clearOutput() {\n const outputDiv = $('#output');\n //Saving the variable button because sk will overwrite the output div\n const variableButton = outputDiv.find('#variable_button');\n const variables = outputDiv.find('#variables');\n outputDiv.empty();\n\n outputDiv.addClass(\"overflow-auto\");\n outputDiv.append(variableButton);\n outputDiv.append(variables);\n error.hide();\n success.hide();\n\n // Clear the user created buttons.\n const buttonsDiv = $('#dynamic_buttons');\n buttonsDiv.empty();\n buttonsDiv.hide();\n}\n\nexport async function runit(level: number, lang: string, raw: boolean, disabled_prompt: string, run_type: \"run\" | \"debug\" | \"continue\", cb: () => void) {\n // Copy 'currentTab' into a variable, so that our event handlers don't mess up\n // if the user changes tabs while we're waiting for a response\n const adventureName = currentTab;\n\n if (askPromptOpen) {\n // If there is no message -> don't show a prompt\n if (disabled_prompt) {\n return modal.notifyError(disabled_prompt);\n }\n return;\n }\n\n theLocalSaveWarning.clickRun();\n\n // We set the run limit to 1ms -> make sure that the previous programs stops (if there is any)\n Sk.execLimit = 1;\n $('#runit').hide();\n $('#stopit').show();\n $('#save_files_container').hide();\n\n if (run_type !== 'continue') {\n clearOutput();\n }\n\n try {\n var editor = theGlobalEditor;\n var code = \"\";\n if ($('#parsons_container').is(\":visible\")) {\n code = get_parsons_code();\n // We return no code if all lines are empty or there is a mistake -> clear errors and do nothing\n if (!code) {\n editor.clearErrors();\n stopit();\n return;\n } else {\n // Add the onclick on the button -> only show if there is another exercise to load (set with an onclick)\n if ($('#next_parson_button').attr('onclick')) {\n $('#next_parson_button').show();\n }\n }\n } else {\n code = get_active_and_trimmed_code();\n if (code.length == 0) {\n editor.clearErrors()\n stopit();\n return;\n }\n }\n\n editor.clearErrors()\n removeBulb();\n // console.log('Original program:\\n', code);\n\n const adventure = theAdventures[adventureName];\n let program_data;\n\n if (run_type === 'run' || run_type === 'debug') {\n try {\n cancelPendingAutomaticSave();\n let data = {\n level: `${level}`,\n code: code,\n lang: lang,\n skip_faulty: false,\n is_debug: run_type === 'debug',\n read_aloud : !!$('#speak_dropdown').val(),\n adventure_name: adventureName,\n short_name: adventure ? adventure.short_name : undefined,\n raw: raw,\n\n // Save under an existing id if this field is set\n program_id: isServerSaveInfo(adventure?.save_info) ? adventure.save_info.id : undefined,\n save_name: saveNameFromInput(),\n };\n\n let response = await postJson('/parse', data);\n program_data = response;\n console.log('Response', response);\n if (response.Warning && $('#editor').is(\":visible\")) {\n //storeFixedCode(response, level);\n error.showWarning(response.Warning);\n }\n\n\n if (adventure && response.save_info) {\n adventure.save_info = response.save_info;\n adventure.editor_contents = code;\n }\n\n if (response.Error) {\n error.show(\"\", response.Error);\n if (response.Location && response.Location[0] != \"?\") {\n //storeFixedCode(response, level);\n // Location can be either [row, col] or just [row].\n theGlobalEditor.highlightError(response.Location[0], response.Location[1]);\n }\n $('#stopit').hide();\n $('#runit').show();\n return;\n }\n } catch (e: any) {\n console.error(e);\n if (e.internetError) {\n error.show(ClientMessages['Connection_error'], ClientMessages['CheckInternet']);\n } else {\n error.show(ClientMessages['Other_error'], ClientMessages['ServerError']);\n }\n }\n } else {\n program_data = theGlobalDebugger.get_program_data();\n }\n\n runPythonProgram(program_data.Code, program_data.source_map, program_data.has_turtle, program_data.has_pressed, program_data.has_sleep, program_data.has_clear, program_data.has_music, program_data.Warning, program_data.variables, program_data.is_modified ,cb, run_type).catch(function(err: any) {\n // The err is null if we don't understand it -> don't show anything\n if (err != null) {\n error.show(ClientMessages['Execute_error'], err.message);\n reportClientError(level, code, err.message);\n }\n });\n\n\n } catch (e: any) {\n modal.notifyError(e.responseText);\n }\n}\n\nexport async function saveMachineFiles() {\n const response = await postJson('/generate_machine_files', {\n level: theLevel,\n code: get_active_and_trimmed_code(),\n lang: theLanguage,\n });\n\n if (response.filename) {\n // Download the file\n window.location.replace('/download_machine_files/' + response.filename);\n }\n}\n\nfunction removeBulb(){\n const repair_button = $('#repair_button');\n repair_button.hide();\n}\n\n/**\n * Called when the user clicks the \"Try\" button in one of the palette buttons\n */\nexport function tryPaletteCode(exampleCode: string) {\n if (theGlobalEditor?.isReadOnly) {\n return;\n }\n const lines = theGlobalEditor.contents.split('\\n')\n if (lines[lines.length-1] !== '') {\n theGlobalEditor.contents += '\\n' + exampleCode;\n } else {\n theGlobalEditor.contents += exampleCode;\n }\n}\n\nexport function viewProgramLink(programId: string) {\n return window.location.origin + '/hedy/' + programId + '/view';\n}\n\nfunction updateProgramCount() {\n const programCountDiv = $('#program_count');\n const countText = programCountDiv.text();\n const regex = /(\\d+)/;\n const match = countText.match(regex);\n\n if (match && match.length > 0) {\n const currentCount = parseInt(match[0]);\n const newCount = currentCount - 1;\n const newText = countText.replace(regex, newCount.toString());\n programCountDiv.text(newText);\n }\n}\n\nfunction updateSelectOptions(selectName: string) {\n let optionsArray: string[] = [];\n const select = $(`select[name='${selectName}']`);\n\n // grabs all the levels and names from the remaining adventures\n $(`[id=\"program_${selectName}\"]`).each(function() {\n const text = $(this).text().trim();\n if (selectName == 'level'){\n const number = text.match(/\\d+/)\n if (number && !optionsArray.includes(number[0])) {\n optionsArray.push(number[0]);\n }\n } else if (!optionsArray.includes(text)){\n optionsArray.push(text);\n }\n });\n\n if (selectName == 'level'){\n optionsArray.sort();\n }\n // grabs the -- level -- or -- adventure -- from the options\n const firstOption = select.find('option:first').text().trim();\n optionsArray.unshift(firstOption);\n\n select.empty();\n optionsArray.forEach(optionText => {\n const option = $(' ').text(optionText);\n select.append(option);\n });\n}\n\nexport async function delete_program(id: string, prompt: string) {\n await modal.confirmP(prompt);\n await tryCatchPopup(async () => {\n $('#program_' + id).remove();\n // only shows the remaining levels and programs in the options\n updateSelectOptions('level');\n updateSelectOptions('adventure');\n // this function decreases the total programs saved\n updateProgramCount();\n const response = await postJson('/programs/delete', { id });\n\n // issue request on the Bar component.\n modal.notifySuccess(response.message);\n });\n}\n\nfunction set_favourite(id: string, set: boolean) {\n $('.favourite_program_container').removeClass('text-yellow-400');\n $('.favourite_program_container').addClass('text-white');\n $('.favourite_program_container').attr(\"data-starred\", \"false\");\n\n if (set) {\n $('#favourite_program_container_' + id).removeClass('text-white');\n $('#favourite_program_container_' + id).addClass('text-yellow-400');\n }\n $('#favourite_program_container_' + id).attr(\"data-starred\", JSON.stringify(set));\n}\n\nexport async function set_favourite_program(id: string, promptSet: string, promptUnset: string) {\n let set = JSON.parse($('#favourite_program_container_' + id).attr(\"data-starred\")?.toLowerCase() || \"\");\n await modal.confirmP(set ? promptUnset : promptSet);\n await tryCatchPopup(async () => {\n const response = await postJson('/programs/set_favourite', { id, set: !set });\n // TODO: response with 200, assumed.\n set_favourite(id, !set)\n modal.notifySuccess(response.message);\n });\n}\n\nfunction change_to_submitted (id: string) {\n // Index is a front-end unique given to each program container and children\n // This value enables us to remove, hide or show specific element without connecting to the server (again)\n $('#non_submitted_button_container_' + id).remove();\n $('#submitted_button_container_' + id).show();\n $('#submitted_header_' + id).show();\n $('#program_' + id).removeClass(\"border-orange-400\");\n $('#program_' + id).addClass(\"border-gray-400 bg-gray-400\");\n}\n\nexport function submit_program (id: string) {\n tryCatchPopup(async () => {\n await postJson('/programs/submit', { id });\n change_to_submitted(id);\n });\n}\n\nfunction change_to_unsubmitted () {\n $('#unsubmit-program-button').hide();\n $('#submitted-program-title').hide();\n $('#submitted-program-details').hide();\n}\n\nexport async function unsubmit_program (id: string, prompt: string) {\n await modal.confirmP(prompt);\n tryCatchPopup(async () => {\n const response = await postJson('/programs/unsubmit', { id });\n modal.notifySuccess(response.message);\n change_to_unsubmitted();\n });\n}\n\nexport async function set_explore_favourite(id: string, favourite: number) {\n let prompt = \"Are you sure you want to remove this program as a \\\"Hedy\\'s choice\\\" program?\";\n if (favourite) {\n prompt = \"Are you sure you want to set this program as a \\\"Hedy\\'s choice\\\" program?\";\n }\n await modal.confirmP(prompt);\n\n await tryCatchPopup(async () => {\n const response = await postJson('/programs/set_hedy_choice', {\n id: id,\n favourite: favourite\n });\n\n modal.notifySuccess(response.message);\n $('#' + id).toggleClass('text-white', favourite !== 1);\n $('#' + id).toggleClass('text-yellow-500', favourite === 1);\n });\n}\n\nexport function report_program(prompt: string, id: string) {\n tryCatchPopup(async () => {\n await modal.confirmP(prompt);\n const response = await postJson('/programs/report', { id });\n modal.notifySuccess(response.message);\n });\n}\n\nexport function copy_to_clipboard (string: string, prompt: string) {\n // https://hackernoon.com/copying-text-to-clipboard-with-javascript-df4d4988697f\n var el = document.createElement ('textarea');\n el.value = string;\n el.setAttribute ('readonly', '');\n el.style.position = 'absolute';\n el.style.left = '-9999px';\n document.body.appendChild (el);\n\n const selection = document.getSelection();\n const originalSelection = selection && selection.rangeCount > 0 ? selection.getRangeAt(0) : undefined;\n\n el.select ();\n document.execCommand ('copy');\n document.body.removeChild (el);\n if (originalSelection) {\n document.getSelection()?.removeAllRanges ();\n document.getSelection()?.addRange (originalSelection);\n }\n\n // Hide all modals to make sure the copy clipboard modal is hidden as well -> show alert() with feedback\n modal.hide();\n modal.notifySuccess(prompt, 3000);\n}\n\n/**\n * Do a POST with the error to the server so we can log it\n */\nfunction reportClientError(level: number, code: string, client_error: string) {\n postJson('/report_error', {\n level: `${level}`,\n code: code,\n page: window.location.href,\n client_error: client_error,\n });\n}\n\nwindow.onerror = function reportClientException(message, source, line_number, column_number, error) {\n postJson('/client_exception', {\n message: message,\n source: source,\n line_number: line_number,\n column_number: column_number,\n error: error,\n url: window.location.href,\n user_agent: navigator.userAgent,\n });\n}\n\nexport function runPythonProgram(this: any, code: string, sourceMap: any, hasTurtle: boolean, hasPressed: boolean, hasSleep: number[], hasClear: boolean, hasMusic: boolean, hasWarnings: boolean, variables: any, isModified: boolean, cb: () => void, run_type: \"run\" | \"debug\" | \"continue\") {\n // If we are in the Parsons problem -> use a different output\n let outputDiv = $('#output');\n let skip_faulty_found_errors = false;\n let warning_box_shown = false;\n\n if (sourceMap){\n theGlobalSourcemap = sourceMap;\n // We loop through the mappings and underline a mapping if it contains an error\n for (const index in sourceMap) {\n const map = sourceMap[index];\n\n const range = {\n startLine: map.hedy_range.from_line,\n startColumn: map.hedy_range.from_column,\n endLine: map.hedy_range.to_line,\n endColumn: map.hedy_range.to_column\n }\n\n if (map.error != null) {\n skip_faulty_found_errors = true;\n theGlobalEditor.setIncorrectLine(range, Number(index));\n }\n\n // Only show the warning box for the first error shown\n if (skip_faulty_found_errors && !warning_box_shown) {\n error.showFadingWarning(ClientMessages['Errors_found']);\n warning_box_shown = true;\n }\n }\n }\n\n let skulptExternalLibraries:{[index: string]:any} = {\n './extensions.js': {\n path: theStaticRoot + \"/vendor/skulpt-stdlib-extensions.js\",\n },\n };\n\n Sk.pre = \"output\";\n const turtleConfig = (Sk.TurtleGraphics || (Sk.TurtleGraphics = {}));\n turtleConfig.target = 'turtlecanvas';\n // If the adventures are not shown -> increase height of turtleConfig\n if ($('#adventures_tab').is(\":hidden\")) {\n turtleConfig.height = 600;\n turtleConfig.worldHeight = 600;\n } else if ($('#turtlecanvas').attr(\"raw\") == 'yes'){\n turtleConfig.height = 150;\n turtleConfig.worldHeight = 250;\n }\n else {\n turtleConfig.height = 300;\n turtleConfig.worldHeight = 300;\n }\n // Always set the width to output panel width -> match the UI\n turtleConfig.width = outputDiv.width();\n turtleConfig.worldWidth = outputDiv.width();\n\n let code_prefix = normal_prefix;\n\n if (!hasTurtle) {\n // There might still be a visible turtle panel. If the new program does not use the Turtle,\n // remove it (by clearing the '#turtlecanvas' div)\n $('#turtlecanvas').empty();\n }\n\n if (hasTurtle) {\n code_prefix += turtle_prefix;\n $('#turtlecanvas').show();\n }\n\n if (hasPressed) {\n code_prefix += pressed_prefix;\n }\n\n if (hasMusic) {\n code_prefix += music_prefix;\n $('#turtlecanvas').show();\n }\n\n if (hasSleep && theLevel < 7) {\n function executeWithDelay(index: number) {\n return new Promise((resolve, reject) => {\n if (index >= hasSleep.length) {\n resolve(reject);\n return;\n }\n\n const sleepTime = hasSleep[index];\n if (sleepTime) {\n $('#sleep_modal').show();\n sleepRunning = true;\n setTimeout(() => {\n $('#sleep_modal').hide();\n sleepRunning = false;\n setTimeout(() => {\n resolve(reject);\n }, 100);\n }, (sleepTime * 1000) - 100);\n } else {\n setTimeout(() => {\n resolve(reject);\n }, 100);\n }\n });\n }\n\n async function executeAllDelays() {\n for (let i = 0; i < hasSleep.length; i++) {\n await executeWithDelay(i);\n }\n }\n executeAllDelays()\n }\n\n code = code_prefix + code;\n\n (Sk as any).builtins.play = new Sk.builtin.func((notes:any) => {\n //const now = Tone.now()\n const note_name = notes.v;\n\n //play note_name for the duration of an 16th note\n synth.triggerAttackRelease(note_name, \"16n\");\n\n });\n if (run_type === \"run\") {\n $('#variable_list').empty();\n toggleVariableView();\n Sk.configure({\n output: outf,\n read: builtinRead,\n inputfun: inputFromInlineModal,\n inputfunTakesPrompt: true,\n setTimeout: timeout,\n __future__: Sk.python3,\n timeoutMsg: function () {\n // If the timeout is 1 this is due to us stopping the program: don't show \"too long\" warning\n $('#stopit').hide();\n $('#runit').show();\n $('#runit').show();\n if (Sk.execLimit != 1) {\n return ClientMessages ['Program_too_long'];\n } else {\n return null;\n }\n },\n // We want to make the timeout function a bit more sophisticated that simply setting a value\n // In levels 1-6 users are unable to create loops and programs with a lot of lines are caught server-sided\n // So: a very large limit in these levels, keep the limit on other ones.\n execLimit: (function () {\n const level = theLevel;\n if (hasTurtle || hasPressed || hasMusic) {\n // We don't want a timeout when using the turtle, if_pressed or music -> just set one for 10 minutes\n return (6000000);\n }\n if (level < 7) {\n // Also on a level < 7 (as we don't support loops yet), a timeout is redundant -> just set one for 5 minutes\n return (3000000);\n }\n // Set a time-out of either 30 seconds when having a sleep and 10 seconds when not\n return ((hasSleep) ? 30000 : 10000);\n }) ()\n });\n\n const currentProgram: number = Number(sessionStorage.getItem('currentProgram') || 0) + 1;\n sessionStorage.setItem('currentProgram', currentProgram.toString());\n\n return Sk.misceval.asyncToPromise(() =>\n Sk.importMainWithBody(\"\", false, code, true), {\n \"*\": () => {\n // We don't do anything here...\n }\n },\n currentProgram\n ).then(function(_mod) {\n console.log('Program executed');\n const pythonVariables = Sk.globals;\n load_variables(pythonVariables);\n $('#stopit').hide();\n $('#runit').show();\n\n document.onkeydown = null;\n $('#keybinding_modal').hide();\n\n if (hasTurtle) {\n $('#save_files_container').show();\n }\n\n // Check if the program was correct but the output window is empty: Return a warning\n if ((!hasClear) && $('#output').is(':empty') && $('#turtlecanvas').is(':empty') && !hasMusic) {\n error.showWarning(ClientMessages['Empty_output']);\n return;\n }\n if (!hasWarnings && code !== last_code) {\n showSuccessMessage(isModified);\n last_code = code;\n }\n if (cb) cb ();\n }).catch(function(err) {\n const errorMessage = errorMessageFromSkulptError(err) || null;\n if (!errorMessage) {\n throw null;\n }\n throw new Error(errorMessage);\n });\n\n } else if (run_type === \"debug\") {\n\n theGlobalDebugger = new Sk.Debugger('', incrementDebugLine, stopDebug);\n theGlobalSourcemap = sourceMap;\n\n Sk.configure({\n output: outf,\n read: builtinRead,\n inputfun: inputFromInlineModal,\n inputfunTakesPrompt: true,\n __future__: Sk.python3,\n debugging: true,\n breakpoints: theGlobalDebugger.check_breakpoints.bind(theGlobalDebugger),\n execLimit: null\n });\n\n let lines = code.split('\\n');\n for (let i = 0; i < lines.length; i++) {\n // lines with dummy variable name are not meant to be shown to the user, skip them.\n if (lines[i].includes(\"# __BREAKPOINT__\") && !lines[i].includes('x__x__x__x')) {\n // breakpoints are 1-indexed\n theGlobalDebugger.add_breakpoint('.py', i + 1, '0', false);\n }\n }\n\n // Do not show success message if we found errors that we skipped\n if (!hasWarnings && code !== last_code && !skip_faulty_found_errors) {\n last_code = code;\n }\n\n theGlobalDebugger.set_code_starting_line(code_prefix.split('\\n').length - 1);\n theGlobalDebugger.set_code_lines(code.split('\\n'));\n theGlobalDebugger.set_program_data({\n Code: code,\n source_map: sourceMap,\n has_turtle: hasTurtle,\n has_clear: hasClear,\n has_music: hasMusic,\n Warning: hasWarnings,\n variables: variables\n });\n\n startDebug();\n\n return theGlobalDebugger.startDebugger(\n () => Sk.importMainWithBody(\"\", false, code, true),\n theGlobalDebugger\n ).then(\n function () {\n console.log('Program executed');\n\n $('#stopit').hide();\n $('#runit').show();\n\n stopDebug();\n\n document.onkeydown = null;\n $('#keybinding_modal').hide();\n\n if (hasTurtle) {\n $('#save_files_container').show();\n }\n\n if (cb) cb ();\n }\n ).catch(function(err: any) {\n const errorMessage = errorMessageFromSkulptError(err) || null;\n if (!errorMessage) {\n throw null;\n }\n throw new Error(errorMessage);\n });\n\n } else {\n // Disable continue button, until the current instruction is completed.\n // The button is enabled again in incrementDebugLine()\n document.getElementById('debug_continue')!.setAttribute('disabled', 'disabled');\n // maybe remove debug marker here\n return theGlobalDebugger.continueForward()\n .catch(function(err: any) {\n console.error(err)\n const errorMessage = errorMessageFromSkulptError(err) || null;\n if (!errorMessage) {\n throw null;\n }\n throw new Error(errorMessage);\n });\n }\n\n /**\n * Get the error messages from a Skulpt error\n *\n * They look like this:\n *\n * {\"args\":{\"v\":[{\"v\":\"name 'name' is not defined\"}]},\"traceback\":[{\"lineno\":3,\"colno\":0,\"filename\":\".py\"}]}\n *\n * Don't know why, so let's be defensive about it.\n */\n function errorMessageFromSkulptError(err: any) {\n const message = err.args && err.args.v && err.args.v[0] && err.args.v[0].v;\n return message;\n }\n\n function addToOutput(text: string, color: string) {\n $('').text(text).css({ color }).appendTo(outputDiv);\n scrollOutputToBottom();\n }\n\n // output functions are configurable. This one just appends some text\n // to a pre element.\n function outf(text: string) {\n addToOutput(text, 'white');\n speak(text)\n }\n\n function builtinRead(x: string) {\n if (x in skulptExternalLibraries) {\n const tmpPath = skulptExternalLibraries[x][\"path\"];\n\n let request = new XMLHttpRequest();\n request.open(\"GET\", tmpPath, false);\n request.send();\n\n if (request.status !== 200) {\n return void 0\n }\n\n return request.responseText\n }\n\n if (Sk.builtinFiles === undefined || Sk.builtinFiles[\"files\"][x] === undefined)\n throw \"File not found: '\" + x + \"'\";\n return Sk.builtinFiles[\"files\"][x];\n }\n\n // This method draws the prompt for asking for user input.\n function inputFromInlineModal(prompt: string) {\n // We give the user time to give input.\n var storage = window.localStorage;\n var debug = storage.getItem(\"debugLine\")\n if (storage.getItem(\"prompt-\" + prompt) == null) {\n Sk.execStart = new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 365);\n document.onkeydown = null;\n $('#keybinding_modal').hide();\n\n return new Promise(function(ok) {\n askPromptOpen = true;\n\n const input = $('#ask_modal input[type=\"text\"]');\n $('#ask_modal .caption').text(prompt);\n input.val('');\n input.attr('placeholder', prompt);\n speak(prompt)\n\n setTimeout(function() {\n input.focus();\n }, 0);\n $('#ask_modal form').one('submit', function(event) {\n askPromptOpen = false;\n event.preventDefault();\n $('#ask_modal').hide();\n\n if (hasTurtle) {\n $('#turtlecanvas').show();\n }\n\n // We reset the timer to the present moment.\n Sk.execStart = new Date ();\n // We set a timeout for sending back the input, so that the input box is hidden before processing the program.\n // Since processing the program might take some time, this timeout increases the responsiveness of the UI after\n // replying to a query.\n setTimeout (function () {\n ok(input.val());\n if (debug != null) {\n storage.setItem(\"prompt-\" + prompt, input.val()!.toString());\n }\n $ ('#output').focus ();\n }, 0);\n\n return false;\n });\n $('#ask_modal').show();\n\n // Scroll the output div to the bottom so you can see the question\n scrollOutputToBottom();\n });\n } else {\n return new Promise(function (ok) {\n ok(storage.getItem(\"prompt-\" + prompt));\n });\n }\n }\n}\n\nfunction speak(text: string) {\n var selectedURI = $('#speak_dropdown').val();\n if (!selectedURI) { return; }\n var voice = window.speechSynthesis.getVoices().filter(v => v.voiceURI === selectedURI)[0];\n\n if (voice) {\n let utterance = new SpeechSynthesisUtterance(text);\n utterance.voice = voice;\n utterance.rate = 0.9;\n speechSynthesis.speak(utterance);\n }\n}\n\nfunction initializeSpeech(isTryit?: boolean) {\n // If we are running under cypress, always show the languages dropdown (even if the browser doesn't\n // have TTS capabilities), so that we can test if the logic for showing the dropdown at least runs\n // successfully.\n const isBeingTested = !!(window as any).Cypress;\n\n if (!window.speechSynthesis && !isBeingTested) { return; /* No point in even trying */ }\n if (!theLanguage) { return; /* Not on a code page */ }\n\n /**\n * Show the \"speak\" checkbox if we find that we have speech support for the\n * current language (showing an initially hidden element is a better experience\n * than hiding an initially shown element... arguably... ?)\n *\n * Also, for funzies: the speechSynthesis.getVoices() array is asynchronously\n * populated *some time* after the page loads... and we won't know when. Keep\n * on testing periodically until we got it or it's taken too long to finish.\n */\n let attempts = 0;\n const timer = setInterval(function() {\n attempts += 1;\n\n const voices = findVoices(theLanguage);\n\n if (voices.length > 0 || isBeingTested) {\n for (const voice of voices) {\n if (isTryit) {\n $('#speak_dropdown').append(\n $('')\n .attr('id', `speak_button_${voice.name}`)\n .attr('onclick', `$('#speak_dropdown').slideUp('medium');`)\n .attr('value', voice.voiceURI)\n .addClass('flex justify-between items-center gap-2 px-2 py-2 border-b border-dashed border-blue-500 bg-white')\n .css('width', '100%')\n .text(voice.name)\n .on('click', function () {\n if (selectedURI){\n selectedURI.find('span').remove();\n }\n selectedURI = $(this);\n $(this).append(` `);\n })\n );\n } else {\n $('#speak_dropdown').append($('').attr('value', voice.voiceURI).text('\uD83D\uDCE3 ' + voice.name));\n }\n }\n $('#speak_container').show();\n\n clearInterval(timer);\n }\n if (attempts >= 20) { // ~2 seconds\n // Give up\n clearInterval(timer);\n }\n }, 100);\n\n function findVoices(lang: string) {\n // Our own \"lang\" is *typically* just the language code, but we also have \"pt_BR\".\n const m = lang.match(/^([a-z]+)/i);\n if (!m) { return []; }\n const simpleLang = m[1];\n\n // If the feature doesn't exist in the browser, return null\n if (!window.speechSynthesis) { return []; }\n return window.speechSynthesis.getVoices().filter(voice => voice.lang.startsWith(simpleLang));\n }\n}\n\nexport function load_quiz(level: string) {\n $('*[data-tabtarget=\"quiz\"]').html ('');\n}\n\nexport async function store_parsons_attempt(order: Array, correct: boolean) {\n try {\n await postJson('/store_parsons_order', {\n level: theLevel,\n exercise: $('#next_parson_button').attr('current_exercise'),\n order: order,\n correct: correct\n });\n } catch (e) {\n // Let's do nothing: saving is not a user relevant action -> no feedback required\n console.error(e);\n };\n}\n\nexport function get_active_and_trimmed_code() {\n theGlobalEditor.trimTrailingSpace();\n const storage = window.localStorage;\n const debugLine = storage.getItem(\"debugLine\");\n return theGlobalEditor.getActiveContents(debugLine);\n}\n\nexport function getEditorContents() {\n return theGlobalEditor.contents;\n}\n\nexport function confetti_cannon(){\n const canvas = document.getElementById('confetti');\n if (canvas) {\n canvas.classList.remove('hidden');\n // ignore this error, the function comes from CDN for now\n const jsConfetti = new JSConfetti({canvas})\n // timeout for the confetti to fall down\n setTimeout(function(){canvas.classList.add('hidden')}, 3000);\n let adventures = $('#adventures');\n let currentAdventure = $(adventures).find('.tab-selected').attr('data-tab');\n let customLevels = ['turtle', 'rock', 'haunted', 'restaurant', 'fortune', 'songs', 'dice']\n\n if(customLevels.includes(currentAdventure!)){\n let currentAdventureConfetti = getConfettiForAdventure(currentAdventure ?? '' as any);\n\n jsConfetti.addConfetti({\n emojis: currentAdventureConfetti,\n emojiSize: 45,\n confettiNumber: 100,\n });\n }\n else {\n jsConfetti.addConfetti();\n }\n\n const confettiButton = document.getElementById('confetti_button');\n if (confettiButton) {\n confettiButton.classList.add('hidden');\n }\n }\n}\n\nfunction getConfettiForAdventure(adventure: MessageKey){\n if (ClientMessages[adventure]) {\n return Array.from(ClientMessages[adventure]).filter(x => x !== ',' && x !== ' ');\n }\n return [['\uD83C\uDF08'], ['\u26A1\uFE0F'], ['\uD83D\uDCA5'], ['\u2728'], ['\uD83D\uDCAB']];\n}\n\n/**\n * Scroll the output to bottom immediately\n */\nfunction scrollOutputToBottom() {\n const outputDiv = $('#output');\n outputDiv.scrollTop(outputDiv.prop('scrollHeight'));\n}\n\nexport function modalStepOne(level: number){\n createModal(level);\n let $modalEditor = $('#modal_editor');\n if ($modalEditor.length) {\n const dir = $('body').attr('dir');\n theModalEditor = editorCreator.initializeEditorWithGutter($modalEditor, EditorType.MODAL, dir);\n }\n}\n\nfunction showSuccessMessage(isModified: boolean){\n removeBulb();\n var allsuccessmessages = ClientMessages['Transpile_success'].split('\\n');\n var randomnum: number = Math.floor(Math.random() * allsuccessmessages.length);\n success.show(allsuccessmessages[randomnum], isModified);\n}\n\nfunction createModal(level:number ){\n let editor = \"
\".replace(\"{level}\", level.toString());\n let title = ClientMessages['Program_repair'];\n modal.repair(editor, 0, title);\n}\n\n// Remove this function when enabling the new design\nexport function setDevelopersMode(event='click', enforceDevMode: boolean) {\n let enable: boolean = false;\n switch (event) {\n case 'load':\n const lastSelection = window.localStorage.getItem('developer_mode') === 'true';\n enable = enforceDevMode || lastSelection;\n $('#developers_toggle').prop('checked', enable);\n break;\n\n case 'click':\n // Toggled\n enable = $('#developers_toggle').prop('checked');\n break;\n }\n if (!enforceDevMode) window.localStorage.setItem('developer_mode', `${enable}`)\n toggleDevelopersMode(!!enforceDevMode)\n}\n\n// Remove this function when enabling the new design\nfunction toggleDevelopersMode(enforceDevMode: boolean) {\n const enable = window.localStorage.getItem('developer_mode') === 'true' || enforceDevMode;\n // DevMode hides the tabs and makes resizable elements track the appropriate size.\n // (Driving from HTML attributes is more flexible on what gets resized, and avoids duplicating\n // size literals between HTML and JavaScript).\n $('#adventures_tab').toggle(!enable || currentTab === 'quiz' || currentTab === 'parsons');\n // this is for the new design, it needs to be removed once we ship it\n $('#adventures').toggle(!enable || currentTab === 'quiz' || currentTab === 'parsons');\n // Parsons dont need a fixed height\n if (currentTab === 'parsons') return\n\n $('[data-editorheight]').each((_, el) => {\n const heights = $(el).data('editorheight').split(',') as string[];\n $(el).css('height', heights[enable ? 1 : 0]);\n });\n}\n\nexport function saveForTeacherTable(table: string) {\n let show_table = window.localStorage.getItem(table);\n window.localStorage.setItem(table, (show_table !== 'true').toString())\n const arrow = document.querySelector('#' + table + '_arrow') as HTMLElement;\n const table_ele = document.getElementById(table)!\n const show_label = document.getElementById(table + '_show')!\n const hide_label = document.getElementById(table + '_hide')!\n table_ele.classList.toggle('hidden')\n show_label.classList.toggle('hidden')\n hide_label.classList.toggle('hidden')\n arrow.classList.toggle('rotate-180');\n}\n\nexport function getForTeacherTable(table: string) {\n let show_table = window.localStorage.getItem(table);\n const table_ele = document.getElementById(table)!\n const arrow = document.getElementById(table + '_arrow')!;\n const show_label = document.getElementById(table + '_show')!\n const hide_label = document.getElementById(table + '_hide')!\n\n table_ele.classList.toggle('hidden', show_table !== 'true');\n show_label.classList.toggle('hidden', show_table === 'true');\n hide_label.classList.toggle('hidden', show_table !== 'true');\n arrow.classList.toggle('rotate-180', show_table === 'true');\n}\n\n/**\n * Run a code block, show an error message if we catch an exception\n */\nexport async function tryCatchErrorBox(cb: () => void | Promise) {\n try {\n return await cb();\n } catch (e: any) {\n console.log('Error', e);\n error.show(\"\", e.message);\n }\n}\n\nexport function toggle_keyword_language(current_lang: string, new_lang: string) {\n tryCatchErrorBox(async () => {\n const response = await postJson('/translate_keywords', {\n code: theGlobalEditor.contents,\n start_lang: current_lang,\n goal_lang: new_lang,\n level: theLevel,\n });\n if (response) {\n const code = response.code\n theGlobalEditor.contents = code;\n const saveName = saveNameFromInput();\n\n // save translated code to local storage\n // such that it can be fetched after reload\n localSave(currentTabLsKey(), { saveName, code });\n $('#editor').attr('data-lang', new_lang);\n\n // update the whole page (example codes)\n const hash = window.location.hash;\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n urlParams.set('keyword_language', new_lang)\n window.location.search = urlParams.toString()\n window.open(hash, \"_self\");\n\n // if in iframe, reload the topper window level.\n if (window.top && !(window as any).Cypress) {\n window.top.location.reload();\n }\n\n }\n });\n}\n\nexport function toggle_blur_code() {\n // Switch the both icons from hiding / showing\n $('.blur_toggle').toggle();\n\n // Keep track of a element attribute \"blurred\" to indicate if blurred or not\n if ($('#editor').attr('blurred') == 'true') {\n $('#editor').css(\"filter\", \"\");\n $('#editor').css(\"-webkit-filter\", \"\");\n $('#editor').attr('blurred', 'false');\n } else {\n $('#editor').css(\"filter\", \"blur(3px)\");\n $('#editor').css(\"-webkit-filter\", \"blur(3px)\");\n $('#editor').attr('blurred', 'true');\n }\n}\n\nexport async function change_language(lang: string) {\n await tryCatchPopup(async () => {\n const response = await postJson('/change_language', { lang });\n if (response) {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n\n if (lang === 'en' || urlParams.get(\"language\") !== null) {\n urlParams.set(\"language\", lang)\n urlParams.set('keyword_language', lang);\n window.location.search = urlParams.toString();\n } else {\n location.reload();\n }\n }\n });\n}\n\nfunction update_view(selector_container: string, new_lang: string) {\n $('#' + selector_container + ' > div').map(function() {\n if ($(this).attr('data-lang') == new_lang) {\n $(this).show();\n } else {\n $(this).hide();\n }\n });\n}\n\nexport function select_profile_image(image: number) {\n $('.profile_image').removeClass(\"border-2 border-blue-600\");\n $('#profile_image_' + image).addClass(\"border-2 border-blue-600\");\n $('#image').val(image);\n}\n\nexport function hide_editor() {\n $('#fold_in_toggle_container').hide(); // remove once we get rid of old version\n $('#hide_editor').hide();\n $('#code_editor').addClass('lg:hidden block');\n $('#code_output').addClass('lg:col-span-2');\n $('#show_editor').show();\n $('#fold_out_toggle_container').show(); // remove once we get rid of old version\n}\n\nexport function show_editor() {\n $('#fold_out_toggle_container').hide(); // remove once we get rid of old version\n $('#show_editor').hide();\n $('#code_editor').removeClass('lg:hidden block');\n $('#code_output').removeClass('lg:col-span-2');\n $('#hide_editor').show();\n $('#fold_in_toggle_container').show(); // remove once we get rid of old version\n}\n\n// See https://github.com/skulpt/skulpt/pull/579#issue-156538278 for the JS version of this code\n// We support multiple timers, even though it's unlikely we would ever need them\nlet timers: number[] = [];\n\nconst timeout = (func: () => void, delay: number) => {\n let id: number;\n const wrapper = () => {\n let idx = timers.indexOf(id);\n if (idx > -1) {\n timers.splice(idx, 1);\n }\n func();\n };\n id = window.setTimeout(wrapper, delay);\n timers.push(id);\n};\n\nconst clearTimeouts = () => {\n timers.forEach(clearTimeout);\n timers = [];\n};\n\nexport function downloadSlides(level: number) {\n var iframe : any = document.getElementById(`level_${level}_slides`)!;\n iframe.setAttribute('src',`/slides/${level}`);\n $(`#level_${level}_slides`).on('load', function (){\n var innerDoc = iframe.contentDocument || iframe.contentWindow.document;\n var slides = innerDoc.getElementsByTagName('section');\n var slidesHTML = ''\n for (let i = 0; i < slides.length; i++) {\n var innerIframe = slides[i].getElementsByTagName('iframe');\n for (let j = 0; j < innerIframe.length; j++) {\n var a = document.createElement('a');\n a.href = 'https://www.hedy.org' + innerIframe[j].getAttribute('src');\n a.appendChild(document.createTextNode(a.href));\n slides[i].appendChild(a);\n slides[i].removeChild(innerIframe[j]);\n }\n slidesHTML += '\\n'+ slides[i].outerHTML;\n }\n\n var template = slides_template.replace('{replace}', slidesHTML);\n var zip = JSZip();\n zip.file('index.html', template);\n zip.folder(\"lib\");\n zip.folder(`hedy-level-${level}`);\n zip.generateAsync({type: 'blob'})\n .then(function(content: any) {\n download(content, `hedy-level-${level}.zip`, \"zip\");\n });\n })\n}\n\nfunction download(data: any, filename: any, type: any) {\n var file = new Blob([data], {type: type});\n var a = document.createElement(\"a\"),\n url = URL.createObjectURL(file);\n a.href = url;\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n setTimeout(function() {\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n }, 0);\n}\n\n/**\n * Hide all things that may have been dynamically shown when switching tabs\n *\n * Reset the state of the editor.\n */\nfunction resetWindow() {\n $('#warningbox').hide ();\n $('#errorbox').hide ();\n $('#okbox').hide ();\n $('#repair_button').hide();\n const output = $('#output');\n const variable_button = $(output).find('#variable_button');\n const variables = $(output).find('#variables');\n output.empty();\n $('#turtlecanvas').empty();\n output.append(variable_button);\n output.append(variables);\n theGlobalEditor?.clearSelection();\n theGlobalEditor?.clearBreakpoints();\n}\n\n/**\n * Update page element visibilities/states based on the state of the current tab\n */\nfunction updatePageElements() {\n const isParsonsTab = currentTab === 'parsons'\n const isCodeTab = !(currentTab === 'quiz' || isParsonsTab);\n // .toggle(bool) sets visibility based on the boolean\n\n // Explanation area is visible for non-code tabs, or when we are NOT in developer's mode\n $('#adventures_tab').toggle(!(isCodeTab && $('#developers_toggle').is(\":checked\")));\n $('#developers_toggle_container').toggle(isCodeTab);\n // this is for the new design, it needs to be removed once we ship it\n $('#adventures').toggle(true);\n $('#level_header input').toggle(isCodeTab);\n $('#parsons_code_container').toggle(currentTab === 'parsons');\n $('#editor_area').toggle(isCodeTab || currentTab === 'parsons');\n $('#editor').toggle(isCodeTab);\n $('#debug_container').toggle(isCodeTab);\n $('#program_name_container').toggle(isCodeTab);\n theGlobalEditor.isReadOnly = false;\n\n const adventure = theAdventures[currentTab];\n if (adventure) {\n const saveInfo: ServerSaveInfo = isServerSaveInfo(adventure.save_info)\n ? adventure.save_info\n : { id : '*dummy*' };\n\n // SHARING SETTINGS\n // Star on \"share\" button is filled if program is already public, outlined otherwise\n const isPublic = !!saveInfo.public;\n $('#share_program_button')\n .toggleClass('active-bluebar-btn', isPublic);\n $(`#share-${isPublic ? 'public' : 'private'}`).prop('checked', true);\n\n // Show <...data-view=\"if-public-url\"> only if we have a public url\n $('[data-view=\"if-public\"]').toggle(isPublic);\n $('[data-view=\"if-public-url\"]').toggle(!!saveInfo.public_url);\n $('input[data-view=\"public-url\"]').val(saveInfo.public_url ?? '');\n\n // Paper plane on \"hand in\" button is filled if program is already submitted, outlined otherwise\n const isSubmitted = !!saveInfo.submitted;\n // Remove once we get rid of the old version\n $('#hand_in_button')\n .toggleClass('active-bluebar-btn', isSubmitted);\n\n // Show <...data-view=\"if-submitted\"> only if we have a public url\n $('[data-view=\"if-submitted\"]').toggle(isSubmitted);\n $('[data-view=\"if-not-submitted\"]').toggle(!isSubmitted);\n\n theGlobalEditor.isReadOnly = isSubmitted;\n // All of these are for the buttons added in the new version of the code-page\n $('#progress_bar').show()\n $('#program_name_container').show()\n $('#share_program_button').show()\n $('#read_outloud_button_container').show()\n $('#cheatsheet_dropdown_container').show()\n $('#commands_dropdown_container').show()\n $('#hand_in_button').show()\n }\n if (currentTab === 'parsons'){\n $('#share_program_button').hide()\n $('#read_outloud_button_container').hide()\n $('#cheatsheet_dropdown_container').hide()\n $('#commands_dropdown_container').show()\n $('#hand_in_button').hide()\n $('#clear').hide()\n }\n if (currentTab === 'quiz'){\n $('#share_program_button').hide()\n $('#read_outloud_button_container').hide()\n $('#cheatsheet_dropdown_container').hide()\n $('#commands_dropdown_container').hide()\n $('#hand_in_button').hide()\n }\n}\n\n/**\n * Load parsons and update the editors height accordingly\n */\nfunction configureParson() {\n loadParsonsExercise(theLevel, 1);\n // parsons could have 5 lines to arrange which requires more space, so remove the fixed height from the editor\n document.getElementById('code_editor')!.style.height = '100%'\n document.getElementById('code_output')!.style.height = '100%'\n}\n\n/**\n * After switching tabs, show/hide elements\n */\nfunction reconfigurePageBasedOnTab(isTryItPage?: boolean, enforceDevMode?: boolean) {\n resetWindow();\n updatePageElements();\n\n if (currentTab === 'parsons') {\n configureParson();\n show_editor();\n $('#fold_in_toggle_container').hide();\n } else {\n if (isTryItPage) {\n $('[data-editorheight]').each((_, el) => {\n const height = $(el).data('editorheight');\n $(el).css('height', height);\n });\n } else {\n toggleDevelopersMode(!!enforceDevMode);\n }\n $('#fold_in_toggle_container').show();\n }\n\n const adventure = theAdventures[currentTab];\n if (adventure) {\n $ ('#program_name').val(adventure.save_name);\n theGlobalEditor.contents = adventure.editor_contents;\n }\n}\n\n/**\n * Find the containing modal for the event target, and close it\n *\n * The modal will be the containing HTML element that has data-modal=\"true\".\n *\n * Intended to be used from HTML: click=\"hedyApp.closeContainingModal(this)\"\n */\nexport function closeContainingModal(target: HTMLElement) {\n $(target).closest('[data-modal=\"true\"]').hide();\n}\n\nfunction initializeShareProgramButtons() {\n $('input[type=\"radio\"][name=\"public\"]').on('change', (ev) => {\n if ((ev.target as HTMLInputElement).checked) {\n // Async-safe copy of current tab\n const adventure = theAdventures[currentTab];\n\n tryCatchPopup(async () => {\n await saveIfNecessary();\n\n const saveInfo = isServerSaveInfo(adventure?.save_info) ? adventure?.save_info : undefined;\n if (!saveInfo) {\n throw new Error('This program does not have an id');\n }\n await postNoResponse(`/programs/share/${saveInfo.id}`, {})\n });\n }\n })\n}\n\nfunction initializeHandInButton() {\n $('#do_hand_in_button').on('click', () => {\n // Async-safe copy of current tab\n const adventure = theAdventures[currentTab];\n\n tryCatchPopup(async () => {\n await saveIfNecessary();\n\n const saveInfo = isServerSaveInfo(adventure?.save_info) ? adventure.save_info : undefined;\n if (!saveInfo) {\n throw new Error('This program does not have an id');\n }\n const response = await postJson('/programs/submit', {\n id: saveInfo.id,\n });\n\n modal.notifySuccess(response.message);\n if (response.save_info) {\n adventure.save_info = response.save_info;\n }\n updatePageElements();\n });\n });\n}\n\n/**\n * Initialize copy to clipboard buttons.\n *\n * For all elements with data-action=\"copy-to-clipboard\", find the containing\n * data-copy=\"container\" items and an in there, and copy it to the clipboard.\n */\nfunction initializeCopyToClipboard() {\n $('[data-action=\"copy-to-clipboard\"]').on('click', (ev) => {\n const text = $(ev.target).closest('[data-copy=\"container\"]').find('input').val();\n if (typeof text === 'string') {\n copy_to_clipboard(text, ClientMessages.copy_link_to_share);\n }\n });\n}\n\nfunction saveNameFromInput(): string {\n return $('#program_name').val() as string;\n}\n\nfunction programNeedsSaving(adventureName: string) {\n const adventure = theAdventures[adventureName];\n if (!adventure) {\n return false;\n }\n\n // We need to save if the content changed, OR if we have the opportunity to\n // save a program that was loaded from local storage to the server.\n // (Submitted programs are never saved again).\n const programChanged = theGlobalEditor.contents !== adventure.editor_contents;\n const nameChanged = $('#program_name').val() !== adventure.save_name;\n const localStorageCanBeSavedToServer = theUserIsLoggedIn && adventure.save_info === 'local-storage';\n const isUnchangeable = isServerSaveInfo(adventure.save_info) ? adventure.save_info.submitted : false;\n\n // Do not autosave the program if the size is very small compared to the previous\n // save. This protects against accidental `Ctrl-A, hit a key` and everything is gone. Clicking the\n // \"Run\" button will always save regardless of size.\n const wasSavedBefore = adventure.save_info !== undefined;\n const suspiciouslySmallFraction = 0.5;\n const programSuspiciouslyShrunk = wasSavedBefore && theGlobalEditor.contents.length < adventure.editor_contents.length * suspiciouslySmallFraction;\n\n return (programChanged || nameChanged || localStorageCanBeSavedToServer) && !isUnchangeable && !programSuspiciouslyShrunk;\n}\n\n/**\n * (Re)set a timer to trigger a save in N second\n */\nlet saveTimer: number | undefined;\nexport function triggerAutomaticSave() {\n const saveSeconds = 20;\n cancelPendingAutomaticSave();\n saveTimer = window.setTimeout(() => saveIfNecessary(), saveSeconds * 1000);\n}\n\nfunction cancelPendingAutomaticSave() {\n if (saveTimer) {\n window.clearTimeout(saveTimer);\n }\n}\n\n\nlet autoSaveEnabled = true;\n\nfunction disableAutomaticSaving() {\n autoSaveEnabled = false;\n}\n\nasync function saveIfNecessary() {\n if (!autoSaveEnabled) {\n return;\n }\n\n // Async-safe copy of current tab\n const adventureName = currentTab;\n const adventure = theAdventures[adventureName];\n if (!programNeedsSaving(adventureName) || !adventure) {\n return;\n }\n\n console.info('Saving program automatically...');\n\n const code = theGlobalEditor.contents;\n const saveName = saveNameFromInput();\n\n\n if (theUserIsLoggedIn && saveName) {\n const saveInfo = isServerSaveInfo(adventure.save_info) ? adventure.save_info : undefined;\n const response = await postJson('/programs', {\n level: theLevel,\n lang: theLanguage,\n name: saveName,\n code: code,\n adventure_name: adventureName,\n program_id: saveInfo?.id,\n // We pass 'public' in here to save the backend a lookup\n share: saveInfo?.public,\n short_name: adventure.short_name,\n });\n\n // Record that we saved successfully\n adventure.editor_contents = code;\n if (response.save_info) {\n adventure.save_info = response.save_info;\n }\n localDelete(currentTabLsKey());\n } else {\n localSave(currentTabLsKey(), { saveName, code });\n adventure.editor_contents = code;\n }\n}\n\nfunction currentTabLsKey() {\n return `save-${currentTab}-${theLevel}`;\n}\n\nexport function goToLevel(level: any) {\n const hash = window.location.hash\n let newPath = window.location.pathname.replace(/\\/\\d+/, `/${level}`);\n if (!newPath.includes(level)) {\n newPath = window.location.pathname + `/${level}`\n }\n window.location.pathname = newPath\n window.location.hash = hash\n}\n\nexport function emptyEditor() {\n theGlobalEditor.contents = \"\"\n}\n", "export const version: string = \"14.7.77\";\n", "import {\n createCancelAndHoldAutomationEvent,\n createCancelScheduledValuesAutomationEvent,\n createExponentialRampToValueAutomationEvent,\n createLinearRampToValueAutomationEvent,\n createSetTargetAutomationEvent,\n createSetValueAutomationEvent,\n createSetValueCurveAutomationEvent\n} from 'automation-events';\nimport { createAbortError } from './factories/abort-error';\nimport { createAddActiveInputConnectionToAudioNode } from './factories/add-active-input-connection-to-audio-node';\nimport { createAddAudioNodeConnections } from './factories/add-audio-node-connections';\nimport { createAddAudioParamConnections } from './factories/add-audio-param-connections';\nimport { createAddAudioWorkletModule } from './factories/add-audio-worklet-module';\nimport { createAddConnectionToAudioNode } from './factories/add-connection-to-audio-node';\nimport { createAddPassiveInputConnectionToAudioNode } from './factories/add-passive-input-connection-to-audio-node';\nimport { createAddSilentConnection } from './factories/add-silent-connection';\nimport { createAddUnrenderedAudioWorkletNode } from './factories/add-unrendered-audio-worklet-node';\nimport { createAnalyserNodeConstructor } from './factories/analyser-node-constructor';\nimport { createAnalyserNodeRendererFactory } from './factories/analyser-node-renderer-factory';\nimport { createAudioBufferConstructor } from './factories/audio-buffer-constructor';\nimport { createAudioBufferSourceNodeConstructor } from './factories/audio-buffer-source-node-constructor';\nimport { createAudioBufferSourceNodeRendererFactory } from './factories/audio-buffer-source-node-renderer-factory';\nimport { createAudioContextConstructor } from './factories/audio-context-constructor';\nimport { createAudioDestinationNodeConstructor } from './factories/audio-destination-node-constructor';\nimport { createAudioDestinationNodeRenderer } from './factories/audio-destination-node-renderer-factory';\nimport { createAudioListenerFactory } from './factories/audio-listener-factory';\nimport { createAudioNodeConstructor } from './factories/audio-node-constructor';\nimport { createAudioParamFactory } from './factories/audio-param-factory';\nimport { createAudioParamRenderer } from './factories/audio-param-renderer';\nimport { createAudioWorkletNodeConstructor } from './factories/audio-worklet-node-constructor';\nimport { createAudioWorkletNodeRendererFactory } from './factories/audio-worklet-node-renderer-factory';\nimport { createBaseAudioContextConstructor } from './factories/base-audio-context-constructor';\nimport { createBiquadFilterNodeConstructor } from './factories/biquad-filter-node-constructor';\nimport { createBiquadFilterNodeRendererFactory } from './factories/biquad-filter-node-renderer-factory';\nimport { createCacheTestResult } from './factories/cache-test-result';\nimport { createChannelMergerNodeConstructor } from './factories/channel-merger-node-constructor';\nimport { createChannelMergerNodeRendererFactory } from './factories/channel-merger-node-renderer-factory';\nimport { createChannelSplitterNodeConstructor } from './factories/channel-splitter-node-constructor';\nimport { createChannelSplitterNodeRendererFactory } from './factories/channel-splitter-node-renderer-factory';\nimport { createConnectAudioParam } from './factories/connect-audio-param';\nimport { createConnectMultipleOutputs } from './factories/connect-multiple-outputs';\nimport { createConnectedNativeAudioBufferSourceNodeFactory } from './factories/connected-native-audio-buffer-source-node-factory';\nimport { createConstantSourceNodeConstructor } from './factories/constant-source-node-constructor';\nimport { createConstantSourceNodeRendererFactory } from './factories/constant-source-node-renderer-factory';\nimport { createConvertNumberToUnsignedLong } from './factories/convert-number-to-unsigned-long';\nimport { createConvolverNodeConstructor } from './factories/convolver-node-constructor';\nimport { createConvolverNodeRendererFactory } from './factories/convolver-node-renderer-factory';\nimport { createCreateNativeOfflineAudioContext } from './factories/create-native-offline-audio-context';\nimport { createDataCloneError } from './factories/data-clone-error';\nimport { createDecodeAudioData } from './factories/decode-audio-data';\nimport { createDecrementCycleCounter } from './factories/decrement-cycle-counter';\nimport { createDelayNodeConstructor } from './factories/delay-node-constructor';\nimport { createDelayNodeRendererFactory } from './factories/delay-node-renderer-factory';\nimport { createDeleteActiveInputConnectionToAudioNode } from './factories/delete-active-input-connection-to-audio-node';\nimport { createDeleteUnrenderedAudioWorkletNode } from './factories/delete-unrendered-audio-worklet-node';\nimport { createDetectCycles } from './factories/detect-cycles';\nimport { createDisconnectMultipleOutputs } from './factories/disconnect-multiple-outputs';\nimport { createDynamicsCompressorNodeConstructor } from './factories/dynamics-compressor-node-constructor';\nimport { createDynamicsCompressorNodeRendererFactory } from './factories/dynamics-compressor-node-renderer-factory';\nimport { createEncodingError } from './factories/encoding-error';\nimport { createEvaluateSource } from './factories/evaluate-source';\nimport { createEventTargetConstructor } from './factories/event-target-constructor';\nimport { createExposeCurrentFrameAndCurrentTime } from './factories/expose-current-frame-and-current-time';\nimport { createFetchSource } from './factories/fetch-source';\nimport { createGainNodeConstructor } from './factories/gain-node-constructor';\nimport { createGainNodeRendererFactory } from './factories/gain-node-renderer-factory';\nimport { createGetActiveAudioWorkletNodeInputs } from './factories/get-active-audio-worklet-node-inputs';\nimport { createGetAudioNodeRenderer } from './factories/get-audio-node-renderer';\nimport { createGetAudioNodeTailTime } from './factories/get-audio-node-tail-time';\nimport { createGetAudioParamRenderer } from './factories/get-audio-param-renderer';\nimport { createGetBackupOfflineAudioContext } from './factories/get-backup-offline-audio-context';\nimport { createGetNativeContext } from './factories/get-native-context';\nimport { createGetOrCreateBackupOfflineAudioContext } from './factories/get-or-create-backup-offline-audio-context';\nimport { createGetUnrenderedAudioWorkletNodes } from './factories/get-unrendered-audio-worklet-nodes';\nimport { createIIRFilterNodeConstructor } from './factories/iir-filter-node-constructor';\nimport { createIIRFilterNodeRendererFactory } from './factories/iir-filter-node-renderer-factory';\nimport { createIncrementCycleCounterFactory } from './factories/increment-cycle-counter-factory';\nimport { createIndexSizeError } from './factories/index-size-error';\nimport { createInvalidAccessError } from './factories/invalid-access-error';\nimport { createInvalidStateError } from './factories/invalid-state-error';\nimport { createIsAnyAudioContext } from './factories/is-any-audio-context';\nimport { createIsAnyAudioNode } from './factories/is-any-audio-node';\nimport { createIsAnyAudioParam } from './factories/is-any-audio-param';\nimport { createIsAnyOfflineAudioContext } from './factories/is-any-offline-audio-context';\nimport { createIsNativeAudioContext } from './factories/is-native-audio-context';\nimport { createIsNativeAudioNode } from './factories/is-native-audio-node';\nimport { createIsNativeAudioParam } from './factories/is-native-audio-param';\nimport { createIsNativeContext } from './factories/is-native-context';\nimport { createIsNativeOfflineAudioContext } from './factories/is-native-offline-audio-context';\nimport { createIsSecureContext } from './factories/is-secure-context';\nimport { createIsSupportedPromise } from './factories/is-supported-promise';\nimport { createMediaElementAudioSourceNodeConstructor } from './factories/media-element-audio-source-node-constructor';\nimport { createMediaStreamAudioDestinationNodeConstructor } from './factories/media-stream-audio-destination-node-constructor';\nimport { createMediaStreamAudioSourceNodeConstructor } from './factories/media-stream-audio-source-node-constructor';\nimport { createMediaStreamTrackAudioSourceNodeConstructor } from './factories/media-stream-track-audio-source-node-constructor';\nimport { createMinimalAudioContextConstructor } from './factories/minimal-audio-context-constructor';\nimport { createMinimalBaseAudioContextConstructor } from './factories/minimal-base-audio-context-constructor';\nimport { createMinimalOfflineAudioContextConstructor } from './factories/minimal-offline-audio-context-constructor';\nimport { createMonitorConnections } from './factories/monitor-connections';\nimport { createNativeAnalyserNodeFactory } from './factories/native-analyser-node-factory';\nimport { createNativeAudioBufferConstructor } from './factories/native-audio-buffer-constructor';\nimport { createNativeAudioBufferSourceNodeFactory } from './factories/native-audio-buffer-source-node-factory';\nimport { createNativeAudioContextConstructor } from './factories/native-audio-context-constructor';\nimport { createNativeAudioDestinationNodeFactory } from './factories/native-audio-destination-node';\nimport { createNativeAudioWorkletNodeConstructor } from './factories/native-audio-worklet-node-constructor';\nimport { createNativeAudioWorkletNodeFactory } from './factories/native-audio-worklet-node-factory';\nimport { createNativeAudioWorkletNodeFakerFactory } from './factories/native-audio-worklet-node-faker-factory';\nimport { createNativeBiquadFilterNode } from './factories/native-biquad-filter-node';\nimport { createNativeChannelMergerNodeFactory } from './factories/native-channel-merger-node-factory';\nimport { createNativeChannelSplitterNode } from './factories/native-channel-splitter-node';\nimport { createNativeConstantSourceNodeFactory } from './factories/native-constant-source-node-factory';\nimport { createNativeConstantSourceNodeFakerFactory } from './factories/native-constant-source-node-faker-factory';\nimport { createNativeConvolverNodeFactory } from './factories/native-convolver-node-factory';\nimport { createNativeDelayNode } from './factories/native-delay-node';\nimport { createNativeDynamicsCompressorNodeFactory } from './factories/native-dynamics-compressor-node-factory';\nimport { createNativeGainNode } from './factories/native-gain-node';\nimport { createNativeIIRFilterNodeFactory } from './factories/native-iir-filter-node-factory';\nimport { createNativeIIRFilterNodeFakerFactory } from './factories/native-iir-filter-node-faker-factory';\nimport { createNativeMediaElementAudioSourceNode } from './factories/native-media-element-audio-source-node';\nimport { createNativeMediaStreamAudioDestinationNode } from './factories/native-media-stream-audio-destination-node';\nimport { createNativeMediaStreamAudioSourceNode } from './factories/native-media-stream-audio-source-node';\nimport { createNativeMediaStreamTrackAudioSourceNodeFactory } from './factories/native-media-stream-track-audio-source-node-factory';\nimport { createNativeOfflineAudioContextConstructor } from './factories/native-offline-audio-context-constructor';\nimport { createNativeOscillatorNodeFactory } from './factories/native-oscillator-node-factory';\nimport { createNativePannerNodeFactory } from './factories/native-panner-node-factory';\nimport { createNativePannerNodeFakerFactory } from './factories/native-panner-node-faker-factory';\nimport { createNativePeriodicWaveFactory } from './factories/native-periodic-wave-factory';\nimport { createNativeScriptProcessorNode } from './factories/native-script-processor-node';\nimport { createNativeStereoPannerNodeFactory } from './factories/native-stereo-panner-node-factory';\nimport { createNativeStereoPannerNodeFakerFactory } from './factories/native-stereo-panner-node-faker-factory';\nimport { createNativeWaveShaperNodeFactory } from './factories/native-wave-shaper-node-factory';\nimport { createNativeWaveShaperNodeFakerFactory } from './factories/native-wave-shaper-node-faker-factory';\nimport { createNotSupportedError } from './factories/not-supported-error';\nimport { createOfflineAudioContextConstructor } from './factories/offline-audio-context-constructor';\nimport { createOscillatorNodeConstructor } from './factories/oscillator-node-constructor';\nimport { createOscillatorNodeRendererFactory } from './factories/oscillator-node-renderer-factory';\nimport { createPannerNodeConstructor } from './factories/panner-node-constructor';\nimport { createPannerNodeRendererFactory } from './factories/panner-node-renderer-factory';\nimport { createPeriodicWaveConstructor } from './factories/periodic-wave-constructor';\nimport { createRenderAutomation } from './factories/render-automation';\nimport { createRenderInputsOfAudioNode } from './factories/render-inputs-of-audio-node';\nimport { createRenderInputsOfAudioParam } from './factories/render-inputs-of-audio-param';\nimport { createRenderNativeOfflineAudioContext } from './factories/render-native-offline-audio-context';\nimport { createSetActiveAudioWorkletNodeInputs } from './factories/set-active-audio-worklet-node-inputs';\nimport { createSetAudioNodeTailTime } from './factories/set-audio-node-tail-time';\nimport { createStartRendering } from './factories/start-rendering';\nimport { createStereoPannerNodeConstructor } from './factories/stereo-panner-node-constructor';\nimport { createStereoPannerNodeRendererFactory } from './factories/stereo-panner-node-renderer-factory';\nimport { createTestAudioBufferConstructorSupport } from './factories/test-audio-buffer-constructor-support';\nimport { createTestAudioBufferCopyChannelMethodsSubarraySupport } from './factories/test-audio-buffer-copy-channel-methods-subarray-support';\nimport { createTestAudioContextCloseMethodSupport } from './factories/test-audio-context-close-method-support';\nimport { createTestAudioContextDecodeAudioDataMethodTypeErrorSupport } from './factories/test-audio-context-decode-audio-data-method-type-error-support';\nimport { createTestAudioContextOptionsSupport } from './factories/test-audio-context-options-support';\nimport { createTestAudioNodeConnectMethodSupport } from './factories/test-audio-node-connect-method-support';\nimport { createTestAudioWorkletProcessorNoOutputsSupport } from './factories/test-audio-worklet-processor-no-outputs-support';\nimport { createTestAudioWorkletProcessorPostMessageSupport } from './factories/test-audio-worklet-processor-post-message-support';\nimport { createTestChannelMergerNodeChannelCountSupport } from './factories/test-channel-merger-node-channel-count-support';\nimport { createTestConstantSourceNodeAccurateSchedulingSupport } from './factories/test-constant-source-node-accurate-scheduling-support';\nimport { createTestConvolverNodeBufferReassignabilitySupport } from './factories/test-convolver-node-buffer-reassignability-support';\nimport { createTestConvolverNodeChannelCountSupport } from './factories/test-convolver-node-channel-count-support';\nimport { createTestIsSecureContextSupport } from './factories/test-is-secure-context-support';\nimport { createTestMediaStreamAudioSourceNodeMediaStreamWithoutAudioTrackSupport } from './factories/test-media-stream-audio-source-node-media-stream-without-audio-track-support';\nimport { createTestOfflineAudioContextCurrentTimeSupport } from './factories/test-offline-audio-context-current-time-support';\nimport { createTestStereoPannerNodeDefaultValueSupport } from './factories/test-stereo-panner-node-default-value-support';\nimport { createUnknownError } from './factories/unknown-error';\nimport { createWaveShaperNodeConstructor } from './factories/wave-shaper-node-constructor';\nimport { createWaveShaperNodeRendererFactory } from './factories/wave-shaper-node-renderer-factory';\nimport { createWindow } from './factories/window';\nimport { createWrapAudioBufferCopyChannelMethods } from './factories/wrap-audio-buffer-copy-channel-methods';\nimport { createWrapAudioBufferCopyChannelMethodsOutOfBounds } from './factories/wrap-audio-buffer-copy-channel-methods-out-of-bounds';\nimport { createWrapAudioBufferSourceNodeStopMethodNullifiedBuffer } from './factories/wrap-audio-buffer-source-node-stop-method-nullified-buffer';\nimport { createWrapChannelMergerNode } from './factories/wrap-channel-merger-node';\nimport {\n AUDIO_NODE_CONNECTIONS_STORE,\n AUDIO_NODE_STORE,\n AUDIO_PARAM_CONNECTIONS_STORE,\n AUDIO_PARAM_STORE,\n CONTEXT_STORE,\n CYCLE_COUNTERS\n} from './globals';\nimport { connectNativeAudioNodeToNativeAudioNode } from './helpers/connect-native-audio-node-to-native-audio-node';\nimport { disconnectNativeAudioNodeFromNativeAudioNode } from './helpers/disconnect-native-audio-node-from-native-audio-node';\nimport { getAudioNodeConnections } from './helpers/get-audio-node-connections';\nimport { getAudioParamConnections } from './helpers/get-audio-param-connections';\nimport { getEventListenersOfAudioNode } from './helpers/get-event-listeners-of-audio-node';\nimport { getFirstSample } from './helpers/get-first-sample';\nimport { getNativeAudioNode } from './helpers/get-native-audio-node';\nimport { getNativeAudioParam } from './helpers/get-native-audio-param';\nimport { getValueForKey } from './helpers/get-value-for-key';\nimport { insertElementInSet } from './helpers/insert-element-in-set';\nimport { isActiveAudioNode } from './helpers/is-active-audio-node';\nimport { isDCCurve } from './helpers/is-dc-curve';\nimport { isPartOfACycle } from './helpers/is-part-of-a-cycle';\nimport { isPassiveAudioNode } from './helpers/is-passive-audio-node';\nimport { overwriteAccessors } from './helpers/overwrite-accessors';\nimport { pickElementFromSet } from './helpers/pick-element-from-set';\nimport { sanitizeAudioWorkletNodeOptions } from './helpers/sanitize-audio-worklet-node-options';\nimport { sanitizeChannelSplitterOptions } from './helpers/sanitize-channel-splitter-options';\nimport { sanitizePeriodicWaveOptions } from './helpers/sanitize-periodic-wave-options';\nimport { setValueAtTimeUntilPossible } from './helpers/set-value-at-time-until-possible';\nimport { testAudioBufferCopyChannelMethodsOutOfBoundsSupport } from './helpers/test-audio-buffer-copy-channel-methods-out-of-bounds-support';\nimport { testAudioBufferSourceNodeStartMethodConsecutiveCallsSupport } from './helpers/test-audio-buffer-source-node-start-method-consecutive-calls-support';\nimport { testAudioBufferSourceNodeStartMethodOffsetClampingSupport } from './helpers/test-audio-buffer-source-node-start-method-offset-clamping-support';\nimport { testAudioBufferSourceNodeStopMethodNullifiedBufferSupport } from './helpers/test-audio-buffer-source-node-stop-method-nullified-buffer-support';\nimport { testAudioScheduledSourceNodeStartMethodNegativeParametersSupport } from './helpers/test-audio-scheduled-source-node-start-method-negative-parameters-support';\nimport { testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport } from './helpers/test-audio-scheduled-source-node-stop-method-consecutive-calls-support';\nimport { testAudioScheduledSourceNodeStopMethodNegativeParametersSupport } from './helpers/test-audio-scheduled-source-node-stop-method-negative-parameters-support';\nimport { testAudioWorkletNodeOptionsClonability } from './helpers/test-audio-worklet-node-options-clonability';\nimport { testDomExceptionConstructorSupport } from './helpers/test-dom-exception-constructor-support';\nimport { testPromiseSupport } from './helpers/test-promise-support';\nimport { testTransferablesSupport } from './helpers/test-transferables-support';\nimport { wrapAudioBufferSourceNodeStartMethodOffsetClamping } from './helpers/wrap-audio-buffer-source-node-start-method-offset-clamping';\nimport { wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls } from './helpers/wrap-audio-scheduled-source-node-stop-method-consecutive-calls';\nimport { wrapEventListener } from './helpers/wrap-event-listener';\nimport {\n IAnalyserNode,\n IAudioBuffer,\n IAudioBufferSourceNode,\n IAudioContext,\n IAudioNode,\n IAudioWorkletNode,\n IBiquadFilterNode,\n IConstantSourceNode,\n IConvolverNode,\n IDelayNode,\n IDynamicsCompressorNode,\n IGainNode,\n IIIRFilterNode,\n IMediaElementAudioSourceNode,\n IMediaStreamAudioDestinationNode,\n IMediaStreamAudioSourceNode,\n IMediaStreamTrackAudioSourceNode,\n IMinimalAudioContext,\n IMinimalOfflineAudioContext,\n IOfflineAudioContext,\n IOfflineAudioContextConstructor,\n IOscillatorNode,\n IPannerNode,\n IPeriodicWave,\n IStereoPannerNode,\n IWaveShaperNode\n} from './interfaces';\nimport {\n TActiveAudioWorkletNodeInputsStore,\n TAddAudioWorkletModuleFunction,\n TAnalyserNodeConstructor,\n TAudioBufferConstructor,\n TAudioBufferSourceNodeConstructor,\n TAudioBufferStore,\n TAudioContextConstructor,\n TAudioParamAudioNodeStore,\n TAudioWorkletNodeConstructor,\n TBackupOfflineAudioContextStore,\n TBiquadFilterNodeConstructor,\n TChannelMergerNodeConstructor,\n TChannelSplitterNodeConstructor,\n TConstantSourceNodeConstructor,\n TContext,\n TConvolverNodeConstructor,\n TDecodeAudioDataFunction,\n TDelayNodeConstructor,\n TDynamicsCompressorNodeConstructor,\n TGainNodeConstructor,\n TIIRFilterNodeConstructor,\n TMediaElementAudioSourceNodeConstructor,\n TMediaStreamAudioDestinationNodeConstructor,\n TMediaStreamAudioSourceNodeConstructor,\n TMediaStreamTrackAudioSourceNodeConstructor,\n TMinimalAudioContextConstructor,\n TMinimalOfflineAudioContextConstructor,\n TOscillatorNodeConstructor,\n TPannerNodeConstructor,\n TPeriodicWaveConstructor,\n TStereoPannerNodeConstructor,\n TUnrenderedAudioWorkletNodeStore,\n TWaveShaperNodeConstructor\n} from './types';\n\n/*\n * @todo Explicitly referencing the barrel file seems to be necessary when enabling the\n * isolatedModules compiler option.\n */\nexport * from './interfaces/index';\nexport * from './types/index';\n\nconst addActiveInputConnectionToAudioNode = createAddActiveInputConnectionToAudioNode(insertElementInSet);\nconst addPassiveInputConnectionToAudioNode = createAddPassiveInputConnectionToAudioNode(insertElementInSet);\nconst deleteActiveInputConnectionToAudioNode = createDeleteActiveInputConnectionToAudioNode(pickElementFromSet);\nconst audioNodeTailTimeStore = new WeakMap();\nconst getAudioNodeTailTime = createGetAudioNodeTailTime(audioNodeTailTimeStore);\nconst cacheTestResult = createCacheTestResult(new Map(), new WeakMap());\nconst window = createWindow();\nconst createNativeAnalyserNode = createNativeAnalyserNodeFactory(cacheTestResult, createIndexSizeError);\nconst getAudioNodeRenderer = createGetAudioNodeRenderer(getAudioNodeConnections);\nconst renderInputsOfAudioNode = createRenderInputsOfAudioNode(getAudioNodeConnections, getAudioNodeRenderer, isPartOfACycle);\nconst createAnalyserNodeRenderer = createAnalyserNodeRendererFactory(createNativeAnalyserNode, getNativeAudioNode, renderInputsOfAudioNode);\nconst getNativeContext = createGetNativeContext(CONTEXT_STORE);\nconst nativeOfflineAudioContextConstructor = createNativeOfflineAudioContextConstructor(window);\nconst isNativeOfflineAudioContext = createIsNativeOfflineAudioContext(nativeOfflineAudioContextConstructor);\nconst audioParamAudioNodeStore: TAudioParamAudioNodeStore = new WeakMap();\nconst eventTargetConstructor = createEventTargetConstructor(wrapEventListener);\nconst nativeAudioContextConstructor = createNativeAudioContextConstructor(window);\nconst isNativeAudioContext = createIsNativeAudioContext(nativeAudioContextConstructor);\nconst isNativeAudioNode = createIsNativeAudioNode(window);\nconst isNativeAudioParam = createIsNativeAudioParam(window);\nconst nativeAudioWorkletNodeConstructor = createNativeAudioWorkletNodeConstructor(window);\nconst audioNodeConstructor = createAudioNodeConstructor(\n createAddAudioNodeConnections(AUDIO_NODE_CONNECTIONS_STORE),\n createAddConnectionToAudioNode(\n addActiveInputConnectionToAudioNode,\n addPassiveInputConnectionToAudioNode,\n connectNativeAudioNodeToNativeAudioNode,\n deleteActiveInputConnectionToAudioNode,\n disconnectNativeAudioNodeFromNativeAudioNode,\n getAudioNodeConnections,\n getAudioNodeTailTime,\n getEventListenersOfAudioNode,\n getNativeAudioNode,\n insertElementInSet,\n isActiveAudioNode,\n isPartOfACycle,\n isPassiveAudioNode\n ),\n cacheTestResult,\n createIncrementCycleCounterFactory(\n CYCLE_COUNTERS,\n disconnectNativeAudioNodeFromNativeAudioNode,\n getAudioNodeConnections,\n getNativeAudioNode,\n getNativeAudioParam,\n isActiveAudioNode\n ),\n createIndexSizeError,\n createInvalidAccessError,\n createNotSupportedError,\n createDecrementCycleCounter(\n connectNativeAudioNodeToNativeAudioNode,\n CYCLE_COUNTERS,\n getAudioNodeConnections,\n getNativeAudioNode,\n getNativeAudioParam,\n getNativeContext,\n isActiveAudioNode,\n isNativeOfflineAudioContext\n ),\n createDetectCycles(audioParamAudioNodeStore, getAudioNodeConnections, getValueForKey),\n eventTargetConstructor,\n getNativeContext,\n isNativeAudioContext,\n isNativeAudioNode,\n isNativeAudioParam,\n isNativeOfflineAudioContext,\n nativeAudioWorkletNodeConstructor\n);\nconst analyserNodeConstructor: TAnalyserNodeConstructor = createAnalyserNodeConstructor(\n audioNodeConstructor,\n createAnalyserNodeRenderer,\n createIndexSizeError,\n createNativeAnalyserNode,\n getNativeContext,\n isNativeOfflineAudioContext\n);\n\ntype analyserNodeConstructor = IAnalyserNode;\n\nexport { analyserNodeConstructor as AnalyserNode };\n\nconst audioBufferStore: TAudioBufferStore = new WeakSet();\nconst nativeAudioBufferConstructor = createNativeAudioBufferConstructor(window);\nconst convertNumberToUnsignedLong = createConvertNumberToUnsignedLong(new Uint32Array(1));\nconst wrapAudioBufferCopyChannelMethods = createWrapAudioBufferCopyChannelMethods(convertNumberToUnsignedLong, createIndexSizeError);\nconst wrapAudioBufferCopyChannelMethodsOutOfBounds = createWrapAudioBufferCopyChannelMethodsOutOfBounds(convertNumberToUnsignedLong);\nconst audioBufferConstructor: TAudioBufferConstructor = createAudioBufferConstructor(\n audioBufferStore,\n cacheTestResult,\n createNotSupportedError,\n nativeAudioBufferConstructor,\n nativeOfflineAudioContextConstructor,\n createTestAudioBufferConstructorSupport(nativeAudioBufferConstructor),\n wrapAudioBufferCopyChannelMethods,\n wrapAudioBufferCopyChannelMethodsOutOfBounds\n);\n\ntype audioBufferConstructor = IAudioBuffer;\n\nexport { audioBufferConstructor as AudioBuffer };\n\nconst addSilentConnection = createAddSilentConnection(createNativeGainNode);\nconst renderInputsOfAudioParam = createRenderInputsOfAudioParam(getAudioNodeRenderer, getAudioParamConnections, isPartOfACycle);\nconst connectAudioParam = createConnectAudioParam(renderInputsOfAudioParam);\nconst createNativeAudioBufferSourceNode = createNativeAudioBufferSourceNodeFactory(\n addSilentConnection,\n cacheTestResult,\n testAudioBufferSourceNodeStartMethodConsecutiveCallsSupport,\n testAudioBufferSourceNodeStartMethodOffsetClampingSupport,\n testAudioBufferSourceNodeStopMethodNullifiedBufferSupport,\n testAudioScheduledSourceNodeStartMethodNegativeParametersSupport,\n testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport,\n testAudioScheduledSourceNodeStopMethodNegativeParametersSupport,\n wrapAudioBufferSourceNodeStartMethodOffsetClamping,\n createWrapAudioBufferSourceNodeStopMethodNullifiedBuffer(overwriteAccessors),\n wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls\n);\nconst renderAutomation = createRenderAutomation(createGetAudioParamRenderer(getAudioParamConnections), renderInputsOfAudioParam);\nconst createAudioBufferSourceNodeRenderer = createAudioBufferSourceNodeRendererFactory(\n connectAudioParam,\n createNativeAudioBufferSourceNode,\n getNativeAudioNode,\n renderAutomation,\n renderInputsOfAudioNode\n);\nconst createAudioParam = createAudioParamFactory(\n createAddAudioParamConnections(AUDIO_PARAM_CONNECTIONS_STORE),\n audioParamAudioNodeStore,\n AUDIO_PARAM_STORE,\n createAudioParamRenderer,\n createCancelAndHoldAutomationEvent,\n createCancelScheduledValuesAutomationEvent,\n createExponentialRampToValueAutomationEvent,\n createLinearRampToValueAutomationEvent,\n createSetTargetAutomationEvent,\n createSetValueAutomationEvent,\n createSetValueCurveAutomationEvent,\n nativeAudioContextConstructor,\n setValueAtTimeUntilPossible\n);\nconst audioBufferSourceNodeConstructor: TAudioBufferSourceNodeConstructor = createAudioBufferSourceNodeConstructor(\n audioNodeConstructor,\n createAudioBufferSourceNodeRenderer,\n createAudioParam,\n createInvalidStateError,\n createNativeAudioBufferSourceNode,\n getNativeContext,\n isNativeOfflineAudioContext,\n wrapEventListener\n);\n\ntype audioBufferSourceNodeConstructor = IAudioBufferSourceNode;\n\nexport { audioBufferSourceNodeConstructor as AudioBufferSourceNode };\n\nconst audioDestinationNodeConstructor = createAudioDestinationNodeConstructor(\n audioNodeConstructor,\n createAudioDestinationNodeRenderer,\n createIndexSizeError,\n createInvalidStateError,\n createNativeAudioDestinationNodeFactory(createNativeGainNode, overwriteAccessors),\n getNativeContext,\n isNativeOfflineAudioContext,\n renderInputsOfAudioNode\n);\nconst createBiquadFilterNodeRenderer = createBiquadFilterNodeRendererFactory(\n connectAudioParam,\n createNativeBiquadFilterNode,\n getNativeAudioNode,\n renderAutomation,\n renderInputsOfAudioNode\n);\nconst setAudioNodeTailTime = createSetAudioNodeTailTime(audioNodeTailTimeStore);\nconst biquadFilterNodeConstructor: TBiquadFilterNodeConstructor = createBiquadFilterNodeConstructor(\n audioNodeConstructor,\n createAudioParam,\n createBiquadFilterNodeRenderer,\n createInvalidAccessError,\n createNativeBiquadFilterNode,\n getNativeContext,\n isNativeOfflineAudioContext,\n setAudioNodeTailTime\n);\nconst monitorConnections = createMonitorConnections(insertElementInSet, isNativeAudioNode);\nconst wrapChannelMergerNode = createWrapChannelMergerNode(createInvalidStateError, monitorConnections);\nconst createNativeChannelMergerNode = createNativeChannelMergerNodeFactory(nativeAudioContextConstructor, wrapChannelMergerNode);\nconst createChannelMergerNodeRenderer = createChannelMergerNodeRendererFactory(\n createNativeChannelMergerNode,\n getNativeAudioNode,\n renderInputsOfAudioNode\n);\nconst channelMergerNodeConstructor: TChannelMergerNodeConstructor = createChannelMergerNodeConstructor(\n audioNodeConstructor,\n createChannelMergerNodeRenderer,\n createNativeChannelMergerNode,\n getNativeContext,\n isNativeOfflineAudioContext\n);\nconst createChannelSplitterNodeRenderer = createChannelSplitterNodeRendererFactory(\n createNativeChannelSplitterNode,\n getNativeAudioNode,\n renderInputsOfAudioNode\n);\nconst channelSplitterNodeConstructor: TChannelSplitterNodeConstructor = createChannelSplitterNodeConstructor(\n audioNodeConstructor,\n createChannelSplitterNodeRenderer,\n createNativeChannelSplitterNode,\n getNativeContext,\n isNativeOfflineAudioContext,\n sanitizeChannelSplitterOptions\n);\nconst createNativeConstantSourceNodeFaker = createNativeConstantSourceNodeFakerFactory(\n addSilentConnection,\n createNativeAudioBufferSourceNode,\n createNativeGainNode,\n monitorConnections\n);\nconst createNativeConstantSourceNode = createNativeConstantSourceNodeFactory(\n addSilentConnection,\n cacheTestResult,\n createNativeConstantSourceNodeFaker,\n testAudioScheduledSourceNodeStartMethodNegativeParametersSupport,\n testAudioScheduledSourceNodeStopMethodNegativeParametersSupport\n);\nconst createConstantSourceNodeRenderer = createConstantSourceNodeRendererFactory(\n connectAudioParam,\n createNativeConstantSourceNode,\n getNativeAudioNode,\n renderAutomation,\n renderInputsOfAudioNode\n);\nconst constantSourceNodeConstructor: TConstantSourceNodeConstructor = createConstantSourceNodeConstructor(\n audioNodeConstructor,\n createAudioParam,\n createConstantSourceNodeRenderer,\n createNativeConstantSourceNode,\n getNativeContext,\n isNativeOfflineAudioContext,\n wrapEventListener\n);\nconst createNativeConvolverNode = createNativeConvolverNodeFactory(createNotSupportedError, overwriteAccessors);\nconst createConvolverNodeRenderer = createConvolverNodeRendererFactory(\n createNativeConvolverNode,\n getNativeAudioNode,\n renderInputsOfAudioNode\n);\nconst convolverNodeConstructor: TConvolverNodeConstructor = createConvolverNodeConstructor(\n audioNodeConstructor,\n createConvolverNodeRenderer,\n createNativeConvolverNode,\n getNativeContext,\n isNativeOfflineAudioContext,\n setAudioNodeTailTime\n);\nconst createDelayNodeRenderer = createDelayNodeRendererFactory(\n connectAudioParam,\n createNativeDelayNode,\n getNativeAudioNode,\n renderAutomation,\n renderInputsOfAudioNode\n);\nconst delayNodeConstructor: TDelayNodeConstructor = createDelayNodeConstructor(\n audioNodeConstructor,\n createAudioParam,\n createDelayNodeRenderer,\n createNativeDelayNode,\n getNativeContext,\n isNativeOfflineAudioContext,\n setAudioNodeTailTime\n);\nconst createNativeDynamicsCompressorNode = createNativeDynamicsCompressorNodeFactory(createNotSupportedError);\nconst createDynamicsCompressorNodeRenderer = createDynamicsCompressorNodeRendererFactory(\n connectAudioParam,\n createNativeDynamicsCompressorNode,\n getNativeAudioNode,\n renderAutomation,\n renderInputsOfAudioNode\n);\nconst dynamicsCompressorNodeConstructor: TDynamicsCompressorNodeConstructor = createDynamicsCompressorNodeConstructor(\n audioNodeConstructor,\n createAudioParam,\n createDynamicsCompressorNodeRenderer,\n createNativeDynamicsCompressorNode,\n createNotSupportedError,\n getNativeContext,\n isNativeOfflineAudioContext,\n setAudioNodeTailTime\n);\nconst createGainNodeRenderer = createGainNodeRendererFactory(\n connectAudioParam,\n createNativeGainNode,\n getNativeAudioNode,\n renderAutomation,\n renderInputsOfAudioNode\n);\nconst gainNodeConstructor: TGainNodeConstructor = createGainNodeConstructor(\n audioNodeConstructor,\n createAudioParam,\n createGainNodeRenderer,\n createNativeGainNode,\n getNativeContext,\n isNativeOfflineAudioContext\n);\nconst createNativeIIRFilterNodeFaker = createNativeIIRFilterNodeFakerFactory(\n createInvalidAccessError,\n createInvalidStateError,\n createNativeScriptProcessorNode,\n createNotSupportedError\n);\nconst renderNativeOfflineAudioContext = createRenderNativeOfflineAudioContext(\n cacheTestResult,\n createNativeGainNode,\n createNativeScriptProcessorNode,\n createTestOfflineAudioContextCurrentTimeSupport(createNativeGainNode, nativeOfflineAudioContextConstructor)\n);\nconst createIIRFilterNodeRenderer = createIIRFilterNodeRendererFactory(\n createNativeAudioBufferSourceNode,\n getNativeAudioNode,\n nativeOfflineAudioContextConstructor,\n renderInputsOfAudioNode,\n renderNativeOfflineAudioContext\n);\nconst createNativeIIRFilterNode = createNativeIIRFilterNodeFactory(createNativeIIRFilterNodeFaker);\nconst iIRFilterNodeConstructor: TIIRFilterNodeConstructor = createIIRFilterNodeConstructor(\n audioNodeConstructor,\n createNativeIIRFilterNode,\n createIIRFilterNodeRenderer,\n getNativeContext,\n isNativeOfflineAudioContext,\n setAudioNodeTailTime\n);\nconst createAudioListener = createAudioListenerFactory(\n createAudioParam,\n createNativeChannelMergerNode,\n createNativeConstantSourceNode,\n createNativeScriptProcessorNode,\n createNotSupportedError,\n getFirstSample,\n isNativeOfflineAudioContext,\n overwriteAccessors\n);\nconst unrenderedAudioWorkletNodeStore: TUnrenderedAudioWorkletNodeStore = new WeakMap();\nconst minimalBaseAudioContextConstructor = createMinimalBaseAudioContextConstructor(\n audioDestinationNodeConstructor,\n createAudioListener,\n eventTargetConstructor,\n isNativeOfflineAudioContext,\n unrenderedAudioWorkletNodeStore,\n wrapEventListener\n);\nconst createNativeOscillatorNode = createNativeOscillatorNodeFactory(\n addSilentConnection,\n cacheTestResult,\n testAudioScheduledSourceNodeStartMethodNegativeParametersSupport,\n testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport,\n testAudioScheduledSourceNodeStopMethodNegativeParametersSupport,\n wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls\n);\nconst createOscillatorNodeRenderer = createOscillatorNodeRendererFactory(\n connectAudioParam,\n createNativeOscillatorNode,\n getNativeAudioNode,\n renderAutomation,\n renderInputsOfAudioNode\n);\nconst oscillatorNodeConstructor: TOscillatorNodeConstructor = createOscillatorNodeConstructor(\n audioNodeConstructor,\n createAudioParam,\n createNativeOscillatorNode,\n createOscillatorNodeRenderer,\n getNativeContext,\n isNativeOfflineAudioContext,\n wrapEventListener\n);\nconst createConnectedNativeAudioBufferSourceNode = createConnectedNativeAudioBufferSourceNodeFactory(createNativeAudioBufferSourceNode);\nconst createNativeWaveShaperNodeFaker = createNativeWaveShaperNodeFakerFactory(\n createConnectedNativeAudioBufferSourceNode,\n createInvalidStateError,\n createNativeGainNode,\n isDCCurve,\n monitorConnections\n);\nconst createNativeWaveShaperNode = createNativeWaveShaperNodeFactory(\n createConnectedNativeAudioBufferSourceNode,\n createInvalidStateError,\n createNativeWaveShaperNodeFaker,\n isDCCurve,\n monitorConnections,\n nativeAudioContextConstructor,\n overwriteAccessors\n);\nconst createNativePannerNodeFaker = createNativePannerNodeFakerFactory(\n connectNativeAudioNodeToNativeAudioNode,\n createInvalidStateError,\n createNativeChannelMergerNode,\n createNativeGainNode,\n createNativeScriptProcessorNode,\n createNativeWaveShaperNode,\n createNotSupportedError,\n disconnectNativeAudioNodeFromNativeAudioNode,\n getFirstSample,\n monitorConnections\n);\nconst createNativePannerNode = createNativePannerNodeFactory(createNativePannerNodeFaker);\nconst createPannerNodeRenderer = createPannerNodeRendererFactory(\n connectAudioParam,\n createNativeChannelMergerNode,\n createNativeConstantSourceNode,\n createNativeGainNode,\n createNativePannerNode,\n getNativeAudioNode,\n nativeOfflineAudioContextConstructor,\n renderAutomation,\n renderInputsOfAudioNode,\n renderNativeOfflineAudioContext\n);\nconst pannerNodeConstructor: TPannerNodeConstructor = createPannerNodeConstructor(\n audioNodeConstructor,\n createAudioParam,\n createNativePannerNode,\n createPannerNodeRenderer,\n getNativeContext,\n isNativeOfflineAudioContext,\n setAudioNodeTailTime\n);\nconst createNativePeriodicWave = createNativePeriodicWaveFactory(createIndexSizeError);\nconst periodicWaveConstructor: TPeriodicWaveConstructor = createPeriodicWaveConstructor(\n createNativePeriodicWave,\n getNativeContext,\n new WeakSet(),\n sanitizePeriodicWaveOptions\n);\nconst nativeStereoPannerNodeFakerFactory = createNativeStereoPannerNodeFakerFactory(\n createNativeChannelMergerNode,\n createNativeChannelSplitterNode,\n createNativeGainNode,\n createNativeWaveShaperNode,\n createNotSupportedError,\n monitorConnections\n);\nconst createNativeStereoPannerNode = createNativeStereoPannerNodeFactory(nativeStereoPannerNodeFakerFactory, createNotSupportedError);\nconst createStereoPannerNodeRenderer = createStereoPannerNodeRendererFactory(\n connectAudioParam,\n createNativeStereoPannerNode,\n getNativeAudioNode,\n renderAutomation,\n renderInputsOfAudioNode\n);\nconst stereoPannerNodeConstructor: TStereoPannerNodeConstructor = createStereoPannerNodeConstructor(\n audioNodeConstructor,\n createAudioParam,\n createNativeStereoPannerNode,\n createStereoPannerNodeRenderer,\n getNativeContext,\n isNativeOfflineAudioContext\n);\nconst createWaveShaperNodeRenderer = createWaveShaperNodeRendererFactory(\n createNativeWaveShaperNode,\n getNativeAudioNode,\n renderInputsOfAudioNode\n);\nconst waveShaperNodeConstructor: TWaveShaperNodeConstructor = createWaveShaperNodeConstructor(\n audioNodeConstructor,\n createInvalidStateError,\n createNativeWaveShaperNode,\n createWaveShaperNodeRenderer,\n getNativeContext,\n isNativeOfflineAudioContext,\n setAudioNodeTailTime\n);\nconst isSecureContext = createIsSecureContext(window);\nconst exposeCurrentFrameAndCurrentTime = createExposeCurrentFrameAndCurrentTime(window);\nconst backupOfflineAudioContextStore: TBackupOfflineAudioContextStore = new WeakMap();\nconst getOrCreateBackupOfflineAudioContext = createGetOrCreateBackupOfflineAudioContext(\n backupOfflineAudioContextStore,\n nativeOfflineAudioContextConstructor\n);\n\n// The addAudioWorkletModule() function is only available in a SecureContext.\nexport const addAudioWorkletModule: undefined | TAddAudioWorkletModuleFunction = isSecureContext\n ? createAddAudioWorkletModule(\n cacheTestResult,\n createNotSupportedError,\n createEvaluateSource(window),\n exposeCurrentFrameAndCurrentTime,\n createFetchSource(createAbortError),\n getNativeContext,\n getOrCreateBackupOfflineAudioContext,\n isNativeOfflineAudioContext,\n nativeAudioWorkletNodeConstructor,\n new WeakMap(),\n new WeakMap(),\n createTestAudioWorkletProcessorPostMessageSupport(nativeAudioWorkletNodeConstructor, nativeOfflineAudioContextConstructor),\n // @todo window is guaranteed to be defined because isSecureContext checks that as well.\n >window\n )\n : undefined;\n\nconst isNativeContext = createIsNativeContext(isNativeAudioContext, isNativeOfflineAudioContext);\n\nexport const decodeAudioData: TDecodeAudioDataFunction = createDecodeAudioData(\n audioBufferStore,\n cacheTestResult,\n createDataCloneError,\n createEncodingError,\n new WeakSet(),\n getNativeContext,\n isNativeContext,\n testAudioBufferCopyChannelMethodsOutOfBoundsSupport,\n testPromiseSupport,\n wrapAudioBufferCopyChannelMethods,\n wrapAudioBufferCopyChannelMethodsOutOfBounds\n);\n\nconst baseAudioContextConstructor = createBaseAudioContextConstructor(\n addAudioWorkletModule,\n analyserNodeConstructor,\n audioBufferConstructor,\n audioBufferSourceNodeConstructor,\n biquadFilterNodeConstructor,\n channelMergerNodeConstructor,\n channelSplitterNodeConstructor,\n constantSourceNodeConstructor,\n convolverNodeConstructor,\n decodeAudioData,\n delayNodeConstructor,\n dynamicsCompressorNodeConstructor,\n gainNodeConstructor,\n iIRFilterNodeConstructor,\n minimalBaseAudioContextConstructor,\n oscillatorNodeConstructor,\n pannerNodeConstructor,\n periodicWaveConstructor,\n stereoPannerNodeConstructor,\n waveShaperNodeConstructor\n);\nconst mediaElementAudioSourceNodeConstructor: TMediaElementAudioSourceNodeConstructor = createMediaElementAudioSourceNodeConstructor(\n audioNodeConstructor,\n createNativeMediaElementAudioSourceNode,\n getNativeContext,\n isNativeOfflineAudioContext\n);\nconst mediaStreamAudioDestinationNodeConstructor: TMediaStreamAudioDestinationNodeConstructor =\n createMediaStreamAudioDestinationNodeConstructor(\n audioNodeConstructor,\n createNativeMediaStreamAudioDestinationNode,\n getNativeContext,\n isNativeOfflineAudioContext\n );\nconst mediaStreamAudioSourceNodeConstructor: TMediaStreamAudioSourceNodeConstructor = createMediaStreamAudioSourceNodeConstructor(\n audioNodeConstructor,\n createNativeMediaStreamAudioSourceNode,\n getNativeContext,\n isNativeOfflineAudioContext\n);\nconst createNativeMediaStreamTrackAudioSourceNode = createNativeMediaStreamTrackAudioSourceNodeFactory(\n createInvalidStateError,\n isNativeOfflineAudioContext\n);\nconst mediaStreamTrackAudioSourceNodeConstructor: TMediaStreamTrackAudioSourceNodeConstructor =\n createMediaStreamTrackAudioSourceNodeConstructor(audioNodeConstructor, createNativeMediaStreamTrackAudioSourceNode, getNativeContext);\nconst audioContextConstructor: TAudioContextConstructor = createAudioContextConstructor(\n baseAudioContextConstructor,\n createInvalidStateError,\n createNotSupportedError,\n createUnknownError,\n mediaElementAudioSourceNodeConstructor,\n mediaStreamAudioDestinationNodeConstructor,\n mediaStreamAudioSourceNodeConstructor,\n mediaStreamTrackAudioSourceNodeConstructor,\n nativeAudioContextConstructor\n);\n\ntype audioContextConstructor = IAudioContext;\n\nexport { audioContextConstructor as AudioContext };\n\nconst getUnrenderedAudioWorkletNodes = createGetUnrenderedAudioWorkletNodes(unrenderedAudioWorkletNodeStore);\nconst addUnrenderedAudioWorkletNode = createAddUnrenderedAudioWorkletNode(getUnrenderedAudioWorkletNodes);\nconst connectMultipleOutputs = createConnectMultipleOutputs(createIndexSizeError);\nconst deleteUnrenderedAudioWorkletNode = createDeleteUnrenderedAudioWorkletNode(getUnrenderedAudioWorkletNodes);\nconst disconnectMultipleOutputs = createDisconnectMultipleOutputs(createIndexSizeError);\nconst activeAudioWorkletNodeInputsStore: TActiveAudioWorkletNodeInputsStore = new WeakMap();\nconst getActiveAudioWorkletNodeInputs = createGetActiveAudioWorkletNodeInputs(activeAudioWorkletNodeInputsStore, getValueForKey);\nconst createNativeAudioWorkletNodeFaker = createNativeAudioWorkletNodeFakerFactory(\n connectMultipleOutputs,\n createIndexSizeError,\n createInvalidStateError,\n createNativeChannelMergerNode,\n createNativeChannelSplitterNode,\n createNativeConstantSourceNode,\n createNativeGainNode,\n createNativeScriptProcessorNode,\n createNotSupportedError,\n disconnectMultipleOutputs,\n exposeCurrentFrameAndCurrentTime,\n getActiveAudioWorkletNodeInputs,\n monitorConnections\n);\nconst createNativeAudioWorkletNode = createNativeAudioWorkletNodeFactory(\n createInvalidStateError,\n createNativeAudioWorkletNodeFaker,\n createNativeGainNode,\n createNotSupportedError,\n monitorConnections\n);\nconst createAudioWorkletNodeRenderer = createAudioWorkletNodeRendererFactory(\n connectAudioParam,\n connectMultipleOutputs,\n createNativeAudioBufferSourceNode,\n createNativeChannelMergerNode,\n createNativeChannelSplitterNode,\n createNativeConstantSourceNode,\n createNativeGainNode,\n deleteUnrenderedAudioWorkletNode,\n disconnectMultipleOutputs,\n exposeCurrentFrameAndCurrentTime,\n getNativeAudioNode,\n nativeAudioWorkletNodeConstructor,\n nativeOfflineAudioContextConstructor,\n renderAutomation,\n renderInputsOfAudioNode,\n renderNativeOfflineAudioContext\n);\nconst getBackupOfflineAudioContext = createGetBackupOfflineAudioContext(backupOfflineAudioContextStore);\nconst setActiveAudioWorkletNodeInputs = createSetActiveAudioWorkletNodeInputs(activeAudioWorkletNodeInputsStore);\n\n// The AudioWorkletNode constructor is only available in a SecureContext.\nconst audioWorkletNodeConstructor: undefined | TAudioWorkletNodeConstructor = isSecureContext\n ? createAudioWorkletNodeConstructor(\n addUnrenderedAudioWorkletNode,\n audioNodeConstructor,\n createAudioParam,\n createAudioWorkletNodeRenderer,\n createNativeAudioWorkletNode,\n getAudioNodeConnections,\n getBackupOfflineAudioContext,\n getNativeContext,\n isNativeOfflineAudioContext,\n nativeAudioWorkletNodeConstructor,\n sanitizeAudioWorkletNodeOptions,\n setActiveAudioWorkletNodeInputs,\n testAudioWorkletNodeOptionsClonability,\n wrapEventListener\n )\n : undefined;\n\ntype audioWorkletNodeConstructor = undefined | IAudioWorkletNode;\n\nexport { audioWorkletNodeConstructor as AudioWorkletNode };\n\ntype biquadFilterNodeConstructor = IBiquadFilterNode;\n\nexport { biquadFilterNodeConstructor as BiquadFilterNode };\n\ntype channelMergerNodeConstructor = IAudioNode;\n\nexport { channelMergerNodeConstructor as ChannelMergerNode };\n\ntype channelSplitterNodeConstructor = IAudioNode;\n\nexport { channelSplitterNodeConstructor as ChannelSplitterNode };\n\ntype constantSourceNodeConstructor = IConstantSourceNode;\n\nexport { convolverNodeConstructor as ConvolverNode };\n\ntype convolverNodeConstructor = IConvolverNode;\n\nexport { constantSourceNodeConstructor as ConstantSourceNode };\n\ntype delayNodeConstructor = IDelayNode;\n\nexport { delayNodeConstructor as DelayNode };\n\ntype dynamicsCompressorNodeConstructor = IDynamicsCompressorNode;\n\nexport { dynamicsCompressorNodeConstructor as DynamicsCompressorNode };\n\ntype gainNodeConstructor = IGainNode;\n\nexport { gainNodeConstructor as GainNode };\n\ntype iIRFilterNodeConstructor = IIIRFilterNode;\n\nexport { iIRFilterNodeConstructor as IIRFilterNode };\n\ntype mediaElementAudioSourceNodeConstructor = IMediaElementAudioSourceNode;\n\nexport { mediaElementAudioSourceNodeConstructor as MediaElementAudioSourceNode };\n\ntype mediaStreamAudioDestinationNodeConstructor = IMediaStreamAudioDestinationNode;\n\nexport { mediaStreamAudioDestinationNodeConstructor as MediaStreamAudioDestinationNode };\n\ntype mediaStreamAudioSourceNodeConstructor = IMediaStreamAudioSourceNode;\n\nexport { mediaStreamAudioSourceNodeConstructor as MediaStreamAudioSourceNode };\n\ntype mediaStreamTrackAudioSourceNodeConstructor = IMediaStreamTrackAudioSourceNode;\n\nexport { mediaStreamTrackAudioSourceNodeConstructor as MediaStreamTrackAudioSourceNode };\n\nconst minimalAudioContextConstructor: TMinimalAudioContextConstructor = createMinimalAudioContextConstructor(\n createInvalidStateError,\n createNotSupportedError,\n createUnknownError,\n minimalBaseAudioContextConstructor,\n nativeAudioContextConstructor\n);\n\ntype minimalAudioContextConstructor = IMinimalAudioContext;\n\nexport { minimalAudioContextConstructor as MinimalAudioContext };\n\nconst createNativeOfflineAudioContext = createCreateNativeOfflineAudioContext(\n createNotSupportedError,\n nativeOfflineAudioContextConstructor\n);\nconst startRendering = createStartRendering(\n audioBufferStore,\n cacheTestResult,\n getAudioNodeRenderer,\n getUnrenderedAudioWorkletNodes,\n renderNativeOfflineAudioContext,\n testAudioBufferCopyChannelMethodsOutOfBoundsSupport,\n wrapAudioBufferCopyChannelMethods,\n wrapAudioBufferCopyChannelMethodsOutOfBounds\n);\nconst minimalOfflineAudioContextConstructor: TMinimalOfflineAudioContextConstructor = createMinimalOfflineAudioContextConstructor(\n cacheTestResult,\n createInvalidStateError,\n createNativeOfflineAudioContext,\n minimalBaseAudioContextConstructor,\n startRendering\n);\n\ntype minimalOfflineAudioContextConstructor = IMinimalOfflineAudioContext;\n\nexport { minimalOfflineAudioContextConstructor as MinimalOfflineAudioContext };\n\nconst offlineAudioContextConstructor: IOfflineAudioContextConstructor = createOfflineAudioContextConstructor(\n baseAudioContextConstructor,\n cacheTestResult,\n createInvalidStateError,\n createNativeOfflineAudioContext,\n startRendering\n);\n\ntype offlineAudioContextConstructor = IOfflineAudioContext;\n\nexport { offlineAudioContextConstructor as OfflineAudioContext };\n\ntype oscillatorNodeConstructor = IOscillatorNode;\n\nexport { oscillatorNodeConstructor as OscillatorNode };\n\ntype pannerNodeConstructor = IPannerNode;\n\nexport { pannerNodeConstructor as PannerNode };\n\ntype periodicWaveConstructor = IPeriodicWave;\n\nexport { periodicWaveConstructor as PeriodicWave };\n\ntype stereoPannerNodeConstructor = IStereoPannerNode;\n\nexport { stereoPannerNodeConstructor as StereoPannerNode };\n\ntype waveShaperNodeConstructor = IWaveShaperNode;\n\nexport { waveShaperNodeConstructor as WaveShaperNode };\n\nexport const isAnyAudioContext = createIsAnyAudioContext(CONTEXT_STORE, isNativeAudioContext);\n\nexport const isAnyAudioNode = createIsAnyAudioNode(AUDIO_NODE_STORE, isNativeAudioNode);\n\nexport const isAnyAudioParam = createIsAnyAudioParam(AUDIO_PARAM_STORE, isNativeAudioParam);\n\nexport const isAnyOfflineAudioContext = createIsAnyOfflineAudioContext(CONTEXT_STORE, isNativeOfflineAudioContext);\n\nexport const isSupported = () =>\n createIsSupportedPromise(\n cacheTestResult,\n createTestAudioBufferCopyChannelMethodsSubarraySupport(nativeOfflineAudioContextConstructor),\n createTestAudioContextCloseMethodSupport(nativeAudioContextConstructor),\n createTestAudioContextDecodeAudioDataMethodTypeErrorSupport(nativeOfflineAudioContextConstructor),\n createTestAudioContextOptionsSupport(nativeAudioContextConstructor),\n createTestAudioNodeConnectMethodSupport(nativeOfflineAudioContextConstructor),\n createTestAudioWorkletProcessorNoOutputsSupport(nativeAudioWorkletNodeConstructor, nativeOfflineAudioContextConstructor),\n createTestChannelMergerNodeChannelCountSupport(nativeOfflineAudioContextConstructor),\n createTestConstantSourceNodeAccurateSchedulingSupport(nativeOfflineAudioContextConstructor),\n createTestConvolverNodeBufferReassignabilitySupport(nativeOfflineAudioContextConstructor),\n createTestConvolverNodeChannelCountSupport(nativeOfflineAudioContextConstructor),\n testDomExceptionConstructorSupport,\n createTestIsSecureContextSupport(window),\n createTestMediaStreamAudioSourceNodeMediaStreamWithoutAudioTrackSupport(nativeAudioContextConstructor),\n createTestStereoPannerNodeDefaultValueSupport(nativeOfflineAudioContextConstructor),\n testTransferablesSupport\n );\n", "import { TAbortErrorFactory } from '../types';\n\nexport const createAbortError: TAbortErrorFactory = () => new DOMException('', 'AbortError');\n", "import { TAddActiveInputConnectionToAudioNodeFactory } from '../types/add-active-input-connection-to-audio-node-factory';\n\nexport const createAddActiveInputConnectionToAudioNode: TAddActiveInputConnectionToAudioNodeFactory = (insertElementInSet) => {\n return (activeInputs, source, [output, input, eventListener], ignoreDuplicates) => {\n insertElementInSet(\n activeInputs[input],\n [source, output, eventListener],\n (activeInputConnection) => activeInputConnection[0] === source && activeInputConnection[1] === output,\n ignoreDuplicates\n );\n };\n};\n", "import { IAudioNode, IAudioNodeRenderer, IMinimalOfflineAudioContext, IOfflineAudioContext } from '../interfaces';\nimport { TActiveInputConnection, TAddAudioNodeConnectionsFactory, TContext, TNativeAudioNode } from '../types';\n\nexport const createAddAudioNodeConnections: TAddAudioNodeConnectionsFactory = (audioNodeConnectionsStore) => {\n return (\n audioNode: IAudioNode,\n audioNodeRenderer: T extends IMinimalOfflineAudioContext | IOfflineAudioContext ? IAudioNodeRenderer> : null,\n nativeAudioNode: TNativeAudioNode\n ) => {\n const activeInputs = [];\n\n for (let i = 0; i < nativeAudioNode.numberOfInputs; i += 1) {\n activeInputs.push(new Set>());\n }\n\n audioNodeConnectionsStore.set(audioNode, {\n activeInputs,\n outputs: new Set(),\n passiveInputs: new WeakMap(),\n renderer: audioNodeRenderer\n });\n };\n};\n", "import { IAudioParam, IAudioParamRenderer, IMinimalOfflineAudioContext, IOfflineAudioContext } from '../interfaces';\nimport { TAddAudioParamConnectionsFactory, TContext } from '../types';\n\nexport const createAddAudioParamConnections: TAddAudioParamConnectionsFactory = (audioParamConnectionsStore) => {\n return (\n audioParam: IAudioParam,\n audioParamRenderer: T extends IMinimalOfflineAudioContext | IOfflineAudioContext ? IAudioParamRenderer : null\n ) => {\n audioParamConnectionsStore.set(audioParam, { activeInputs: new Set(), passiveInputs: new WeakMap(), renderer: audioParamRenderer });\n };\n};\n", "import { IAudioNode, IAudioWorkletProcessor, IAudioWorkletProcessorConstructor } from './interfaces';\nimport {\n TAudioNodeConnectionsStore,\n TAudioNodeStore,\n TAudioParamConnectionsStore,\n TAudioParamStore,\n TContext,\n TContextStore,\n TCycleCounters,\n TInternalStateEventListener,\n TNativeAudioWorkletNode,\n TNativeContext\n} from './types';\n\nexport const ACTIVE_AUDIO_NODE_STORE: WeakSet> = new WeakSet();\n\nexport const AUDIO_NODE_CONNECTIONS_STORE: TAudioNodeConnectionsStore = new WeakMap();\n\nexport const AUDIO_NODE_STORE: TAudioNodeStore = new WeakMap();\n\nexport const AUDIO_PARAM_CONNECTIONS_STORE: TAudioParamConnectionsStore = new WeakMap();\n\nexport const AUDIO_PARAM_STORE: TAudioParamStore = new WeakMap();\n\nexport const CONTEXT_STORE: TContextStore = new WeakMap();\n\nexport const EVENT_LISTENERS: WeakMap, Set> = new WeakMap();\n\nexport const CYCLE_COUNTERS: TCycleCounters = new WeakMap();\n\n// This clunky name is borrowed from the spec. :-)\nexport const NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS: WeakMap<\n TNativeContext,\n Map\n> = new WeakMap();\n\nexport const NODE_TO_PROCESSOR_MAPS: WeakMap<\n TNativeContext,\n WeakMap>\n> = new WeakMap();\n", "import { TConstructor } from '../types';\n\nconst handler = {\n construct(): any {\n return handler;\n }\n};\n\nexport const isConstructible = (constructible: TConstructor): boolean => {\n try {\n const proxy = new Proxy(constructible, handler);\n\n new proxy(); // tslint:disable-line:no-unused-expression\n } catch {\n return false;\n }\n\n return true;\n};\n", "/*\n * This massive regex tries to cover all the following cases.\n *\n * import './path';\n * import defaultImport from './path';\n * import { namedImport } from './path';\n * import { namedImport as renamendImport } from './path';\n * import * as namespaceImport from './path';\n * import defaultImport, { namedImport } from './path';\n * import defaultImport, { namedImport as renamendImport } from './path';\n * import defaultImport, * as namespaceImport from './path';\n */\nconst IMPORT_STATEMENT_REGEX = /^import(?:(?:[\\s]+[\\w]+|(?:[\\s]+[\\w]+[\\s]*,)?[\\s]*\\{[\\s]*[\\w]+(?:[\\s]+as[\\s]+[\\w]+)?(?:[\\s]*,[\\s]*[\\w]+(?:[\\s]+as[\\s]+[\\w]+)?)*[\\s]*}|(?:[\\s]+[\\w]+[\\s]*,)?[\\s]*\\*[\\s]+as[\\s]+[\\w]+)[\\s]+from)?(?:[\\s]*)(\"([^\"\\\\]|\\\\.)+\"|'([^'\\\\]|\\\\.)+')(?:[\\s]*);?/; // tslint:disable-line:max-line-length\n\nexport const splitImportStatements = (source: string, url: string): [string, string] => {\n const importStatements = [];\n\n let sourceWithoutImportStatements = source.replace(/^[\\s]+/, '');\n let result = sourceWithoutImportStatements.match(IMPORT_STATEMENT_REGEX);\n\n while (result !== null) {\n const unresolvedUrl = result[1].slice(1, -1);\n\n const importStatementWithResolvedUrl = result[0]\n .replace(/([\\s]+)?;?$/, '')\n .replace(unresolvedUrl, new URL(unresolvedUrl, url).toString());\n importStatements.push(importStatementWithResolvedUrl);\n\n sourceWithoutImportStatements = sourceWithoutImportStatements.slice(result[0].length).replace(/^[\\s]+/, '');\n result = sourceWithoutImportStatements.match(IMPORT_STATEMENT_REGEX);\n }\n\n return [importStatements.join(';'), sourceWithoutImportStatements];\n};\n", "import { NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS } from '../globals';\nimport { isConstructible } from '../helpers/is-constructible';\nimport { splitImportStatements } from '../helpers/split-import-statements';\nimport { IAudioWorkletProcessorConstructor } from '../interfaces';\nimport { TAddAudioWorkletModuleFactory, TEvaluateAudioWorkletGlobalScopeFunction } from '../types';\n\nconst verifyParameterDescriptors = (parameterDescriptors: IAudioWorkletProcessorConstructor['parameterDescriptors']) => {\n if (parameterDescriptors !== undefined && !Array.isArray(parameterDescriptors)) {\n throw new TypeError('The parameterDescriptors property of given value for processorCtor is not an array.');\n }\n};\n\nconst verifyProcessorCtor = (processorCtor: T) => {\n if (!isConstructible(processorCtor)) {\n throw new TypeError('The given value for processorCtor should be a constructor.');\n }\n\n if (processorCtor.prototype === null || typeof processorCtor.prototype !== 'object') {\n throw new TypeError('The given value for processorCtor should have a prototype.');\n }\n};\n\nexport const createAddAudioWorkletModule: TAddAudioWorkletModuleFactory = (\n cacheTestResult,\n createNotSupportedError,\n evaluateSource,\n exposeCurrentFrameAndCurrentTime,\n fetchSource,\n getNativeContext,\n getOrCreateBackupOfflineAudioContext,\n isNativeOfflineAudioContext,\n nativeAudioWorkletNodeConstructor,\n ongoingRequests,\n resolvedRequests,\n testAudioWorkletProcessorPostMessageSupport,\n window\n) => {\n let index = 0;\n\n return (context, moduleURL, options = { credentials: 'omit' }) => {\n const resolvedRequestsOfContext = resolvedRequests.get(context);\n\n if (resolvedRequestsOfContext !== undefined && resolvedRequestsOfContext.has(moduleURL)) {\n return Promise.resolve();\n }\n\n const ongoingRequestsOfContext = ongoingRequests.get(context);\n\n if (ongoingRequestsOfContext !== undefined) {\n const promiseOfOngoingRequest = ongoingRequestsOfContext.get(moduleURL);\n\n if (promiseOfOngoingRequest !== undefined) {\n return promiseOfOngoingRequest;\n }\n }\n\n const nativeContext = getNativeContext(context);\n\n // Bug #59: Safari does not implement the audioWorklet property.\n const promise =\n nativeContext.audioWorklet === undefined\n ? fetchSource(moduleURL)\n .then(([source, absoluteUrl]) => {\n const [importStatements, sourceWithoutImportStatements] = splitImportStatements(source, absoluteUrl);\n\n /*\n * This is the unminified version of the code used below:\n *\n * ```js\n * ${ importStatements };\n * ((a, b) => {\n * (a[b] = a[b] || [ ]).push(\n * (AudioWorkletProcessor, global, registerProcessor, sampleRate, self, window) => {\n * ${ sourceWithoutImportStatements }\n * }\n * );\n * })(window, '_AWGS');\n * ```\n */\n // tslint:disable-next-line:max-line-length\n const wrappedSource = `${importStatements};((a,b)=>{(a[b]=a[b]||[]).push((AudioWorkletProcessor,global,registerProcessor,sampleRate,self,window)=>{${sourceWithoutImportStatements}\n})})(window,'_AWGS')`;\n\n // @todo Evaluating the given source code is a possible security problem.\n return evaluateSource(wrappedSource);\n })\n .then(() => {\n const evaluateAudioWorkletGlobalScope = ((window)._AWGS).pop();\n\n if (evaluateAudioWorkletGlobalScope === undefined) {\n // Bug #182 Chrome and Edge do throw an instance of a SyntaxError instead of a DOMException.\n throw new SyntaxError();\n }\n\n exposeCurrentFrameAndCurrentTime(nativeContext.currentTime, nativeContext.sampleRate, () =>\n evaluateAudioWorkletGlobalScope(\n class AudioWorkletProcessor {},\n undefined,\n (name, processorCtor) => {\n if (name.trim() === '') {\n throw createNotSupportedError();\n }\n\n const nodeNameToProcessorConstructorMap = NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS.get(nativeContext);\n\n if (nodeNameToProcessorConstructorMap !== undefined) {\n if (nodeNameToProcessorConstructorMap.has(name)) {\n throw createNotSupportedError();\n }\n\n verifyProcessorCtor(processorCtor);\n verifyParameterDescriptors(processorCtor.parameterDescriptors);\n\n nodeNameToProcessorConstructorMap.set(name, processorCtor);\n } else {\n verifyProcessorCtor(processorCtor);\n verifyParameterDescriptors(processorCtor.parameterDescriptors);\n\n NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS.set(nativeContext, new Map([[name, processorCtor]]));\n }\n },\n nativeContext.sampleRate,\n undefined,\n undefined\n )\n );\n })\n : Promise.all([\n fetchSource(moduleURL),\n Promise.resolve(\n cacheTestResult(testAudioWorkletProcessorPostMessageSupport, testAudioWorkletProcessorPostMessageSupport)\n )\n ]).then(([[source, absoluteUrl], isSupportingPostMessage]) => {\n const currentIndex = index + 1;\n\n index = currentIndex;\n\n const [importStatements, sourceWithoutImportStatements] = splitImportStatements(source, absoluteUrl);\n /*\n * Bug #179: Firefox does not allow to transfer any buffer which has been passed to the process() method as an argument.\n *\n * This is the unminified version of the code used below.\n *\n * ```js\n * class extends AudioWorkletProcessor {\n *\n * __buffers = new WeakSet();\n *\n * constructor () {\n * super();\n *\n * this.port.postMessage = ((postMessage) => {\n * return (message, transferables) => {\n * const filteredTransferables = (transferables)\n * ? transferables.filter((transferable) => !this.__buffers.has(transferable))\n * : transferables;\n *\n * return postMessage.call(this.port, message, filteredTransferables);\n * };\n * })(this.port.postMessage);\n * }\n * }\n * ```\n */\n const patchedAudioWorkletProcessor = isSupportingPostMessage\n ? 'AudioWorkletProcessor'\n : 'class extends AudioWorkletProcessor {__b=new WeakSet();constructor(){super();(p=>p.postMessage=(q=>(m,t)=>q.call(p,m,t?t.filter(u=>!this.__b.has(u)):t))(p.postMessage))(this.port)}}';\n /*\n * Bug #170: Chrome and Edge do call process() with an array with empty channelData for each input if no input is connected.\n *\n * Bug #179: Firefox does not allow to transfer any buffer which has been passed to the process() method as an argument.\n *\n * Bug #190: Safari doesn't throw an error when loading an unparsable module.\n *\n * This is the unminified version of the code used below:\n *\n * ```js\n * `${ importStatements };\n * ((AudioWorkletProcessor, registerProcessor) => {${ sourceWithoutImportStatements }\n * })(\n * ${\u00A0patchedAudioWorkletProcessor },\n * (name, processorCtor) => registerProcessor(name, class extends processorCtor {\n *\n * __collectBuffers = (array) => {\n * array.forEach((element) => this.__buffers.add(element.buffer));\n * };\n *\n * process (inputs, outputs, parameters) {\n * inputs.forEach(this.__collectBuffers);\n * outputs.forEach(this.__collectBuffers);\n * this.__collectBuffers(Object.values(parameters));\n *\n * return super.process(\n * (inputs.map((input) => input.some((channelData) => channelData.length === 0)) ? [ ] : input),\n * outputs,\n * parameters\n * );\n * }\n *\n * })\n * );\n *\n * registerProcessor(`__sac${currentIndex}`, class extends AudioWorkletProcessor{\n *\n * process () {\n * return false;\n * }\n *\n * })`\n * ```\n */\n const memberDefinition = isSupportingPostMessage ? '' : '__c = (a) => a.forEach(e=>this.__b.add(e.buffer));';\n const bufferRegistration = isSupportingPostMessage\n ? ''\n : 'i.forEach(this.__c);o.forEach(this.__c);this.__c(Object.values(p));';\n const wrappedSource = `${importStatements};((AudioWorkletProcessor,registerProcessor)=>{${sourceWithoutImportStatements}\n})(${patchedAudioWorkletProcessor},(n,p)=>registerProcessor(n,class extends p{${memberDefinition}process(i,o,p){${bufferRegistration}return super.process(i.map(j=>j.some(k=>k.length===0)?[]:j),o,p)}}));registerProcessor('__sac${currentIndex}',class extends AudioWorkletProcessor{process(){return !1}})`;\n const blob = new Blob([wrappedSource], { type: 'application/javascript; charset=utf-8' });\n const url = URL.createObjectURL(blob);\n\n return nativeContext.audioWorklet\n .addModule(url, options)\n .then(() => {\n if (isNativeOfflineAudioContext(nativeContext)) {\n return nativeContext;\n }\n\n // Bug #186: Chrome and Edge do not allow to create an AudioWorkletNode on a closed AudioContext.\n const backupOfflineAudioContext = getOrCreateBackupOfflineAudioContext(nativeContext);\n\n return backupOfflineAudioContext.audioWorklet.addModule(url, options).then(() => backupOfflineAudioContext);\n })\n .then((nativeContextOrBackupOfflineAudioContext) => {\n if (nativeAudioWorkletNodeConstructor === null) {\n throw new SyntaxError();\n }\n\n try {\n // Bug #190: Safari doesn't throw an error when loading an unparsable module.\n new nativeAudioWorkletNodeConstructor(nativeContextOrBackupOfflineAudioContext, `__sac${currentIndex}`); // tslint:disable-line:no-unused-expression\n } catch {\n throw new SyntaxError();\n }\n })\n .finally(() => URL.revokeObjectURL(url));\n });\n\n if (ongoingRequestsOfContext === undefined) {\n ongoingRequests.set(context, new Map([[moduleURL, promise]]));\n } else {\n ongoingRequestsOfContext.set(moduleURL, promise);\n }\n\n promise\n .then(() => {\n const updatedResolvedRequestsOfContext = resolvedRequests.get(context);\n\n if (updatedResolvedRequestsOfContext === undefined) {\n resolvedRequests.set(context, new Set([moduleURL]));\n } else {\n updatedResolvedRequestsOfContext.add(moduleURL);\n }\n })\n .finally(() => {\n const updatedOngoingRequestsOfContext = ongoingRequests.get(context);\n\n if (updatedOngoingRequestsOfContext !== undefined) {\n updatedOngoingRequestsOfContext.delete(moduleURL);\n }\n });\n\n return promise;\n };\n};\n", "import { TGetValueForKeyFunction } from '../types';\n\nexport const getValueForKey: TGetValueForKeyFunction = (map, key) => {\n const value = map.get(key);\n\n if (value === undefined) {\n throw new Error('A value with the given key could not be found.');\n }\n\n return value;\n};\n", "import { TPickElementFromSetFunction } from '../types';\n\nexport const pickElementFromSet: TPickElementFromSetFunction = (set, predicate) => {\n const matchingElements = Array.from(set).filter(predicate);\n\n if (matchingElements.length > 1) {\n throw Error('More than one element was found.');\n }\n\n if (matchingElements.length === 0) {\n throw Error('No element was found.');\n }\n\n const [matchingElement] = matchingElements;\n\n set.delete(matchingElement);\n\n return matchingElement;\n};\n", "import { IAudioNode } from '../interfaces';\nimport { TContext, TPassiveAudioNodeInputConnection } from '../types';\nimport { getValueForKey } from './get-value-for-key';\nimport { pickElementFromSet } from './pick-element-from-set';\n\nexport const deletePassiveInputConnectionToAudioNode = (\n passiveInputs: WeakMap, Set>,\n source: IAudioNode,\n output: number,\n input: number\n) => {\n const passiveInputConnections = getValueForKey(passiveInputs, source);\n const matchingConnection = pickElementFromSet(\n passiveInputConnections,\n (passiveInputConnection) => passiveInputConnection[0] === output && passiveInputConnection[1] === input\n );\n\n if (passiveInputConnections.size === 0) {\n passiveInputs.delete(source);\n }\n\n return matchingConnection;\n};\n", "import { EVENT_LISTENERS } from '../globals';\nimport { TGetEventListenersOfAudioNodeFunction } from '../types';\nimport { getValueForKey } from './get-value-for-key';\n\nexport const getEventListenersOfAudioNode: TGetEventListenersOfAudioNodeFunction = (audioNode) => {\n return getValueForKey(EVENT_LISTENERS, audioNode);\n};\n", "import { ACTIVE_AUDIO_NODE_STORE } from '../globals';\nimport { IAudioNode } from '../interfaces';\nimport { TContext } from '../types';\nimport { getEventListenersOfAudioNode } from './get-event-listeners-of-audio-node';\n\nexport const setInternalStateToActive = (audioNode: IAudioNode) => {\n if (ACTIVE_AUDIO_NODE_STORE.has(audioNode)) {\n throw new Error('The AudioNode is already stored.');\n }\n\n ACTIVE_AUDIO_NODE_STORE.add(audioNode);\n\n getEventListenersOfAudioNode(audioNode).forEach((eventListener) => eventListener(true));\n};\n", "import { IAudioNode, IAudioWorkletNode } from '../interfaces';\nimport { TContext } from '../types';\n\nexport const isAudioWorkletNode = (audioNode: IAudioNode): audioNode is IAudioWorkletNode => {\n return 'port' in audioNode;\n};\n", "import { ACTIVE_AUDIO_NODE_STORE } from '../globals';\nimport { IAudioNode } from '../interfaces';\nimport { TContext } from '../types';\nimport { getEventListenersOfAudioNode } from './get-event-listeners-of-audio-node';\n\nexport const setInternalStateToPassive = (audioNode: IAudioNode) => {\n if (!ACTIVE_AUDIO_NODE_STORE.has(audioNode)) {\n throw new Error('The AudioNode is not stored.');\n }\n\n ACTIVE_AUDIO_NODE_STORE.delete(audioNode);\n\n getEventListenersOfAudioNode(audioNode).forEach((eventListener) => eventListener(false));\n};\n", "import { isAudioWorkletNode } from '../guards/audio-worklet-node';\nimport { IAudioNode } from '../interfaces';\nimport { TActiveInputConnection, TContext } from '../types';\nimport { setInternalStateToPassive } from './set-internal-state-to-passive';\n\n// Set the internalState of the audioNode to 'passive' if it is not an AudioWorkletNode and if it has no 'active' input connections.\nexport const setInternalStateToPassiveWhenNecessary = (\n audioNode: IAudioNode,\n activeInputs: Set>[]\n) => {\n if (!isAudioWorkletNode(audioNode) && activeInputs.every((connections) => connections.size === 0)) {\n setInternalStateToPassive(audioNode);\n }\n};\n", "import { deletePassiveInputConnectionToAudioNode } from '../helpers/delete-passive-input-connection-to-audio-node';\nimport { setInternalStateToActive } from '../helpers/set-internal-state-to-active';\nimport { setInternalStateToPassiveWhenNecessary } from '../helpers/set-internal-state-to-passive-when-necessary';\nimport { IAudioNode } from '../interfaces';\nimport { TAddConnectionToAudioNodeFactory, TContext, TInternalStateEventListener } from '../types';\n\nexport const createAddConnectionToAudioNode: TAddConnectionToAudioNodeFactory = (\n addActiveInputConnectionToAudioNode,\n addPassiveInputConnectionToAudioNode,\n connectNativeAudioNodeToNativeAudioNode,\n deleteActiveInputConnectionToAudioNode,\n disconnectNativeAudioNodeFromNativeAudioNode,\n getAudioNodeConnections,\n getAudioNodeTailTime,\n getEventListenersOfAudioNode,\n getNativeAudioNode,\n insertElementInSet,\n isActiveAudioNode,\n isPartOfACycle,\n isPassiveAudioNode\n) => {\n const tailTimeTimeoutIds = new WeakMap, number>();\n\n return (source, destination, output, input, isOffline) => {\n const { activeInputs, passiveInputs } = getAudioNodeConnections(destination);\n const { outputs } = getAudioNodeConnections(source);\n const eventListeners = getEventListenersOfAudioNode(source);\n\n const eventListener: TInternalStateEventListener = (isActive) => {\n const nativeDestinationAudioNode = getNativeAudioNode(destination);\n const nativeSourceAudioNode = getNativeAudioNode(source);\n\n if (isActive) {\n const partialConnection = deletePassiveInputConnectionToAudioNode(passiveInputs, source, output, input);\n\n addActiveInputConnectionToAudioNode(activeInputs, source, partialConnection, false);\n\n if (!isOffline && !isPartOfACycle(source)) {\n connectNativeAudioNodeToNativeAudioNode(nativeSourceAudioNode, nativeDestinationAudioNode, output, input);\n }\n\n if (isPassiveAudioNode(destination)) {\n setInternalStateToActive(destination);\n }\n } else {\n const partialConnection = deleteActiveInputConnectionToAudioNode(activeInputs, source, output, input);\n\n addPassiveInputConnectionToAudioNode(passiveInputs, input, partialConnection, false);\n\n if (!isOffline && !isPartOfACycle(source)) {\n disconnectNativeAudioNodeFromNativeAudioNode(nativeSourceAudioNode, nativeDestinationAudioNode, output, input);\n }\n\n const tailTime = getAudioNodeTailTime(destination);\n\n if (tailTime === 0) {\n if (isActiveAudioNode(destination)) {\n setInternalStateToPassiveWhenNecessary(destination, activeInputs);\n }\n } else {\n const tailTimeTimeoutId = tailTimeTimeoutIds.get(destination);\n\n if (tailTimeTimeoutId !== undefined) {\n clearTimeout(tailTimeTimeoutId);\n }\n\n tailTimeTimeoutIds.set(\n destination,\n setTimeout(() => {\n if (isActiveAudioNode(destination)) {\n setInternalStateToPassiveWhenNecessary(destination, activeInputs);\n }\n }, tailTime * 1000)\n );\n }\n }\n };\n\n if (\n insertElementInSet(\n outputs,\n [destination, output, input],\n (outputConnection) =>\n outputConnection[0] === destination && outputConnection[1] === output && outputConnection[2] === input,\n true\n )\n ) {\n eventListeners.add(eventListener);\n\n if (isActiveAudioNode(source)) {\n addActiveInputConnectionToAudioNode(activeInputs, source, [output, input, eventListener], true);\n } else {\n addPassiveInputConnectionToAudioNode(passiveInputs, input, [source, output, eventListener], true);\n }\n\n return true;\n }\n\n return false;\n };\n};\n", "import { TAddPassiveInputConnectionToAudioNodeFactory } from '../types';\n\nexport const createAddPassiveInputConnectionToAudioNode: TAddPassiveInputConnectionToAudioNodeFactory = (insertElementInSet) => {\n return (passiveInputs, input, [source, output, eventListener], ignoreDuplicates) => {\n const passiveInputConnections = passiveInputs.get(source);\n\n if (passiveInputConnections === undefined) {\n passiveInputs.set(source, new Set([[output, input, eventListener]]));\n } else {\n insertElementInSet(\n passiveInputConnections,\n [output, input, eventListener],\n (passiveInputConnection) => passiveInputConnection[0] === output && passiveInputConnection[1] === input,\n ignoreDuplicates\n );\n }\n };\n};\n", "import { TAddSilentConnectionFactory } from '../types';\n\nexport const createAddSilentConnection: TAddSilentConnectionFactory = (createNativeGainNode) => {\n return (nativeContext, nativeAudioScheduledSourceNode) => {\n const nativeGainNode = createNativeGainNode(nativeContext, {\n channelCount: 1,\n channelCountMode: 'explicit',\n channelInterpretation: 'discrete',\n gain: 0\n });\n\n nativeAudioScheduledSourceNode.connect(nativeGainNode).connect(nativeContext.destination);\n\n const disconnect = () => {\n nativeAudioScheduledSourceNode.removeEventListener('ended', disconnect);\n nativeAudioScheduledSourceNode.disconnect(nativeGainNode);\n nativeGainNode.disconnect();\n };\n\n nativeAudioScheduledSourceNode.addEventListener('ended', disconnect);\n };\n};\n", "import { TAddUnrenderedAudioWorkletNodeFactory } from '../types';\n\nexport const createAddUnrenderedAudioWorkletNode: TAddUnrenderedAudioWorkletNodeFactory = (getUnrenderedAudioWorkletNodes) => {\n return (nativeContext, audioWorkletNode) => {\n getUnrenderedAudioWorkletNodes(nativeContext).add(audioWorkletNode);\n };\n};\n", "import { IAnalyserNode, IAnalyserOptions } from '../interfaces';\nimport { TAnalyserNodeConstructorFactory, TAudioNodeRenderer, TContext, TNativeAnalyserNode } from '../types';\n\nconst DEFAULT_OPTIONS = {\n channelCount: 2,\n channelCountMode: 'max',\n channelInterpretation: 'speakers',\n fftSize: 2048,\n maxDecibels: -30,\n minDecibels: -100,\n smoothingTimeConstant: 0.8\n} as const;\n\nexport const createAnalyserNodeConstructor: TAnalyserNodeConstructorFactory = (\n audionNodeConstructor,\n createAnalyserNodeRenderer,\n createIndexSizeError,\n createNativeAnalyserNode,\n getNativeContext,\n isNativeOfflineAudioContext\n) => {\n return class AnalyserNode extends audionNodeConstructor implements IAnalyserNode {\n private _nativeAnalyserNode: TNativeAnalyserNode;\n\n constructor(context: T, options?: Partial) {\n const nativeContext = getNativeContext(context);\n const mergedOptions = { ...DEFAULT_OPTIONS, ...options };\n const nativeAnalyserNode = createNativeAnalyserNode(nativeContext, mergedOptions);\n const analyserNodeRenderer = >(\n (isNativeOfflineAudioContext(nativeContext) ? createAnalyserNodeRenderer() : null)\n );\n\n super(context, false, nativeAnalyserNode, analyserNodeRenderer);\n\n this._nativeAnalyserNode = nativeAnalyserNode;\n }\n\n get fftSize(): number {\n return this._nativeAnalyserNode.fftSize;\n }\n\n set fftSize(value) {\n this._nativeAnalyserNode.fftSize = value;\n }\n\n get frequencyBinCount(): number {\n return this._nativeAnalyserNode.frequencyBinCount;\n }\n\n get maxDecibels(): number {\n return this._nativeAnalyserNode.maxDecibels;\n }\n\n set maxDecibels(value) {\n // Bug #118: Safari does not throw an error if maxDecibels is not more than minDecibels.\n const maxDecibels = this._nativeAnalyserNode.maxDecibels;\n\n this._nativeAnalyserNode.maxDecibels = value;\n\n if (!(value > this._nativeAnalyserNode.minDecibels)) {\n this._nativeAnalyserNode.maxDecibels = maxDecibels;\n\n throw createIndexSizeError();\n }\n }\n\n get minDecibels(): number {\n return this._nativeAnalyserNode.minDecibels;\n }\n\n set minDecibels(value) {\n // Bug #118: Safari does not throw an error if maxDecibels is not more than minDecibels.\n const minDecibels = this._nativeAnalyserNode.minDecibels;\n\n this._nativeAnalyserNode.minDecibels = value;\n\n if (!(this._nativeAnalyserNode.maxDecibels > value)) {\n this._nativeAnalyserNode.minDecibels = minDecibels;\n\n throw createIndexSizeError();\n }\n }\n\n get smoothingTimeConstant(): number {\n return this._nativeAnalyserNode.smoothingTimeConstant;\n }\n\n set smoothingTimeConstant(value) {\n this._nativeAnalyserNode.smoothingTimeConstant = value;\n }\n\n public getByteFrequencyData(array: Uint8Array): void {\n this._nativeAnalyserNode.getByteFrequencyData(array);\n }\n\n public getByteTimeDomainData(array: Uint8Array): void {\n this._nativeAnalyserNode.getByteTimeDomainData(array);\n }\n\n public getFloatFrequencyData(array: Float32Array): void {\n this._nativeAnalyserNode.getFloatFrequencyData(array);\n }\n\n public getFloatTimeDomainData(array: Float32Array): void {\n this._nativeAnalyserNode.getFloatTimeDomainData(array);\n }\n };\n};\n", "import { TNativeAudioNode, TNativeContext } from '../types';\n\nexport const isOwnedByContext = (nativeAudioNode: TNativeAudioNode, nativeContext: TNativeContext): boolean => {\n return nativeAudioNode.context === nativeContext;\n};\n", "import { isOwnedByContext } from '../helpers/is-owned-by-context';\nimport { IAnalyserNode, IMinimalOfflineAudioContext, IOfflineAudioContext } from '../interfaces';\nimport { TAnalyserNodeRendererFactoryFactory, TNativeAnalyserNode, TNativeOfflineAudioContext } from '../types';\n\nexport const createAnalyserNodeRendererFactory: TAnalyserNodeRendererFactoryFactory = (\n createNativeAnalyserNode,\n getNativeAudioNode,\n renderInputsOfAudioNode\n) => {\n return () => {\n const renderedNativeAnalyserNodes = new WeakMap();\n\n const createAnalyserNode = async (proxy: IAnalyserNode, nativeOfflineAudioContext: TNativeOfflineAudioContext) => {\n let nativeAnalyserNode = getNativeAudioNode(proxy);\n\n // If the initially used nativeAnalyserNode was not constructed on the same OfflineAudioContext it needs to be created again.\n const nativeAnalyserNodeIsOwnedByContext = isOwnedByContext(nativeAnalyserNode, nativeOfflineAudioContext);\n\n if (!nativeAnalyserNodeIsOwnedByContext) {\n const options = {\n channelCount: nativeAnalyserNode.channelCount,\n channelCountMode: nativeAnalyserNode.channelCountMode,\n channelInterpretation: nativeAnalyserNode.channelInterpretation,\n fftSize: nativeAnalyserNode.fftSize,\n maxDecibels: nativeAnalyserNode.maxDecibels,\n minDecibels: nativeAnalyserNode.minDecibels,\n smoothingTimeConstant: nativeAnalyserNode.smoothingTimeConstant\n };\n\n nativeAnalyserNode = createNativeAnalyserNode(nativeOfflineAudioContext, options);\n }\n\n renderedNativeAnalyserNodes.set(nativeOfflineAudioContext, nativeAnalyserNode);\n\n await renderInputsOfAudioNode(proxy, nativeOfflineAudioContext, nativeAnalyserNode);\n\n return nativeAnalyserNode;\n };\n\n return {\n render(proxy: IAnalyserNode, nativeOfflineAudioContext: TNativeOfflineAudioContext): Promise {\n const renderedNativeAnalyserNode = renderedNativeAnalyserNodes.get(nativeOfflineAudioContext);\n\n if (renderedNativeAnalyserNode !== undefined) {\n return Promise.resolve(renderedNativeAnalyserNode);\n }\n\n return createAnalyserNode(proxy, nativeOfflineAudioContext);\n }\n };\n };\n};\n", "import { TNativeAudioBuffer } from '../types';\n\nexport const testAudioBufferCopyChannelMethodsOutOfBoundsSupport = (nativeAudioBuffer: TNativeAudioBuffer): boolean => {\n try {\n nativeAudioBuffer.copyToChannel(new Float32Array(1), 0, -1);\n } catch {\n return false;\n }\n\n return true;\n};\n", "import { TIndexSizeErrorFactory } from '../types';\n\nexport const createIndexSizeError: TIndexSizeErrorFactory = () => new DOMException('', 'IndexSizeError');\n", "import { createIndexSizeError } from '../factories/index-size-error';\nimport { TNativeAudioBuffer } from '../types';\n\nexport const wrapAudioBufferGetChannelDataMethod = (audioBuffer: TNativeAudioBuffer): void => {\n audioBuffer.getChannelData = ((getChannelData) => {\n return (channel: number) => {\n try {\n return getChannelData.call(audioBuffer, channel);\n } catch (err) {\n if (err.code === 12) {\n throw createIndexSizeError();\n }\n\n throw err;\n }\n };\n })(audioBuffer.getChannelData);\n};\n", "import { testAudioBufferCopyChannelMethodsOutOfBoundsSupport } from '../helpers/test-audio-buffer-copy-channel-methods-out-of-bounds-support';\nimport { wrapAudioBufferGetChannelDataMethod } from '../helpers/wrap-audio-buffer-get-channel-data-method';\nimport { IAudioBuffer, IAudioBufferOptions } from '../interfaces';\nimport { TAudioBufferConstructorFactory, TNativeOfflineAudioContext } from '../types';\n\nconst DEFAULT_OPTIONS = {\n numberOfChannels: 1\n} as const;\n\nexport const createAudioBufferConstructor: TAudioBufferConstructorFactory = (\n audioBufferStore,\n cacheTestResult,\n createNotSupportedError,\n nativeAudioBufferConstructor,\n nativeOfflineAudioContextConstructor,\n testNativeAudioBufferConstructorSupport,\n wrapAudioBufferCopyChannelMethods,\n wrapAudioBufferCopyChannelMethodsOutOfBounds\n) => {\n let nativeOfflineAudioContext: null | TNativeOfflineAudioContext = null;\n\n return class AudioBuffer implements IAudioBuffer {\n // This field needs to be defined to convince TypeScript that the IAudioBuffer will be implemented.\n public copyFromChannel!: (destination: Float32Array, channelNumber: number, bufferOffset?: number) => void;\n\n // This field needs to be defined to convince TypeScript that the IAudioBuffer will be implemented.\n public copyToChannel!: (source: Float32Array, channelNumber: number, bufferOffset?: number) => void;\n\n // This field needs to be defined to convince TypeScript that the IAudioBuffer will be implemented.\n public duration!: number;\n\n // This field needs to be defined to convince TypeScript that the IAudioBuffer will be implemented.\n public getChannelData!: (channel: number) => Float32Array;\n\n // This field needs to be defined to convince TypeScript that the IAudioBuffer will be implemented.\n public length!: number;\n\n // This field needs to be defined to convince TypeScript that the IAudioBuffer will be implemented.\n public numberOfChannels!: number;\n\n // This field needs to be defined to convince TypeScript that the IAudioBuffer will be implemented.\n public sampleRate!: number;\n\n constructor(options: IAudioBufferOptions) {\n if (nativeOfflineAudioContextConstructor === null) {\n throw new Error('Missing the native OfflineAudioContext constructor.');\n }\n\n const { length, numberOfChannels, sampleRate } = { ...DEFAULT_OPTIONS, ...options };\n\n if (nativeOfflineAudioContext === null) {\n nativeOfflineAudioContext = new nativeOfflineAudioContextConstructor(1, 1, 44100);\n }\n\n /*\n * Bug #99: Firefox does not throw a NotSupportedError when the numberOfChannels is zero. But it only does it when using the\n * factory function. But since Firefox also supports the constructor everything should be fine.\n */\n const audioBuffer =\n nativeAudioBufferConstructor !== null &&\n cacheTestResult(testNativeAudioBufferConstructorSupport, testNativeAudioBufferConstructorSupport)\n ? new nativeAudioBufferConstructor({ length, numberOfChannels, sampleRate })\n : nativeOfflineAudioContext.createBuffer(numberOfChannels, length, sampleRate);\n\n // Bug #99: Safari does not throw an error when the numberOfChannels is zero.\n if (audioBuffer.numberOfChannels === 0) {\n throw createNotSupportedError();\n }\n\n // Bug #5: Safari does not support copyFromChannel() and copyToChannel().\n // Bug #100: Safari does throw a wrong error when calling getChannelData() with an out-of-bounds value.\n if (typeof audioBuffer.copyFromChannel !== 'function') {\n wrapAudioBufferCopyChannelMethods(audioBuffer);\n wrapAudioBufferGetChannelDataMethod(audioBuffer);\n // Bug #157: Firefox does not allow the bufferOffset to be out-of-bounds.\n } else if (\n !cacheTestResult(testAudioBufferCopyChannelMethodsOutOfBoundsSupport, () =>\n testAudioBufferCopyChannelMethodsOutOfBoundsSupport(audioBuffer)\n )\n ) {\n wrapAudioBufferCopyChannelMethodsOutOfBounds(audioBuffer);\n }\n\n audioBufferStore.add(audioBuffer);\n\n /*\n * This does violate all good pratices but it is necessary to allow this AudioBuffer to be used with native\n * (Offline)AudioContexts.\n */\n return audioBuffer;\n }\n\n public static [Symbol.hasInstance](instance: unknown): boolean {\n return (\n (instance !== null && typeof instance === 'object' && Object.getPrototypeOf(instance) === AudioBuffer.prototype) ||\n audioBufferStore.has(instance)\n );\n }\n };\n};\n", "export const MOST_NEGATIVE_SINGLE_FLOAT = -3.4028234663852886e38;\n\nexport const MOST_POSITIVE_SINGLE_FLOAT = -MOST_NEGATIVE_SINGLE_FLOAT;\n", "import { ACTIVE_AUDIO_NODE_STORE } from '../globals';\nimport { TIsActiveAudioNodeFunction } from '../types';\n\nexport const isActiveAudioNode: TIsActiveAudioNodeFunction = (audioNode) => ACTIVE_AUDIO_NODE_STORE.has(audioNode);\n", "import { MOST_NEGATIVE_SINGLE_FLOAT, MOST_POSITIVE_SINGLE_FLOAT } from '../constants';\nimport { isActiveAudioNode } from '../helpers/is-active-audio-node';\nimport { setInternalStateToActive } from '../helpers/set-internal-state-to-active';\nimport { setInternalStateToPassive } from '../helpers/set-internal-state-to-passive';\nimport { IAudioBufferSourceNode, IAudioBufferSourceOptions, IAudioParam, IAudioScheduledSourceNodeEventMap } from '../interfaces';\nimport {\n TAnyAudioBuffer,\n TAudioBufferSourceNodeConstructorFactory,\n TAudioBufferSourceNodeRenderer,\n TContext,\n TEventHandler,\n TNativeAudioBufferSourceNode\n} from '../types';\n\nconst DEFAULT_OPTIONS = {\n buffer: null,\n channelCount: 2,\n channelCountMode: 'max',\n channelInterpretation: 'speakers',\n // Bug #149: Safari does not yet support the detune AudioParam.\n loop: false,\n loopEnd: 0,\n loopStart: 0,\n playbackRate: 1\n} as const;\n\nexport const createAudioBufferSourceNodeConstructor: TAudioBufferSourceNodeConstructorFactory = (\n audioNodeConstructor,\n createAudioBufferSourceNodeRenderer,\n createAudioParam,\n createInvalidStateError,\n createNativeAudioBufferSourceNode,\n getNativeContext,\n isNativeOfflineAudioContext,\n wrapEventListener\n) => {\n return class AudioBufferSourceNode\n extends audioNodeConstructor\n implements IAudioBufferSourceNode\n {\n private _audioBufferSourceNodeRenderer: TAudioBufferSourceNodeRenderer;\n\n private _isBufferNullified: boolean;\n\n private _isBufferSet: boolean;\n\n private _nativeAudioBufferSourceNode: TNativeAudioBufferSourceNode;\n\n private _onended: null | TEventHandler;\n\n private _playbackRate: IAudioParam;\n\n constructor(context: T, options?: Partial) {\n const nativeContext = getNativeContext(context);\n const mergedOptions = { ...DEFAULT_OPTIONS, ...options };\n const nativeAudioBufferSourceNode = createNativeAudioBufferSourceNode(nativeContext, mergedOptions);\n const isOffline = isNativeOfflineAudioContext(nativeContext);\n const audioBufferSourceNodeRenderer = >(\n (isOffline ? createAudioBufferSourceNodeRenderer() : null)\n );\n\n super(context, false, nativeAudioBufferSourceNode, audioBufferSourceNodeRenderer);\n\n this._audioBufferSourceNodeRenderer = audioBufferSourceNodeRenderer;\n this._isBufferNullified = false;\n this._isBufferSet = mergedOptions.buffer !== null;\n this._nativeAudioBufferSourceNode = nativeAudioBufferSourceNode;\n this._onended = null;\n // Bug #73: Safari does not export the correct values for maxValue and minValue.\n this._playbackRate = createAudioParam(\n this,\n isOffline,\n nativeAudioBufferSourceNode.playbackRate,\n MOST_POSITIVE_SINGLE_FLOAT,\n MOST_NEGATIVE_SINGLE_FLOAT\n );\n }\n\n get buffer(): null | TAnyAudioBuffer {\n if (this._isBufferNullified) {\n return null;\n }\n\n return this._nativeAudioBufferSourceNode.buffer;\n }\n\n set buffer(value) {\n this._nativeAudioBufferSourceNode.buffer = value;\n\n // Bug #72: Only Chrome & Edge do not allow to reassign the buffer yet.\n if (value !== null) {\n if (this._isBufferSet) {\n throw createInvalidStateError();\n }\n\n this._isBufferSet = true;\n }\n }\n\n get loop(): boolean {\n return this._nativeAudioBufferSourceNode.loop;\n }\n\n set loop(value) {\n this._nativeAudioBufferSourceNode.loop = value;\n }\n\n get loopEnd(): number {\n return this._nativeAudioBufferSourceNode.loopEnd;\n }\n\n set loopEnd(value) {\n this._nativeAudioBufferSourceNode.loopEnd = value;\n }\n\n get loopStart(): number {\n return this._nativeAudioBufferSourceNode.loopStart;\n }\n\n set loopStart(value) {\n this._nativeAudioBufferSourceNode.loopStart = value;\n }\n\n get onended(): null | TEventHandler {\n return this._onended;\n }\n\n set onended(value) {\n const wrappedListener = typeof value === 'function' ? wrapEventListener(this, value) : null;\n\n this._nativeAudioBufferSourceNode.onended = wrappedListener;\n\n const nativeOnEnded = this._nativeAudioBufferSourceNode.onended;\n\n this._onended = nativeOnEnded !== null && nativeOnEnded === wrappedListener ? value : nativeOnEnded;\n }\n\n get playbackRate(): IAudioParam {\n return this._playbackRate;\n }\n\n public start(when = 0, offset = 0, duration?: number): void {\n this._nativeAudioBufferSourceNode.start(when, offset, duration);\n\n if (this._audioBufferSourceNodeRenderer !== null) {\n this._audioBufferSourceNodeRenderer.start = duration === undefined ? [when, offset] : [when, offset, duration];\n }\n\n if (this.context.state !== 'closed') {\n setInternalStateToActive(this);\n\n const resetInternalStateToPassive = () => {\n this._nativeAudioBufferSourceNode.removeEventListener('ended', resetInternalStateToPassive);\n\n if (isActiveAudioNode(this)) {\n setInternalStateToPassive(this);\n }\n };\n\n this._nativeAudioBufferSourceNode.addEventListener('ended', resetInternalStateToPassive);\n }\n }\n\n public stop(when = 0): void {\n this._nativeAudioBufferSourceNode.stop(when);\n\n if (this._audioBufferSourceNodeRenderer !== null) {\n this._audioBufferSourceNodeRenderer.stop = when;\n }\n }\n };\n};\n", "import { isOwnedByContext } from '../helpers/is-owned-by-context';\nimport { IAudioBufferSourceNode, IMinimalOfflineAudioContext, IOfflineAudioContext } from '../interfaces';\nimport { TAudioBufferSourceNodeRendererFactoryFactory, TNativeAudioBufferSourceNode, TNativeOfflineAudioContext } from '../types';\n\nexport const createAudioBufferSourceNodeRendererFactory: TAudioBufferSourceNodeRendererFactoryFactory = (\n connectAudioParam,\n createNativeAudioBufferSourceNode,\n getNativeAudioNode,\n renderAutomation,\n renderInputsOfAudioNode\n) => {\n return () => {\n const renderedNativeAudioBufferSourceNodes = new WeakMap();\n\n let start: null | [number, number] | [number, number, number] = null;\n let stop: null | number = null;\n\n const createAudioBufferSourceNode = async (\n proxy: IAudioBufferSourceNode,\n nativeOfflineAudioContext: TNativeOfflineAudioContext\n ) => {\n let nativeAudioBufferSourceNode = getNativeAudioNode(proxy);\n\n /*\n * If the initially used nativeAudioBufferSourceNode was not constructed on the same OfflineAudioContext it needs to be created\n * again.\n */\n const nativeAudioBufferSourceNodeIsOwnedByContext = isOwnedByContext(nativeAudioBufferSourceNode, nativeOfflineAudioContext);\n\n if (!nativeAudioBufferSourceNodeIsOwnedByContext) {\n const options = {\n buffer: nativeAudioBufferSourceNode.buffer,\n channelCount: nativeAudioBufferSourceNode.channelCount,\n channelCountMode: nativeAudioBufferSourceNode.channelCountMode,\n channelInterpretation: nativeAudioBufferSourceNode.channelInterpretation,\n // Bug #149: Safari does not yet support the detune AudioParam.\n loop: nativeAudioBufferSourceNode.loop,\n loopEnd: nativeAudioBufferSourceNode.loopEnd,\n loopStart: nativeAudioBufferSourceNode.loopStart,\n playbackRate: nativeAudioBufferSourceNode.playbackRate.value\n };\n\n nativeAudioBufferSourceNode = createNativeAudioBufferSourceNode(nativeOfflineAudioContext, options);\n\n if (start !== null) {\n nativeAudioBufferSourceNode.start(...start);\n }\n\n if (stop !== null) {\n nativeAudioBufferSourceNode.stop(stop);\n }\n }\n\n renderedNativeAudioBufferSourceNodes.set(nativeOfflineAudioContext, nativeAudioBufferSourceNode);\n\n if (!nativeAudioBufferSourceNodeIsOwnedByContext) {\n // Bug #149: Safari does not yet support the detune AudioParam.\n await renderAutomation(nativeOfflineAudioContext, proxy.playbackRate, nativeAudioBufferSourceNode.playbackRate);\n } else {\n // Bug #149: Safari does not yet support the detune AudioParam.\n await connectAudioParam(nativeOfflineAudioContext, proxy.playbackRate, nativeAudioBufferSourceNode.playbackRate);\n }\n\n await renderInputsOfAudioNode(proxy, nativeOfflineAudioContext, nativeAudioBufferSourceNode);\n\n return nativeAudioBufferSourceNode;\n };\n\n return {\n set start(value: [number, number] | [number, number, number]) {\n start = value;\n },\n set stop(value: number) {\n stop = value;\n },\n render(\n proxy: IAudioBufferSourceNode,\n nativeOfflineAudioContext: TNativeOfflineAudioContext\n ): Promise {\n const renderedNativeAudioBufferSourceNode = renderedNativeAudioBufferSourceNodes.get(nativeOfflineAudioContext);\n\n if (renderedNativeAudioBufferSourceNode !== undefined) {\n return Promise.resolve(renderedNativeAudioBufferSourceNode);\n }\n\n return createAudioBufferSourceNode(proxy, nativeOfflineAudioContext);\n }\n };\n };\n};\n", "import { IAudioBufferSourceNode, IAudioNode } from '../interfaces';\nimport { TContext } from '../types';\n\nexport const isAudioBufferSourceNode = (audioNode: IAudioNode): audioNode is IAudioBufferSourceNode => {\n return 'playbackRate' in audioNode;\n};\n", "import { IAudioNode, IBiquadFilterNode } from '../interfaces';\nimport { TContext } from '../types';\n\nexport const isBiquadFilterNode = (audioNode: IAudioNode): audioNode is IBiquadFilterNode => {\n return 'frequency' in audioNode && 'gain' in audioNode;\n};\n", "import { IAudioNode, IConstantSourceNode } from '../interfaces';\nimport { TContext } from '../types';\n\nexport const isConstantSourceNode = (audioNode: IAudioNode): audioNode is IConstantSourceNode => {\n return 'offset' in audioNode;\n};\n", "import { IAudioNode, IGainNode } from '../interfaces';\nimport { TContext } from '../types';\n\nexport const isGainNode = (audioNode: IAudioNode): audioNode is IGainNode => {\n return !('frequency' in audioNode) && 'gain' in audioNode;\n};\n", "import { IAudioNode, IOscillatorNode } from '../interfaces';\nimport { TContext } from '../types';\n\nexport const isOscillatorNode = (audioNode: IAudioNode): audioNode is IOscillatorNode => {\n return 'detune' in audioNode && 'frequency' in audioNode;\n};\n", "import { IAudioNode, IStereoPannerNode } from '../interfaces';\nimport { TContext } from '../types';\n\nexport const isStereoPannerNode = (audioNode: IAudioNode): audioNode is IStereoPannerNode => {\n return 'pan' in audioNode;\n};\n", "import { AUDIO_NODE_CONNECTIONS_STORE } from '../globals';\nimport { IAudioNode } from '../interfaces';\nimport { TAudioNodeConnections, TContext, TGetAudioNodeConnectionsFunction } from '../types';\nimport { getValueForKey } from './get-value-for-key';\n\nexport const getAudioNodeConnections: TGetAudioNodeConnectionsFunction = (\n audioNode: IAudioNode\n): TAudioNodeConnections => {\n return >getValueForKey(AUDIO_NODE_CONNECTIONS_STORE, audioNode);\n};\n", "import { AUDIO_PARAM_CONNECTIONS_STORE } from '../globals';\nimport { IAudioParam } from '../interfaces';\nimport { TAudioParamConnections, TContext, TGetAudioParamConnectionsFunction } from '../types';\nimport { getValueForKey } from './get-value-for-key';\n\nexport const getAudioParamConnections: TGetAudioParamConnectionsFunction = (\n audioParam: IAudioParam\n): TAudioParamConnections => {\n return >getValueForKey(AUDIO_PARAM_CONNECTIONS_STORE, audioParam);\n};\n", "import { isAudioBufferSourceNode } from '../guards/audio-buffer-source-node';\nimport { isAudioWorkletNode } from '../guards/audio-worklet-node';\nimport { isBiquadFilterNode } from '../guards/biquad-filter-node';\nimport { isConstantSourceNode } from '../guards/constant-source-node';\nimport { isGainNode } from '../guards/gain-node';\nimport { isOscillatorNode } from '../guards/oscillator-node';\nimport { isStereoPannerNode } from '../guards/stereo-panner-node';\nimport { IAudioNode } from '../interfaces';\nimport { TContext } from '../types';\nimport { getAudioNodeConnections } from './get-audio-node-connections';\nimport { getAudioParamConnections } from './get-audio-param-connections';\nimport { isActiveAudioNode } from './is-active-audio-node';\nimport { setInternalStateToPassive } from './set-internal-state-to-passive';\n\nexport const deactivateActiveAudioNodeInputConnections = (\n audioNode: IAudioNode,\n trace: readonly IAudioNode[]\n) => {\n const { activeInputs } = getAudioNodeConnections(audioNode);\n\n activeInputs.forEach((connections) =>\n connections.forEach(([source]) => {\n if (!trace.includes(audioNode)) {\n deactivateActiveAudioNodeInputConnections(source, [...trace, audioNode]);\n }\n })\n );\n\n const audioParams = isAudioBufferSourceNode(audioNode)\n ? [\n // Bug #149: Safari does not yet support the detune AudioParam.\n audioNode.playbackRate\n ]\n : isAudioWorkletNode(audioNode)\n ? Array.from(audioNode.parameters.values())\n : isBiquadFilterNode(audioNode)\n ? [audioNode.Q, audioNode.detune, audioNode.frequency, audioNode.gain]\n : isConstantSourceNode(audioNode)\n ? [audioNode.offset]\n : isGainNode(audioNode)\n ? [audioNode.gain]\n : isOscillatorNode(audioNode)\n ? [audioNode.detune, audioNode.frequency]\n : isStereoPannerNode(audioNode)\n ? [audioNode.pan]\n : [];\n\n for (const audioParam of audioParams) {\n const audioParamConnections = getAudioParamConnections(audioParam);\n\n if (audioParamConnections !== undefined) {\n audioParamConnections.activeInputs.forEach(([source]) => deactivateActiveAudioNodeInputConnections(source, trace));\n }\n }\n\n if (isActiveAudioNode(audioNode)) {\n setInternalStateToPassive(audioNode);\n }\n};\n", "import { IAudioDestinationNode } from '../interfaces';\nimport { TContext } from '../types';\nimport { deactivateActiveAudioNodeInputConnections } from './deactivate-active-audio-node-input-connections';\n\nexport const deactivateAudioGraph = (context: T): void => {\n deactivateActiveAudioNodeInputConnections(>context.destination, []);\n};\n", "import { IAudioContextOptions } from '../interfaces';\n\nexport const isValidLatencyHint = (latencyHint: IAudioContextOptions['latencyHint']) => {\n return (\n latencyHint === undefined ||\n typeof latencyHint === 'number' ||\n (typeof latencyHint === 'string' && (latencyHint === 'balanced' || latencyHint === 'interactive' || latencyHint === 'playback'))\n );\n};\n", "import { deactivateAudioGraph } from '../helpers/deactivate-audio-graph';\nimport { isValidLatencyHint } from '../helpers/is-valid-latency-hint';\nimport {\n IAudioContext,\n IAudioContextOptions,\n IMediaElementAudioSourceNode,\n IMediaStreamAudioDestinationNode,\n IMediaStreamAudioSourceNode,\n IMediaStreamTrackAudioSourceNode\n} from '../interfaces';\nimport { TAudioContextConstructorFactory, TAudioContextState, TNativeAudioContext, TNativeGainNode, TNativeOscillatorNode } from '../types';\n\nexport const createAudioContextConstructor: TAudioContextConstructorFactory = (\n baseAudioContextConstructor,\n createInvalidStateError,\n createNotSupportedError,\n createUnknownError,\n mediaElementAudioSourceNodeConstructor,\n mediaStreamAudioDestinationNodeConstructor,\n mediaStreamAudioSourceNodeConstructor,\n mediaStreamTrackAudioSourceNodeConstructor,\n nativeAudioContextConstructor\n) => {\n return class AudioContext extends baseAudioContextConstructor implements IAudioContext {\n private _baseLatency: number;\n\n private _nativeAudioContext: TNativeAudioContext;\n\n private _nativeGainNode: null | TNativeGainNode;\n\n private _nativeOscillatorNode: null | TNativeOscillatorNode;\n\n private _state: null | 'suspended';\n\n constructor(options: IAudioContextOptions = {}) {\n if (nativeAudioContextConstructor === null) {\n throw new Error('Missing the native AudioContext constructor.');\n }\n\n let nativeAudioContext: TNativeAudioContext;\n\n try {\n nativeAudioContext = new nativeAudioContextConstructor(options);\n } catch (err) {\n // Bug #192 Safari does throw a SyntaxError if the sampleRate is not supported.\n if (err.code === 12 && err.message === 'sampleRate is not in range') {\n throw createNotSupportedError();\n }\n\n throw err;\n }\n\n // Bug #131 Safari returns null when there are four other AudioContexts running already.\n if (nativeAudioContext === null) {\n throw createUnknownError();\n }\n\n // Bug #51 Only Chrome and Edge throw an error if the given latencyHint is invalid.\n if (!isValidLatencyHint(options.latencyHint)) {\n throw new TypeError(\n `The provided value '${options.latencyHint}' is not a valid enum value of type AudioContextLatencyCategory.`\n );\n }\n\n // Bug #150 Safari does not support setting the sampleRate.\n if (options.sampleRate !== undefined && nativeAudioContext.sampleRate !== options.sampleRate) {\n throw createNotSupportedError();\n }\n\n super(nativeAudioContext, 2);\n\n const { latencyHint } = options;\n const { sampleRate } = nativeAudioContext;\n\n // @todo The values for 'balanced', 'interactive' and 'playback' are just copied from Chrome's implementation.\n this._baseLatency =\n typeof nativeAudioContext.baseLatency === 'number'\n ? nativeAudioContext.baseLatency\n : latencyHint === 'balanced'\n ? 512 / sampleRate\n : latencyHint === 'interactive' || latencyHint === undefined\n ? 256 / sampleRate\n : latencyHint === 'playback'\n ? 1024 / sampleRate\n : /*\n * @todo The min (256) and max (16384) values are taken from the allowed bufferSize values of a\n * ScriptProcessorNode.\n */\n (Math.max(2, Math.min(128, Math.round((latencyHint * sampleRate) / 128))) * 128) / sampleRate;\n this._nativeAudioContext = nativeAudioContext;\n\n // Bug #188: Safari will set the context's state to 'interrupted' in case the user switches tabs.\n if (nativeAudioContextConstructor.name === 'webkitAudioContext') {\n this._nativeGainNode = nativeAudioContext.createGain();\n this._nativeOscillatorNode = nativeAudioContext.createOscillator();\n\n this._nativeGainNode.gain.value = 1e-37;\n\n this._nativeOscillatorNode.connect(this._nativeGainNode).connect(nativeAudioContext.destination);\n this._nativeOscillatorNode.start();\n } else {\n this._nativeGainNode = null;\n this._nativeOscillatorNode = null;\n }\n\n this._state = null;\n\n /*\n * Bug #34: Chrome and Edge pretend to be running right away, but fire an onstatechange event when the state actually changes\n * to 'running'.\n */\n if (nativeAudioContext.state === 'running') {\n this._state = 'suspended';\n\n const revokeState = () => {\n if (this._state === 'suspended') {\n this._state = null;\n }\n\n nativeAudioContext.removeEventListener('statechange', revokeState);\n };\n\n nativeAudioContext.addEventListener('statechange', revokeState);\n }\n }\n\n get baseLatency(): number {\n return this._baseLatency;\n }\n\n get state(): TAudioContextState {\n return this._state !== null ? this._state : this._nativeAudioContext.state;\n }\n\n public close(): Promise {\n // Bug #35: Firefox does not throw an error if the AudioContext was closed before.\n if (this.state === 'closed') {\n return this._nativeAudioContext.close().then(() => {\n throw createInvalidStateError();\n });\n }\n\n // Bug #34: If the state was set to suspended before it should be revoked now.\n if (this._state === 'suspended') {\n this._state = null;\n }\n\n return this._nativeAudioContext.close().then(() => {\n if (this._nativeGainNode !== null && this._nativeOscillatorNode !== null) {\n this._nativeOscillatorNode.stop();\n\n this._nativeGainNode.disconnect();\n this._nativeOscillatorNode.disconnect();\n }\n\n deactivateAudioGraph(this);\n });\n }\n\n public createMediaElementSource(mediaElement: HTMLMediaElement): IMediaElementAudioSourceNode {\n return new mediaElementAudioSourceNodeConstructor(this, { mediaElement });\n }\n\n public createMediaStreamDestination(): IMediaStreamAudioDestinationNode {\n return new mediaStreamAudioDestinationNodeConstructor(this);\n }\n\n public createMediaStreamSource(mediaStream: MediaStream): IMediaStreamAudioSourceNode {\n return new mediaStreamAudioSourceNodeConstructor(this, { mediaStream });\n }\n\n public createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack): IMediaStreamTrackAudioSourceNode {\n return new mediaStreamTrackAudioSourceNodeConstructor(this, { mediaStreamTrack });\n }\n\n public resume(): Promise {\n if (this._state === 'suspended') {\n return new Promise((resolve, reject) => {\n const resolvePromise = () => {\n this._nativeAudioContext.removeEventListener('statechange', resolvePromise);\n\n if (this._nativeAudioContext.state === 'running') {\n resolve();\n } else {\n this.resume().then(resolve, reject);\n }\n };\n\n this._nativeAudioContext.addEventListener('statechange', resolvePromise);\n });\n }\n\n return this._nativeAudioContext.resume().catch((err) => {\n // Bug #55: Chrome and Edge do throw an InvalidAccessError instead of an InvalidStateError.\n // Bug #56: Safari invokes the catch handler but without an error.\n if (err === undefined || err.code === 15) {\n throw createInvalidStateError();\n }\n\n throw err;\n });\n }\n\n public suspend(): Promise {\n return this._nativeAudioContext.suspend().catch((err) => {\n // Bug #56: Safari invokes the catch handler but without an error.\n if (err === undefined) {\n throw createInvalidStateError();\n }\n\n throw err;\n });\n }\n };\n};\n", "import { IAudioDestinationNode } from '../interfaces';\nimport {\n TAudioDestinationNodeConstructorFactory,\n TAudioNodeRenderer,\n TChannelCountMode,\n TContext,\n TNativeAudioDestinationNode\n} from '../types';\n\nexport const createAudioDestinationNodeConstructor: TAudioDestinationNodeConstructorFactory = (\n audioNodeConstructor,\n createAudioDestinationNodeRenderer,\n createIndexSizeError,\n createInvalidStateError,\n createNativeAudioDestinationNode,\n getNativeContext,\n isNativeOfflineAudioContext,\n renderInputsOfAudioNode\n) => {\n return class AudioDestinationNode extends audioNodeConstructor implements IAudioDestinationNode {\n private _isNodeOfNativeOfflineAudioContext: boolean;\n\n private _nativeAudioDestinationNode: TNativeAudioDestinationNode;\n\n constructor(context: T, channelCount: number) {\n const nativeContext = getNativeContext(context);\n const isOffline = isNativeOfflineAudioContext(nativeContext);\n const nativeAudioDestinationNode = createNativeAudioDestinationNode(nativeContext, channelCount, isOffline);\n const audioDestinationNodeRenderer = >(\n (isOffline ? createAudioDestinationNodeRenderer(renderInputsOfAudioNode) : null)\n );\n\n super(context, false, nativeAudioDestinationNode, audioDestinationNodeRenderer);\n\n this._isNodeOfNativeOfflineAudioContext = isOffline;\n this._nativeAudioDestinationNode = nativeAudioDestinationNode;\n }\n\n get channelCount(): number {\n return this._nativeAudioDestinationNode.channelCount;\n }\n\n set channelCount(value) {\n // Bug #52: Chrome, Edge & Safari do not throw an exception at all.\n // Bug #54: Firefox does throw an IndexSizeError.\n if (this._isNodeOfNativeOfflineAudioContext) {\n throw createInvalidStateError();\n }\n\n // Bug #47: The AudioDestinationNode in Safari does not initialize the maxChannelCount property correctly.\n if (value > this._nativeAudioDestinationNode.maxChannelCount) {\n throw createIndexSizeError();\n }\n\n this._nativeAudioDestinationNode.channelCount = value;\n }\n\n get channelCountMode(): TChannelCountMode {\n return this._nativeAudioDestinationNode.channelCountMode;\n }\n\n set channelCountMode(value) {\n // Bug #53: No browser does throw an exception yet.\n if (this._isNodeOfNativeOfflineAudioContext) {\n throw createInvalidStateError();\n }\n\n this._nativeAudioDestinationNode.channelCountMode = value;\n }\n\n get maxChannelCount(): number {\n return this._nativeAudioDestinationNode.maxChannelCount;\n }\n };\n};\n", "import { IAudioDestinationNode, IMinimalOfflineAudioContext, IOfflineAudioContext } from '../interfaces';\nimport {\n TAudioDestinationNodeRendererFactory,\n TNativeAudioDestinationNode,\n TNativeOfflineAudioContext,\n TRenderInputsOfAudioNodeFunction\n} from '../types';\n\nexport const createAudioDestinationNodeRenderer: TAudioDestinationNodeRendererFactory = <\n T extends IMinimalOfflineAudioContext | IOfflineAudioContext\n>(\n renderInputsOfAudioNode: TRenderInputsOfAudioNodeFunction\n) => {\n const renderedNativeAudioDestinationNodes = new WeakMap();\n\n const createAudioDestinationNode = async (proxy: IAudioDestinationNode, nativeOfflineAudioContext: TNativeOfflineAudioContext) => {\n const nativeAudioDestinationNode = nativeOfflineAudioContext.destination;\n\n renderedNativeAudioDestinationNodes.set(nativeOfflineAudioContext, nativeAudioDestinationNode);\n\n await renderInputsOfAudioNode(proxy, nativeOfflineAudioContext, nativeAudioDestinationNode);\n\n return nativeAudioDestinationNode;\n };\n\n return {\n render(\n proxy: IAudioDestinationNode,\n nativeOfflineAudioContext: TNativeOfflineAudioContext\n ): Promise {\n const renderedNativeAudioDestinationNode = renderedNativeAudioDestinationNodes.get(nativeOfflineAudioContext);\n\n if (renderedNativeAudioDestinationNode !== undefined) {\n return Promise.resolve(renderedNativeAudioDestinationNode);\n }\n\n return createAudioDestinationNode(proxy, nativeOfflineAudioContext);\n }\n };\n};\n", "import { MOST_NEGATIVE_SINGLE_FLOAT, MOST_POSITIVE_SINGLE_FLOAT } from '../constants';\nimport { IAudioParam } from '../interfaces';\nimport { TAudioListenerFactoryFactory } from '../types';\n\nexport const createAudioListenerFactory: TAudioListenerFactoryFactory = (\n createAudioParam,\n createNativeChannelMergerNode,\n createNativeConstantSourceNode,\n createNativeScriptProcessorNode,\n createNotSupportedError,\n getFirstSample,\n isNativeOfflineAudioContext,\n overwriteAccessors\n) => {\n return (context, nativeContext) => {\n const nativeListener = nativeContext.listener;\n\n // Bug #117: Only Chrome & Edge support the new interface already.\n const createFakeAudioParams = () => {\n const buffer = new Float32Array(1);\n const channelMergerNode = createNativeChannelMergerNode(nativeContext, {\n channelCount: 1,\n channelCountMode: 'explicit',\n channelInterpretation: 'speakers',\n numberOfInputs: 9\n });\n const isOffline = isNativeOfflineAudioContext(nativeContext);\n\n let isScriptProcessorNodeCreated = false;\n let lastOrientation: [number, number, number, number, number, number] = [0, 0, -1, 0, 1, 0];\n let lastPosition: [number, number, number] = [0, 0, 0];\n\n const createScriptProcessorNode = () => {\n if (isScriptProcessorNodeCreated) {\n return;\n }\n\n isScriptProcessorNodeCreated = true;\n\n const scriptProcessorNode = createNativeScriptProcessorNode(nativeContext, 256, 9, 0);\n\n // tslint:disable-next-line:deprecation\n scriptProcessorNode.onaudioprocess = ({ inputBuffer }) => {\n const orientation: [number, number, number, number, number, number] = [\n getFirstSample(inputBuffer, buffer, 0),\n getFirstSample(inputBuffer, buffer, 1),\n getFirstSample(inputBuffer, buffer, 2),\n getFirstSample(inputBuffer, buffer, 3),\n getFirstSample(inputBuffer, buffer, 4),\n getFirstSample(inputBuffer, buffer, 5)\n ];\n\n if (orientation.some((value, index) => value !== lastOrientation[index])) {\n nativeListener.setOrientation(...orientation); // tslint:disable-line:deprecation\n\n lastOrientation = orientation;\n }\n\n const positon: [number, number, number] = [\n getFirstSample(inputBuffer, buffer, 6),\n getFirstSample(inputBuffer, buffer, 7),\n getFirstSample(inputBuffer, buffer, 8)\n ];\n\n if (positon.some((value, index) => value !== lastPosition[index])) {\n nativeListener.setPosition(...positon); // tslint:disable-line:deprecation\n\n lastPosition = positon;\n }\n };\n\n channelMergerNode.connect(scriptProcessorNode);\n };\n const createSetOrientation = (index: number) => (value: number) => {\n if (value !== lastOrientation[index]) {\n lastOrientation[index] = value;\n\n nativeListener.setOrientation(...lastOrientation); // tslint:disable-line:deprecation\n }\n };\n const createSetPosition = (index: number) => (value: number) => {\n if (value !== lastPosition[index]) {\n lastPosition[index] = value;\n\n nativeListener.setPosition(...lastPosition); // tslint:disable-line:deprecation\n }\n };\n const createFakeAudioParam = (input: number, initialValue: number, setValue: (value: number) => void) => {\n const constantSourceNode = createNativeConstantSourceNode(nativeContext, {\n channelCount: 1,\n channelCountMode: 'explicit',\n channelInterpretation: 'discrete',\n offset: initialValue\n });\n\n constantSourceNode.connect(channelMergerNode, 0, input);\n\n // @todo This should be stopped when the context is closed.\n constantSourceNode.start();\n\n Object.defineProperty(constantSourceNode.offset, 'defaultValue', {\n get(): number {\n return initialValue;\n }\n });\n\n /*\n * Bug #62 & #74: Safari does not support ConstantSourceNodes and does not export the correct values for maxValue and\n * minValue for GainNodes.\n */\n const audioParam = createAudioParam(\n { context },\n isOffline,\n constantSourceNode.offset,\n MOST_POSITIVE_SINGLE_FLOAT,\n MOST_NEGATIVE_SINGLE_FLOAT\n );\n\n overwriteAccessors(\n audioParam,\n 'value',\n (get) => () => get.call(audioParam),\n (set) => (value) => {\n try {\n set.call(audioParam, value);\n } catch (err) {\n if (err.code !== 9) {\n throw err;\n }\n }\n\n createScriptProcessorNode();\n\n if (isOffline) {\n // Bug #117: Using setOrientation() and setPosition() doesn't work with an OfflineAudioContext.\n setValue(value);\n }\n }\n );\n\n audioParam.cancelAndHoldAtTime = ((cancelAndHoldAtTime) => {\n if (isOffline) {\n return () => {\n throw createNotSupportedError();\n };\n }\n\n return (...args: Parameters) => {\n const value = cancelAndHoldAtTime.apply(audioParam, args);\n\n createScriptProcessorNode();\n\n return value;\n };\n })(audioParam.cancelAndHoldAtTime);\n audioParam.cancelScheduledValues = ((cancelScheduledValues) => {\n if (isOffline) {\n return () => {\n throw createNotSupportedError();\n };\n }\n\n return (...args: Parameters) => {\n const value = cancelScheduledValues.apply(audioParam, args);\n\n createScriptProcessorNode();\n\n return value;\n };\n })(audioParam.cancelScheduledValues);\n audioParam.exponentialRampToValueAtTime = ((exponentialRampToValueAtTime) => {\n if (isOffline) {\n return () => {\n throw createNotSupportedError();\n };\n }\n\n return (...args: Parameters) => {\n const value = exponentialRampToValueAtTime.apply(audioParam, args);\n\n createScriptProcessorNode();\n\n return value;\n };\n })(audioParam.exponentialRampToValueAtTime);\n audioParam.linearRampToValueAtTime = ((linearRampToValueAtTime) => {\n if (isOffline) {\n return () => {\n throw createNotSupportedError();\n };\n }\n\n return (...args: Parameters) => {\n const value = linearRampToValueAtTime.apply(audioParam, args);\n\n createScriptProcessorNode();\n\n return value;\n };\n })(audioParam.linearRampToValueAtTime);\n audioParam.setTargetAtTime = ((setTargetAtTime) => {\n if (isOffline) {\n return () => {\n throw createNotSupportedError();\n };\n }\n\n return (...args: Parameters) => {\n const value = setTargetAtTime.apply(audioParam, args);\n\n createScriptProcessorNode();\n\n return value;\n };\n })(audioParam.setTargetAtTime);\n audioParam.setValueAtTime = ((setValueAtTime) => {\n if (isOffline) {\n return () => {\n throw createNotSupportedError();\n };\n }\n\n return (...args: Parameters) => {\n const value = setValueAtTime.apply(audioParam, args);\n\n createScriptProcessorNode();\n\n return value;\n };\n })(audioParam.setValueAtTime);\n audioParam.setValueCurveAtTime = ((setValueCurveAtTime) => {\n if (isOffline) {\n return () => {\n throw createNotSupportedError();\n };\n }\n\n return (...args: Parameters) => {\n const value = setValueCurveAtTime.apply(audioParam, args);\n\n createScriptProcessorNode();\n\n return value;\n };\n })(audioParam.setValueCurveAtTime);\n\n return audioParam;\n };\n\n return {\n forwardX: createFakeAudioParam(0, 0, createSetOrientation(0)),\n forwardY: createFakeAudioParam(1, 0, createSetOrientation(1)),\n forwardZ: createFakeAudioParam(2, -1, createSetOrientation(2)),\n positionX: createFakeAudioParam(6, 0, createSetPosition(0)),\n positionY: createFakeAudioParam(7, 0, createSetPosition(1)),\n positionZ: createFakeAudioParam(8, 0, createSetPosition(2)),\n upX: createFakeAudioParam(3, 0, createSetOrientation(3)),\n upY: createFakeAudioParam(4, 1, createSetOrientation(4)),\n upZ: createFakeAudioParam(5, 0, createSetOrientation(5))\n };\n };\n\n const { forwardX, forwardY, forwardZ, positionX, positionY, positionZ, upX, upY, upZ } =\n nativeListener.forwardX === undefined ? createFakeAudioParams() : nativeListener;\n\n return {\n get forwardX(): IAudioParam {\n return forwardX;\n },\n get forwardY(): IAudioParam {\n return forwardY;\n },\n get forwardZ(): IAudioParam {\n return forwardZ;\n },\n get positionX(): IAudioParam {\n return positionX;\n },\n get positionY(): IAudioParam {\n return positionY;\n },\n get positionZ(): IAudioParam {\n return positionZ;\n },\n get upX(): IAudioParam {\n return upX;\n },\n get upY(): IAudioParam {\n return upY;\n },\n get upZ(): IAudioParam {\n return upZ;\n }\n };\n };\n};\n", "import { IAudioNode, IAudioParam } from '../interfaces';\nimport { TContext } from '../types';\n\nexport const isAudioNode = (\n audioNodeOrAudioParam: IAudioNode | IAudioParam\n): audioNodeOrAudioParam is IAudioNode => {\n return 'context' in audioNodeOrAudioParam;\n};\n", "import { TAudioNodeOutputConnection, TContext, TOutputConnection } from '../types';\nimport { isAudioNode } from './audio-node';\n\nexport const isAudioNodeOutputConnection = (\n outputConnection: TOutputConnection\n): outputConnection is TAudioNodeOutputConnection => {\n return isAudioNode(outputConnection[0]);\n};\n", "import { TInsertElementInSetFunction } from '../types';\n\nexport const insertElementInSet: TInsertElementInSetFunction = (set, element, predicate, ignoreDuplicates) => {\n for (const lmnt of set) {\n if (predicate(lmnt)) {\n if (ignoreDuplicates) {\n return false;\n }\n\n throw Error('The set contains at least one similar element.');\n }\n }\n\n set.add(element);\n\n return true;\n};\n", "import { IAudioNode } from '../interfaces';\nimport { TActiveInputConnection, TContext, TPassiveAudioParamInputConnection } from '../types';\nimport { insertElementInSet } from './insert-element-in-set';\n\nexport const addActiveInputConnectionToAudioParam = (\n activeInputs: Set>,\n source: IAudioNode,\n [output, eventListener]: TPassiveAudioParamInputConnection,\n ignoreDuplicates: boolean\n) => {\n insertElementInSet(\n activeInputs,\n [source, output, eventListener],\n (activeInputConnection) => activeInputConnection[0] === source && activeInputConnection[1] === output,\n ignoreDuplicates\n );\n};\n", "import { IAudioNode } from '../interfaces';\nimport { TActiveInputConnection, TContext, TPassiveAudioParamInputConnection } from '../types';\nimport { insertElementInSet } from './insert-element-in-set';\n\nexport const addPassiveInputConnectionToAudioParam = (\n passiveInputs: WeakMap, Set>,\n [source, output, eventListener]: TActiveInputConnection,\n ignoreDuplicates: boolean\n) => {\n const passiveInputConnections = passiveInputs.get(source);\n\n if (passiveInputConnections === undefined) {\n passiveInputs.set(source, new Set([[output, eventListener]]));\n } else {\n insertElementInSet(\n passiveInputConnections,\n [output, eventListener],\n (passiveInputConnection) => passiveInputConnection[0] === output,\n ignoreDuplicates\n );\n }\n};\n", "import { INativeAudioNodeFaker } from '../interfaces';\nimport { TNativeAudioNode } from '../types';\n\nexport const isNativeAudioNodeFaker = (\n nativeAudioNodeOrNativeAudioNodeFaker: TNativeAudioNode | INativeAudioNodeFaker\n): nativeAudioNodeOrNativeAudioNodeFaker is INativeAudioNodeFaker => {\n return 'inputs' in nativeAudioNodeOrNativeAudioNodeFaker;\n};\n", "import { isNativeAudioNodeFaker } from '../guards/native-audio-node-faker';\nimport { INativeAudioNodeFaker } from '../interfaces';\nimport { TConnectNativeAudioNodeToNativeAudioNodeFunction, TNativeAudioNode } from '../types';\n\nexport const connectNativeAudioNodeToNativeAudioNode: TConnectNativeAudioNodeToNativeAudioNodeFunction = (\n nativeSourceAudioNode: INativeAudioNodeFaker | TNativeAudioNode,\n nativeDestinationAudioNode: INativeAudioNodeFaker | TNativeAudioNode,\n output: number,\n input: number\n): [TNativeAudioNode, number, number] => {\n if (isNativeAudioNodeFaker(nativeDestinationAudioNode)) {\n const fakeNativeDestinationAudioNode = nativeDestinationAudioNode.inputs[input];\n\n nativeSourceAudioNode.connect(fakeNativeDestinationAudioNode, output, 0);\n\n return [fakeNativeDestinationAudioNode, output, 0];\n }\n\n nativeSourceAudioNode.connect(nativeDestinationAudioNode, output, input);\n\n return [nativeDestinationAudioNode, output, input];\n};\n", "import { IAudioNode } from '../interfaces';\nimport { TActiveInputConnection, TContext } from '../types';\n\nexport const deleteActiveInputConnection = (\n activeInputConnections: Set>,\n source: IAudioNode,\n output: number\n): null | TActiveInputConnection => {\n for (const activeInputConnection of activeInputConnections) {\n if (activeInputConnection[0] === source && activeInputConnection[1] === output) {\n activeInputConnections.delete(activeInputConnection);\n\n return activeInputConnection;\n }\n }\n\n return null;\n};\n", "import { IAudioNode } from '../interfaces';\nimport { TActiveInputConnection, TContext } from '../types';\nimport { pickElementFromSet } from './pick-element-from-set';\n\nexport const deleteActiveInputConnectionToAudioParam = (\n activeInputs: Set>,\n source: IAudioNode,\n output: number\n) => {\n return pickElementFromSet(\n activeInputs,\n (activeInputConnection) => activeInputConnection[0] === source && activeInputConnection[1] === output\n );\n};\n", "import { IAudioNode } from '../interfaces';\nimport { TContext, TInternalStateEventListener } from '../types';\nimport { getEventListenersOfAudioNode } from './get-event-listeners-of-audio-node';\n\nexport const deleteEventListenerOfAudioNode = (\n audioNode: IAudioNode,\n eventListener: TInternalStateEventListener\n) => {\n const eventListeners = getEventListenersOfAudioNode(audioNode);\n\n if (!eventListeners.delete(eventListener)) {\n throw new Error('Missing the expected event listener.');\n }\n};\n", "import { IAudioNode } from '../interfaces';\nimport { TContext, TPassiveAudioParamInputConnection } from '../types';\nimport { getValueForKey } from './get-value-for-key';\nimport { pickElementFromSet } from './pick-element-from-set';\n\nexport const deletePassiveInputConnectionToAudioParam = (\n passiveInputs: WeakMap, Set>,\n source: IAudioNode,\n output: number\n) => {\n const passiveInputConnections = getValueForKey(passiveInputs, source);\n const matchingConnection = pickElementFromSet(\n passiveInputConnections,\n (passiveInputConnection) => passiveInputConnection[0] === output\n );\n\n if (passiveInputConnections.size === 0) {\n passiveInputs.delete(source);\n }\n\n return matchingConnection;\n};\n", "import { isNativeAudioNodeFaker } from '../guards/native-audio-node-faker';\nimport { TDisconnectNativeAudioNodeFromNativeAudioNodeFunction } from '../types';\n\nexport const disconnectNativeAudioNodeFromNativeAudioNode: TDisconnectNativeAudioNodeFromNativeAudioNodeFunction = (\n nativeSourceAudioNode,\n nativeDestinationAudioNode,\n output,\n input\n) => {\n if (isNativeAudioNodeFaker(nativeDestinationAudioNode)) {\n nativeSourceAudioNode.disconnect(nativeDestinationAudioNode.inputs[input], output, 0);\n } else {\n nativeSourceAudioNode.disconnect(nativeDestinationAudioNode, output, input);\n }\n};\n", "import { AUDIO_NODE_STORE } from '../globals';\nimport { IAudioNode, INativeAudioNodeFaker } from '../interfaces';\nimport { TContext, TGetNativeAudioNodeFunction, TNativeAudioNode } from '../types';\nimport { getValueForKey } from './get-value-for-key';\n\nexport const getNativeAudioNode: TGetNativeAudioNodeFunction = (\n audioNode: IAudioNode\n): U => {\n return getValueForKey(AUDIO_NODE_STORE, audioNode);\n};\n", "import { AUDIO_PARAM_STORE } from '../globals';\nimport { IAudioParam } from '../interfaces';\nimport { TNativeAudioParam } from '../types';\nimport { getValueForKey } from './get-value-for-key';\n\nexport const getNativeAudioParam = (audioParam: IAudioParam): TNativeAudioParam => {\n return getValueForKey(AUDIO_PARAM_STORE, audioParam);\n};\n", "import { CYCLE_COUNTERS } from '../globals';\nimport { TIsPartOfACycleFunction } from '../types';\n\nexport const isPartOfACycle: TIsPartOfACycleFunction = (audioNode) => {\n return CYCLE_COUNTERS.has(audioNode);\n};\n", "import { ACTIVE_AUDIO_NODE_STORE } from '../globals';\nimport { TIsPassiveAudioNodeFunction } from '../types';\n\nexport const isPassiveAudioNode: TIsPassiveAudioNodeFunction = (audioNode) => {\n return !ACTIVE_AUDIO_NODE_STORE.has(audioNode);\n};\n", "import { TNativeAudioContext, TNativeAudioWorkletNodeConstructor } from '../types';\n\nexport const testAudioNodeDisconnectMethodSupport = (\n nativeAudioContext: TNativeAudioContext,\n nativeAudioWorkletNodeConstructor: null | TNativeAudioWorkletNodeConstructor\n): Promise => {\n return new Promise((resolve) => {\n /*\n * This bug existed in Safari up until v14.0.2. Since AudioWorklets were not supported in Safari until v14.1 the presence of the\n * constructor for an AudioWorkletNode can be used here to skip the test.\n */\n if (nativeAudioWorkletNodeConstructor !== null) {\n resolve(true);\n } else {\n const analyzer = nativeAudioContext.createScriptProcessor(256, 1, 1); // tslint:disable-line deprecation\n const dummy = nativeAudioContext.createGain();\n // Bug #95: Safari does not play one sample buffers.\n const ones = nativeAudioContext.createBuffer(1, 2, 44100);\n const channelData = ones.getChannelData(0);\n\n channelData[0] = 1;\n channelData[1] = 1;\n\n const source = nativeAudioContext.createBufferSource();\n\n source.buffer = ones;\n source.loop = true;\n\n source.connect(analyzer).connect(nativeAudioContext.destination);\n source.connect(dummy);\n source.disconnect(dummy);\n\n // tslint:disable-next-line:deprecation\n analyzer.onaudioprocess = (event) => {\n const chnnlDt = event.inputBuffer.getChannelData(0); // tslint:disable-line deprecation\n\n if (Array.prototype.some.call(chnnlDt, (sample: number) => sample === 1)) {\n resolve(true);\n } else {\n resolve(false);\n }\n\n source.stop();\n\n analyzer.onaudioprocess = null; // tslint:disable-line:deprecation\n\n source.disconnect(analyzer);\n analyzer.disconnect(nativeAudioContext.destination);\n };\n\n source.start();\n }\n });\n};\n", "import { IAudioNode } from '../interfaces';\nimport { TContext } from '../types';\n\nexport const visitEachAudioNodeOnce =