superdoc 0.35.3 → 0.36.0

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 (37) hide show
  1. package/dist/chunks/{PdfViewer-cKeULrJD.cjs → PdfViewer-BVjCijQM.cjs} +1 -1
  2. package/dist/chunks/{PdfViewer-C2woiqSD.es.js → PdfViewer-Cw6hrjmI.es.js} +1 -1
  3. package/dist/chunks/{index-BLV0gVBb.cjs → index-C2I7v8Mz.cjs} +15 -5
  4. package/dist/chunks/{index-CUb1VdVb-Dn-WH3X_.cjs → index-C6pGFRDv-DPPxKqzz.cjs} +1 -1
  5. package/dist/chunks/{index-CUb1VdVb-BOiRrEoQ.es.js → index-C6pGFRDv-NmZ85_ZC.es.js} +1 -1
  6. package/dist/chunks/{index-qCXNfgIE.es.js → index-DxVLb2GI.es.js} +15 -5
  7. package/dist/chunks/{super-editor.es-FtM9y9Xi.cjs → super-editor.es-DU7fPHu1.cjs} +115 -50
  8. package/dist/chunks/{super-editor.es-C-FCfUaM.es.js → super-editor.es-wvWKJiSQ.es.js} +115 -50
  9. package/dist/packages/superdoc/src/core/SuperDoc.d.ts +5 -2
  10. package/dist/packages/superdoc/src/core/SuperDoc.d.ts.map +1 -1
  11. package/dist/packages/superdoc/src/core/types/index.d.ts +37 -2
  12. package/dist/packages/superdoc/src/core/types/index.d.ts.map +1 -1
  13. package/dist/style.css +37 -33
  14. package/dist/super-editor/ai-writer.es.js +2 -2
  15. package/dist/super-editor/chunks/{converter-DCcuo33v.js → converter-B_MV8Ifd.js} +1 -1
  16. package/dist/super-editor/chunks/{docx-zipper-BmJ2rJSz.js → docx-zipper-BErVQPhm.js} +1 -1
  17. package/dist/super-editor/chunks/{editor-CyldDVIe.js → editor-DJdDJYe1.js} +88 -17
  18. package/dist/super-editor/chunks/{index-CUb1VdVb.js → index-C6pGFRDv.js} +1 -1
  19. package/dist/super-editor/chunks/{toolbar-CO92tGD-.js → toolbar-C3z7Pv8Z.js} +2 -2
  20. package/dist/super-editor/converter.es.js +1 -1
  21. package/dist/super-editor/docx-zipper.es.js +2 -2
  22. package/dist/super-editor/editor.es.js +3 -3
  23. package/dist/super-editor/file-zipper.es.js +1 -1
  24. package/dist/super-editor/style.css +10 -6
  25. package/dist/super-editor/super-editor/src/core/Editor.d.ts +29 -4
  26. package/dist/super-editor/super-editor/src/core/Editor.d.ts.map +1 -1
  27. package/dist/super-editor/super-editor/src/extensions/track-changes/permission-helpers.d.ts +5 -2
  28. package/dist/super-editor/super-editor/src/extensions/track-changes/permission-helpers.d.ts.map +1 -1
  29. package/dist/super-editor/super-editor.es.js +32 -28
  30. package/dist/super-editor/toolbar.es.js +2 -2
  31. package/dist/super-editor.cjs +1 -1
  32. package/dist/super-editor.es.js +1 -1
  33. package/dist/superdoc.cjs +2 -2
  34. package/dist/superdoc.es.js +2 -2
  35. package/dist/superdoc.umd.js +123 -48
  36. package/dist/superdoc.umd.js.map +1 -1
  37. package/package.json +1 -1
@@ -15123,7 +15123,7 @@ async function readFromClipboard(state2) {
15123
15123
  }
15124
15124
  return content;
15125
15125
  }
