pptx-react-viewer 1.1.4 → 1.1.5

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 (28) hide show
  1. package/dist/index.js +512 -96
  2. package/dist/index.mjs +512 -97
  3. package/dist/viewer/index.js +530 -102
  4. package/dist/viewer/index.mjs +530 -103
  5. package/node_modules/emf-converter/dist/index.d.mts +2 -2
  6. package/node_modules/emf-converter/dist/index.d.ts +2 -2
  7. package/node_modules/emf-converter/dist/index.js +91 -33
  8. package/node_modules/emf-converter/dist/index.mjs +91 -33
  9. package/node_modules/emf-converter/package.json +1 -1
  10. package/node_modules/mtx-decompressor/dist/index.js +39 -9
  11. package/node_modules/mtx-decompressor/dist/index.mjs +39 -9
  12. package/node_modules/mtx-decompressor/package.json +1 -1
  13. package/node_modules/pptx-viewer-core/dist/cli/index.js +0 -0
  14. package/node_modules/pptx-viewer-core/dist/cli/index.mjs +0 -0
  15. package/node_modules/pptx-viewer-core/dist/converter/index.js +0 -0
  16. package/node_modules/pptx-viewer-core/dist/converter/index.mjs +0 -0
  17. package/node_modules/pptx-viewer-core/dist/index.d.mts +95 -11
  18. package/node_modules/pptx-viewer-core/dist/index.d.ts +95 -11
  19. package/node_modules/pptx-viewer-core/dist/index.js +795 -257
  20. package/node_modules/pptx-viewer-core/dist/index.mjs +791 -258
  21. package/node_modules/pptx-viewer-core/dist/{signature-inspection-status-BcJSdOvb.d.mts → signature-inspection-status-BCUpfCQh.d.mts} +13 -2
  22. package/node_modules/pptx-viewer-core/dist/{signature-inspection-status-BcJSdOvb.d.ts → signature-inspection-status-BCUpfCQh.d.ts} +13 -2
  23. package/node_modules/pptx-viewer-core/dist/signature-node/index.d.mts +2 -2
  24. package/node_modules/pptx-viewer-core/dist/signature-node/index.d.ts +2 -2
  25. package/node_modules/pptx-viewer-core/dist/signature-node/index.js +17 -3
  26. package/node_modules/pptx-viewer-core/dist/signature-node/index.mjs +16 -4
  27. package/node_modules/pptx-viewer-core/package.json +1 -1
  28. package/package.json +6 -4
