{"version":3,"file":"ckeditor.js","sources":["webpack://InlineEditor/ckeditor.js"],"sourcesContent":["/*!\n * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md.\n */\n(function(t){const e=t[\"nl\"]=t[\"nl\"]||{};e.dictionary=Object.assign(e.dictionary||{},{\"%0 of %1\":\"0% van 1%\",\"Align center\":\"Midden uitlijnen\",\"Align left\":\"Links uitlijnen\",\"Align right\":\"Rechts uitlijnen\",Aquamarine:\"Aquamarijn\",Big:\"Groot\",Black:\"Zwart\",\"Block quote\":\"Blok citaat\",Blue:\"Blauw\",\"Blue marker\":\"Blauwe marker\",Bold:\"Vet\",\"Bulleted List\":\"Ongenummerde lijst\",\"Bulleted list styles toolbar\":\"\",Cancel:\"Annuleren\",\"Cannot upload file:\":\"Kan bestand niet uploaden:\",\"Centered image\":\"Gecentreerde afbeelding\",\"Change image text alternative\":\"Verander alt-tekst van de afbeelding\",\"Characters: %0\":\"Tekens: 0%\",\"Choose heading\":\"Kies kop\",Circle:\"\",Column:\"Kolom\",\"Could not insert image at the current position.\":\"Kan afbeelding niet op de huidige positie invoegen.\",\"Could not obtain resized image URL.\":\"Het is niet gelukt de geschaalde afbeelding URL te verkrijgen.\",Decimal:\"\",\"Decimal with leading zero\":\"\",\"Decrease indent\":\"Minder inspringen\",Default:\"Standaard\",\"Delete column\":\"Verwijder kolom\",\"Delete row\":\"Verwijder rij\",\"Dim grey\":\"Gedimd grijs\",Disc:\"\",\"Document colors\":\"Document kleur\",Downloadable:\"Downloadbaar\",\"Dropdown toolbar\":\"Drop-down werkbalk\",\"Edit link\":\"Bewerk link\",\"Editor toolbar\":\"Editor welkbalk\",\"Enter image caption\":\"Typ een afbeeldingsbijschrift\",\"Font Background Color\":\"Tekst achtergrondkleur\",\"Font Color\":\"Tekstkleur\",\"Font Family\":\"Lettertype\",\"Font Size\":\"Lettergrootte\",\"Full size image\":\"Afbeelding op volledige grootte\",Green:\"Groen\",\"Green marker\":\"Groene marker\",\"Green pen\":\"Groene pen\",Grey:\"Grijs\",\"Header column\":\"Titel kolom\",\"Header row\":\"Titel rij\",Heading:\"Koppen\",\"Heading 1\":\"Kop 1\",\"Heading 2\":\"Kop 2\",\"Heading 3\":\"Kop 3\",\"Heading 4\":\"Kop 4\",\"Heading 5\":\"Kop 5\",\"Heading 6\":\"Kop 6\",Highlight:\"Markeren\",\"Horizontal line\":\"Horizontale lijn\",Huge:\"Zeer groot\",\"Image toolbar\":\"Afbeeldingswerkbalk\",\"image widget\":\"afbeeldingswidget\",\"Increase indent\":\"Inspringen\",\"Insert column left\":\"Kolom links invoegen\",\"Insert column right\":\"Kolom rechts invoegen\",\"Insert image\":\"Afbeelding toevoegen\",\"Insert image or file\":\"Voeg afbeelding of bestand in\",\"Insert media\":\"Voer media in\",\"Insert paragraph after block\":\"Voeg paragraaf toe na blok\",\"Insert paragraph before block\":\"Voeg paragraaf toe voor blok\",\"Insert row above\":\"Rij hierboven invoegen\",\"Insert row below\":\"Rij hieronder invoegen\",\"Insert table\":\"Tabel invoegen\",\"Inserting image failed\":\"Afbeelding invoegen niet gelukt\",Italic:\"Cursief\",Justify:\"Volledig uitlijnen\",\"Left aligned image\":\"Links uitgelijnde afbeelding\",\"Light blue\":\"Lichtblauw\",\"Light green\":\"Lichtgroen\",\"Light grey\":\"Lichtgrijs\",Link:\"Link\",\"Link URL\":\"Link URL\",\"Lower-latin\":\"\",\"Lower–roman\":\"\",\"Media URL\":\"Media URL\",\"media widget\":\"media widget\",\"Merge cell down\":\"Cel hieronder samenvoegen\",\"Merge cell left\":\"Cel hiervoor samenvoegen\",\"Merge cell right\":\"Cel hierna samenvoegen\",\"Merge cell up\":\"Cel hierboven samenvoegen\",\"Merge cells\":\"Cellen samenvoegen\",Next:\"Volgende\",\"Numbered List\":\"Genummerde lijst\",\"Numbered list styles toolbar\":\"\",\"Open in a new tab\":\"Open een nieuw tabblad\",\"Open link in new tab\":\"Open link in nieuw tabblad\",Orange:\"Oranje\",Paragraph:\"Paragraaf\",\"Paste the media URL in the input.\":\"Plak de media URL in het invoerveld.\",\"Pink marker\":\"Roze marker\",Previous:\"Vorige\",Purple:\"Paars\",Red:\"Rood\",\"Red pen\":\"Rode pen\",Redo:\"Opnieuw\",\"Remove color\":\"Verwijder kleur\",\"Remove Format\":\"Verwijder format\",\"Remove highlight\":\"Verwijder markering\",\"Rich Text Editor, %0\":\"Tekstbewerker, 0%\",\"Right aligned image\":\"Rechts uitgelijnde afbeelding\",Row:\"Rij\",Save:\"Opslaan\",\"Saving changes\":\"Wijzigingen worden opgeslagen\",\"Select column\":\"\",\"Select row\":\"\",\"Selecting resized image failed\":\"De geschaalde afbeelding selecteren is niet gelukt\",\"Show more items\":\"Meer items weergeven\",\"Side image\":\"Afbeelding naast tekst\",Small:\"Klein\",\"Split cell horizontally\":\"Splits cel horizontaal\",\"Split cell vertically\":\"Splits cel verticaal\",Square:\"\",Strikethrough:\"Doorhalen\",Subscript:\"Subscript\",Superscript:\"Superscript\",\"Table toolbar\":\"Tabel werkbalk\",\"Text alignment\":\"Tekst uitlijning\",\"Text alignment toolbar\":\"Tekst uitlijning werkbalk\",\"Text alternative\":\"Alt-tekst\",\"Text highlight toolbar\":\"Tekst markering werkbalk\",\"The URL must not be empty.\":\"De URL mag niet leeg zijn.\",\"This link has no URL\":\"Deze link heeft geen URL\",\"This media URL is not supported.\":\"Deze media URL wordt niet ondersteund.\",Tiny:\"Zeer klein\",\"Tip: Paste the URL into the content to embed faster.\":\"Tip: plak de URL in de inhoud om deze sneller in te laten sluiten.\",\"Toggle the circle list style\":\"\",\"Toggle the decimal list style\":\"\",\"Toggle the decimal with leading zero list style\":\"\",\"Toggle the disc list style\":\"\",\"Toggle the lower–latin list style\":\"\",\"Toggle the lower–roman list style\":\"\",\"Toggle the square list style\":\"\",\"Toggle the upper–latin list style\":\"\",\"Toggle the upper–roman list style\":\"\",Turquoise:\"Turquoise\",Underline:\"Onderlijnen\",Undo:\"Ongedaan maken\",Unlink:\"Verwijder link\",\"Upload failed\":\"Uploaden afbeelding mislukt\",\"Upload in progress\":\"Bezig met uploaden\",\"Upper-latin\":\"\",\"Upper-roman\":\"\",White:\"Wit\",\"Widget toolbar\":\"Widget werkbalk\",\"Words: %0\":\"Woorden: 0%\",Yellow:\"Geel\",\"Yellow marker\":\"Gele marker\"});e.getPluralForm=function(t){return t!=1}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));(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[\"InlineEditor\"]=n();else e[\"InlineEditor\"]=n()})(window,(function(){return function(t){var e={};function n(o){if(e[o]){return e[o].exports}var i=e[o]={i:o,l:false,exports:{}};t[o].call(i.exports,i,i.exports,n);i.l=true;return i.exports}n.m=t;n.c=e;n.d=function(t,e,o){if(!n.o(t,e)){Object.defineProperty(t,e,{enumerable:true,get:o})}};n.r=function(t){if(typeof Symbol!==\"undefined\"&&Symbol.toStringTag){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"})}Object.defineProperty(t,\"__esModule\",{value:true})};n.t=function(t,e){if(e&1)t=n(t);if(e&8)return t;if(e&4&&typeof t===\"object\"&&t&&t.__esModule)return t;var o=Object.create(null);n.r(o);Object.defineProperty(o,\"default\",{enumerable:true,value:t});if(e&2&&typeof t!=\"string\")for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o};n.n=function(t){var e=t&&t.__esModule?function e(){return t[\"default\"]}:function e(){return t};n.d(e,\"a\",e);return e};n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};n.p=\"\";return n(n.s=66)}([function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i}));n.d(e,\"c\",(function(){return r}));n.d(e,\"b\",(function(){return s}));const o=\"https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html\";class i extends Error{constructor(t,e,n){const o=`${t}${n?` ${JSON.stringify(n)}`:\"\"}${a(t)}`;super(o);this.name=\"CKEditorError\";this.context=e;this.data=n}is(t){return t===\"CKEditorError\"}static rethrowUnexpectedError(t,e){if(t.is&&t.is(\"CKEditorError\")){throw t}const n=new i(t.message,e);n.stack=t.stack;throw n}}function r(t,e){console.warn(...c(t,e))}function s(t,e){console.error(...c(t,e))}function a(t){return`\\nRead more: ${o}#error-${t}`}function c(t,e){const n=a(t);return e?[t,e,n]:[t,n]}},function(t,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
\").replace(/\\r?\\n/g,\"
\").replace(/^\\s/,\" \").replace(/\\s$/,\" \").replace(/\\s\\s/g,\" \");if(t.includes(\"
\")||t.includes(\"
\")){t=`
${t}
`}return t}function uv(t){return t.replace(/(\\s+)<\\/span>/g,((t,e)=>{if(e.length==1){return\" \"}return e}))}const hv=[\"figcaption\",\"li\"];function fv(t){let e=\"\";if(t.is(\"$text\")||t.is(\"$textProxy\")){e=t.data}else if(t.is(\"element\",\"img\")&&t.hasAttribute(\"alt\")){e=t.getAttribute(\"alt\")}else if(t.is(\"element\",\"br\")){e=\"\\n\"}else{let n=null;for(const o of t.getChildren()){const t=fv(o);if(n&&(n.is(\"containerElement\")||o.is(\"containerElement\"))){if(hv.includes(n.name)||hv.includes(o.name)){e+=\"\\n\"}else{e+=\"\\n\\n\"}}e+=t;n=o}}return e}class gv extends Qw{static get pluginName(){return\"Clipboard\"}static get requires(){return[lv]}init(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const o=n.document;this._htmlDataProcessor=new $p(o);n.addObserver(av);this.listenTo(o,\"clipboardInput\",(e=>{if(t.isReadOnly){e.stop()}}),{priority:\"highest\"});this.listenTo(o,\"clipboardInput\",((t,e)=>{const o=e.dataTransfer;let i=\"\";if(o.getData(\"text/html\")){i=uv(o.getData(\"text/html\"))}else if(o.getData(\"text/plain\")){i=dv(o.getData(\"text/plain\"))}i=this._htmlDataProcessor.toView(i);const r=new ts(this,\"inputTransformation\");this.fire(r,{content:i,dataTransfer:o,asPlainText:e.asPlainText});if(r.stop.called){t.stop()}n.scrollToTheSelection()}),{priority:\"low\"});this.listenTo(this,\"inputTransformation\",((n,o)=>{if(!o.content.isEmpty){const i=this.editor.data;const r=this.editor.model;const s=i.toModel(o.content,\"$clipboardHolder\");if(s.childCount==0){return}if(o.asPlainText||mv(s)){const n=new Map(Array.from(e.selection.getAttributes()).filter((e=>t.model.schema.getAttributeProperties(e[0]).isFormatting)));r.change((t=>{const e=t.createRangeIn(s);for(const o of e.getItems()){if(o.is(\"$text\")||o.is(\"$textProxy\")){t.setAttributes(n,o)}}}))}r.insertContent(s);n.stop()}}),{priority:\"low\"});function i(n,i){const r=i.dataTransfer;i.preventDefault();const s=t.data.toView(t.model.getSelectedContent(e.selection));o.fire(\"clipboardOutput\",{dataTransfer:r,content:s,method:n.name})}this.listenTo(o,\"copy\",i,{priority:\"low\"});this.listenTo(o,\"cut\",((e,n)=>{if(t.isReadOnly){n.preventDefault()}else{i(e,n)}}),{priority:\"low\"});this.listenTo(o,\"clipboardOutput\",((n,o)=>{if(!o.content.isEmpty){o.dataTransfer.setData(\"text/html\",this._htmlDataProcessor.toData(o.content));o.dataTransfer.setData(\"text/plain\",fv(o.content))}if(o.method==\"cut\"){t.model.deleteContent(e.selection)}}),{priority:\"low\"})}}function mv(t){if(t.childCount>1){return false}const e=t.getChild(0);return[...e.getAttributeKeys()].length==0}class pv{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}const o=n.writer;const i=o.document.selection;for(const t of this._definitions){const r=o.createAttributeElement(\"a\",t.attributes,{priority:5});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:image\",((t,e,n)=>{const o=n.mapper.toViewElement(e.item);const i=Array.from(o.getChildren()).find((t=>t.name===\"a\"));for(const t of this._definitions){const o=Hs(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of o){if(t===\"class\"){n.writer.addClass(e,i)}else{n.writer.setAttribute(t,e,i)}}}else{for(const[t,e]of o){if(t===\"class\"){n.writer.removeClass(e,i)}else{n.writer.removeAttribute(t,i)}}}}}))}}}function kv(t,e,n){var o=t.length;n=n===undefined?o:n;return!e&&n>=o?t:Na(t,e,n)}var bv=kv;var wv=\"\\\\ud800-\\\\udfff\",Cv=\"\\\\u0300-\\\\u036f\",Av=\"\\\\ufe20-\\\\ufe2f\",vv=\"\\\\u20d0-\\\\u20ff\",_v=Cv+Av+vv,yv=\"\\\\ufe0e\\\\ufe0f\";var xv=\"\\\\u200d\";var Dv=RegExp(\"[\"+xv+wv+_v+yv+\"]\");function Ev(t){return Dv.test(t)}var Mv=Ev;function Tv(t){return t.split(\"\")}var Sv=Tv;var Iv=\"\\\\ud800-\\\\udfff\",Nv=\"\\\\u0300-\\\\u036f\",Bv=\"\\\\ufe20-\\\\ufe2f\",Lv=\"\\\\u20d0-\\\\u20ff\",Pv=Nv+Bv+Lv,zv=\"\\\\ufe0e\\\\ufe0f\";var Ov=\"[\"+Iv+\"]\",jv=\"[\"+Pv+\"]\",Rv=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",Fv=\"(?:\"+jv+\"|\"+Rv+\")\",Vv=\"[^\"+Iv+\"]\",Uv=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",Hv=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Gv=\"\\\\u200d\";var Kv=Fv+\"?\",qv=\"[\"+zv+\"]?\",Wv=\"(?:\"+Gv+\"(?:\"+[Vv,Uv,Hv].join(\"|\")+\")\"+qv+Kv+\")*\",Yv=qv+Kv+Wv,Qv=\"(?:\"+[Vv+jv+\"?\",jv,Uv,Hv,Ov].join(\"|\")+\")\";var $v=RegExp(Rv+\"(?=\"+Rv+\")|\"+Qv+Yv,\"g\");function Zv(t){return t.match($v)||[]}var Jv=Zv;function Xv(t){return Mv(t)?Jv(t):Sv(t)}var t_=Xv;function e_(t){return function(e){e=Aa(e);var n=Mv(e)?t_(e):undefined;var o=n?n[0]:e.charAt(0);var i=n?bv(n,1).join(\"\"):e.slice(1);return o[t]()+i}}var n_=e_;var o_=n_(\"toUpperCase\");var i_=o_;const r_=/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g;const s_=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i;const a_=/^[\\S]+@((?![-_])(?:[-\\w\\u00a1-\\uffff]{0,63}[^-_]\\.))+(?:[a-z\\u00a1-\\uffff]{2,})$/i;const c_=/^((\\w+:(\\/{2,})?)|(\\W))/i;const l_=\"Ctrl+K\";function d_(t){return t.is(\"attributeElement\")&&!!t.getCustomProperty(\"link\")}function u_(t,{writer:e}){const n=e.createAttributeElement(\"a\",{href:t},{priority:5});e.setCustomProperty(\"link\",true,n);return n}function h_(t){t=String(t);return f_(t)?t:\"#\"}function f_(t){const e=t.replace(r_,\"\");return e.match(s_)}function g_(t,e){const n={\"Open in a new tab\":t(\"Open in a new tab\"),Downloadable:t(\"Downloadable\")};e.forEach((t=>{if(t.label&&n[t.label]){t.label=n[t.label]}return t}));return e}function m_(t){const e=[];if(t){for(const[n,o]of Object.entries(t)){const t=Object.assign({},o,{id:`link${i_(n)}`});e.push(t)}}return e}function p_(t,e){if(!t){return false}return t.is(\"element\",\"image\")&&e.checkAttribute(\"image\",\"linkHref\")}function k_(t){return a_.test(t)}function b_(t,e){const n=k_(t)?\"mailto:\":e;const o=!!n&&!c_.test(t);return t&&o?n+t:t}class w_ extends Zw{constructor(t){super(t);this.manualDecorators=new _s;this.automaticDecorators=new pv}restoreManualDecoratorStates(){for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}refresh(){const t=this.editor.model;const e=t.document;const n=Xw(e.selection.getSelectedBlocks());if(p_(n,t.schema)){this.value=n.getAttribute(\"linkHref\");this.isEnabled=t.schema.checkAttribute(n,\"linkHref\")}else{this.value=e.selection.getAttribute(\"linkHref\");this.isEnabled=t.schema.checkAttributeInSelection(e.selection,\"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=VA(s,\"linkHref\",o.getAttribute(\"linkHref\"),n);e.setAttribute(\"linkHref\",t,a);i.forEach((t=>{e.setAttribute(t,true,a)}));r.forEach((t=>{e.removeAttribute(t,a)}));e.setSelection(e.createPositionAfter(a.end.nodeBefore))}else if(t!==\"\"){const r=Hs(o.getAttributes());r.set(\"linkHref\",t);i.forEach((t=>{r.set(t,true)}));const a=e.createText(t,r);n.insertContent(a,s);e.setSelection(e.createPositionAfter(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 n of c){e.setAttribute(\"linkHref\",t,n);i.forEach((t=>{e.setAttribute(t,true,n)}));r.forEach((t=>{e.removeAttribute(t,n)}))}}}))}_getDecoratorStateFromModel(t){const e=this.editor.model;const n=e.document;const o=Xw(n.selection.getSelectedBlocks());if(p_(o,e.schema)){return o.getAttribute(t)}return n.selection.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e){if(n.containsRange(t)){return false}}return true}}class C_ extends Zw{refresh(){const t=this.editor.model;const e=t.document;const n=Xw(e.selection.getSelectedBlocks());if(p_(n,t.schema)){this.isEnabled=t.schema.checkAttribute(n,\"linkHref\")}else{this.isEnabled=t.schema.checkAttributeInSelection(e.selection,\"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?[VA(n.getFirstPosition(),\"linkHref\",n.getAttribute(\"linkHref\"),e)]:n.getRanges();for(const e of i){t.removeAttribute(\"linkHref\",e);if(o){for(const n of o.manualDecorators){t.removeAttribute(n.id,e)}}}}))}}class A_{constructor({id:t,label:e,attributes:n,defaultValue:o}){this.id=t;this.set(\"value\");this.defaultValue=o;this.label=e;this.attributes=n}}vs(A_,$c);var v_=n(26);var __={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};__.insert=\"head\";__.singleton=true;var y_=ik()(v_[\"a\"],__);var x_=v_[\"a\"].locals||{};const D_=\"ck-link_selected\";const E_=\"automatic\";const M_=\"manual\";const T_=/^(https?:)?\\/\\//;class S_ extends Qw{static get pluginName(){return\"LinkEditing\"}static get requires(){return[PA,iv,gv]}constructor(t){super(t);t.config.define(\"link\",{addTargetToExternalLinks:false})}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:\"linkHref\"});t.conversion.for(\"dataDowncast\").attributeToElement({model:\"linkHref\",view:u_});t.conversion.for(\"editingDowncast\").attributeToElement({model:\"linkHref\",view:(t,e)=>u_(h_(t),e)});t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:{href:true}},model:{key:\"linkHref\",value:t=>t.getAttribute(\"href\")}});t.commands.add(\"link\",new w_(t));t.commands.add(\"unlink\",new C_(t));const e=g_(t.t,m_(t.config.get(\"link.decorators\")));this._enableAutomaticDecorators(e.filter((t=>t.mode===E_)));this._enableManualDecorators(e.filter((t=>t.mode===M_)));const n=t.plugins.get(PA);n.registerAttribute(\"linkHref\");HA(t,\"linkHref\",\"a\",D_);this._enableInsertContentSelectionAttributesFixer();this._enableClickingAfterLink();this._enableTypingOverLink();this._handleDeleteContentAfterLink()}_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:E_,callback:t=>T_.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});o.add(new A_(t));e.conversion.for(\"downcast\").attributeToElement({model:t.id,view:(e,{writer:n})=>{if(e){const e=o.get(t.id).attributes;const i=n.createAttributeElement(\"a\",e,{priority:5});n.setCustomProperty(\"link\",true,i);return i}}});e.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:o.get(t.id).attributes},model:{key:t.id}})}))}_enableInsertContentSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=t.commands.get(\"link\");this.listenTo(e,\"insertContent\",(()=>{const t=n.anchor.nodeBefore;const i=n.anchor.nodeAfter;if(!n.hasAttribute(\"linkHref\")){return}if(!t){return}if(!t.hasAttribute(\"linkHref\")){return}if(i&&i.hasAttribute(\"linkHref\")){return}e.change((t=>{I_(t,o.manualDecorators)}))}),{priority:\"low\"})}_enableClickingAfterLink(){const t=this.editor;const e=t.commands.get(\"link\");t.editing.view.addObserver(LA);let n=false;this.listenTo(t.editing.view.document,\"mousedown\",(()=>{n=true}));this.listenTo(t.editing.view.document,\"selectionChange\",(()=>{if(!n){return}n=false;const o=t.model.document.selection;if(!o.isCollapsed){return}if(!o.hasAttribute(\"linkHref\")){return}const i=o.getFirstPosition();const r=VA(i,\"linkHref\",o.getAttribute(\"linkHref\"),t.model);if(i.isTouching(r.start)||i.isTouching(r.end)){t.model.change((t=>{I_(t,e.manualDecorators)}))}}))}_enableTypingOverLink(){const t=this.editor;const e=t.editing.view;let n;let o;this.listenTo(e.document,\"delete\",(()=>{o=true}),{priority:\"high\"});this.listenTo(t.model,\"deleteContent\",(()=>{const e=t.model.document.selection;if(e.isCollapsed){return}if(o){o=false;return}if(!B_(t)){return}if(N_(t.model)){n=e.getAttributes()}}),{priority:\"high\"});this.listenTo(t.model,\"insertContent\",((e,[i])=>{o=false;if(!B_(t)){return}if(!n){return}t.model.change((t=>{for(const[e,o]of n){t.setAttribute(e,o,i)}}));n=null}),{priority:\"high\"})}_handleDeleteContentAfterLink(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=t.editing.view;const i=t.commands.get(\"link\");let r=false;let s=false;this.listenTo(o.document,\"delete\",((t,e)=>{s=e.domEvent.keyCode===Pl.backspace}),{priority:\"high\"});this.listenTo(e,\"deleteContent\",(()=>{r=false;const t=n.getFirstPosition();const o=n.getAttribute(\"linkHref\");if(!o){return}const i=VA(t,\"linkHref\",o,e);r=i.containsPosition(t)||i.end.isEqual(t)}),{priority:\"high\"});this.listenTo(e,\"deleteContent\",(()=>{if(!s){return}s=false;if(r){return}t.model.enqueueChange((t=>{I_(t,i.manualDecorators)}))}),{priority:\"low\"})}}function I_(t,e){t.removeSelectionAttribute(\"linkHref\");for(const n of e){t.removeSelectionAttribute(n.id)}}function N_(t){const e=t.document.selection;const n=e.getFirstPosition();const o=e.getLastPosition();const i=n.nodeAfter;if(!i){return false}if(!i.is(\"$text\")){return false}if(!i.hasAttribute(\"linkHref\")){return false}const r=o.textNode||o.nodeBefore;if(i===r){return true}const s=VA(n,\"linkHref\",i.getAttribute(\"linkHref\"),t);return s.containsRange(t.createRange(n,o),true)}function B_(t){const e=t.plugins.get(\"Input\");return e.isInput(t.model.change((t=>t.batch)))}class L_ extends vC{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=`show:${t.type}`+(t.namespace?`:${t.namespace}`:\"\");this.fire(e,{message:t.message,type:t.type,title:t.title||\"\"})}}class P_ extends Zw{constructor(t){super(t);this.stopListening(this.editor.model.document,\"change\");this.listenTo(this.editor.model.document,\"change\",(()=>this.refresh()),{priority:\"low\"})}refresh(){const t=this.editor.commands.get(\"imageInsert\");const e=this.editor.commands.get(\"link\");this.isEnabled=t.isEnabled||e.isEnabled}execute(){const t=this.editor;const e=this.editor.config.get(\"ckfinder.openerMethod\")||\"modal\";if(e!=\"popup\"&&e!=\"modal\"){throw new ss[\"a\"](\"ckfinder-unknown-openermethod\",t)}const n=this.editor.config.get(\"ckfinder.options\")||{};n.chooseFiles=true;const o=n.onInit;if(!n.language){n.language=t.locale.uiLanguage}n.onInit=e=>{if(o){o(e)}e.on(\"files:choose\",(n=>{const o=n.data.files.toArray();const i=o.filter((t=>!t.isImage()));const r=o.filter((t=>t.isImage()));for(const e of i){t.execute(\"link\",e.getUrl())}const s=[];for(const t of r){const n=t.getUrl();s.push(n?n:e.request(\"file:getProxyUrl\",{file:t}))}if(s.length){z_(t,s)}}));e.on(\"file:choose:resizedImage\",(e=>{const n=e.data.resizedUrl;if(!n){const e=t.plugins.get(\"Notification\");const n=t.locale.t;e.showWarning(n(\"Could not obtain resized image URL.\"),{title:n(\"Selecting resized image failed\"),namespace:\"ckfinder\"});return}z_(t,[n])}))};window.CKFinder[e](n)}}function z_(t,e){const n=t.commands.get(\"imageInsert\");if(!n.isEnabled){const e=t.plugins.get(\"Notification\");const n=t.locale.t;e.showWarning(n(\"Could not insert image at the current position.\"),{title:n(\"Inserting image failed\"),namespace:\"ckfinder\"});return}t.execute(\"imageInsert\",{source:e})}class O_ extends Qw{static get pluginName(){return\"CKFinderEditing\"}static get requires(){return[L_,NA,S_]}init(){const t=this.editor;t.commands.add(\"ckfinder\",new P_(t))}}class j_{constructor(){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()}}vs(j_,$c);class R_ extends Qw{static get pluginName(){return\"FileRepository\"}static get requires(){return[_C]}init(){this.loaders=new _s;this.loaders.on(\"add\",(()=>this._updatePendingAction()));this.loaders.on(\"remove\",(()=>this._updatePendingAction()));this._loadersMap=new Map;this._pendingAction=null;this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",((t,e)=>e?t/e*100:0))}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter){Object(ss[\"c\"])(\"filerepository-no-upload-adapter\");return null}const e=new F_(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 F_?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(_C);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}}}vs(R_,$c);class F_{constructor(t,e){this.id=ns();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new j_;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 ss[\"a\"](\"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 ss[\"a\"](\"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}}vs(F_,$c);const V_=\"ckCsrfToken\";const U_=40;const H_=\"abcdefghijklmnopqrstuvwxyz0123456789\";function G_(){let t=K_(V_);if(!t||t.length!=U_){t=W_(U_);q_(V_,t)}return t}function K_(t){t=t.toLowerCase();const e=document.cookie.split(\";\");for(const n of e){const e=n.split(\"=\");const o=decodeURIComponent(e[0].trim().toLowerCase());if(o===t){return decodeURIComponent(e[1])}}return null}function q_(t,e){document.cookie=encodeURIComponent(t)+\"=\"+encodeURIComponent(e)+\";path=/\"}function W_(t){let e=\"\";const n=new Uint8Array(t);window.crypto.getRandomValues(n);for(let t=0;t