15126
- const PIXELS_PER_INCH = 96;
15126
+ const PIXELS_PER_INCH$1 = 96;
15127
15127
  function inchesToTwips(inches) {
15128
15128
  if (inches == null) return;
15129
15129
  if (typeof inches === "string") inches = parseFloat(inches);
@@ -15146,12 +15146,12 @@ function pixelsToTwips(pixels) {
15146
15146
  }
15147
15147
  function inchesToPixels(inches) {
15148
15148
  if (inches == null) return;
15149
- const pixels = inches * PIXELS_PER_INCH;
15149
+ const pixels = inches * PIXELS_PER_INCH$1;
15150
15150
  return Math.round(pixels * 1e3) / 1e3;
15151
15151
  }
15152
15152
  function pixelsToInches(pixels) {
15153
15153
  if (pixels == null) return;
15154
- const inches = Number(pixels) / PIXELS_PER_INCH;
15154
+ const inches = Number(pixels) / PIXELS_PER_INCH$1;
15155
15155
  return inches;
15156
15156
  }
15157
15157
  function twipsToLines(twips) {
@@ -15169,7 +15169,7 @@ function halfPointToPoints(halfPoints) {
15169
15169
  function emuToPixels(emu) {
15170
15170
  if (emu == null) return;
15171
15171
  if (typeof emu === "string") emu = parseFloat(emu);
15172
- const pixels = emu * PIXELS_PER_INCH / 914400;
15172
+ const pixels = emu * PIXELS_PER_INCH$1 / 914400;
15173
15173
  return Math.round(pixels);
15174
15174
  }
15175
15175
  function pixelsToEmu(px) {
@@ -15205,12 +15205,12 @@ function degreesToRot(degrees) {
15205
15205
  }
15206
15206
  function pixelsToPolygonUnits(pixels) {
15207
15207
  if (pixels == null) return;
15208
- const pu = pixels * PIXELS_PER_INCH;
15208
+ const pu = pixels * PIXELS_PER_INCH$1;
15209
15209
  return Math.round(pu);
15210
15210
  }
15211
15211
  function polygonUnitsToPixels(pu) {
15212
15212
  if (pu == null) return;
15213
- const pixels = Number(pu) / PIXELS_PER_INCH;
15213
+ const pixels = Number(pu) / PIXELS_PER_INCH$1;
15214
15214
  return Math.round(pixels * 1e3) / 1e3;
15215
15215
  }
15216
15216
  function polygonToObj(polygonNode) {
@@ -35803,7 +35803,7 @@ const _SuperConverter = class _SuperConverter2 {
35803
35803
  static getStoredSuperdocVersion(docx) {
35804
35804
  return _SuperConverter2.getStoredCustomProperty(docx, "SuperdocVersion");
35805
35805
  }
35806
- static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.35.3") {
35806
+ static setStoredSuperdocVersion(docx = this.convertedXml, version2 = "0.36.0") {
35807
35807
  return _SuperConverter2.setStoredCustomProperty(docx, "SuperdocVersion", version2, false);
35808
35808
  }
35809
35809
  /**
@@ -38999,7 +38999,7 @@ var __privateGet$1 = (obj, member, getter) => (__accessCheck$1(obj, member, "rea
38999
38999
  var __privateAdd$1 = (obj, member, value) => member.has(obj) ? __typeError$1("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
39000
39000
  var __privateSet = (obj, member, value, setter) => (__accessCheck$1(obj, member, "write to private field"), member.set(obj, value), value);
39001
39001
  var __privateMethod$1 = (obj, member, method) => (__accessCheck$1(obj, member, "access private method"), method);
39002
- var _Attribute_static, getGlobalAttributes_fn, getNodeAndMarksAttributes_fn, _Schema_static, createNodesSchema_fn, createMarksSchema_fn, _events, _ExtensionService_instances, setupExtensions_fn, attachEditorEvents_fn, _editor, _stateValidators, _xmlValidators, _requiredNodeTypes, _requiredMarkTypes, _SuperValidator_instances, initializeValidators_fn, collectValidatorRequirements_fn, analyzeDocument_fn, _commandService, _Editor_instances, initContainerElement_fn, init_fn, initRichText_fn, onFocus_fn, checkHeadless_fn, registerCopyHandler_fn, insertNewFileData_fn, createExtensionService_fn, createCommandService_fn, createConverter_fn, initMedia_fn, initFonts_fn, checkFonts_fn, determineUnsupportedFonts_fn, createSchema_fn, generatePmData_fn, createView_fn, onCollaborationReady_fn, initComments_fn, initPagination_fn, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, validateDocumentInit_fn, validateDocumentExport_fn, initDevTools_fn, _DocumentSectionView_instances, init_fn2, addToolTip_fn, _ListItemNodeView_instances, init_fn3, applyIndentStyling_fn, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn;
39002
+ var _Attribute_static, getGlobalAttributes_fn, getNodeAndMarksAttributes_fn, _Schema_static, createNodesSchema_fn, createMarksSchema_fn, _events, _ExtensionService_instances, setupExtensions_fn, attachEditorEvents_fn, _editor, _stateValidators, _xmlValidators, _requiredNodeTypes, _requiredMarkTypes, _SuperValidator_instances, initializeValidators_fn, collectValidatorRequirements_fn, analyzeDocument_fn, _commandService, _Editor_instances, initContainerElement_fn, init_fn, initRichText_fn, onFocus_fn, checkHeadless_fn, validateLayoutMargins_fn, isResponsiveMode_fn, registerCopyHandler_fn, insertNewFileData_fn, createExtensionService_fn, createCommandService_fn, createConverter_fn, initMedia_fn, initFonts_fn, checkFonts_fn, determineUnsupportedFonts_fn, createSchema_fn, generatePmData_fn, createView_fn, onCollaborationReady_fn, initComments_fn, initPagination_fn, dispatchTransaction_fn, handleNodeSelection_fn, prepareDocumentForImport_fn, prepareDocumentForExport_fn, endCollaboration_fn, validateDocumentInit_fn, validateDocumentExport_fn, initDevTools_fn, _DocumentSectionView_instances, init_fn2, addToolTip_fn, _ListItemNodeView_instances, init_fn3, applyIndentStyling_fn, _FieldAnnotationView_instances, createAnnotation_fn, _AutoPageNumberNodeView_instances, renderDom_fn, scheduleUpdateNodeStyle_fn;
39003
39003
  var GOOD_LEAF_SIZE = 200;
39004
39004
  var RopeSequence = function RopeSequence2() {
39005
39005
  };
@@ -53442,6 +53442,9 @@ function buildSchemaSummary(schema, schemaVersion) {
53442
53442
  marks
53443
53443
  };
53444
53444
  }
53445
+ const PIXELS_PER_INCH = 96;
53446
+ const MAX_HEIGHT_BUFFER_PX = 50;
53447
+ const MAX_WIDTH_BUFFER_PX = 20;
53445
53448
  const _Editor = class _Editor2 extends EventEmitter$1 {
53446
53449
  /**
53447
53450
  * Create a new Editor instance
@@ -53495,6 +53498,8 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53495
53498
  lastSelection: null,
53496
53499
  suppressDefaultDocxStyles: false,
53497
53500
  jsonOverride: null,
53501
+ layoutMode: "paginated",
53502
+ layoutMargins: null,
53498
53503
  onBeforeCreate: () => null,
53499
53504
  onCreate: () => null,
53500
53505
  onUpdate: () => null,
@@ -53533,6 +53538,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53533
53538
  });
53534
53539
  __privateMethod$1(this, _Editor_instances, initContainerElement_fn).call(this, options);
53535
53540
  __privateMethod$1(this, _Editor_instances, checkHeadless_fn).call(this, options);
53541
+ __privateMethod$1(this, _Editor_instances, validateLayoutMargins_fn).call(this, options);
53536
53542
  this.setOptions(options);
53537
53543
  let modes = {
53538
53544
  docx: () => __privateMethod$1(this, _Editor_instances, init_fn).call(this),
@@ -53911,17 +53917,28 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53911
53917
  });
53912
53918
  }
53913
53919
  /**
53914
- * Get the maximum content size
53915
- * @returns {Object} Size object with width and height
53920
+ * Get the maximum content size based on page dimensions and margins
53921
+ * @returns {{width: number, height: number} | {}} Size object with width and height in pixels, or empty object if no page size
53916
53922
  */
53917
53923
  getMaxContentSize() {
53918
53924
  if (!this.converter) return {};
53919
53925
  const { pageSize = {}, pageMargins = {} } = this.converter.pageStyles ?? {};
53926
+ const { layoutMargins } = this.options;
53920
53927
  const { width, height } = pageSize;
53921
- const { top: top2 = 0, bottom: bottom2 = 0, left: left2 = 0, right: right2 = 0 } = pageMargins;
53928
+ const isResponsive = __privateMethod$1(this, _Editor_instances, isResponsiveMode_fn).call(this);
53929
+ const getMarginPx = (side) => {
53930
+ if (isResponsive) {
53931
+ return layoutMargins?.[side] ?? PIXELS_PER_INCH;
53932
+ }
53933
+ return (pageMargins?.[side] ?? 0) * PIXELS_PER_INCH;
53934
+ };
53935
+ const topPx = getMarginPx("top");
53936
+ const bottomPx = getMarginPx("bottom");
53937
+ const leftPx = getMarginPx("left");
53938
+ const rightPx = getMarginPx("right");
53922
53939
  if (!width || !height) return {};
53923
- const maxHeight = height * 96 - top2 * 96 - bottom2 * 96 - 50;
53924
- const maxWidth = width * 96 - left2 * 96 - right2 * 96 - 20;
53940
+ const maxHeight = height * PIXELS_PER_INCH - topPx - bottomPx - MAX_HEIGHT_BUFFER_PX;
53941
+ const maxWidth = width * PIXELS_PER_INCH - leftPx - rightPx - MAX_WIDTH_BUFFER_PX;
53925
53942
  return {
53926
53943
  width: maxWidth,
53927
53944
  height: maxHeight
@@ -53929,9 +53946,15 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53929
53946
  }
53930
53947
  /**
53931
53948
  * Attach styles and attributes to the editor element
53949
+ * @param {HTMLElement} element - The editor container element
53950
+ * @param {HTMLElement} proseMirror - The ProseMirror element
53951
+ * @param {boolean} [hasPaginationEnabled=true] - Whether pagination is enabled
53952
+ * @returns {void}
53932
53953
  */
53933
53954
  updateEditorStyles(element, proseMirror, hasPaginationEnabled = true) {
53934
53955
  const { pageSize, pageMargins } = this.converter.pageStyles ?? {};
53956
+ const { layoutMargins, pagination } = this.options;
53957
+ const isResponsive = __privateMethod$1(this, _Editor_instances, isResponsiveMode_fn).call(this);
53935
53958
  if (!proseMirror || !element) {
53936
53959
  return;
53937
53960
  }
@@ -53940,12 +53963,17 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53940
53963
  proseMirror.setAttribute("aria-label", "Main content area, start typing to enter text.");
53941
53964
  proseMirror.setAttribute("aria-description", "");
53942
53965
  proseMirror.classList.remove("view-mode");
53943
- if (pageSize) {
53944
- element.style.width = pageSize.width + "in";
53945
- element.style.minWidth = pageSize.width + "in";
53946
- element.style.minHeight = pageSize.height + "in";
53966
+ if (pageSize?.width != null) {
53967
+ element.style.width = isResponsive ? "100%" : `${pageSize.width}in`;
53968
+ element.style.minWidth = isResponsive ? "" : `${pageSize.width}in`;
53947
53969
  }
53948
- if (pageMargins) {
53970
+ if (pageSize?.height != null) {
53971
+ element.style.minHeight = isResponsive ? "" : `${pageSize.height}in`;
53972
+ }
53973
+ if (isResponsive) {
53974
+ element.style.paddingLeft = (layoutMargins?.left ?? PIXELS_PER_INCH) + "px";
53975
+ element.style.paddingRight = (layoutMargins?.right ?? PIXELS_PER_INCH) + "px";
53976
+ } else if (pageMargins) {
53949
53977
  element.style.paddingLeft = pageMargins.left + "in";
53950
53978
  element.style.paddingRight = pageMargins.right + "in";
53951
53979
  }
@@ -53968,7 +53996,10 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53968
53996
  element.style.webkitOverflowScrolling = "touch";
53969
53997
  const defaultLineHeight = 1.2;
53970
53998
  proseMirror.style.lineHeight = defaultLineHeight;
53971
- if (!hasPaginationEnabled) {
53999
+ if (isResponsive) {
54000
+ proseMirror.style.paddingTop = (layoutMargins?.top ?? PIXELS_PER_INCH) + "px";
54001
+ proseMirror.style.paddingBottom = (layoutMargins?.bottom ?? PIXELS_PER_INCH) + "px";
54002
+ } else if (!pagination) {
53972
54003
  proseMirror.style.paddingTop = "1in";
53973
54004
  proseMirror.style.paddingBottom = "1in";
53974
54005
  } else {
@@ -53993,6 +54024,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
53993
54024
  /**
53994
54025
  * Initializes responsive styles for mobile devices.
53995
54026
  * Sets up scaling based on viewport width and handles orientation changes.
54027
+ * Note: Scaling is skipped in responsive layout mode since content reflows naturally.
53996
54028
  *
53997
54029
  * @param {HTMLElement|void} element - The DOM element to apply mobile styles to
53998
54030
  * @returns {void}
@@ -54001,6 +54033,9 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
54001
54033
  if (!element) {
54002
54034
  return;
54003
54035
  }
54036
+ if (__privateMethod$1(this, _Editor_instances, isResponsiveMode_fn).call(this)) {
54037
+ return;
54038
+ }
54004
54039
  const initialWidth = element.offsetWidth;
54005
54040
  const updateScale = () => {
54006
54041
  const minPageSideMargin = 10;
@@ -54149,7 +54184,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
54149
54184
  { default: remarkStringify },
54150
54185
  { default: remarkGfm }
54151
54186
  ] = await Promise.all([
54152
- Promise.resolve().then(() => require("./index-CUb1VdVb-Dn-WH3X_.cjs")),
54187
+ Promise.resolve().then(() => require("./index-C6pGFRDv-DPPxKqzz.cjs")),
54153
54188
  Promise.resolve().then(() => require("./index-DRCvimau-H4Ck3S9a.cjs")),
54154
54189
  Promise.resolve().then(() => require("./index-C_x_N6Uh-Db3CUJMX.cjs")),
54155
54190
  Promise.resolve().then(() => require("./index-D_sWOSiG-BtDZzJ6I.cjs")),
@@ -54367,7 +54402,7 @@ const _Editor = class _Editor2 extends EventEmitter$1 {
54367
54402
  * @returns {Object | void} Migration results
54368
54403
  */
54369
54404
  processCollaborationMigrations() {
54370
- console.debug("[checkVersionMigrations] Current editor version", "0.35.3");
54405
+ console.debug("[checkVersionMigrations] Current editor version", "0.36.0");
54371
54406
  if (!this.options.ydoc) return;
54372
54407
  const metaMap = this.options.ydoc.getMap("meta");
54373
54408
  let docVersion = metaMap.get("version");
@@ -54655,6 +54690,29 @@ checkHeadless_fn = function(options) {
54655
54690
  global$1.window = options.mockWindow;
54656
54691
  }
54657
54692
  };
54693
+ validateLayoutMargins_fn = function(options) {
54694
+ if (!options.layoutMargins) return;
54695
+ const margins = options.layoutMargins;
54696
+ const validatedMargins = {};
54697
+ let hasValidValues = false;
54698
+ for (const key2 of ["top", "bottom", "left", "right"]) {
54699
+ if (margins[key2] !== void 0 && margins[key2] !== null) {
54700
+ const value = margins[key2];
54701
+ if (typeof value === "number" && Number.isFinite(value) && value >= 0) {
54702
+ validatedMargins[key2] = value;
54703
+ hasValidValues = true;
54704
+ } else {
54705
+ console.warn(
54706
+ `[SuperDoc] Invalid layoutMargins.${key2}: ${value}. Value must be a positive finite number. Ignoring this property.`
54707
+ );
54708
+ }
54709
+ }
54710
+ }
54711
+ options.layoutMargins = hasValidValues ? validatedMargins : null;
54712
+ };
54713
+ isResponsiveMode_fn = function() {
54714
+ return this.options.layoutMode === "responsive";
54715
+ };
54658
54716
  registerCopyHandler_fn = function() {
54659
54717
  this.view.dom.addEventListener("copy", (event) => {
54660
54718
  const clipboardData = event.clipboardData;
@@ -54872,6 +54930,9 @@ initPagination_fn = async function() {
54872
54930
  if (this.options.isHeadless || !this.extensionService || this.options.isHeaderOrFooter) {
54873
54931
  return;
54874
54932
  }
54933
+ if (__privateMethod$1(this, _Editor_instances, isResponsiveMode_fn).call(this)) {
54934
+ return;
54935
+ }
54875
54936
  const pagination = this.options.extensions.find((e) => e.name === "pagination");
54876
54937
  if (pagination && this.options.pagination) {
54877
54938
  const sectionData = await initPaginationData(this);
@@ -60856,7 +60917,7 @@ function updateColumns(node, colgroup, table, cellMinWidth2, overrideCol, overri
60856
60917
  const pageWidth = toNumber(pageStyles.pageSize.width);
60857
60918
  const marginLeft = toNumber(pageStyles.pageMargins?.left);
60858
60919
  const marginRight = toNumber(pageStyles.pageMargins?.right);
60859
- const pageAvailableWidthPx = Math.max((pageWidth - marginLeft - marginRight) * PIXELS_PER_INCH, 0);
60920
+ const pageAvailableWidthPx = Math.max((pageWidth - marginLeft - marginRight) * PIXELS_PER_INCH$1, 0);
60860
60921
  if (pageAvailableWidthPx > 0) {
60861
60922
  availableWidth = availableWidth ? Math.min(availableWidth, pageAvailableWidthPx) : pageAvailableWidthPx;
60862
60923
  }
@@ -74876,7 +74937,7 @@ const _export_sfc = (sfc, props) => {
74876
74937
  };
74877
74938
  const _hoisted_1$g = ["onClick", "onMouseenter"];
74878
74939
  const _hoisted_2$c = { key: 0 };
74879
- const _hoisted_3$a = { key: 0 };
74940
+ const _hoisted_3$9 = { key: 0 };
74880
74941
  const _hoisted_4$6 = { key: 1 };
74881
74942
  const _hoisted_5$5 = { key: 1 };
74882
74943
  const _sfc_main$h = {
@@ -74951,7 +75012,7 @@ const _sfc_main$h = {
74951
75012
  class: vue.normalizeClass(["user-row", { selected: activeUserIndex.value === index2 }])
74952
75013
  }, [
74953
75014
  user.name ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$c, [
74954
- user.name ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$a, vue.toDisplayString(user.name), 1)) : vue.createCommentVNode("", true),
75015
+ user.name ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$9, vue.toDisplayString(user.name), 1)) : vue.createCommentVNode("", true),
74955
75016
  user.name && user.email ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$6, " (" + vue.toDisplayString(user.email) + ")", 1)) : vue.createCommentVNode("", true)
74956
75017
  ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$5, [
74957
75018
  vue.createBaseVNode("span", null, vue.toDisplayString(user.email), 1)
@@ -87605,7 +87666,7 @@ const NSkeleton = vue.defineComponent({
87605
87666
  });
87606
87667
  const _hoisted_1$f = ["onKeydown", "tabindex", "data-item-id"];
87607
87668
  const _hoisted_2$b = { key: 0 };
87608
- const _hoisted_3$9 = { key: 0 };
87669
+ const _hoisted_3$8 = { key: 0 };
87609
87670
  const _hoisted_4$5 = { key: 0 };
87610
87671
  const _sfc_main$1$1 = {
87611
87672
  __name: "ButtonGroup",
@@ -87861,7 +87922,7 @@ const _sfc_main$1$1 = {
87861
87922
  }, null, 8, ["toolbar-item", "is-overflow-item", "onTextSubmit", "onButtonClick"])
87862
87923
  ]),
87863
87924
  default: vue.withCtx(() => [
87864
- item.tooltip ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$9, [
87925
+ item.tooltip ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$8, [
87865
87926
  vue.createTextVNode(vue.toDisplayString(item.tooltip) + " ", 1),
87866
87927
  item.disabled.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$5, "(disabled)")) : vue.createCommentVNode("", true)
87867
87928
  ])) : vue.createCommentVNode("", true)
@@ -88200,7 +88261,7 @@ const edit = '<!-- @note: includes color gradient for inline svg AI Writer -->\n
88200
88261
  const paperPlane = '<!-- @note: includes color gradient for inline svg AI Writer -->\n<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.-->\n <defs>\n <linearGradient id="gradient" x1="125%" y1="50%" x2="-25%" y2="50%">\n <stop offset="-20%" stop-color="rgba(218, 215, 118, 0.5)" />\n <stop offset="30%" stop-color="rgb(191, 100, 100)" />\n <stop offset="60%" stop-color="rgb(77, 82, 217)" />\n <stop offset="150%" stop-color="rgb(255, 219, 102)" />\n </linearGradient>\n </defs>\n <path fill="url(#gradient)" d="M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z"/>\n</svg>';
88201
88262
  const _hoisted_1$e = { class: "ai-user-input-field" };
88202
88263
  const _hoisted_2$a = ["innerHTML"];
88203
- const _hoisted_3$8 = ["placeholder"];
88264
+ const _hoisted_3$7 = ["placeholder"];
88204
88265
  const _hoisted_4$4 = { class: "ai-loader" };
88205
88266
  const _hoisted_5$3 = ["innerHTML"];
88206
88267
  const _sfc_main$f = {
@@ -88463,7 +88524,7 @@ const _sfc_main$f = {
88463
88524
  onInput: handleInput,
88464
88525
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => promptText.value = $event),
88465
88526
  rows: "4"
88466
- }, null, 40, _hoisted_3$8), [
88527
+ }, null, 40, _hoisted_3$7), [
88467
88528
  [vue.vModelText, promptText.value]
88468
88529
  ])
88469
88530
  ]),
@@ -88887,7 +88948,7 @@ const _sfc_main$e = {
88887
88948
  const AlignmentButtons = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-d84f57b6"]]);
88888
88949
  const _hoisted_1$c = ["onClick", "onKeydown"];
88889
88950
  const _hoisted_2$9 = { class: "document-mode-column icon-column" };
88890
- const _hoisted_3$7 = ["innerHTML"];
88951
+ const _hoisted_3$6 = ["innerHTML"];
88891
88952
  const _hoisted_4$3 = { class: "document-mode-column text-column" };
88892
88953
  const _hoisted_5$2 = { class: "document-mode-type" };
88893
88954
  const _hoisted_6$1 = { class: "document-mode-description" };
@@ -88959,7 +89020,7 @@ const _sfc_main$d = {
88959
89020
  vue.createBaseVNode("div", {
88960
89021
  class: "icon-column__icon",
88961
89022
  innerHTML: option.icon
88962
- }, null, 8, _hoisted_3$7)
89023
+ }, null, 8, _hoisted_3$6)
88963
89024
  ]),
88964
89025
  vue.createBaseVNode("div", _hoisted_4$3, [
88965
89026
  vue.createBaseVNode("div", _hoisted_5$2, vue.toDisplayString(option.label), 1),
@@ -89061,7 +89122,7 @@ const _hoisted_2$7 = {
89061
89122
  key: 1,
89062
89123
  class: "link-title"
89063
89124
  };
89064
- const _hoisted_3$6 = {
89125
+ const _hoisted_3$5 = {
89065
89126
  key: 2,
89066
89127
  class: "link-title"
89067
89128
  };
@@ -89220,7 +89281,7 @@ const _sfc_main$b = {
89220
89281
  return vue.openBlock(), vue.createElementBlock("div", {
89221
89282
  class: vue.normalizeClass(["link-input-ctn", { "high-contrast": vue.unref(isHighContrastMode2) }])
89222
89283
  }, [
89223
- isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, "Page anchor")) : isEditing.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$7, "Edit link")) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$6, "Add link")),
89284
+ isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$a, "Page anchor")) : isEditing.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$7, "Edit link")) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$5, "Add link")),
89224
89285
  __props.showInput && !isAnchor.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$2, [
89225
89286
  vue.createBaseVNode("div", _hoisted_5$1, [
89226
89287
  _cache[4] || (_cache[4] = vue.createBaseVNode("div", { class: "input-icon text-input-icon" }, "T", -1)),
@@ -89290,7 +89351,7 @@ const _sfc_main$b = {
89290
89351
  const LinkInput = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-ba50627b"]]);
89291
89352
  const _hoisted_1$9 = ["aria-label", "onClick", "onKeydown"];
89292
89353
  const _hoisted_2$6 = ["innerHTML"];
89293
- const _hoisted_3$5 = ["innerHTML"];
89354
+ const _hoisted_3$4 = ["innerHTML"];
89294
89355
  const ROW_SIZE$1 = 7;
89295
89356
  const _sfc_main$a = {
89296
89357
  __name: "IconGridRow",
@@ -89417,7 +89478,7 @@ const _sfc_main$a = {
89417
89478
  class: "option__check",
89418
89479
  innerHTML: vue.unref(toolbarIcons).colorOptionCheck,
89419
89480
  style: vue.normalizeStyle(getCheckStyle(option.value, optionIndex))
89420
- }, null, 12, _hoisted_3$5)) : vue.createCommentVNode("", true)
89481
+ }, null, 12, _hoisted_3$4)) : vue.createCommentVNode("", true)
89421
89482
  ], 40, _hoisted_1$9);
