abstract-document 19.2.6 → 20.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,10 +2,19 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ## [20.0.0] - 2026-09-04
6
+
7
+ - BREAKING: `AbstractDocPdf.exportToHTML5Blob`, `exportToBytes` and `exportToStream` no longer take a `PDFDocument` class as their first argument. abstract-document now imports pdfkit itself, relying on pdfkit 0.20's conditional exports to resolve the right build for Node or the browser automatically.
8
+ - Added `./pdf` and `./docx` subpath exports (alongside the existing `./xml`) so bundlers can code-split each exporter's dependencies independently.
9
+
10
+ ## [19.3.0] - 2026-09-04
11
+
12
+ - Bumb pdfkit to 0.20.2. Manually add previously bundled Helvetica. Use new toBlob and toBytes functions.
13
+
5
14
  ## [19.2.1] - 2026-08-13
6
15
 
7
16
  - Add fixed table layout in an attempt to match DOCX tables with PDF table layout.
8
-
17
+
9
18
  ## [19.2.0] - 2026-08-12
10
19
 
11
20
  - Various updates and fixes to the docx renderer including:
@@ -2,14 +2,14 @@ import * as AD from "../../abstract-document/index.js";
2
2
  export type PdfExportOptions = {
3
3
  compress: boolean;
4
4
  };
5
- export declare function exportToHTML5Blob(pdfKit: PDFKit.PDFDocument, doc: AD.AbstractDoc.AbstractDoc, options?: PdfExportOptions): Promise<Blob>;
5
+ export declare function exportToHTML5Blob(doc: AD.AbstractDoc.AbstractDoc, options?: PdfExportOptions): Promise<Blob>;
6
+ export declare function exportToBytes(doc: AD.AbstractDoc.AbstractDoc, options?: PdfExportOptions): Promise<Uint8Array>;
6
7
  /**
7
8
  * On the client side the stream can be a BlobStream from the blob-stream package.
8
9
  * On the server-side the stream can be a file stream from the fs package.
9
- * @param pdfKit
10
10
  * @param blobStream
11
11
  * @param doc
12
12
  * @param options
13
13
  */
14
- export declare function exportToStream(pdfKit: PDFKit.PDFDocument, blobStream: any, doc: AD.AbstractDoc.AbstractDoc, options?: PdfExportOptions): void;
14
+ export declare function exportToStream(blobStream: any, doc: AD.AbstractDoc.AbstractDoc, options?: PdfExportOptions): void;
15
15
  //# sourceMappingURL=render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;AASvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,WAAW,EAC1B,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAC/B,OAAO,GAAE,gBAAsC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,WAAW,EAC1B,UAAU,EAAE,GAAG,EACf,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAC/B,OAAO,GAAE,gBAAsC,GAC9C,IAAI,CAGN"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAYvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAC/B,OAAO,GAAE,gBAAsC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAC/B,OAAO,GAAE,gBAAsC,GAC9C,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,GAAG,EACf,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,EAC/B,OAAO,GAAE,gBAAsC,GAC9C,IAAI,CAGN"}
@@ -5,35 +5,38 @@ import { paginate, getHeaderAndFooter } from "./paginate.js";
5
5
  import { updatePageRefs } from "./update-refs.js";
6
6
  import { renderImage } from "./render-image.js";
7
7
  import { registerFonts, getFontNameStyle } from "./font.js";
8
+ import { registerDefaultStdFonts } from "./std-fonts.js";
9
+ import { toBlob, toBytes } from "pdfkit/output";
10
+ import PDFDocument from "pdfkit";
8
11
  import { rowsCombineTextRuns, rowsSplit } from "./textRunRow.js";
