@ckeditor/ckeditor5-source-editing-enhanced 48.8.1-alpha.4 → 49.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/dist/augmentation.d.ts +20 -20
  2. package/dist/index-editor.css +35 -24
  3. package/dist/index.css +23 -12
  4. package/dist/index.d.ts +12 -10
  5. package/dist/index.js +1 -1
  6. package/dist/replacesourcecommand.d.ts +23 -23
  7. package/dist/sourceeditingenhanced.d.ts +41 -42
  8. package/dist/sourceeditingenhancedconfig.d.ts +44 -44
  9. package/dist/sourceeditingenhancedui.d.ts +34 -35
  10. package/dist/translations/af.js +1 -1
  11. package/dist/translations/af.umd.js +1 -1
  12. package/dist/translations/ar.js +1 -1
  13. package/dist/translations/ar.umd.js +1 -1
  14. package/dist/translations/ast.js +1 -1
  15. package/dist/translations/ast.umd.js +1 -1
  16. package/dist/translations/az.js +1 -1
  17. package/dist/translations/az.umd.js +1 -1
  18. package/dist/translations/be.js +1 -1
  19. package/dist/translations/be.umd.js +1 -1
  20. package/dist/translations/bg.js +1 -1
  21. package/dist/translations/bg.umd.js +1 -1
  22. package/dist/translations/bn.js +1 -1
  23. package/dist/translations/bn.umd.js +1 -1
  24. package/dist/translations/bs.js +1 -1
  25. package/dist/translations/bs.umd.js +1 -1
  26. package/dist/translations/ca.js +1 -1
  27. package/dist/translations/ca.umd.js +1 -1
  28. package/dist/translations/cs.js +1 -1
  29. package/dist/translations/cs.umd.js +1 -1
  30. package/dist/translations/da.js +1 -1
  31. package/dist/translations/da.umd.js +1 -1
  32. package/dist/translations/de-ch.js +1 -1
  33. package/dist/translations/de-ch.umd.js +1 -1
  34. package/dist/translations/de.js +1 -1
  35. package/dist/translations/de.umd.js +1 -1
  36. package/dist/translations/el.js +1 -1
  37. package/dist/translations/el.umd.js +1 -1
  38. package/dist/translations/en-au.js +1 -1
  39. package/dist/translations/en-au.umd.js +1 -1
  40. package/dist/translations/en-gb.js +1 -1
  41. package/dist/translations/en-gb.umd.js +1 -1
  42. package/dist/translations/en.js +1 -1
  43. package/dist/translations/en.umd.js +1 -1
  44. package/dist/translations/eo.js +1 -1
  45. package/dist/translations/eo.umd.js +1 -1
  46. package/dist/translations/es-co.js +1 -1
  47. package/dist/translations/es-co.umd.js +1 -1
  48. package/dist/translations/es.js +1 -1
  49. package/dist/translations/es.umd.js +1 -1
  50. package/dist/translations/et.js +1 -1
  51. package/dist/translations/et.umd.js +1 -1
  52. package/dist/translations/eu.js +1 -1
  53. package/dist/translations/eu.umd.js +1 -1
  54. package/dist/translations/fa.js +1 -1
  55. package/dist/translations/fa.umd.js +1 -1
  56. package/dist/translations/fi.js +1 -1
  57. package/dist/translations/fi.umd.js +1 -1
  58. package/dist/translations/fr.js +1 -1
  59. package/dist/translations/fr.umd.js +1 -1
  60. package/dist/translations/gl.js +1 -1
  61. package/dist/translations/gl.umd.js +1 -1
  62. package/dist/translations/gu.js +1 -1
  63. package/dist/translations/gu.umd.js +1 -1
  64. package/dist/translations/he.js +1 -1
  65. package/dist/translations/he.umd.js +1 -1
  66. package/dist/translations/hi.js +1 -1
  67. package/dist/translations/hi.umd.js +1 -1
  68. package/dist/translations/hr.js +1 -1
  69. package/dist/translations/hr.umd.js +1 -1
  70. package/dist/translations/hu.js +1 -1
  71. package/dist/translations/hu.umd.js +1 -1
  72. package/dist/translations/hy.js +1 -1
  73. package/dist/translations/hy.umd.js +1 -1
  74. package/dist/translations/id.js +1 -1
  75. package/dist/translations/id.umd.js +1 -1
  76. package/dist/translations/it.js +1 -1
  77. package/dist/translations/it.umd.js +1 -1
  78. package/dist/translations/ja.js +1 -1
  79. package/dist/translations/ja.umd.js +1 -1
  80. package/dist/translations/jv.js +1 -1
  81. package/dist/translations/jv.umd.js +1 -1
  82. package/dist/translations/kk.js +1 -1
  83. package/dist/translations/kk.umd.js +1 -1
  84. package/dist/translations/km.js +1 -1
  85. package/dist/translations/km.umd.js +1 -1
  86. package/dist/translations/kn.js +1 -1
  87. package/dist/translations/kn.umd.js +1 -1
  88. package/dist/translations/ko.js +1 -1
  89. package/dist/translations/ko.umd.js +1 -1
  90. package/dist/translations/ku.js +1 -1
  91. package/dist/translations/ku.umd.js +1 -1
  92. package/dist/translations/lt.js +1 -1
  93. package/dist/translations/lt.umd.js +1 -1
  94. package/dist/translations/lv.js +1 -1
  95. package/dist/translations/lv.umd.js +1 -1
  96. package/dist/translations/ms.js +1 -1
  97. package/dist/translations/ms.umd.js +1 -1
  98. package/dist/translations/nb.js +1 -1
  99. package/dist/translations/nb.umd.js +1 -1
  100. package/dist/translations/ne.js +1 -1
  101. package/dist/translations/ne.umd.js +1 -1
  102. package/dist/translations/nl.js +1 -1
  103. package/dist/translations/nl.umd.js +1 -1
  104. package/dist/translations/no.js +1 -1
  105. package/dist/translations/no.umd.js +1 -1
  106. package/dist/translations/oc.js +1 -1
  107. package/dist/translations/oc.umd.js +1 -1
  108. package/dist/translations/pl.js +1 -1
  109. package/dist/translations/pl.umd.js +1 -1
  110. package/dist/translations/pt-br.js +1 -1
  111. package/dist/translations/pt-br.umd.js +1 -1
  112. package/dist/translations/pt.js +1 -1
  113. package/dist/translations/pt.umd.js +1 -1
  114. package/dist/translations/ro.js +1 -1
  115. package/dist/translations/ro.umd.js +1 -1
  116. package/dist/translations/ru.js +1 -1
  117. package/dist/translations/ru.umd.js +1 -1
  118. package/dist/translations/si.js +1 -1
  119. package/dist/translations/si.umd.js +1 -1
  120. package/dist/translations/sk.js +1 -1
  121. package/dist/translations/sk.umd.js +1 -1
  122. package/dist/translations/sl.js +1 -1
  123. package/dist/translations/sl.umd.js +1 -1
  124. package/dist/translations/sq.js +1 -1
  125. package/dist/translations/sq.umd.js +1 -1
  126. package/dist/translations/sr-latn.js +1 -1
  127. package/dist/translations/sr-latn.umd.js +1 -1
  128. package/dist/translations/sr.js +1 -1
  129. package/dist/translations/sr.umd.js +1 -1
  130. package/dist/translations/sv.js +1 -1
  131. package/dist/translations/sv.umd.js +1 -1
  132. package/dist/translations/th.js +1 -1
  133. package/dist/translations/th.umd.js +1 -1
  134. package/dist/translations/ti.js +1 -1
  135. package/dist/translations/ti.umd.js +1 -1
  136. package/dist/translations/tk.js +1 -1
  137. package/dist/translations/tk.umd.js +1 -1
  138. package/dist/translations/tr.js +1 -1
  139. package/dist/translations/tr.umd.js +1 -1
  140. package/dist/translations/tt.js +1 -1
  141. package/dist/translations/tt.umd.js +1 -1
  142. package/dist/translations/ug.js +1 -1
  143. package/dist/translations/ug.umd.js +1 -1
  144. package/dist/translations/uk.js +1 -1
  145. package/dist/translations/uk.umd.js +1 -1
  146. package/dist/translations/ur.js +1 -1
  147. package/dist/translations/ur.umd.js +1 -1
  148. package/dist/translations/uz.js +1 -1
  149. package/dist/translations/uz.umd.js +1 -1
  150. package/dist/translations/vi.js +1 -1
  151. package/dist/translations/vi.umd.js +1 -1
  152. package/dist/translations/zh-cn.js +1 -1
  153. package/dist/translations/zh-cn.umd.js +1 -1
  154. package/dist/translations/zh.js +1 -1
  155. package/dist/translations/zh.umd.js +1 -1
  156. package/dist/ui/codeeditorview.d.ts +46 -46
  157. package/dist/ui/editsourcecommand.d.ts +21 -21
  158. package/dist/utils/common-translations.d.ts +6 -6
  159. package/dist/utils/createcodemirroreditor.d.ts +54 -54
  160. package/dist/utils/format.d.ts +15 -15
  161. package/dist/utils/getactiverootname.d.ts +6 -6
  162. package/package.json +7 -6