89422
89483
  }), 128))
89423
89484
  ]);
@@ -89429,7 +89490,7 @@ const IconGridRow = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "dat
89429
89490
  const DropIcon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zM505.2 370.7c4.4-16.2 6.8-33.1 6.8-50.7c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0l-1.8 0c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L505.2 370.7zM224 336c0 44.2 35.8 80 80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>\n';
89430
89491
  const _hoisted_1$8 = { class: "options-grid-wrap" };
89431
89492
  const _hoisted_2$5 = ["innerHTML"];
89432
- const _hoisted_3$4 = { class: "option-grid-ctn" };
89493
+ const _hoisted_3$3 = { class: "option-grid-ctn" };
89433
89494
  const _sfc_main$9 = {
89434
89495
  __name: "IconGrid",
89435
89496
  props: {
@@ -89471,7 +89532,7 @@ const _sfc_main$9 = {
89471
89532
  }, null, 8, _hoisted_2$5),
89472
89533
  _cache[1] || (_cache[1] = vue.createTextVNode(" None ", -1))
89473
89534
  ])) : vue.createCommentVNode("", true),
89474
- vue.createBaseVNode("div", _hoisted_3$4, [
89535
+ vue.createBaseVNode("div", _hoisted_3$3, [
89475
89536
  vue.createVNode(IconGridRow, {
89476
89537
  icons: __props.icons,
89477
89538
  "active-color": __props.activeColor,
@@ -89734,7 +89795,7 @@ const _sfc_main$8 = {
89734
89795
  const TableGrid = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-92e8d5fb"]]);
89735
89796
  const _hoisted_1$6 = { class: "toolbar-table-actions" };
89736
89797
  const _hoisted_2$3 = ["onClick", "data-item", "ariaLabel"];
89737
- const _hoisted_3$3 = { class: "toolbar-table-actions__icon" };
89798
+ const _hoisted_3$2 = { class: "toolbar-table-actions__icon" };
89738
89799
  const _hoisted_4$1 = ["innerHTML"];
89739
89800
  const _hoisted_5 = { class: "toolbar-table-actions__label" };
89740
89801
  const _sfc_main$7 = {
@@ -89760,7 +89821,7 @@ const _sfc_main$7 = {
89760
89821
  ariaLabel: option.props?.ariaLabel,
89761
89822
  role: "menuitem"
89762
89823
  }, [
89763
- vue.createBaseVNode("div", _hoisted_3$3, [
89824
+ vue.createBaseVNode("div", _hoisted_3$2, [
89764
89825
  vue.createBaseVNode("div", {
89765
89826
  class: "toolbar-table-actions__icon-wrapper",
89766
89827
  innerHTML: option.icon
@@ -89799,7 +89860,7 @@ function scrollToElement(targetElement, options = { behavior: "smooth", block: "
89799
89860
  const checkIconSvg = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>\n';
89800
89861
  const _hoisted_1$5 = { class: "search-input-ctn" };
89801
89862
  const _hoisted_2$2 = { class: "row" };
89802
- const _hoisted_3$2 = ["onKeydown"];
89863
+ const _hoisted_3$1 = ["onKeydown"];
89803
89864
  const _sfc_main$6 = {
89804
89865
  __name: "SearchInput",
89805
89866
  props: {
@@ -89825,7 +89886,7 @@ const _sfc_main$6 = {
89825
89886
  name: "search",
89826
89887
  placeholder: "Type search string",
89827
89888
  onKeydown: vue.withKeys(vue.withModifiers(handleSubmit, ["stop", "prevent"]), ["enter"])
89828
- }, null, 40, _hoisted_3$2), [
89889
+ }, null, 40, _hoisted_3$1), [
89829
89890
  [vue.vModelText, searchValue.value]
89830
89891
  ])
89831
89892
  ]),
@@ -92492,7 +92553,7 @@ const _hoisted_2$1 = {
92492
92553
  class: "slash-menu-divider",
92493
92554
  tabindex: "0"
92494
92555
  };
92495
- const _hoisted_3$1 = ["onClick"];
92556
+ const _hoisted_3 = ["onClick"];
92496
92557
  const _hoisted_4 = ["innerHTML"];
92497
92558
  const _sfc_main$5 = {
92498
92559
  __name: "SlashMenu",
@@ -92818,7 +92879,7 @@ const _sfc_main$5 = {
92818
92879
  vue.createBaseVNode("span", null, vue.toDisplayString(item.label), 1)
92819
92880
  ], 64)) : vue.createCommentVNode("", true)
92820
92881
  ], 512)
92821
- ], 10, _hoisted_3$1);
92882
+ ], 10, _hoisted_3);
92822
92883
  }), 128))
92823
92884
  ], 64);
92824
92885
  }), 128))
