@docx-editor.dev/core 2.25.0 → 2.27.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 (115) hide show
  1. package/README.md +9 -3
  2. package/dist/automation.cjs +1 -1
  3. package/dist/automation.d.ts +31 -16
  4. package/dist/automation.js +1 -1
  5. package/dist/binding.cjs +1 -1
  6. package/dist/binding.d.ts +8 -8
  7. package/dist/binding.js +1 -1
  8. package/dist/chunk-2GK7YQB2.cjs +2 -0
  9. package/dist/chunk-4KZ6L5YF.cjs +15 -0
  10. package/dist/chunk-55AT3MOU.cjs +25 -0
  11. package/dist/chunk-6ZQMII6V.js +1 -0
  12. package/dist/chunk-7IGCWG4H.js +2 -0
  13. package/dist/chunk-7MYITTAH.js +5 -0
  14. package/dist/chunk-AVKVRU7Z.cjs +5 -0
  15. package/dist/chunk-CWRBFNK5.cjs +5 -0
  16. package/dist/chunk-DGPA3TST.cjs +27 -0
  17. package/dist/{chunk-WVJRO4WY.js → chunk-DNXVNQEO.js} +1 -1
  18. package/dist/chunk-FQN4KSFL.cjs +7 -0
  19. package/dist/{chunk-MEF2AK5L.cjs → chunk-GVUOWHTO.cjs} +1 -1
  20. package/dist/chunk-GWQJ5774.js +5 -0
  21. package/dist/chunk-HAQ72KD7.js +1 -0
  22. package/dist/chunk-HO5XFO32.cjs +3 -0
  23. package/dist/chunk-IGR23DV2.js +1 -0
  24. package/dist/chunk-JSIX2EOH.js +3 -0
  25. package/dist/chunk-K246T47S.cjs +1 -0
  26. package/dist/chunk-KAXOGCGA.js +1 -0
  27. package/dist/chunk-LZLTN5A3.cjs +1 -0
  28. package/dist/chunk-NBCVVZOM.cjs +1 -0
  29. package/dist/{chunk-AJCCS53D.js → chunk-O5INAWZQ.js} +1 -1
  30. package/dist/chunk-OHAXVTWG.cjs +1 -0
  31. package/dist/chunk-S74GRBNE.js +7 -0
  32. package/dist/chunk-UBLUVNZR.js +27 -0
  33. package/dist/chunk-UMRSBLO7.js +15 -0
  34. package/dist/chunk-VIPMGGUT.js +25 -0
  35. package/dist/chunk-WG4KMSX2.cjs +2 -0
  36. package/dist/chunk-WRLKVNNR.cjs +1 -0
  37. package/dist/chunk-ZU7IVN6G.js +2 -0
  38. package/dist/collaboration/replication.cjs +1 -1
  39. package/dist/collaboration/replication.d.ts +14 -5
  40. package/dist/collaboration/replication.js +1 -1
  41. package/dist/collaboration.d.ts +3 -3
  42. package/dist/contracts/document.d.ts +2 -2
  43. package/dist/contracts/editor.d.ts +8 -8
  44. package/dist/contracts/modules.cjs +1 -1
  45. package/dist/contracts/modules.d.ts +20 -31
  46. package/dist/contracts/modules.js +1 -1
  47. package/dist/contracts/types.d.ts +1 -1
  48. package/dist/{custom-node-writes-Cy9imOjA.d.ts → custom-node-writes-Vzpq9I8_.d.ts} +2 -2
  49. package/dist/{document-protection-Bp19Ad4I.d.ts → document-protection-9zpIHWTE.d.ts} +1 -1
  50. package/dist/{editor-DkfCCTxA.d.ts → editor-B3OBYNrF.d.ts} +29 -34
  51. package/dist/editor.cjs +1 -1
  52. package/dist/editor.css +14 -2
  53. package/dist/editor.d.ts +28 -27
  54. package/dist/editor.js +1 -1
  55. package/dist/export.cjs +2 -2
  56. package/dist/export.d.ts +26 -14
  57. package/dist/export.js +2 -2
  58. package/dist/{font-resolver-C295obND.d.ts → font-resolver-DN0xNOf_.d.ts} +5 -3
  59. package/dist/{headless-document-view-R9bzzepb.d.ts → headless-document-view-ICYqNkQ1.d.ts} +2 -2
  60. package/dist/{image-resources-DfagDguq.d.ts → image-resources-BDFxcu7W.d.ts} +1 -1
  61. package/dist/{index-3KAxeSic.d.ts → index-CkQVRJtJ.d.ts} +53 -21
  62. package/dist/index.cjs +1 -1
  63. package/dist/index.d.ts +18 -17
  64. package/dist/index.js +1 -1
  65. package/dist/{layout-shaping-C889tgmj.d.ts → layout-shaping-BvZD_VKP.d.ts} +1 -1
  66. package/dist/layout.cjs +1 -1
  67. package/dist/layout.d.ts +104 -202
  68. package/dist/layout.js +1 -1
  69. package/dist/{note-properties-CmfvOJsi.d.ts → note-properties-CkAk7g-n.d.ts} +1 -1
  70. package/dist/{omml-equation-CZ6IG2ja.d.ts → omml-equation-DuczgG5o.d.ts} +1 -1
  71. package/dist/output.cjs +1 -1
  72. package/dist/output.d.ts +8 -7
  73. package/dist/output.js +1 -1
  74. package/dist/{protocol-BhmenALD.d.ts → protocol-aKYr8r3u.d.ts} +34 -6
  75. package/dist/{review-paragraph-order-BwhRT264.d.ts → review-paragraph-order-Ddj5d6rp.d.ts} +6 -2
  76. package/dist/{revision-projection-DfWxdBqA.d.ts → revision-projection-CSNFudZY.d.ts} +74 -3
  77. package/dist/{semantic-cell-selection-CC3NwCtx.d.ts → semantic-cell-selection-DoqYCz_F.d.ts} +25 -7
  78. package/dist/{semantic-interaction-BHlV61hK.d.ts → semantic-interaction-G0bjmmmk.d.ts} +1 -1
  79. package/dist/{semantic-paint-DfWIWUs6.d.ts → semantic-paint-CsMzF8-O.d.ts} +57 -5
  80. package/dist/semantic-record-queries-1du6lQqS.d.ts +177 -0
  81. package/dist/{semantic-records-DrExlBy-.d.ts → semantic-records-B9OolWGN.d.ts} +91 -74
  82. package/dist/store.cjs +1 -1
  83. package/dist/store.d.ts +74 -17
  84. package/dist/store.js +1 -1
  85. package/dist/{tree-package-fragment-YPyYC1aD.d.ts → tree-package-fragment-DYZIk1rY.d.ts} +3 -3
  86. package/dist/{tree-session-contract-AeY2v0x9.d.ts → tree-session-contract-DQVJOOkv.d.ts} +5 -5
  87. package/dist/{types-barrel-BO73JqHG.d.ts → types-barrel-BFKR8Pzp.d.ts} +134 -110
  88. package/package.json +4 -4
  89. package/dist/chunk-3RMHRNDA.cjs +0 -1
  90. package/dist/chunk-42N7OV3G.cjs +0 -1
  91. package/dist/chunk-47ZJEEBT.js +0 -2
  92. package/dist/chunk-4B3SXBV6.js +0 -4
  93. package/dist/chunk-5MWFZ7F4.cjs +0 -11
  94. package/dist/chunk-AS2OC6J4.cjs +0 -26
  95. package/dist/chunk-B7SYEMZ7.cjs +0 -1
  96. package/dist/chunk-BME2KUNL.cjs +0 -1
  97. package/dist/chunk-CDGVVEUK.js +0 -26
  98. package/dist/chunk-E4RAPI5J.cjs +0 -2
  99. package/dist/chunk-FZJTQPH4.js +0 -2
  100. package/dist/chunk-H7XMRUAO.cjs +0 -5
  101. package/dist/chunk-ILUE2SI5.js +0 -1
  102. package/dist/chunk-IZT3C23R.js +0 -1
  103. package/dist/chunk-KJLPVGSX.cjs +0 -4
  104. package/dist/chunk-LF5LPZOP.cjs +0 -18
  105. package/dist/chunk-N5WE5O5Q.js +0 -1
  106. package/dist/chunk-OVDW4XQD.cjs +0 -2
  107. package/dist/chunk-SNN53UPD.js +0 -1
  108. package/dist/chunk-TKQH7BNE.cjs +0 -1
  109. package/dist/chunk-V7LBEUVW.js +0 -5
  110. package/dist/chunk-VE7YBFQD.js +0 -5
  111. package/dist/chunk-VOVDX7GW.js +0 -18
  112. package/dist/chunk-VQ33XGNP.cjs +0 -5
  113. package/dist/chunk-XUJINXW6.js +0 -1
  114. package/dist/chunk-Y3TPAITU.cjs +0 -1
  115. package/dist/chunk-Z65JJLLF.js +0 -11
package/dist/editor.d.ts CHANGED
@@ -1,36 +1,37 @@
1
- import { O as OoxmlPart, aD as TreeDocColorValue, r as ColorValue, ab as DrawingPositionInput, A as ParagraphTabStop } from './types-barrel-BO73JqHG.js';
2
- export { aE as IMAGE_WRAP_TARGETS, aa as ImageWrapTarget, z as ParagraphFlags, R as ReviewModelInput, aF as TEXT_FORM_FORMATS } from './types-barrel-BO73JqHG.js';
3
- export { D as DEFAULT_IMAGE_RESOURCE_LIMITS, a as ImageDecodePort, I as ImageResourceLimits, R as RenderableImageMime, S as SupportedImageMime, c as VectorImageMime, r as resolveImageResourceLimits, d as resolveSvgIntrinsicSize, s as sniffImageMime, v as validateRasterHeader } from './image-resources-DfagDguq.js';
4
- export { CollectReviewItems, EditorModule, EditorModuleRegistry, ReviewModuleContribution, resolveEditorModules } from './contracts/modules.js';
5
- import { T as TreeDocxSessionView, f as DocumentThemeColorEntry } from './tree-session-contract-AeY2v0x9.js';
6
- export { a as TreeApplyResult } from './tree-session-contract-AeY2v0x9.js';
7
- import { a as FontConfiguration, E as EditorFontError, d as EditorSnapshot, e as EditorCommand, C as CanResult, Z as ZoomMode, f as ClearAnchorHighlightOptions, A as AnchorHighlightOptions, S as ScrollToAnchorOptions, g as AnchorHighlightAnimation, H as HighlightRange, h as Editor, i as HighlightResult, j as HighlightOptions, T as TextMatch } from './editor-DkfCCTxA.js';
8
- export { k as HighlightHit, l as HighlightRect, I as ImageContext, m as ImageCropPercent, n as ImageCropPermille, o as SelectedImageState, p as TrackedChangeFilterMode, q as TrackedChangePredicate, r as cropPercentFromCropPermille, s as cropPercentFromPermille, t as cropPercentFromSourceCrop, u as cropPermilleFromCropPercent, v as cropPermilleFromPercent, w as sourceCropFromCropPercent, x as validateImageCropPercent } from './editor-DkfCCTxA.js';
9
- import { L as LayoutShapingInstrumentation, a as LayoutShapingOptions } from './layout-shaping-C889tgmj.js';
10
- export { d as disposeLayoutShaping } from './layout-shaping-C889tgmj.js';
11
- export { C as ComposeFontOriginsOptions, b as FONT_RESOLVER_BRAND, c as FONT_RESOLVER_MARK_KEY, d as FontConfigurationBase, e as FontConfigurationFragment, a as FontOrigin, F as FontOriginFailure, f as FontResolutionRequest, g as FontResolver, h as FontResolverMark, M as MAX_RESOLVER_FAMILIES, i as MarkedFontResolver, W as WORD_DEFAULT_FONT, j as composeFontConfiguration, k as composeFontOrigins, l as defineFontResolver, m as isFontResolver } from './font-resolver-C295obND.js';
12
- import { P as PaginatedSurfaceOptions, O as OpenPaginatedResult, a as PaginatedSurface, T as TableCommandPlan, D as DocxEditorInstance } from './index-3KAxeSic.js';
13
- export { A as AnchorFrameOrigin, C as CHROME_GROUPS, b as CHROME_MENUS, c as CHROME_UNAVAILABLE_KEY, d as ChromeControl, e as ChromeControlId, f as ChromeControlState, g as ChromeExportError, h as ChromeExportFormat, i as ChromeExportHandlers, j as ChromeExportResult, k as ChromeGroup, l as ChromeGroupId, m as ChromeMenu, n as ChromeMenuEntry, o as ChromeMenuId, p as ChromeMenuItemEntry, q as ChromeMenuSeparatorEntry, r as ChromeMenuSubmenuEntry, s as ChromePrintError, t as ChromePrintErrorCode, u as ChromePrintJob, v as ChromePrintOptions, w as ChromeSlotId, x as ContentControlWidgetChromeHandlers, y as ContentControlWidgetSession, z as CustomFontsOptions, B as CustomFontsResolver, E as DEFAULT_TABLE_CHROME_DRAFT, F as DocxEditorConfig, G as DrawingSelectionIntent, H as EMU_PER_POINT, I as EditorCommandExecute, J as EquationActivation, K as EquationChromeHandlers, L as EquationOps, M as FinalizedImageOverlayInteraction, N as FontLoadFailure, Q as FontLoadFailureReason, R as FontMeasurementState, S as FontUrlSource, U as HistoryGroupBinding, V as HistoryGroupBindingOptions, W as HyperlinkActivation, X as HyperlinkChromeHandlers, Y as HyperlinkOps, Z as IMAGE_OVERLAY_NUDGE_PT, _ as IMAGE_OVERLAY_NUDGE_SHIFT_PT, $ as ImageInteractionSession, a0 as ImageOverlayScrollPort, a1 as ImageResizeHandle, a2 as ImageResizeResult, a3 as InvalidTextFormFieldChromeHandlers, a4 as InvalidTextFormFieldSession, a5 as LoadFontsRequest, a6 as LoadFontsResult, a7 as OverlayFrameRect, a8 as PaginatedSurfaceState, a9 as ParagraphPropertyEdit, aa as PopupChromeRegistrationOptions, ab as RemoteCaretLabelAnchor, ac as RemoteCaretLabelHost, ad as ReviewWriteIntent, ae as RunTableChromeCommandResult, af as SectionAnchor, ag as SectionBreakInsertType, ah as SelectedDrawingOverlayTarget, ai as SurfaceEquation, aj as SurfaceFormatting, ak as SurfaceHyperlink, al as SurfaceInsertImageInput, am as SurfaceNavigation, an as SurfaceOverlayCoordinates, ao as SurfaceParagraphFormat, ap as TABLE_BORDER_STYLE_OPTIONS, aq as TABLE_BORDER_TARGET_OPTIONS, ar as TABLE_BORDER_WIDTH_OPTIONS, as as TABLE_CHROME_SLOT_IDS, at as TableBorderStyleOption, au as TableBorderTargetOption, av as TableBorderTargetValue, aw as TableBorderWidthOption, ax as TableChromeDraft, ay as TableChromePick, az as TableChromeSlotId, aA as TableInteractionLabelKey, aB as TextFormFieldChromeHandlers, aC as TextFormFieldDialogSession, aD as ToolbarCommandState, aE as ToolbarSlotValue, aF as ToolbarValueMap, aG as ToolbarValueSlot, aH as applyTableChromePick, aI as bindHistoryGroup, aJ as blankDocumentBytes, aK as canExecuteImageCommand, aL as captureImageMutationPreconditions, aM as chromeControlCount, aN as chromeMenuSlots, aO as chromeProbeForSlot, aP as chromeSlotId, aQ as chromeSlotIsToggle, aR as commandExecOptions, aS as commandForSlot, aT as commandForSlotValue, aU as commandForTableChromeSlotValue, aV as computeImageResizeResult, aW as computeMovedImagePosition, aX as computeResizedImageExtentEmu, aY as createDocxEditor, aZ as createFontSource, a_ as createImageOverlayScrollPort, a$ as cssPixelsToLayoutPoints, b0 as customFonts, b1 as defaultChromeGroups, b2 as defaultTableLabel, b3 as emuToOverlayPoints, b4 as equationAtPosition, b5 as executeImageCommand, b6 as finalizeImageOverlayInteraction, b7 as formattingBarChromeGroups, b8 as isChromePrintShortcut, b9 as isStaleImageInteractionCommit, ba as isTableChromeSlot, bb as layoutPointsToCssPixels, bc as loadFonts, bd as overlayFrameToSheetCssPixels, be as overlayHostOrigin, bf as pointsToEmu, bg as probeTableChromeCommand, bh as resizePreservesAspect, bi as runChromeExport, bj as runChromePrint, bk as runSave, bl as runTableChromeCommand, bm as runTableCommand, bn as runToolbarCommand, bo as selectedDrawingOverlayTargetOf, bp as selectedImageStateOf, bq as surfacePaintScale, br as tableChromeIconPaths, bs as tableChromeLabelKeyForTarget, bt as tableChromeToolbarState, bu as tableChromeVisible, bv as tableCommandToolbarState, bw as toolbarCommandState, bx as toolbarCommandStates } from './index-3KAxeSic.js';
14
- import { a as AutomationCapabilities, b as AutomationHost } from './protocol-BhmenALD.js';
15
- import { S as SemanticLayout } from './semantic-records-DrExlBy-.js';
16
- export { T as TextMeasurer } from './semantic-records-DrExlBy-.js';
17
- export { N as NavigationCommand, S as SemanticPosition, a as SemanticSelection } from './semantic-interaction-BHlV61hK.js';
18
- export { S as SectionProperties } from './semantic-cell-selection-CC3NwCtx.js';
19
- export { F as FieldShadingMode, R as ReviewAuthorInfo, a as RevisionAuthorAssignments, b as RevisionAuthorStyle, c as RevisionStyles } from './semantic-paint-DfWIWUs6.js';
1
+ import { O as OoxmlPart, aD as TreeDocColorValue, r as ColorValue, ab as DrawingPositionInput, A as ParagraphTabStop } from './types-barrel-BFKR8Pzp.js';
2
+ export { aE as IMAGE_WRAP_TARGETS, aa as ImageWrapTarget, z as ParagraphFlags, R as ReviewModelInput, aF as TEXT_FORM_FORMATS } from './types-barrel-BFKR8Pzp.js';
3
+ export { D as DEFAULT_IMAGE_RESOURCE_LIMITS, a as ImageDecodePort, I as ImageResourceLimits, R as RenderableImageMime, S as SupportedImageMime, c as VectorImageMime, r as resolveImageResourceLimits, d as resolveSvgIntrinsicSize, s as sniffImageMime, v as validateRasterHeader } from './image-resources-BDFxcu7W.js';
4
+ export { CollectReviewItems, EditorModule, EditorModuleRegistry, ReviewModuleContribution, RevisionMarkupDialog, RevisionMarkupDialogHost, resolveEditorModules } from './contracts/modules.js';
5
+ import { T as TreeDocxSessionView, f as DocumentThemeColorEntry } from './tree-session-contract-DQVJOOkv.js';
6
+ export { a as TreeApplyResult } from './tree-session-contract-DQVJOOkv.js';
7
+ import { a as FontConfiguration, E as EditorFontError, d as EditorSnapshot, e as EditorCommand, C as CanResult, Z as ZoomMode, f as ClearAnchorHighlightOptions, A as AnchorHighlightOptions, S as ScrollToAnchorOptions, g as AnchorHighlightAnimation, H as HighlightRange, h as Editor, i as HighlightResult, j as HighlightOptions, T as TextMatch } from './editor-B3OBYNrF.js';
8
+ export { k as HighlightHit, l as HighlightRect, I as ImageContext, m as ImageCropPercent, n as ImageCropPermille, o as SelectedImageState, p as TrackedChangeFilterMode, q as TrackedChangePredicate, r as cropPercentFromCropPermille, s as cropPercentFromPermille, t as cropPercentFromSourceCrop, u as cropPermilleFromCropPercent, v as cropPermilleFromPercent, w as sourceCropFromCropPercent, x as validateImageCropPercent } from './editor-B3OBYNrF.js';
9
+ import { L as LayoutShapingInstrumentation, a as LayoutShapingOptions } from './layout-shaping-BvZD_VKP.js';
10
+ export { d as disposeLayoutShaping } from './layout-shaping-BvZD_VKP.js';
11
+ export { C as ComposeFontOriginsOptions, D as DEFAULT_FONT, b as FONT_RESOLVER_BRAND, c as FONT_RESOLVER_MARK_KEY, d as FontConfigurationBase, e as FontConfigurationFragment, a as FontOrigin, F as FontOriginFailure, f as FontResolutionRequest, g as FontResolver, h as FontResolverMark, M as MAX_RESOLVER_FAMILIES, i as MarkedFontResolver, W as WORD_DEFAULT_FONT, j as composeFontConfiguration, k as composeFontOrigins, l as defineFontResolver, m as isFontResolver } from './font-resolver-DN0xNOf_.js';
12
+ import { P as PaginatedSurfaceOptions, O as OpenPaginatedResult, a as PaginatedSurface, T as TableCommandPlan, D as DocxEditorInstance } from './index-CkQVRJtJ.js';
13
+ export { A as AnchorFrameOrigin, C as CHROME_GROUPS, b as CHROME_MENUS, c as CHROME_UNAVAILABLE_KEY, d as ChromeControl, e as ChromeControlId, f as ChromeControlState, g as ChromeExportError, h as ChromeExportFormat, i as ChromeExportHandlers, j as ChromeExportResult, k as ChromeExportView, l as ChromeGroup, m as ChromeGroupId, n as ChromeMenu, o as ChromeMenuEntry, p as ChromeMenuId, q as ChromeMenuItemEntry, r as ChromeMenuSeparatorEntry, s as ChromeMenuSubmenuEntry, t as ChromePrintError, u as ChromePrintErrorCode, v as ChromePrintJob, w as ChromePrintOptions, x as ChromeSlotId, y as ContentControlWidgetChromeHandlers, z as ContentControlWidgetSession, B as CustomFontsOptions, E as CustomFontsResolver, F as DEFAULT_TABLE_CHROME_DRAFT, G as DocxEditorConfig, H as DrawingSelectionIntent, I as EMU_PER_POINT, J as EditorCommandExecute, K as EquationActivation, L as EquationChromeHandlers, M as EquationOps, N as FinalizedImageOverlayInteraction, Q as FontLoadFailure, R as FontLoadFailureReason, S as FontMeasurementState, U as FontUrlSource, V as HistoryGroupBinding, W as HistoryGroupBindingOptions, X as HyperlinkActivation, Y as HyperlinkChromeHandlers, Z as HyperlinkOps, _ as IMAGE_OVERLAY_NUDGE_PT, $ as IMAGE_OVERLAY_NUDGE_SHIFT_PT, a0 as ImageInteractionSession, a1 as ImageOverlayScrollPort, a2 as ImageResizeHandle, a3 as ImageResizeResult, a4 as InvalidTextFormFieldChromeHandlers, a5 as InvalidTextFormFieldSession, a6 as LoadFontsRequest, a7 as LoadFontsResult, a8 as OverlayFrameRect, a9 as PaginatedSurfaceState, aa as ParagraphPropertyEdit, ab as PopupChromeRegistrationOptions, ac as RemoteCaretLabelAnchor, ad as RemoteCaretLabelHost, ae as ReviewWriteIntent, af as RunTableChromeCommandResult, ag as SectionAnchor, ah as SectionBreakInsertType, ai as SelectedDrawingOverlayTarget, aj as SurfaceEquation, ak as SurfaceFormatting, al as SurfaceHyperlink, am as SurfaceInsertImageInput, an as SurfaceNavigation, ao as SurfaceOverlayCoordinates, ap as SurfaceParagraphFormat, aq as TABLE_BORDER_STYLE_OPTIONS, ar as TABLE_BORDER_TARGET_OPTIONS, as as TABLE_BORDER_WIDTH_OPTIONS, at as TABLE_CHROME_SLOT_IDS, au as TableBorderStyleOption, av as TableBorderTargetOption, aw as TableBorderTargetValue, ax as TableBorderWidthOption, ay as TableChromeDraft, az as TableChromePick, aA as TableChromeSlotId, aB as TableInteractionLabelKey, aC as TextFormFieldChromeHandlers, aD as TextFormFieldDialogSession, aE as ToolbarCommandState, aF as ToolbarSlotValue, aG as ToolbarValueMap, aH as ToolbarValueSlot, aI as applyTableChromePick, aJ as bindHistoryGroup, aK as blankDocumentBytes, aL as canExecuteImageCommand, aM as captureImageMutationPreconditions, aN as chromeControlCount, aO as chromeMenuSlots, aP as chromeProbeForSlot, aQ as chromeSlotId, aR as chromeSlotIsToggle, aS as commandExecOptions, aT as commandForSlot, aU as commandForSlotValue, aV as commandForTableChromeSlotValue, aW as computeImageResizeResult, aX as computeMovedImagePosition, aY as computeResizedImageExtentEmu, aZ as createDocxEditor, a_ as createFontSource, a$ as createImageOverlayScrollPort, b0 as cssPixelsToLayoutPoints, b1 as customFonts, b2 as defaultChromeGroups, b3 as defaultTableLabel, b4 as emuToOverlayPoints, b5 as equationAtPosition, b6 as executeImageCommand, b7 as finalizeImageOverlayInteraction, b8 as formattingBarChromeGroups, b9 as isChromePrintShortcut, ba as isStaleImageInteractionCommit, bb as isTableChromeSlot, bc as layoutPointsToCssPixels, bd as loadFonts, be as overlayFrameToSheetCssPixels, bf as overlayHostOrigin, bg as pointsToEmu, bh as probeTableChromeCommand, bi as resizePreservesAspect, bj as runChromeExport, bk as runChromePrint, bl as runSave, bm as runTableChromeCommand, bn as runTableCommand, bo as runToolbarCommand, bp as selectedDrawingOverlayTargetOf, bq as selectedImageStateOf, br as surfacePaintScale, bs as tableChromeIconPaths, bt as tableChromeLabelKeyForTarget, bu as tableChromeToolbarState, bv as tableChromeVisible, bw as tableCommandToolbarState, bx as toolbarCommandState, by as toolbarCommandStates } from './index-CkQVRJtJ.js';
14
+ import { a as AutomationCapabilities, b as AutomationHost } from './protocol-aKYr8r3u.js';
15
+ import { S as SemanticLayout } from './semantic-records-B9OolWGN.js';
16
+ export { T as TextMeasurer } from './semantic-records-B9OolWGN.js';
17
+ export { D as DEFAULT_REVISION_MARKUP, f as REVISION_MARKUP_COLORS, d as ResolvedRevisionMarkup, a as ReviewDisplayMode, g as RevisionChangedLinesMark, h as RevisionDeletionMark, i as RevisionMarkupChromeHandlers, j as RevisionMarkupColor, R as RevisionMarkupDialogSession, k as RevisionMarkupMark, l as RevisionMarkupNamedColor, e as RevisionMarkupOptions, m as RevisionMarkupStyle, n as RevisionMarkupTextStyle, r as resolveRevisionMarkup } from './revision-projection-CSNFudZY.js';
18
+ export { N as NavigationCommand, S as SemanticPosition, a as SemanticSelection } from './semantic-interaction-G0bjmmmk.js';
19
+ export { S as SectionProperties } from './semantic-cell-selection-DoqYCz_F.js';
20
+ export { F as FieldShadingMode, R as ReviewAuthorInfo, b as RevisionAuthorAssignments, c as RevisionAuthorStyle, d as RevisionStyles } from './semantic-paint-CsMzF8-O.js';
20
21
  export { CollaborationModuleContribution } from './collaboration.js';