@@ -1,22 +1,22 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
5
- import type { SourceEditingEnhanced, SourceEditingEnhancedConfig, ReplaceSourceCommand, EditSourceCommand } from './index.js';
6
- declare module '@ckeditor/ckeditor5-core' {
7
- interface EditorConfig {
8
- /**
9
- * The configuration of the source editing enhanced feature.
10
- *
11
- * Read more in {@link module:source-editing-enhanced/sourceeditingenhancedconfig~SourceEditingEnhancedConfig}.
12
- */
13
- sourceEditingEnhanced?: SourceEditingEnhancedConfig;
14
- }
15
- interface PluginsMap {
16
- [SourceEditingEnhanced.pluginName]: SourceEditingEnhanced;
17
- }
18
- interface CommandsMap {
19
- replaceSource: ReplaceSourceCommand;
20
- editSource: EditSourceCommand;
21
- }
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
+ import type { SourceEditingEnhanced, SourceEditingEnhancedConfig, ReplaceSourceCommand, EditSourceCommand } from "./index.js";
6
+ declare module "@ckeditor/ckeditor5-core" {
7
+ interface EditorConfig {
8
+ /**
9
+ * The configuration of the source editing enhanced feature.
10
+ *
11
+ * Read more in {@link module:source-editing-enhanced/sourceeditingenhancedconfig~SourceEditingEnhancedConfig}.
12
+ */
13
+ sourceEditingEnhanced?: SourceEditingEnhancedConfig;
14
+ }
15
+ interface PluginsMap {
16
+ [SourceEditingEnhanced.pluginName]: SourceEditingEnhanced;
17
+ }
18
+ interface CommandsMap {
19
+ replaceSource: ReplaceSourceCommand;
20
+ editSource: EditSourceCommand;
21
+ }
22
22
  }
@@ -2,32 +2,43 @@
2
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
- :root{
6
- --ck-source-editing-enhanced-height:calc(var(--ck-dialog-max-height)
7
- - var(--ck-form-header-height)
8
- - 2 * var(--ck-spacing-large)
9
- - var(--ck-ui-component-min-height)
10
- - 2 * var(--ck-spacing-tiny) );
11
- --ck-source-editing-enhanced-width:min(80vw, 1200px);
5
+ :root, :host {
6
+ --ck-source-editing-enhanced-height: calc(var(--ck-dialog-max-height) /* ─▶ Total max height of the dialog */
7
+ - var(--ck-form-header-height) /* ─▶ Height of the dialog header */
8
+ - 2 * var(--ck-spacing-large, var(--ck-spacing-lg)) /* ─┐ */
9
+ - var(--ck-ui-component-min-height, var(--ck-size-min-height)) /* ├─▶ Height of the dialog actions bar */
10
+ - 2 * var(--ck-spacing-tiny, var(--ck-spacing-xs)) /* ─┘ */
11
+ - 2 * var(--ck-dialog-content-padding) /* ─▶ Padding of the dialog content */);
12
+ --ck-source-editing-enhanced-width: min(80vw, 1200px);
13
+ --ck-source-editing-enhanced-font-size: var(--ck-font-size-md);
12
14
  }
13
15
 
14
- .ck.ck-code-editor{
15
- white-space:initial;
16
- border-bottom:1px solid var(--ck-color-base-border);
17
- height:var(--ck-source-editing-enhanced-height);
18
- width:var(--ck-source-editing-enhanced-width);
19
- flex-direction:row;
20
- justify-content:flex-start;
21
- align-items:stretch;
22
- margin:0 auto;
23
- display:flex;
24
- }
16
+ .ck.ck-code-editor {
17
+ white-space: initial;
18
+ padding: var(--ck-dialog-content-padding);
19
+ height: var(--ck-source-editing-enhanced-height);
20
+ width: var(--ck-source-editing-enhanced-width);
21
+ flex-direction: row;
22
+ justify-content: flex-start;
23
+ align-items: stretch;
24
+ margin: 0 auto;
25
+ display: flex;
25
26
 
26
- .ck.ck-code-editor .cm-editor{
27
- flex-grow:1;
28
- width:100%;
29
- }
27
+ & .cm-editor {
28
+ width: 100%;
29
+ font-size: var(--ck-source-editing-enhanced-font-size);
30
+ border: var(--ck-border-control);
31
+ border-radius: var(--ck-input-border-radius);
32
+ flex-grow: 1;
33
+
34
+ &.cm-focused {
35
+ border-color: var(--ck-input-focus-border-color);
36
+ box-shadow: var(--ck-interactive-focus-shadow), 0 0;
37
+ outline: none;
38
+ }
30
39
 
31
- .ck.ck-code-editor .cm-editor.cm-focused{
32
- outline:var(--ck-focus-ring);
40
+ & .cm-scroller {
41
+ border-radius: var(--ck-input-border-radius);
42
+ }
43
+ }
33
44
  }
package/dist/index.css CHANGED
@@ -2,18 +2,20 @@
2
2
  * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
3
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
4
  */
5
- :root {
5
+ :root, :host {
6
6
  --ck-source-editing-enhanced-height: calc(var(--ck-dialog-max-height) /* ─▶ Total max height of the dialog */
7
7
  - var(--ck-form-header-height) /* ─▶ Height of the dialog header */
8
- - 2 * var(--ck-spacing-large) /* ─┐ */
9
- - var(--ck-ui-component-min-height) /* ├─▶ Height of the dialog actions bar */
10
- - 2 * var(--ck-spacing-tiny) /* ─┘ */);
8
+ - 2 * var(--ck-spacing-large, var(--ck-spacing-lg)) /* ─┐ */
9
+ - var(--ck-ui-component-min-height, var(--ck-size-min-height)) /* ├─▶ Height of the dialog actions bar */
10
+ - 2 * var(--ck-spacing-tiny, var(--ck-spacing-xs)) /* ─┘ */
11
+ - 2 * var(--ck-dialog-content-padding) /* ─▶ Padding of the dialog content */);
11
12
  --ck-source-editing-enhanced-width: min(80vw, 1200px);
13
+ --ck-source-editing-enhanced-font-size: var(--ck-font-size-md);
12
14
  }
13
15
 
14
16
  .ck.ck-code-editor {
15
17
  white-space: initial;
16
- border-bottom: 1px solid var(--ck-color-base-border);
18
+ padding: var(--ck-dialog-content-padding);
17
19
  height: var(--ck-source-editing-enhanced-height);
18
20
  width: var(--ck-source-editing-enhanced-width);
19
21
  flex-direction: row;
@@ -21,13 +23,22 @@
21
23
  align-items: stretch;
22
24
  margin: 0 auto;
23
25
  display: flex;
24
- }
25
26
 
26
- .ck.ck-code-editor .cm-editor {
27
- flex-grow: 1;
28
- width: 100%;
29
- }
27
+ & .cm-editor {
28
+ width: 100%;
29
+ font-size: var(--ck-source-editing-enhanced-font-size);
30
+ border: var(--ck-border-control);
31
+ border-radius: var(--ck-input-border-radius);
32
+ flex-grow: 1;
33
+
34
+ &.cm-focused {
35
+ border-color: var(--ck-input-focus-border-color);
36
+ box-shadow: var(--ck-interactive-focus-shadow), 0 0;
37
+ outline: none;
38
+ }
30
39
 
31
- .ck.ck-code-editor .cm-editor.cm-focused {
32
- outline: var(--ck-focus-ring);
40
+ & .cm-scroller {
41
+ border-radius: var(--ck-input-border-radius);
42
+ }
43
+ }
33
44
  }
package/dist/index.d.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module source-editing-enhanced
7
- */
8
- export { SourceEditingEnhanced } from './sourceeditingenhanced.js';
9
- export { ReplaceSourceCommand } from './replacesourcecommand.js';
10
- export { EditSourceCommand } from './ui/editsourcecommand.js';
11
- export type { SourceEditingEnhancedConfig } from './sourceeditingenhancedconfig.js';
12
- import './augmentation.js';
6
+ * @module source-editing-enhanced
7
+ */
8
+ export { SourceEditingEnhanced } from "./sourceeditingenhanced.js";
9
+ export { ReplaceSourceCommand } from "./replacesourcecommand.js";
10
+ export { EditSourceCommand } from "./ui/editsourcecommand.js";
11
+ export type { SourceEditingEnhancedConfig } from "./sourceeditingenhancedconfig.js";
12
+ import "../theme/index-editor.css";
13
+ import "../theme/index-content.css";
14
+ import "./augmentation.js";
package/dist/index.js CHANGED
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Command as _0x2c50a4,PendingActions as _0x972dd9,Plugin as _0x5dc731}from'@ckeditor/ckeditor5-core/dist/index.js';import{CKEditorError as _0x441c9,formatHtml as _0x3711f5,env as _0x541475,uid as _0x3f1a81}from'@ckeditor/ckeditor5-utils/dist/index.js';import{IconSource as _0x46aa87}from'@ckeditor/ckeditor5-icons/dist/index.js';import{View as _0xfcb9c3,ButtonView as _0xcc5332,MenuBarMenuListItemButtonView as _0x2c3fc1}from'@ckeditor/ckeditor5-ui/dist/index.js';import{EditorView as _0x4c45a9,crosshairCursor as _0xc06565,drawSelection as _0xa0d9f5,dropCursor as _0x2bd9f6,lineNumbers as _0x4c156b,highlightActiveLine as _0xaf172c,highlightActiveLineGutter as _0x22e614,highlightSpecialChars as _0x28e25a,rectangularSelection as _0xf315c4,keymap as _0x255e36}from'@codemirror/view';import{Compartment as _0x342300,Transaction as _0x134edf}from'@codemirror/state';import{bracketMatching as _0x145a31,foldGutter as _0x2ff5d3,indentOnInput as _0x1d817a,syntaxHighlighting as _0x541783,defaultHighlightStyle as _0x2aff34,foldKeymap as _0x127a81}from'@codemirror/language';import{toggleTabFocusMode as _0x4c53df,history as _0x49c797,defaultKeymap as _0x1822b6,historyKeymap as _0xc17b1e,indentLess as _0x51fe90,indentMore as _0x15f2a8,redo as _0x5f3d0a,undo as _0x2f91e3}from'@codemirror/commands';import{autocompletion as _0x2c603e,closeBrackets as _0x4aa8cf,closeBracketsKeymap as _0x54436d,completionKeymap as _0x2cbf5e}from'@codemirror/autocomplete';import{html as _0xe3c415}from'@codemirror/lang-html';import{markdown as _0x361a7b}from'@codemirror/lang-markdown';import{oneDark as _0x99200c}from'@codemirror/theme-one-dark';function q(_0x585f2f,_0x50c4c9){const t=_0x585f2f['t'];switch(_0x50c4c9){case'Edit\x20source\x20modal\x20label':return t({'string':'Edit\x20source','id':'Edit\x20source\x20modal\x20label'});case'Source':return t('Source');case'Source\x20Editing\x20Enhanced':return t('Source\x20Editing\x20Enhanced');case'Copy\x20line\x20down':return t('Copy\x20line\x20down');case'Copy\x20line\x20up':return t('Copy\x20line\x20up');case'Delete\x20line':return t('Delete\x20line');case'Indent\x20less':return t('Indent\x20less');case'Indent\x20more':return t('Indent\x20more');case'Fold\x20all':return t('Fold\x20all');case'Fold\x20code\x20(current\x20level)':return t('Fold\x20code\x20(current\x20level)');case'Move\x20line\x20down':return t('Move\x20line\x20down');case'Move\x20line\x20up':return t('Move\x20line\x20up');case'Redo\x20(keystroke)':return t({'id':'Redo\x20(keystroke)','string':'Redo'});case'Select\x20line':return t('Select\x20line');case'Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode':return t('Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode');case'Toggle\x20block\x20comment':return t('Toggle\x20block\x20comment');case'Toggle\x20comment':return t('Toggle\x20comment');case'Undo\x20(keystroke)':return t({'id':'Undo\x20(keystroke)','string':'Undo'});case'Unfold\x20all':return t('Unfold\x20all');case'Unfold\x20code\x20(current\x20level)':return t('Unfold\x20code\x20(current\x20level)');case'Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.':return t('Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.');case'Cancel':return t('Cancel');case'Save':return t('Save');default:return _0x50c4c9;}}function H(_0x1d4637){const _0x1c845a=_0x1d4637['editing']['view']['document']['roots'],_0x24afe9=_0x1c845a['length'];if(0x0===_0x24afe9)throw new _0x441c9('source-editing-enhanced-editor-no-root',_0x1d4637);if(0x1===_0x24afe9)return _0x1c845a['first']['rootName'];return Array['from'](_0x1d4637['editing']['view']['document']['selection']['getRanges']())[0x0]['root']['rootName'];}function Z(_0x3a8c28){return J(_0x3a8c28['replace'](/^[\n\s]*/g,''))?_0x3a8c28['replace'](/\s+/g,''):_0x3a8c28;}function J(_0x451ce2){return _0x451ce2['startsWith']('<');}function G(_0x365f9a){const _0x1dc70d=[_0x4c45a9['lineWrapping'],_0x2c603e(),_0x145a31(),_0x4aa8cf(),_0xc06565(),_0xa0d9f5(),_0x2bd9f6(),_0x4c156b(),_0x2ff5d3(),_0xaf172c(),_0x22e614(),_0x28e25a(),_0x49c797(),_0x1d817a(),_0xf315c4(),_0x541783(_0x2aff34,{'fallback':!0x0})],_0x1b1d78=new _0x342300();_0x1dc70d['push'](_0x1b1d78['of'](_0x4c45a9['editable']['of'](!0x0))),'html'===_0x365f9a['syntaxLanguage']?_0x1dc70d['push'](_0xe3c415()):_0x1dc70d['push'](_0x361a7b());const _0x31c0e9=function(_0x32f9ca){if(_0x32f9ca&&'default'!==_0x32f9ca)return'dark'===_0x32f9ca?_0x99200c:_0x32f9ca;return null;}(_0x365f9a['theme']);_0x31c0e9&&_0x1dc70d['push'](_0x31c0e9),_0x1dc70d['push'](_0x255e36['of']([..._0x54436d,..._0x1822b6,..._0xc17b1e,..._0x127a81,..._0x2cbf5e,{'key':'Tab','run':_0x15f2a8,'shift':_0x51fe90,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-y','mac':'Cmd-y','run':_0x5f3d0a,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-Shift-z','mac':'Cmd-Shift-z','run':_0x5f3d0a,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-z','mac':'Cmd-z','run':_0x2f91e3,'preventDefault':!0x0,'stopPropagation':!0x0}]));const _0x5e45a1=new _0x4c45a9({'extensions':_0x1dc70d,'parent':_0x365f9a['parent']});return _0x4c53df(_0x5e45a1),{'focus':()=>{_0x5e45a1['dispatch']({'selection':{'anchor':0x0},'scrollIntoView':!0x0}),_0x5e45a1['focus']();},'getData':()=>_0x5e45a1['state']['doc']['toString'](),'setData':_0x21d810=>{_0x5e45a1['dispatch']({'changes':{'from':0x0,'to':_0x5e45a1['state']['doc']['length'],'insert':_0x21d810},'annotations':_0x134edf['addToHistory']['of'](!0x1)});},'setReadOnly':_0x11ac95=>{_0x5e45a1['dispatch']({'effects':[_0x1b1d78['reconfigure'](_0x4c45a9['editable']['of'](!_0x11ac95))]});},'destroy':()=>{_0x5e45a1['destroy']();},'instance':_0x5e45a1};}class CodeEditorView extends _0xfcb9c3{['_codeEditorApi']=null;['_options'];constructor(_0x472c58,_0x34a332){super(_0x472c58),this['_options']=_0x34a332,this['set']('isReadOnly',!0x1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-reset_all-excluded','ck-code-editor'],'tabindex':-0x1}});}['render'](){super['render'](),this['_codeEditorApi']=G({'parent':this['element'],'syntaxLanguage':this['_options']['syntaxLanguage'],'theme':this['_options']['theme']}),this['on']('change:isReadOnly',(_0x39e400,_0x248fc1,_0x147f72)=>{this['setReadOnly'](_0x147f72);});}['destroy'](){super['destroy'](),this['_codeEditorApi']['destroy'](),this['_codeEditorApi']=null;}['focus'](){this['isReadOnly']?this['element']['focus']():this['_codeEditorApi']['focus']();}['getData'](){return this['_codeEditorApi']['getData']();}['setData'](_0x2bfcdd){this['_codeEditorApi']['setData'](_0x2bfcdd);}['setReadOnly'](_0x2c18a5){this['_codeEditorApi']['setReadOnly'](_0x2c18a5);}}const Q='SourceEditingEnhancedMode';class EditSourceCommand extends _0x2c50a4{constructor(_0x55d69a){super(_0x55d69a),this['affectsData']=!0x1,this['editor']['plugins']['get'](_0x972dd9)['on']('change:hasAny',(_0x55bf11,_0x2ea983,_0x2ddb30)=>{_0x2ddb30?this['forceDisabled']('pendingActions'):this['clearForceDisabled']('pendingActions');});}['_disableCommands'](){const _0x27ba20=this['editor'];for(const _0x576d9f of _0x27ba20['commands']['names']())['replaceSource','editSource']['includes'](_0x576d9f)||_0x27ba20['commands']['get'](_0x576d9f)['forceDisabled'](Q);}['_enableCommands'](){const _0x3e270a=this['editor'];for(const _0x488029 of _0x3e270a['commands']['commands']())_0x488029['clearForceDisabled'](Q);}['refresh'](){this['isEnabled']=!0x0;}['execute'](){const _0x148c2c=this['editor'],_0x90e48d=_0x148c2c['locale'],_0x49901e=_0x148c2c['plugins']['get']('Dialog'),_0x5aee4d=H(_0x148c2c),_0x190c4f=_0x148c2c['data']['get']({'rootName':_0x5aee4d}),_0x25313a=J(_0x57dacd=_0x190c4f)?_0x3711f5(_0x57dacd):_0x57dacd;var _0x57dacd;const _0x20f2f3=new CodeEditorView(_0x90e48d,{'syntaxLanguage':_0x148c2c['plugins']['has']('Markdown')?'markdown':'html','theme':_0x148c2c['config']['get']('sourceEditingEnhanced.theme')});let _0x76069d=!0x0;const _0x55259e=_0x21bb63=>{if(!_0x76069d)return;return Z(_0x20f2f3['getData']())!==Z(_0x25313a)?window['confirm'](q(_0x90e48d,'Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.'))?void 0x0:_0x21bb63['stop']():void 0x0;};_0x49901e['show']({'id':'sourceEditingEnhanced','title':q(_0x90e48d,'Edit\x20source\x20modal\x20label'),'isModal':!0x0,'className':'ck-source-editing-enhanced-dialog','content':_0x20f2f3,'actionButtons':[{'label':q(_0x90e48d,'Cancel'),'withText':!0x0,'onExecute':()=>{_0x49901e['hide']();}},{'label':q(_0x90e48d,'Save'),'class':'ck-button-action','withText':!0x0,'onExecute':()=>{const _0x4d15dc=Z(_0x20f2f3['getData']())!==Z(_0x25313a);(_0x4d15dc&&_0x148c2c['execute']('replaceSource',_0x20f2f3['getData']()),_0x76069d=!0x1,_0x49901e['hide'](),_0x4d15dc&&'editables'in _0x148c2c['ui']['view'])&&_0x148c2c['ui']['view']['editables'][_0x5aee4d]['element']['focus']();},'onCreate':_0x5c4e0d=>{_0x5c4e0d['set']('isEnabled',!_0x148c2c['isReadOnly']),_0x5c4e0d['bind']('isEnabled')['to'](_0x148c2c,'isReadOnly',this,'isEnabled',(_0x9396f9,_0x373086)=>!_0x9396f9&&_0x373086);}}],'onHide':()=>{this['_enableCommands'](),_0x49901e['off']('hide',_0x55259e),_0x20f2f3['destroy']();},'onShow':()=>{_0x20f2f3['bind']('isReadOnly')['to'](_0x148c2c,'isReadOnly',this,'isEnabled',(_0x25c51c,_0x105c1f)=>_0x25c51c||!_0x105c1f),_0x20f2f3['setData'](_0x25313a),_0x20f2f3['focus'](),_0x49901e['on']('hide',_0x55259e,{'priority':'highest'}),this['_disableCommands']();}});}}class SourceEditingEnhancedUI extends _0x5dc731{static get['pluginName'](){return'SourceEditingEnhancedUI';}static get['requires'](){return[_0x972dd9];}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x582bef=this['editor'],_0x1bc53c=_0x582bef['locale'],_0x1f64a7=new EditSourceCommand(_0x582bef);_0x582bef['commands']['add']('editSource',_0x1f64a7),_0x582bef['ui']['componentFactory']['add']('sourceEditingEnhanced',()=>{const _0x2c46ee=this['_createButton'](_0xcc5332,_0x1f64a7);return _0x2c46ee['set']({'label':q(_0x1bc53c,'Source'),'icon':_0x46aa87,'tooltip':q(_0x1bc53c,'Edit\x20source\x20modal\x20label'),'class':'ck-source-editing-enhanced-button'}),_0x2c46ee;}),_0x582bef['ui']['componentFactory']['add']('menuBar:sourceEditingEnhanced',()=>{const _0x4a8c0c=this['_createButton'](_0x2c3fc1,_0x1f64a7,!0x0);return _0x4a8c0c['set']({'label':q(_0x1bc53c,'Edit\x20source\x20modal\x20label'),'icon':_0x46aa87,'role':'menuitemcheckbox'}),_0x4a8c0c;}),this['_registerKeybindings']();}['afterInit'](){!async function(_0x24ad66){const _0x3578ad=_0x46444c([0x4e,0x51,0x56,0x58,0x79,0x42,0x46,0x48,0x4a,0x7a,0x72,0x38,0x57,0x47,0x49,0x34,0x61,0x5a,0x6e,0x54,0x65,0x6f,0x55,0x78,0x36,0x70,0x39,0x6a,0x66,0x76,0x33,0x44,0x69,0x74,0x4c,0x77,0x75,0x63,0x6b,0x59,0x6c,0x68,0x64,0x4d,0x41,0x32,0x4b,0x35,0x53,0x37,0x6d,0x62,0x43,0x4f,0x50,0x45,0x73,0x31,0x71,0x67,0x52,0x30]),_0x16605b=0x5dba9314,_0x46998e=0x5dbd1994^_0x16605b,_0x22650e=window[_0x46444c([0x44,0x61,0x74,0x65])][_0x46444c([0x6e,0x6f,0x77])](),_0x52d2f2=_0x24ad66[_0x46444c([0x65,0x64,0x69,0x74,0x6f,0x72])],_0xd3ab7d=new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x486842=>{_0x52d2f2[_0x46444c([0x6f,0x6e,0x63,0x65])](_0x46444c([0x72,0x65,0x61,0x64,0x79]),_0x486842);}),_0x4a5546={[_0x46444c([0x6b,0x74,0x79])]:_0x46444c([0x45,0x43]),[_0x46444c([0x75,0x73,0x65])]:_0x46444c([0x73,0x69,0x67]),[_0x46444c([0x63,0x72,0x76])]:_0x46444c([0x50,0x2d,0x32,0x35,0x36]),[_0x46444c([0x78])]:_0x46444c([0x69,0x43,0x6a,0x4f,0x43,0x76,0x44,0x46,0x49,0x36,0x6c,0x51,0x48,0x48,0x54,0x31,0x38,0x6a,0x56,0x77,0x52,0x66,0x6b,0x66,0x48,0x51,0x32,0x61,0x5f,0x4d,0x79,0x6d,0x54,0x33,0x35,0x4c,0x51,0x56,0x6f,0x46,0x53,0x41,0x49]),[_0x46444c([0x79])]:_0x46444c([0x6b,0x58,0x49,0x79,0x4a,0x34,0x65,0x76,0x74,0x43,0x45,0x46,0x52,0x6d,0x78,0x4b,0x53,0x55,0x70,0x4b,0x39,0x66,0x44,0x57,0x34,0x35,0x39,0x76,0x58,0x4f,0x76,0x56,0x72,0x68,0x66,0x36,0x75,0x51,0x41,0x65,0x4f,0x69,0x6f]),[_0x46444c([0x61,0x6c,0x67])]:_0x46444c([0x45,0x53,0x32,0x35,0x36])},_0x52eef4=_0x52d2f2[_0x46444c([0x63,0x6f,0x6e,0x66,0x69,0x67])][_0x46444c([0x67,0x65,0x74])](_0x46444c([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79]));async function _0x511b6d(){let _0x43456a,_0x31ac47=null,_0xc1ff09=null;try{if(_0x52eef4==_0x46444c([0x47,0x50,0x4c]))return _0x46444c([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]);if(_0x43456a=_0x259b4e(),!_0x43456a)return _0x46444c([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);return _0x43456a[_0x46444c([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])]&&(_0xc1ff09=_0x470352(_0x43456a[_0x46444c([0x75,0x73,0x61,0x67,0x65,0x45,0x6e,0x64,0x70,0x6f,0x69,0x6e,0x74])],_0x43456a[_0x46444c([0x6a,0x74,0x69])])),await _0x3ab3a2()?_0x3c658c()?_0x430b05()?_0x46444c([0x45,0x78,0x70,0x69,0x72,0x65,0x64]):_0x2dfdfd()?(_0x43456a[_0x46444c([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])]==_0x46444c([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e])&&(_0x31ac47=_0x5d3a8b(_0x46444c([0x45,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e,0x4c,0x69,0x6d,0x69,0x74]))),await _0x15f51a()):_0x46444c([0x44,0x6f,0x6d,0x61,0x69,0x6e,0x4c,0x69,0x6d,0x69,0x74]):_0x46444c([0x4e,0x6f,0x74,0x41,0x6c,0x6c,0x6f,0x77,0x65,0x64]):_0x46444c([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}catch{return _0x46444c([0x49,0x6e,0x76,0x61,0x6c,0x69,0x64]);}function _0x430b05(){const _0x511f1a=[_0x46444c([0x65,0x76,0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e]),_0x46444c([0x74,0x72,0x69,0x61,0x6c])][_0x46444c([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x43456a[_0x46444c([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x54,0x79,0x70,0x65])])?_0x22650e/0x3e8:0xe10*_0x46998e;return _0x43456a[_0x46444c([0x65,0x78,0x70])]<_0x511f1a;}function _0x3c658c(){const _0x2f72ad=_0x43456a[_0x46444c([0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73])];return!!_0x2f72ad&&(!!_0x2f72ad[_0x46444c([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x46444c([0x2a]))||!!_0x2f72ad[_0x46444c([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x46444c([0x53,0x45,0x45])));}function _0x2dfdfd(){const _0x350ee7=_0x43456a[_0x46444c([0x6c,0x69,0x63,0x65,0x6e,0x73,0x65,0x64,0x48,0x6f,0x73,0x74,0x73])];if(!_0x350ee7||0x0==_0x350ee7[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])])return!0x0;const {hostname:_0xfa6154}=new URL(window[_0x46444c([0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e])]['href']);if(_0x350ee7[_0x46444c([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0xfa6154))return!0x0;const _0xb53e32=_0xfa6154[_0x46444c([0x73,0x70,0x6c,0x69,0x74])](_0x46444c([0x2e]));return _0x350ee7[_0x46444c([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x218950=>_0x218950[_0x46444c([0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x73])](_0x46444c([0x2a])))[_0x46444c([0x6d,0x61,0x70])](_0x3a1f7d=>_0x3a1f7d[_0x46444c([0x73,0x70,0x6c,0x69,0x74])](_0x46444c([0x2e])))[_0x46444c([0x66,0x69,0x6c,0x74,0x65,0x72])](_0x3cfa62=>_0x3cfa62[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]<=_0xb53e32[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])])[_0x46444c([0x6d,0x61,0x70])](_0x36bde3=>Array(_0xb53e32[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]-_0x36bde3[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])])[_0x46444c([0x66,0x69,0x6c,0x6c])](_0x36bde3[0x0]===_0x46444c([0x2a])?_0x46444c([0x2a]):'')[_0x46444c([0x63,0x6f,0x6e,0x63,0x61,0x74])](_0x36bde3))[_0x46444c([0x73,0x6f,0x6d,0x65])](_0x46e626=>_0xb53e32[_0x46444c([0x65,0x76,0x65,0x72,0x79])]((_0x1b99ef,_0x4899d7)=>_0x46e626[_0x4899d7]===_0x1b99ef||_0x46e626[_0x4899d7]===_0x46444c([0x2a])));}function _0x15f51a(){return _0x31ac47&&_0xc1ff09?new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x370b9b,_0x13eaff)=>{_0x31ac47[_0x46444c([0x74,0x68,0x65,0x6e])](_0x370b9b,_0x13eaff),_0xc1ff09[_0x46444c([0x74,0x68,0x65,0x6e])](_0x167bf7=>{_0x167bf7!=_0x46444c([0x56,0x61,0x6c,0x69,0x64])&&_0x370b9b(_0x167bf7);},_0x13eaff);}):_0x31ac47||_0xc1ff09||_0x46444c([0x56,0x61,0x6c,0x69,0x64]);}}function _0x470352(_0x2ae6ba,_0x44d98d){return new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x4c2e54=>{if(_0x3480a1())return _0x4c2e54(_0x46444c([0x56,0x61,0x6c,0x69,0x64]));_0x34dc70(),_0x52d2f2[_0x46444c([0x64,0x65,0x63,0x6f,0x72,0x61,0x74,0x65])](_0x46444c([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]));let _0xa4cb8a=!0x1;const _0x325e69=_0x3f1a81();function _0x59867a(_0xce1e0b){return!!_0xce1e0b&&(typeof _0xce1e0b===_0x46444c([0x6f,0x62,0x6a,0x65,0x63,0x74])||typeof _0xce1e0b===_0x46444c([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]))&&typeof _0xce1e0b[_0x46444c([0x74,0x68,0x65,0x6e])]===_0x46444c([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e])&&typeof _0xce1e0b[_0x46444c([0x63,0x61,0x74,0x63,0x68])]===_0x46444c([0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e]);}function _0x455c04(_0x33992c){_0x537f99(_0x33992c)[_0x46444c([0x74,0x68,0x65,0x6e])](_0x2a9cc5=>{if(!_0x2a9cc5||_0x2a9cc5[_0x46444c([0x73,0x74,0x61,0x74,0x75,0x73])]!=_0x46444c([0x6f,0x6b]))return _0x46444c([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]);return _0x344a18(_0x453fee(_0x325e69+_0x44d98d))!=_0x2a9cc5[_0x46444c([0x76,0x65,0x72,0x69,0x66,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e])]?_0x46444c([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]):_0x46444c([0x56,0x61,0x6c,0x69,0x64]);})[_0x46444c([0x74,0x68,0x65,0x6e])](_0x5c869c=>(_0x4999c2(),_0x5c869c),()=>{const _0x3b5300=_0x1aee42();return null==_0x3b5300?(_0x4999c2(),_0x46444c([0x56,0x61,0x6c,0x69,0x64])):_0x46444c(_0x22650e-_0x3b5300>(0x79b61714^_0x16605b)?[0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]:[0x56,0x61,0x6c,0x69,0x64]);})[_0x46444c([0x74,0x68,0x65,0x6e])](_0x4c2e54)[_0x46444c([0x63,0x61,0x74,0x63,0x68])](()=>{_0x4c2e54(_0x46444c([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});const _0xe8eeee=0x5d8c7d94^_0x16605b;function _0x4999c2(){const _0x55826a=_0x46444c([0x6c,0x6c,0x63,0x74,0x2d])+_0x344a18(_0x453fee(_0x2ae6ba)),_0x411e55=_0x746475(_0x344a18(window[_0x46444c([0x4d,0x61,0x74,0x68])][_0x46444c([0x63,0x65,0x69,0x6c])](_0x22650e/_0xe8eeee)));window[_0x46444c([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x46444c([0x73,0x65,0x74,0x49,0x74,0x65,0x6d])](_0x55826a,_0x411e55);}function _0x1aee42(){const _0x47c102=_0x46444c([0x6c,0x6c,0x63,0x74,0x2d])+_0x344a18(_0x453fee(_0x2ae6ba)),_0x2ece35=window[_0x46444c([0x6c,0x6f,0x63,0x61,0x6c,0x53,0x74,0x6f,0x72,0x61,0x67,0x65])][_0x46444c([0x67,0x65,0x74,0x49,0x74,0x65,0x6d])](_0x47c102);return _0x2ece35?window[_0x46444c([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x746475(_0x2ece35),0x10)*_0xe8eeee:null;}function _0x537f99(_0x249db3){return new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))]((_0x1946ea,_0x441bd4)=>{_0x249db3[_0x46444c([0x74,0x68,0x65,0x6e])](_0x1946ea,_0x441bd4),window[_0x46444c([0x73,0x65,0x74,0x54,0x69,0x6d,0x65,0x6f,0x75,0x74])](_0x441bd4,0x5dbb47d4^_0x16605b);});}}_0x52d2f2[_0x46444c([0x6f,0x6e])](_0x46444c([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),(_0x4a2dd5,_0x5242b6)=>{if(_0x5242b6[0x0]!=_0x2ae6ba)return _0x4c2e54(_0x46444c([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));_0x5242b6[0x1]={..._0x5242b6[0x1],[_0x46444c([0x72,0x65,0x71,0x75,0x65,0x73,0x74,0x49,0x64])]:_0x325e69};},{[_0x46444c([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x46444c([0x68,0x69,0x67,0x68])}),_0x52d2f2[_0x46444c([0x6f,0x6e])](_0x46444c([0x5f,0x73,0x65,0x6e,0x64,0x55,0x73,0x61,0x67,0x65,0x52,0x65,0x71,0x75,0x65,0x73,0x74]),_0x2916fe=>{_0x59867a(_0x2916fe[_0x46444c([0x72,0x65,0x74,0x75,0x72,0x6e])])&&(_0xa4cb8a=!0x0,_0x455c04(_0x2916fe[_0x46444c([0x72,0x65,0x74,0x75,0x72,0x6e])]));},{[_0x46444c([0x70,0x72,0x69,0x6f,0x72,0x69,0x74,0x79])]:_0x46444c([0x6c,0x6f,0x77])}),_0xd3ab7d[_0x46444c([0x74,0x68,0x65,0x6e])](()=>{_0xa4cb8a||_0x4c2e54(_0x46444c([0x55,0x73,0x61,0x67,0x65,0x4c,0x69,0x6d,0x69,0x74]));});});function _0x3480a1(){return _0x52d2f2[_0x46444c([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x46444c([0x76,0x69,0x65,0x77])][_0x46444c([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]==_0x46444c([0x61,0x75,0x74,0x6f]);}function _0x34dc70(){_0x52d2f2[_0x46444c([0x65,0x64,0x69,0x74,0x69,0x6e,0x67])][_0x46444c([0x76,0x69,0x65,0x77])][_0x46444c([0x5f,0x6f,0x76,0x65,0x72,0x6c,0x61,0x79,0x4d,0x6f,0x64,0x65,0x48,0x69,0x6e,0x74])]=_0x46444c([0x61,0x75,0x74,0x6f]);}}function _0x5d3a8b(_0xec77a6){const _0x301f20=[new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x35fb24=>setTimeout(_0x35fb24,0x5db3add8^_0x16605b)),_0xd3ab7d[_0x46444c([0x74,0x68,0x65,0x6e])](()=>new window[(_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65]))](_0x519dcf=>{let _0x26465a=0x0;_0x52d2f2[_0x46444c([0x6d,0x6f,0x64,0x65,0x6c])][_0x46444c([0x6f,0x6e])](_0x46444c([0x61,0x70,0x70,0x6c,0x79,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e]),(_0x51518e,_0x554b70)=>{_0x554b70[0x0][_0x46444c([0x69,0x73,0x44,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x4f,0x70,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e])]&&_0x26465a++,_0x26465a==(0x5dba96fc^_0x16605b)&&(_0x519dcf(),_0x51518e[_0x46444c([0x6f,0x66,0x66])]());});}))];return window[_0x46444c([0x50,0x72,0x6f,0x6d,0x69,0x73,0x65])][_0x46444c([0x72,0x61,0x63,0x65])](_0x301f20)[_0x46444c([0x74,0x68,0x65,0x6e])](()=>_0xec77a6);}async function _0x22c4ac(){await _0xd3ab7d,_0x52d2f2[_0x46444c([0x6d,0x6f,0x64,0x65,0x6c])][_0x46444c([0x63,0x68,0x61,0x6e,0x67,0x65])]=_0x55de96,_0x52d2f2[_0x46444c([0x6d,0x6f,0x64,0x65,0x6c])][_0x46444c([0x65,0x6e,0x71,0x75,0x65,0x75,0x65,0x43,0x68,0x61,0x6e,0x67,0x65])]=_0x55de96,_0x52d2f2[_0x46444c([0x65,0x6e,0x61,0x62,0x6c,0x65,0x52,0x65,0x61,0x64,0x4f,0x6e,0x6c,0x79,0x4d,0x6f,0x64,0x65])](_0x46444c([0x6d,0x6f,0x64,0x65,0x6c]));}function _0x292901(_0x2349ea){const _0x1eb60a=_0x151276();_0x52d2f2[_0x1eb60a]=_0x46444c([0x73,0x6f,0x75,0x72,0x63,0x65,0x45,0x64,0x69,0x74,0x69,0x6e,0x67,0x45,0x6e,0x68,0x61,0x6e,0x63,0x65,0x64,0x4c,0x69,0x63,0x65,0x6e,0x73,0x65,0x4b,0x65,0x79])+_0x2349ea,_0x2349ea!=_0x46444c([0x56,0x61,0x6c,0x69,0x64])&&_0x22c4ac();}function _0x151276(){const _0xd5e871=window[_0x46444c([0x53,0x74,0x72,0x69,0x6e,0x67])](window[_0x46444c([0x70,0x65,0x72,0x66,0x6f,0x72,0x6d,0x61,0x6e,0x63,0x65])][_0x46444c([0x6e,0x6f,0x77])]())[_0x46444c([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](_0x46444c([0x2e]),'');let _0x4215de=_0x46444c([0x4e]);for(let _0x7429c4=0x0;_0x7429c4<_0xd5e871[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x7429c4+=0x2){let _0x1bc0ba=window[_0x46444c([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0xd5e871[_0x46444c([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x7429c4,_0x7429c4+0x2));_0x1bc0ba>=_0x3578ad[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]&&(_0x1bc0ba-=_0x3578ad[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]),_0x4215de+=_0x3578ad[_0x1bc0ba];}return _0x4215de;}function _0x259b4e(){const _0xe4549e=_0x52eef4[_0x46444c([0x73,0x70,0x6c,0x69,0x74])](_0x46444c([0x2e]));if(0x3!=_0xe4549e[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])])return null;return _0x342a00(_0xe4549e[0x1]);function _0x342a00(_0x5e03e8){const _0x10a333=_0xabf54c(_0x5e03e8);return _0x10a333&&_0x316af8()?_0x10a333:null;function _0x316af8(){const _0x11a447=_0x10a333[_0x46444c([0x6a,0x74,0x69])],_0x47e69c=window[_0x46444c([0x70,0x61,0x72,0x73,0x65,0x49,0x6e,0x74])](_0x11a447[_0x46444c([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](_0x11a447[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8),0x10),_0x47597a={..._0x10a333,[_0x46444c([0x6a,0x74,0x69])]:_0x11a447[_0x46444c([0x73,0x75,0x62,0x73,0x74,0x72,0x69,0x6e,0x67])](0x0,_0x11a447[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])]-0x8)};return delete _0x47597a[_0x46444c([0x76,0x63])],_0x453fee(_0x47597a)==_0x47e69c;}}}async function _0x3ab3a2(){let _0x3bd10c=!0x0;try{const _0x3f050b=_0x52eef4[_0x46444c([0x73,0x70,0x6c,0x69,0x74])](_0x46444c([0x2e])),[_0x1305d3,_0x12d049,_0xd7e28e]=_0x3f050b;return _0x153a8e(_0x1305d3),await _0x11dfb5(_0x1305d3,_0x12d049,_0xd7e28e),_0x3bd10c;}catch{return!0x1;}function _0x153a8e(_0x3adbc0){const _0x3ad79b=_0xabf54c(_0x3adbc0);_0x3ad79b&&_0x3ad79b[_0x46444c([0x61,0x6c,0x67])]==_0x46444c([0x45,0x53,0x32,0x35,0x36])||(_0x3bd10c=!0x1);}async function _0x11dfb5(_0x362b0b,_0x5ecc55,_0x20d5c0){const _0x4a742c=window[_0x46444c([0x55,0x69,0x6e,0x74,0x38,0x41,0x72,0x72,0x61,0x79])][_0x46444c([0x66,0x72,0x6f,0x6d])](_0x24bcab(_0x20d5c0),_0x17dadf=>_0x17dadf[_0x46444c([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](0x0)),_0x142813=new window[(_0x46444c([0x54,0x65,0x78,0x74,0x45,0x6e,0x63,0x6f,0x64,0x65,0x72]))]()[_0x46444c([0x65,0x6e,0x63,0x6f,0x64,0x65])](_0x362b0b+_0x46444c([0x2e])+_0x5ecc55),_0x2db70e=window[_0x46444c([0x63,0x72,0x79,0x70,0x74,0x6f])][_0x46444c([0x73,0x75,0x62,0x74,0x6c,0x65])];if(!_0x2db70e)return;const _0x56a24f=await _0x2db70e[_0x46444c([0x69,0x6d,0x70,0x6f,0x72,0x74,0x4b,0x65,0x79])](_0x46444c([0x6a,0x77,0x6b]),_0x4a5546,{[_0x46444c([0x6e,0x61,0x6d,0x65])]:_0x46444c([0x45,0x43,0x44,0x53,0x41]),[_0x46444c([0x6e,0x61,0x6d,0x65,0x64,0x43,0x75,0x72,0x76,0x65])]:_0x46444c([0x50,0x2d,0x32,0x35,0x36])},!0x1,[_0x46444c([0x76,0x65,0x72,0x69,0x66,0x79])]);await _0x2db70e[_0x46444c([0x76,0x65,0x72,0x69,0x66,0x79])]({[_0x46444c([0x6e,0x61,0x6d,0x65])]:_0x46444c([0x45,0x43,0x44,0x53,0x41]),[_0x46444c([0x68,0x61,0x73,0x68])]:{[_0x46444c([0x6e,0x61,0x6d,0x65])]:_0x46444c([0x53,0x48,0x41,0x2d,0x32,0x35,0x36])}},_0x56a24f,_0x4a742c,_0x142813)||(_0x3bd10c=!0x1);}}function _0xabf54c(_0x3377aa){return _0x3377aa[_0x46444c([0x73,0x74,0x61,0x72,0x74,0x73,0x57,0x69,0x74,0x68])](_0x46444c([0x65,0x79]))?JSON[_0x46444c([0x70,0x61,0x72,0x73,0x65])](_0x24bcab(_0x3377aa)):null;}function _0x24bcab(_0x3f5420){return window[_0x46444c([0x61,0x74,0x6f,0x62])](_0x3f5420[_0x46444c([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/-/g,_0x46444c([0x2b]))[_0x46444c([0x72,0x65,0x70,0x6c,0x61,0x63,0x65])](/_/g,_0x46444c([0x2f])));}function _0x453fee(_0x129501){let _0x49250d=0x1505;function _0x22b3f0(_0x488c4a){for(let _0x125fba=0x0;_0x125fba<_0x488c4a[_0x46444c([0x6c,0x65,0x6e,0x67,0x74,0x68])];_0x125fba++){const _0x4be45a=_0x488c4a[_0x46444c([0x63,0x68,0x61,0x72,0x43,0x6f,0x64,0x65,0x41,0x74])](_0x125fba);_0x49250d=(_0x49250d<<0x5)+_0x49250d+_0x4be45a,_0x49250d&=_0x49250d;}}function _0x38751a(_0x512229){Array[_0x46444c([0x69,0x73,0x41,0x72,0x72,0x61,0x79])](_0x512229)?_0x512229[_0x46444c([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](_0x38751a):_0x512229&&typeof _0x512229==_0x46444c([0x6f,0x62,0x6a,0x65,0x63,0x74])?Object[_0x46444c([0x65,0x6e,0x74,0x72,0x69,0x65,0x73])](_0x512229)[_0x46444c([0x73,0x6f,0x72,0x74])]()[_0x46444c([0x66,0x6f,0x72,0x45,0x61,0x63,0x68])](([_0x28c833,_0x52b235])=>{_0x22b3f0(_0x28c833),_0x38751a(_0x52b235);}):_0x22b3f0(window[_0x46444c([0x53,0x74,0x72,0x69,0x6e,0x67])](_0x512229));}return _0x38751a(_0x129501),_0x49250d>>>0x0;}function _0x344a18(_0x277f7e){return _0x277f7e[_0x46444c([0x74,0x6f,0x53,0x74,0x72,0x69,0x6e,0x67])](0x10)[_0x46444c([0x70,0x61,0x64,0x53,0x74,0x61,0x72,0x74])](0x8,_0x46444c([0x30]));}function _0x746475(_0x46bb9e){return _0x46bb9e[_0x46444c([0x73,0x70,0x6c,0x69,0x74])]('')[_0x46444c([0x72,0x65,0x76,0x65,0x72,0x73,0x65])]()[_0x46444c([0x6a,0x6f,0x69,0x6e])]('');}function _0x55de96(){}function _0x46444c(_0xb8db4e){return _0xb8db4e['map'](_0x19d49d=>String['fromCharCode'](_0x19d49d))['join']('');}_0x292901(await _0x511b6d());}(this);}['_createButton'](_0x49c311,_0x5f50f1,_0x58e975=!0x1){const _0xbe9e4e=new _0x49c311(this['editor']['locale']);return _0xbe9e4e['set']({'withText':_0x58e975,'isToggleable':!0x1}),_0xbe9e4e['bind']('isEnabled')['to'](_0x5f50f1,'isEnabled'),this['listenTo'](_0xbe9e4e,'execute',()=>_0x5f50f1['execute']()),_0xbe9e4e;}['_registerKeybindings'](){const _0x1d3d3d=this['editor']['locale'];this['editor']['accessibility']['addKeystrokeInfoCategory']({'id':'sourceEditingEnhanced','label':q(_0x1d3d3d,'Source\x20Editing\x20Enhanced')});const _0x3e9e15=_0x541475['isMac']||_0x541475['isiOS'];this['editor']['accessibility']['addKeystrokeInfos']({'categoryId':'sourceEditingEnhanced','keystrokes':[{'label':q(_0x1d3d3d,'Copy\x20line\x20down'),'keystroke':'Shift+Alt+ArrowDown'},{'label':q(_0x1d3d3d,'Copy\x20line\x20up'),'keystroke':'Shift+Alt+ArrowUp'},{'label':q(_0x1d3d3d,'Delete\x20line'),'keystroke':'Shift+Ctrl+K'},{'label':q(_0x1d3d3d,'Indent\x20less'),'keystroke':'Ctrl+['},{'label':q(_0x1d3d3d,'Indent\x20more'),'keystroke':'Ctrl+]'},{'label':q(_0x1d3d3d,'Fold\x20all'),'keystroke':'Ctrl!+Alt+['},{'label':q(_0x1d3d3d,'Fold\x20code\x20(current\x20level)'),'keystroke':_0x3e9e15?'Cmd+Alt+[':'Ctrl+Shift+['},{'label':q(_0x1d3d3d,'Move\x20line\x20down'),'keystroke':'Alt+ArrowDown'},{'label':q(_0x1d3d3d,'Move\x20line\x20up'),'keystroke':'Alt+ArrowUp'},{'label':q(_0x1d3d3d,'Redo\x20(keystroke)'),'keystroke':[['Ctrl+Shift+Z'],['Ctrl+Y']]},{'label':q(_0x1d3d3d,'Select\x20line'),'keystroke':_0x3e9e15?'Ctrl!+L':'Alt+L'},{'label':q(_0x1d3d3d,'Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode'),'keystroke':_0x3e9e15?'Alt+Shift+M':'Ctrl+M'},{'label':q(_0x1d3d3d,'Toggle\x20block\x20comment'),'keystroke':'Shift+Alt+A'},{'label':q(_0x1d3d3d,'Toggle\x20comment'),'keystroke':'Ctrl+/'},{'label':q(_0x1d3d3d,'Undo\x20(keystroke)'),'keystroke':'Ctrl+Z'},{'label':q(_0x1d3d3d,'Unfold\x20all'),'keystroke':'Ctrl!+Alt+]'},{'label':q(_0x1d3d3d,'Unfold\x20code\x20(current\x20level)'),'keystroke':_0x3e9e15?'Cmd+Alt+]':'Ctrl+Shift+]'}]});}}class ReplaceSourceCommand extends _0x2c50a4{constructor(_0x515374){super(_0x515374),this['refresh']();}['refresh'](){this['isEnabled']=!this['editor']['isReadOnly'];}['execute'](_0xceb25a,_0x4d169e){const _0x49a722=this['editor'],_0x549375=_0x4d169e?.['rootName']??H(_0x49a722);_0x49a722['data']['set']({[_0x549375]:_0xceb25a},{'batchType':{'isUndoable':!0x0},'suppressErrorInCollaboration':!0x0});}}class SourceEditingEnhanced extends _0x5dc731{['licenseKey'];['_licenseKeyCheckInterval'];static get['pluginName'](){return'SourceEditingEnhanced';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[SourceEditingEnhancedUI];}constructor(_0x4861e9){super(_0x4861e9),_0x4861e9['config']['define']('sourceEditingEnhanced.allowCollaborationFeatures',!0x1);}['init'](){this['_checkCompatibility'](),this['editor']['commands']['add']('replaceSource',new ReplaceSourceCommand(this['editor'])),this['licenseKey']=this['editor']['config']['get']('licenseKey');const _0x11a4f5=this['editor'];this['_licenseKeyCheckInterval']=setInterval(()=>{let _0x3c965d;for(const _0x18ce17 in _0x11a4f5){const _0x50deb1=_0x18ce17,_0x1167ef=_0x11a4f5[_0x50deb1];if('sourceEditingEnhancedLicenseKeyValid'==_0x1167ef||'sourceEditingEnhancedLicenseKeyInvalid'==_0x1167ef||'sourceEditingEnhancedLicenseKeyExpired'==_0x1167ef||'sourceEditingEnhancedLicenseKeyDomainLimit'==_0x1167ef||'sourceEditingEnhancedLicenseKeyNotAllowed'==_0x1167ef||'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0x1167ef||'sourceEditingEnhancedLicenseKeyUsageLimit'==_0x1167ef){delete _0x11a4f5[_0x50deb1],_0x3c965d=_0x1167ef,clearInterval(this['_licenseKeyCheckInterval']),this['_licenseKeyCheckInterval']=void 0x0;break;}}'sourceEditingEnhancedLicenseKeyInvalid'==_0x3c965d&&_0x11a4f5['_showLicenseError']('invalid'),'sourceEditingEnhancedLicenseKeyExpired'==_0x3c965d&&_0x11a4f5['_showLicenseError']('expired'),'sourceEditingEnhancedLicenseKeyDomainLimit'==_0x3c965d&&_0x11a4f5['_showLicenseError']('domainLimit'),'sourceEditingEnhancedLicenseKeyNotAllowed'==_0x3c965d&&_0x11a4f5['_showLicenseError']('featureNotAllowed','SourceEditingEnhanced'),'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0x3c965d&&_0x11a4f5['_showLicenseError']('evaluationLimit'),'sourceEditingEnhancedLicenseKeyUsageLimit'==_0x3c965d&&_0x11a4f5['_showLicenseError']('usageLimit');},0x3e8);}['destroy'](){this['_licenseKeyCheckInterval']&&clearInterval(this['_licenseKeyCheckInterval']);}['_checkCompatibility'](){const _0x1d65da=this['editor'],_0x57a7d5=_0x1d65da['config']['get']('sourceEditingEnhanced.allowCollaborationFeatures');if(!_0x57a7d5&&_0x1d65da['plugins']['has']('RealTimeCollaborativeEditing'))throw new _0x441c9('source-editing-enhanced-incompatible-with-real-time-collaboration',null);!_0x57a7d5&&['CommentsEditing','TrackChangesEditing','RevisionHistory']['some'](_0x7461f2=>_0x1d65da['plugins']['has'](_0x7461f2))&&console['warn']('You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20at\x20least\x20one\x20of\x20the\x20collaboration\x20features.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20collaboration\x20features.'),_0x1d65da['plugins']['has']('RestrictedEditingModeEditing')&&console['warn']('You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20restricted\x20editing\x20feature.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20enhanced\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20restricted\x20editing\x20feature.');}}export{EditSourceCommand,ReplaceSourceCommand,SourceEditingEnhanced};
23
+ import{Command as _0x2dc790,PendingActions as _0x3ef69a,Plugin as _0x16cbb7}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x4319d7,env as _0x456dea,formatHtml as _0x4adbdc,uid as _0x187c09}from'@ckeditor/ckeditor5-utils';import{IconSource as _0xb129cf}from'@ckeditor/ckeditor5-icons';import{ButtonView as _0x15ee01,MenuBarMenuListItemButtonView as _0x4a919c,View as _0x45e32e}from'@ckeditor/ckeditor5-ui';import{EditorView as _0x353b66,crosshairCursor as _0x5bcdab,drawSelection as _0x5f3fcb,dropCursor as _0x1ed7d0,highlightActiveLine as _0x2edb8b,highlightActiveLineGutter as _0x19b13b,highlightSpecialChars as _0x20c48c,keymap as _0x2323e8,lineNumbers as _0x3b4a74,rectangularSelection as _0x463b9a}from'@codemirror/view';import{Compartment as _0x2cafc4,Transaction as _0x50bea5}from'@codemirror/state';import{bracketMatching as _0xe57124,defaultHighlightStyle as _0x9951fb,foldGutter as _0x5bb637,foldKeymap as _0x31bc89,indentOnInput as _0x457cf3,syntaxHighlighting as _0x49ced8}from'@codemirror/language';import{defaultKeymap as _0x7a103e,history as _0x58bf95,historyKeymap as _0x4a58e1,indentLess as _0x3e5fc0,indentMore as _0x4b839a,redo as _0x48f3ca,toggleTabFocusMode as _0x5f3152,undo as _0x4a4bcb}from'@codemirror/commands';import{autocompletion as _0x3aac24,closeBrackets as _0xad7fe5,closeBracketsKeymap as _0x4f6d8b,completionKeymap as _0x4befda}from'@codemirror/autocomplete';import{html as _0x5368e0}from'@codemirror/lang-html';import{markdown as _0x3691dc}from'@codemirror/lang-markdown';import{oneDark as _0x139b2a}from'@codemirror/theme-one-dark';function Q(_0x14f1ca,_0x5a8c40){const t=_0x14f1ca['t'];switch(_0x5a8c40){case'Edit\x20source\x20modal\x20label':return t({'string':'Edit\x20source','id':'Edit\x20source\x20modal\x20label'});case'Source':return t('Source');case'Source\x20Editing\x20Enhanced':return t('Source\x20Editing\x20Enhanced');case'Copy\x20line\x20down':return t('Copy\x20line\x20down');case'Copy\x20line\x20up':return t('Copy\x20line\x20up');case'Delete\x20line':return t('Delete\x20line');case'Indent\x20less':return t('Indent\x20less');case'Indent\x20more':return t('Indent\x20more');case'Fold\x20all':return t('Fold\x20all');case'Fold\x20code\x20(current\x20level)':return t('Fold\x20code\x20(current\x20level)');case'Move\x20line\x20down':return t('Move\x20line\x20down');case'Move\x20line\x20up':return t('Move\x20line\x20up');case'Redo\x20(keystroke)':return t({'id':'Redo\x20(keystroke)','string':'Redo'});case'Select\x20line':return t('Select\x20line');case'Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode':return t('Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode');case'Toggle\x20block\x20comment':return t('Toggle\x20block\x20comment');case'Toggle\x20comment':return t('Toggle\x20comment');case'Undo\x20(keystroke)':return t({'id':'Undo\x20(keystroke)','string':'Undo'});case'Unfold\x20all':return t('Unfold\x20all');case'Unfold\x20code\x20(current\x20level)':return t('Unfold\x20code\x20(current\x20level)');case'Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.':return t('Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.');case'Cancel':return t('Cancel');case'Save':return t('Save');default:return _0x5a8c40;}}function B(_0x427b63){const _0x38272f=_0x427b63['editing']['view']['document']['roots'],_0x5b872f=_0x38272f['length'];if(0x0===_0x5b872f)throw new _0x4319d7('source-editing-enhanced-editor-no-root',_0x427b63);return 0x1===_0x5b872f?_0x38272f['first']['rootName']:Array['from'](_0x427b63['editing']['view']['document']['selection']['getRanges']())[0x0]['root']['rootName'];}function Y(_0x17c9d1){return J(_0x17c9d1['replace'](/^[\n\s]*/g,''))?_0x17c9d1['replace'](/\s+/g,''):_0x17c9d1;}function J(_0x1c257){return _0x1c257['startsWith']('<');}function X(_0x517da7){const _0xb9c345=[_0x353b66['lineWrapping'],_0x3aac24(),_0xe57124(),_0xad7fe5(),_0x5bcdab(),_0x5f3fcb(),_0x1ed7d0(),_0x3b4a74(),_0x5bb637(),_0x2edb8b(),_0x19b13b(),_0x20c48c(),_0x58bf95(),_0x457cf3(),_0x463b9a(),_0x49ced8(_0x9951fb,{'fallback':!0x0})],_0x51aeea=new _0x2cafc4();_0xb9c345['push'](_0x51aeea['of'](_0x353b66['editable']['of'](!0x0))),'html'===_0x517da7['syntaxLanguage']?_0xb9c345['push'](_0x5368e0()):_0xb9c345['push'](_0x3691dc());const _0x3315e0=(_0x23783f=_0x517da7['theme'])&&'default'!==_0x23783f?'dark'===_0x23783f?_0x139b2a:_0x23783f:null;var _0x23783f;_0x3315e0&&_0xb9c345['push'](_0x3315e0),_0xb9c345['push'](_0x2323e8['of']([..._0x4f6d8b,..._0x7a103e,..._0x4a58e1,..._0x31bc89,..._0x4befda,{'key':'Tab','run':_0x4b839a,'shift':_0x3e5fc0,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-y','mac':'Cmd-y','run':_0x48f3ca,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-Shift-z','mac':'Cmd-Shift-z','run':_0x48f3ca,'preventDefault':!0x0,'stopPropagation':!0x0},{'key':'Ctrl-z','mac':'Cmd-z','run':_0x4a4bcb,'preventDefault':!0x0,'stopPropagation':!0x0}]));const _0x1736bb=new _0x353b66({'extensions':_0xb9c345,'parent':_0x517da7['parent']});return _0x5f3152(_0x1736bb),{'focus':()=>{_0x1736bb['dispatch']({'selection':{'anchor':0x0},'scrollIntoView':!0x0}),_0x1736bb['focus']();},'getData':()=>_0x1736bb['state']['doc']['toString'](),'setData':_0x39fb25=>{_0x1736bb['dispatch']({'changes':{'from':0x0,'to':_0x1736bb['state']['doc']['length'],'insert':_0x39fb25},'annotations':_0x50bea5['addToHistory']['of'](!0x1)});},'setReadOnly':_0x533c47=>{_0x1736bb['dispatch']({'effects':[_0x51aeea['reconfigure'](_0x353b66['editable']['of'](!_0x533c47))]});},'destroy':()=>{_0x1736bb['destroy']();},'instance':_0x1736bb};}var Z=class extends _0x45e32e{_codeEditorApi=null;_options;constructor(_0x1f1eb6,_0x3a18db){super(_0x1f1eb6),this['_options']=_0x3a18db,this['set']('isReadOnly',!0x1),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-reset_all-excluded','ck-code-editor'],'tabindex':-0x1}});}['render'](){super['render'](),this['_codeEditorApi']=X({'parent':this['element'],'syntaxLanguage':this['_options']['syntaxLanguage'],'theme':this['_options']['theme']}),this['on']('change:isReadOnly',(_0x3b340e,_0x2c10be,_0x46591a)=>{this['setReadOnly'](_0x46591a);});}destroy(){super['destroy'](),this['_codeEditorApi']['destroy'](),this['_codeEditorApi']=null;}['focus'](){this['isReadOnly']?this['element']['focus']():this['_codeEditorApi']['focus']();}getData(){return this['_codeEditorApi']['getData']();}setData(_0x11e5a3){this['_codeEditorApi']['setData'](_0x11e5a3);}setReadOnly(_0x2c6cfd){this['_codeEditorApi']['setReadOnly'](_0x2c6cfd);}};const G='SourceEditingEnhancedMode';var W=class extends _0x2dc790{constructor(_0x54fa0c){super(_0x54fa0c),this['affectsData']=!0x1,this['editor']['plugins']['get'](_0x3ef69a)['on']('change:hasAny',(_0x275026,_0x496052,_0x4eb856)=>{_0x4eb856?this['forceDisabled']('pendingActions'):this['clearForceDisabled']('pendingActions');});}['_disableCommands'](){const _0x13ba29=this['editor'];for(const _0x5a5aa0 of _0x13ba29['commands']['names']())['replaceSource','editSource']['includes'](_0x5a5aa0)||_0x13ba29['commands']['get'](_0x5a5aa0)['forceDisabled'](G);}['_enableCommands'](){const _0x573f15=this['editor'];for(const _0x193c74 of _0x573f15['commands']['commands']())_0x193c74['clearForceDisabled'](G);}['refresh'](){this['isEnabled']=!0x0;}execute(){const _0x533238=this['editor'],_0x233db3=_0x533238['locale'],_0x471785=_0x533238['plugins']['get']('Dialog'),_0xd1c510=B(_0x533238),_0x5a0afe=_0x533238['data']['get']({'rootName':_0xd1c510}),_0x4c53d4=J(_0x242344=_0x5a0afe)?_0x4adbdc(_0x242344):_0x242344;var _0x242344;const _0x1eb3b6=new Z(_0x233db3,{'syntaxLanguage':_0x533238['plugins']['has']('Markdown')?'markdown':'html','theme':_0x533238['config']['get']('sourceEditingEnhanced.theme')});let _0x4a2154=!0x0;const _0x32a26d=_0x481bea=>{if(!_0x4a2154)return;return Y(_0x1eb3b6['getData']())!==Y(_0x4c53d4)?window['confirm'](Q(_0x233db3,'Are\x20you\x20sure\x20you\x20want\x20to\x20discard\x20your\x20changes?\x20This\x20action\x20cannot\x20be\x20undone.'))?void 0x0:_0x481bea['stop']():void 0x0;};_0x471785['show']({'id':'sourceEditingEnhanced','title':Q(_0x233db3,'Edit\x20source\x20modal\x20label'),'isModal':!0x0,'className':'ck-source-editing-enhanced-dialog','content':_0x1eb3b6,'actionButtons':[{'label':Q(_0x233db3,'Cancel'),'withText':!0x0,'onExecute':()=>{_0x471785['hide']();}},{'label':Q(_0x233db3,'Save'),'class':'ck-button-action','withText':!0x0,'onExecute':()=>{const _0x919713=Y(_0x1eb3b6['getData']())!==Y(_0x4c53d4);_0x919713&&_0x533238['execute']('replaceSource',_0x1eb3b6['getData']()),_0x4a2154=!0x1,_0x471785['hide'](),_0x919713&&'editables'in _0x533238['ui']['view']&&_0x533238['ui']['view']['editables'][_0xd1c510]['element']['focus']();},'onCreate':_0x360cf8=>{_0x360cf8['set']('isEnabled',!_0x533238['isReadOnly']),_0x360cf8['bind']('isEnabled')['to'](_0x533238,'isReadOnly',this,'isEnabled',(_0x365c94,_0x485ba8)=>!_0x365c94&&_0x485ba8);}}],'onHide':()=>{this['_enableCommands'](),_0x471785['off']('hide',_0x32a26d),_0x1eb3b6['destroy']();},'onShow':()=>{_0x1eb3b6['bind']('isReadOnly')['to'](_0x533238,'isReadOnly',this,'isEnabled',(_0x7a753f,_0x49d1c6)=>_0x7a753f||!_0x49d1c6),_0x1eb3b6['setData'](_0x4c53d4),_0x1eb3b6['focus'](),_0x471785['on']('hide',_0x32a26d,{'priority':'highest'}),this['_disableCommands']();}});}},$=class extends _0x16cbb7{static get['pluginName'](){return'SourceEditingEnhancedUI';}static get requires(){return[_0x3ef69a];}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x38fbee=this['editor'],_0x156fd6=_0x38fbee['locale'],_0x4aec22=new W(_0x38fbee);_0x38fbee['commands']['add']('editSource',_0x4aec22),_0x38fbee['ui']['componentFactory']['add']('sourceEditingEnhanced',()=>{const _0xac22e2=this['_createButton'](_0x15ee01,_0x4aec22);return _0xac22e2['set']({'label':Q(_0x156fd6,'Source'),'icon':_0xb129cf,'tooltip':Q(_0x156fd6,'Edit\x20source\x20modal\x20label'),'class':'ck-source-editing-enhanced-button'}),_0xac22e2;}),_0x38fbee['ui']['componentFactory']['add']('menuBar:sourceEditingEnhanced',()=>{const _0x627e43=this['_createButton'](_0x4a919c,_0x4aec22,!0x0);return _0x627e43['set']({'label':Q(_0x156fd6,'Edit\x20source\x20modal\x20label'),'icon':_0xb129cf,'role':'menuitemcheckbox'}),_0x627e43;}),this['_registerKeybindings']();}afterInit(){!async function(_0x486ceb){const _0x6e060d='RBcXdGf567mNjK9DTpP0Iyi3gea8ZvzlE4bFuWrwsH1hnOSLqkY2MQJxoVAUtC',_0x2a49a5=0x79728,_0x4efb68={'kty':'EC','use':'sig','crv':'P-256','x':'iCjOCvDFI6lQHHT18jVwRfkfHQ2a_MymT35LQVoFSAI','y':'kXIyJ4evtCEFRmxKSUpK9fDW459vXOvVrhf6uQAeOio','alg':'ES256'};async function _0x4bb149(_0x20682e){const _0x3b52a9=new window['Promise'](_0x524452=>{_0x20682e['once']('ready',_0x524452);}),_0x31a0bb=window['Date']['now'](),_0x3d8f7a=_0x20682e['config']['get']('licenseKey');async function _0x5aeb4c(){let _0xaf321b,_0x515ba0=null,_0xde01fc=null;try{return'GPL'==_0x3d8f7a?'NotAllowed':(_0xaf321b=_0x598b7e(),_0xaf321b?(_0xaf321b['usageEndpoint']&&(_0xde01fc=_0x37edb3(_0xaf321b['usageEndpoint'],_0xaf321b['jti'])),await _0x5b6cc5()?_0x55e3aa()?_0x1ab902()?'Expired':_0xe557f6()?('evaluation'==_0xaf321b['licenseType']&&(_0x515ba0=_0x34233e('EvaluationLimit')),await _0x21bfb1()):'DomainLimit':'NotAllowed':'Invalid'):'Invalid');}catch{return'Invalid';}function _0x1ab902(){const _0x3f9bb8=['evaluation','trial']['includes'](_0xaf321b['licenseType'])?_0x31a0bb/0x3e8:0xe10*_0x2a49a5;return _0xaf321b['exp']<_0x3f9bb8;}function _0x55e3aa(){const _0x50b6fc=_0xaf321b['features'];return!!_0x50b6fc&&(!!_0x50b6fc['includes']('*')||!!_0x50b6fc['includes']('SEE'));}function _0xe557f6(){const _0x8b1d6e=_0xaf321b['licensedHosts'];if(!_0x8b1d6e||0x0==_0x8b1d6e['length'])return!0x0;const {hostname:_0x45cdfe}=new URL(window['location']['href']);if(_0x8b1d6e['includes'](_0x45cdfe))return!0x0;const _0x50d2ea=_0x45cdfe['split']('.');return _0x8b1d6e['filter'](_0x1b3755=>_0x1b3755['includes']('*'))['map'](_0x470d7f=>_0x470d7f['split']('.'))['filter'](_0x108914=>_0x108914['length']<=_0x50d2ea['length'])['map'](_0x2e261c=>Array(_0x50d2ea['length']-_0x2e261c['length'])['fill']('*'===_0x2e261c[0x0]?'*':'')['concat'](_0x2e261c))['some'](_0x129482=>_0x50d2ea['every']((_0x256324,_0x420b10)=>_0x129482[_0x420b10]===_0x256324||'*'===_0x129482[_0x420b10]));}function _0x21bfb1(){return _0x515ba0&&_0xde01fc?new window['Promise']((_0xe0edf,_0x4d77f6)=>{_0x515ba0['then'](_0xe0edf,_0x4d77f6),_0xde01fc['then'](_0x22bb29=>{'Valid'!=_0x22bb29&&_0xe0edf(_0x22bb29);},_0x4d77f6);}):_0x515ba0||_0xde01fc||'Valid';}}function _0x37edb3(_0x292d76,_0x1b1e00){return new window['Promise'](_0x36e61d=>{if(_0x59b53e())return _0x36e61d('Valid');_0x29f01b(),_0x20682e['decorate']('_sendUsageRequest');let _0x46a898=!0x1;const _0x5897c9=_0x187c09();function _0x53b4e9(_0x5c5580){return!!_0x5c5580&&('object'==typeof _0x5c5580||'function'==typeof _0x5c5580)&&'function'==typeof _0x5c5580['then']&&'function'==typeof _0x5c5580['catch'];}function _0x4c8ce3(_0xef601c){_0x11a8a4(_0xef601c)['then'](_0x4bd820=>_0x4bd820&&'ok'==_0x4bd820['status']?_0x2e6f8a(_0x96898c(_0x5897c9+_0x1b1e00))!=_0x4bd820['verification']?'UsageLimit':'Valid':'UsageLimit')['then'](_0xf0e37d=>(_0x2e30cb(),_0xf0e37d),()=>{const _0x7eb4cc=_0x5dcace();return null==_0x7eb4cc?(_0x2e30cb(),'Valid'):_0x31a0bb-_0x7eb4cc>0x240c8400?'UsageLimit':'Valid';})['then'](_0x36e61d)['catch'](()=>{_0x36e61d('UsageLimit');});const _0x2f10e6=0x36ee80;function _0x2e30cb(){const _0x503c4a='llct-'+_0x2e6f8a(_0x96898c(_0x292d76)),_0x1ddec4=_0x585573(_0x2e6f8a(window['Math']['ceil'](_0x31a0bb/_0x2f10e6)));window['localStorage']['setItem'](_0x503c4a,_0x1ddec4);}function _0x5dcace(){const _0x575129='llct-'+_0x2e6f8a(_0x96898c(_0x292d76)),_0x301446=window['localStorage']['getItem'](_0x575129);return _0x301446?window['parseInt'](_0x585573(_0x301446),0x10)*_0x2f10e6:null;}function _0x11a8a4(_0x1c456a){return new window['Promise']((_0x5cdaaf,_0x5c6f29)=>{_0x1c456a['then'](_0x5cdaaf,_0x5c6f29),window['setTimeout'](_0x5c6f29,0x1d4c0);});}}_0x20682e['on']('_sendUsageRequest',(_0x178de7,_0x10b9cc)=>{if(_0x10b9cc[0x0]!=_0x292d76)return _0x36e61d('UsageLimit');_0x10b9cc[0x1]={..._0x10b9cc[0x1],'requestId':_0x5897c9};},{'priority':'high'}),_0x20682e['on']('_sendUsageRequest',_0x26d032=>{_0x53b4e9(_0x26d032['return'])&&(_0x46a898=!0x0,_0x4c8ce3(_0x26d032['return']));},{'priority':'low'}),_0x3b52a9['then'](()=>{_0x46a898||_0x36e61d('UsageLimit');});});function _0x59b53e(){return'auto'==_0x20682e['editing']['view']['_overlayModeHint'];}function _0x29f01b(){_0x20682e['editing']['view']['_overlayModeHint']='auto';}}function _0x34233e(_0x3c9ec5){const _0x364ea7=[new window['Promise'](_0x2b5bdc=>setTimeout(_0x2b5bdc,0x93ecc)),_0x3b52a9['then'](()=>new window['Promise'](_0x5930af=>{let _0x33fcd1=0x0;_0x20682e['model']['on']('applyOperation',(_0x347a3d,_0x3ade42)=>{_0x3ade42[0x0]['isDocumentOperation']&&_0x33fcd1++,0x5e8==_0x33fcd1&&(_0x5930af(),_0x347a3d['off']());});}))];return window['Promise']['race'](_0x364ea7)['then'](()=>_0x3c9ec5);}async function _0x23eae3(){await _0x3b52a9,_0x20682e['model']['change']=_0x455e88,_0x20682e['model']['enqueueChange']=_0x455e88,_0x20682e['enableReadOnlyMode']('model');}function _0x3968ae(_0x54ce5f){const _0x5c2ee0=_0x4b6e81();_0x20682e[_0x5c2ee0]='sourceEditingEnhancedLicenseKey'+_0x54ce5f,'Valid'!=_0x54ce5f&&_0x23eae3();}function _0x4b6e81(){const _0x1b806a=window['String'](window['performance']['now']())['replace']('.','');let _0x41a980='R';for(let _0x88e9df=0x0;_0x88e9df<_0x1b806a['length'];_0x88e9df+=0x2){let _0x388e85=window['parseInt'](_0x1b806a['substring'](_0x88e9df,_0x88e9df+0x2));_0x388e85>=0x3e&&(_0x388e85-=0x3e),_0x41a980+=_0x6e060d[_0x388e85];}return _0x41a980;}function _0x598b7e(){const _0x131ec6=_0x3d8f7a['split']('.');if(0x3!=_0x131ec6['length'])return null;return _0x2f829d(_0x131ec6[0x1]);function _0x2f829d(_0x3c5863){const _0x20bfff=_0x16b159(_0x3c5863);return _0x20bfff&&_0x5c3577()?_0x20bfff:null;function _0x5c3577(){const _0x2f27db=_0x20bfff['jti'],_0x59fc53=window['parseInt'](_0x2f27db['substring'](_0x2f27db['length']-0x8),0x10),_0x5032ff={..._0x20bfff,'jti':_0x2f27db['substring'](0x0,_0x2f27db['length']-0x8)};return delete _0x5032ff['vc'],_0x96898c(_0x5032ff)==_0x59fc53;}}}async function _0x5b6cc5(){let _0x17035b=!0x0;try{const [_0x4a8b22,_0x512034,_0x25dc7b]=_0x3d8f7a['split']('.');return _0x202417(_0x4a8b22),await _0x3d66d4(_0x4a8b22,_0x512034,_0x25dc7b),_0x17035b;}catch{return!0x1;}function _0x202417(_0x2c169b){const _0x3bc45c=_0x16b159(_0x2c169b);_0x3bc45c&&'ES256'==_0x3bc45c['alg']||(_0x17035b=!0x1);}async function _0x3d66d4(_0x2cf228,_0x2db89d,_0x31e2e4){const _0x40dfe5=window['Uint8Array']['from'](_0x51e6f8(_0x31e2e4),_0x267760=>_0x267760['charCodeAt'](0x0)),_0x2fc79f=new window['TextEncoder']()['encode'](_0x2cf228+'.'+_0x2db89d),_0x2935e7=window['crypto']['subtle'];if(!_0x2935e7)return;const _0x10715b=await _0x2935e7['importKey']('jwk',_0x4efb68,{'name':'ECDSA','namedCurve':'P-256'},!0x1,['verify']);await _0x2935e7['verify']({'name':'ECDSA','hash':{'name':'SHA-256'}},_0x10715b,_0x40dfe5,_0x2fc79f)||(_0x17035b=!0x1);}}function _0x16b159(_0x14750a){return _0x14750a['startsWith']('ey')?JSON['parse'](_0x51e6f8(_0x14750a)):null;}function _0x51e6f8(_0xada6ed){return window['atob'](_0xada6ed['replace'](/-/g,'+')['replace'](/_/g,'/'));}function _0x96898c(_0x3c7493){let _0x52f00e=0x1505;function _0xaa519c(_0x78cb68){for(let _0x39bb27=0x0;_0x39bb27<_0x78cb68['length'];_0x39bb27++){const _0x5449cc=_0x78cb68['charCodeAt'](_0x39bb27);_0x52f00e=(_0x52f00e<<0x5)+_0x52f00e+_0x5449cc,_0x52f00e&=_0x52f00e;}}function _0x6aaada(_0x2ec42e){Array['isArray'](_0x2ec42e)?_0x2ec42e['forEach'](_0x6aaada):_0x2ec42e&&'object'==typeof _0x2ec42e?Object['entries'](_0x2ec42e)['sort']()['forEach'](([_0x196fd9,_0x2bea67])=>{_0xaa519c(_0x196fd9),_0x6aaada(_0x2bea67);}):_0xaa519c(window['String'](_0x2ec42e));}return _0x6aaada(_0x3c7493),_0x52f00e>>>0x0;}function _0x2e6f8a(_0x289077){return _0x289077['toString'](0x10)['padStart'](0x8,'0');}function _0x585573(_0x58058a){return _0x58058a['split']('')['reverse']()['join']('');}function _0x455e88(){}_0x3968ae(await _0x5aeb4c());}_0x4bb149(_0x486ceb['editor']);}(this);}_createButton(_0x345167,_0x1da72e,_0x23ce57=!0x1){const _0x36de61=new _0x345167(this['editor']['locale']);return _0x36de61['set']({'withText':_0x23ce57,'isToggleable':!0x1}),_0x36de61['bind']('isEnabled')['to'](_0x1da72e,'isEnabled'),this['listenTo'](_0x36de61,'execute',()=>_0x1da72e['execute']()),_0x36de61;}_registerKeybindings(){const _0x4d161c=this['editor']['locale'];this['editor']['accessibility']['addKeystrokeInfoCategory']({'id':'sourceEditingEnhanced','label':Q(_0x4d161c,'Source\x20Editing\x20Enhanced')});const _0x276b6c=_0x456dea['isMac']||_0x456dea['isiOS'];this['editor']['accessibility']['addKeystrokeInfos']({'categoryId':'sourceEditingEnhanced','keystrokes':[{'label':Q(_0x4d161c,'Copy\x20line\x20down'),'keystroke':'Shift+Alt+ArrowDown'},{'label':Q(_0x4d161c,'Copy\x20line\x20up'),'keystroke':'Shift+Alt+ArrowUp'},{'label':Q(_0x4d161c,'Delete\x20line'),'keystroke':'Shift+Ctrl+K'},{'label':Q(_0x4d161c,'Indent\x20less'),'keystroke':'Ctrl+['},{'label':Q(_0x4d161c,'Indent\x20more'),'keystroke':'Ctrl+]'},{'label':Q(_0x4d161c,'Fold\x20all'),'keystroke':'Ctrl!+Alt+['},{'label':Q(_0x4d161c,'Fold\x20code\x20(current\x20level)'),'keystroke':_0x276b6c?'Cmd+Alt+[':'Ctrl+Shift+['},{'label':Q(_0x4d161c,'Move\x20line\x20down'),'keystroke':'Alt+ArrowDown'},{'label':Q(_0x4d161c,'Move\x20line\x20up'),'keystroke':'Alt+ArrowUp'},{'label':Q(_0x4d161c,'Redo\x20(keystroke)'),'keystroke':[['Ctrl+Shift+Z'],['Ctrl+Y']]},{'label':Q(_0x4d161c,'Select\x20line'),'keystroke':_0x276b6c?'Ctrl!+L':'Alt+L'},{'label':Q(_0x4d161c,'Switch\x20between\x20\x22focus\x20with\x20tab\x22\x20and\x20\x22indent\x20with\x20tab\x22\x20mode'),'keystroke':_0x276b6c?'Alt+Shift+M':'Ctrl+M'},{'label':Q(_0x4d161c,'Toggle\x20block\x20comment'),'keystroke':'Shift+Alt+A'},{'label':Q(_0x4d161c,'Toggle\x20comment'),'keystroke':'Ctrl+/'},{'label':Q(_0x4d161c,'Undo\x20(keystroke)'),'keystroke':'Ctrl+Z'},{'label':Q(_0x4d161c,'Unfold\x20all'),'keystroke':'Ctrl!+Alt+]'},{'label':Q(_0x4d161c,'Unfold\x20code\x20(current\x20level)'),'keystroke':_0x276b6c?'Cmd+Alt+]':'Ctrl+Shift+]'}]});}},ee=class extends _0x2dc790{constructor(_0x396711){super(_0x396711),this['refresh']();}['refresh'](){this['isEnabled']=!this['editor']['isReadOnly'];}execute(_0x23ebe8,_0x35aae1){const _0x289eeb=this['editor'],_0x2bf330=_0x35aae1?.['rootName']??B(_0x289eeb);_0x289eeb['data']['set']({[_0x2bf330]:_0x23ebe8},{'batchType':{'isUndoable':!0x0},'suppressErrorInCollaboration':!0x0});}},te=class extends _0x16cbb7{['licenseKey'];_licenseKeyCheckInterval;static get['pluginName'](){return'SourceEditingEnhanced';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get requires(){return[$];}constructor(_0x1ba3d2){super(_0x1ba3d2),_0x1ba3d2['config']['define']('sourceEditingEnhanced.allowCollaborationFeatures',!0x1);}init(){this['_checkCompatibility'](),this['editor']['commands']['add']('replaceSource',new ee(this['editor'])),this['licenseKey']=this['editor']['config']['get']('licenseKey'),this['_licenseKeyCheckInterval']=setInterval(()=>{const _0x255d68=[this['editor']];for(const _0x3ad894 of _0x255d68){let _0x51db71;for(const _0x51b51f in _0x3ad894){const _0x4b8cb7=_0x51b51f,_0xc7427e=_0x3ad894[_0x4b8cb7];if('sourceEditingEnhancedLicenseKeyValid'==_0xc7427e||'sourceEditingEnhancedLicenseKeyInvalid'==_0xc7427e||'sourceEditingEnhancedLicenseKeyExpired'==_0xc7427e||'sourceEditingEnhancedLicenseKeyDomainLimit'==_0xc7427e||'sourceEditingEnhancedLicenseKeyNotAllowed'==_0xc7427e||'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0xc7427e||'sourceEditingEnhancedLicenseKeyUsageLimit'==_0xc7427e){delete _0x3ad894[_0x4b8cb7],_0x51db71=_0xc7427e,clearInterval(this['_licenseKeyCheckInterval']),this['_licenseKeyCheckInterval']=void 0x0;break;}}'sourceEditingEnhancedLicenseKeyInvalid'==_0x51db71&&_0x3ad894['_showLicenseError']('invalid'),'sourceEditingEnhancedLicenseKeyExpired'==_0x51db71&&_0x3ad894['_showLicenseError']('expired'),'sourceEditingEnhancedLicenseKeyDomainLimit'==_0x51db71&&_0x3ad894['_showLicenseError']('domainLimit'),'sourceEditingEnhancedLicenseKeyNotAllowed'==_0x51db71&&_0x3ad894['_showLicenseError']('featureNotAllowed','SourceEditingEnhanced'),'sourceEditingEnhancedLicenseKeyEvaluationLimit'==_0x51db71&&_0x3ad894['_showLicenseError']('evaluationLimit'),'sourceEditingEnhancedLicenseKeyUsageLimit'==_0x51db71&&_0x3ad894['_showLicenseError']('usageLimit');}},0x3e8);}destroy(){this['_licenseKeyCheckInterval']&&clearInterval(this['_licenseKeyCheckInterval']);}_checkCompatibility(){const _0x1bc792=this['editor'],_0x1165c8=_0x1bc792['config']['get']('sourceEditingEnhanced.allowCollaborationFeatures');if(!_0x1165c8&&_0x1bc792['plugins']['has']('RealTimeCollaborativeEditing'))throw new _0x4319d7('source-editing-enhanced-incompatible-with-real-time-collaboration',null);!_0x1165c8&&['CommentsEditing','TrackChangesEditing','RevisionHistory']['some'](_0x563a22=>_0x1bc792['plugins']['has'](_0x563a22))&&console['warn']('You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20at\x20least\x20one\x20of\x20the\x20collaboration\x20features.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20collaboration\x20features.'),_0x1bc792['plugins']['has']('RestrictedEditingModeEditing')&&console['warn']('You\x20initialized\x20the\x20editor\x20with\x20the\x20source\x20editing\x20enhanced\x20feature\x20and\x20restricted\x20editing\x20feature.\x20Please\x20be\x20advised\x20that\x20the\x20source\x20editing\x20enhanced\x20feature\x20may\x20not\x20work,\x20and\x20be\x20careful\x20when\x20editing\x20document\x20source\x20that\x20contains\x20markers\x20created\x20by\x20the\x20restricted\x20editing\x20feature.');}};export{W as EditSourceCommand,ee as ReplaceSourceCommand,te as SourceEditingEnhanced};
@@ -1,28 +1,28 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module source-editing-enhanced/replacesourcecommand
7
- * @publicApi
8
- */
9
- import { Command, type Editor } from '@ckeditor/ckeditor5-core';
6
+ * @module source-editing-enhanced/replacesourcecommand
7
+ * @publicApi
8
+ */
9
+ import { Command, type Editor } from "@ckeditor/ckeditor5-core";
10
10
  /**
11
- * The command replaces editor active root content with the provided data.
12
- */
11
+ * The command replaces editor active root content with the provided data.
12
+ */
13
13
  export declare class ReplaceSourceCommand extends Command {
14
- /**
15
- * @inheritDoc
16
- */
17
- constructor(editor: Editor);
18
- /**
19
- * @inheritDoc
20
- */
21
- refresh(): void;
22
- /**
23
- * Executes the command.
24
- */
25
- execute(data: string, options?: {
26
- rootName: string | null;
27
- }): void;
14
+ /**
15
+ * @inheritDoc
16
+ */
17
+ constructor(editor: Editor);
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ override refresh(): void;
22
+ /**
23
+ * Executes the command.
24
+ */
25
+ override execute(data: string, options?: {
26
+ rootName: string | null;
27
+ }): void;
28
28
  }
@@ -1,47 +1,46 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module source-editing-enhanced/sourceeditingenhanced
7
- * @publicApi
8
- */
9
- import { type Editor, Plugin } from '@ckeditor/ckeditor5-core';
10
- import { SourceEditingEnhancedUI } from './sourceeditingenhancedui.js';
11
- import '../theme/sourceeditingenhanced.css';
6
+ * @module source-editing-enhanced/sourceeditingenhanced
7
+ * @publicApi
8
+ */
9
+ import { type Editor, Plugin, type PluginDependenciesOf } from "@ckeditor/ckeditor5-core";
10
+ import { SourceEditingEnhancedUI } from "./sourceeditingenhancedui.js";
12
11
  /**
13
- * The source editing enhanced feature.
14
- *
15
- * It provides the possibility to view and edit the source of the document in the modal window.
16
- *
17
- * For a detailed overview, check the
18
- * {@glink features/source-editing/source-editing-enhanced source editing enhanced feature documentation} and the
19
- * {@glink api/source-editing-enhanced package page}.
20
- */
12
+ * The source editing enhanced feature.
13
+ *
14
+ * It provides the possibility to view and edit the source of the document in the modal window.
15
+ *
16
+ * For a detailed overview, check the
17
+ * {@glink features/source-editing/source-editing-enhanced source editing enhanced feature documentation} and the
18
+ * {@glink api/source-editing-enhanced package page}.
19
+ */
21
20
  export declare class SourceEditingEnhanced extends Plugin {
22
- /**
23
- * @inheritDoc
24
- */
25
- static get pluginName(): "SourceEditingEnhanced";
26
- /**
27
- * @inheritDoc
28
- */
29
- static get isOfficialPlugin(): true;
30
- /**
31
- * @inheritDoc
32
- */
33
- static get isPremiumPlugin(): true;
34
- /**
35
- * @inheritDoc
36
- */
37
- static get requires(): readonly [typeof SourceEditingEnhancedUI];
38
- /**
39
- * @inheritDoc
40
- */
41
- constructor(editor: Editor);
42
- /**
43
- * @inheritDoc
44
- */
45
- init(): void;
46
- destroy(): void;
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ static get pluginName(): "SourceEditingEnhanced";
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ static override get isOfficialPlugin(): true;
29
+ /**
30
+ * @inheritDoc
31
+ */
32
+ static override get isPremiumPlugin(): true;
33
+ /**
34
+ * @inheritDoc
35
+ */
36
+ static get requires(): PluginDependenciesOf<[SourceEditingEnhancedUI]>;
37
+ /**
38
+ * @inheritDoc
39
+ */
40
+ constructor(editor: Editor);
41
+ /**
42
+ * @inheritDoc
43
+ */
44
+ init(): void;
45
+ override destroy(): void;
47
46
  }
@@ -1,49 +1,49 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
- */
2
+ * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4
+ */
5
5
  /**
6
- * @module source-editing-enhanced/sourceeditingenhancedconfig
7
- * @publicApi
8
- */
9
- import type { Extension } from '@codemirror/state';
6
+ * @module source-editing-enhanced/sourceeditingenhancedconfig
7
+ * @publicApi
8
+ */
9
+ import type { Extension } from "@codemirror/state";
10
10
  /**
11
- * The configuration of the source editing enhanced feature.
12
- *
13
- * ```ts
14
- * ClassicEditor
15
- * .create( {
16
- * sourceEditingEnhanced: {
17
- * allowCollaborationFeatures: true
18
- * }
19
- * } )
20
- * .then( ... )
21
- * .catch( ... );
22
- * ```
23
- *
24
- * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
25
- */
11
+ * The configuration of the source editing enhanced feature.
12
+ *
13
+ * ```ts
14
+ * ClassicEditor
15
+ * .create( {
16
+ * sourceEditingEnhanced: {
17
+ * allowCollaborationFeatures: true
18
+ * }
19
+ * } )
20
+ * .then( ... )
21
+ * .catch( ... );
22
+ * ```
23
+ *
24
+ * See {@link module:core/editor/editorconfig~EditorConfig all editor options}.
25
+ */
26
26
  export interface SourceEditingEnhancedConfig {
27
- /**
28
- * Set to `true` to enable source editing feature for real-time collaboration.
29
- *
30
- * Please note that source editing feature is not fully compatible with real-time collaboration and using it may lead to data loss.
31
- * {@glink features/source-editing/source-editing-enhanced#limitations-and-incompatibilities Read more}.
32
- *
33
- * @default false
34
- */
35
- allowCollaborationFeatures?: boolean;
36
- /**
37
- * The theme of the source editor.
38
- *
39
- * **Note:** Creating a custom theme via `Extension` is not supported when using
40
- * {@glink getting-started/installation/cloud/quick-start#installing-ckeditor-5-from-cdn Using CDN},
41
- * due to technical limitations. This option remains available in all other installation methods.
42
- * The `'default'` and `'dark'` themes are fully supported in the CDN version.
43
- *
44
- * {@glink features/source-editing/source-editing-enhanced#themes Read more} about themes configuration.
45
- *
46
- * @default 'default'
47
- */
48
- theme?: 'default' | 'dark' | Extension;
27
+ /**
28
+ * Set to `true` to enable source editing feature for real-time collaboration.
29
+ *
30
+ * Please note that source editing feature is not fully compatible with real-time collaboration and using it may lead to data loss.
31
+ * {@glink features/source-editing/source-editing-enhanced#limitations-and-incompatibilities Read more}.
32
+ *
33
+ * @default false
34
+ */
35
+ allowCollaborationFeatures?: boolean;
36
+ /**
37
+ * The theme of the source editor.
38
+ *
39
+ * **Note:** Creating a custom theme via `Extension` is not supported when using
40
+ * {@glink getting-started/installation/cloud/quick-start#installing-ckeditor-5-from-cdn Using CDN},
41
+ * due to technical limitations. This option remains available in all other installation methods.
42
+ * The `'default'` and `'dark'` themes are fully supported in the CDN version.
43
+ *
44
+ * {@glink features/source-editing/source-editing-enhanced#themes Read more} about themes configuration.
45
+ *
46
+ * @default 'default'
47
+ */
48
+ theme?: "default" | "dark" | Extension;
49
49
  }