@@ -93149,12 +93210,11 @@ const _sfc_main$2 = {
93149
93210
  };
93150
93211
  const GenericPopover = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-cbddcc0f"]]);
93151
93212
  const BlankDOCX = "data:application/octet-stream;base64,UEsDBBQAAAAIAAAAIQAykW9XXgEAAKUFAAATABwAW0NvbnRlbnRfVHlwZXNdLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAAC1lMtqwzAQRfeF/oPRNthKuiilxMmij2UbaPoBijRORPVCmrz+vuM4NaWkMeSxMcgz994zQsxwvLEmW0FM2ruSDYo+y8BJr7Sbl+xz+po/sCyhcEoY76BkW0hsPLq9GU63AVJGapdKtkAMj5wnuQArUuEDOKpUPlqBdIxzHoT8EnPgd/3+PZfeITjMsfZgo+EzVGJpMHvZ0O+GJIJJLHtqGuuskokQjJYCqc5XTv1JyfcJBSl3PWmhQ+pRA+MHE+rK/wF73TtdTdQKsomI+CYsdfG1j4orL5eWlMVxmwOcvqq0hFZfu4XoJaREd25N0Vas0K7XxeGWdgaRlJcHaa07IRJuDaTLEzS+3fGASIJrAOydOxHWMPu4GsUv806QinKnYmbg8hitdScE0hqA5js4m2NncyySOifRh0RrJZ4w9s/eqNU5DRwgoj7+6tpEsj57PqhXkgJ1IJvvluzoG1BLAwQKAAAAAACTZE1bAAAAAAAAAAAAAAAACQAcAGRvY1Byb3BzL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhACEYr1llAQAAxQIAABAAHABkb2NQcm9wcy9hcHAueG1sVVQJAAMw0M4SMNDOEnV4CwABBPUBAAAEFAAAAJ1STU/DMAy9I/Efqt63dBwmNHlBaAhx4GPSCpyjxG0j0iRKson9e5wVSoEbOdnP9st7TuDqvTfFAUPUzq7LxbwqC7TSKW3bdflc384uyyImYZUwzuK6PGIsr/j5GWyD8xiSxlgQhY3rskvJrxiLssNexDmVLVUaF3qRKA0tc02jJd44ue/RJnZRVUuG7wmtQjXzI2E5MK4O6b+kysmsL77UR098HGrsvREJ+WOeNHPlUg9sRKF2SZha98grgscEtqLFyBfAhgBeXVAx9wwBbDoRhEy0vwxOMrj23mgpEu2VP2gZXHRNKp5OYos8DWzaAmRgh3IfdDpmqmkK99ri6YIhIFVBtEH47gROMthJYXBD1nkjTERg3wBsXO+FJTo2RsT3Fp997W7yFj5HfoITi686dTsvJP4yO8FhRygqUj8KGAG4o8cIJrPTrG1RffX8LeT1vQy/ki+W84rOaV9fGLkevwv/AFBLAwQUAAAACAAAACEACvOn+GYBAADtAgAAEQAcAGRvY1Byb3BzL2NvcmUueG1sVVQJAAMw0M4SMNDOEnV4CwABBPUBAAAEFAAAAJ2SXU+DMBSG7038D6T3UGBqDAGWTLMrZ0yc0XhX27Otjn6k7cb27y0wmMRdeXc+nvP29G3z6UFUwR6M5UoWKIliFICkinG5LtDbch7eo8A6IhmplIQCHcGiaXl9lVOdUWXgxSgNxnGwgVeSNqO6QBvndIaxpRsQxEaekL65UkYQ51OzxprQLVkDTuP4DgtwhBFHcCMY6kERnSQZHST1zlStAKMYKhAgncVJlOAz68AIe3Gg7fwiBXdHDRfRvjnQB8sHsK7rqJ60qN8/wR+Lp9f2qiGXjVcUUJkzmjnuKihzfA59ZHdf30BdVx4SH1MDxClTPnO6DWZgJKlapq83jm/hWCvDrJ8eZR5jYKnh2vl37LRHBU9XxLqFf9gVBzY7jo/5224mDOx58y/KtCWGND+Z3K0GLPDmZJ2Vfed98vC4nKMyjdObMEnD5G6Zpll8m8XxZ7PdaP4sKE4L/FuxF+gMGn/Q8gdQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAYAHABfcmVscy9VVAkAA4Yc7WiHHO1odXgLAAEE9QEAAAQUAAAAUEsDBBQAAAAIAAAAIQAekRq36QAAAE4CAAALABwAX3JlbHMvLnJlbHNVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAArZLBasMwDEDvg/2D0b1R2sEYo04vY9DbGNkHCFtJTBPb2GrX/v082NgCXelhR8vS05PQenOcRnXglF3wGpZVDYq9Cdb5XsNb+7x4AJWFvKUxeNZw4gyb5vZm/cojSSnKg4tZFYrPGgaR+IiYzcAT5SpE9uWnC2kiKc/UYySzo55xVdf3mH4zoJkx1dZqSFt7B6o9Rb6GHbrOGX4KZj+xlzMtkI/C3rJdxFTqk7gyjWop9SwabDAvJZyRYqwKGvC80ep6o7+nxYmFLAmhCYkv+3xmXBJa/ueK5hk/Nu8hWbRf4W8bnF1B8wFQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAUAHAB3b3JkL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAoWRNW+xw0GIQAgAAtAcAABIAHAB3b3JkL2ZvbnRUYWJsZS54bWxVVAkAA54c7WieHO1odXgLAAEE9QEAAAQUAAAAvZPBbqMwEIbvlfoOlu8NhpA0RSFV222kvexh1T6AY0ywFtvI44Tk7dcYiBSyuy3tqiCEGf75mPnHLO8PskR7bkBoleJwQjDiiulMqG2KX1/WNwuMwFKV0VIrnuIjB3y/ur5a1kmulQXk8hUkkqW4sLZKggBYwSWFia64ci9zbSS17tFsA0nNr111w7SsqBUbUQp7DCJC5vj6CrmjZZn3oHSeC8a/abaTXFkPCQwvHVYrKEQFZ8j6Pcham6wymnEA170sW6ikQp2zwviCJgUzGnRuJ663rjbPc4yQ+JUsB5TZOEr0Z8qc8cM40KIDBS7zAiaycbD5CSayIexjZQ0p2W4UJ5r2FTW3Jn0IhMxmxThmP8GgyaWWFhSKCywf1+/sxDxKNwgkWfJ9q7Shm9KR3CZDbosgD0btZJobaieO+j6Qdwiv2mK6nxLViaLSUV6E5IB+8Br91JKqXtZJK6o08NCp97RMMWkanZMpmZHYXZFbxTg4T2EFNcDtKYUMBTmVojz2743/6kBSCcuKXrGnRjQdD0Ugtk6ygw1J8TMhJHper3EbCVP85CK3i9ljF4maSvxx10WmpwhpIsxz/GPYcpjnnDT915dB6+Bf/HzSOyO4aRx908tb59+d97TxMv60l1Jn3PzbzFwcePYRJ+PpVzv54MZevunho9uPsfewPT/rIdQC4P/sx4evdrFfwuo3UEsDBBQAAAAIAAAAIQCWFrgr1QIAAIgLAAARABwAd29yZC9kb2N1bWVudC54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAApZZbb9sgFMffJ+07WH5v8S1OYjWttGab+jCpWrcPQIDEqAYsILd9+h3s+LJ5qxz3CXPg/PjDORxz93AShXdg2nAlV354G/gek0RRLncr/+ePLzcL3zMWS4oLJdnKPzPjP9x//HB3zKgie8Gk9QAhTXYsycrPrS0zhAzJmcDmVnCilVFbe0uUQGq75YSho9IURUEYVF+lVoQZA+s9YnnAxr/gyGkcjWp8BGcHTBDJsbbs1DHCqyEztESLISiaAIIdRuEQFV+NSpFTNQAlk0CgakCaTSP9Y3PpNFI0JM2nkeIhaTGNNEgnMUxwVTIJg1ulBbbQ1TsksH7dlzcALrHlG15wewZmkDYYzOXrBEXg1RJETK8mzJFQlBUxbShq5e+1zC7+N62/k57V/pem9WDFuGVhuSViJ1sY2/jqMWdXu68vhaU6NaRZAeeopMl52VYHMZUGg3kDObx1AAdR+G1lC0detf+VtnUdhg44Rv4ldqKolb9NDIMR0XSI1mOMhD/XbJQIyOBu4UlH0zvccGTxaQDRAJASNvJn0TAWFwYi3e12HD7yWjWctOVw2uNME9MD0P1ViChudLjGufdYhlqaX4drYoScL7Y4xybvE9l1G5y1uLPonXe5e9+l+qrVvuxo/H20p668HuV1GwzSvyNYmveJeclxCVVXkOxpJ5XGmwIUwVXz4LZ4VQS8Ol1d49U3wGti7VUJ5Lmq5d/DO22j6Nm1JQwkWYk1foI0T8JlmqTz0K+s8Jezzhoks+VivpyBNYM3If0OJkiveD3/1JqetTPGYZA8fm6Na7bF+8IOpz/3JiMnwzBin/VYfiV89/ILBqFihVGUBG4iJHQ4W8A3qid8w45oFRTWMKmnaL7LbdfdKGuV6PoF2/ZGc4Ypg3XnUdXdKmV73d3eVt3LckQVBqymxITVcyozvIe/aheSrOCSPXNLQGWcVqOo2Xf1WUcEdU/o+99QSwMEFAAAAAgAAAAhAMrnZYorBAAAvgwAABEAHAB3b3JkL3NldHRpbmdzLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAAC1V22PmzgQ/n7S/QfE58uG1ySLmq3yervV5lqVre6zAZNYa2Nkm03T0/33GwwO9BZVSav9hJln5pnxeGYM795/ZdR6wUISXsxt98axLVykPCPFfm5/edqOZrYlFSoyRHmB5/YJS/v93e+/vTtGEisFatICikJGLJ3bB6XKaDyW6QEzJG94iQsAcy4YUvAq9mOGxHNVjlLOSqRIQihRp7HnOBO7peFzuxJF1FKMGEkFlzxXtUnE85ykuH0YC3GJ38ZkzdOK4UJpj2OBKcTAC3kgpTRs7GfZADwYkpcfbeKFUaN3dJ0LtnvkIjtbXBJebVAKnmIp4YAYNQGSonMcvCI6+74B3+0WNRWYu45e9SMPryPwXhFMUvz1Oo5ZyzEGyz4Pya7jmZx5SNbj+blgegRZdRWF55s46kdt3uOSmcoO19GZMxrXtkihA5KHPiO+boPhme7EunxLekkFNtAjSQQSp375sTR62BdcoIRCOFCGFlSSpaOzmqOsH1ZTHZbJg6WTa9/B1PnGObOOUYlFCq0HI8tz7HENQMHzPFZIAVEkS0ypnmEpxQj8HqO9QAymj5FomwznqKLqCSWx4iUovSDY3tRQpgckUKqwiEuUAtuKF0pwavQy/hdXK5hkAhqttdBzrVvFzYwEiwIx2PB3c2/HM1xHVgly+cnYxrsb9l3+3xGHmS5Ihp/qRMfqRPEWgo/JN7wosg+VVAQY9fT7hQh+FAAuas8foTSeTiXeYqQqSNMbOdMnsaWk3BEhuHgoMqiNN3NG8hwLcECg1nZQPkTwo87zPUYZXKVv5LeS+G9Qhs70n6Asn5dcKc7uT+UBcv1rJ6nrfdwvX/ggyKRZfOZcnVVhbPnr6bKJtEYvQXzXCVabQWTibN1hm0XgO/4gsnLXbjCMhLPlaggJboOJuxhCJqG3CcIhZLH0Zv5sCFku3Wk4iKxW/srfDiIbZz28n83Km04HY9vees7tpj2d9kxYVH9qfBJmVTe2xRqLFWKJIMja1R8j41ojEc9LUhg8wTClcR+Jq8SAo1EDSIYo3UKJGcBp5BmR5Rrnek13SOw73lZDDEphyn44c9VTG4s/Ba/KBj0KVDYNa1TcIGgtSaEeCTNyWSWxsSrgXulBVZF9fBE6T116jpGCBtCD7xHpRtK6uBh9idtGoyKumwTvUFk2vZbs3blNyf6g3Lo9FLxl8M2qX5K912KexrwG0y8orXcG2u2ik3lG1tPzjczvZIGRBZ0sNLKwk02MbFLLDjBdBVx1z9D2ZlnLc04pP+LsvsNficwlmBI48fjEku5uu2kwSiTMoRKuQcWFwf7QmBtEGU8f6vs6aOT+YhGuF860gUN9fSo9qiC1n3G+RBJnLWZMw8b0n8nEmbjuajYKZpvb0WYaBKOZu7wdTafO1PW3rufPnH/bPjA/Hnf/AVBLAwQUAAAACAAAACEA24Vsw30EAACXHQAAEgAcAHdvcmQvbnVtYmVyaW5nLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAADNmc1u4zYQx+8F+g6CgB4Tifq2sM4iySZFFttF0U3RMy3RlhB+CBRlx9d9mT5CH2tfoaRkyXLkxJIctz4pJjk/zQxnyL+dDx+fCdaWiOcpo1MdXJq6hmjE4pQupvqfj/cXga7lAtIYYkbRVF+jXP949fNPH1YhLcgMcblQkwyah6ssmuqJEFloGHmUIALzS5JGnOVsLi4jRgw2n6cRMlaMx4ZlArP8K+MsQnkuObeQLmGub3DRcz9azOFKGiugY0QJ5AI9bxlgMMQ1JkbQBVkjQDJCC3RR9mCUZyivOiBnFEh61SG540h7gvPGkawuyR9HsrukYBypU06kW+AsQ1ROzhknUMiPfGEQyJ+K7EKCMyjSWYpTsZZM06sxMKVPIzySVg2B2PFggm8QFiNsxzWFTfWC03Bjf9HYK9fDyn7zaCwQ7vda+bqJgZ4FzkVty/vkrjL/xKKCICrKrBkcYZlHRvMkzZrTgYylycmkhizfSsCSYL052UDPVnvtaPtUbcMW2Mf9zd4RXHn+NhGYPXZTIRqLPi7svrP2hMgK3r54VGpayQU9D58aYHUAXoR6XhY1I9gwjGjb3YqT9myrmuM1nDRuccY50wLExSCEZdd+qIcyb7HyWMTJMFy9R4ayhQImME/aRDQsQLfBrUkr39niuKb6lbMi29LS42gP2+N1RYcFaHovdzDLj3PmWwIzeeqSKHxYUMbhDEuPZKtpslu0cge0qlzVQ6s6QKv3WisLSFOnln4lhRqc5YLDSHwtiLbz6UFWuxR8khlyJFUeV4OVprueC8RvOIJPaomi0Fy9LVxCeQUAD1jejenrhpohBRbpF7RE+HGdoXpNsp7xNP5NzWE1V60VJMP1Chfc3Tp3ZlDN4KWaSOWjcioUGZb3remYE9M0QelD6WPjRGUnZeg9aQZnBcZINMRHeQfVUz++/9OMf47qUYzmm+XZ71w9UqrCVMNT3bdKTxJIF6Ugtj1TrTWaxXzzuGdU5Cq5eZTKOvy2JjOGS9NrmbedgZRKcIzmUGZmAyspRunYy0yATibsckTeZ/JSXCK14ujMsKF5AY4zLjG3rOAp4tpXtGpl58VolHcXDsua1cma+/5Z+/H976F5s4A3Lm9/ydXqO1neytru2LAE2Xsa7AQJGtxwVhD83x3nnGXHyTycdce5Z9pxjj3yCH/vjvPOtONcc+RR/n4d559lx7n+yLP6P+q44Ew7znNGHuHHd5yxo24PSl8wRvq6gW8C++b6OOl7d+c5wL91+kjf+57bGKMoJRDv3cdfwOU7a9+echVMRhYlZivEvyAh92J/RNbgiA6p1p5aEtwcE9IfjEC6PyJ7X0Q8XSQDBCUIeoTUVX/3I0N6s+acwTt0SP71VGynKzp3cEiHhFtPOXWyovOGF11HU/Uquq4AOknR+YN36JAC6ilaTld0wfCQDmiXnoriZEU3GV50HVnxStF1NQAt737auvPVD2dhXJQ/q5WDMlTHn3jWy5/LHpprv34X3cO09jGdwHWB7wDwOhO0mUbrH6pX/wJQSwMEFAAAAAgAAAAhAL5+dmJWAQAA0AMAABQAHAB3b3JkL3dlYlNldHRpbmdzLnhtbFVUCQADMNDOEjDQzhJ1eAsAAQT1AQAABBQAAACd01FvwiAQAOD3JfsPhHelumlMYzVZFpe9LEu2/QAKV0sGXAO46n79aLWuiy92T0DLfbnjYLneG02+wHmFNqOTcUIJWIFS2W1GP943owUlPnAruUYLGT2Ap+vV7c2yTmvI3yCEuNOTqFifGpHRMoQqZcyLEgz3Y6zAxp8FOsNDXLotM9x97qqRQFPxoHKlVTiwaZLM6Ylx1yhYFErAI4qdARvaeOZARxGtL1XlO62+RqvRycqhAO9jPUYfPcOVPTOT+wvIKOHQYxHGsZhTRi0VwydJOzP6F5gNA6YXwFzAfpixOBksRvYdJYc587OjZM/5XzI9QO4GEdO7Lo9maMJ7lpdBlsO4rkesieWBl9yXfRGGFTg7cwfTnLcR6fPWouO5jlK8QSReAtLC5NiFZiDHxpKuBNKeC13FJ4ZVUEZ9wwbdg8Pag2PNZ6411q8vT3HB/rzD1Q9QSwMEFAAAAAgAAAAhAD+v4WZfDwAADaYAAA8AHAB3b3JkL3N0eWxlcy54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAA3Z1tc9s2Esff38x9B45e9V6ksp5lT92O7STnzCWpWzvX1xAJWaj5oCOpOO6nPwB8EKUlKC64UdRMZlqL4v4I4L+7xIIU+dMvXwLf+czjREThZW/w41nP4aEbeSJ8vOx9enj7at5zkpSFHvOjkF/2XnjS++Xnf/7jp+eLJH3xeeJIQJhcBO5lb5Wm64t+P3FXPGDJj9Gah/LLZRQHLJUf48d+wOKnzfqVGwVrloqF8EX60h+enU17OSZuQ4mWS+Hy15G7CXiYavt+zH1JjMJkJdZJQXtuQ3uOYm8dRy5PEtnpwM94ARNhiRmMASgQbhwl0TL9UXYmb5FGSfPBmf4r8LeACQ4wBICpy7/gGPOc0ZeWVY7wcJxpyRFehWPXmArA26AQw1HRDvU/ZV5hJV7qrXC4QqO+smUpW7FkVSVyXAcnJe4lUOMduBfvHsMoZgtfkqQHOdIJHA12MhXU/5xMWKfogqPHpfezjC4vcl/zJdv4aaI+xndx/jH/pP/3NgrTxHm+YIkrxGXvKhZMDvHzBWdJepUI9iBbLg8fCNmS26swEerLlfqjsrObXPYeRCBD+SN/dn6PAhY6P1xH3otzc/+vXl8d6InHodzzM/Mve8NsU/JXuWFcbLlJ9rf5LHwstvHw1af7ausqmxbCk01i8av7K204GF/44pGlm1g2S33ShCwRxd6N7Db/km5k++XO/Xw8+vujtC4/ZXvtDalMGDJ93GdZTH7Ll+8j94l796n84rJ31ss2fnp3F4solpnqsnd+nm+854G4FZ7Hw8qO4Up4/I8VDz8l3Ntu/+2tzjb5BjfahPLv0WyqZfYT780Xl69V7pLfhkzp9VEZaG02Yntwbf6/AjbIB7jOfsWZSuDOYB9xjkYMlUVS6W09c7PX9wH6QKNjHWh8rANNjnWg6bEONDvWgebHOtD51z6QCD2Z3wf1hwHUQxxDNKI5hmBDcwyxhOYYQgXNMUQCmmNwdDTH4MdojsFNEZw0ck1eWHH2kcHbm7mHzxF23MOnBDvu4TOAHfdwwrfjHs7vdtzD6dyOezh723EPJ2s8N5tqOe9kmIVp5yhbRlEaRil31PS0M42FkqWrWhqeOunxmKSTBJgss+Un4s40l+nPhz1k0u18nqqCzomWzlI8quKkc8N5+Jn70Zo7zPMkjxAYc1k+GUbExqdjvuQxD11O6dh0UF+E3Ak3wYLAN9fskYzFQ494+AoiSVIoHZpt0pUKEkHg1AFz44hgzsLI8sN7kXQfKwVxrje+z4lYH2lcTLO61wYa07000JjulYHGdC8MKppRDVFOIxqpnEY0YDmNaNwy/6Qat5xGNG45jWjcclr3cXsQqc/3Zx2D9mt3N36UUCS8e/EY6vXTzqR8zdS5YzF7jNl65ahl54MzLfRx9JLzA8U5rSRRzeu1i6hVZxFuug/oDo0quEoeUXiVPKIAK3ndQ+yDnCarCdotTT1zv1mktUHbviq4Z/4mm9B2jzaWdvewbQC8FXFCFgb1WAIP/qims7dEU71tK7s3bMvqHlb7WYm0eTmSoJV+5D7RpOHblzWPZVn21Jn0NvL96Jl7dMT7NI4yX6uG/HDYOuTfBOsVS0QCEO1P9cUdDM4Htu7coTufiZBGtzevAiZ8h24Gcfvw4b3zEK1VmakGhgZ4HaVpFJAx85XAH/7gi3/RNPBKFsHhC1Fvr4iWhzTsRhCcZDJS5BGR5DRThILkHKp5/+Evi4jFHg3tLubZTUMpJyLes2DtU8WWzIvPMv8QzIY0778sFmpdiCqoHkhglWXDZLP4k7vdU93HyCFZGfp1k+r1Rz3V7X61dwfXfZqwg+s+RdBqytOD8l+Czu7gund2B0fV2RufJYkwXkK15lF1t+BR97d78ZfzIj+KlxufbgALINkIFkCyIYz8TRAmlD3WPMIOax51fwldRvMIluQ079+x8MjE0DAqJTSMSgYNo9JAw0gF6H6HTgXW/TadCqz7vToZjGgKUIFR+Rnp6Z/oKk8FRuVnGkblZxpG5WcaRuVno9cOXy7lJJjuFFNBUvlcBUl3oglTHqyjmMUvRMg3Pn9kBAukGe0ujpbq1yRRmN3ETTGd3SxSysl2hqMS+Q++IGuaYlG2i2BFlPl+FBGtrW1PONpy9961Q2b65xydm3DnM5evIt/jsaFPjfXy/Zq5Ai6dtr9Y8l48rlLnflWu9lcx07ODlkXBvmN2+IB1Yz4dNl5m8sQmKBoKf0wxHbU3HgLj8WHj7Uxix3LS0hIec3rYcjtL3rGctbSEx5y3tBwBy6Z4eM3ip1pHmDX5T1njGZxv1nhhvjCuPWyTI5WWdS44a/KinVBxrlxXXS2A6rSLGbN9u+Ax22OiyEzBhJOZ0jquzIimAPudfxZJ7Rr1gevf5d0TIO+PW2fO3zZRCi5TD9v/qOudnDiFCXdqOaP2F652sox5HFunGzOidd4xI1onIDOiVSYymqNSkpnSOjeZEa2TlBmBzlbwjIDLVtAel62gvU22ghSbbNVhFmBGtJ4OmBHoQIUIdKB2mCmYEahABeZWgQop6ECFCHSgQgQ6UOEEDBeo0B4XqNDeJlAhxSZQIQUdqBCBDlSIQAcqRKADFSLQgWo5tzeaWwUqpKADFSLQgQoR6EAddwxUaI8LVGhvE6iQYhOokIIOVIhABypEoAMVItCBChHoQIUIVKACc6tAhRR0oEIEOlAhAh2ok46BCu1xgQrtbQIVUmwCFVLQgQoR6ECFCHSgQgQ6UCECHagQgQpUYG4VqJCCDlSIQAcqRKADddoxUKE9LlChvU2gQopNoEIKOlAhAh2oEIEOVIhABypEoAMVIlCBCsytAhVS0IEKEehAhYgm/8wvUZpusx/gVz2Nd+wjfueTNer36k+5d9ZQ26OKVplZ7X+LcB1FT07tDw9Ho/YQsfBFpJeoDZfVq9wZ+sLnrzfNv/Bp8RiPtl3Jfwuhr5kC+LitJVhTGTe5fNUSFHnjJk+vWoJZ57gp+1YtwWlw3JR0dVwWN6XI0xEwbkozFeOBwbwpW1fM4RA35eiKIRzhpsxcMYQD3JSPK4YTRyXnfetJy3GalveXAkKTO1YIMzOhyS2hVsa1/daimQlt1TMT2spoJqD0NGLwwppRaIXNKDupYZhhpbYPVDMBKzUkWEkNMPZSQ5S11BBlJzVMjFipIQErtX1yNhOspAYYe6khylpqiLKTGp7KsFJDAlZqSMBK3fGEbMTYSw1R1lJDlJ3UcHKHlRoSsFJDAlZqSLCSGmDspYYoa6khyk5qUCWjpYYErNSQgJUaEqykBhh7qSHKWmqIapJar6LYV0sVc9wkrGKIOyFXDHHJuWJoUS1VrC2rpQrBslqCWtlVS1XR7Kqlqnp21VJVRrtqCehpVy3VCmtXLdUqbFctmaXGVUt1UtsHql21VCc1rloySo2rlhqlxlVLjVLjqiWz1LhqqU5qXLVUJ7V9crarloxS46qlRqlx1VKj1LhqySw1rlqqkxpXLdVJjauW6qTueEK2q5YapcZVS41S46ols9S4aqlOaly1VCc1rlqqkxpXLRmlxlVLjVLjqqVGqXHVkllqXLVUJzWuWqqTGlct1UmNq5aMUuOqpUapcdVSo9S4aumDNBEEj4C6D1icOnTPi7tlySpl3R9O+CmMeRL5n7nn0Hb1PaqX/eed118ptn6dn9w/lWOmnoBe+bmSlz0BNgfqHd955WuqlLFqiZO/5yvfrBucX67NjqgNDxyqhOfXigcAv325lT7Cgsle/RrWHTxUD0as2a4cotheHOZmxeLs262rFvuc7/fl+SJO1Avcsq/Pzoaj0evZdbbXOns12xPn64/y+P3ig9SHJ/pTkv2AVpov1DPF5AiMpvq3V2yZ8viyN8+jNsqe2vT+s18eKZcuP0btW+CKV76xPyuvfNt/H5z68k2+TX2vXwlXa+kmaWXztfBE1jhXRXnZrrfj2VT7ht5ZZ4DLHtPxv92sbkpR9xm8zQjbF8gVF5urL5AbF30tXu1m4zxDo/MMKZ1n2MJ5tmGZ7bcTlF/ZvQYt3WvwfbrXaAjdK9vW0b1GRvcaUbrX6Dtxr2Gzex1yomO4ynAOXSXb1tFVxkZXGVO6yvjEXWVe9ZSx0VNGX8dTRPbfm4TEbzp6xMToERNKj5h8Hx4xPs3c0dEHpkYfmFL6wPTEfcAs++ToiWByrv7tO4F609LWBR6EeoPv1ZTAA2ZGD5hResDsb+sB0yME/pE1nxs1n1NqPj8pzaGys6PH9nCm/rXR+TXFnO/cqPM5pc7nJ67z/AgRTK+sKweVufkD1Q3rX/mLkcon++jXIu1rbnh7kkGvQTu9zO1O1SpsQ5v1Km3jwl3+sHaTQ7X2qHThZ1LLP96FyqGe83fYZy31vrBeseMN9/0PLNs7Wpt39fkyzb4dnM1rvl9kr4Qw2sf62oER0N9tTL/shHm8s5dE5j9qMa6T6keGweHOHiXWcaRb+rC7SeTQ6OXe/fbtrIHut/K2WG51tnlmL3HVxoEpXQ0OpCpz8vle1qO6LHciJR02SjokknSIO/t8/wp3WXFEKjxqVHhEpPDoayn8d1/0Q6o1blRrTKTW+NTUOvbCG1KVSaMqEyJVJqemysnpMG3UYUqkw/TUdDjqahRSklmjJDMiSWanJslpiTBvFGFOJML81EQ46koOUpLzRknOiSQ5PzVJvslyWvZgi/2xzrZSrKNpUtMi2iAv2FBrZNtF7r0L4656fcWXdMP8/En6jctjxyyBtk3W3XpV9PuJx+XgbifLZXqcwunzhDgRbiWqdYOu4VbxJbP6p1m2Hl+z+iAtX6K9L1D5BUWoFrDGaB1YRGu4CbI/hA/vhyq/BDE9mB64Je+bTECAVwwm36Lm3RHL5BZdQ3fXvczecOJzxq8sWX3MZq8B2Fcm20oRrZrUFKpDmztrD92ANige3venW3BUEcvj2khtmGSOz9S/NhpS18PbgasVp2vMVBQ2a3IwYI46cvUOrC6fbN+rsT9We6/dOOTRcChGYwv3FPpSl7pQpZ6R12LO19Jdyk7nD44rn2a3323wuDuco9R4BOqEetg7jnifVT4W9Ylu920oFAmverimvDeyKSjW117lAqneL5GelL9X+y91j5yTZUeuJ61OPuyW6+PlpdSvfKT+tmeHfhgxKjJ7NcbmU90afWU3+0SS/L/peijwo0bX7Xo62AmSAx57cnHfmCO3z9Y0DeB2j65Zsrjmh8qSi+yo+WglMqn4N2xNM3ZgSjmpH9Hir+Tn/wNQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAHAB3b3JkL3RoZW1lL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhAGeA/LSbBgAAzSAAABUAHAB3b3JkL3RoZW1lL3RoZW1lMS54bWxVVAkAAzDQzhIw0M4SdXgLAAEE9QEAAAQUAAAA7VlPb9s2FL8P2HcgdHf1x5IsBXUL/23XJm3RpB16ZGRaYkyJAkknMYoCQ3vaZcCAbthlwG47DMMKrMCKXfZhCrTYug8xSnZs0abatE23AksMxCL5e48/vvf4+ExdvHycEnCIGMc0axv2BcsAKIvoCGdx27izN2wEBuACZiNIaIbaxgxx4/KlTz+5CLdEglIEpHzGt2DbSITIt0yTR7Ib8gs0R5kcG1OWQiGbLDZHDB5JvSkxHcvyzRTizAAZTKXam+MxjhDYK1Qal06UD4j8lwledESE7UbljFWJEjua2MUXn/EeYeAQkrYh5xnRoz10LAxAIBdyoG1Y5Z9hXrpoLoWIqJGtyA3Lv4XcQmA0cUo5Fu8vBa2BE7j2Ur8z17+JGwTFZ6mvBMAokiu1N7C251uBs8BWQPNHje6wZTdVfEV/c1N/6HcdV8E3V3h3c43DcND3FLy7wnsb+I7ldMOmgvdWeH8D7w46LWeg4EtQQnA22UT7rSDwF+glZEzJVS089H2r1V/AVyizEl1z+UzUxVoKDygbSkDpXChwBsQsR2MYSVwnF5SDPuY5gTMD5DCjXHZbjm3LwHMtZ/kpLQ63EKxIz7sivtFV8AE8YjgXbeOa1GpUIC+ePXv+8Onzh789f/To+cNfwDaOE6GRuwqzuCr36sev//7+C/DXrz+8evyNHs+r+Jc/f/ny9z9ep14otL598vLpkxffffXnT4818A6D+1X4Hk4RBzfQEbhNU7lAzQRon72dxF4CcVWik8UcZrCQ0aAHIlHQN2aQQA2ui1Q73mUyXeiAV6YHCuHdhE0F1gCvJ6kC3KGUdCnTrul6MVfVCtMs1k/OplXcbQgPdXP31rw8mOYy7rFOZS9BCs1bRLocxihDAhRjdIKQRuwexopdd3DEKKdjAe5h0IVYa5I9vC/0QldxKv0y0xGU/lZss3MXdCnRqe+jQxUp9wYkOpWIKGa8AqcCplrGMCVV5DYUiY7k7oxFisG5kJ6OEaFgMEKc62RusplC9zqUeUvr9h0yS1UkE3iiQ25DSqvIPp30EpjmWs44S6rYz/hEhigEt6jQkqDqDina0g8wq3X3XYzE2+3tOzIN6QOkGJky3ZZAVN2PMzKGSKe8w1IlxXYY1kZHdxorob2NEIFHcIQQuPOZDk9zqid9LZFZ5SrS2eYaVGO1aGeIy1qpKG40jsVcCdldFNMaPjuztcQzg1kKWZ3mGxM1ZAb7TG5GXbySaKKkUsyKTasncZOn8FRabyVQCauizfXxOmPZ2+4xKXPwDjLorWVkYj+1bfYgQfqA2YMYbOvSrRSZ6kWK7VSKTbVyY3XTrtxgrhU9Kc7eUAH9N5XPB6t5zr7aqUso6zVOHW69sulRNsIff2HTh9PsFpJnyXldc17X/B/rmrr9fF7NnFcz59XMv1bNrAoYs3rZU2pJa29+xpiQXTEjaJuXpQ+Xe380lJ1loxRaXjTliXxcTKfgYgbLZ8Co+ByLZDeBuZzGLmeI+UJ1zEFOuSyfjFrdZfE1TXfoaHGPZ5/cbUoBKFb9lrfsl6WamPf6rdVF6FJ92Yp5lYBXKj09icpkKommhkSreToStnVWLEINi8B+HQuz4hV5OAFYXIt77pyRDDcZ0qPCT3P5E++euafrjKku29EsL3TPzNMKiUq4qSQqYZjIw2O9+4x9HYZ6VztaGq3gQ/ja3MwNJFNb4EjuuaYn1UQwbxtj+bNJPqa51MeLTAVJnLWNSCwM/S6ZJWdc9CFP5rByaL7+FAvEAMGpjPWqG0i24mY7LevjJRdaH5/lzHUno/EYRaKmZ9WUY3Ml2tH3BBcNOpWkd5PREdgnU3YbSkN5Lbsw4AhzsbTmCLNKcK+suJauFltReQO02qKQ5AlcnCjVZD6Hl89LOpV1lEzXV2XqTLgfD8/i1H2z0FrSrDlAWrVZ7MMd8hVWTT0rT5vrwsB6/Snx/gdChVqgp9bUU6s7O86wIKhM59fYzan15nueButRa1bqyrK18XKb7h/IyO/LanVKBJ9fkB3L8rt38lpyngnK3pPscizAlOG2cd/yOm7P8XoNK/AGDbfpWo3A6zQbHc9r2gPPtvpd54E0ikhS25vPPZQ/9sls8e6+7N94f5+elNoXIpqatKyDzVK4fH9vO/Xv7wGWlrnvO8OwGXb9RtjsDBtuvxs0wp7fbfT9Xqs/7Pe8IBw+MMBhCXY7zZ7rD4KGb/d6Dde3CvpB2Gi5jtNxW51g4HYeLGwtV37yfWLektelfwBQSwMECgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAHAB3b3JkL19yZWxzL1VUCQADhhztaIcc7Wh1eAsAAQT1AQAABBQAAABQSwMEFAAAAAgAAAAhALO+ix3+AAAAtgMAABwAHAB3b3JkL19yZWxzL2RvY3VtZW50LnhtbC5yZWxzVVQJAAMw0M4SiBztaHV4CwABBPUBAAAEFAAAAK2TzWrDMBCE74W+g9h7LTttQwmRcymBXFv3AWR7/UP1Y6RNWr99RUoShwbTg44zYme+hdV6860VO6DzvTUCsiQFhqaydW9aAR/F9uEFmCdpaqmsQQEjetjk93frN1SSwpDv+sGzkGK8gI5oWHHuqw619Ikd0ISXxjotKUjX8kFWn7JFvkjTJXfTDMivMtmuFuB29SOwYhzwP9m2afoKX22112joRgX3SBQ28yFTuhZJwMlJQhbw2wiLqAg0KpwCHPVcfRaz3ux1iS5sfCE4W3MQy5gQFGbxAnCUv2Y2x/Ack6GxhgpZqgnH2ZqDeIoJ8YXl+5+TnJgnEH712/IfUEsBAh4DFAAAAAgAAAAhADKRb1deAQAApQUAABMAGAAAAAAAAQAAAKSBAAAAAFtDb250ZW50X1R5cGVzXS54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACTZE1bAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UGrAQAAZG9jUHJvcHMvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhACEYr1llAQAAxQIAABAAGAAAAAAAAQAAAKSB7gEAAGRvY1Byb3BzL2FwcC54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEACvOn+GYBAADtAgAAEQAYAAAAAAABAAAApIGdAwAAZG9jUHJvcHMvY29yZS54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACTZE1bAAAAAAAAAAAAAAAABgAYAAAAAAAAABAA7UFOBQAAX3JlbHMvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhAB6RGrfpAAAATgIAAAsAGAAAAAAAAQAAAKSBjgUAAF9yZWxzLy5yZWxzVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAk2RNWwAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BvAYAAHdvcmQvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAoWRNW+xw0GIQAgAAtAcAABIAGAAAAAAAAQAAAKSB+wYAAHdvcmQvZm9udFRhYmxlLnhtbFVUBQADnhztaHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQCWFrgr1QIAAIgLAAARABgAAAAAAAEAAACkgVcJAAB3b3JkL2RvY3VtZW50LnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQDK52WKKwQAAL4MAAARABgAAAAAAAEAAACkgXcMAAB3b3JkL3NldHRpbmdzLnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQDbhWzDfQQAAJcdAAASABgAAAAAAAEAAACkge0QAAB3b3JkL251bWJlcmluZy54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEAvn52YlYBAADQAwAAFAAYAAAAAAABAAAApIG2FQAAd29yZC93ZWJTZXR0aW5ncy54bWxVVAUAAzDQzhJ1eAsAAQT1AQAABBQAAABQSwECHgMUAAAACAAAACEAP6/hZl8PAAANpgAADwAYAAAAAAABAAAApIFaFwAAd29yZC9zdHlsZXMueG1sVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAk2RNWwAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BAicAAHdvcmQvdGhlbWUvVVQFAAOGHO1odXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAAAAgAAAAhAGeA/LSbBgAAzSAAABUAGAAAAAAAAQAAAKSBRycAAHdvcmQvdGhlbWUvdGhlbWUxLnhtbFVUBQADMNDOEnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJNkTVsAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQTEuAAB3b3JkL19yZWxzL1VUBQADhhztaHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAAAIAAAAIQCzvosd/gAAALYDAAAcABgAAAAAAAEAAACkgXYuAAB3b3JkL19yZWxzL2RvY3VtZW50LnhtbC5yZWxzVVQFAAMw0M4SdXgLAAEE9QEAAAQUAAAAUEsFBgAAAAARABEAqQUAAMovAAAAAA==";