21
22
  import './editor-scope-OHPwVQ5l.js';
22
- import './revision-projection-DfWxdBqA.js';
23
- import './tree-package-fragment-YPyYC1aD.js';
23
+ import './tree-package-fragment-DYZIk1rY.js';
24
24
  import './collaboration/replication.js';
25
25
  import './failure-BIPVQbRm.js';
26
- import './custom-node-writes-Cy9imOjA.js';
27
- import './headless-document-view-R9bzzepb.js';
26
+ import './custom-node-writes-Vzpq9I8_.js';
27
+ import './headless-document-view-ICYqNkQ1.js';
28
28
  import 'prosemirror-model';
29
29
  import './contracts/document.js';
30
30
  import './contracts/interaction.js';
31
- import './document-protection-Bp19Ad4I.js';
32
- import './note-properties-CmfvOJsi.js';
33
- import './omml-equation-CZ6IG2ja.js';
31
+ import './document-protection-9zpIHWTE.js';
32
+ import './note-properties-CkAk7g-n.js';
33
+ import './omml-equation-DuczgG5o.js';
34
+ import './semantic-record-queries-1du6lQqS.js';
34
35
 
35
36
  declare function toEditorFontError(error: unknown): EditorFontError;
36
37
  declare function createLayoutShaping(configuration: FontConfiguration, instrumentation?: LayoutShapingInstrumentation): Promise<LayoutShapingOptions>;
@@ -709,7 +710,7 @@ declare function calendarDateFromText(text: string, locale?: string): string | n
709
710
  declare function calendarMonthNames(locale?: string): readonly string[];
710
711
 
711
712
  /** Shared focus and placement for engine and host value pop-ups. */
712
- /** Place an absolute popup against an anchor, within the sheet and visible scroller. @public */
713
+ /** Place a popup against an anchor, within the viewport or its visible sheet. @public */
713
714
  declare function positionContentControlPopup(panel: HTMLElement, anchor: HTMLElement): void;
714
715
  /** Follow scrolling, zoom, and size changes. Call the returned cleanup when the popup closes. @public */
715
716
  declare function observeContentControlPopup(panel: HTMLElement, anchor: HTMLElement): () => void;