9
- export function exportToHTML5Blob(pdfKit, doc, options = { compress: false }) {
10
- return new Promise((resolve) => {
11
- let pdf = createDocument(pdfKit, options, doc);
12
- const buffers = Array();
13
- pdf.on("data", buffers.push.bind(buffers));
14
- pdf.on("end", () => resolve(new Blob(buffers, { type: "application/pdf" })));
15
- });
12
+ export function exportToHTML5Blob(doc, options = { compress: false }) {
13
+ const pdf = createDocument(options, doc);
14
+ return toBlob(pdf);
15
+ }
16
+ export function exportToBytes(doc, options = { compress: false }) {
17
+ const pdf = createDocument(options, doc);
18
+ return toBytes(pdf);
16
19
  }
17
20
  /**
18
21
  * On the client side the stream can be a BlobStream from the blob-stream package.
19
22
  * On the server-side the stream can be a file stream from the fs package.
20
- * @param pdfKit
21
23
  * @param blobStream
22
24
  * @param doc
23
25
  * @param options
24
26
  */
25
- export function exportToStream(pdfKit, blobStream, doc, options = { compress: false }) {
26
- let pdf = createDocument(pdfKit, options, doc);
27
+ export function exportToStream(blobStream, doc, options = { compress: false }) {
28
+ let pdf = createDocument(options, doc);
27
29
  pdf.pipe(blobStream);
28
30
  }
29
- function createDocument(pdfKit, options, ad) {
30
- const pdf = new pdfKit({ ...options, autoFirstPage: false, bufferPages: true });
31
+ function createDocument(options, ad) {
32
+ registerDefaultStdFonts();
33
+ const pdf = new PDFDocument({ ...options, autoFirstPage: false, bufferPages: true });
31
34
  const document = preProcess(ad);
32
35
  registerFonts((fontName, fontSource) => pdf.registerFont(fontName, fontSource), document);
33
- const desiredSizes = measure(pdfKit, document);
34
- const pages = paginate(pdfKit, document, desiredSizes);
36
+ const desiredSizes = measure(PDFDocument, document);
37
+ const pages = paginate(PDFDocument, document, desiredSizes);
35
38
  const updatedPages = updatePageRefs(pages);
36
- const pageDesiredSizes = measurePages(pdfKit, document, updatedPages);
39
+ const pageDesiredSizes = measurePages(PDFDocument, document, updatedPages);
37
40
  for (let page of updatedPages) {
38
41
  renderPage(document, pdf, pageDesiredSizes, page);
39
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAQ,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAmB,mBAAmB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMlF,MAAM,UAAU,iBAAiB,CAC/B,MAA0B,EAC1B,GAA+B,EAC/B,UAA4B,EAAE,QAAQ,EAAE,KAAK,EAAE;IAE/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,KAAK,EAAY,CAAC;QAClC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,MAA0B,EAC1B,UAAe,EACf,GAA+B,EAC/B,UAA4B,EAAE,QAAQ,EAAE,KAAK,EAAE;IAE/C,IAAI,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC/C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,cAAc,CACrB,MAA0B,EAC1B,OAAyB,EACzB,EAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhF,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAChC,aAAa,CAAC,CAAC,QAAgB,EAAE,UAA8B,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtH,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEtE,KAAK,IAAI,IAAI,IAAI,YAAY,EAAE,CAAC;QAC9B,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IACD,GAAG,CAAC,GAAG,EAAE,CAAC;IACV,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CACjB,eAAuC,EACvC,MAA0B,EAC1B,YAAmC,EACnC,IAAU;IAEV,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,IAAK,MAAc,CAAC,mBAAmB,EAAE,CAAC;YACvC,MAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;IACnC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC;IACtC,IAAI,OAAO,GAAG,WAAW,CAAC;IAC1B,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3D,oBAAoB,CAClB,SAAS,EACT,MAAM,EACN,YAAY,EACZ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAClG,OAAO,CACR,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC;IAEhC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,EAC9F,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,CACzC,CAAC;IACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;IACnC,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACpE,IAAI,OAAO,GAAG,WAAW,CAAC;IAC1B,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3D,oBAAoB,CAClB,SAAS,EACT,MAAM,EACN,YAAY,EACZ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAClG,OAAO,CACR,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC;QAChC,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC;IACnC,MAAM,UAAU,GACd,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC;IAC9G,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;QAC3E,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,UAAU,GAAG,WAAW,CAAC;QACnD,IAAI,CAAC,GAAG,YAAY,CAAC;QACrB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC3D,oBAAoB,CAClB,SAAS,EACT,MAAM,EACN,YAAY,EACZ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EACvF,OAAO,CACR,CAAC;YAEF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAuB,EAAE,IAAU;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC,sDAAsD;IACtD,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5E,MAAM,WAAW,GAA8B;QAC7C,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC7B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;KAClD,CAAC;IACF,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC,WAAW,CAAC;AAC1B,CAAC;AAED,SAAS,oBAAoB,CAC3B,eAAuC,EACvC,GAAuB,EACvB,YAAmC,EACnC,SAAuB,EACvB,OAAyC;IAEzC,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,WAAW;YACd,eAAe,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAClE,OAAO;QACT,KAAK,OAAO;YACV,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9D,OAAO;QACT,KAAK,OAAO;YACV,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9D,OAAO;IACX,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,SAAiC,EACjC,MAA0B,EAC1B,YAAmC,EACnC,SAAuB,EACvB,KAAqB;IAErB,MAAM,YAAY,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC;IAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;IAC9C,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3D,oBAAoB,CAClB,SAAS,EACT,MAAM,EACN,YAAY,EACZ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EACtF,OAAO,CACR,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,SAAiC,EACjC,MAA0B,EAC1B,YAAmC,EACnC,SAAuB,EACvB,SAAiC;IAEjC,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CACjC,SAAS,EACT,SAAS,CAAC,KAAK,EACf,gBAAgB,EAChB,SAAS,CAAC,SAAS,EACnB,SAAS,CAC0B,CAAC;IACtC,MAAM,YAAY,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAElF,IAAI,IAAI,GAA+B,EAAE,CAAC;IAC1C,IAAI,UAAU,GAAwB,EAAE,CAAC;IACzC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,gBAAoC,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,UAAU,GAAG,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,aAAa;YACb,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACpD,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,eAAe;YACf,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;gBACjC,qBAAqB;gBACrB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,UAAU,GAAG,EAAE,CAAC;gBAChB,YAAY,GAAG,CAAC,CAAC;gBACjB,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;YAC/B,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,gBAAgB;YAChB,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;gBACjC,yBAAyB;gBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,UAAU,GAAG,EAAE,CAAC;gBAChB,YAAY,GAAG,CAAC,CAAC;gBACjB,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;YAC/B,CAAC;YACD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACpD,IAAI,YAAY,GAAG,QAAQ,CAAC,KAAK,GAAG,cAAc,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9E,iDAAiD;gBACjD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpB,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;IACvC,IAAI,SAAS,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC;IACvD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7G,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAC3D,SAAS,EACT,MAAM,EACN,OAAO,EACP,YAAY,EACZ,SAAS,EACT,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvF,MAAM,cAAc,GAAG,cAAc,GAAG,QAAQ,CAAC;QACjD,MAAM,kBAAkB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAEpB,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACrC,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC;QAC1B,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1G,gEAAgE;YAChE,+CAA+C;YAC/C,2CAA2C;YAC3C,0FAA0F;YAC1F,yFAAyF;YACzF,sCAAsC;YACtC,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACjC,CAAC,IAAI,GAAG,GAAG,cAAc,CAAC;YAC5B,CAAC;iBAAM,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;gBACrC,CAAC,IAAI,cAAc,CAAC;YACtB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9F,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACvD,UAAU,CACR,SAAS,EACT,MAAM,EACN,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACrD,KAAK,CAAC,SAAS,EACf,IAAI,EACJ,SAAS,EACT,cAAc,EACd,CAAC,KAAK,CAAC,EACP,CAAC,KAAK,SAAS,CAChB,CAAC;YACF,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,CAAC,IAAI,SAAS,CAAC;QACf,SAAS,IAAI,SAAS,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,kBAA+D;IACrF,QAAQ,kBAAkB,EAAE,CAAC;QAC3B,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,KAAK;YACR,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,SAAiC,EACjC,MAA0B,EAC1B,SAAuB,EACvB,SAAiC,EACjC,IAAkB,EAClB,SAA0B,EAC1B,cAAsB,EACtB,WAAoB,EACpB,UAAmB;IAEnB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,WAAW;YACd,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YACnG,OAAO;QACT,KAAK,SAAS;YACZ,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YACjG,OAAO;QACT,KAAK,OAAO;YACV,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAC3D,OAAO;QACT,KAAK,WAAW;YACd,eAAe,CACb,SAAS,EACT,MAAM,EACN,SAAS,EACT,SAAS,EACT,IAAI,EACJ,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,CACf,CAAC;YACF,OAAO;QACT,KAAK,cAAc;YACjB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACvD,OAAO;QACT,KAAK,YAAY;YACf,OAAO;QACT,KAAK,WAAW;YACd,OAAO;IACX,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,SAAiC,EACjC,MAA0B,EAC1B,SAAuB,EACvB,SAAiC,EACjC,SAAiC,EACjC,SAA0B,EAC1B,WAAoB,EACpB,UAAmB;IAEnB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CACjC,SAAS,EACT,SAAS,CAAC,KAAK,EACf,WAAW,EACX,SAAS,CAAC,SAAS,EACnB,SAAS,CACgB,CAAC;IAC5B,QAAQ,SAAS,CAAC,SAAS,EAAE,CAAC;QAC5B,KAAK,MAAM;YACT,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YAC5G,OAAO;QACT,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY,CAAC;QAClB,KAAK,cAAc;YACjB,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;gBACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YACzF,CAAC;YACD,OAAO;IACX,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,SAAiC,EACjC,GAAuB,EACvB,SAAuB,EACvB,SAAiC,EACjC,OAA2B,EAC3B,SAA0B,EAC1B,WAAoB,EACpB,UAAmB;IAEnB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,CACvC,SAAS,EACT,OAAO,CAAC,KAAK,EACb,WAAW,EACX,OAAO,CAAC,SAAS,EACjB,SAAS,EACT,OAAO,CAAC,gBAAgB,IAAI,EAAE,CACL,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,eAAe,CACtB,SAAiC,EACjC,GAAuB,EACvB,SAAuB,EACvB,SAAiC,EACjC,SAAiC,EACjC,SAA0B,EAC1B,WAAoB,EACpB,UAAmB,EACnB,cAAsB;IAEtB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CACjC,SAAS,EACT,SAAS,CAAC,KAAK,EACf,WAAW,EACX,SAAS,CAAC,SAAS,EACnB,SAAS,CACgB,CAAC;IAC5B,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;AACtG,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAuB,EACvB,SAAuB,EACvB,SAAiC,EACjC,YAA0C;IAE1C,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,aAAa,CACpB,GAAuB,EACvB,SAAuB,EACvB,SAAiC,EACjC,SAAiC,EACjC,SAA0B,EAC1B,WAAoB,EACpB,UAAmB,EACnB,cAAsB;IAEtB,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,WAAW,IAAI,UAAU,CAAC;IAC/C,IAAI,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC;IAC7B,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,UAAU,IAAI,GAAG,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;SAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACjC,UAAU,IAAI,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;IACjD,CAAC;IAED,GAAG;SACA,IAAI,CAAC,IAAI,CAAC;SACV,QAAQ,CAAC,QAAQ,CAAC;SAClB,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;IAExC,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAEhC,gEAAgE;IAChE,+CAA+C;IAC/C,oEAAoE;IACpE,qHAAqH;IACrH,IAAI,WAAW,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE;YACjD,KAAK,EAAE,cAAc;YACrB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;YACxC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7D,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC;YAC7B,SAAS,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU;YACrD,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK;YACrC,GAAG,CAAC,SAAS,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YACnE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACvB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7D,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC;YAC7B,SAAS,EAAE,CAAC,UAAU;YACtB,GAAG,CAAC,SAAS,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YACnE,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE;gBAC5E,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAEhC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,SAAS,QAAQ,CACf,GAAuB,EACvB,SAAuB,EACvB,SAAiC,EACjC,IAAY,EACZ,SAA0B,EAC1B,OAAgB,EAChB,KAAc;IAEd,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC/D,GAAG;SACA,IAAI,CAAC,IAAI,CAAC;SACV,QAAQ,CAAC,QAAQ,CAAC;SAClB,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;IACnE,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAEhC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE;gBACvC,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,KAAK;gBACvC,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC;gBAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK;gBACrC,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,GAAG,CAAC,SAAS,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3E,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE;oBACvC,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,KAAK;oBACvC,SAAS,EAAE,CAAC,KAAK;oBACjB,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC;oBAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK;oBACrC,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,GAAG,CAAC,SAAS,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrG,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3E,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;oBACb,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,KAAK;oBACvC,SAAS,EAAE,CAAC,KAAK;oBACjB,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC;oBAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK;oBACrC,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,GAAG,CAAC,SAAS,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrG,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3E,CAAC,CAAC;YACL,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IACD,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,cAAc,CACrB,GAAuB,EACvB,SAAuB,EACvB,SAAiC,EACjC,YAA0C;IAE1C,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE/D,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE;QACrC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,gBAAgB,EAAE,WAAW;KAC9B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE;QACvC,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,gBAAgB,EAAE,WAAW;KAC9B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;IACxF,IAAI,QAAQ,GAAG,OAAO,KAAK,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1C,GAAG;SACA,IAAI,CAAC,IAAI,CAAC;SACV,QAAQ,CAAC,QAAQ,CAAC;SAClB,SAAS,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;IAEzC,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAEhC,qEAAqE;IACrE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;QACX,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE;QAC3C,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,KAAK,EAAE,OAAO;QACd,gBAAgB,EAAE,WAAW;KAC9B,CAAC,CAAC;IACH,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAClB,SAAiC,EACjC,GAAuB,EACvB,YAAmC,EACnC,SAAuB,EACvB,KAAqB;IAErB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CACjC,SAAS,EACT,KAAK,CAAC,KAAK,EACX,YAAY,EACZ,KAAK,CAAC,SAAS,EACf,SAAS,CACkB,CAAC;IAC9B,MAAM,YAAY,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;IACvC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtD,KAAK,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC;QACxC,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ;YAAE,CAAC,IAAI,GAAG,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;aACzE,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO;YAAE,CAAC,IAAI,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;QAC1E,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,SAAiC,EACjC,GAAuB,EACvB,YAAmC,EACnC,SAAuB,EACvB,cAAgD,EAChD,KAAqB,EACrB,GAAyB,EACzB,QAAgB,EAChB,KAAc,EACd,QAAiB;IAEjB,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IACpB,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAClD,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACrD,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,IAAI,KAAK,GAAG,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;gBACxE,MAAM,IAAI,cAAc,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC;YACjG,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,SAAS,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACrD,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3G,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,SAAiC,EACjC,GAAuB,EACvB,YAAmC,EACnC,SAAuB,EACvB,cAAgD,EAChD,IAA4B,EAC5B,OAAgB,EAChB,MAAe,EACf,KAAc,EACd,QAAiB;IAEjB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CACjC,cAAc,EACd,IAAI,CAAC,KAAK,EACV,gBAAgB,EAChB,IAAI,CAAC,SAAS,EACd,SAAS,CAC0B,CAAC;IACtC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE7D,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IACnC,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;IACzC,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;SAC5F,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IACzC,IAAI,CAAC,GAAG,MAAM,CAAC;IACf,IAAI,KAAK,CAAC,iBAAiB,KAAK,QAAQ;QACtC,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,GAAG,aAAa,GAAG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;SACzE,IAAI,KAAK,CAAC,iBAAiB,KAAK,QAAQ;QAC3C,CAAC,IAAI,eAAe,GAAG,aAAa,GAAG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAEtE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACtG,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,MAAM,QAAQ,GAAG,GAAG,CAAC;IAErB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,GAAG;aACA,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;aACzB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;aACjE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,WAAW,CAAC;aACnF,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,GAAG;aACA,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;aACxB,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;aAChE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,WAAW,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,qBAAqB,CAAC;aAC3G,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,GAAG;aACA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;aACvB,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;aAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,WAAW,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,qBAAqB,CAAC;aACzF,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC;QAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,GAAG;aACA,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;aACtB,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,cAAc,GAAG,mBAAmB,EAAE,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC;aACrF,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,oBAAoB,EAAE,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC;aACvF,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAuC,EAAE,IAAyC;IACrG,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,WAAW,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,OAAW,EAAE,YAAmC;IACtE,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,eAAe,CAAC,GAAuB,EAAE,SAAiC;IACjF,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAuB,EAAE,SAAiC;IACjF,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiC;IAC5D,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;IACzG,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function registerDefaultStdFonts(): void;
2
+ //# sourceMappingURL=std-fonts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"std-fonts.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/std-fonts.ts"],"names":[],"mappings":"AAmBA,wBAAgB,uBAAuB,IAAI,IAAI,CAM9C"}
@@ -0,0 +1,22 @@
1
+ import * as PdfkitModule from "pdfkit";
2
+ import Helvetica from "pdfkit/standard-fonts/Helvetica";
3
+ import HelveticaBold from "pdfkit/standard-fonts/HelveticaBold";
4
+ import HelveticaOblique from "pdfkit/standard-fonts/HelveticaOblique";
5
+ import HelveticaBoldOblique from "pdfkit/standard-fonts/HelveticaBoldOblique";
6
+ // pdfkit 0.20's browser build stopped bundling standard font data and requires
7
+ // registering it explicitly via `registerStdFonts` before it's used, or `.font("Helvetica")`
8
+ // (the default fallback in font.ts) throws. The Node build self-registers standard fonts
9
+ // lazily instead and doesn't export `registerStdFonts` at all, so this reads it off the
10
+ // namespace object with a feature check instead of a named import - a named import of a
11
+ // binding that doesn't exist would fail to resolve entirely under Node's ESM loader.
12
+ const pdfkitExports = PdfkitModule;
13
+ // eslint-disable-next-line functional/no-let
14
+ let registered = false;
15
+ export function registerDefaultStdFonts() {
16
+ if (registered || typeof pdfkitExports.registerStdFonts !== "function") {
17
+ return;
18
+ }
19
+ pdfkitExports.registerStdFonts(Helvetica, HelveticaBold, HelveticaOblique, HelveticaBoldOblique);
20
+ registered = true;
21
+ }
22
+ //# sourceMappingURL=std-fonts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"std-fonts.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/std-fonts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AACvC,OAAO,SAAS,MAAM,iCAAiC,CAAC;AACxD,OAAO,aAAa,MAAM,qCAAqC,CAAC;AAChE,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,oBAAoB,MAAM,4CAA4C,CAAC;AAE9E,+EAA+E;AAC/E,6FAA6F;AAC7F,yFAAyF;AACzF,wFAAwF;AACxF,wFAAwF;AACxF,qFAAqF;AACrF,MAAM,aAAa,GAAG,YAErB,CAAC;AAEF,6CAA6C;AAC7C,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,uBAAuB;IACrC,IAAI,UAAU,IAAI,OAAO,aAAa,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QACvE,OAAO;IACT,CAAC;IACD,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,CAAC;IACjG,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abstract-document",
3
- "version": "19.2.6",
3
+ "version": "20.0.1",
4
4
  "description": "Dynamically create documents using code or JSX and render to any format",
5
5
  "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-document",
6
6
  "main": "lib/index.js",
@@ -18,6 +18,16 @@
18
18
  "ts": "./src/abstract-document-xml/index.ts",
19
19
  "types": "./lib/abstract-document-xml/index.d.ts",
20
20
  "import": "./lib/abstract-document-xml/index.js"
21
+ },
22
+ "./pdf": {
23
+ "ts": "./src/abstract-document-exporters/pdf/render.ts",
24
+ "types": "./lib/abstract-document-exporters/pdf/render.d.ts",
25
+ "import": "./lib/abstract-document-exporters/pdf/render.js"
26
+ },
27
+ "./docx": {
28
+ "ts": "./src/abstract-document-exporters/docx2/render.ts",
29
+ "types": "./lib/abstract-document-exporters/docx2/render.d.ts",
30
+ "import": "./lib/abstract-document-exporters/docx2/render.js"
21
31
  }
22
32
  },
23
33
  "files": [
@@ -36,7 +46,7 @@
36
46
  "handlebars": "4.7.8",
37
47
  "handlebars-xml": "^0.4.5",
38
48
  "moment": "^2.30.1",
39
- "pdfkit": "^0.18.0",
49
+ "pdfkit": "^0.20.2",
40
50
  "remark-parse": "^6.0.3",
41
51
  "remark-sub-super": "^1.0.19",
42
52
  "svg-to-pdfkit": "^0.1.8",
@@ -57,5 +67,5 @@
57
67
  "vite": "^6.0.1",
58
68
  "vitest": "^2.1.6"
59
69
  },
60
- "gitHead": "0f6b101af746a605b44dc6e2ed6937a965c76ee4"
70
+ "gitHead": "2900290e0f4bbf03745d95af6ade1de8ebc32c7e"
61
71
  }
@@ -5,6 +5,9 @@ import { paginate, Page, getHeaderAndFooter } from "./paginate.js";
5
5
  import { updatePageRefs } from "./update-refs.js";
6
6
  import { renderImage } from "./render-image.js";
7
7
  import { registerFonts, getFontNameStyle } from "./font.js";
8
+ import { registerDefaultStdFonts } from "./std-fonts.js";
9
+ import { toBlob, toBytes } from "pdfkit/output";
10
+ import PDFDocument from "pdfkit";
8
11
  import { PdfKitAlignment, rowsCombineTextRuns, rowsSplit } from "./textRunRow.js";
9
12
 
10
13
  export type PdfExportOptions = {
@@ -12,49 +15,47 @@ export type PdfExportOptions = {
12
15
  };
13
16
 
14
17
  export function exportToHTML5Blob(
15
- pdfKit: PDFKit.PDFDocument,
16
18
  doc: AD.AbstractDoc.AbstractDoc,
17
19
  options: PdfExportOptions = { compress: false }
18
20
  ): Promise<Blob> {
19
- return new Promise((resolve) => {
20
- let pdf = createDocument(pdfKit, options, doc);
21
- const buffers = Array<BlobPart>();
22
- pdf.on("data", buffers.push.bind(buffers));
23
- pdf.on("end", () => resolve(new Blob(buffers, { type: "application/pdf" })));
24
- });
21
+ const pdf = createDocument(options, doc);
22
+ return toBlob(pdf);
23
+ }
24
+
25
+ export function exportToBytes(
26
+ doc: AD.AbstractDoc.AbstractDoc,
27
+ options: PdfExportOptions = { compress: false }
28
+ ): Promise<Uint8Array> {
29
+ const pdf = createDocument(options, doc);
30
+ return toBytes(pdf);
25
31
  }
26
32
 
27
33
  /**
28
34
  * On the client side the stream can be a BlobStream from the blob-stream package.
29
35
  * On the server-side the stream can be a file stream from the fs package.
30
- * @param pdfKit
31
36
  * @param blobStream
32
37
  * @param doc
33
38
  * @param options
34
39
  */
35
40
  export function exportToStream(
36
- pdfKit: PDFKit.PDFDocument,
37
41
  blobStream: any,
38
42
  doc: AD.AbstractDoc.AbstractDoc,
39
43
  options: PdfExportOptions = { compress: false }
40
44
  ): void {
41
- let pdf = createDocument(pdfKit, options, doc);
45
+ let pdf = createDocument(options, doc);
42
46
  pdf.pipe(blobStream);
43
47
  }
44
48
 
45
- function createDocument(
46
- pdfKit: PDFKit.PDFDocument,
47
- options: PdfExportOptions,
48
- ad: AD.AbstractDoc.AbstractDoc
49
- ): PDFKit.PDFDocument {
50
- const pdf = new pdfKit({ ...options, autoFirstPage: false, bufferPages: true });
49
+ function createDocument(options: PdfExportOptions, ad: AD.AbstractDoc.AbstractDoc): PDFKit.PDFDocument {
50
+ registerDefaultStdFonts();
51
+ const pdf = new PDFDocument({ ...options, autoFirstPage: false, bufferPages: true });
51
52
 
52
53
  const document = preProcess(ad);
53
54
  registerFonts((fontName: string, fontSource: AD.Font.FontSource) => pdf.registerFont(fontName, fontSource), document);
54
- const desiredSizes = measure(pdfKit, document);
55
- const pages = paginate(pdfKit, document, desiredSizes);
55
+ const desiredSizes = measure(PDFDocument, document);
56
+ const pages = paginate(PDFDocument, document, desiredSizes);
56
57
  const updatedPages = updatePageRefs(pages);
57
- const pageDesiredSizes = measurePages(pdfKit, document, updatedPages);
58
+ const pageDesiredSizes = measurePages(PDFDocument, document, updatedPages);
58
59
 
59
60
  for (let page of updatedPages) {
60
61
  renderPage(document, pdf, pageDesiredSizes, page);
@@ -828,10 +829,8 @@ function renderCell(
828
829
  .reduce((a, b) => a + b, 0);
829
830
  const startY = finalRect.y + padding.top;
830
831
  let y = startY;
831
- if (style.verticalAlignment === "Middle")
832
- y += 0.5 * (availableHeight - contentHeight - padding.top - padding.bottom);
833
- else if (style.verticalAlignment === "Bottom")
834
- y += availableHeight - contentHeight - padding.top - padding.bottom;
832
+ if (style.verticalAlignment === "Middle") y += 0.5 * (availableHeight - contentHeight - padding.top - padding.bottom);
833
+ else if (style.verticalAlignment === "Bottom") y += availableHeight - contentHeight - padding.top - padding.bottom;
835
834
 
836
835
  for (const element of cell.children) {
837
836
  const elementSize = getDesiredSize(element, desiredSizes);
@@ -0,0 +1,26 @@
1
+ import * as PdfkitModule from "pdfkit";
2
+ import Helvetica from "pdfkit/standard-fonts/Helvetica";
3
+ import HelveticaBold from "pdfkit/standard-fonts/HelveticaBold";
4
+ import HelveticaOblique from "pdfkit/standard-fonts/HelveticaOblique";
5
+ import HelveticaBoldOblique from "pdfkit/standard-fonts/HelveticaBoldOblique";
6
+
7
+ // pdfkit 0.20's browser build stopped bundling standard font data and requires
8
+ // registering it explicitly via `registerStdFonts` before it's used, or `.font("Helvetica")`
9
+ // (the default fallback in font.ts) throws. The Node build self-registers standard fonts
10
+ // lazily instead and doesn't export `registerStdFonts` at all, so this reads it off the
11
+ // namespace object with a feature check instead of a named import - a named import of a
12
+ // binding that doesn't exist would fail to resolve entirely under Node's ESM loader.
13
+ const pdfkitExports = PdfkitModule as unknown as {
14
+ registerStdFonts?: (...fonts: ReadonlyArray<unknown>) => void;
15
+ };
16
+
17
+ // eslint-disable-next-line functional/no-let
18
+ let registered = false;
19
+
20
+ export function registerDefaultStdFonts(): void {
21
+ if (registered || typeof pdfkitExports.registerStdFonts !== "function") {
22
+ return;
23
+ }
24
+ pdfkitExports.registerStdFonts(Helvetica, HelveticaBold, HelveticaOblique, HelveticaBoldOblique);
25
+ registered = true;
26
+ }
@@ -0,0 +1,5 @@
1
+ declare module "pdfkit/output" {
2
+ function toBlob(document: PDFKit.PDFDocument): Promise<Blob>;
3
+ function toBytes(document: PDFKit.PDFDocument): Promise<Uint8Array>;
4
+ export { toBlob, toBytes };
5
+ }
@@ -0,0 +1,20 @@
1
+ /* eslint-disable import/no-default-export */
2
+ declare module "pdfkit/standard-fonts/Helvetica" {
3
+ const data: unknown;
4
+ export default data;
5
+ }
6
+
7
+ declare module "pdfkit/standard-fonts/HelveticaBold" {
8
+ const data: unknown;
9
+ export default data;
10
+ }
11
+
12
+ declare module "pdfkit/standard-fonts/HelveticaOblique" {
13
+ const data: unknown;
14
+ export default data;
15
+ }
16
+
17
+ declare module "pdfkit/standard-fonts/HelveticaBoldOblique" {
18
+ const data: unknown;
19
+ export default data;
20
+ }