93152
- const _hoisted_1$1 = { class: "super-editor-container" };
93153
- const _hoisted_2 = {
93213
+ const _hoisted_1$1 = {
93154
93214
  key: 1,
93155
93215
  class: "placeholder-editor"
93156
93216
  };
93157
- const _hoisted_3 = { class: "placeholder-title" };
93217
+ const _hoisted_2 = { class: "placeholder-title" };
93158
93218
  const DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
93159
93219
  const _sfc_main$1 = {
93160
93220
  __name: "SuperEditor",
@@ -93185,6 +93245,9 @@ const _sfc_main$1 = {
93185
93245
  const editorReady = vue.ref(false);
93186
93246
  const editor = vue.shallowRef(null);
93187
93247
  const message = useMessage();
93248
+ const isResponsiveMode = vue.computed(() => {
93249
+ return props.options.layoutMode === "responsive";
93250
+ });
93188
93251
  const editorWrapper = vue.ref(null);
93189
93252
  const editorElem = vue.ref(null);
93190
93253
  const fileSource = vue.ref(null);
@@ -93376,7 +93439,9 @@ const _sfc_main$1 = {
93376
93439
  editor.value = null;
93377
93440
  });
93378
93441
  return (_ctx, _cache) => {
93379
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
93442
+ return vue.openBlock(), vue.createElementBlock("div", {
93443
+ class: vue.normalizeClass(["super-editor-container", { "no-min-height": isResponsiveMode.value }])
93444
+ }, [
93380
93445
  __props.options.rulers && !!editor.value ? (vue.openBlock(), vue.createBlock(Ruler, {
93381
93446
  key: 0,
93382
93447
  class: "ruler",
@@ -93405,8 +93470,8 @@ const _sfc_main$1 = {
93405
93470
  closePopover
93406
93471
  }, null, 8, ["editor", "popoverControls"])) : vue.createCommentVNode("", true)
93407
93472
  ], 544),
93408
- !editorReady.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
93409
- vue.createBaseVNode("div", _hoisted_3, [
93473
+ !editorReady.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
93474
+ vue.createBaseVNode("div", _hoisted_2, [
93410
93475
  vue.createVNode(vue.unref(NSkeleton), {
93411
93476
  text: "",
93412
93477
  style: { "width": "60%" }
@@ -93462,11 +93527,11 @@ const _sfc_main$1 = {
93462
93527
  ]),
93463
93528
  _: 1
93464
93529
  }, 8, ["editor", "visible", "position"])) : vue.createCommentVNode("", true)
93465
- ]);
93530
+ ], 2);
93466
93531
  };
93467
93532
  }
93468
93533
  };
93469
- const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-86fdd359"]]);
93534
+ const SuperEditor = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-25b8680d"]]);
93470
93535
  const _hoisted_1 = ["innerHTML"];
93471
93536
  const _sfc_main = {
93472
93537
  __name: "SuperInput",