package/dist/editor.js CHANGED
@@ -1 +1 @@
1
- export{_a as AUTO_ZOOM_MODE,db as BROWSER_AUTOMATION_CAPABILITIES,wa as CHROME_GROUPS,Aa as CHROME_MENUS,Da as CHROME_UNAVAILABLE_KEY,Ia as CONTENT_CONTROL_PICTURE_ACCEPT,Mb as ChromeExportError,Ob as ChromePrintError,Y as DEFAULT_TABLE_CHROME_DRAFT,Db as DocumentRefreshError,Q as EMU_PER_POINT,$a as FIT_WIDTH_ZOOM_MODE,Fb as HIGHLIGHT_REFRESH_MS,O as IMAGE_OVERLAY_NUDGE_PT,P as IMAGE_OVERLAY_NUDGE_SHIFT_PT,c as LOADING_SNAPSHOT,vb as NO_MIXED_FIELDS,l as PX_PER_CM,k as PX_PER_INCH,Hb as SEARCH_DEBOUNCE_MS,Kb as SEARCH_HIGHLIGHT_PRIORITY,Jb as SEARCH_HIGHLIGHT_SET,Ib as SEARCH_MATCH_LIMIT,r as SNAP_TWIPS_CM,q as SNAP_TWIPS_INCH,ca as TABLE_BORDER_STYLE_OPTIONS,ba as TABLE_BORDER_TARGET_OPTIONS,da as TABLE_BORDER_WIDTH_OPTIONS,Z as TABLE_CHROME_SLOT_IDS,rb as TAB_ALIGNMENT_LABELS,p as TWIPS_PER_CM,o as TWIPS_PER_INCH,Za as ZOOM_MAX,Ya as ZOOM_MIN,zb as alignmentAfterDirectionChange,ea as applyTableChromePick,y as applyThemeShade,x as applyThemeTint,Cb as bindHistoryGroup,d as blankDocumentBytes,Qa as calendarDateForKey,Sa as calendarDateFromText,Ra as calendarDateText,Oa as calendarMonth,Ta as calendarMonthNames,Ma as calendarMonthTitle,Na as calendarWeekdays,M as canExecuteImageCommand,L as captureImageMutationPreconditions,yb as changedFields,Ca as chromeControlCount,Ba as chromeMenuSlots,ia as chromeProbeForSlot,xa as chromeSlotId,oa as chromeSlotIsToggle,f as clipboardDropLandsText,e as clipboardPasteLandsContent,v as commandExecOptions,ja as commandForSlot,la as commandForSlotValue,ka as commandForTableChromeSlotValue,lb as computeImageResizeResult,V as computeMovedImagePosition,U as computeResizedImageExtentEmu,Ga as contentControlPopupKeyDown,Ha as contentControlPopupOpener,eb as createBrowserAutomationHost,Ua as createContentControlListNavigation,Eb as createDocumentRefresh,Lb as createDocumentSearch,cb as createDocxEditor,i as createFontSource,mb as createImageOverlayScrollPort,b as createLayoutShaping,I as cropPercentFromCropPermille,G as cropPercentFromPermille,D as cropPercentFromSourceCrop,H as cropPermilleFromCropPercent,F as cropPermilleFromPercent,hb as cssPixelsToLayoutPoints,j as customFonts,ya as defaultChromeGroups,_ as defaultTableLabel,u as dragIndent,va as editorCommandKey,T as emuToOverlayPoints,Wa as equationAtPosition,N as executeImageCommand,nb as finalizeImageOverlayInteraction,La as firstDayOfWeek,pb as formatInches,za as formattingBarChromeGroups,m as generateRulerTicks,s as handlePosition,qb as inchesToTwips,Pb as isChromePrintShortcut,W as isStaleImageInteractionCommit,$ as isTableChromeSlot,Ja as isoDateOf,gb as layoutPointsToCssPixels,h as loadFonts,A as lowerColorValueForBorder,B as lowerColorValueForFill,wb as mixedFieldsOf,Xa as mountPaginatedSurface,Fa as observeContentControlPopup,ib as overlayFrameToSheetCssPixels,jb as overlayHostOrigin,Ka as parseIsoDate,g as partOfNodeId,S as pointsToEmu,Ea as positionContentControlPopup,fa as probeTableChromeCommand,kb as resizePreservesAspect,C as resolveColorValueToCss,z as resolveThemeColorHex,ab as resolveZoomMode,n as rulerPageBox,Nb as runChromeExport,Qb as runChromePrint,sa as runSave,qa as runTableChromeCommand,ua as runTableCommand,ra as runToolbarCommand,xb as sameTabStops,bb as sameZoomMode,ub as seedFields,R as selectedDrawingOverlayTargetOf,K as selectedImageStateOf,Pa as shiftMonth,tb as signedFirstLineOf,t as snapTwips,E as sourceCropFromCropPercent,sb as specialOf,Va as surfaceExtent,fb as surfacePaintScale,ha as tableChromeIconPaths,ga as tableChromeLabelKeyForTarget,ma as tableChromeToolbarState,aa as tableChromeVisible,X as tableCommandState,ta as tableCommandToolbarState,a as toEditorFontError,na as toolbarCommandState,pa as toolbarCommandStates,Bb as trapTabWithin,ob as twipsToInches,J as validateImageCropPercent,w as validateThemeModifier,Gb as watchHighlights,Ab as withTabStop}from'./chunk-CDGVVEUK.js';export{a as resolveEditorModules}from'./chunk-AJCCS53D.js';import'./chunk-FZJTQPH4.js';export{h as FONT_RESOLVER_BRAND,g as FONT_RESOLVER_MARK_KEY,c as MAX_RESOLVER_FAMILIES,d as WORD_DEFAULT_FONT,e as composeFontConfiguration,k as composeFontOrigins,i as defineFontResolver,j as isFontResolver}from'./chunk-ILUE2SI5.js';export{r as disposeLayoutShaping}from'./chunk-4B3SXBV6.js';import'./chunk-RIYSCEFQ.js';import'./chunk-47ZJEEBT.js';import'./chunk-XUJINXW6.js';import'./chunk-VOVDX7GW.js';import'./chunk-V7LBEUVW.js';import'./chunk-IZT3C23R.js';import'./chunk-N5WE5O5Q.js';import'./chunk-SNN53UPD.js';import'./chunk-VE7YBFQD.js';import'./chunk-6JIJOZDW.js';import'./chunk-WVJRO4WY.js';export{m as DEFAULT_IMAGE_RESOURCE_LIMITS,lj as DRAWING_REL_FROM_H,mj as DRAWING_REL_FROM_V,fd as IMAGE_WRAP_TARGETS,Yh as TEXT_FORM_FORMATS,oj as positionInputFromPropertiesCommand,nj as propertiesCommandHasPositionFields,n as resolveImageResourceLimits,Ad as resolveSvgIntrinsicSize,wd as sniffImageMime,kj as validateDrawingPositionInput,Bd as validateRasterHeader,pj as validateSetImagePositionCommand}from'./chunk-Z65JJLLF.js';import'./chunk-S6J4O5XP.js';
1
+ export{_a as AUTO_ZOOM_MODE,db as BROWSER_AUTOMATION_CAPABILITIES,wa as CHROME_GROUPS,Aa as CHROME_MENUS,Da as CHROME_UNAVAILABLE_KEY,Ia as CONTENT_CONTROL_PICTURE_ACCEPT,Mb as ChromeExportError,Ob as ChromePrintError,Y as DEFAULT_TABLE_CHROME_DRAFT,Db as DocumentRefreshError,Q as EMU_PER_POINT,$a as FIT_WIDTH_ZOOM_MODE,Fb as HIGHLIGHT_REFRESH_MS,O as IMAGE_OVERLAY_NUDGE_PT,P as IMAGE_OVERLAY_NUDGE_SHIFT_PT,c as LOADING_SNAPSHOT,vb as NO_MIXED_FIELDS,l as PX_PER_CM,k as PX_PER_INCH,Hb as SEARCH_DEBOUNCE_MS,Kb as SEARCH_HIGHLIGHT_PRIORITY,Jb as SEARCH_HIGHLIGHT_SET,Ib as SEARCH_MATCH_LIMIT,r as SNAP_TWIPS_CM,q as SNAP_TWIPS_INCH,ca as TABLE_BORDER_STYLE_OPTIONS,ba as TABLE_BORDER_TARGET_OPTIONS,da as TABLE_BORDER_WIDTH_OPTIONS,Z as TABLE_CHROME_SLOT_IDS,rb as TAB_ALIGNMENT_LABELS,p as TWIPS_PER_CM,o as TWIPS_PER_INCH,Za as ZOOM_MAX,Ya as ZOOM_MIN,zb as alignmentAfterDirectionChange,ea as applyTableChromePick,y as applyThemeShade,x as applyThemeTint,Cb as bindHistoryGroup,d as blankDocumentBytes,Qa as calendarDateForKey,Sa as calendarDateFromText,Ra as calendarDateText,Oa as calendarMonth,Ta as calendarMonthNames,Ma as calendarMonthTitle,Na as calendarWeekdays,M as canExecuteImageCommand,L as captureImageMutationPreconditions,yb as changedFields,Ca as chromeControlCount,Ba as chromeMenuSlots,ia as chromeProbeForSlot,xa as chromeSlotId,oa as chromeSlotIsToggle,f as clipboardDropLandsText,e as clipboardPasteLandsContent,v as commandExecOptions,ja as commandForSlot,la as commandForSlotValue,ka as commandForTableChromeSlotValue,lb as computeImageResizeResult,V as computeMovedImagePosition,U as computeResizedImageExtentEmu,Ga as contentControlPopupKeyDown,Ha as contentControlPopupOpener,eb as createBrowserAutomationHost,Ua as createContentControlListNavigation,Eb as createDocumentRefresh,Lb as createDocumentSearch,cb as createDocxEditor,i as createFontSource,mb as createImageOverlayScrollPort,b as createLayoutShaping,I as cropPercentFromCropPermille,G as cropPercentFromPermille,D as cropPercentFromSourceCrop,H as cropPermilleFromCropPercent,F as cropPermilleFromPercent,hb as cssPixelsToLayoutPoints,j as customFonts,ya as defaultChromeGroups,_ as defaultTableLabel,u as dragIndent,va as editorCommandKey,T as emuToOverlayPoints,Va as equationAtPosition,N as executeImageCommand,nb as finalizeImageOverlayInteraction,La as firstDayOfWeek,pb as formatInches,za as formattingBarChromeGroups,m as generateRulerTicks,s as handlePosition,qb as inchesToTwips,Pb as isChromePrintShortcut,W as isStaleImageInteractionCommit,$ as isTableChromeSlot,Ja as isoDateOf,gb as layoutPointsToCssPixels,h as loadFonts,A as lowerColorValueForBorder,B as lowerColorValueForFill,wb as mixedFieldsOf,Xa as mountPaginatedSurface,Fa as observeContentControlPopup,ib as overlayFrameToSheetCssPixels,jb as overlayHostOrigin,Ka as parseIsoDate,g as partOfNodeId,S as pointsToEmu,Ea as positionContentControlPopup,fa as probeTableChromeCommand,kb as resizePreservesAspect,C as resolveColorValueToCss,z as resolveThemeColorHex,ab as resolveZoomMode,n as rulerPageBox,Nb as runChromeExport,Qb as runChromePrint,sa as runSave,qa as runTableChromeCommand,ua as runTableCommand,ra as runToolbarCommand,xb as sameTabStops,bb as sameZoomMode,ub as seedFields,R as selectedDrawingOverlayTargetOf,K as selectedImageStateOf,Pa as shiftMonth,tb as signedFirstLineOf,t as snapTwips,E as sourceCropFromCropPercent,sb as specialOf,Wa as surfaceExtent,fb as surfacePaintScale,ha as tableChromeIconPaths,ga as tableChromeLabelKeyForTarget,ma as tableChromeToolbarState,aa as tableChromeVisible,X as tableCommandState,ta as tableCommandToolbarState,a as toEditorFontError,na as toolbarCommandState,pa as toolbarCommandStates,Bb as trapTabWithin,ob as twipsToInches,J as validateImageCropPercent,w as validateThemeModifier,Gb as watchHighlights,Ab as withTabStop}from'./chunk-UBLUVNZR.js';export{a as resolveEditorModules}from'./chunk-O5INAWZQ.js';import'./chunk-7IGCWG4H.js';export{d as DEFAULT_FONT,i as FONT_RESOLVER_BRAND,h as FONT_RESOLVER_MARK_KEY,c as MAX_RESOLVER_FAMILIES,e as WORD_DEFAULT_FONT,f as composeFontConfiguration,n as composeFontOrigins,j as defineFontResolver,k as isFontResolver}from'./chunk-IGR23DV2.js';export{r as disposeLayoutShaping}from'./chunk-JSIX2EOH.js';import'./chunk-RIYSCEFQ.js';import'./chunk-S74GRBNE.js';import'./chunk-KAXOGCGA.js';export{Sa as DEFAULT_REVISION_MARKUP,Ra as REVISION_MARKUP_COLORS,Ta as resolveRevisionMarkup}from'./chunk-VIPMGGUT.js';import'./chunk-7MYITTAH.js';import'./chunk-HAQ72KD7.js';import'./chunk-ZU7IVN6G.js';import'./chunk-6ZQMII6V.js';import'./chunk-GWQJ5774.js';import'./chunk-6JIJOZDW.js';import'./chunk-DNXVNQEO.js';export{m as DEFAULT_IMAGE_RESOURCE_LIMITS,Oj as DRAWING_REL_FROM_H,Pj as DRAWING_REL_FROM_V,pd as IMAGE_WRAP_TARGETS,wi as TEXT_FORM_FORMATS,Rj as positionInputFromPropertiesCommand,Qj as propertiesCommandHasPositionFields,n as resolveImageResourceLimits,Ud as resolveSvgIntrinsicSize,Qd as sniffImageMime,Nj as validateDrawingPositionInput,Vd as validateRasterHeader,Sj as validateSetImagePositionCommand}from'./chunk-UMRSBLO7.js';import'./chunk-S6J4O5XP.js';
package/dist/export.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkB7SYEMZ7_cjs=require('./chunk-B7SYEMZ7.cjs'),chunkKJLPVGSX_cjs=require('./chunk-KJLPVGSX.cjs'),chunkY3TPAITU_cjs=require('./chunk-Y3TPAITU.cjs'),chunkLF5LPZOP_cjs=require('./chunk-LF5LPZOP.cjs'),chunk42N7OV3G_cjs=require('./chunk-42N7OV3G.cjs');require('./chunk-BME2KUNL.cjs');var chunkH7XMRUAO_cjs=require('./chunk-H7XMRUAO.cjs'),chunk5MWFZ7F4_cjs=require('./chunk-5MWFZ7F4.cjs');function I(e,o,t){if(o.environment.features.smcp!==1||!/\p{Ll}/u.test(o.text))return t;let n={...o,environment:{...o.environment,features:{...o.environment.features,smcp:0}}},r=e.shape(n);if(t.glyphs.length!==r.glyphs.length||t.glyphs.some((d,c)=>d.id!==r.glyphs[c]?.id))return t;let i=[],s=0;for(let d of o.text){let c=d.toUpperCase()!==d,y=i.at(-1);y&&(y.lower===c||/\p{M}/u.test(d))?y.text+=d:i.push({text:d,start:s,lower:c}),s+=d.length;}let a=[],u=[],p=[],l=true,g=0;for(let d of o.environment.direction==="rtl"?i.reverse():i){let c=d.lower?.8:1,y=[],R=[],b="",f=d.start;for(let F of d.text){let m=d.lower?F.toUpperCase():F;for(let E=0;E<m.length;E++)y.push(f),R.push(f+F.length);b+=m,f+=F.length;}let h=e.shape({...n,text:b}),x=a.length;for(let[F,m]of h.glyphs.entries()){let E=h.exactAdvancesX?.[F];E===void 0?l=false:p.push(E*c),a.push({...m,cluster:y[m.cluster]??d.start,originX:chunkLF5LPZOP_cjs.o(g+Math.round(m.originX*c)),originY:chunkLF5LPZOP_cjs.o(Math.round(m.originY*c)),offsetX:chunkLF5LPZOP_cjs.o(Math.round(m.offsetX*c)),offsetY:chunkLF5LPZOP_cjs.o(Math.round(m.offsetY*c)),advanceX:chunkLF5LPZOP_cjs.o(Math.round(m.advanceX*c)),advanceY:chunkLF5LPZOP_cjs.o(Math.round(m.advanceY*c)),drawScale:c});}for(let F of h.clusters){let m=y[F.textStart]??d.start,E=R[F.textEnd-1]??f,L=chunkLF5LPZOP_cjs.o(Math.round(F.advance*c)),A=u.at(-1);A&&A.textStart===m&&A.textEnd===E?u[u.length-1]={...A,glyphEnd:x+F.glyphEnd,advance:chunkLF5LPZOP_cjs.o(A.advance+L),caretEdges:[chunkLF5LPZOP_cjs.o(0),chunkLF5LPZOP_cjs.o(A.advance+L)]}:u.push({...F,textStart:m,textEnd:E,glyphStart:x+F.glyphStart,glyphEnd:x+F.glyphEnd,advance:L,caretEdges:F.caretEdges.map(G=>chunkLF5LPZOP_cjs.o(Math.round(G*c))),fontSpan:0});}g+=h.glyphs.reduce((F,m)=>F+Math.round(m.advanceX*c),0);}return {...t,glyphs:a,clusters:u,fontSpans:[{...t.fontSpans[0],glyphStart:0,glyphEnd:a.length}],exactAdvancesX:l&&p.length===a.length?p:void 0}}var nt=new WeakMap;function Nt(e){let o=nt.get(e);return o===void 0&&(o=Ct(e.bytes,e.faceIndex),nt.set(e,o)),o}var _t=new Set(["COLR","CBDT","sbix"]),Mt=512;function Ct(e,o){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<12)return false;let n=0;if(rt(e,0)==="ttcf"){let i=t.getUint32(8);if(o<0||o>=i||12+4*o+4>e.byteLength||(n=t.getUint32(12+4*o),n+12>e.byteLength))return false}let r=Math.min(t.getUint16(n+4),Mt);for(let i=0;i<r;i++){let s=n+12+i*16;if(s+4>e.byteLength)return false;if(_t.has(rt(e,s)))return true}return false}function rt(e,o){return String.fromCharCode(e[o],e[o+1],e[o+2],e[o+3])}var Ut=/\p{Emoji_Presentation}|️/u;function Bt(e){return Ut.test(e)}function q(e,o){if(e.length<2)return e;let t=e.filter(Nt);if(t.length===0||t.length===e.length)return e;let n=e.filter(r=>!t.includes(r));return Bt(o)?[...t,...n]:[...n,...t]}var qt=2048;function it(e,o,t,n){if(!t.clusters.length||t.clusters.length>qt)return null;let r=(f,h)=>{let{context:x,...F}=o,m={...F,text:h,environment:chunkLF5LPZOP_cjs.q({...o.environment,font:f})};return I(e,m,e.shape(m))},i=[],s=new Map;for(let f of [...t.clusters].sort((h,x)=>h.textStart-x.textStart)){let h=o.environment.font,x=o.text.slice(f.textStart,f.textEnd),F=i.at(-1);if(/^[\uFE0E\uFE0F]$/.test(x)&&F&&F.end===f.textStart){F.end=f.textEnd;continue}if(o.environment.script==="Hebr"&&/^\s+$/u.test(x)&&F&&F.font!==o.environment.font&&F.end===f.textStart){F.end=f.textEnd;continue}if(t.glyphs.slice(f.glyphStart,f.glyphEnd).some(E=>E.id===0)){let E=o.text.slice(f.textStart,f.textEnd+1),L=s.get(x)??q(n,E).find(A=>{try{return !r(A,x).glyphs.some(G=>G.id===0)}catch{return false}});if(!L)return null;s.set(x,L),h=L;}let m=i.at(-1);m&&m.font===h&&m.end===f.textStart?m.end=f.textEnd:i.push({start:f.textStart,end:f.textEnd,font:h});}let a=[],u=[],p=[],l=[],g=true,d=0,c=0,y=0,R=0,b=0;for(let f of o.environment.direction==="rtl"?i.reverse():i){let h=r(f.font,o.text.slice(f.start,f.end));if(h.glyphs.some(m=>m.id===0))return null;let x=a.length,F=p.length;for(let m of h.glyphs)a.push({...m,cluster:f.start+m.cluster,originX:chunkLF5LPZOP_cjs.o(d+m.originX),originY:chunkLF5LPZOP_cjs.o(c+m.originY)});if(h.exactAdvancesX===void 0)g=false;else for(let m of h.exactAdvancesX)l.push(m);for(let m of h.clusters)u.push({...m,textStart:f.start+m.textStart,textEnd:f.start+m.textEnd,glyphStart:x+m.glyphStart,glyphEnd:x+m.glyphEnd,fontSpan:F});h.glyphs.length&&p.push({font:f.font,glyphStart:x,glyphEnd:a.length,fallbackIndex:f.font===o.environment.font?null:n.indexOf(f.font)}),d+=h.glyphs.reduce((m,E)=>m+E.advanceX,0),c+=h.glyphs.reduce((m,E)=>m+E.advanceY,0),y=Math.max(y,h.metrics.ascent),R=Math.max(R,h.metrics.descent),b=Math.max(b,h.metrics.lineGap);}return chunkLF5LPZOP_cjs.t({...t,glyphs:a,clusters:u,fontSpans:p,exactAdvancesX:g&&l.length===a.length?l:void 0,metrics:{ascent:chunkLF5LPZOP_cjs.o(y),descent:chunkLF5LPZOP_cjs.o(R),lineGap:chunkLF5LPZOP_cjs.o(b)}},{...o.environment,fallbackOrder:n})}var jt=new Map([["Beng",["bng2","beng"]],["Deva",["dev2","deva"]],["Gujr",["gjr2","gujr"]],["Guru",["gur2","guru"]],["Knda",["knd2","knda"]],["Mlym",["mlm2","mlym"]],["Orya",["ory2","orya"]],["Taml",["tml2","taml"]],["Telu",["tel2","telu"]],["Nkoo",["nko "]]]),zt=512,at=new WeakMap;function Ht(e,o){let t=new Set,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=c=>c+2<=n.byteLength?n.getUint16(c):-1,i=c=>c+4<=n.byteLength?n.getUint32(c):-1,s=c=>c+4<=n.byteLength?String.fromCharCode(n.getUint8(c),n.getUint8(c+1),n.getUint8(c+2),n.getUint8(c+3)):"",a=0;if(s(0)==="ttcf"){let c=i(8);if(c<0||o<0||o>=c||(a=i(12+o*4),a<0))return t}let u=r(a+4);if(u<0||u>1024)return t;let p=-1;for(let c=0;c<u;c+=1){let y=a+12+c*16;if(s(y)==="GSUB"){p=i(y+8);break}}if(p<0)return t;let l=r(p+4);if(l<=0)return t;let g=p+l,d=r(g);if(d<0)return t;for(let c=0;c<Math.min(d,zt);c+=1){let y=s(g+2+c*6);y&&t.add(y);}return t}function Xt(e,o){let t=at.get(e);return t||(t=Ht(e.bytes,e.faceIndex),at.set(e,t)),(jt.get(o)??[o.toLowerCase()]).some(r=>t.has(r))}function st(e,o){let t=e.filter(n=>Xt(n,o));return t.length===0||t.length===e.length?e:[...t,...e.filter(n=>!t.includes(n))]}function J(e,o,t){if(!o.text.includes("\u2011"))return t;let n=new Set(t.glyphs.filter(i=>i.id===0).map(i=>i.cluster));if(!n.size)return t;let r=o.text.replace(/\u2011/g,(i,s)=>n.has(s)?"-":i);if(r===o.text)return t;try{let i=e.shape({...o,text:r});return chunkLF5LPZOP_cjs.t({...i,text:o.text},o.environment)}catch{return t}}function lt(e,o){if(o.length===0)return e;if(o.length>16)throw new RangeError("At most 16 glyph fallback faces are supported");let t=o.map(a=>e.fonts.resolve(a)).filter(a=>!(a instanceof chunkLF5LPZOP_cjs.e)),n={shape(a){return J(e.shaper,a,e.shaper.shape(a))}},r=new WeakMap,i={shape(a){let u=e.shaper.shape(a),p=r.get(u);if(p&&p.input.text===a.text&&p.input.fontSizeHalfPoints===a.fontSizeHalfPoints&&p.input.bidiLevel===a.bidiLevel&&p.input.context?.before===a.context?.before&&p.input.context?.after===a.context?.after&&p.input.environment===a.environment)return p.run;let l=s(a,J(e.shaper,a,u));return r.set(u,{input:a,run:l}),l}},s=(a,u)=>{let p=I(n,a,u);if(!p.glyphs.some(l=>l.id===0)||/^[\t\n\r\f]*$/.test(a.text))return p;if(/^(Latn|Cyrl|Grek|Hebr|Hani|Hira|Kana|Hang|Zyyy|Zinh)$/.test(a.environment.script)){let l=it(n,a,p,t);if(l)return l}for(let l of st(q(t,a.text),a.environment.script))if(!(l.hash===a.environment.font.hash&&l.faceIndex===a.environment.font.faceIndex))try{let g={...a,environment:chunkLF5LPZOP_cjs.q({...a.environment,font:l})},d=I(n,g,n.shape(g));if(!d.glyphs.some(c=>c.id===0))return d}catch{}return p};return {...e,shaper:i}}var Q=chunkLF5LPZOP_cjs.c;function ee(e){return typeof e.admittedFontFace=="function"}var Gt=Object.freeze([{weight:400,style:"normal"},{weight:700,style:"normal"},{weight:400,style:"italic"},{weight:700,style:"italic"}]);function j(e){return Object.freeze({family:e.family,weight:e.weight,style:e.style})}var dt=new WeakMap;function z(e){let o=dt.get(e);return o||dt.set(e,o=Vt(e)),o}function Vt(e){let o=e.substitution;return Object.freeze({id:e.id,identity:e.identity,family:e.family,request:j(e.request),byteLength:e.byteLength,hash:e.hash,faceIndex:e.faceIndex,substitution:o?Object.freeze({requested:j(o.requested),resolved:j(o.resolved),...o.lineMetrics?{lineMetrics:Object.freeze({...o.lineMetrics})}:{}}):null})}function Wt(e){return Object.freeze({...z(e),bytes:chunkLF5LPZOP_cjs.j(e)})}function Yt(e,o){if(!e)return null;try{let t=e(o);return !t||t instanceof chunkLF5LPZOP_cjs.e?null:Wt(t)}catch{return null}}function ct(e){return o=>{if(e.status()!=="active")throw e.unavailable();return Yt(e.resolve(),o)}}function $t(e){return Object.freeze(e.slice(0,Q).map(o=>Object.freeze({request:j(o.request),partName:o.partName,reason:o.reason})))}function te(e,o,t,n,r=[]){let i=new Map;for(let a of [...e,o]){let u=a.toLowerCase();i.has(u)||i.set(u,a);}let s=[...i.values()].map(a=>{let u=[];for(let p of Gt){let l=n?.({family:a,...p});!l||l instanceof chunkLF5LPZOP_cjs.e||u.push(Object.freeze({...p,sourceFamily:l.family,via:l.substitution?"substitution":"direct",identity:l.identity,id:l.id,hash:l.hash,faceIndex:l.faceIndex,substitution:l.substitution}));}return Object.freeze({family:a,coverage:u.length===4?"complete":u.length>0?"partial":"none",faces:Object.freeze(u)})});return Object.freeze({requestedFamilies:Object.freeze([...e]),defaultFamily:o,families:Object.freeze(s),originFailures:Object.freeze([...t]),droppedEmbeddedFonts:$t(r)})}function oe(e,o){if(o.onFontResolution){try{let t=o.onFontResolution(e);Promise.resolve(t).catch(n=>{console.warn("[fonts] font-resolution diagnostics callback failed",n);});}catch(t){console.warn("[fonts] font-resolution diagnostics callback failed",t);}return}for(let t of e.originFailures)console.warn("[fonts] a document export font origin failed and was skipped",t);for(let t of e.droppedEmbeddedFonts??[])console.warn("[fonts] a document embedded font face was dropped during export",t);}function ne(e,o){if(o.fontPolicy!=="strict"||e.originFailures.length===0&&e.families.every(n=>n.coverage==="complete"))return;let t=e.families.filter(n=>n.coverage!=="complete").map(n=>n.family).join(", ");throw new chunkY3TPAITU_cjs.d("layoutFailed",`Strict font policy refused export${t?`; incomplete families: ${t}`:"; a font origin failed"}`)}function H(){return new Map}function re(e,o,t,n){if(t.trim().length===0)return null;let r={family:t,weight:n.bold?700:400,style:n.italic?"italic":"normal"},i=chunkLF5LPZOP_cjs.i(r),s=o.get(i);if(!s){try{s=e.fonts.resolve(r);}catch{return null}o.set(i,s);}return s instanceof chunkLF5LPZOP_cjs.e?null:s}function ut(e,o,t){let n=t.fontFamily??e.defaultFont.family;return re(e,o,n,t)}function ie(e){return typeof e.shapeLaidOutText=="function"}function ae(e){let o=H(),t=new WeakMap;return n=>{let r=chunkLF5LPZOP_cjs.sa(n.style,n.fontSlot),i=chunkLF5LPZOP_cjs.$(n.text,r);if(i.length===0)return null;let s=r.fontFamily??e.defaultFont.family,a=re(e,o,s,r);if(!a)return null;try{if(r.smallCaps&&!chunkKJLPVGSX_cjs.$(e.shaper,e.environment,a,r,t))return null;let u=chunkKJLPVGSX_cjs._(e.shaper,e.environment,a,r,i);return Object.freeze({run:u,font:z(u.fontSpans[0]?.font??a),...u.fontSpans.length>1?{fonts:Object.freeze(u.fontSpans.map(p=>z(p.font)))}:{},fixedPointScale:e.environment.fixedPointScale})}catch{return null}}}function pt(e){return o=>{if(e.status()!=="active")throw e.unavailable();return e.shaping()?.shapeLaidOutText(o)??null}}var N=new Map,X=new WeakMap,se=0,_,le=32,ft=chunkLF5LPZOP_cjs.d;function mt(){if(_)return _;let e=(async()=>(await chunkKJLPVGSX_cjs.d(),chunkKJLPVGSX_cjs.h(chunkKJLPVGSX_cjs.i)))();return _=e,e.catch(()=>{_===e&&(_=void 0);}),e}function yt(e){let o=H();return chunkKJLPVGSX_cjs.ba(e,{resolveFont(t){return ut(e,o,t)},fallback:chunkLF5LPZOP_cjs.fa()})}async function ht(e,o,t=[],n=false){if(!chunkKJLPVGSX_cjs.k(e))throw new TypeError("Session exporter shaping requires a prepared font handle");let r=await mt(),i=lt(await chunkKJLPVGSX_cjs.r(e,r,chunkKJLPVGSX_cjs.i,o,n),t);return Object.freeze({createMeasurer:()=>yt(i),resolveFont:s=>i.fonts.resolve(s),shapeLaidOutText:ae(i),producer:["node-export-session",JSON.stringify(t),e.fingerprint,i.operation.shapingHash,`producer:${i.operation.producerVersion}`,`fallback:${chunkLF5LPZOP_cjs.ea}`].join("|"),extensionFingerprint:e.fingerprint})}function Kt(e,o){if(!chunkKJLPVGSX_cjs.k(e))return Promise.reject(new TypeError("Shared exporter shaping requires a prepared font handle"));let t=X.get(e);if(t)return t;let n=chunkKJLPVGSX_cjs.m(e),r=N.get(n);if(!r){if(N.size>=le)return Promise.reject(new RangeError(`Shared exporter shaping is limited to ${le} process-wide configurations`));r=(async()=>{let u=chunkKJLPVGSX_cjs.l(e).sources.reduce((l,g)=>l+(g.availability==="forbidden"?0:g.bytes.byteLength),0);if(se+u>ft)throw new RangeError(`Shared exporter shaping font bytes are limited to ${ft} process-wide`);se+=u;let p;try{let l=await mt();p=await chunkKJLPVGSX_cjs.r(e,l,chunkKJLPVGSX_cjs.i,o);}catch(l){throw se-=u,l}return Object.freeze({createMeasurer:()=>yt(p),shapeLaidOutText:ae(p),shapingHash:p.operation.shapingHash,producerVersion:p.operation.producerVersion})})(),N.set(n,r),r.catch(()=>{N.get(n)===r&&N.delete(n);});}let i=e.fingerprint,s=r.then(a=>Object.freeze({createMeasurer:a.createMeasurer,shapeLaidOutText:a.shapeLaidOutText,producer:["node-export",i,a.shapingHash,`producer:${a.producerVersion}`,`fallback:${chunkLF5LPZOP_cjs.ea}`].join("|"),extensionFingerprint:i}));return X.set(e,s),s.catch(()=>{X.get(e)===s&&X.delete(e);}),s}var Zt="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";function Jt(e){let o=e.currentPackage(),t=(o.relationships.get(o.mainDocumentPart)??[]).find(r=>r.type===Zt),n;if(t){let r=chunk5MWFZ7F4_cjs.E(t);r.mode==="Internal"&&r.target.ok&&(n=o.parts.get(r.target.partName));}return n??=o.parts.get("/word/fontTable.xml"),chunk5MWFZ7F4_cjs.ue(o,n)}function gt(e,o){let t=Jt(e);if(t.length!==0)return chunkB7SYEMZ7_cjs.i(n=>{let r=new Set((n.resolvedFaces??[]).map(s=>chunkLF5LPZOP_cjs.i(s))),i=chunkB7SYEMZ7_cjs.o(t,{maxFontBytes:chunkLF5LPZOP_cjs.b,aggregateBudget:Qt(n),shadowedRequests:r});if(o)for(let s of i.dropped){if(o.dropped.length>=Q)break;o.dropped.push(s);}return {sources:i.sources}})}function Qt(e){let o=e.committedSourceBytes;return o===void 0||!Number.isSafeInteger(o)||o<=0?chunkLF5LPZOP_cjs.d:Math.max(0,chunkLF5LPZOP_cjs.d-o)}function eo(e){return ee(e)&&ie(e)}var w=0,xt=Symbol("font-resolution-timeout");function to(e){let o=0,t=false;return e?.(w),{reserve:r=>{if(t)throw new Error("Document font-byte lease is already released");if(w+r>chunkLF5LPZOP_cjs.d)throw new chunkY3TPAITU_cjs.d("layoutFailed",`Active document export font bytes are limited to ${chunkLF5LPZOP_cjs.d}; requested ${r} bytes with ${w} bytes already active`);w+=r,o+=r,e?.(w);let i=false;return ()=>{i||t||(i=true,w-=r,o-=r,e?.(w));}},release:()=>{t||(t=true,w-=o,o=0,e?.(w));}}}function ce(e,o){return e.attributes.find(t=>t.localName===o)?.value}function oo(e,o){return e.attributes.find(t=>t.localName===o&&(t.namespaceUri===chunk5MWFZ7F4_cjs.fa||t.namespaceUri===""))?.value}async function no(e,o){if(o.reuseAcrossRevisions===true)throw new TypeError("reuseAcrossRevisions requires a live view or caller-supplied measurer; document-aware byte sessions are immutable");if(o.signal?.aborted)return {ok:false,reason:"aborted"};let t=chunkH7XMRUAO_cjs.Ka(e);if(!t.ok)return t;let{fonts:n,lastResortFonts:r,fontResolutionTimeoutMs:i,fontPolicy:s,onFontResolution:a,glyphFallbacks:u,documentLigatures:p,...l}=o,g=Array.isArray(n)?n:[n],d=r===void 0?[]:Array.isArray(r)?r:[r],c,y;try{y=await ro(t.view,g,{signal:o.signal,timeoutMs:i??o.resourceTimeoutMs,fontPolicy:s,glyphFallbacks:u,documentLigatures:p,lastResortFonts:d,onFontResolution:E=>(c=E,a?.(E))});}catch(E){if(E instanceof chunkY3TPAITU_cjs.d&&E.code==="aborted")return {ok:false,reason:"aborted"};throw E}if(!c)throw y?.dispose(),new chunkY3TPAITU_cjs.d("layoutFailed","Document font resolution completed without publishing its evidence");let R;try{R=chunkY3TPAITU_cjs.e(t.view,{...l,reuseAcrossRevisions:!1,...y?{measurer:y.createMeasurer(),producer:o.producer??y.producer}:o.producer?{producer:o.producer}:{}});}catch(E){throw y?.dispose(),E}if(!R.ok)return y?.dispose(),R;let b=R.session,f=y,h="active",x=()=>h==="aborted"?new chunkY3TPAITU_cjs.d("aborted","Export resource settlement was aborted"):new chunkY3TPAITU_cjs.d("disposed","Export session has been disposed"),F=E=>{if(h==="active"){h=E,o.signal?.removeEventListener("abort",m);try{b.dispose();}finally{f?.dispose(),f=void 0;}}},m=()=>F("aborted");return o.signal?.addEventListener("abort",m,{once:true}),o.signal?.aborted&&m(),{ok:true,session:Object.freeze({fontResolution:c,layout:()=>h==="active"?b.layout():Promise.reject(x()),layoutFor:E=>h==="active"?b.layoutFor(E):Promise.reject(x()),validatedImageBytes:E=>h==="active"?b.validatedImageBytes(E):null,admittedFontFace:ct({status:()=>h,unavailable:x,resolve:()=>f?.resolveFont}),shapeLaidOutText:pt({status:()=>h,unavailable:x,shaping:()=>f}),dispose:()=>F("disposed")})}}async function ro(e,o,t={}){if((t.glyphFallbacks?.length??0)>16)throw new RangeError("At most 16 glyph fallback faces are supported");let n=io(t.timeoutMs),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.addEventListener("abort",i,{once:true}),t.signal?.aborted&&i();let s=setTimeout(()=>r.abort(xt),n);try{de(r.signal);let a=(async()=>{let u=to(t.onActiveFontBytesChange),p=!1;try{let l=so(e).slice(0,chunkB7SYEMZ7_cjs.c),g=[],d={dropped:[]},c=gt(e,d),y=[...o,...c?[c]:[],...t.lastResortFonts??[]],R=await chunkB7SYEMZ7_cjs.l(y,{families:[...new Set([...(t.glyphFallbacks??[]).map(x=>x.family),...l])].slice(0,chunkB7SYEMZ7_cjs.c),defaultFamily:chunkB7SYEMZ7_cjs.d.family,signal:r.signal},{onOriginFailure:x=>g.push(x),reserveOwnedBytes:u.reserve});de(r.signal);let b=chunkB7SYEMZ7_cjs.e(R??{});if(b.sources.length===0){let x=te(l,b.defaultFont.family,g,void 0,d.dropped);oe(x,t),ne(x,t);return}let f=await ht(chunkKJLPVGSX_cjs.o(b),void 0,t.glyphFallbacks,t.documentLigatures);de(r.signal);let h=te(l,b.defaultFont.family,g,f.resolveFont,d.dropped);return oe(h,t),ne(h,t),p=!0,Object.freeze({...f,dispose:u.release})}finally{p||u.release();}})();return await Promise.race([a,ao(r.signal)])}finally{clearTimeout(s),t.signal?.removeEventListener("abort",i);}}function io(e){if(e===void 0)return 6e4;if(!Number.isFinite(e)||e<=0)throw new RangeError("timeoutMs must be a positive finite number");return Math.max(1,e)}function ao(e){return new Promise((o,t)=>{let n=()=>{t(Ft(e));};e.aborted?n():e.addEventListener("abort",n,{once:true});})}function Ft(e){let o=e.reason===xt;return new chunkY3TPAITU_cjs.d(o?"timedOut":"aborted",o?"Font resolution timed out":"Font resolution was aborted",o?void 0:{cause:e.reason})}function de(e){if(e.aborted)throw Ft(e)}function so(e){let o=[e.part().root],t=[],n=[],r=new Set([e.part().name]),i=(l,g)=>{!g||r.has(g.name)||(r.add(g.name),l.push(g.root));};for(let l of e.headerFooterPartsBySection()){for(let g of l.headers.values())i(t,g);for(let g of l.footers.values())i(t,g);}for(let l of ["footnote","endnote"])n.push(...lo(e,l));let s=e.documentThemeFonts(),a={...s,major:s.major,minor:s.minor,majorEastAsia:s.majorEastAsia??null,minorEastAsia:s.minorEastAsia??null},u=new Map,p=(l,g)=>{let d=chunk42N7OV3G_cjs.d(l,e.stylesRoot(),a,uo(l,g)),c=chunkB7SYEMZ7_cjs.v(l,e.numberingRoot(),e.stylesRoot(),a);for(let y of [...d.direct,...mo(l),...c,...chunkB7SYEMZ7_cjs.s(l,e.stylesRoot(),a),...d.inherited]){let R=y.toLowerCase();u.has(R)||u.set(R,y);}};return p(o,"body"),p(t,"furniture"),p(n,"note"),[...u.values()]}function lo(e,o){let t=chunk5MWFZ7F4_cjs.pg(e.currentPackage(),o);if(!t)return [];let n=new Set(chunk5MWFZ7F4_cjs.qg(e.part()).filter(i=>i.noteKind===o).map(i=>i.noteId)),r=[];for(let i of t.root.children){if(i.kind==="textValue")continue;let s=chunk5MWFZ7F4_cjs.oc(i),a=chunk5MWFZ7F4_cjs.nc(i);(s==="separator"||s==="continuationSeparator"||a!==null&&n.has(a))&&r.push(i);}return r}var co="http://schemas.openxmlformats.org/officeDocument/2006/math";function uo(e,o){let t=new Set;for(let n of e){let r=[],i=[{node:n,context:o}];for(;i.length>0;){let{node:s,context:a}=i.pop();s.namespaceUri===chunk5MWFZ7F4_cjs.fa&&s.localName==="p"&&r.push({paragraph:s,context:a});let u=s.namespaceUri===chunk5MWFZ7F4_cjs.fa&&s.localName==="txbxContent"&&(a==="body"||a==="note")?"detached":a;for(let p=s.children.length-1;p>=0;p-=1){let l=s.children[p];l.kind!=="textValue"&&i.push({node:l,context:u});}}for(let s of r)po(s.paragraph,t,s.context);}return t}function po(e,o,t){let n=chunkLF5LPZOP_cjs.hb(),r=null,i=null,s="",a=false,u=false,p=false,l=0,g=[];for(let d=e.children.length-1;d>=0;d-=1){let c=e.children[d];c.kind!=="textValue"&&g.push({node:c,runId:null,visibility:D,containerDepth:0});}for(;g.length>0;){let{node:d,runId:c,visibility:y,containerDepth:R}=g.pop();if(R>=chunk5MWFZ7F4_cjs.na||d.namespaceUri===chunk5MWFZ7F4_cjs.fa&&d.localName==="p")continue;let b=d.namespaceUri===chunk5MWFZ7F4_cjs.fa&&d.localName==="r"?d.id:c;if(d.namespaceUri===chunk5MWFZ7F4_cjs.fa&&d.localName==="fldSimple"){let f=ce(d,"instr")??"";chunkLF5LPZOP_cjs.$c(f,{allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&fo(d)!==D&&o.add(d.id);}if(d.namespaceUri===chunk5MWFZ7F4_cjs.fa&&d.localName==="fldChar"){let f=ce(d,"fldCharType");if(f==="begin")chunkLF5LPZOP_cjs.kb(n),n.nesting===1&&(r=b,i=null,s="",a=false,u=false,p=chunk5MWFZ7F4_cjs.Je(d),l=0);else if(f==="separate"){let h=n.nesting===1;if(chunkLF5LPZOP_cjs.mb(n),h){let x=chunkLF5LPZOP_cjs.jb(n);s=x.instruction,a=x.overflow||n.nestingOverflow,i=b,u=true;}}else if(f==="end"){if(n.nesting===1){if(n.phase==="instruction"){let x=chunkLF5LPZOP_cjs.jb(n);s=x.instruction,a=x.overflow||n.nestingOverflow;}if(!a&&chunkLF5LPZOP_cjs._c(s,{hasSeparate:u,hasLegacyFormData:p,allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&l!==D){let x=i??r;x&&o.add(x);}}chunkLF5LPZOP_cjs.nb(n);}continue}if(d.namespaceUri===chunk5MWFZ7F4_cjs.fa&&(d.localName==="instrText"||d.localName==="delInstrText")){chunkLF5LPZOP_cjs.lb(n,Ot(d),d.localName==="delInstrText");continue}n.nesting>0&&chunkLF5LPZOP_cjs.ob(n)&&d.namespaceUri===chunk5MWFZ7F4_cjs.fa&&Et(d)&&(l|=y);for(let f=d.children.length-1;f>=0;f-=1){let h=d.children[f];h.kind!=="textValue"&&g.push({node:h,runId:b,visibility:y&St(d),containerDepth:chunk5MWFZ7F4_cjs.oa(d,R)});}}chunkLF5LPZOP_cjs.ib(n);}function Et(e){return e.localName==="t"||e.localName==="delText"?Ot(e).length>0:e.localName==="sym"||e.localName==="tab"||e.localName==="br"}var ue=1,bt=2,Rt=4,D=ue|bt|Rt;function fo(e){let o=[];for(let n of e.children)n.kind!=="textValue"&&o.push({node:n,visibility:D});let t=0;for(;o.length>0;){let{node:n,visibility:r}=o.pop();if(!(n.namespaceUri===chunk5MWFZ7F4_cjs.fa&&n.localName==="p")){if(n.namespaceUri===chunk5MWFZ7F4_cjs.fa&&Et(n)&&(t|=r,t===D))return t;for(let i of n.children)i.kind!=="textValue"&&o.push({node:i,visibility:r&St(n)});}}return t}function St(e){return e.namespaceUri!==chunk5MWFZ7F4_cjs.fa?D:e.localName==="ins"||e.localName==="moveTo"?ue|bt:e.localName==="del"||e.localName==="moveFrom"?ue|Rt:D}function mo(e){let o=new Map,t=n=>{let r=chunk42N7OV3G_cjs.a(n??void 0);if(r===null)return;let i=r.toLowerCase();o.has(i)||o.set(i,r);};for(let n of e){let r=[n];for(;r.length>0;){let i=r.pop();if(i.namespaceUri===co&&t(chunkLF5LPZOP_cjs._b),i.namespaceUri===chunk5MWFZ7F4_cjs.fa&&i.localName==="sym"&&t(chunk42N7OV3G_cjs.b(oo(i,"font"))),i.namespaceUri===chunk5MWFZ7F4_cjs.fa&&i.localName==="fldSimple"){let s=ce(i,"instr");t(chunkLF5LPZOP_cjs.Vc(s??"")?.font??null);}if(i.namespaceUri===chunk5MWFZ7F4_cjs.fa&&i.localName==="p")for(let s of chunkB7SYEMZ7_cjs.u(i))t(s);for(let s=i.children.length-1;s>=0;s-=1){let a=i.children[s];a.kind!=="textValue"&&r.push(a);}}}return [...o.values()]}function Ot(e){let o="",t=[...e.children].reverse();for(;t.length>0&&o.length<=256;){let n=t.pop();if(n.kind==="textValue")o+=n.value;else for(let r=n.children.length-1;r>=0;r-=1)t.push(n.children[r]);}return o}var At="FILE_TOO_LARGE",vt=8;function yo(e){return typeof e=="object"&&e!==null}function Tt(e){if(!(!yo(e)||typeof e.code!="string"))return e.code}function Lt(e){return e===""||e.toLowerCase()==="localhost"}function ho(e){try{let o=decodeURIComponent(e);return o.includes("\0")?null:o}catch{return null}}function Pt(e){let o=ho(e);if(o===null)return null;let t=[];for(let n of o.split(/[/\\]/))if(!(n===""||n===".")){if(n===".."){if(t.length===0)return null;t.pop();continue}t.push(n);}return `/${t.join("/")}`}function Dt(e){let o=Pt(e);return o===null?null:o.endsWith("/")?o:`${o}/`}function go(e){return e==="/"||/^\/[A-Za-z]:\/$/.test(e)}function xo(e){let o;try{o=typeof e=="string"?new URL(e):new URL("href"in e?e.href:String(e));}catch{throw new TypeError("trustedRoot must be an absolute file: URL")}if(o.protocol!=="file:")throw new TypeError("trustedRoot must use the file: protocol");if(o.username!==""||o.password!=="")throw new TypeError("trustedRoot must not include credentials");if(!Lt(o.host))throw new TypeError("trustedRoot must be a local file: URL");let t=Dt(o.pathname);if(t===null||go(t))throw new TypeError("trustedRoot must be a directory inside the filesystem");let n=new URL("file:///");return n.pathname=t,n}function Fo(e){if(typeof e=="string")return [e];if(typeof e=="object"&&e!==null&&"href"in e)return [e];if(Array.isArray(e))return e;throw new TypeError("trustedRoot must be an absolute file: URL")}function Eo(e){let o=Fo(e);if(o.length===0)throw new TypeError("trustedRoot must name at least one directory");if(o.length>vt)throw new TypeError(`trustedRoot must not exceed ${vt} directories`);return o.map(xo)}function bo(e){if(!Number.isSafeInteger(e)||e<=0)throw new TypeError("maxBytes must be a positive safe integer");if(e>chunkLF5LPZOP_cjs.b)throw new TypeError(`maxBytes must not exceed ${chunkLF5LPZOP_cjs.b}`);return e}function Ro(e,o){if(e.protocol!=="file:"||e.username!==""||e.password!==""||!Lt(e.host))return null;let t=Pt(e.pathname);if(t===null)return null;for(let n of o){let r=Dt(n.pathname);if(r===null||!t.startsWith(r)||t.length<=r.length)continue;let i=new URL("file:///");return i.pathname=t,i}return null}function So(e){return typeof e=="string"?new URL(e):"href"in e&&typeof e.href=="string"?new URL(e.href):new URL("url"in e?e.url:String(e))}function Oo(e,o,t){let n=t.relative(t.resolve(e),t.resolve(o));return n!==""&&!n.startsWith("..")&&!t.isAbsolute(n)}function wt(e,o,t){return e.some(n=>Oo(n,o,t))}async function vo(e,o){let t=[];for(let n of e)try{t.push(await o(n));}catch(r){if(Tt(r)==="ENOENT")continue;throw r}return t}function wo(e){return async(o,{signal:t,maxBytes:n})=>{if(t?.aborted)throw t.reason;let[{open:r,realpath:i},{constants:s},{fileURLToPath:a},u]=await Promise.all([import('fs/promises'),import('fs'),import('url'),import('path')]),p=e.map(y=>u.resolve(a(y.href))),l=u.resolve(a(typeof o=="string"?o:o.href));if(!wt(p,l,u))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let g=typeof s.O_NOFOLLOW=="number"?s.O_RDONLY|s.O_NOFOLLOW:"r",d=await r(l,g),c=()=>{d.close();};t?.addEventListener("abort",c,{once:true});try{if(t?.aborted)throw t.reason;let y=await i(l);if(!wt(await vo(p,i),y,u))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let R=(await d.stat()).size;if(!Number.isSafeInteger(R)||R<0||R>n)throw Object.assign(new Error("packaged file exceeds maxBytes"),{code:At});let b=new Uint8Array(R),f=0;for(;f<b.byteLength;){if(t?.aborted)throw t.reason;let{bytesRead:h}=await d.read(b,f,b.byteLength-f,f);if(h===0)break;f+=h;}if(t?.aborted)throw t.reason;return f===b.byteLength?b:b.slice(0,f)}catch(y){throw t?.aborted?t.reason:y}finally{t?.removeEventListener("abort",c),await d.close().catch(()=>{});}}}function Ao(e){if(e===null||typeof e!="object")throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");if(e.trustedRoot===void 0||e.maxBytes===void 0)throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");let o=Eo(e.trustedRoot),t=bo(e.maxBytes),n=e.read??wo(o),r=e.networkFetch??fetch;return(async(i,s)=>{let a=s?.signal;if(a?.aborted)throw a.reason;let u=So(i);if(u.protocol!=="file:")return r(u,s);let p=Ro(u,o);if(!p)return new Response(null,{status:404});let l=a?new AbortController:void 0,g=()=>l?.abort(a?.reason);a?.addEventListener("abort",g,{once:true});let d;try{if(d=await n(p,{maxBytes:t,...l?{signal:l.signal}:{}}),a?.aborted)throw a.reason;if(d.byteLength>t)return new Response(null,{status:413})}catch(c){if(a?.aborted)throw a.reason;if(l?.signal.aborted)throw l.signal.reason??c;if(c instanceof DOMException&&c.name==="AbortError"||c instanceof Error&&c.name==="AbortError")throw c;let y=Tt(c);if(y===At)return new Response(null,{status:413});if(y==="ENOENT"||y==="ENOTDIR"||y==="ELOOP")return new Response(null,{status:404});throw c}finally{a?.removeEventListener("abort",g);}return new Response(d,{status:200})})}
2
- Object.defineProperty(exports,"ExportResourceError",{enumerable:true,get:function(){return chunkY3TPAITU_cjs.d}});Object.defineProperty(exports,"createNodeImageDecodePort",{enumerable:true,get:function(){return chunkY3TPAITU_cjs.c}});Object.defineProperty(exports,"exportDestinationNamed",{enumerable:true,get:function(){return chunkY3TPAITU_cjs.b}});Object.defineProperty(exports,"openDocumentForExport",{enumerable:true,get:function(){return chunkY3TPAITU_cjs.e}});exports.MAX_SHARED_EXPORT_SHAPING_CONFIGURATIONS=le;exports.acquireSharedExportShaping=Kt;exports.createPackagedFileFetch=Ao;exports.hasExportAdmittedFont=ee;exports.hasExportLaidOutText=ie;exports.hasFontBackedExportCapabilities=eo;exports.openFontBackedDocumentForExport=no;
1
+ 'use strict';var chunkOHAXVTWG_cjs=require('./chunk-OHAXVTWG.cjs'),chunkHO5XFO32_cjs=require('./chunk-HO5XFO32.cjs'),chunkWRLKVNNR_cjs=require('./chunk-WRLKVNNR.cjs'),chunk55AT3MOU_cjs=require('./chunk-55AT3MOU.cjs'),chunkLZLTN5A3_cjs=require('./chunk-LZLTN5A3.cjs');require('./chunk-K246T47S.cjs');var chunkAVKVRU7Z_cjs=require('./chunk-AVKVRU7Z.cjs'),chunk4KZ6L5YF_cjs=require('./chunk-4KZ6L5YF.cjs');function _(e,o,t){if(o.environment.features.smcp!==1||!/\p{Ll}/u.test(o.text))return t;let n={...o,environment:{...o.environment,features:{...o.environment.features,smcp:0}}},r=e.shape(n);if(t.glyphs.length!==r.glyphs.length||t.glyphs.some((u,c)=>u.id!==r.glyphs[c]?.id))return t;let i=[],s=0;for(let u of o.text){let c=u.toUpperCase()!==u,y=i.at(-1);y&&(y.lower===c||/\p{M}/u.test(u))?y.text+=u:i.push({text:u,start:s,lower:c}),s+=u.length;}let a=[],p=[],l=[],d=true,g=0;for(let u of o.environment.direction==="rtl"?i.reverse():i){let c=u.lower?.8:1,y=[],R=[],b="",f=u.start;for(let F of u.text){let m=u.lower?F.toUpperCase():F;for(let E=0;E<m.length;E++)y.push(f),R.push(f+F.length);b+=m,f+=F.length;}let h=e.shape({...n,text:b}),x=a.length;for(let[F,m]of h.glyphs.entries()){let E=h.exactAdvancesX?.[F];E===void 0?d=false:l.push(E*c),a.push({...m,cluster:y[m.cluster]??u.start,originX:chunk55AT3MOU_cjs.n(g+Math.round(m.originX*c)),originY:chunk55AT3MOU_cjs.n(Math.round(m.originY*c)),offsetX:chunk55AT3MOU_cjs.n(Math.round(m.offsetX*c)),offsetY:chunk55AT3MOU_cjs.n(Math.round(m.offsetY*c)),advanceX:chunk55AT3MOU_cjs.n(Math.round(m.advanceX*c)),advanceY:chunk55AT3MOU_cjs.n(Math.round(m.advanceY*c)),drawScale:c});}for(let F of h.clusters){let m=y[F.textStart]??u.start,E=R[F.textEnd-1]??f,T=chunk55AT3MOU_cjs.n(Math.round(F.advance*c)),A=p.at(-1);A&&A.textStart===m&&A.textEnd===E?p[p.length-1]={...A,glyphEnd:x+F.glyphEnd,advance:chunk55AT3MOU_cjs.n(A.advance+T),caretEdges:[chunk55AT3MOU_cjs.n(0),chunk55AT3MOU_cjs.n(A.advance+T)]}:p.push({...F,textStart:m,textEnd:E,glyphStart:x+F.glyphStart,glyphEnd:x+F.glyphEnd,advance:T,caretEdges:F.caretEdges.map(G=>chunk55AT3MOU_cjs.n(Math.round(G*c))),fontSpan:0});}g+=h.glyphs.reduce((F,m)=>F+Math.round(m.advanceX*c),0);}return {...t,glyphs:a,clusters:p,fontSpans:[{...t.fontSpans[0],glyphStart:0,glyphEnd:a.length}],exactAdvancesX:d&&l.length===a.length?l:void 0}}var st=new WeakMap;function Ut(e){let o=st.get(e);return o===void 0&&(o=zt(e.bytes,e.faceIndex),st.set(e,o)),o}var Bt=new Set(["COLR","CBDT","sbix"]),qt=512;function zt(e,o){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<12)return false;let n=0;if(lt(e,0)==="ttcf"){let i=t.getUint32(8);if(o<0||o>=i||12+4*o+4>e.byteLength||(n=t.getUint32(12+4*o),n+12>e.byteLength))return false}let r=Math.min(t.getUint16(n+4),qt);for(let i=0;i<r;i++){let s=n+12+i*16;if(s+4>e.byteLength)return false;if(Bt.has(lt(e,s)))return true}return false}function lt(e,o){return String.fromCharCode(e[o],e[o+1],e[o+2],e[o+3])}var jt=/\p{Emoji_Presentation}|️/u;function Ht(e){return jt.test(e)}function q(e,o){if(e.length<2)return e;let t=e.filter(Ut);if(t.length===0||t.length===e.length)return e;let n=e.filter(r=>!t.includes(r));return Ht(o)?[...t,...n]:[...n,...t]}var Xt=2048;function dt(e,o,t,n){if(!t.clusters.length||t.clusters.length>Xt)return null;let r=(f,h)=>{let{context:x,...F}=o,m={...F,text:h,environment:chunk55AT3MOU_cjs.p({...o.environment,font:f})};return _(e,m,e.shape(m))},i=[],s=new Map;for(let f of [...t.clusters].sort((h,x)=>h.textStart-x.textStart)){let h=o.environment.font,x=o.text.slice(f.textStart,f.textEnd),F=i.at(-1);if(/^[\uFE0E\uFE0F]$/.test(x)&&F&&F.end===f.textStart){F.end=f.textEnd;continue}if(o.environment.script==="Hebr"&&/^\s+$/u.test(x)&&F&&F.font!==o.environment.font&&F.end===f.textStart){F.end=f.textEnd;continue}if(t.glyphs.slice(f.glyphStart,f.glyphEnd).some(E=>E.id===0)){let E=o.text.slice(f.textStart,f.textEnd+1),T=s.get(x)??q(n,E).find(A=>{try{return !r(A,x).glyphs.some(G=>G.id===0)}catch{return false}});if(!T)return null;s.set(x,T),h=T;}let m=i.at(-1);m&&m.font===h&&m.end===f.textStart?m.end=f.textEnd:i.push({start:f.textStart,end:f.textEnd,font:h});}let a=[],p=[],l=[],d=[],g=true,u=0,c=0,y=0,R=0,b=0;for(let f of o.environment.direction==="rtl"?i.reverse():i){let h=r(f.font,o.text.slice(f.start,f.end));if(h.glyphs.some(m=>m.id===0))return null;let x=a.length,F=l.length;for(let m of h.glyphs)a.push({...m,cluster:f.start+m.cluster,originX:chunk55AT3MOU_cjs.n(u+m.originX),originY:chunk55AT3MOU_cjs.n(c+m.originY)});if(h.exactAdvancesX===void 0)g=false;else for(let m of h.exactAdvancesX)d.push(m);for(let m of h.clusters)p.push({...m,textStart:f.start+m.textStart,textEnd:f.start+m.textEnd,glyphStart:x+m.glyphStart,glyphEnd:x+m.glyphEnd,fontSpan:F});h.glyphs.length&&l.push({font:f.font,glyphStart:x,glyphEnd:a.length,fallbackIndex:f.font===o.environment.font?null:n.indexOf(f.font)}),u+=h.glyphs.reduce((m,E)=>m+E.advanceX,0),c+=h.glyphs.reduce((m,E)=>m+E.advanceY,0),y=Math.max(y,h.metrics.ascent),R=Math.max(R,h.metrics.descent),b=Math.max(b,h.metrics.lineGap);}return chunk55AT3MOU_cjs.s({...t,glyphs:a,clusters:p,fontSpans:l,exactAdvancesX:g&&d.length===a.length?d:void 0,metrics:{ascent:chunk55AT3MOU_cjs.n(y),descent:chunk55AT3MOU_cjs.n(R),lineGap:chunk55AT3MOU_cjs.n(b)}},{...o.environment,fallbackOrder:n})}var Gt=new Map([["Beng",["bng2","beng"]],["Deva",["dev2","deva"]],["Gujr",["gjr2","gujr"]],["Guru",["gur2","guru"]],["Knda",["knd2","knda"]],["Mlym",["mlm2","mlym"]],["Orya",["ory2","orya"]],["Taml",["tml2","taml"]],["Telu",["tel2","telu"]],["Nkoo",["nko "]]]),Vt=512,ut=new WeakMap;function Wt(e,o){let t=new Set,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=c=>c+2<=n.byteLength?n.getUint16(c):-1,i=c=>c+4<=n.byteLength?n.getUint32(c):-1,s=c=>c+4<=n.byteLength?String.fromCharCode(n.getUint8(c),n.getUint8(c+1),n.getUint8(c+2),n.getUint8(c+3)):"",a=0;if(s(0)==="ttcf"){let c=i(8);if(c<0||o<0||o>=c||(a=i(12+o*4),a<0))return t}let p=r(a+4);if(p<0||p>1024)return t;let l=-1;for(let c=0;c<p;c+=1){let y=a+12+c*16;if(s(y)==="GSUB"){l=i(y+8);break}}if(l<0)return t;let d=r(l+4);if(d<=0)return t;let g=l+d,u=r(g);if(u<0)return t;for(let c=0;c<Math.min(u,Vt);c+=1){let y=s(g+2+c*6);y&&t.add(y);}return t}function Yt(e,o){let t=ut.get(e);return t||(t=Wt(e.bytes,e.faceIndex),ut.set(e,t)),(Gt.get(o)??[o.toLowerCase()]).some(r=>t.has(r))}function ct(e,o){let t=e.filter(n=>Yt(n,o));return t.length===0||t.length===e.length?e:[...t,...e.filter(n=>!t.includes(n))]}function J(e,o,t){if(!o.text.includes("\u2011"))return t;let n=new Set(t.glyphs.filter(i=>i.id===0).map(i=>i.cluster));if(!n.size)return t;let r=o.text.replace(/\u2011/g,(i,s)=>n.has(s)?"-":i);if(r===o.text)return t;try{let i=e.shape({...o,text:r});return chunk55AT3MOU_cjs.s({...i,text:o.text},o.environment)}catch{return t}}function pt(e,o){if(o.length===0)return e;if(o.length>16)throw new RangeError("At most 16 glyph fallback faces are supported");let t=o.map(a=>e.fonts.resolve(a)).filter(a=>!(a instanceof chunk55AT3MOU_cjs.d)),n={shape(a){return J(e.shaper,a,e.shaper.shape(a))}},r=new WeakMap,i={shape(a){let p=e.shaper.shape(a),l=r.get(p);if(l&&l.input.text===a.text&&l.input.fontSizeHalfPoints===a.fontSizeHalfPoints&&l.input.bidiLevel===a.bidiLevel&&l.input.context?.before===a.context?.before&&l.input.context?.after===a.context?.after&&l.input.environment===a.environment)return l.run;let d=s(a,J(e.shaper,a,p));return r.set(p,{input:a,run:d}),d}},s=(a,p)=>{let l=_(n,a,p);if(!l.glyphs.some(d=>d.id===0)||/^[\t\n\r\f]*$/.test(a.text))return l;if(/^(Latn|Cyrl|Grek|Hebr|Hani|Hira|Kana|Hang|Zyyy|Zinh)$/.test(a.environment.script)){let d=dt(n,a,l,t);if(d)return d}for(let d of ct(q(t,a.text),a.environment.script))if(!(d.hash===a.environment.font.hash&&d.faceIndex===a.environment.font.faceIndex))try{let g={...a,environment:chunk55AT3MOU_cjs.p({...a.environment,font:d})},u=_(n,g,n.shape(g));if(!u.glyphs.some(c=>c.id===0))return u}catch{}return l};return {...e,shaper:i}}var Q=chunk55AT3MOU_cjs.b;function ee(e){return typeof e.admittedFontFace=="function"}var $t=Object.freeze([{weight:400,style:"normal"},{weight:700,style:"normal"},{weight:400,style:"italic"},{weight:700,style:"italic"}]);function z(e){return Object.freeze({family:e.family,weight:e.weight,style:e.style})}var ft=new WeakMap;function j(e){let o=ft.get(e);return o||ft.set(e,o=Kt(e)),o}function Kt(e){let o=e.substitution;return Object.freeze({id:e.id,identity:e.identity,family:e.family,request:z(e.request),byteLength:e.byteLength,hash:e.hash,faceIndex:e.faceIndex,substitution:o?Object.freeze({requested:z(o.requested),resolved:z(o.resolved),...o.lineMetrics?{lineMetrics:Object.freeze({...o.lineMetrics})}:{}}):null})}function Zt(e){return Object.freeze({...j(e),bytes:chunk55AT3MOU_cjs.i(e)})}function Jt(e,o){if(!e)return null;try{let t=e(o);return !t||t instanceof chunk55AT3MOU_cjs.d?null:Zt(t)}catch{return null}}function mt(e){return o=>{if(e.status()!=="active")throw e.unavailable();return Jt(e.resolve(),o)}}function Qt(e){return Object.freeze(e.slice(0,Q).map(o=>Object.freeze({request:z(o.request),partName:o.partName,reason:o.reason})))}function te(e,o,t,n,r=[]){let i=new Map;for(let a of [...e,o]){let p=a.toLowerCase();i.has(p)||i.set(p,a);}let s=[...i.values()].map(a=>{let p=[];for(let l of $t){let d=n?.({family:a,...l});!d||d instanceof chunk55AT3MOU_cjs.d||p.push(Object.freeze({...l,sourceFamily:d.family,via:d.substitution?"substitution":"direct",identity:d.identity,id:d.id,hash:d.hash,faceIndex:d.faceIndex,substitution:d.substitution}));}return Object.freeze({family:a,coverage:p.length===4?"complete":p.length>0?"partial":"none",faces:Object.freeze(p)})});return Object.freeze({requestedFamilies:Object.freeze([...e]),defaultFamily:o,families:Object.freeze(s),originFailures:Object.freeze([...t]),droppedEmbeddedFonts:Qt(r)})}function oe(e,o){if(o.onFontResolution){try{let t=o.onFontResolution(e);Promise.resolve(t).catch(n=>{console.warn("[fonts] font-resolution diagnostics callback failed",n);});}catch(t){console.warn("[fonts] font-resolution diagnostics callback failed",t);}return}for(let t of e.originFailures)console.warn("[fonts] a document export font origin failed and was skipped",t);for(let t of e.droppedEmbeddedFonts??[])console.warn("[fonts] a document embedded font face was dropped during export",t);}function ne(e,o,t=[]){let n=l=>l.trim().toLowerCase(),r=new Set([...e.requestedFamilies,e.defaultFamily].map(n)),i=new Set(t.map(l=>n(l.family))),s=l=>{if(!(l instanceof chunkOHAXVTWG_cjs.l))return true;let d=n(l.request.family);return r.has(d)||!i.has(d)},a=e.originFailures.some(({cause:l})=>l instanceof chunkOHAXVTWG_cjs.m?l.causes.length===0||l.causes.some(s):s(l));if(o.fontPolicy!=="strict"||!a&&e.families.every(l=>l.coverage==="complete"))return;let p=e.families.filter(l=>l.coverage!=="complete").map(l=>l.family).join(", ");throw new chunkWRLKVNNR_cjs.d("layoutFailed",`Strict font policy refused export${p?`; incomplete families: ${p}`:"; a font origin failed"}`)}function H(){return new Map}function re(e,o,t,n){if(t.trim().length===0)return null;let r={family:t,weight:n.bold?700:400,style:n.italic?"italic":"normal"},i=chunk55AT3MOU_cjs.h(r),s=o.get(i);if(!s){try{s=e.fonts.resolve(r);}catch{return null}o.set(i,s);}return s instanceof chunk55AT3MOU_cjs.d?null:s}function yt(e,o,t){let n=t.fontFamily??e.defaultFont.family;return re(e,o,n,t)}function ie(e){return typeof e.shapeLaidOutText=="function"}function ae(e){let o=H(),t=new WeakMap;return n=>{let r=chunk55AT3MOU_cjs.sa(n.style,n.fontSlot),i=chunk55AT3MOU_cjs.ic(n)?chunk55AT3MOU_cjs.jc(n):chunk55AT3MOU_cjs.$(n.text,r);if(i.length===0)return null;let s=r.fontFamily??e.defaultFont.family,a=re(e,o,s,r);if(!a)return null;try{if(r.smallCaps&&!chunkHO5XFO32_cjs.$(e.shaper,e.environment,a,r,t))return null;let p=chunkHO5XFO32_cjs._(e.shaper,e.environment,a,r,i);return Object.freeze({run:p,font:j(p.fontSpans[0]?.font??a),...p.fontSpans.length>1?{fonts:Object.freeze(p.fontSpans.map(l=>j(l.font)))}:{},fixedPointScale:e.environment.fixedPointScale})}catch{return null}}}function ht(e){return o=>{if(e.status()!=="active")throw e.unavailable();return e.shaping()?.shapeLaidOutText(o)??null}}var N=new Map,X=new WeakMap,se=0,M,le=32,gt=chunk55AT3MOU_cjs.c;function xt(){if(M)return M;let e=(async()=>(await chunkHO5XFO32_cjs.d(),chunkHO5XFO32_cjs.h(chunkHO5XFO32_cjs.i)))();return M=e,e.catch(()=>{M===e&&(M=void 0);}),e}function Ft(e){let o=H();return chunkHO5XFO32_cjs.ba(e,{resolveFont(t){return yt(e,o,t)},fallback:chunk55AT3MOU_cjs.fa()})}async function Et(e,o,t=[],n=false){if(!chunkHO5XFO32_cjs.k(e))throw new TypeError("Session exporter shaping requires a prepared font handle");let r=await xt(),i=pt(await chunkHO5XFO32_cjs.r(e,r,chunkHO5XFO32_cjs.i,o,n),t);return Object.freeze({createMeasurer:()=>Ft(i),resolveFont:s=>i.fonts.resolve(s),shapeLaidOutText:ae(i),producer:["node-export-session",JSON.stringify(t),e.fingerprint,i.operation.shapingHash,`producer:${i.operation.producerVersion}`,`fallback:${chunk55AT3MOU_cjs.ea}`].join("|"),extensionFingerprint:e.fingerprint})}function eo(e,o){if(!chunkHO5XFO32_cjs.k(e))return Promise.reject(new TypeError("Shared exporter shaping requires a prepared font handle"));let t=X.get(e);if(t)return t;let n=chunkHO5XFO32_cjs.m(e),r=N.get(n);if(!r){if(N.size>=le)return Promise.reject(new RangeError(`Shared exporter shaping is limited to ${le} process-wide configurations`));r=(async()=>{let p=chunkHO5XFO32_cjs.l(e).sources.reduce((d,g)=>d+(g.availability==="forbidden"?0:g.bytes.byteLength),0);if(se+p>gt)throw new RangeError(`Shared exporter shaping font bytes are limited to ${gt} process-wide`);se+=p;let l;try{let d=await xt();l=await chunkHO5XFO32_cjs.r(e,d,chunkHO5XFO32_cjs.i,o);}catch(d){throw se-=p,d}return Object.freeze({createMeasurer:()=>Ft(l),shapeLaidOutText:ae(l),shapingHash:l.operation.shapingHash,producerVersion:l.operation.producerVersion})})(),N.set(n,r),r.catch(()=>{N.get(n)===r&&N.delete(n);});}let i=e.fingerprint,s=r.then(a=>Object.freeze({createMeasurer:a.createMeasurer,shapeLaidOutText:a.shapeLaidOutText,producer:["node-export",i,a.shapingHash,`producer:${a.producerVersion}`,`fallback:${chunk55AT3MOU_cjs.ea}`].join("|"),extensionFingerprint:i}));return X.set(e,s),s.catch(()=>{X.get(e)===s&&X.delete(e);}),s}var to="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";function oo(e){let o=e.currentPackage(),t=(o.relationships.get(o.mainDocumentPart)??[]).find(r=>r.type===to),n;if(t){let r=chunk4KZ6L5YF_cjs.E(t);r.mode==="Internal"&&r.target.ok&&(n=o.parts.get(r.target.partName));}return n??=o.parts.get("/word/fontTable.xml"),chunk4KZ6L5YF_cjs.Ue(o,n)}function bt(e,o){let t=oo(e);if(t.length!==0)return chunkOHAXVTWG_cjs.j(n=>{let r=new Set((n.resolvedFaces??[]).map(s=>chunk55AT3MOU_cjs.h(s))),i=chunkOHAXVTWG_cjs.r(t,{maxFontBytes:chunk55AT3MOU_cjs.a,aggregateBudget:no(n),shadowedRequests:r});if(o)for(let s of i.dropped){if(o.dropped.length>=Q)break;o.dropped.push(s);}return {sources:i.sources}})}function no(e){let o=e.committedSourceBytes;return o===void 0||!Number.isSafeInteger(o)||o<=0?chunk55AT3MOU_cjs.c:Math.max(0,chunk55AT3MOU_cjs.c-o)}function ro(e){return ee(e)&&ie(e)}var w=0,Rt=Symbol("font-resolution-timeout");function io(e){let o=0,t=false;return e?.(w),{reserve:r=>{if(t)throw new Error("Document font-byte lease is already released");if(w+r>chunk55AT3MOU_cjs.c)throw new chunkWRLKVNNR_cjs.d("layoutFailed",`Active document export font bytes are limited to ${chunk55AT3MOU_cjs.c}; requested ${r} bytes with ${w} bytes already active`);w+=r,o+=r,e?.(w);let i=false;return ()=>{i||t||(i=true,w-=r,o-=r,e?.(w));}},release:()=>{t||(t=true,w-=o,o=0,e?.(w));}}}function ue(e,o){return e.attributes.find(t=>t.localName===o)?.value}function ao(e,o){return e.attributes.find(t=>t.localName===o&&(t.namespaceUri===chunk4KZ6L5YF_cjs.fa||t.namespaceUri===""))?.value}async function so(e,o){if(o.reuseAcrossRevisions===true)throw new TypeError("reuseAcrossRevisions requires a live view or caller-supplied measurer; document-aware byte sessions are immutable");if(o.signal?.aborted)return {ok:false,reason:"aborted"};let t=chunkAVKVRU7Z_cjs.ab(e);if(!t.ok)return t;let{fonts:n,lastResortFonts:r,fontResolutionTimeoutMs:i,fontPolicy:s,onFontResolution:a,glyphFallbacks:p,documentLigatures:l,...d}=o,g=Array.isArray(n)?n:[n],u=r===void 0?[]:Array.isArray(r)?r:[r],c,y;try{y=await lo(t.view,g,{signal:o.signal,timeoutMs:i??o.resourceTimeoutMs,fontPolicy:s,glyphFallbacks:p,documentLigatures:l,lastResortFonts:u,onFontResolution:E=>(c=E,a?.(E))});}catch(E){if(E instanceof chunkWRLKVNNR_cjs.d&&E.code==="aborted")return {ok:false,reason:"aborted"};throw E}if(!c)throw y?.dispose(),new chunkWRLKVNNR_cjs.d("layoutFailed","Document font resolution completed without publishing its evidence");let R;try{R=chunkWRLKVNNR_cjs.e(t.view,{...d,reuseAcrossRevisions:!1,...y?{measurer:y.createMeasurer(),producer:o.producer??y.producer}:o.producer?{producer:o.producer}:{}});}catch(E){throw y?.dispose(),E}if(!R.ok)return y?.dispose(),R;let b=R.session,f=y,h="active",x=()=>h==="aborted"?new chunkWRLKVNNR_cjs.d("aborted","Export resource settlement was aborted"):new chunkWRLKVNNR_cjs.d("disposed","Export session has been disposed"),F=E=>{if(h==="active"){h=E,o.signal?.removeEventListener("abort",m);try{b.dispose();}finally{f?.dispose(),f=void 0;}}},m=()=>F("aborted");return o.signal?.addEventListener("abort",m,{once:true}),o.signal?.aborted&&m(),{ok:true,session:Object.freeze({fontResolution:c,layout:()=>h==="active"?b.layout():Promise.reject(x()),layoutFor:E=>h==="active"?b.layoutFor(E):Promise.reject(x()),validatedImageBytes:E=>h==="active"?b.validatedImageBytes(E):null,admittedFontFace:mt({status:()=>h,unavailable:x,resolve:()=>f?.resolveFont}),shapeLaidOutText:ht({status:()=>h,unavailable:x,shaping:()=>f}),dispose:()=>F("disposed")})}}async function lo(e,o,t={}){if((t.glyphFallbacks?.length??0)>16)throw new RangeError("At most 16 glyph fallback faces are supported");let n=uo(t.timeoutMs),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.addEventListener("abort",i,{once:true}),t.signal?.aborted&&i();let s=setTimeout(()=>r.abort(Rt),n);try{de(r.signal);let a=(async()=>{let p=io(t.onActiveFontBytesChange),l=!1;try{let d=po(e).slice(0,chunkOHAXVTWG_cjs.c),g=[],u={dropped:[]},c=bt(e,u),y=[...o,...c?[c]:[],...t.lastResortFonts??[]],R=await chunkOHAXVTWG_cjs.o(y,{families:[...new Set([...(t.glyphFallbacks??[]).map(x=>x.family),...d])].slice(0,chunkOHAXVTWG_cjs.c),defaultFamily:chunkOHAXVTWG_cjs.d.family,signal:r.signal},{onOriginFailure:x=>g.push(x),reserveOwnedBytes:p.reserve,maxExecutionFontBytes:chunkHO5XFO32_cjs.i.maxFontBytes});de(r.signal);let b=chunkOHAXVTWG_cjs.f(R??{});if(b.sources.length===0){let x=te(d,b.defaultFont.family,g,void 0,u.dropped);oe(x,t),ne(x,t,t.glyphFallbacks);return}let f=await Et(chunkHO5XFO32_cjs.o(b),void 0,t.glyphFallbacks,t.documentLigatures);de(r.signal);let h=te(d,b.defaultFont.family,g,f.resolveFont,u.dropped);return oe(h,t),ne(h,t,t.glyphFallbacks),l=!0,Object.freeze({...f,dispose:p.release})}finally{l||p.release();}})();return await Promise.race([a,co(r.signal)])}finally{clearTimeout(s),t.signal?.removeEventListener("abort",i);}}function uo(e){if(e===void 0)return 6e4;if(!Number.isFinite(e)||e<=0)throw new RangeError("timeoutMs must be a positive finite number");return Math.max(1,e)}function co(e){return new Promise((o,t)=>{let n=()=>{t(St(e));};e.aborted?n():e.addEventListener("abort",n,{once:true});})}function St(e){let o=e.reason===Rt;return new chunkWRLKVNNR_cjs.d(o?"timedOut":"aborted",o?"Font resolution timed out":"Font resolution was aborted",o?void 0:{cause:e.reason})}function de(e){if(e.aborted)throw St(e)}function po(e){let o=[e.part().root],t=[],n=[],r=new Set([e.part().name]),i=(d,g)=>{!g||r.has(g.name)||(r.add(g.name),d.push(g.root));};for(let d of e.headerFooterPartsBySection()){for(let g of d.headers.values())i(t,g);for(let g of d.footers.values())i(t,g);}for(let d of ["footnote","endnote"])n.push(...fo(e,d));let s=e.documentThemeFonts(),a={...s,major:s.major,minor:s.minor,majorEastAsia:s.majorEastAsia??null,minorEastAsia:s.minorEastAsia??null},p=new Map,l=(d,g)=>{let u=chunkLZLTN5A3_cjs.d(d,e.stylesRoot(),a,yo(d,g)),c=chunkOHAXVTWG_cjs.y(d,e.numberingRoot(),e.stylesRoot(),a);for(let y of [...u.direct,...xo(d),...c,...chunkOHAXVTWG_cjs.v(d,e.stylesRoot(),a),...u.inherited]){let R=y.toLowerCase();p.has(R)||p.set(R,y);}};return l(o,"body"),l(t,"furniture"),l(n,"note"),[...p.values()]}function fo(e,o){let t=chunk4KZ6L5YF_cjs.Lg(e.currentPackage(),o);if(!t)return [];let n=new Set(chunk4KZ6L5YF_cjs.Mg(e.part()).filter(i=>i.noteKind===o).map(i=>i.noteId)),r=[];for(let i of t.root.children){if(i.kind==="textValue")continue;let s=chunk4KZ6L5YF_cjs.kc(i),a=chunk4KZ6L5YF_cjs.jc(i);(s==="separator"||s==="continuationSeparator"||a!==null&&n.has(a))&&r.push(i);}return r}var mo="http://schemas.openxmlformats.org/officeDocument/2006/math";function yo(e,o){let t=new Set;for(let n of e){let r=[],i=[{node:n,context:o}];for(;i.length>0;){let{node:s,context:a}=i.pop();s.namespaceUri===chunk4KZ6L5YF_cjs.fa&&s.localName==="p"&&r.push({paragraph:s,context:a});let p=s.namespaceUri===chunk4KZ6L5YF_cjs.fa&&s.localName==="txbxContent"&&(a==="body"||a==="note")?"detached":a;for(let l=s.children.length-1;l>=0;l-=1){let d=s.children[l];d.kind!=="textValue"&&i.push({node:d,context:p});}}for(let s of r)ho(s.paragraph,t,s.context);}return t}function ho(e,o,t){let n=chunk55AT3MOU_cjs.zb(),r=null,i=null,s="",a=false,p=false,l=false,d=0,g=[];for(let u=e.children.length-1;u>=0;u-=1){let c=e.children[u];c.kind!=="textValue"&&g.push({node:c,runId:null,visibility:D,containerDepth:0});}for(;g.length>0;){let{node:u,runId:c,visibility:y,containerDepth:R}=g.pop();if(R>=chunk4KZ6L5YF_cjs.oa||u.namespaceUri===chunk4KZ6L5YF_cjs.fa&&u.localName==="p")continue;let b=u.namespaceUri===chunk4KZ6L5YF_cjs.fa&&u.localName==="r"?u.id:c;if(u.namespaceUri===chunk4KZ6L5YF_cjs.fa&&u.localName==="fldSimple"){let f=ue(u,"instr")??"";chunk55AT3MOU_cjs.jd(f,{allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&go(u)!==D&&o.add(u.id);}if(u.namespaceUri===chunk4KZ6L5YF_cjs.fa&&u.localName==="fldChar"){let f=ue(u,"fldCharType");if(f==="begin")chunk55AT3MOU_cjs.Cb(n),n.nesting===1&&(r=b,i=null,s="",a=false,p=false,l=chunk4KZ6L5YF_cjs.hf(u),d=0);else if(f==="separate"){let h=n.nesting===1;if(chunk55AT3MOU_cjs.Eb(n),h){let x=chunk55AT3MOU_cjs.Bb(n);s=x.instruction,a=x.overflow||n.nestingOverflow,i=b,p=true;}}else if(f==="end"){if(n.nesting===1){if(n.phase==="instruction"){let x=chunk55AT3MOU_cjs.Bb(n);s=x.instruction,a=x.overflow||n.nestingOverflow;}if(!a&&chunk55AT3MOU_cjs.id(s,{hasSeparate:p,hasLegacyFormData:l,allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&d!==D){let x=i??r;x&&o.add(x);}}chunk55AT3MOU_cjs.Fb(n);}continue}if(u.namespaceUri===chunk4KZ6L5YF_cjs.fa&&(u.localName==="instrText"||u.localName==="delInstrText")){chunk55AT3MOU_cjs.Db(n,Lt(u),u.localName==="delInstrText");continue}n.nesting>0&&chunk55AT3MOU_cjs.Gb(n)&&u.namespaceUri===chunk4KZ6L5YF_cjs.fa&&Ot(u)&&(d|=y);for(let f=u.children.length-1;f>=0;f-=1){let h=u.children[f];h.kind!=="textValue"&&g.push({node:h,runId:b,visibility:y&At(u),containerDepth:chunk4KZ6L5YF_cjs.pa(u,R)});}}chunk55AT3MOU_cjs.Ab(n);}function Ot(e){return e.localName==="t"||e.localName==="delText"?Lt(e).length>0:e.localName==="sym"||e.localName==="tab"||e.localName==="br"}var ce=1,vt=2,wt=4,D=ce|vt|wt;function go(e){let o=[];for(let n of e.children)n.kind!=="textValue"&&o.push({node:n,visibility:D});let t=0;for(;o.length>0;){let{node:n,visibility:r}=o.pop();if(!(n.namespaceUri===chunk4KZ6L5YF_cjs.fa&&n.localName==="p")){if(n.namespaceUri===chunk4KZ6L5YF_cjs.fa&&Ot(n)&&(t|=r,t===D))return t;for(let i of n.children)i.kind!=="textValue"&&o.push({node:i,visibility:r&At(n)});}}return t}function At(e){return e.namespaceUri!==chunk4KZ6L5YF_cjs.fa?D:e.localName==="ins"||e.localName==="moveTo"?ce|vt:e.localName==="del"||e.localName==="moveFrom"?ce|wt:D}function xo(e){let o=new Map,t=n=>{let r=chunkLZLTN5A3_cjs.a(n??void 0);if(r===null)return;let i=r.toLowerCase();o.has(i)||o.set(i,r);};for(let n of e){let r=[n];for(;r.length>0;){let i=r.pop();if(i.namespaceUri===mo&&t(chunk55AT3MOU_cjs.gc),i.namespaceUri===chunk4KZ6L5YF_cjs.fa&&i.localName==="sym"&&t(chunkLZLTN5A3_cjs.b(ao(i,"font"))),i.namespaceUri===chunk4KZ6L5YF_cjs.fa&&i.localName==="fldSimple"){let s=ue(i,"instr");t(chunk55AT3MOU_cjs.dd(s??"")?.font??null);}if(i.namespaceUri===chunk4KZ6L5YF_cjs.fa&&i.localName==="p")for(let s of chunkOHAXVTWG_cjs.x(i))t(s);for(let s=i.children.length-1;s>=0;s-=1){let a=i.children[s];a.kind!=="textValue"&&r.push(a);}}}return [...o.values()]}function Lt(e){let o="",t=[...e.children].reverse();for(;t.length>0&&o.length<=256;){let n=t.pop();if(n.kind==="textValue")o+=n.value;else for(let r=n.children.length-1;r>=0;r-=1)t.push(n.children[r]);}return o}var Dt="FILE_TOO_LARGE",Tt=8;function Fo(e){return typeof e=="object"&&e!==null}function kt(e){if(!(!Fo(e)||typeof e.code!="string"))return e.code}function It(e){return e===""||e.toLowerCase()==="localhost"}function Eo(e){try{let o=decodeURIComponent(e);return o.includes("\0")?null:o}catch{return null}}function _t(e){let o=Eo(e);if(o===null)return null;let t=[];for(let n of o.split(/[/\\]/))if(!(n===""||n===".")){if(n===".."){if(t.length===0)return null;t.pop();continue}t.push(n);}return `/${t.join("/")}`}function Nt(e){let o=_t(e);return o===null?null:o.endsWith("/")?o:`${o}/`}function bo(e){return e==="/"||/^\/[A-Za-z]:\/$/.test(e)}function Ro(e){let o;try{o=typeof e=="string"?new URL(e):new URL("href"in e?e.href:String(e));}catch{throw new TypeError("trustedRoot must be an absolute file: URL")}if(o.protocol!=="file:")throw new TypeError("trustedRoot must use the file: protocol");if(o.username!==""||o.password!=="")throw new TypeError("trustedRoot must not include credentials");if(!It(o.host))throw new TypeError("trustedRoot must be a local file: URL");let t=Nt(o.pathname);if(t===null||bo(t))throw new TypeError("trustedRoot must be a directory inside the filesystem");let n=new URL("file:///");return n.pathname=t,n}function So(e){if(typeof e=="string")return [e];if(typeof e=="object"&&e!==null&&"href"in e)return [e];if(Array.isArray(e))return e;throw new TypeError("trustedRoot must be an absolute file: URL")}function Oo(e){let o=So(e);if(o.length===0)throw new TypeError("trustedRoot must name at least one directory");if(o.length>Tt)throw new TypeError(`trustedRoot must not exceed ${Tt} directories`);return o.map(Ro)}function vo(e){if(!Number.isSafeInteger(e)||e<=0)throw new TypeError("maxBytes must be a positive safe integer");if(e>chunk55AT3MOU_cjs.a)throw new TypeError(`maxBytes must not exceed ${chunk55AT3MOU_cjs.a}`);return e}function wo(e,o){if(e.protocol!=="file:"||e.username!==""||e.password!==""||!It(e.host))return null;let t=_t(e.pathname);if(t===null)return null;for(let n of o){let r=Nt(n.pathname);if(r===null||!t.startsWith(r)||t.length<=r.length)continue;let i=new URL("file:///");return i.pathname=t,i}return null}function Ao(e){return typeof e=="string"?new URL(e):"href"in e&&typeof e.href=="string"?new URL(e.href):new URL("url"in e?e.url:String(e))}function Lo(e,o,t){let n=t.relative(t.resolve(e),t.resolve(o));return n!==""&&!n.startsWith("..")&&!t.isAbsolute(n)}function Pt(e,o,t){return e.some(n=>Lo(n,o,t))}async function To(e,o){let t=[];for(let n of e)try{t.push(await o(n));}catch(r){if(kt(r)==="ENOENT")continue;throw r}return t}function Po(e){return async(o,{signal:t,maxBytes:n})=>{if(t?.aborted)throw t.reason;let[{open:r,realpath:i},{constants:s},{fileURLToPath:a},p]=await Promise.all([import('fs/promises'),import('fs'),import('url'),import('path')]),l=e.map(y=>p.resolve(a(y.href))),d=p.resolve(a(typeof o=="string"?o:o.href));if(!Pt(l,d,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let g=typeof s.O_NOFOLLOW=="number"?s.O_RDONLY|s.O_NOFOLLOW:"r",u=await r(d,g),c=()=>{u.close();};t?.addEventListener("abort",c,{once:true});try{if(t?.aborted)throw t.reason;let y=await i(d);if(!Pt(await To(l,i),y,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let R=(await u.stat()).size;if(!Number.isSafeInteger(R)||R<0||R>n)throw Object.assign(new Error("packaged file exceeds maxBytes"),{code:Dt});let b=new Uint8Array(R),f=0;for(;f<b.byteLength;){if(t?.aborted)throw t.reason;let{bytesRead:h}=await u.read(b,f,b.byteLength-f,f);if(h===0)break;f+=h;}if(t?.aborted)throw t.reason;return f===b.byteLength?b:b.slice(0,f)}catch(y){throw t?.aborted?t.reason:y}finally{t?.removeEventListener("abort",c),await u.close().catch(()=>{});}}}function Do(e){if(e===null||typeof e!="object")throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");if(e.trustedRoot===void 0||e.maxBytes===void 0)throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");let o=Oo(e.trustedRoot),t=vo(e.maxBytes),n=e.read??Po(o),r=e.networkFetch??fetch;return(async(i,s)=>{let a=s?.signal;if(a?.aborted)throw a.reason;let p=Ao(i);if(p.protocol!=="file:")return r(p,s);let l=wo(p,o);if(!l)return new Response(null,{status:404});let d=a?new AbortController:void 0,g=()=>d?.abort(a?.reason);a?.addEventListener("abort",g,{once:true});let u;try{if(u=await n(l,{maxBytes:t,...d?{signal:d.signal}:{}}),a?.aborted)throw a.reason;if(u.byteLength>t)return new Response(null,{status:413})}catch(c){if(a?.aborted)throw a.reason;if(d?.signal.aborted)throw d.signal.reason??c;if(c instanceof DOMException&&c.name==="AbortError"||c instanceof Error&&c.name==="AbortError")throw c;let y=kt(c);if(y===Dt)return new Response(null,{status:413});if(y==="ENOENT"||y==="ENOTDIR"||y==="ELOOP")return new Response(null,{status:404});throw c}finally{a?.removeEventListener("abort",g);}return new Response(u,{status:200})})}
2
+ Object.defineProperty(exports,"ExportResourceError",{enumerable:true,get:function(){return chunkWRLKVNNR_cjs.d}});Object.defineProperty(exports,"createNodeImageDecodePort",{enumerable:true,get:function(){return chunkWRLKVNNR_cjs.c}});Object.defineProperty(exports,"exportDestinationNamed",{enumerable:true,get:function(){return chunkWRLKVNNR_cjs.b}});Object.defineProperty(exports,"openDocumentForExport",{enumerable:true,get:function(){return chunkWRLKVNNR_cjs.e}});exports.MAX_SHARED_EXPORT_SHAPING_CONFIGURATIONS=le;exports.acquireSharedExportShaping=eo;exports.createPackagedFileFetch=Do;exports.hasExportAdmittedFont=ee;exports.hasExportLaidOutText=ie;exports.hasFontBackedExportCapabilities=ro;exports.openFontBackedDocumentForExport=so;
package/dist/export.d.ts CHANGED
@@ -1,18 +1,18 @@
1
- import { P as PreservedImageMime, I as ImageResourceLimits, S as SupportedImageMime, a as ImageDecodePort } from './image-resources-DfagDguq.js';
2
- import { a as RevisionDisplayMode } from './revision-projection-DfWxdBqA.js';
3
- import { S as SemanticLayout, j as SemanticReviewArtifactRecord, I as InlineDrawingRecord, A as AnchoredDrawingRecord, k as ListMarkerPictureRecord, T as TextMeasurer, i as FontRequest, l as FontSubstitution, m as ShapedRun, a as StyleSpanRecord } from './semantic-records-DrExlBy-.js';
4
- import { D as DocumentProperties, H as HeadlessDocumentView, a as HeadlessDocumentRejection } from './headless-document-view-R9bzzepb.js';
5
- import { P as PreparedLayoutFontConfiguration, L as LayoutShapingInstrumentation } from './layout-shaping-C889tgmj.js';
6
- import { F as FontOriginFailure, a as FontOrigin } from './font-resolver-C295obND.js';
7
- import './types-barrel-BO73JqHG.js';
1
+ import { a as ReviewDisplayMode, d as ResolvedRevisionMarkup, e as RevisionMarkupOptions } from './revision-projection-CSNFudZY.js';
2
+ import { P as PreservedImageMime, I as ImageResourceLimits, S as SupportedImageMime, a as ImageDecodePort } from './image-resources-BDFxcu7W.js';
3
+ import { S as SemanticLayout, o as SemanticReviewArtifactRecord, I as InlineDrawingRecord, A as AnchoredDrawingRecord, p as ListMarkerPictureRecord, T as TextMeasurer, n as FontRequest, q as FontSubstitution, r as ShapedRun, e as StyleSpanRecord } from './semantic-records-B9OolWGN.js';
4
+ import { D as DocumentProperties, H as HeadlessDocumentView, a as HeadlessDocumentRejection } from './headless-document-view-ICYqNkQ1.js';
5
+ import { P as PreparedLayoutFontConfiguration, L as LayoutShapingInstrumentation } from './layout-shaping-BvZD_VKP.js';
6
+ import { F as FontOriginFailure, a as FontOrigin } from './font-resolver-DN0xNOf_.js';
7
+ import './types-barrel-BFKR8Pzp.js';
8
8
  import './editor-scope-OHPwVQ5l.js';
9
- import './omml-equation-CZ6IG2ja.js';
10
- import './tree-package-fragment-YPyYC1aD.js';
11
- import './editor-DkfCCTxA.js';
9
+ import './omml-equation-DuczgG5o.js';
10
+ import './tree-package-fragment-DYZIk1rY.js';
11
+ import './editor-B3OBYNrF.js';
12
12
  import './contracts/document.js';
13
13
  import './contracts/interaction.js';
14
- import './semantic-interaction-BHlV61hK.js';
15
- import './document-protection-Bp19Ad4I.js';
14
+ import './semantic-interaction-G0bjmmmk.js';
15
+ import './document-protection-9zpIHWTE.js';
16
16
  import './failure-BIPVQbRm.js';
17
17
 
18
18
  /** Source content that cannot be certified by the layout snapshot. @public */
@@ -76,13 +76,17 @@ declare function createNodeImageDecodePort(options?: {
76
76
  type ExportDocumentSource = Uint8Array | HeadlessDocumentView;
77
77
  /** Shared session options; translators add their own format-specific options. @public */
78
78
  interface OpenDocumentForExportOptions {
79
+ /** Viewer markup applied before layout and export. */
80
+ readonly revisionMarkup?: RevisionMarkupOptions;
81
+ /** Stable author color slots captured from the editor session. */
82
+ readonly revisionAuthorSlots?: Readonly<Record<string, number>>;
79
83
  /**
80
84
  * Revision projection applied before records reach an exporter. Default: `all-markup`.
81
85
  *
82
86
  * The safe reader default keeps every pending insertion and deletion visible. Choose
83
87
  * `proposed` or `original` explicitly only when a resolved view is intended.
84
88
  */
85
- readonly displayMode?: RevisionDisplayMode;
89
+ readonly displayMode?: ReviewDisplayMode;
86
90
  /**
87
91
  * Text measurement used for line wrapping and pagination. Omit only when deterministic
88
92
  * approximate pagination is acceptable. Core then uses a fixed-width fallback that neither
@@ -117,6 +121,14 @@ interface OpenDocumentForExportOptions {
117
121
  * @public
118
122
  */
119
123
  interface ExportSemanticLayout extends SemanticLayout {
124
+ /** Requested review view; Simple Markup uses the proposed text projection. */
125
+ readonly reviewDisplayMode?: ReviewDisplayMode;
126
+ /** Viewer preferences used for this layout. */
127
+ readonly revisionMarkup?: ResolvedRevisionMarkup;
128
+ /** Stable author color slots captured from the editor session. */
129
+ readonly revisionAuthorSlots?: Readonly<Record<string, number>>;
130
+ /** Whether outside change bars alternate page margins. */
131
+ readonly facingPages?: boolean;
120
132
  /** Source omissions that cannot be detected by walking laid-out records. */
121
133
  readonly contentWarnings?: readonly ExportContentWarning[];
122
134
  readonly reviewArtifacts: readonly SemanticReviewArtifactRecord[];
@@ -138,7 +150,7 @@ interface ExportSession {
138
150
  /** Settle resources and return the default revision projection. */
139
151
  layout(): Promise<ExportSemanticLayout>;
140
152
  /** Settle resources and cache one explicit revision projection. */
141
- layoutFor(displayMode: RevisionDisplayMode): Promise<ExportSemanticLayout>;
153
+ layoutFor(displayMode: ReviewDisplayMode): Promise<ExportSemanticLayout>;
142
154
  /**
143
155
  * Mint a defensive copy only for a ready image published by this session.
144
156
  *
package/dist/export.js CHANGED
@@ -1,2 +1,2 @@
1
- import {c,l as l$1,d as d$2,e as e$1,v,s,i,o,u}from'./chunk-ILUE2SI5.js';import {j as j$1,l,k,q as q$1,h,n,c as c$1,g,_ as _$1,Z,aa}from'./chunk-4B3SXBV6.js';import'./chunk-RIYSCEFQ.js';import {d as d$1,e}from'./chunk-XUJINXW6.js';export{d as ExportResourceError,c as createNodeImageDecodePort,b as exportDestinationNamed,e as openDocumentForExport}from'./chunk-XUJINXW6.js';import {d,ea,sa,$,fa,i as i$1,b,e as e$2,Vc,c as c$2,j as j$2,hb,$c,kb,mb,jb,_c,nb,lb,ob,ib,q as q$2,t,o as o$1,_b}from'./chunk-VOVDX7GW.js';import {d as d$3,b as b$1,a}from'./chunk-IZT3C23R.js';import'./chunk-SNN53UPD.js';import {Ka}from'./chunk-VE7YBFQD.js';import {pg,qg,oc,nc,fa as fa$1,E,ue as ue$1,na,Je,oa}from'./chunk-Z65JJLLF.js';function I(e,o,t){if(o.environment.features.smcp!==1||!/\p{Ll}/u.test(o.text))return t;let n={...o,environment:{...o.environment,features:{...o.environment.features,smcp:0}}},r=e.shape(n);if(t.glyphs.length!==r.glyphs.length||t.glyphs.some((d,c)=>d.id!==r.glyphs[c]?.id))return t;let i=[],s=0;for(let d of o.text){let c=d.toUpperCase()!==d,y=i.at(-1);y&&(y.lower===c||/\p{M}/u.test(d))?y.text+=d:i.push({text:d,start:s,lower:c}),s+=d.length;}let a=[],u=[],p=[],l=true,g=0;for(let d of o.environment.direction==="rtl"?i.reverse():i){let c=d.lower?.8:1,y=[],R=[],b="",f=d.start;for(let F of d.text){let m=d.lower?F.toUpperCase():F;for(let E=0;E<m.length;E++)y.push(f),R.push(f+F.length);b+=m,f+=F.length;}let h=e.shape({...n,text:b}),x=a.length;for(let[F,m]of h.glyphs.entries()){let E=h.exactAdvancesX?.[F];E===void 0?l=false:p.push(E*c),a.push({...m,cluster:y[m.cluster]??d.start,originX:o$1(g+Math.round(m.originX*c)),originY:o$1(Math.round(m.originY*c)),offsetX:o$1(Math.round(m.offsetX*c)),offsetY:o$1(Math.round(m.offsetY*c)),advanceX:o$1(Math.round(m.advanceX*c)),advanceY:o$1(Math.round(m.advanceY*c)),drawScale:c});}for(let F of h.clusters){let m=y[F.textStart]??d.start,E=R[F.textEnd-1]??f,L=o$1(Math.round(F.advance*c)),A=u.at(-1);A&&A.textStart===m&&A.textEnd===E?u[u.length-1]={...A,glyphEnd:x+F.glyphEnd,advance:o$1(A.advance+L),caretEdges:[o$1(0),o$1(A.advance+L)]}:u.push({...F,textStart:m,textEnd:E,glyphStart:x+F.glyphStart,glyphEnd:x+F.glyphEnd,advance:L,caretEdges:F.caretEdges.map(G=>o$1(Math.round(G*c))),fontSpan:0});}g+=h.glyphs.reduce((F,m)=>F+Math.round(m.advanceX*c),0);}return {...t,glyphs:a,clusters:u,fontSpans:[{...t.fontSpans[0],glyphStart:0,glyphEnd:a.length}],exactAdvancesX:l&&p.length===a.length?p:void 0}}var nt=new WeakMap;function Nt(e){let o=nt.get(e);return o===void 0&&(o=Ct(e.bytes,e.faceIndex),nt.set(e,o)),o}var _t=new Set(["COLR","CBDT","sbix"]),Mt=512;function Ct(e,o){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<12)return false;let n=0;if(rt(e,0)==="ttcf"){let i=t.getUint32(8);if(o<0||o>=i||12+4*o+4>e.byteLength||(n=t.getUint32(12+4*o),n+12>e.byteLength))return false}let r=Math.min(t.getUint16(n+4),Mt);for(let i=0;i<r;i++){let s=n+12+i*16;if(s+4>e.byteLength)return false;if(_t.has(rt(e,s)))return true}return false}function rt(e,o){return String.fromCharCode(e[o],e[o+1],e[o+2],e[o+3])}var Ut=/\p{Emoji_Presentation}|️/u;function Bt(e){return Ut.test(e)}function q(e,o){if(e.length<2)return e;let t=e.filter(Nt);if(t.length===0||t.length===e.length)return e;let n=e.filter(r=>!t.includes(r));return Bt(o)?[...t,...n]:[...n,...t]}var qt=2048;function it(e,o,t$1,n){if(!t$1.clusters.length||t$1.clusters.length>qt)return null;let r=(f,h)=>{let{context:x,...F}=o,m={...F,text:h,environment:q$2({...o.environment,font:f})};return I(e,m,e.shape(m))},i=[],s=new Map;for(let f of [...t$1.clusters].sort((h,x)=>h.textStart-x.textStart)){let h=o.environment.font,x=o.text.slice(f.textStart,f.textEnd),F=i.at(-1);if(/^[\uFE0E\uFE0F]$/.test(x)&&F&&F.end===f.textStart){F.end=f.textEnd;continue}if(o.environment.script==="Hebr"&&/^\s+$/u.test(x)&&F&&F.font!==o.environment.font&&F.end===f.textStart){F.end=f.textEnd;continue}if(t$1.glyphs.slice(f.glyphStart,f.glyphEnd).some(E=>E.id===0)){let E=o.text.slice(f.textStart,f.textEnd+1),L=s.get(x)??q(n,E).find(A=>{try{return !r(A,x).glyphs.some(G=>G.id===0)}catch{return false}});if(!L)return null;s.set(x,L),h=L;}let m=i.at(-1);m&&m.font===h&&m.end===f.textStart?m.end=f.textEnd:i.push({start:f.textStart,end:f.textEnd,font:h});}let a=[],u=[],p=[],l=[],g=true,d=0,c=0,y=0,R=0,b=0;for(let f of o.environment.direction==="rtl"?i.reverse():i){let h=r(f.font,o.text.slice(f.start,f.end));if(h.glyphs.some(m=>m.id===0))return null;let x=a.length,F=p.length;for(let m of h.glyphs)a.push({...m,cluster:f.start+m.cluster,originX:o$1(d+m.originX),originY:o$1(c+m.originY)});if(h.exactAdvancesX===void 0)g=false;else for(let m of h.exactAdvancesX)l.push(m);for(let m of h.clusters)u.push({...m,textStart:f.start+m.textStart,textEnd:f.start+m.textEnd,glyphStart:x+m.glyphStart,glyphEnd:x+m.glyphEnd,fontSpan:F});h.glyphs.length&&p.push({font:f.font,glyphStart:x,glyphEnd:a.length,fallbackIndex:f.font===o.environment.font?null:n.indexOf(f.font)}),d+=h.glyphs.reduce((m,E)=>m+E.advanceX,0),c+=h.glyphs.reduce((m,E)=>m+E.advanceY,0),y=Math.max(y,h.metrics.ascent),R=Math.max(R,h.metrics.descent),b=Math.max(b,h.metrics.lineGap);}return t({...t$1,glyphs:a,clusters:u,fontSpans:p,exactAdvancesX:g&&l.length===a.length?l:void 0,metrics:{ascent:o$1(y),descent:o$1(R),lineGap:o$1(b)}},{...o.environment,fallbackOrder:n})}var jt=new Map([["Beng",["bng2","beng"]],["Deva",["dev2","deva"]],["Gujr",["gjr2","gujr"]],["Guru",["gur2","guru"]],["Knda",["knd2","knda"]],["Mlym",["mlm2","mlym"]],["Orya",["ory2","orya"]],["Taml",["tml2","taml"]],["Telu",["tel2","telu"]],["Nkoo",["nko "]]]),zt=512,at=new WeakMap;function Ht(e,o){let t=new Set,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=c=>c+2<=n.byteLength?n.getUint16(c):-1,i=c=>c+4<=n.byteLength?n.getUint32(c):-1,s=c=>c+4<=n.byteLength?String.fromCharCode(n.getUint8(c),n.getUint8(c+1),n.getUint8(c+2),n.getUint8(c+3)):"",a=0;if(s(0)==="ttcf"){let c=i(8);if(c<0||o<0||o>=c||(a=i(12+o*4),a<0))return t}let u=r(a+4);if(u<0||u>1024)return t;let p=-1;for(let c=0;c<u;c+=1){let y=a+12+c*16;if(s(y)==="GSUB"){p=i(y+8);break}}if(p<0)return t;let l=r(p+4);if(l<=0)return t;let g=p+l,d=r(g);if(d<0)return t;for(let c=0;c<Math.min(d,zt);c+=1){let y=s(g+2+c*6);y&&t.add(y);}return t}function Xt(e,o){let t=at.get(e);return t||(t=Ht(e.bytes,e.faceIndex),at.set(e,t)),(jt.get(o)??[o.toLowerCase()]).some(r=>t.has(r))}function st(e,o){let t=e.filter(n=>Xt(n,o));return t.length===0||t.length===e.length?e:[...t,...e.filter(n=>!t.includes(n))]}function J(e,o,t$1){if(!o.text.includes("\u2011"))return t$1;let n=new Set(t$1.glyphs.filter(i=>i.id===0).map(i=>i.cluster));if(!n.size)return t$1;let r=o.text.replace(/\u2011/g,(i,s)=>n.has(s)?"-":i);if(r===o.text)return t$1;try{let i=e.shape({...o,text:r});return t({...i,text:o.text},o.environment)}catch{return t$1}}function lt(e,o){if(o.length===0)return e;if(o.length>16)throw new RangeError("At most 16 glyph fallback faces are supported");let t=o.map(a=>e.fonts.resolve(a)).filter(a=>!(a instanceof e$2)),n={shape(a){return J(e.shaper,a,e.shaper.shape(a))}},r=new WeakMap,i={shape(a){let u=e.shaper.shape(a),p=r.get(u);if(p&&p.input.text===a.text&&p.input.fontSizeHalfPoints===a.fontSizeHalfPoints&&p.input.bidiLevel===a.bidiLevel&&p.input.context?.before===a.context?.before&&p.input.context?.after===a.context?.after&&p.input.environment===a.environment)return p.run;let l=s(a,J(e.shaper,a,u));return r.set(u,{input:a,run:l}),l}},s=(a,u)=>{let p=I(n,a,u);if(!p.glyphs.some(l=>l.id===0)||/^[\t\n\r\f]*$/.test(a.text))return p;if(/^(Latn|Cyrl|Grek|Hebr|Hani|Hira|Kana|Hang|Zyyy|Zinh)$/.test(a.environment.script)){let l=it(n,a,p,t);if(l)return l}for(let l of st(q(t,a.text),a.environment.script))if(!(l.hash===a.environment.font.hash&&l.faceIndex===a.environment.font.faceIndex))try{let g={...a,environment:q$2({...a.environment,font:l})},d=I(n,g,n.shape(g));if(!d.glyphs.some(c=>c.id===0))return d}catch{}return p};return {...e,shaper:i}}var Q=c$2;function ee(e){return typeof e.admittedFontFace=="function"}var Gt=Object.freeze([{weight:400,style:"normal"},{weight:700,style:"normal"},{weight:400,style:"italic"},{weight:700,style:"italic"}]);function j(e){return Object.freeze({family:e.family,weight:e.weight,style:e.style})}var dt=new WeakMap;function z(e){let o=dt.get(e);return o||dt.set(e,o=Vt(e)),o}function Vt(e){let o=e.substitution;return Object.freeze({id:e.id,identity:e.identity,family:e.family,request:j(e.request),byteLength:e.byteLength,hash:e.hash,faceIndex:e.faceIndex,substitution:o?Object.freeze({requested:j(o.requested),resolved:j(o.resolved),...o.lineMetrics?{lineMetrics:Object.freeze({...o.lineMetrics})}:{}}):null})}function Wt(e){return Object.freeze({...z(e),bytes:j$2(e)})}function Yt(e,o){if(!e)return null;try{let t=e(o);return !t||t instanceof e$2?null:Wt(t)}catch{return null}}function ct(e){return o=>{if(e.status()!=="active")throw e.unavailable();return Yt(e.resolve(),o)}}function $t(e){return Object.freeze(e.slice(0,Q).map(o=>Object.freeze({request:j(o.request),partName:o.partName,reason:o.reason})))}function te(e,o,t,n,r=[]){let i=new Map;for(let a of [...e,o]){let u=a.toLowerCase();i.has(u)||i.set(u,a);}let s=[...i.values()].map(a=>{let u=[];for(let p of Gt){let l=n?.({family:a,...p});!l||l instanceof e$2||u.push(Object.freeze({...p,sourceFamily:l.family,via:l.substitution?"substitution":"direct",identity:l.identity,id:l.id,hash:l.hash,faceIndex:l.faceIndex,substitution:l.substitution}));}return Object.freeze({family:a,coverage:u.length===4?"complete":u.length>0?"partial":"none",faces:Object.freeze(u)})});return Object.freeze({requestedFamilies:Object.freeze([...e]),defaultFamily:o,families:Object.freeze(s),originFailures:Object.freeze([...t]),droppedEmbeddedFonts:$t(r)})}function oe(e,o){if(o.onFontResolution){try{let t=o.onFontResolution(e);Promise.resolve(t).catch(n=>{console.warn("[fonts] font-resolution diagnostics callback failed",n);});}catch(t){console.warn("[fonts] font-resolution diagnostics callback failed",t);}return}for(let t of e.originFailures)console.warn("[fonts] a document export font origin failed and was skipped",t);for(let t of e.droppedEmbeddedFonts??[])console.warn("[fonts] a document embedded font face was dropped during export",t);}function ne(e,o){if(o.fontPolicy!=="strict"||e.originFailures.length===0&&e.families.every(n=>n.coverage==="complete"))return;let t=e.families.filter(n=>n.coverage!=="complete").map(n=>n.family).join(", ");throw new d$1("layoutFailed",`Strict font policy refused export${t?`; incomplete families: ${t}`:"; a font origin failed"}`)}function H(){return new Map}function re(e,o,t,n){if(t.trim().length===0)return null;let r={family:t,weight:n.bold?700:400,style:n.italic?"italic":"normal"},i=i$1(r),s=o.get(i);if(!s){try{s=e.fonts.resolve(r);}catch{return null}o.set(i,s);}return s instanceof e$2?null:s}function ut(e,o,t){let n=t.fontFamily??e.defaultFont.family;return re(e,o,n,t)}function ie(e){return typeof e.shapeLaidOutText=="function"}function ae(e){let o=H(),t=new WeakMap;return n=>{let r=sa(n.style,n.fontSlot),i=$(n.text,r);if(i.length===0)return null;let s=r.fontFamily??e.defaultFont.family,a=re(e,o,s,r);if(!a)return null;try{if(r.smallCaps&&!_$1(e.shaper,e.environment,a,r,t))return null;let u=Z(e.shaper,e.environment,a,r,i);return Object.freeze({run:u,font:z(u.fontSpans[0]?.font??a),...u.fontSpans.length>1?{fonts:Object.freeze(u.fontSpans.map(p=>z(p.font)))}:{},fixedPointScale:e.environment.fixedPointScale})}catch{return null}}}function pt(e){return o=>{if(e.status()!=="active")throw e.unavailable();return e.shaping()?.shapeLaidOutText(o)??null}}var N=new Map,X=new WeakMap,se=0,_,le=32,ft=d;function mt(){if(_)return _;let e=(async()=>(await c$1(),g(h)))();return _=e,e.catch(()=>{_===e&&(_=void 0);}),e}function yt(e){let o=H();return aa(e,{resolveFont(t){return ut(e,o,t)},fallback:fa()})}async function ht(e,o,t=[],n=false){if(!j$1(e))throw new TypeError("Session exporter shaping requires a prepared font handle");let r=await mt(),i=lt(await q$1(e,r,h,o,n),t);return Object.freeze({createMeasurer:()=>yt(i),resolveFont:s=>i.fonts.resolve(s),shapeLaidOutText:ae(i),producer:["node-export-session",JSON.stringify(t),e.fingerprint,i.operation.shapingHash,`producer:${i.operation.producerVersion}`,`fallback:${ea}`].join("|"),extensionFingerprint:e.fingerprint})}function Kt(e,o){if(!j$1(e))return Promise.reject(new TypeError("Shared exporter shaping requires a prepared font handle"));let t=X.get(e);if(t)return t;let n=l(e),r=N.get(n);if(!r){if(N.size>=le)return Promise.reject(new RangeError(`Shared exporter shaping is limited to ${le} process-wide configurations`));r=(async()=>{let u=k(e).sources.reduce((l,g)=>l+(g.availability==="forbidden"?0:g.bytes.byteLength),0);if(se+u>ft)throw new RangeError(`Shared exporter shaping font bytes are limited to ${ft} process-wide`);se+=u;let p;try{let l=await mt();p=await q$1(e,l,h,o);}catch(l){throw se-=u,l}return Object.freeze({createMeasurer:()=>yt(p),shapeLaidOutText:ae(p),shapingHash:p.operation.shapingHash,producerVersion:p.operation.producerVersion})})(),N.set(n,r),r.catch(()=>{N.get(n)===r&&N.delete(n);});}let i=e.fingerprint,s=r.then(a=>Object.freeze({createMeasurer:a.createMeasurer,shapeLaidOutText:a.shapeLaidOutText,producer:["node-export",i,a.shapingHash,`producer:${a.producerVersion}`,`fallback:${ea}`].join("|"),extensionFingerprint:i}));return X.set(e,s),s.catch(()=>{X.get(e)===s&&X.delete(e);}),s}var Zt="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";function Jt(e){let o=e.currentPackage(),t=(o.relationships.get(o.mainDocumentPart)??[]).find(r=>r.type===Zt),n;if(t){let r=E(t);r.mode==="Internal"&&r.target.ok&&(n=o.parts.get(r.target.partName));}return n??=o.parts.get("/word/fontTable.xml"),ue$1(o,n)}function gt(e,o$1){let t=Jt(e);if(t.length!==0)return i(n=>{let r=new Set((n.resolvedFaces??[]).map(s=>i$1(s))),i=o(t,{maxFontBytes:b,aggregateBudget:Qt(n),shadowedRequests:r});if(o$1)for(let s of i.dropped){if(o$1.dropped.length>=Q)break;o$1.dropped.push(s);}return {sources:i.sources}})}function Qt(e){let o=e.committedSourceBytes;return o===void 0||!Number.isSafeInteger(o)||o<=0?d:Math.max(0,d-o)}function eo(e){return ee(e)&&ie(e)}var w=0,xt=Symbol("font-resolution-timeout");function to(e){let o=0,t=false;return e?.(w),{reserve:r=>{if(t)throw new Error("Document font-byte lease is already released");if(w+r>d)throw new d$1("layoutFailed",`Active document export font bytes are limited to ${d}; requested ${r} bytes with ${w} bytes already active`);w+=r,o+=r,e?.(w);let i=false;return ()=>{i||t||(i=true,w-=r,o-=r,e?.(w));}},release:()=>{t||(t=true,w-=o,o=0,e?.(w));}}}function ce(e,o){return e.attributes.find(t=>t.localName===o)?.value}function oo(e,o){return e.attributes.find(t=>t.localName===o&&(t.namespaceUri===fa$1||t.namespaceUri===""))?.value}async function no(e$1,o){if(o.reuseAcrossRevisions===true)throw new TypeError("reuseAcrossRevisions requires a live view or caller-supplied measurer; document-aware byte sessions are immutable");if(o.signal?.aborted)return {ok:false,reason:"aborted"};let t=Ka(e$1);if(!t.ok)return t;let{fonts:n,lastResortFonts:r,fontResolutionTimeoutMs:i,fontPolicy:s,onFontResolution:a,glyphFallbacks:u,documentLigatures:p,...l}=o,g=Array.isArray(n)?n:[n],d=r===void 0?[]:Array.isArray(r)?r:[r],c,y;try{y=await ro(t.view,g,{signal:o.signal,timeoutMs:i??o.resourceTimeoutMs,fontPolicy:s,glyphFallbacks:u,documentLigatures:p,lastResortFonts:d,onFontResolution:E=>(c=E,a?.(E))});}catch(E){if(E instanceof d$1&&E.code==="aborted")return {ok:false,reason:"aborted"};throw E}if(!c)throw y?.dispose(),new d$1("layoutFailed","Document font resolution completed without publishing its evidence");let R;try{R=e(t.view,{...l,reuseAcrossRevisions:!1,...y?{measurer:y.createMeasurer(),producer:o.producer??y.producer}:o.producer?{producer:o.producer}:{}});}catch(E){throw y?.dispose(),E}if(!R.ok)return y?.dispose(),R;let b=R.session,f=y,h="active",x=()=>h==="aborted"?new d$1("aborted","Export resource settlement was aborted"):new d$1("disposed","Export session has been disposed"),F=E=>{if(h==="active"){h=E,o.signal?.removeEventListener("abort",m);try{b.dispose();}finally{f?.dispose(),f=void 0;}}},m=()=>F("aborted");return o.signal?.addEventListener("abort",m,{once:true}),o.signal?.aborted&&m(),{ok:true,session:Object.freeze({fontResolution:c,layout:()=>h==="active"?b.layout():Promise.reject(x()),layoutFor:E=>h==="active"?b.layoutFor(E):Promise.reject(x()),validatedImageBytes:E=>h==="active"?b.validatedImageBytes(E):null,admittedFontFace:ct({status:()=>h,unavailable:x,resolve:()=>f?.resolveFont}),shapeLaidOutText:pt({status:()=>h,unavailable:x,shaping:()=>f}),dispose:()=>F("disposed")})}}async function ro(e,o,t={}){if((t.glyphFallbacks?.length??0)>16)throw new RangeError("At most 16 glyph fallback faces are supported");let n$1=io(t.timeoutMs),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.addEventListener("abort",i,{once:true}),t.signal?.aborted&&i();let s=setTimeout(()=>r.abort(xt),n$1);try{de(r.signal);let a=(async()=>{let u=to(t.onActiveFontBytesChange),p=!1;try{let l=so(e).slice(0,c),g=[],d={dropped:[]},c$1=gt(e,d),y=[...o,...c$1?[c$1]:[],...t.lastResortFonts??[]],R=await l$1(y,{families:[...new Set([...(t.glyphFallbacks??[]).map(x=>x.family),...l])].slice(0,c),defaultFamily:d$2.family,signal:r.signal},{onOriginFailure:x=>g.push(x),reserveOwnedBytes:u.reserve});de(r.signal);let b=e$1(R??{});if(b.sources.length===0){let x=te(l,b.defaultFont.family,g,void 0,d.dropped);oe(x,t),ne(x,t);return}let f=await ht(n(b),void 0,t.glyphFallbacks,t.documentLigatures);de(r.signal);let h=te(l,b.defaultFont.family,g,f.resolveFont,d.dropped);return oe(h,t),ne(h,t),p=!0,Object.freeze({...f,dispose:u.release})}finally{p||u.release();}})();return await Promise.race([a,ao(r.signal)])}finally{clearTimeout(s),t.signal?.removeEventListener("abort",i);}}function io(e){if(e===void 0)return 6e4;if(!Number.isFinite(e)||e<=0)throw new RangeError("timeoutMs must be a positive finite number");return Math.max(1,e)}function ao(e){return new Promise((o,t)=>{let n=()=>{t(Ft(e));};e.aborted?n():e.addEventListener("abort",n,{once:true});})}function Ft(e){let o=e.reason===xt;return new d$1(o?"timedOut":"aborted",o?"Font resolution timed out":"Font resolution was aborted",o?void 0:{cause:e.reason})}function de(e){if(e.aborted)throw Ft(e)}function so(e){let o=[e.part().root],t=[],n=[],r=new Set([e.part().name]),i=(l,g)=>{!g||r.has(g.name)||(r.add(g.name),l.push(g.root));};for(let l of e.headerFooterPartsBySection()){for(let g of l.headers.values())i(t,g);for(let g of l.footers.values())i(t,g);}for(let l of ["footnote","endnote"])n.push(...lo(e,l));let s$1=e.documentThemeFonts(),a={...s$1,major:s$1.major,minor:s$1.minor,majorEastAsia:s$1.majorEastAsia??null,minorEastAsia:s$1.minorEastAsia??null},u=new Map,p=(l,g)=>{let d=d$3(l,e.stylesRoot(),a,uo(l,g)),c=v(l,e.numberingRoot(),e.stylesRoot(),a);for(let y of [...d.direct,...mo(l),...c,...s(l,e.stylesRoot(),a),...d.inherited]){let R=y.toLowerCase();u.has(R)||u.set(R,y);}};return p(o,"body"),p(t,"furniture"),p(n,"note"),[...u.values()]}function lo(e,o){let t=pg(e.currentPackage(),o);if(!t)return [];let n=new Set(qg(e.part()).filter(i=>i.noteKind===o).map(i=>i.noteId)),r=[];for(let i of t.root.children){if(i.kind==="textValue")continue;let s=oc(i),a=nc(i);(s==="separator"||s==="continuationSeparator"||a!==null&&n.has(a))&&r.push(i);}return r}var co="http://schemas.openxmlformats.org/officeDocument/2006/math";function uo(e,o){let t=new Set;for(let n of e){let r=[],i=[{node:n,context:o}];for(;i.length>0;){let{node:s,context:a}=i.pop();s.namespaceUri===fa$1&&s.localName==="p"&&r.push({paragraph:s,context:a});let u=s.namespaceUri===fa$1&&s.localName==="txbxContent"&&(a==="body"||a==="note")?"detached":a;for(let p=s.children.length-1;p>=0;p-=1){let l=s.children[p];l.kind!=="textValue"&&i.push({node:l,context:u});}}for(let s of r)po(s.paragraph,t,s.context);}return t}function po(e,o,t){let n=hb(),r=null,i=null,s="",a=false,u=false,p=false,l=0,g=[];for(let d=e.children.length-1;d>=0;d-=1){let c=e.children[d];c.kind!=="textValue"&&g.push({node:c,runId:null,visibility:D,containerDepth:0});}for(;g.length>0;){let{node:d,runId:c,visibility:y,containerDepth:R}=g.pop();if(R>=na||d.namespaceUri===fa$1&&d.localName==="p")continue;let b=d.namespaceUri===fa$1&&d.localName==="r"?d.id:c;if(d.namespaceUri===fa$1&&d.localName==="fldSimple"){let f=ce(d,"instr")??"";$c(f,{allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&fo(d)!==D&&o.add(d.id);}if(d.namespaceUri===fa$1&&d.localName==="fldChar"){let f=ce(d,"fldCharType");if(f==="begin")kb(n),n.nesting===1&&(r=b,i=null,s="",a=false,u=false,p=Je(d),l=0);else if(f==="separate"){let h=n.nesting===1;if(mb(n),h){let x=jb(n);s=x.instruction,a=x.overflow||n.nestingOverflow,i=b,u=true;}}else if(f==="end"){if(n.nesting===1){if(n.phase==="instruction"){let x=jb(n);s=x.instruction,a=x.overflow||n.nestingOverflow;}if(!a&&_c(s,{hasSeparate:u,hasLegacyFormData:p,allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&l!==D){let x=i??r;x&&o.add(x);}}nb(n);}continue}if(d.namespaceUri===fa$1&&(d.localName==="instrText"||d.localName==="delInstrText")){lb(n,Ot(d),d.localName==="delInstrText");continue}n.nesting>0&&ob(n)&&d.namespaceUri===fa$1&&Et(d)&&(l|=y);for(let f=d.children.length-1;f>=0;f-=1){let h=d.children[f];h.kind!=="textValue"&&g.push({node:h,runId:b,visibility:y&St(d),containerDepth:oa(d,R)});}}ib(n);}function Et(e){return e.localName==="t"||e.localName==="delText"?Ot(e).length>0:e.localName==="sym"||e.localName==="tab"||e.localName==="br"}var ue=1,bt=2,Rt=4,D=ue|bt|Rt;function fo(e){let o=[];for(let n of e.children)n.kind!=="textValue"&&o.push({node:n,visibility:D});let t=0;for(;o.length>0;){let{node:n,visibility:r}=o.pop();if(!(n.namespaceUri===fa$1&&n.localName==="p")){if(n.namespaceUri===fa$1&&Et(n)&&(t|=r,t===D))return t;for(let i of n.children)i.kind!=="textValue"&&o.push({node:i,visibility:r&St(n)});}}return t}function St(e){return e.namespaceUri!==fa$1?D:e.localName==="ins"||e.localName==="moveTo"?ue|bt:e.localName==="del"||e.localName==="moveFrom"?ue|Rt:D}function mo(e){let o=new Map,t=n=>{let r=a(n??void 0);if(r===null)return;let i=r.toLowerCase();o.has(i)||o.set(i,r);};for(let n of e){let r=[n];for(;r.length>0;){let i=r.pop();if(i.namespaceUri===co&&t(_b),i.namespaceUri===fa$1&&i.localName==="sym"&&t(b$1(oo(i,"font"))),i.namespaceUri===fa$1&&i.localName==="fldSimple"){let s=ce(i,"instr");t(Vc(s??"")?.font??null);}if(i.namespaceUri===fa$1&&i.localName==="p")for(let s of u(i))t(s);for(let s=i.children.length-1;s>=0;s-=1){let a=i.children[s];a.kind!=="textValue"&&r.push(a);}}}return [...o.values()]}function Ot(e){let o="",t=[...e.children].reverse();for(;t.length>0&&o.length<=256;){let n=t.pop();if(n.kind==="textValue")o+=n.value;else for(let r=n.children.length-1;r>=0;r-=1)t.push(n.children[r]);}return o}var At="FILE_TOO_LARGE",vt=8;function yo(e){return typeof e=="object"&&e!==null}function Tt(e){if(!(!yo(e)||typeof e.code!="string"))return e.code}function Lt(e){return e===""||e.toLowerCase()==="localhost"}function ho(e){try{let o=decodeURIComponent(e);return o.includes("\0")?null:o}catch{return null}}function Pt(e){let o=ho(e);if(o===null)return null;let t=[];for(let n of o.split(/[/\\]/))if(!(n===""||n===".")){if(n===".."){if(t.length===0)return null;t.pop();continue}t.push(n);}return `/${t.join("/")}`}function Dt(e){let o=Pt(e);return o===null?null:o.endsWith("/")?o:`${o}/`}function go(e){return e==="/"||/^\/[A-Za-z]:\/$/.test(e)}function xo(e){let o;try{o=typeof e=="string"?new URL(e):new URL("href"in e?e.href:String(e));}catch{throw new TypeError("trustedRoot must be an absolute file: URL")}if(o.protocol!=="file:")throw new TypeError("trustedRoot must use the file: protocol");if(o.username!==""||o.password!=="")throw new TypeError("trustedRoot must not include credentials");if(!Lt(o.host))throw new TypeError("trustedRoot must be a local file: URL");let t=Dt(o.pathname);if(t===null||go(t))throw new TypeError("trustedRoot must be a directory inside the filesystem");let n=new URL("file:///");return n.pathname=t,n}function Fo(e){if(typeof e=="string")return [e];if(typeof e=="object"&&e!==null&&"href"in e)return [e];if(Array.isArray(e))return e;throw new TypeError("trustedRoot must be an absolute file: URL")}function Eo(e){let o=Fo(e);if(o.length===0)throw new TypeError("trustedRoot must name at least one directory");if(o.length>vt)throw new TypeError(`trustedRoot must not exceed ${vt} directories`);return o.map(xo)}function bo(e){if(!Number.isSafeInteger(e)||e<=0)throw new TypeError("maxBytes must be a positive safe integer");if(e>b)throw new TypeError(`maxBytes must not exceed ${b}`);return e}function Ro(e,o){if(e.protocol!=="file:"||e.username!==""||e.password!==""||!Lt(e.host))return null;let t=Pt(e.pathname);if(t===null)return null;for(let n of o){let r=Dt(n.pathname);if(r===null||!t.startsWith(r)||t.length<=r.length)continue;let i=new URL("file:///");return i.pathname=t,i}return null}function So(e){return typeof e=="string"?new URL(e):"href"in e&&typeof e.href=="string"?new URL(e.href):new URL("url"in e?e.url:String(e))}function Oo(e,o,t){let n=t.relative(t.resolve(e),t.resolve(o));return n!==""&&!n.startsWith("..")&&!t.isAbsolute(n)}function wt(e,o,t){return e.some(n=>Oo(n,o,t))}async function vo(e,o){let t=[];for(let n of e)try{t.push(await o(n));}catch(r){if(Tt(r)==="ENOENT")continue;throw r}return t}function wo(e){return async(o,{signal:t,maxBytes:n})=>{if(t?.aborted)throw t.reason;let[{open:r,realpath:i},{constants:s},{fileURLToPath:a},u]=await Promise.all([import('fs/promises'),import('fs'),import('url'),import('path')]),p=e.map(y=>u.resolve(a(y.href))),l=u.resolve(a(typeof o=="string"?o:o.href));if(!wt(p,l,u))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let g=typeof s.O_NOFOLLOW=="number"?s.O_RDONLY|s.O_NOFOLLOW:"r",d=await r(l,g),c=()=>{d.close();};t?.addEventListener("abort",c,{once:true});try{if(t?.aborted)throw t.reason;let y=await i(l);if(!wt(await vo(p,i),y,u))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let R=(await d.stat()).size;if(!Number.isSafeInteger(R)||R<0||R>n)throw Object.assign(new Error("packaged file exceeds maxBytes"),{code:At});let b=new Uint8Array(R),f=0;for(;f<b.byteLength;){if(t?.aborted)throw t.reason;let{bytesRead:h}=await d.read(b,f,b.byteLength-f,f);if(h===0)break;f+=h;}if(t?.aborted)throw t.reason;return f===b.byteLength?b:b.slice(0,f)}catch(y){throw t?.aborted?t.reason:y}finally{t?.removeEventListener("abort",c),await d.close().catch(()=>{});}}}function Ao(e){if(e===null||typeof e!="object")throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");if(e.trustedRoot===void 0||e.maxBytes===void 0)throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");let o=Eo(e.trustedRoot),t=bo(e.maxBytes),n=e.read??wo(o),r=e.networkFetch??fetch;return(async(i,s)=>{let a=s?.signal;if(a?.aborted)throw a.reason;let u=So(i);if(u.protocol!=="file:")return r(u,s);let p=Ro(u,o);if(!p)return new Response(null,{status:404});let l=a?new AbortController:void 0,g=()=>l?.abort(a?.reason);a?.addEventListener("abort",g,{once:true});let d;try{if(d=await n(p,{maxBytes:t,...l?{signal:l.signal}:{}}),a?.aborted)throw a.reason;if(d.byteLength>t)return new Response(null,{status:413})}catch(c){if(a?.aborted)throw a.reason;if(l?.signal.aborted)throw l.signal.reason??c;if(c instanceof DOMException&&c.name==="AbortError"||c instanceof Error&&c.name==="AbortError")throw c;let y=Tt(c);if(y===At)return new Response(null,{status:413});if(y==="ENOENT"||y==="ENOTDIR"||y==="ELOOP")return new Response(null,{status:404});throw c}finally{a?.removeEventListener("abort",g);}return new Response(d,{status:200})})}
2
- export{le as MAX_SHARED_EXPORT_SHAPING_CONFIGURATIONS,Kt as acquireSharedExportShaping,Ao as createPackagedFileFetch,ee as hasExportAdmittedFont,ie as hasExportLaidOutText,eo as hasFontBackedExportCapabilities,no as openFontBackedDocumentForExport};
1
+ import {c as c$1,o,d as d$1,f,y,v,j as j$2,r,m,x,l as l$1}from'./chunk-IGR23DV2.js';import {j as j$1,l,k,q as q$1,h,n,c as c$2,g,_ as _$1,Z,aa}from'./chunk-JSIX2EOH.js';import'./chunk-RIYSCEFQ.js';import {d,e}from'./chunk-KAXOGCGA.js';export{d as ExportResourceError,c as createNodeImageDecodePort,b as exportDestinationNamed,e as openDocumentForExport}from'./chunk-KAXOGCGA.js';import {c,ea,sa,ic,jc as jc$1,$,fa,h as h$1,a,d as d$3,dd,b as b$1,i,zb,jd,Cb,Eb,Bb,id,Fb,Db,Gb,Ab,p,s,n as n$1,gc}from'./chunk-VIPMGGUT.js';import {d as d$2,b,a as a$1}from'./chunk-HAQ72KD7.js';import'./chunk-6ZQMII6V.js';import {ab}from'./chunk-GWQJ5774.js';import {Lg,Mg,kc,jc,fa as fa$1,E,Ue,oa,hf,pa}from'./chunk-UMRSBLO7.js';function _(e,o,t){if(o.environment.features.smcp!==1||!/\p{Ll}/u.test(o.text))return t;let n={...o,environment:{...o.environment,features:{...o.environment.features,smcp:0}}},r=e.shape(n);if(t.glyphs.length!==r.glyphs.length||t.glyphs.some((u,c)=>u.id!==r.glyphs[c]?.id))return t;let i=[],s=0;for(let u of o.text){let c=u.toUpperCase()!==u,y=i.at(-1);y&&(y.lower===c||/\p{M}/u.test(u))?y.text+=u:i.push({text:u,start:s,lower:c}),s+=u.length;}let a=[],p=[],l=[],d=true,g=0;for(let u of o.environment.direction==="rtl"?i.reverse():i){let c=u.lower?.8:1,y=[],R=[],b="",f=u.start;for(let F of u.text){let m=u.lower?F.toUpperCase():F;for(let E=0;E<m.length;E++)y.push(f),R.push(f+F.length);b+=m,f+=F.length;}let h=e.shape({...n,text:b}),x=a.length;for(let[F,m]of h.glyphs.entries()){let E=h.exactAdvancesX?.[F];E===void 0?d=false:l.push(E*c),a.push({...m,cluster:y[m.cluster]??u.start,originX:n$1(g+Math.round(m.originX*c)),originY:n$1(Math.round(m.originY*c)),offsetX:n$1(Math.round(m.offsetX*c)),offsetY:n$1(Math.round(m.offsetY*c)),advanceX:n$1(Math.round(m.advanceX*c)),advanceY:n$1(Math.round(m.advanceY*c)),drawScale:c});}for(let F of h.clusters){let m=y[F.textStart]??u.start,E=R[F.textEnd-1]??f,T=n$1(Math.round(F.advance*c)),A=p.at(-1);A&&A.textStart===m&&A.textEnd===E?p[p.length-1]={...A,glyphEnd:x+F.glyphEnd,advance:n$1(A.advance+T),caretEdges:[n$1(0),n$1(A.advance+T)]}:p.push({...F,textStart:m,textEnd:E,glyphStart:x+F.glyphStart,glyphEnd:x+F.glyphEnd,advance:T,caretEdges:F.caretEdges.map(G=>n$1(Math.round(G*c))),fontSpan:0});}g+=h.glyphs.reduce((F,m)=>F+Math.round(m.advanceX*c),0);}return {...t,glyphs:a,clusters:p,fontSpans:[{...t.fontSpans[0],glyphStart:0,glyphEnd:a.length}],exactAdvancesX:d&&l.length===a.length?l:void 0}}var st=new WeakMap;function Ut(e){let o=st.get(e);return o===void 0&&(o=zt(e.bytes,e.faceIndex),st.set(e,o)),o}var Bt=new Set(["COLR","CBDT","sbix"]),qt=512;function zt(e,o){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<12)return false;let n=0;if(lt(e,0)==="ttcf"){let i=t.getUint32(8);if(o<0||o>=i||12+4*o+4>e.byteLength||(n=t.getUint32(12+4*o),n+12>e.byteLength))return false}let r=Math.min(t.getUint16(n+4),qt);for(let i=0;i<r;i++){let s=n+12+i*16;if(s+4>e.byteLength)return false;if(Bt.has(lt(e,s)))return true}return false}function lt(e,o){return String.fromCharCode(e[o],e[o+1],e[o+2],e[o+3])}var jt=/\p{Emoji_Presentation}|️/u;function Ht(e){return jt.test(e)}function q(e,o){if(e.length<2)return e;let t=e.filter(Ut);if(t.length===0||t.length===e.length)return e;let n=e.filter(r=>!t.includes(r));return Ht(o)?[...t,...n]:[...n,...t]}var Xt=2048;function dt(e,o,t,n){if(!t.clusters.length||t.clusters.length>Xt)return null;let r=(f,h)=>{let{context:x,...F}=o,m={...F,text:h,environment:p({...o.environment,font:f})};return _(e,m,e.shape(m))},i=[],s$1=new Map;for(let f of [...t.clusters].sort((h,x)=>h.textStart-x.textStart)){let h=o.environment.font,x=o.text.slice(f.textStart,f.textEnd),F=i.at(-1);if(/^[\uFE0E\uFE0F]$/.test(x)&&F&&F.end===f.textStart){F.end=f.textEnd;continue}if(o.environment.script==="Hebr"&&/^\s+$/u.test(x)&&F&&F.font!==o.environment.font&&F.end===f.textStart){F.end=f.textEnd;continue}if(t.glyphs.slice(f.glyphStart,f.glyphEnd).some(E=>E.id===0)){let E=o.text.slice(f.textStart,f.textEnd+1),T=s$1.get(x)??q(n,E).find(A=>{try{return !r(A,x).glyphs.some(G=>G.id===0)}catch{return false}});if(!T)return null;s$1.set(x,T),h=T;}let m=i.at(-1);m&&m.font===h&&m.end===f.textStart?m.end=f.textEnd:i.push({start:f.textStart,end:f.textEnd,font:h});}let a=[],p$1=[],l=[],d=[],g=true,u=0,c=0,y=0,R=0,b=0;for(let f of o.environment.direction==="rtl"?i.reverse():i){let h=r(f.font,o.text.slice(f.start,f.end));if(h.glyphs.some(m=>m.id===0))return null;let x=a.length,F=l.length;for(let m of h.glyphs)a.push({...m,cluster:f.start+m.cluster,originX:n$1(u+m.originX),originY:n$1(c+m.originY)});if(h.exactAdvancesX===void 0)g=false;else for(let m of h.exactAdvancesX)d.push(m);for(let m of h.clusters)p$1.push({...m,textStart:f.start+m.textStart,textEnd:f.start+m.textEnd,glyphStart:x+m.glyphStart,glyphEnd:x+m.glyphEnd,fontSpan:F});h.glyphs.length&&l.push({font:f.font,glyphStart:x,glyphEnd:a.length,fallbackIndex:f.font===o.environment.font?null:n.indexOf(f.font)}),u+=h.glyphs.reduce((m,E)=>m+E.advanceX,0),c+=h.glyphs.reduce((m,E)=>m+E.advanceY,0),y=Math.max(y,h.metrics.ascent),R=Math.max(R,h.metrics.descent),b=Math.max(b,h.metrics.lineGap);}return s({...t,glyphs:a,clusters:p$1,fontSpans:l,exactAdvancesX:g&&d.length===a.length?d:void 0,metrics:{ascent:n$1(y),descent:n$1(R),lineGap:n$1(b)}},{...o.environment,fallbackOrder:n})}var Gt=new Map([["Beng",["bng2","beng"]],["Deva",["dev2","deva"]],["Gujr",["gjr2","gujr"]],["Guru",["gur2","guru"]],["Knda",["knd2","knda"]],["Mlym",["mlm2","mlym"]],["Orya",["ory2","orya"]],["Taml",["tml2","taml"]],["Telu",["tel2","telu"]],["Nkoo",["nko "]]]),Vt=512,ut=new WeakMap;function Wt(e,o){let t=new Set,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=c=>c+2<=n.byteLength?n.getUint16(c):-1,i=c=>c+4<=n.byteLength?n.getUint32(c):-1,s=c=>c+4<=n.byteLength?String.fromCharCode(n.getUint8(c),n.getUint8(c+1),n.getUint8(c+2),n.getUint8(c+3)):"",a=0;if(s(0)==="ttcf"){let c=i(8);if(c<0||o<0||o>=c||(a=i(12+o*4),a<0))return t}let p=r(a+4);if(p<0||p>1024)return t;let l=-1;for(let c=0;c<p;c+=1){let y=a+12+c*16;if(s(y)==="GSUB"){l=i(y+8);break}}if(l<0)return t;let d=r(l+4);if(d<=0)return t;let g=l+d,u=r(g);if(u<0)return t;for(let c=0;c<Math.min(u,Vt);c+=1){let y=s(g+2+c*6);y&&t.add(y);}return t}function Yt(e,o){let t=ut.get(e);return t||(t=Wt(e.bytes,e.faceIndex),ut.set(e,t)),(Gt.get(o)??[o.toLowerCase()]).some(r=>t.has(r))}function ct(e,o){let t=e.filter(n=>Yt(n,o));return t.length===0||t.length===e.length?e:[...t,...e.filter(n=>!t.includes(n))]}function J(e,o,t){if(!o.text.includes("\u2011"))return t;let n=new Set(t.glyphs.filter(i=>i.id===0).map(i=>i.cluster));if(!n.size)return t;let r=o.text.replace(/\u2011/g,(i,s)=>n.has(s)?"-":i);if(r===o.text)return t;try{let i=e.shape({...o,text:r});return s({...i,text:o.text},o.environment)}catch{return t}}function pt(e,o){if(o.length===0)return e;if(o.length>16)throw new RangeError("At most 16 glyph fallback faces are supported");let t=o.map(a=>e.fonts.resolve(a)).filter(a=>!(a instanceof d$3)),n={shape(a){return J(e.shaper,a,e.shaper.shape(a))}},r=new WeakMap,i={shape(a){let p=e.shaper.shape(a),l=r.get(p);if(l&&l.input.text===a.text&&l.input.fontSizeHalfPoints===a.fontSizeHalfPoints&&l.input.bidiLevel===a.bidiLevel&&l.input.context?.before===a.context?.before&&l.input.context?.after===a.context?.after&&l.input.environment===a.environment)return l.run;let d=s(a,J(e.shaper,a,p));return r.set(p,{input:a,run:d}),d}},s=(a,p$1)=>{let l=_(n,a,p$1);if(!l.glyphs.some(d=>d.id===0)||/^[\t\n\r\f]*$/.test(a.text))return l;if(/^(Latn|Cyrl|Grek|Hebr|Hani|Hira|Kana|Hang|Zyyy|Zinh)$/.test(a.environment.script)){let d=dt(n,a,l,t);if(d)return d}for(let d of ct(q(t,a.text),a.environment.script))if(!(d.hash===a.environment.font.hash&&d.faceIndex===a.environment.font.faceIndex))try{let g={...a,environment:p({...a.environment,font:d})},u=_(n,g,n.shape(g));if(!u.glyphs.some(c=>c.id===0))return u}catch{}return l};return {...e,shaper:i}}var Q=b$1;function ee(e){return typeof e.admittedFontFace=="function"}var $t=Object.freeze([{weight:400,style:"normal"},{weight:700,style:"normal"},{weight:400,style:"italic"},{weight:700,style:"italic"}]);function z(e){return Object.freeze({family:e.family,weight:e.weight,style:e.style})}var ft=new WeakMap;function j(e){let o=ft.get(e);return o||ft.set(e,o=Kt(e)),o}function Kt(e){let o=e.substitution;return Object.freeze({id:e.id,identity:e.identity,family:e.family,request:z(e.request),byteLength:e.byteLength,hash:e.hash,faceIndex:e.faceIndex,substitution:o?Object.freeze({requested:z(o.requested),resolved:z(o.resolved),...o.lineMetrics?{lineMetrics:Object.freeze({...o.lineMetrics})}:{}}):null})}function Zt(e){return Object.freeze({...j(e),bytes:i(e)})}function Jt(e,o){if(!e)return null;try{let t=e(o);return !t||t instanceof d$3?null:Zt(t)}catch{return null}}function mt(e){return o=>{if(e.status()!=="active")throw e.unavailable();return Jt(e.resolve(),o)}}function Qt(e){return Object.freeze(e.slice(0,Q).map(o=>Object.freeze({request:z(o.request),partName:o.partName,reason:o.reason})))}function te(e,o,t,n,r=[]){let i=new Map;for(let a of [...e,o]){let p=a.toLowerCase();i.has(p)||i.set(p,a);}let s=[...i.values()].map(a=>{let p=[];for(let l of $t){let d=n?.({family:a,...l});!d||d instanceof d$3||p.push(Object.freeze({...l,sourceFamily:d.family,via:d.substitution?"substitution":"direct",identity:d.identity,id:d.id,hash:d.hash,faceIndex:d.faceIndex,substitution:d.substitution}));}return Object.freeze({family:a,coverage:p.length===4?"complete":p.length>0?"partial":"none",faces:Object.freeze(p)})});return Object.freeze({requestedFamilies:Object.freeze([...e]),defaultFamily:o,families:Object.freeze(s),originFailures:Object.freeze([...t]),droppedEmbeddedFonts:Qt(r)})}function oe(e,o){if(o.onFontResolution){try{let t=o.onFontResolution(e);Promise.resolve(t).catch(n=>{console.warn("[fonts] font-resolution diagnostics callback failed",n);});}catch(t){console.warn("[fonts] font-resolution diagnostics callback failed",t);}return}for(let t of e.originFailures)console.warn("[fonts] a document export font origin failed and was skipped",t);for(let t of e.droppedEmbeddedFonts??[])console.warn("[fonts] a document embedded font face was dropped during export",t);}function ne(e,o,t=[]){let n=l=>l.trim().toLowerCase(),r=new Set([...e.requestedFamilies,e.defaultFamily].map(n)),i=new Set(t.map(l=>n(l.family))),s=l=>{if(!(l instanceof l$1))return true;let d=n(l.request.family);return r.has(d)||!i.has(d)},a=e.originFailures.some(({cause:l})=>l instanceof m?l.causes.length===0||l.causes.some(s):s(l));if(o.fontPolicy!=="strict"||!a&&e.families.every(l=>l.coverage==="complete"))return;let p=e.families.filter(l=>l.coverage!=="complete").map(l=>l.family).join(", ");throw new d("layoutFailed",`Strict font policy refused export${p?`; incomplete families: ${p}`:"; a font origin failed"}`)}function H(){return new Map}function re(e,o,t,n){if(t.trim().length===0)return null;let r={family:t,weight:n.bold?700:400,style:n.italic?"italic":"normal"},i=h$1(r),s=o.get(i);if(!s){try{s=e.fonts.resolve(r);}catch{return null}o.set(i,s);}return s instanceof d$3?null:s}function yt(e,o,t){let n=t.fontFamily??e.defaultFont.family;return re(e,o,n,t)}function ie(e){return typeof e.shapeLaidOutText=="function"}function ae(e){let o=H(),t=new WeakMap;return n=>{let r=sa(n.style,n.fontSlot),i=ic(n)?jc$1(n):$(n.text,r);if(i.length===0)return null;let s=r.fontFamily??e.defaultFont.family,a=re(e,o,s,r);if(!a)return null;try{if(r.smallCaps&&!_$1(e.shaper,e.environment,a,r,t))return null;let p=Z(e.shaper,e.environment,a,r,i);return Object.freeze({run:p,font:j(p.fontSpans[0]?.font??a),...p.fontSpans.length>1?{fonts:Object.freeze(p.fontSpans.map(l=>j(l.font)))}:{},fixedPointScale:e.environment.fixedPointScale})}catch{return null}}}function ht(e){return o=>{if(e.status()!=="active")throw e.unavailable();return e.shaping()?.shapeLaidOutText(o)??null}}var N=new Map,X=new WeakMap,se=0,M,le=32,gt=c;function xt(){if(M)return M;let e=(async()=>(await c$2(),g(h)))();return M=e,e.catch(()=>{M===e&&(M=void 0);}),e}function Ft(e){let o=H();return aa(e,{resolveFont(t){return yt(e,o,t)},fallback:fa()})}async function Et(e,o,t=[],n=false){if(!j$1(e))throw new TypeError("Session exporter shaping requires a prepared font handle");let r=await xt(),i=pt(await q$1(e,r,h,o,n),t);return Object.freeze({createMeasurer:()=>Ft(i),resolveFont:s=>i.fonts.resolve(s),shapeLaidOutText:ae(i),producer:["node-export-session",JSON.stringify(t),e.fingerprint,i.operation.shapingHash,`producer:${i.operation.producerVersion}`,`fallback:${ea}`].join("|"),extensionFingerprint:e.fingerprint})}function eo(e,o){if(!j$1(e))return Promise.reject(new TypeError("Shared exporter shaping requires a prepared font handle"));let t=X.get(e);if(t)return t;let n=l(e),r=N.get(n);if(!r){if(N.size>=le)return Promise.reject(new RangeError(`Shared exporter shaping is limited to ${le} process-wide configurations`));r=(async()=>{let p=k(e).sources.reduce((d,g)=>d+(g.availability==="forbidden"?0:g.bytes.byteLength),0);if(se+p>gt)throw new RangeError(`Shared exporter shaping font bytes are limited to ${gt} process-wide`);se+=p;let l;try{let d=await xt();l=await q$1(e,d,h,o);}catch(d){throw se-=p,d}return Object.freeze({createMeasurer:()=>Ft(l),shapeLaidOutText:ae(l),shapingHash:l.operation.shapingHash,producerVersion:l.operation.producerVersion})})(),N.set(n,r),r.catch(()=>{N.get(n)===r&&N.delete(n);});}let i=e.fingerprint,s=r.then(a=>Object.freeze({createMeasurer:a.createMeasurer,shapeLaidOutText:a.shapeLaidOutText,producer:["node-export",i,a.shapingHash,`producer:${a.producerVersion}`,`fallback:${ea}`].join("|"),extensionFingerprint:i}));return X.set(e,s),s.catch(()=>{X.get(e)===s&&X.delete(e);}),s}var to="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";function oo(e){let o=e.currentPackage(),t=(o.relationships.get(o.mainDocumentPart)??[]).find(r=>r.type===to),n;if(t){let r=E(t);r.mode==="Internal"&&r.target.ok&&(n=o.parts.get(r.target.partName));}return n??=o.parts.get("/word/fontTable.xml"),Ue(o,n)}function bt(e,o){let t=oo(e);if(t.length!==0)return j$2(n=>{let r$1=new Set((n.resolvedFaces??[]).map(s=>h$1(s))),i=r(t,{maxFontBytes:a,aggregateBudget:no(n),shadowedRequests:r$1});if(o)for(let s of i.dropped){if(o.dropped.length>=Q)break;o.dropped.push(s);}return {sources:i.sources}})}function no(e){let o=e.committedSourceBytes;return o===void 0||!Number.isSafeInteger(o)||o<=0?c:Math.max(0,c-o)}function ro(e){return ee(e)&&ie(e)}var w=0,Rt=Symbol("font-resolution-timeout");function io(e){let o=0,t=false;return e?.(w),{reserve:r=>{if(t)throw new Error("Document font-byte lease is already released");if(w+r>c)throw new d("layoutFailed",`Active document export font bytes are limited to ${c}; requested ${r} bytes with ${w} bytes already active`);w+=r,o+=r,e?.(w);let i=false;return ()=>{i||t||(i=true,w-=r,o-=r,e?.(w));}},release:()=>{t||(t=true,w-=o,o=0,e?.(w));}}}function ue(e,o){return e.attributes.find(t=>t.localName===o)?.value}function ao(e,o){return e.attributes.find(t=>t.localName===o&&(t.namespaceUri===fa$1||t.namespaceUri===""))?.value}async function so(e$1,o){if(o.reuseAcrossRevisions===true)throw new TypeError("reuseAcrossRevisions requires a live view or caller-supplied measurer; document-aware byte sessions are immutable");if(o.signal?.aborted)return {ok:false,reason:"aborted"};let t=ab(e$1);if(!t.ok)return t;let{fonts:n,lastResortFonts:r,fontResolutionTimeoutMs:i,fontPolicy:s,onFontResolution:a,glyphFallbacks:p,documentLigatures:l,...d$1}=o,g=Array.isArray(n)?n:[n],u=r===void 0?[]:Array.isArray(r)?r:[r],c,y;try{y=await lo(t.view,g,{signal:o.signal,timeoutMs:i??o.resourceTimeoutMs,fontPolicy:s,glyphFallbacks:p,documentLigatures:l,lastResortFonts:u,onFontResolution:E=>(c=E,a?.(E))});}catch(E){if(E instanceof d&&E.code==="aborted")return {ok:false,reason:"aborted"};throw E}if(!c)throw y?.dispose(),new d("layoutFailed","Document font resolution completed without publishing its evidence");let R;try{R=e(t.view,{...d$1,reuseAcrossRevisions:!1,...y?{measurer:y.createMeasurer(),producer:o.producer??y.producer}:o.producer?{producer:o.producer}:{}});}catch(E){throw y?.dispose(),E}if(!R.ok)return y?.dispose(),R;let b=R.session,f=y,h="active",x=()=>h==="aborted"?new d("aborted","Export resource settlement was aborted"):new d("disposed","Export session has been disposed"),F=E=>{if(h==="active"){h=E,o.signal?.removeEventListener("abort",m);try{b.dispose();}finally{f?.dispose(),f=void 0;}}},m=()=>F("aborted");return o.signal?.addEventListener("abort",m,{once:true}),o.signal?.aborted&&m(),{ok:true,session:Object.freeze({fontResolution:c,layout:()=>h==="active"?b.layout():Promise.reject(x()),layoutFor:E=>h==="active"?b.layoutFor(E):Promise.reject(x()),validatedImageBytes:E=>h==="active"?b.validatedImageBytes(E):null,admittedFontFace:mt({status:()=>h,unavailable:x,resolve:()=>f?.resolveFont}),shapeLaidOutText:ht({status:()=>h,unavailable:x,shaping:()=>f}),dispose:()=>F("disposed")})}}async function lo(e,o$1,t={}){if((t.glyphFallbacks?.length??0)>16)throw new RangeError("At most 16 glyph fallback faces are supported");let n$1=uo(t.timeoutMs),r=new AbortController,i=()=>r.abort(t.signal?.reason);t.signal?.addEventListener("abort",i,{once:true}),t.signal?.aborted&&i();let s=setTimeout(()=>r.abort(Rt),n$1);try{de(r.signal);let a=(async()=>{let p=io(t.onActiveFontBytesChange),l=!1;try{let d=po(e).slice(0,c$1),g=[],u={dropped:[]},c=bt(e,u),y=[...o$1,...c?[c]:[],...t.lastResortFonts??[]],R=await o(y,{families:[...new Set([...(t.glyphFallbacks??[]).map(x=>x.family),...d])].slice(0,c$1),defaultFamily:d$1.family,signal:r.signal},{onOriginFailure:x=>g.push(x),reserveOwnedBytes:p.reserve,maxExecutionFontBytes:h.maxFontBytes});de(r.signal);let b=f(R??{});if(b.sources.length===0){let x=te(d,b.defaultFont.family,g,void 0,u.dropped);oe(x,t),ne(x,t,t.glyphFallbacks);return}let f$1=await Et(n(b),void 0,t.glyphFallbacks,t.documentLigatures);de(r.signal);let h$1=te(d,b.defaultFont.family,g,f$1.resolveFont,u.dropped);return oe(h$1,t),ne(h$1,t,t.glyphFallbacks),l=!0,Object.freeze({...f$1,dispose:p.release})}finally{l||p.release();}})();return await Promise.race([a,co(r.signal)])}finally{clearTimeout(s),t.signal?.removeEventListener("abort",i);}}function uo(e){if(e===void 0)return 6e4;if(!Number.isFinite(e)||e<=0)throw new RangeError("timeoutMs must be a positive finite number");return Math.max(1,e)}function co(e){return new Promise((o,t)=>{let n=()=>{t(St(e));};e.aborted?n():e.addEventListener("abort",n,{once:true});})}function St(e){let o=e.reason===Rt;return new d(o?"timedOut":"aborted",o?"Font resolution timed out":"Font resolution was aborted",o?void 0:{cause:e.reason})}function de(e){if(e.aborted)throw St(e)}function po(e){let o=[e.part().root],t=[],n=[],r=new Set([e.part().name]),i=(d,g)=>{!g||r.has(g.name)||(r.add(g.name),d.push(g.root));};for(let d of e.headerFooterPartsBySection()){for(let g of d.headers.values())i(t,g);for(let g of d.footers.values())i(t,g);}for(let d of ["footnote","endnote"])n.push(...fo(e,d));let s=e.documentThemeFonts(),a={...s,major:s.major,minor:s.minor,majorEastAsia:s.majorEastAsia??null,minorEastAsia:s.minorEastAsia??null},p=new Map,l=(d,g)=>{let u=d$2(d,e.stylesRoot(),a,yo(d,g)),c=y(d,e.numberingRoot(),e.stylesRoot(),a);for(let y of [...u.direct,...xo(d),...c,...v(d,e.stylesRoot(),a),...u.inherited]){let R=y.toLowerCase();p.has(R)||p.set(R,y);}};return l(o,"body"),l(t,"furniture"),l(n,"note"),[...p.values()]}function fo(e,o){let t=Lg(e.currentPackage(),o);if(!t)return [];let n=new Set(Mg(e.part()).filter(i=>i.noteKind===o).map(i=>i.noteId)),r=[];for(let i of t.root.children){if(i.kind==="textValue")continue;let s=kc(i),a=jc(i);(s==="separator"||s==="continuationSeparator"||a!==null&&n.has(a))&&r.push(i);}return r}var mo="http://schemas.openxmlformats.org/officeDocument/2006/math";function yo(e,o){let t=new Set;for(let n of e){let r=[],i=[{node:n,context:o}];for(;i.length>0;){let{node:s,context:a}=i.pop();s.namespaceUri===fa$1&&s.localName==="p"&&r.push({paragraph:s,context:a});let p=s.namespaceUri===fa$1&&s.localName==="txbxContent"&&(a==="body"||a==="note")?"detached":a;for(let l=s.children.length-1;l>=0;l-=1){let d=s.children[l];d.kind!=="textValue"&&i.push({node:d,context:p});}}for(let s of r)ho(s.paragraph,t,s.context);}return t}function ho(e,o,t){let n=zb(),r=null,i=null,s="",a=false,p=false,l=false,d=0,g=[];for(let u=e.children.length-1;u>=0;u-=1){let c=e.children[u];c.kind!=="textValue"&&g.push({node:c,runId:null,visibility:D,containerDepth:0});}for(;g.length>0;){let{node:u,runId:c,visibility:y,containerDepth:R}=g.pop();if(R>=oa||u.namespaceUri===fa$1&&u.localName==="p")continue;let b=u.namespaceUri===fa$1&&u.localName==="r"?u.id:c;if(u.namespaceUri===fa$1&&u.localName==="fldSimple"){let f=ue(u,"instr")??"";jd(f,{allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&go(u)!==D&&o.add(u.id);}if(u.namespaceUri===fa$1&&u.localName==="fldChar"){let f=ue(u,"fldCharType");if(f==="begin")Cb(n),n.nesting===1&&(r=b,i=null,s="",a=false,p=false,l=hf(u),d=0);else if(f==="separate"){let h=n.nesting===1;if(Eb(n),h){let x=Bb(n);s=x.instruction,a=x.overflow||n.nestingOverflow,i=b,p=true;}}else if(f==="end"){if(n.nesting===1){if(n.phase==="instruction"){let x=Bb(n);s=x.instruction,a=x.overflow||n.nestingOverflow;}if(!a&&id(s,{hasSeparate:p,hasLegacyFormData:l,allowPageFields:t==="body"||t==="furniture",allowRefFields:t==="body"||t==="note",allowPageRef:t==="body",allowAutonum:t==="body"||t==="note"})&&d!==D){let x=i??r;x&&o.add(x);}}Fb(n);}continue}if(u.namespaceUri===fa$1&&(u.localName==="instrText"||u.localName==="delInstrText")){Db(n,Lt(u),u.localName==="delInstrText");continue}n.nesting>0&&Gb(n)&&u.namespaceUri===fa$1&&Ot(u)&&(d|=y);for(let f=u.children.length-1;f>=0;f-=1){let h=u.children[f];h.kind!=="textValue"&&g.push({node:h,runId:b,visibility:y&At(u),containerDepth:pa(u,R)});}}Ab(n);}function Ot(e){return e.localName==="t"||e.localName==="delText"?Lt(e).length>0:e.localName==="sym"||e.localName==="tab"||e.localName==="br"}var ce=1,vt=2,wt=4,D=ce|vt|wt;function go(e){let o=[];for(let n of e.children)n.kind!=="textValue"&&o.push({node:n,visibility:D});let t=0;for(;o.length>0;){let{node:n,visibility:r}=o.pop();if(!(n.namespaceUri===fa$1&&n.localName==="p")){if(n.namespaceUri===fa$1&&Ot(n)&&(t|=r,t===D))return t;for(let i of n.children)i.kind!=="textValue"&&o.push({node:i,visibility:r&At(n)});}}return t}function At(e){return e.namespaceUri!==fa$1?D:e.localName==="ins"||e.localName==="moveTo"?ce|vt:e.localName==="del"||e.localName==="moveFrom"?ce|wt:D}function xo(e){let o=new Map,t=n=>{let r=a$1(n??void 0);if(r===null)return;let i=r.toLowerCase();o.has(i)||o.set(i,r);};for(let n of e){let r=[n];for(;r.length>0;){let i=r.pop();if(i.namespaceUri===mo&&t(gc),i.namespaceUri===fa$1&&i.localName==="sym"&&t(b(ao(i,"font"))),i.namespaceUri===fa$1&&i.localName==="fldSimple"){let s=ue(i,"instr");t(dd(s??"")?.font??null);}if(i.namespaceUri===fa$1&&i.localName==="p")for(let s of x(i))t(s);for(let s=i.children.length-1;s>=0;s-=1){let a=i.children[s];a.kind!=="textValue"&&r.push(a);}}}return [...o.values()]}function Lt(e){let o="",t=[...e.children].reverse();for(;t.length>0&&o.length<=256;){let n=t.pop();if(n.kind==="textValue")o+=n.value;else for(let r=n.children.length-1;r>=0;r-=1)t.push(n.children[r]);}return o}var Dt="FILE_TOO_LARGE",Tt=8;function Fo(e){return typeof e=="object"&&e!==null}function kt(e){if(!(!Fo(e)||typeof e.code!="string"))return e.code}function It(e){return e===""||e.toLowerCase()==="localhost"}function Eo(e){try{let o=decodeURIComponent(e);return o.includes("\0")?null:o}catch{return null}}function _t(e){let o=Eo(e);if(o===null)return null;let t=[];for(let n of o.split(/[/\\]/))if(!(n===""||n===".")){if(n===".."){if(t.length===0)return null;t.pop();continue}t.push(n);}return `/${t.join("/")}`}function Nt(e){let o=_t(e);return o===null?null:o.endsWith("/")?o:`${o}/`}function bo(e){return e==="/"||/^\/[A-Za-z]:\/$/.test(e)}function Ro(e){let o;try{o=typeof e=="string"?new URL(e):new URL("href"in e?e.href:String(e));}catch{throw new TypeError("trustedRoot must be an absolute file: URL")}if(o.protocol!=="file:")throw new TypeError("trustedRoot must use the file: protocol");if(o.username!==""||o.password!=="")throw new TypeError("trustedRoot must not include credentials");if(!It(o.host))throw new TypeError("trustedRoot must be a local file: URL");let t=Nt(o.pathname);if(t===null||bo(t))throw new TypeError("trustedRoot must be a directory inside the filesystem");let n=new URL("file:///");return n.pathname=t,n}function So(e){if(typeof e=="string")return [e];if(typeof e=="object"&&e!==null&&"href"in e)return [e];if(Array.isArray(e))return e;throw new TypeError("trustedRoot must be an absolute file: URL")}function Oo(e){let o=So(e);if(o.length===0)throw new TypeError("trustedRoot must name at least one directory");if(o.length>Tt)throw new TypeError(`trustedRoot must not exceed ${Tt} directories`);return o.map(Ro)}function vo(e){if(!Number.isSafeInteger(e)||e<=0)throw new TypeError("maxBytes must be a positive safe integer");if(e>a)throw new TypeError(`maxBytes must not exceed ${a}`);return e}function wo(e,o){if(e.protocol!=="file:"||e.username!==""||e.password!==""||!It(e.host))return null;let t=_t(e.pathname);if(t===null)return null;for(let n of o){let r=Nt(n.pathname);if(r===null||!t.startsWith(r)||t.length<=r.length)continue;let i=new URL("file:///");return i.pathname=t,i}return null}function Ao(e){return typeof e=="string"?new URL(e):"href"in e&&typeof e.href=="string"?new URL(e.href):new URL("url"in e?e.url:String(e))}function Lo(e,o,t){let n=t.relative(t.resolve(e),t.resolve(o));return n!==""&&!n.startsWith("..")&&!t.isAbsolute(n)}function Pt(e,o,t){return e.some(n=>Lo(n,o,t))}async function To(e,o){let t=[];for(let n of e)try{t.push(await o(n));}catch(r){if(kt(r)==="ENOENT")continue;throw r}return t}function Po(e){return async(o,{signal:t,maxBytes:n})=>{if(t?.aborted)throw t.reason;let[{open:r,realpath:i},{constants:s},{fileURLToPath:a},p]=await Promise.all([import('fs/promises'),import('fs'),import('url'),import('path')]),l=e.map(y=>p.resolve(a(y.href))),d=p.resolve(a(typeof o=="string"?o:o.href));if(!Pt(l,d,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let g=typeof s.O_NOFOLLOW=="number"?s.O_RDONLY|s.O_NOFOLLOW:"r",u=await r(d,g),c=()=>{u.close();};t?.addEventListener("abort",c,{once:true});try{if(t?.aborted)throw t.reason;let y=await i(d);if(!Pt(await To(l,i),y,p))throw Object.assign(new Error("packaged file is outside trustedRoot"),{code:"ENOENT"});let R=(await u.stat()).size;if(!Number.isSafeInteger(R)||R<0||R>n)throw Object.assign(new Error("packaged file exceeds maxBytes"),{code:Dt});let b=new Uint8Array(R),f=0;for(;f<b.byteLength;){if(t?.aborted)throw t.reason;let{bytesRead:h}=await u.read(b,f,b.byteLength-f,f);if(h===0)break;f+=h;}if(t?.aborted)throw t.reason;return f===b.byteLength?b:b.slice(0,f)}catch(y){throw t?.aborted?t.reason:y}finally{t?.removeEventListener("abort",c),await u.close().catch(()=>{});}}}function Do(e){if(e===null||typeof e!="object")throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");if(e.trustedRoot===void 0||e.maxBytes===void 0)throw new TypeError("createPackagedFileFetch requires trustedRoot and maxBytes");let o=Oo(e.trustedRoot),t=vo(e.maxBytes),n=e.read??Po(o),r=e.networkFetch??fetch;return(async(i,s)=>{let a=s?.signal;if(a?.aborted)throw a.reason;let p=Ao(i);if(p.protocol!=="file:")return r(p,s);let l=wo(p,o);if(!l)return new Response(null,{status:404});let d=a?new AbortController:void 0,g=()=>d?.abort(a?.reason);a?.addEventListener("abort",g,{once:true});let u;try{if(u=await n(l,{maxBytes:t,...d?{signal:d.signal}:{}}),a?.aborted)throw a.reason;if(u.byteLength>t)return new Response(null,{status:413})}catch(c){if(a?.aborted)throw a.reason;if(d?.signal.aborted)throw d.signal.reason??c;if(c instanceof DOMException&&c.name==="AbortError"||c instanceof Error&&c.name==="AbortError")throw c;let y=kt(c);if(y===Dt)return new Response(null,{status:413});if(y==="ENOENT"||y==="ENOTDIR"||y==="ELOOP")return new Response(null,{status:404});throw c}finally{a?.removeEventListener("abort",g);}return new Response(u,{status:200})})}
2
+ export{le as MAX_SHARED_EXPORT_SHAPING_CONFIGURATIONS,eo as acquireSharedExportShaping,Do as createPackagedFileFetch,ee as hasExportAdmittedFont,ie as hasExportLaidOutText,ro as hasFontBackedExportCapabilities,so as openFontBackedDocumentForExport};
@@ -1,4 +1,4 @@
1
- import { F as FontFaceRequest, a as FontConfiguration, b as FontSource, c as FontSourceSubstitution } from './editor-DkfCCTxA.js';
1
+ import { F as FontFaceRequest, a as FontConfiguration, b as FontSource, c as FontSourceSubstitution } from './editor-B3OBYNrF.js';
2
2
 
3
3
  /**
4
4
  * A partial font configuration one origin contributes: sources, substitutions, or both.
@@ -91,7 +91,9 @@ type FontResolver = (request: FontResolutionRequest) => FontConfiguration | Font
91
91
  * of lookups (or fetches) before that limit is ever reached.
92
92
  */
93
93
  declare const MAX_RESOLVER_FAMILIES = 64;
94
- /** Word's document default when nothing else says otherwise: Calibri at 11pt. */
94
+ /** The document default font when nothing else says otherwise: Calibri at 11pt. */
95
+ declare const DEFAULT_FONT: FontConfiguration['defaultFont'];
96
+ /** @deprecated Use {@link DEFAULT_FONT}. */
95
97
  declare const WORD_DEFAULT_FONT: FontConfiguration['defaultFont'];
96
98
  /**
97
99
  * Merge a base and any number of fragments into one frozen `FontConfiguration`.
@@ -250,5 +252,5 @@ interface ComposeFontOriginsOptions {
250
252
  */
251
253
  declare function composeFontOrigins(origins: readonly FontOrigin[], request: FontResolutionRequest, options?: ComposeFontOriginsOptions): Promise<FontConfigurationFragment | undefined>;
252
254
 
253
- export { MAX_RESOLVER_FAMILIES as M, WORD_DEFAULT_FONT as W, FONT_RESOLVER_BRAND as b, FONT_RESOLVER_MARK_KEY as c, composeFontConfiguration as j, composeFontOrigins as k, defineFontResolver as l, isFontResolver as m };
255
+ export { DEFAULT_FONT as D, MAX_RESOLVER_FAMILIES as M, WORD_DEFAULT_FONT as W, FONT_RESOLVER_BRAND as b, FONT_RESOLVER_MARK_KEY as c, composeFontConfiguration as j, composeFontOrigins as k, defineFontResolver as l, isFontResolver as m };
254
256
  export type { ComposeFontOriginsOptions as C, FontOriginFailure as F, FontOrigin as a, FontConfigurationBase as d, FontConfigurationFragment as e, FontResolutionRequest as f, FontResolver as g, FontResolverMark as h, MarkedFontResolver as i };
@@ -1,5 +1,5 @@
1
- import { c as HeaderFooterParts, d as HeaderFooterSectionResolution, T as TreePackageStore } from './tree-package-fragment-YPyYC1aD.js';
2
- import { Q as OoxmlPackage, O as OoxmlPart, Z as OoxmlElement, Y as OoxmlPackageRejection } from './types-barrel-BO73JqHG.js';
1
+ import { H as HeaderFooterParts, b as HeaderFooterSectionResolution, T as TreePackageStore } from './tree-package-fragment-DYZIk1rY.js';
2
+ import { Q as OoxmlPackage, O as OoxmlPart, Z as OoxmlElement, Y as OoxmlPackageRejection } from './types-barrel-BFKR8Pzp.js';
3
3
 
4
4
  /** The package with a hyperlink relationship guaranteed present, and that relationship's id. */
5
5
  interface EnsuredHyperlinkRelationship {
@@ -1,4 +1,4 @@
1
- import { a0 as DrawingProjection, Q as OoxmlPackage } from './types-barrel-BO73JqHG.js';
1
+ import { a0 as DrawingProjection, Q as OoxmlPackage } from './types-barrel-BFKR8Pzp.js';
2
2
 
3
3
  /**
4
4
  * The engine's trust-boundary caps: recursion depth, element counts, and the rest.