@@ -591,14 +591,8 @@ function decodeSimpleGlyph(numContours, streams, out, calcBBox, minX, minY, maxX
591
591
  const flag = flagBytes[i];
592
592
  onCurve[i] = flag & 128 ? 0 : 1;
593
593
  const enc = TRIPLET_ENCODINGS[flag & 127];
594
- const extraBytes = enc.byteCount - 1;
595
- const subBuf = new Uint8Array(extraBytes);
596
- for (let b = 0; b < extraBytes; b++) {
597
- subBuf[b] = sGlyph.readU8();
598
- }
599
- const sub = new Stream(subBuf, extraBytes);
600
- let dx = sub.readNBits(enc.xBits) + enc.deltaX;
601
- let dy = sub.readNBits(enc.yBits) + enc.deltaY;
594
+ let dx = sGlyph.readNBits(enc.xBits) + enc.deltaX;
595
+ let dy = sGlyph.readNBits(enc.yBits) + enc.deltaY;
602
596
  if (enc.xSign !== 0) {
603
597
  dx *= enc.xSign;
604
598
  }
@@ -1156,6 +1150,8 @@ var MAX_2BYTE_DIST = 512;
1156
1150
  var PRELOAD_SIZE = 2 * 32 * 96 + 4 * 256;
1157
1151
  var LEN_MIN = 2;
1158
1152
  var DIST_MIN = 1;
1153
+ var MAX_OUT_LEN = 4 * 1024 * 1024;
1154
+ var MAX_OUT = 16 * 1024 * 1024;
1159
1155
  var RLE_INITIAL = 0;
1160
1156
  var RLE_NORMAL = 1;
1161
1157
  var RLE_SEEN_ESCAPE = 2;
@@ -1165,6 +1161,9 @@ function setDistRange(length) {
1165
1161
  let distMax = DIST_MIN + ((1 << DIST_WIDTH * numDistRanges) - 1);
1166
1162
  while (distMax < length) {
1167
1163
  numDistRanges++;
1164
+ if (numDistRanges > 8) {
1165
+ throw new Error("LZCOMP setDistRange: numDistRanges exceeds bound (8)");
1166
+ }
1168
1167
  distMax = DIST_MIN + ((1 << DIST_WIDTH * numDistRanges) - 1);
1169
1168
  }
1170
1169
  const DUP2 = 256 + (1 << LEN_WIDTH) * numDistRanges;
@@ -1195,7 +1194,11 @@ function decodeLength(lenEcoder, symbol, numDistRangesOut) {
1195
1194
  let firstTime = true;
1196
1195
  let value = 0;
1197
1196
  let done;
1197
+ let iters = 0;
1198
1198
  do {
1199
+ if (++iters > 16) {
1200
+ throw new Error("LZCOMP decodeLength: iteration cap exceeded");
1201
+ }
1199
1202
  let bits;
1200
1203
  if (firstTime) {
1201
1204
  bits = symbol - 256;
@@ -1234,6 +1237,9 @@ function lzcompDecompress(data, size, version) {
1234
1237
  const distEcoder = new AHuff(bio, 1 << DIST_WIDTH);
1235
1238
  const lenEcoder = new AHuff(bio, 1 << LEN_WIDTH);
1236
1239
  const outLen = bio.readValue(24);
1240
+ if (outLen > MAX_OUT_LEN) {
1241
+ throw new Error(`LZCOMP outLen ${outLen} exceeds maximum (${MAX_OUT_LEN})`);
1242
+ }
1237
1243
  const { DUP2, DUP4, DUP6, NUM_SYMS } = setDistRange(outLen);
1238
1244
  const symEcoder = new AHuff(bio, NUM_SYMS);
1239
1245
  const windowSize = PRELOAD_SIZE + outLen;
@@ -1250,6 +1256,9 @@ function lzcompDecompress(data, size, version) {
1250
1256
  if (!usingRunLength) {
1251
1257
  if (outIdx >= outBufSize) {
1252
1258
  outBufSize += outBufSize >>> 1;
1259
+ if (outBufSize > MAX_OUT) {
1260
+ throw new Error("LZCOMP output exceeds maximum size budget");
1261
+ }
1253
1262
  const tmp = new Uint8Array(outBufSize);
1254
1263
  tmp.set(outBuf);
1255
1264
  outBuf = tmp;
@@ -1268,6 +1277,9 @@ function lzcompDecompress(data, size, version) {
1268
1277
  } else {
1269
1278
  if (outIdx >= outBufSize) {
1270
1279
  outBufSize += outBufSize >>> 1;
1280
+ if (outBufSize > MAX_OUT) {
1281
+ throw new Error("LZCOMP output exceeds maximum size budget");
1282
+ }
1271
1283
  const tmp = new Uint8Array(outBufSize);
1272
1284
  tmp.set(outBuf);
1273
1285
  outBuf = tmp;
@@ -1280,6 +1292,9 @@ function lzcompDecompress(data, size, version) {
1280
1292
  if (rleCount === 0) {
1281
1293
  if (outIdx >= outBufSize) {
1282
1294
  outBufSize += outBufSize >>> 1;
1295
+ if (outBufSize > MAX_OUT) {
1296
+ throw new Error("LZCOMP output exceeds maximum size budget");
1297
+ }
1283
1298
  const tmp = new Uint8Array(outBufSize);
1284
1299
  tmp.set(outBuf);
1285
1300
  outBuf = tmp;
@@ -1293,6 +1308,9 @@ function lzcompDecompress(data, size, version) {
1293
1308
  case RLE_NEED_BYTE: {
1294
1309
  if (outIdx + rleCount > outBufSize) {
1295
1310
  outBufSize = outIdx + rleCount + (outBufSize >>> 1);
1311
+ if (outBufSize > MAX_OUT) {
1312
+ throw new Error("LZCOMP output exceeds maximum size budget");
1313
+ }
1296
1314
  const tmp = new Uint8Array(outBufSize);
1297
1315
  tmp.set(outBuf);
1298
1316
  outBuf = tmp;
@@ -1456,11 +1474,23 @@ function dumpContainer(ctr) {
1456
1474
  // src/mtx-decompress.ts
1457
1475
  var ENCRYPTION_KEY = 80;
1458
1476
  function unpackMtx(data, size) {
1477
+ if (size < 10 || data.length < 10) {
1478
+ throw new Error("MTX data too small: header requires at least 10 bytes");
1479
+ }
1459
1480
  const versionMagic = data[0];
1460
1481
  const offset2 = data[4] << 16 | data[5] << 8 | data[6];
1461
1482
  const offset3 = data[7] << 16 | data[8] << 8 | data[9];
1483
+ if (offset2 < 10 || offset3 < offset2 || offset3 > size) {
1484
+ throw new Error(
1485
+ `MTX header offsets out of bounds: offset2=${offset2}, offset3=${offset3}, size=${size}`
1486
+ );
1487
+ }
1462
1488
  const offsets = [10, offset2, offset3];
1463
- const blockSizes = [offset2 - 10, offset3 - offset2, size - offset3];
1489
+ const blockSizes = [
1490
+ Math.max(0, offset2 - 10),
1491
+ Math.max(0, offset3 - offset2),
1492
+ Math.max(0, size - offset3)
1493
+ ];
1464
1494
  const streams = [];
1465
1495
  const decompressedSizes = [];
1466
1496
  for (let i = 0; i < 3; i++) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mtx-decompressor",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "MicroType Express (MTX) font decompressor — extracts TTF/OTF from compressed EOT containers.",
5
5
  "homepage": "https://github.com/ChristopherVR/pptx-viewer",
6
6
  "bugs": {
@@ -4,7 +4,7 @@ import { F as FindResult, M as MergeOptions } from './text-operations-CLj-sJyk.m
4
4
  export { f as findText, m as mergePresentation, r as replaceText, a as replaceTextInSlide } from './text-operations-CLj-sJyk.mjs';
5
5
  import { XMLParser, XMLBuilder } from 'fast-xml-parser';
6
6
  import JSZip from 'jszip';
7
- export { C as CertificateRevocationStatus, D as DIGEST_ALGORITHM_TO_HASH, a as DIGEST_ALGORITHM_TO_WEB_CRYPTO, b as DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, c as DIGITAL_SIGNATURE_REL_TYPE, d as DigitalSignatureReport, e as DigitalSignatureVerificationStatus, E as ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, f as ENTERPRISE_REQUIRE_REVOCATION_ENV, g as ENTERPRISE_REQUIRE_TIMESTAMP_ENV, h as ENTERPRISE_TRUST_ROOTS_FILE_ENV, i as ENTERPRISE_TRUST_ROOTS_PEM_ENV, L as LoadedSigningMaterial, O as OPC_RELATIONSHIP_TRANSFORM, j as OfficeSignatureReference, P as PPTX_VIEWER_MANIFEST_NS, k as ParsedReferenceTransform, R as ReferenceTransformResult, S as SUPPORTED_XML_CANON_TRANSFORMS, l as SignOptions, m as SignResult, n as SignatureDetail, o as SignatureDetailStatus, p as SignatureNodeCertificateInfo, q as SignatureReferenceCheck, r as SignatureValidationPolicy, T as TimestampAuthorityStatus, X as XMLDSIG_NS, s as XML_TRANSFORM_ENVELOPED_SIGNATURE, t as computeDetailStatus, u as computeDigestBase64WebCrypto, v as computeVerificationStatus, w as escapeXmlAttr, x as extractAllTagText, y as extractFirstTagText, z as extractTagAttribute, A as normalizePartPath, B as resolveReferenceUriToPart } from './signature-inspection-status-BcJSdOvb.mjs';
7
+ export { C as CertificateRevocationStatus, D as DIGEST_ALGORITHM_TO_HASH, a as DIGEST_ALGORITHM_TO_WEB_CRYPTO, b as DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, c as DIGITAL_SIGNATURE_REL_TYPE, d as DigitalSignatureReport, e as DigitalSignatureVerificationStatus, E as ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, f as ENTERPRISE_REQUIRE_REVOCATION_ENV, g as ENTERPRISE_REQUIRE_TIMESTAMP_ENV, h as ENTERPRISE_TRUST_ROOTS_FILE_ENV, i as ENTERPRISE_TRUST_ROOTS_PEM_ENV, L as LoadedSigningMaterial, O as OPC_RELATIONSHIP_TRANSFORM, j as OfficeSignatureReference, P as PPTX_VIEWER_MANIFEST_NS, k as ParsedReferenceTransform, R as ReferenceTransformResult, S as SUPPORTED_XML_CANON_TRANSFORMS, l as SignOptions, m as SignResult, n as SignatureDetail, o as SignatureDetailStatus, p as SignatureNodeCertificateInfo, q as SignatureReferenceCheck, r as SignatureValidationPolicy, T as TimestampAuthorityStatus, X as XMLDSIG_NS, s as XML_TRANSFORM_ENVELOPED_SIGNATURE, t as computeDetailStatus, u as computeDigestBase64WebCrypto, v as computeVerificationStatus, w as escapeXmlAttr, x as escapeXmlText, y as extractAllTagText, z as extractFirstTagText, A as extractTagAttribute, B as isValidBase64, F as normalizePartPath, G as resolveReferenceUriToPart } from './signature-inspection-status-BCUpfCQh.mjs';
8
8
  export { convertEmfToDataUrl, convertWmfToDataUrl } from 'emf-converter';
9
9
  export { C as ConversionOptions, a as ConversionResult, D as DocumentConverter, F as FileSystemAdapter, M as MediaContext, P as PptxConverterOptions, b as PptxMarkdownConverter, S as SlideProcessor, c as SlideProcessorOptions, d as SvgExportOptions, e as SvgExporter, f as dataUrlToMediaBytes, g as deriveOutputPath, h as generateMediaFilename, i as getDirectory, n as normalizePath } from './SvgExporter-BQ4KbRO9.mjs';
10
10
 
@@ -839,6 +839,48 @@ declare class PptxSlideNotesBuilder {
839
839
  interface PptxHandlerLoadOptions {
840
840
  eagerDecodeImages?: boolean;
841
841
  password?: string;
842
+ /**
843
+ * Maximum total uncompressed bytes accepted from the input ZIP archive.
844
+ * Defaults to 500 MiB. When the sum of `_data.uncompressedSize` across
845
+ * all archive entries exceeds this cap, `load()` rejects with a
846
+ * {@link ZipBombError}. A hard cap of 65 536 archive entries also
847
+ * applies.
848
+ */
849
+ maxUncompressedBytes?: number;
850
+ /**
851
+ * When `false` (default), relationship targets that resolve to
852
+ * `http://` or `https://` URLs are dropped from rendered slides
853
+ * (image, picture, background). Set to `true` to allow external image
854
+ * URLs to flow through to `<img src>`.
855
+ *
856
+ * Disabled by default to mitigate SSRF / privacy-leak vectors in
857
+ * server-side rendering and headless export pipelines.
858
+ */
859
+ allowExternalImages?: boolean;
860
+ }
861
+ /**
862
+ * Default maximum uncompressed byte budget for {@link PptxHandlerLoadOptions.maxUncompressedBytes}.
863
+ * 500 MiB.
864
+ */
865
+ declare const DEFAULT_MAX_UNCOMPRESSED_BYTES: number;
866
+ /**
867
+ * Hard cap on archive entry count. Beyond this, the package is rejected.
868
+ */
869
+ declare const MAX_ZIP_ENTRY_COUNT = 65536;
870
+ /**
871
+ * Thrown by the load pipeline when a ZIP archive exceeds the configured
872
+ * uncompressed-size budget or the entry-count limit.
873
+ */
874
+ declare class ZipBombError extends Error {
875
+ readonly code = "ZIP_BOMB";
876
+ readonly uncompressedBytes: number | undefined;
877
+ readonly limit: number;
878
+ readonly entryCount: number | undefined;
879
+ constructor(message: string, details: {
880
+ uncompressedBytes?: number;
881
+ limit: number;
882
+ entryCount?: number;
883
+ });
842
884
  }
843
885
  /** Output format for the save pipeline. */
844
886
  type PptxSaveFormat = 'pptx' | 'ppsx' | 'pptm';
@@ -1689,10 +1731,12 @@ declare function cloneSlide(slide: PptxSlide): PptxSlide;
1689
1731
  */
1690
1732
  declare function cloneTemplateElementsBySlideId(templateElementsBySlideId: Record<string, PptxElement[]>): Record<string, PptxElement[]>;
1691
1733
  /**
1692
- * Deep-clone an {@link XmlObject} tree using JSON round-trip serialisation.
1734
+ * Deep-clone an {@link XmlObject} tree.
1693
1735
  *
1694
- * This is a simple but reliable approach for pure-data XML objects.
1695
- * Returns `undefined` if cloning fails (e.g. circular references).
1736
+ * Prefers the structured clone algorithm (faster, preserves more types)
1737
+ * with a JSON round-trip fallback for legacy runtimes that lack
1738
+ * {@link structuredClone}. Returns `undefined` if cloning fails
1739
+ * (e.g. circular references on the JSON path).
1696
1740
  *
1697
1741
  * @param value - The XML object tree to clone.
1698
1742
  * @returns A deep copy, or `undefined` on failure.
@@ -1975,14 +2019,31 @@ declare function parseDataUrlToBytes(dataUrl: string): {
1975
2019
  bytes: Uint8Array;
1976
2020
  extension: string;
1977
2021
  } | null;
2022
+ /**
2023
+ * Options for {@link fetchUrlToBytes}.
2024
+ *
2025
+ * `allowExternalFetch` (default `false`) gates `http:`/`https:` URLs to
2026
+ * prevent SSRF during save: a deck whose mediaData was populated by an
2027
+ * untrusted source could otherwise force the host to issue arbitrary HTTP
2028
+ * requests (e.g. to cloud-metadata endpoints).
2029
+ *
2030
+ * `allowedSchemes` further constrains the accepted URL schemes. The default
2031
+ * permits only `pptx-resource:`, `blob:`, and `data:` — schemes that cannot
2032
+ * reach a remote network.
2033
+ */
2034
+ interface FetchUrlToBytesOptions {
2035
+ allowExternalFetch?: boolean;
2036
+ allowedSchemes?: ReadonlySet<string>;
2037
+ }
1978
2038
  /**
1979
2039
  * Resolve a media source URL (pptx-resource://, blob:, http(s)://) to raw
1980
- * bytes by fetching it. Returns null on failure.
2040
+ * bytes by fetching it. Returns null on failure or when the URL scheme is
2041
+ * not permitted by {@link FetchUrlToBytesOptions}.
1981
2042
  *
1982
2043
  * This is used during PPTX save to embed media that was streamed from disk
1983
2044
  * (via pptx-resource:// URLs) rather than stored as base64 data URLs.
1984
2045
  */
1985
- declare function fetchUrlToBytes(url: string): Promise<{
2046
+ declare function fetchUrlToBytes(url: string, options?: FetchUrlToBytesOptions): Promise<{
1986
2047
  bytes: Uint8Array;
1987
2048
  extension: string;
1988
2049
  } | null>;
@@ -5177,6 +5238,12 @@ declare class PptxHandlerRuntime$1b {
5177
5238
  * images are decoded lazily on first access via {@link getImageData}.
5178
5239
  */
5179
5240
  protected eagerDecodeImages: boolean;
5241
+ /**
5242
+ * When true, relationship targets pointing at `http://` / `https://`
5243
+ * URLs are passed through to `<img src>`. Default `false`. Mirrors the
5244
+ * `allowExternalImages` load option.
5245
+ */
5246
+ protected allowExternalImages: boolean;
5180
5247
  /** Ordered slide file paths (populated during load for action target resolution). */
5181
5248
  protected orderedSlidePaths: string[];
5182
5249
  /** Theme colour scheme map: scheme key (e.g. "dk1", "accent1") -> hex colour value. */
@@ -5614,7 +5681,7 @@ declare class PptxHandlerRuntime$15 extends PptxHandlerRuntime$16 {
5614
5681
  * Enrich parsed media elements with timing data from the slide's
5615
5682
  * `p:timing` tree (trim, loop, poster frame, fullScreen).
5616
5683
  */
5617
- protected enrichMediaElementsWithTiming(elements: PptxElement[], timingMap: Map<string, MediaTimingData>): Promise<void>;
5684
+ protected enrichMediaElementsWithTiming(elements: PptxElement[], timingMap: Map<string, MediaTimingData>, depth?: number): Promise<void>;
5618
5685
  /**
5619
5686
  * Parse native OOXML animations from `p:sld/p:timing`.
5620
5687
  * Extracts trigger types, preset classes, durations, and target IDs.
@@ -5690,6 +5757,13 @@ declare class PptxHandlerRuntime$13 extends PptxHandlerRuntime$14 {
5690
5757
  type: string;
5691
5758
  idx?: string;
5692
5759
  }>;
5760
+ /**
5761
+ * Allowed top-level OPC archive directories (Load M1).
5762
+ * After path resolution, the first segment must be one of these or the
5763
+ * path is rejected as a traversal attempt. PPTX archives only ever
5764
+ * legitimately reference parts under these roots.
5765
+ */
5766
+ private static readonly ALLOWED_PATH_ROOTS;
5693
5767
  protected resolvePath(base: string, relative: string): string;
5694
5768
  protected resolveImagePath(slidePath: string, target: string): string;
5695
5769
  /**
@@ -6576,7 +6650,7 @@ declare class PptxHandlerRuntime$E extends PptxHandlerRuntime$F {
6576
6650
  declare class PptxHandlerRuntime$D extends PptxHandlerRuntime$E {
6577
6651
  protected findPlaceholderInShapeTree(spTree: XmlObject | undefined, expected: PlaceholderInfo | null): PlaceholderLookupContext | undefined;
6578
6652
  protected findPlaceholderContext(slidePath: string, expected: PlaceholderInfo | null): PlaceholderLookupContext | undefined;
6579
- protected mergeXmlObjects(base: XmlObject | undefined, override: XmlObject | undefined): XmlObject | undefined;
6653
+ protected mergeXmlObjects(base: XmlObject | undefined, override: XmlObject | undefined, depth?: number): XmlObject | undefined;
6580
6654
  protected readFlipState(xfrm: XmlObject | undefined): {
6581
6655
  flipHorizontal: boolean;
6582
6656
  flipVertical: boolean;
@@ -6805,7 +6879,7 @@ declare class PptxHandlerRuntime$t extends PptxHandlerRuntime$u {
6805
6879
  }
6806
6880
 
6807
6881
  declare class PptxHandlerRuntime$s extends PptxHandlerRuntime$t {
6808
- protected parseGroupShape(group: any, baseId: string, slidePath: string, rawXmlStr?: string): Promise<PptxElement[]>;
6882
+ protected parseGroupShape(group: any, baseId: string, slidePath: string, rawXmlStr?: string, depth?: number): Promise<PptxElement[]>;
6809
6883
  /**
6810
6884
  * Parse a p:grpSp element into a GroupPptxElement with children.
6811
6885
  * Children have coordinates relative to the group's position.
@@ -7546,6 +7620,11 @@ declare class PptxHandlerRuntime$2 extends PptxHandlerRuntime$3 {
7546
7620
  * attribute on `p:cNvPr` / `p:cNvCxnSpPr` / `p:cNvPicPr` nodes.
7547
7621
  * This is used to seed the element builder's ID counter so that
7548
7622
  * new elements never collide with existing ones.
7623
+ *
7624
+ * Implementation note (Load H1): uses an explicit-stack iterative walk
7625
+ * instead of recursion to bound stack usage on attacker-supplied XML
7626
+ * with deeply nested nodes. Also caps total visited nodes at
7627
+ * MAX_NODES to bound CPU on pathological trees.
7549
7628
  */
7550
7629
  protected findMaxElementId(slides: PptxSlide[]): number;
7551
7630
  protected resetElementIdCounter(slides: PptxSlide[]): void;
@@ -8933,10 +9012,15 @@ declare function subtractSvgPaths(path1: string, path2: string): string;
8933
9012
  /**
8934
9013
  * Douglas-Peucker polyline simplification.
8935
9014
  *
8936
- * Recursively removes points that lie within `tolerance` of the line
9015
+ * Iteratively removes points that lie within `tolerance` of the line
8937
9016
  * segment connecting their neighbours, preserving overall shape while
8938
9017
  * dramatically reducing point count for freeform drawing input.
8939
9018
  *
9019
+ * Implemented with an explicit stack of `[lo, hi]` index ranges (rather
9020
+ * than recursion) so deep inputs cannot blow the JS call stack. Inputs
9021
+ * larger than {@link MAX_DOUGLAS_PEUCKER_POINTS} are short-circuited to
9022
+ * just the two endpoints.
9023
+ *
8940
9024
  * @param points - Input polyline points (at least 2).
8941
9025
  * @param tolerance - Maximum perpendicular distance for a point to be
8942
9026
  * removed. Larger values produce fewer points. Default: `2`.
@@ -11750,4 +11834,4 @@ type ThemePresetName = keyof typeof ThemePresets;
11750
11834
  /** Get a theme preset by name string. */
11751
11835
  declare function getThemePreset(name: ThemePresetName): ThemePreset;
11752
11836
 
11753
- export { ALL_ANIMATION_PRESETS, type AccessibilityCheckOptions, type AccessibilityIssue, type AccessibilityIssueSeverity, type AccessibilityIssueType, type AlternateContentBlock, type AnimationCategory, AnimationCondition, type AnimationInput, type AnimationPresetInfo, BLIP_FILL_ORDER, type BackgroundInput, BulletInfo, COLOR_MAP_ALIAS_KEYS, CONNECTOR_ARROW_OPTIONS, CONNECTOR_GEOMETRY_OPTIONS, type CalloutLeaderLineGeometry, type CalloutPoint, ChartBuilder, type ChartInput, type ChartOptions, ChartPptxElement, type ChartSeriesInput, type ColorMapAliasKey, type CompatibilityWarningInput, ConnectorArrowType, ConnectorBuilder, type ConnectorGeometryType, type ConnectorOptions, type ConnectorPathGeometry, ConnectorPptxElement, ConnectorXmlFactory, type ConnectorXmlFactoryInit, type ContainerBounds, CustomGeometryPath, CustomGeometryPoint, CustomGeometryRawData, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_MAP, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, DataIntegrityError, EFFECT_LST_ORDER, EMPHASIS_PRESETS, EMU_PER_INCH, EMU_PER_PIXEL, EMU_PER_POINT, EMU_PER_PX, ENTRANCE_PRESETS, EXIT_PRESETS, ElementAction, type ElementDiff, type ElementPosition, EncryptedFileError, type EncryptionAlgorithm, type EncryptionInfo, type EncryptionOptions, FONT_SUBSTITUTION_MAP, type FileFormatDetection, type FillInput, FindResult, FreeformPathBuilder, GeometryAdjustmentHandle, type GeometryContext, type GeometryGuide, GroupBuilder, type GroupOptions, GroupPptxElement, type HslColor, type IConnectorXmlFactory, type ICoreXmlElementFactory, type IFactory, type IMediaGraphicFrameXmlFactory, type IPictureXmlFactory, type IPptxAnimationWriteService, type IPptxColorStyleCodec, type IPptxCommentAuthorsXmlFactory, type IPptxCommentXmlFactoryProvider, type IPptxCompatibilityService, type IPptxConnectorParser, type IPptxContentTypesBuilder, type IPptxEditorAnimationService, type IPptxElementTransformUpdater, type IPptxGraphicFrameParser, type IPptxHandlerRuntime, type IPptxHandlerRuntimeFactory, type IPptxMediaDataParser, type IPptxNativeAnimationService, type IPptxPresentationSaveBuilder, type IPptxPresentationSlidesReconciler, type IPptxRuntimeDependencyFactory, type IPptxShapeIdValidator, type IPptxShapeStyleExtractor, type IPptxSlideBackgroundBuilder, type IPptxSlideCommentPartWriter, type IPptxSlideCommentsXmlFactory, type IPptxSlideLoaderService, type IPptxSlideMediaRelationshipBuilder, type IPptxSlideNotesPartUpdater, type IPptxSlideRelationshipRegistry, type IPptxSlideTransitionService, type IPptxTableDataParser, type IPptxTemplateBackgroundService, type IPptxXmlBuilder, type IPptxXmlFactoryProvider, type IPptxXmlLookupService, type ITextShapeXmlFactory, type IXmlElementFactory, ImageBuilder, type ImageMaskStyle, type ImageOptions, ImagePptxElement, IncorrectPasswordError, InkPptxElement, type LayoutAlgorithmType, type LayoutConstraints, type LayoutCreationResult, type LayoutDefinition, type LayoutEngineShape, type LayoutRule, type LinkedTextBoxChain, type LinkedTextBoxChainMember, type LinkedTextBoxSegmentMap, MIN_ELEMENT_SIZE, MOTION_PATH_PRESETS, MediaBookmark, MediaBuilder, MediaGraphicFrameXmlFactory, type MediaGraphicFrameXmlFactoryInit, type MediaOptions, MediaPptxElement, MergeOptions, type MergeShapeOperation, type Model3DTransform, type Ole2DirectoryEntry, type Ole2File, Ole2ParseError, OleObjectType, OlePptxElement, type OoxmlConformanceClass, P14_GUIDE_URI, P15_GUIDE_URI, PANOSE_FAMILY_MAP, PANOSE_MONOSPACE_PROPORTION, PANOSE_SANS_SERIF_STYLES, PANOSE_WEIGHT_MAP, POWERPOINT_PRESENCE_KEY, PRESET_COLOR_MAP, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_TO_OOXML, type ParsedLayoutDef, type ParsedSignature, type ParsedTableStyle, ParsedTableStyleFill, ParsedTableStyleMap, type ParsedTableStylePart, ParsedTableStyleText, PictureXmlFactory, type PictureXmlFactoryInit, PlaceholderDefaults, type PlaceholderDefinition, PlaceholderTextLevelStyle, PptxAction, PptxActiveXControl, PptxAnimationPreset, PptxAnimationTrigger, PptxAnimationWriteService, PptxAppProperties, type PptxBuilderFactoryContext, PptxChart3DSurface, PptxChartAxisFormatting, PptxChartData, PptxChartDataLabel, PptxChartDataPoint, PptxChartDataTable, PptxChartErrBars, PptxChartLineStyle, PptxChartMarker, PptxChartSeries, PptxChartShapeProps, PptxChartStyle, PptxChartTrendline, PptxChartType, PptxColorStyleCodec, type PptxColorStyleCodecContext, PptxComment, PptxCommentAuthor, type PptxCommentAuthorDescriptor, PptxCommentAuthorsXmlFactory, type PptxCommentAuthorsXmlFactoryInit, PptxCommentXmlFactoryProvider, PptxCompatibilityService, PptxCompatibilityWarning, PptxConnectorParser, type PptxConnectorParserContext, PptxContentTypesBuilder, type PptxContentTypesCommentBuildInput, type PptxContentTypesSlideMediaBuildInput, PptxCoreProperties, PptxCustomProperty, PptxCustomShow, PptxCustomXmlPart, PptxCustomerData, PptxData, PptxDocumentPropertiesUpdater, PptxDrawingGuide, PptxEditorAnimationService, type PptxEditorAnimationServiceOptions, PptxElement, PptxElementAnimation, PptxElementTransformUpdater, PptxElementWithShapeStyle, PptxElementWithText, PptxElementXmlBuilder, type PptxElementXmlBuilderOptions, PptxEmbeddedFont, PptxEmbeddedWorkbookData, PptxExportOptions, PptxExternalData, PptxGraphicFrameParser, type PptxGraphicFrameParserContext, PptxHandler, type PptxHandlerLoadOptions, PptxHandlerRuntime, PptxHandlerRuntimeFactory, type PptxHandlerSaveOptions, PptxHandoutMaster, PptxHeaderFooter, PptxImageEffects, PptxImageLikeElement, PptxKinsoku, PptxLayoutOption, PptxLoadDataBuilder, PptxMasterTextStyles, PptxMediaDataParser, type PptxMediaDataParserContext, type PptxMediaTimingEntry, type PptxMediaTimingMap, PptxModifyVerifier, PptxNativeAnimation, PptxNativeAnimationService, PptxNotesMaster, PptxPhotoAlbum, PptxPresentationProperties, type PptxPresentationSaveBuildInput, PptxPresentationSaveBuilder, type PptxPresentationSaveBuilderOptions, PptxPresentationSlidesReconciler, type PptxPresentationSlidesReconcilerInput, type PptxRuntimeDependencyBundle, PptxRuntimeDependencyFactory, type PptxRuntimeDependencyFactoryInput, type PptxSaveConstants, PptxSaveConstantsFactory, type PptxSaveFormat, type PptxSaveMediaKind, PptxSaveState as PptxSaveSession, PptxSaveStateBuilder as PptxSaveSessionBuilder, PptxSaveState, PptxSaveStateBuilder, PptxSection, PptxShapeIdValidator, PptxShapeLocks, PptxShapeStyleExtractor, type PptxShapeStyleExtractorContext, PptxSlide, PptxSlideBackgroundBuilder, type PptxSlideBackgroundBuilderInput, PptxSlideBuilder, PptxSlideCommentPartWriter, type PptxSlideCommentPartWriterInput, type PptxSlideCommentRelationshipInfo, PptxSlideCommentsXmlFactory, type PptxSlideCommentsXmlFactoryInit, PptxSlideElementsBuilder, type PptxSlideLoaderParams, PptxSlideLoaderService, type PptxSlideLoaderThemeOverride, PptxSlideMaster, PptxSlideMediaRelationshipBuilder, PptxSlideNotesBuilder, PptxSlideNotesPartUpdater, type PptxSlideNotesPartUpdaterInput, type PptxSlideNotesResult, PptxSlideRelationshipRegistry, type PptxSlideRelationshipRegistryOptions, PptxSlideTransition, PptxSlideTransitionService, type PptxSlideTransitionServiceOptions, PptxSmartArtChrome, PptxSmartArtColorTransform, PptxSmartArtData, PptxSmartArtDrawingShape, PptxSmartArtNode, PptxSmartArtQuickStyle, PptxTableCellStyle, PptxTableData, PptxTableDataParser, type PptxTableDataParserContext, PptxTagCollection, PptxTemplateBackgroundService, type PptxTemplateBackgroundState, PptxTextStyleLevels, PptxTheme, PptxThemeColorScheme, PptxThemeEffectStyle, PptxThemeFillStyle, PptxThemeFontScheme, PptxThemeFormatScheme, PptxThemeLineStyle, PptxThemeObjectDefaults, PptxThemeOption, type PptxThemePreset, PptxTransitionType, PptxViewProperties, PptxXmlBuilder, PptxXmlFactoryProvider, PptxXmlLookupService, Presentation, PresentationBuilder, type PresentationBuilderResult, type PresentationDiff, type PresentationOptions, type PresentationThemeInput, type PresetShapeCategory, type PresetShapeDefinition, type PropertyChange, type ReflowedNodePosition, type RepairResult, SHAPE_TREE_ELEMENT_TAGS, SP_PR_ORDER, STROKE_DASH_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SYSTEM_COLOR_MAP, type ShadowInput, ShapeBuilder, type ShapeOptions, ShapePptxElement, ShapeStyle, type SignatureCertificateInfo, type SignatureDetectionResult, type SignatureReference, type SignatureStatus, SlideBuilder, type SlideDiff, SlideSizes, SmartArtLayoutType, SmartArtPptxElement, type StandardEncryptionInfo, StrokeDashType, type StrokeInput, type SupportedShapeType, TC_PR_BORDERS_ORDER, THEME_PRESETS, TableBuilder, type TableCellInput, type TableInput, type TableOptions, TablePptxElement, type TableRowInput, type TableStyleFlags, type TableStylePartBorder, type TableStylePartBorders, type TableStylePartFill, type TableStylePartText, type TemplateData, TextBuilder, type TextOptions, TextPptxElement, TextSegment, type TextSegmentInput, TextShapeXmlFactory, type TextShapeXmlFactoryInit, TextStyle, type TextStyleInput, type ThemePreset, type ThemePresetName, ThemePresets, type TransitionInput, VML_SHAPE_TAGS, type ValidationIssue, type ValidationResult, type Vec2, XmlObject, ZoomPptxElement, addChartCategory, addChartSeries, addSection, addSmartArtNode, addSmartArtNodeAsChild, applyDrawingColorTransforms, applyKinsokuToXml, applyTemplate, applyThemeToData, areNamespacesSupported, buildCalloutLeaderLineSvgPath, buildClrMapOverrideXml, buildFontFamilyString, buildGuideListExtension, buildLinkedTextBoxChains, buildOle2, buildSingleEffectNode, buildSrgbColorChoice, buildThemeColorMap, catmullRomToBezier, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, checkBlankSlide, checkComplexTables, checkDuplicateTitles, checkLowContrast, checkMissingAltText, checkMissingSlideTitle, checkPresentation, clampUnitInterval, classifyPanose, cloneElement, cloneShapeStyle, cloneSlide, cloneTemplateElementsBySlideId, cloneTextStyle, cloneXmlObject, cm, cmToEmu, colorWithOpacity, colorsEqual, combineShapes, computeContrastRatio, computeCycleLayout, computeHierarchyLayout, computeLinearLayout, computeMatrixLayout, computePyramidLayout, computeSmartArtLayout, computeSnakeLayout, convertXmlToStrict, createArrayBufferCopy, createBuiltinVariables, createChartElement, createConnectorElement, createDefaultPptxHandlerRuntime, createEditorId, createFreeformElement, createGroupElement, createImageElement, createLayout, createLayouts, createMediaElement, createModifyVerifier, createPptxSaveConstants, createShapeElement, createTableElement, createTemplateConnectorRawXml, createTemplateShapeRawXml, createTextElement, createUniformTextSegments, decomposeSmartArt, decryptPptx, demoteSmartArtNode, deobfuscateFont, detectDigitalSignatures, detectFileFormat, detectFontFormat, detectOleObjectType, detectStrictConformance, diffPresentations, diffSlides, distributeSegmentsAcrossChain, douglasPeucker, duplicateElement, duplicateSlide, elementActionToPptxAction, elementHasAction, emuToPixels, encryptPptx, ensureArrayValue, estimateTextBoxCapacity, evaluateGeometryPaths, evaluateGuides, extractColorChoiceXml, extractGuidFromPartName, extractModel3DTransform, fetchUrlToBytes, findCustomShow, findLayoutByName, findLayoutByType, findPlaceholders, formatCommentTimestamp, fragmentShapes, generateFontGuid, generateLayoutXml, getAnimationPresetInfo, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCommentMarkerPosition, getConnectorAdjustment, getConnectorPathGeometry, getCssBorderDashStyle, getCustomShowNames, getCustomShowPositionLabel, getElementLabel, getElementTextContent, getElementTransform, getImageMaskStyle, getLinkedTextBoxSegments, getOleObjectTypeLabel, getPanoseWeight, getPresetShapeClipPath, getPresetsByCategory, getRoundRectRadiusPx, getSectionForSlide, getSectionSlideRange, getShapeClipPath, getShapeType, getSignaturePathsToStrip, getSubstituteFontFamily, getSubstituteFonts, getSupportedNamespaces, getSvgStrokeDasharray, getTextCompensationTransform, getThemePreset, getZoomElements, getZoomTargetSlideIndexes, guidToKey, guideEmuToPx, guidePxToEmu, hasDirectSubstitution, hasNonTrivialOverride, hasShapeProperties, hasTextProperties, hexToRgbChannels, hslToRgb, inches, inchesToEmu, inferOleExtensionFromTarget, interpolateShapeGeometry, intersectPolygons, intersectShapes, intersectSvgPaths, isCalloutShape, isConnectorElement, isEditableTextElement, isImageLikeElement, isInkElement, isNamespaceSupported, isShapeElement, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTextElement, isTransitionalNamespaceUri, isZoomElement$1 as isZoomElement, isZoomElement as isZoomElementUtil, layoutEngineShapesToDrawingShapes, mailMerge, mergeShapes, mergeStyleParts, mergeThemeColorOverride, mm, moveSlidesToSection, navigateCustomShow, normalizeHexColor, normalizeNamespaceUri, normalizeStrictXml, normalizeStrokeDashType, obfuscateFont, ooxmlArcToSvg, parseActiveXControlsFromSlide, parseAdjustmentValues, parseBodyPrBooleanAttrs, parseChart3DSurfaces, parseChartAxes, parseCondition, parseConditionList, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingFraction, parseDrawingHueDegrees, parseDrawingPercent, parseEmbeddedXlsx, parseGuideDefinitions, parseHexColor, parseKinsoku, parseLayoutDefinition, parseLineStyle, parseMarker, parseOle2, parsePanoseBytes, parsePanoseString, parsePresentationDrawingGuides, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSvgPath, parseVmlElement, parseVmlElements, pixelsToEmu, polygonsToSvgPath, pptxActionToElementAction, promoteSmartArtNode, pt, reResolveSlideColors, readFileAsDataUrl, reflowSmartArtLayout, relativeLuminance, relayoutSmartArt, removeChartCategory, removeChartSeries, removeSection, removeSmartArtNode, reorderObjectKeys, reorderSections, reorderSmartArtNode, reorderSmartArtNodeToIndex, repairPptx, replaceShapeGeometry, replaceWithCustomGeometry, resetCloneIdCounter, resetDecomposeCounter, resetIdCounter, resetSectionIdCounter, resetSmartArtEditCounter, resolveCoordinate, resolveCustomShowSlideIndices, resolveModel3DMimeType, resolveTableCellStyle, rgbToHsl, selectAlternateContentBranch, serializeColorChoice, serializeCondition, serializeConditionList, serializeSvgPath, setChartCategories, setChartGrouping, setChartTitle, setChartType, shouldRenderFallbackLabel, shouldReturnToZoomSlide, subtractPolygons, subtractShapes, subtractSvgPaths, svgPathToPolygons, switchSmartArtLayout, toHex, toStrictNamespaceUri, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, updateChartDataPoint, updateChartSeriesValues, updateSmartArtNodeText, validatePptx, verifyModifyPassword, verifyPassword, verifySignatureDigests, writeBodyPrBooleanAttrs };
11837
+ export { ALL_ANIMATION_PRESETS, type AccessibilityCheckOptions, type AccessibilityIssue, type AccessibilityIssueSeverity, type AccessibilityIssueType, type AlternateContentBlock, type AnimationCategory, AnimationCondition, type AnimationInput, type AnimationPresetInfo, BLIP_FILL_ORDER, type BackgroundInput, BulletInfo, COLOR_MAP_ALIAS_KEYS, CONNECTOR_ARROW_OPTIONS, CONNECTOR_GEOMETRY_OPTIONS, type CalloutLeaderLineGeometry, type CalloutPoint, ChartBuilder, type ChartInput, type ChartOptions, ChartPptxElement, type ChartSeriesInput, type ColorMapAliasKey, type CompatibilityWarningInput, ConnectorArrowType, ConnectorBuilder, type ConnectorGeometryType, type ConnectorOptions, type ConnectorPathGeometry, ConnectorPptxElement, ConnectorXmlFactory, type ConnectorXmlFactoryInit, type ContainerBounds, CustomGeometryPath, CustomGeometryPoint, CustomGeometryRawData, DEFAULT_CANVAS_HEIGHT, DEFAULT_CANVAS_WIDTH, DEFAULT_COLOR_MAP, DEFAULT_FILL_COLOR, DEFAULT_FONT_FAMILY, DEFAULT_MAX_UNCOMPRESSED_BYTES, DEFAULT_SCHEME_COLOR_MAP, DEFAULT_STROKE_COLOR, DEFAULT_TEXT_COLOR, DEFAULT_TEXT_FONT_SIZE, DataIntegrityError, EFFECT_LST_ORDER, EMPHASIS_PRESETS, EMU_PER_INCH, EMU_PER_PIXEL, EMU_PER_POINT, EMU_PER_PX, ENTRANCE_PRESETS, EXIT_PRESETS, ElementAction, type ElementDiff, type ElementPosition, EncryptedFileError, type EncryptionAlgorithm, type EncryptionInfo, type EncryptionOptions, FONT_SUBSTITUTION_MAP, type FileFormatDetection, type FillInput, FindResult, FreeformPathBuilder, GeometryAdjustmentHandle, type GeometryContext, type GeometryGuide, GroupBuilder, type GroupOptions, GroupPptxElement, type HslColor, type IConnectorXmlFactory, type ICoreXmlElementFactory, type IFactory, type IMediaGraphicFrameXmlFactory, type IPictureXmlFactory, type IPptxAnimationWriteService, type IPptxColorStyleCodec, type IPptxCommentAuthorsXmlFactory, type IPptxCommentXmlFactoryProvider, type IPptxCompatibilityService, type IPptxConnectorParser, type IPptxContentTypesBuilder, type IPptxEditorAnimationService, type IPptxElementTransformUpdater, type IPptxGraphicFrameParser, type IPptxHandlerRuntime, type IPptxHandlerRuntimeFactory, type IPptxMediaDataParser, type IPptxNativeAnimationService, type IPptxPresentationSaveBuilder, type IPptxPresentationSlidesReconciler, type IPptxRuntimeDependencyFactory, type IPptxShapeIdValidator, type IPptxShapeStyleExtractor, type IPptxSlideBackgroundBuilder, type IPptxSlideCommentPartWriter, type IPptxSlideCommentsXmlFactory, type IPptxSlideLoaderService, type IPptxSlideMediaRelationshipBuilder, type IPptxSlideNotesPartUpdater, type IPptxSlideRelationshipRegistry, type IPptxSlideTransitionService, type IPptxTableDataParser, type IPptxTemplateBackgroundService, type IPptxXmlBuilder, type IPptxXmlFactoryProvider, type IPptxXmlLookupService, type ITextShapeXmlFactory, type IXmlElementFactory, ImageBuilder, type ImageMaskStyle, type ImageOptions, ImagePptxElement, IncorrectPasswordError, InkPptxElement, type LayoutAlgorithmType, type LayoutConstraints, type LayoutCreationResult, type LayoutDefinition, type LayoutEngineShape, type LayoutRule, type LinkedTextBoxChain, type LinkedTextBoxChainMember, type LinkedTextBoxSegmentMap, MAX_ZIP_ENTRY_COUNT, MIN_ELEMENT_SIZE, MOTION_PATH_PRESETS, MediaBookmark, MediaBuilder, MediaGraphicFrameXmlFactory, type MediaGraphicFrameXmlFactoryInit, type MediaOptions, MediaPptxElement, MergeOptions, type MergeShapeOperation, type Model3DTransform, type Ole2DirectoryEntry, type Ole2File, Ole2ParseError, OleObjectType, OlePptxElement, type OoxmlConformanceClass, P14_GUIDE_URI, P15_GUIDE_URI, PANOSE_FAMILY_MAP, PANOSE_MONOSPACE_PROPORTION, PANOSE_SANS_SERIF_STYLES, PANOSE_WEIGHT_MAP, POWERPOINT_PRESENCE_KEY, PRESET_COLOR_MAP, PRESET_SHAPE_CATEGORY_LABELS, PRESET_SHAPE_CLIP_PATHS, PRESET_SHAPE_DEFINITIONS, PRESET_TO_OOXML, type ParsedLayoutDef, type ParsedSignature, type ParsedTableStyle, ParsedTableStyleFill, ParsedTableStyleMap, type ParsedTableStylePart, ParsedTableStyleText, PictureXmlFactory, type PictureXmlFactoryInit, PlaceholderDefaults, type PlaceholderDefinition, PlaceholderTextLevelStyle, PptxAction, PptxActiveXControl, PptxAnimationPreset, PptxAnimationTrigger, PptxAnimationWriteService, PptxAppProperties, type PptxBuilderFactoryContext, PptxChart3DSurface, PptxChartAxisFormatting, PptxChartData, PptxChartDataLabel, PptxChartDataPoint, PptxChartDataTable, PptxChartErrBars, PptxChartLineStyle, PptxChartMarker, PptxChartSeries, PptxChartShapeProps, PptxChartStyle, PptxChartTrendline, PptxChartType, PptxColorStyleCodec, type PptxColorStyleCodecContext, PptxComment, PptxCommentAuthor, type PptxCommentAuthorDescriptor, PptxCommentAuthorsXmlFactory, type PptxCommentAuthorsXmlFactoryInit, PptxCommentXmlFactoryProvider, PptxCompatibilityService, PptxCompatibilityWarning, PptxConnectorParser, type PptxConnectorParserContext, PptxContentTypesBuilder, type PptxContentTypesCommentBuildInput, type PptxContentTypesSlideMediaBuildInput, PptxCoreProperties, PptxCustomProperty, PptxCustomShow, PptxCustomXmlPart, PptxCustomerData, PptxData, PptxDocumentPropertiesUpdater, PptxDrawingGuide, PptxEditorAnimationService, type PptxEditorAnimationServiceOptions, PptxElement, PptxElementAnimation, PptxElementTransformUpdater, PptxElementWithShapeStyle, PptxElementWithText, PptxElementXmlBuilder, type PptxElementXmlBuilderOptions, PptxEmbeddedFont, PptxEmbeddedWorkbookData, PptxExportOptions, PptxExternalData, PptxGraphicFrameParser, type PptxGraphicFrameParserContext, PptxHandler, type PptxHandlerLoadOptions, PptxHandlerRuntime, PptxHandlerRuntimeFactory, type PptxHandlerSaveOptions, PptxHandoutMaster, PptxHeaderFooter, PptxImageEffects, PptxImageLikeElement, PptxKinsoku, PptxLayoutOption, PptxLoadDataBuilder, PptxMasterTextStyles, PptxMediaDataParser, type PptxMediaDataParserContext, type PptxMediaTimingEntry, type PptxMediaTimingMap, PptxModifyVerifier, PptxNativeAnimation, PptxNativeAnimationService, PptxNotesMaster, PptxPhotoAlbum, PptxPresentationProperties, type PptxPresentationSaveBuildInput, PptxPresentationSaveBuilder, type PptxPresentationSaveBuilderOptions, PptxPresentationSlidesReconciler, type PptxPresentationSlidesReconcilerInput, type PptxRuntimeDependencyBundle, PptxRuntimeDependencyFactory, type PptxRuntimeDependencyFactoryInput, type PptxSaveConstants, PptxSaveConstantsFactory, type PptxSaveFormat, type PptxSaveMediaKind, PptxSaveState as PptxSaveSession, PptxSaveStateBuilder as PptxSaveSessionBuilder, PptxSaveState, PptxSaveStateBuilder, PptxSection, PptxShapeIdValidator, PptxShapeLocks, PptxShapeStyleExtractor, type PptxShapeStyleExtractorContext, PptxSlide, PptxSlideBackgroundBuilder, type PptxSlideBackgroundBuilderInput, PptxSlideBuilder, PptxSlideCommentPartWriter, type PptxSlideCommentPartWriterInput, type PptxSlideCommentRelationshipInfo, PptxSlideCommentsXmlFactory, type PptxSlideCommentsXmlFactoryInit, PptxSlideElementsBuilder, type PptxSlideLoaderParams, PptxSlideLoaderService, type PptxSlideLoaderThemeOverride, PptxSlideMaster, PptxSlideMediaRelationshipBuilder, PptxSlideNotesBuilder, PptxSlideNotesPartUpdater, type PptxSlideNotesPartUpdaterInput, type PptxSlideNotesResult, PptxSlideRelationshipRegistry, type PptxSlideRelationshipRegistryOptions, PptxSlideTransition, PptxSlideTransitionService, type PptxSlideTransitionServiceOptions, PptxSmartArtChrome, PptxSmartArtColorTransform, PptxSmartArtData, PptxSmartArtDrawingShape, PptxSmartArtNode, PptxSmartArtQuickStyle, PptxTableCellStyle, PptxTableData, PptxTableDataParser, type PptxTableDataParserContext, PptxTagCollection, PptxTemplateBackgroundService, type PptxTemplateBackgroundState, PptxTextStyleLevels, PptxTheme, PptxThemeColorScheme, PptxThemeEffectStyle, PptxThemeFillStyle, PptxThemeFontScheme, PptxThemeFormatScheme, PptxThemeLineStyle, PptxThemeObjectDefaults, PptxThemeOption, type PptxThemePreset, PptxTransitionType, PptxViewProperties, PptxXmlBuilder, PptxXmlFactoryProvider, PptxXmlLookupService, Presentation, PresentationBuilder, type PresentationBuilderResult, type PresentationDiff, type PresentationOptions, type PresentationThemeInput, type PresetShapeCategory, type PresetShapeDefinition, type PropertyChange, type ReflowedNodePosition, type RepairResult, SHAPE_TREE_ELEMENT_TAGS, SP_PR_ORDER, STROKE_DASH_OPTIONS, SWITCHABLE_LAYOUT_TYPES, SYSTEM_COLOR_MAP, type ShadowInput, ShapeBuilder, type ShapeOptions, ShapePptxElement, ShapeStyle, type SignatureCertificateInfo, type SignatureDetectionResult, type SignatureReference, type SignatureStatus, SlideBuilder, type SlideDiff, SlideSizes, SmartArtLayoutType, SmartArtPptxElement, type StandardEncryptionInfo, StrokeDashType, type StrokeInput, type SupportedShapeType, TC_PR_BORDERS_ORDER, THEME_PRESETS, TableBuilder, type TableCellInput, type TableInput, type TableOptions, TablePptxElement, type TableRowInput, type TableStyleFlags, type TableStylePartBorder, type TableStylePartBorders, type TableStylePartFill, type TableStylePartText, type TemplateData, TextBuilder, type TextOptions, TextPptxElement, TextSegment, type TextSegmentInput, TextShapeXmlFactory, type TextShapeXmlFactoryInit, TextStyle, type TextStyleInput, type ThemePreset, type ThemePresetName, ThemePresets, type TransitionInput, VML_SHAPE_TAGS, type ValidationIssue, type ValidationResult, type Vec2, XmlObject, ZipBombError, ZoomPptxElement, addChartCategory, addChartSeries, addSection, addSmartArtNode, addSmartArtNodeAsChild, applyDrawingColorTransforms, applyKinsokuToXml, applyTemplate, applyThemeToData, areNamespacesSupported, buildCalloutLeaderLineSvgPath, buildClrMapOverrideXml, buildFontFamilyString, buildGuideListExtension, buildLinkedTextBoxChains, buildOle2, buildSingleEffectNode, buildSrgbColorChoice, buildThemeColorMap, catmullRomToBezier, chartDataAddCategory, chartDataAddSeries, chartDataChangeType, chartDataRemoveCategory, chartDataRemoveSeries, chartDataUpdatePoint, checkBlankSlide, checkComplexTables, checkDuplicateTitles, checkLowContrast, checkMissingAltText, checkMissingSlideTitle, checkPresentation, clampUnitInterval, classifyPanose, cloneElement, cloneShapeStyle, cloneSlide, cloneTemplateElementsBySlideId, cloneTextStyle, cloneXmlObject, cm, cmToEmu, colorWithOpacity, colorsEqual, combineShapes, computeContrastRatio, computeCycleLayout, computeHierarchyLayout, computeLinearLayout, computeMatrixLayout, computePyramidLayout, computeSmartArtLayout, computeSnakeLayout, convertXmlToStrict, createArrayBufferCopy, createBuiltinVariables, createChartElement, createConnectorElement, createDefaultPptxHandlerRuntime, createEditorId, createFreeformElement, createGroupElement, createImageElement, createLayout, createLayouts, createMediaElement, createModifyVerifier, createPptxSaveConstants, createShapeElement, createTableElement, createTemplateConnectorRawXml, createTemplateShapeRawXml, createTextElement, createUniformTextSegments, decomposeSmartArt, decryptPptx, demoteSmartArtNode, deobfuscateFont, detectDigitalSignatures, detectFileFormat, detectFontFormat, detectOleObjectType, detectStrictConformance, diffPresentations, diffSlides, distributeSegmentsAcrossChain, douglasPeucker, duplicateElement, duplicateSlide, elementActionToPptxAction, elementHasAction, emuToPixels, encryptPptx, ensureArrayValue, estimateTextBoxCapacity, evaluateGeometryPaths, evaluateGuides, extractColorChoiceXml, extractGuidFromPartName, extractModel3DTransform, fetchUrlToBytes, findCustomShow, findLayoutByName, findLayoutByType, findPlaceholders, formatCommentTimestamp, fragmentShapes, generateFontGuid, generateLayoutXml, getAnimationPresetInfo, getCalloutLeaderLineGeometry, getCalloutTier, getCalloutViewBoxBounds, getCommentMarkerPosition, getConnectorAdjustment, getConnectorPathGeometry, getCssBorderDashStyle, getCustomShowNames, getCustomShowPositionLabel, getElementLabel, getElementTextContent, getElementTransform, getImageMaskStyle, getLinkedTextBoxSegments, getOleObjectTypeLabel, getPanoseWeight, getPresetShapeClipPath, getPresetsByCategory, getRoundRectRadiusPx, getSectionForSlide, getSectionSlideRange, getShapeClipPath, getShapeType, getSignaturePathsToStrip, getSubstituteFontFamily, getSubstituteFonts, getSupportedNamespaces, getSvgStrokeDasharray, getTextCompensationTransform, getThemePreset, getZoomElements, getZoomTargetSlideIndexes, guidToKey, guideEmuToPx, guidePxToEmu, hasDirectSubstitution, hasNonTrivialOverride, hasShapeProperties, hasTextProperties, hexToRgbChannels, hslToRgb, inches, inchesToEmu, inferOleExtensionFromTarget, interpolateShapeGeometry, intersectPolygons, intersectShapes, intersectSvgPaths, isCalloutShape, isConnectorElement, isEditableTextElement, isImageLikeElement, isInkElement, isNamespaceSupported, isShapeElement, isStrictNamespaceUri, isSummaryZoomSlide, isSwitchableLayoutType, isTemplateElement, isTextElement, isTransitionalNamespaceUri, isZoomElement$1 as isZoomElement, isZoomElement as isZoomElementUtil, layoutEngineShapesToDrawingShapes, mailMerge, mergeShapes, mergeStyleParts, mergeThemeColorOverride, mm, moveSlidesToSection, navigateCustomShow, normalizeHexColor, normalizeNamespaceUri, normalizeStrictXml, normalizeStrokeDashType, obfuscateFont, ooxmlArcToSvg, parseActiveXControlsFromSlide, parseAdjustmentValues, parseBodyPrBooleanAttrs, parseChart3DSurfaces, parseChartAxes, parseCondition, parseConditionList, parseCxChartSeries, parseDataTable, parseDataUrlToBytes, parseDrawingColor, parseDrawingColorChoice, parseDrawingColorOpacity, parseDrawingFraction, parseDrawingHueDegrees, parseDrawingPercent, parseEmbeddedXlsx, parseGuideDefinitions, parseHexColor, parseKinsoku, parseLayoutDefinition, parseLineStyle, parseMarker, parseOle2, parsePanoseBytes, parsePanoseString, parsePresentationDrawingGuides, parseSeriesDataLabels, parseSeriesDataPoints, parseSeriesErrBars, parseSeriesExplosion, parseSeriesTrendlines, parseShapeProps, parseSignatureXml, parseSlideDrawingGuides, parseSvgPath, parseVmlElement, parseVmlElements, pixelsToEmu, polygonsToSvgPath, pptxActionToElementAction, promoteSmartArtNode, pt, reResolveSlideColors, readFileAsDataUrl, reflowSmartArtLayout, relativeLuminance, relayoutSmartArt, removeChartCategory, removeChartSeries, removeSection, removeSmartArtNode, reorderObjectKeys, reorderSections, reorderSmartArtNode, reorderSmartArtNodeToIndex, repairPptx, replaceShapeGeometry, replaceWithCustomGeometry, resetCloneIdCounter, resetDecomposeCounter, resetIdCounter, resetSectionIdCounter, resetSmartArtEditCounter, resolveCoordinate, resolveCustomShowSlideIndices, resolveModel3DMimeType, resolveTableCellStyle, rgbToHsl, selectAlternateContentBranch, serializeColorChoice, serializeCondition, serializeConditionList, serializeSvgPath, setChartCategories, setChartGrouping, setChartTitle, setChartType, shouldRenderFallbackLabel, shouldReturnToZoomSlide, subtractPolygons, subtractShapes, subtractSvgPaths, svgPathToPolygons, switchSmartArtLayout, toHex, toStrictNamespaceUri, unionPolygons, unionShapes, unionSvgPaths, unwrapAlternateContent, updateChartDataPoint, updateChartSeriesValues, updateSmartArtNodeText, validatePptx, verifyModifyPassword, verifyPassword, verifySignatureDigests, writeBodyPrBooleanAttrs };