@unisim/doc 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -0
- package/dist/bidi.d.ts +51 -0
- package/dist/bidi.d.ts.map +1 -0
- package/dist/bidi.js +587 -0
- package/dist/bidi.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/write/pdf.d.ts.map +1 -1
- package/dist/write/pdf.js +122 -13
- package/dist/write/pdf.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -50,6 +50,17 @@ reader has to drop is reported through `RichDoc.notices` rather than discovered
|
|
|
50
50
|
later — the failure worth designing against is someone assuming the output is a
|
|
51
51
|
copy.
|
|
52
52
|
|
|
53
|
+
**Right-to-left text** (Hebrew; Arabic letters are ordered too) is put into
|
|
54
|
+
visual order by `src/bidi.ts`, a hand-written subset of the Unicode
|
|
55
|
+
Bidirectional Algorithm (UAX #9) — hand-written rather than `bidi-js` because
|
|
56
|
+
this package has no dependencies. Levels are resolved per paragraph and each
|
|
57
|
+
wrapped line is reordered on its own; a paragraph whose first letter is
|
|
58
|
+
right-to-left is right-aligned, and its list markers and quote bar move to the
|
|
59
|
+
right. Not done: explicit embedding/isolate controls (ignored), Arabic shaping
|
|
60
|
+
(letters are not joined), and right-to-left column order in tables. An
|
|
61
|
+
all-Latin document's PDF is byte-identical to 0.7.0's — the self-test holds it
|
|
62
|
+
to a hash.
|
|
63
|
+
|
|
53
64
|
## Two writers, on purpose
|
|
54
65
|
|
|
55
66
|
The PDF writer here goes through `pdfcore` — base-14 fonts, its own AFM tables,
|
package/dist/bidi.d.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
type Level = number;
|
|
2
|
+
/** True if `text` holds a right-to-left letter (or an Arabic digit, or an RLM). */
|
|
3
|
+
export declare function hasRtl(text: string): boolean;
|
|
4
|
+
/** The glyph to draw for `ch` at an odd (right-to-left) level. */
|
|
5
|
+
export declare function mirrorOf(ch: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* The paragraph's direction (P2/P3): 1 if its first strong letter is
|
|
8
|
+
* right-to-left, else 0. A paragraph with no letters at all is left-to-right.
|
|
9
|
+
*/
|
|
10
|
+
export declare function paragraphLevel(text: string): 0 | 1;
|
|
11
|
+
export interface BidiParagraph {
|
|
12
|
+
/** The paragraph's own level: 0 left-to-right, 1 right-to-left. */
|
|
13
|
+
base: 0 | 1;
|
|
14
|
+
/** The resolved embedding level of every UTF-16 code unit of the input. */
|
|
15
|
+
levels: Uint8Array;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolve the embedding level of every character in one paragraph (rules
|
|
19
|
+
* P2–I2). Returns `null` for a paragraph with nothing right-to-left in it
|
|
20
|
+
* (unless `base` forces it right-to-left), so a caller can keep its all-Latin
|
|
21
|
+
* path exactly as it was.
|
|
22
|
+
*
|
|
23
|
+
* `base` forces the paragraph direction; left out, it comes from the text.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveLevels(text: string, base?: 0 | 1): BidiParagraph | null;
|
|
26
|
+
/** One thing to place on a line: a base character and the marks on it. */
|
|
27
|
+
export interface BidiCluster {
|
|
28
|
+
text: string;
|
|
29
|
+
level: Level;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Split `text` into clusters — a character plus any combining marks after it —
|
|
33
|
+
* each carrying the level of its first code unit. A mark must be drawn AFTER
|
|
34
|
+
* its base whichever way the line runs (rule L3), so they reverse as one.
|
|
35
|
+
*/
|
|
36
|
+
export declare function clustersOf(text: string, levels: ArrayLike<number>): BidiCluster[];
|
|
37
|
+
/**
|
|
38
|
+
* Put one rendered line's clusters into visual (left-to-right) order: rule L1
|
|
39
|
+
* (trailing whitespace and tabs to the paragraph level) then L2 (reverse every
|
|
40
|
+
* run at or above each odd level, highest first). Returns a new array; each
|
|
41
|
+
* item's `level` is the one it was DRAWN at, so the caller can mirror (L4).
|
|
42
|
+
*/
|
|
43
|
+
export declare function reorderLine<T extends BidiCluster>(line: readonly T[], base: 0 | 1): T[];
|
|
44
|
+
/**
|
|
45
|
+
* One line of text as it will be SEEN, left to right — the whole algorithm in
|
|
46
|
+
* one call, for a caller that draws a single line (a label, a list marker) and
|
|
47
|
+
* for the tests. Text with nothing right-to-left in it is returned unchanged.
|
|
48
|
+
*/
|
|
49
|
+
export declare function visualOrder(text: string, base?: 0 | 1): string;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=bidi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bidi.d.ts","sourceRoot":"","sources":["../src/bidi.ts"],"names":[],"mappings":"AA+DA,KAAK,KAAK,GAAG,MAAM,CAAA;AAKnB,mFAAmF;AACnF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5C;AAuJD,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CASlD;AAED,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;IACX,2EAA2E;IAC3E,MAAM,EAAE,UAAU,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,aAAa,GAAG,IAAI,CAqG9E;AA6DD,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;CACb;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,WAAW,EAAE,CAejF;AAID;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CA+BvF;AAYD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAM9D"}
|
package/dist/bidi.js
ADDED
|
@@ -0,0 +1,587 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Right-to-left text, in the order it is SEEN.
|
|
3
|
+
//
|
|
4
|
+
// A PDF content stream draws glyphs left to right, one after another, and that
|
|
5
|
+
// is all it does. Hebrew is stored first-letter-first like every other script,
|
|
6
|
+
// so drawn as stored it comes out mirrored: שלום עולם read backwards. Nothing
|
|
7
|
+
// in a PDF viewer fixes that for you — the reordering is the WRITER's job, and
|
|
8
|
+
// until this file existed nothing here did it.
|
|
9
|
+
//
|
|
10
|
+
// WHY A HAND-WRITTEN SUBSET OF UAX #9 AND NOT `bidi-js`
|
|
11
|
+
// ------------------------------------------------------
|
|
12
|
+
// This package has NO RUNTIME DEPENDENCIES and says so in its README: one of
|
|
13
|
+
// its two consumers (Universal Converter) is sold on being offline from first
|
|
14
|
+
// visit with nothing fetched. `bidi-js` is a fine library, but it is ~60 KB of
|
|
15
|
+
// generated Unicode tables for the whole of UAX #9 — explicit embeddings,
|
|
16
|
+
// isolates, every script — to serve a writer that can only ever draw what its
|
|
17
|
+
// fallback face (Liberation Sans) holds: Latin, Greek, Cyrillic and Hebrew.
|
|
18
|
+
// What that needs is the implicit algorithm on one paragraph, which is short
|
|
19
|
+
// and well specified. So this is exactly that, rule by rule, with the rule
|
|
20
|
+
// names from the standard on each step so it can be checked against it:
|
|
21
|
+
//
|
|
22
|
+
// P2/P3 paragraph direction from the first strong character
|
|
23
|
+
// W1–W7 weak types (marks, numbers, separators)
|
|
24
|
+
// N0 paired brackets
|
|
25
|
+
// N1–N2 neutrals
|
|
26
|
+
// I1–I2 implicit levels
|
|
27
|
+
// L1 trailing whitespace back to the paragraph level (per line)
|
|
28
|
+
// L2 reverse runs, highest level first (per line)
|
|
29
|
+
// L3 combining marks stay AFTER their base (reversed as clusters)
|
|
30
|
+
// L4 mirrored glyphs — '(' in right-to-left text is drawn as ')'
|
|
31
|
+
//
|
|
32
|
+
// NOT DONE, on purpose: explicit embeddings and isolates (LRE/RLE/LRO/RLO/PDF,
|
|
33
|
+
// LRI/RLI/FSI/PDI) are treated as invisible no-ops, and Arabic is ordered but
|
|
34
|
+
// not SHAPED (no joining forms) — Liberation Sans has no Arabic anyway. The
|
|
35
|
+
// character classes cover Latin, Greek, Cyrillic, Hebrew, Arabic and common
|
|
36
|
+
// punctuation; anything unlisted is a strong left-to-right letter, which is the
|
|
37
|
+
// right answer for every other script the suite can draw.
|
|
38
|
+
//
|
|
39
|
+
// ⚠️ LEVELS ARE RESOLVED PER PARAGRAPH, ORDER IS APPLIED PER LINE. The standard
|
|
40
|
+
// is explicit about this and it matters: whether the comma at the end of a
|
|
41
|
+
// wrapped line belongs to the Hebrew before it or the English after it depends
|
|
42
|
+
// on text that may be on the NEXT line. So the writer resolves levels once on
|
|
43
|
+
// the whole paragraph, wraps in logical order, and only then reorders each
|
|
44
|
+
// rendered line — never the other way round, which would wrap a reversed
|
|
45
|
+
// paragraph and put its last words on the first line.
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
// Bidi classes, as small integers so the per-character arrays are typed arrays.
|
|
48
|
+
const L = 0;
|
|
49
|
+
const R = 1;
|
|
50
|
+
const AL = 2;
|
|
51
|
+
const EN = 3;
|
|
52
|
+
const ES = 4;
|
|
53
|
+
const ET = 5;
|
|
54
|
+
const AN = 6;
|
|
55
|
+
const CS = 7;
|
|
56
|
+
const NSM = 8;
|
|
57
|
+
const BN = 9;
|
|
58
|
+
const B = 10;
|
|
59
|
+
const S = 11;
|
|
60
|
+
const WS = 12;
|
|
61
|
+
const ON = 13;
|
|
62
|
+
/** Anything that can make a paragraph need reordering at all. */
|
|
63
|
+
const RTL_TRIGGER = /[-ࣿיִ-﷿ﹰ-ﻼ]/;
|
|
64
|
+
/** True if `text` holds a right-to-left letter (or an Arabic digit, or an RLM). */
|
|
65
|
+
export function hasRtl(text) {
|
|
66
|
+
return RTL_TRIGGER.test(text);
|
|
67
|
+
}
|
|
68
|
+
function inRange(c, lo, hi) {
|
|
69
|
+
return c >= lo && c <= hi;
|
|
70
|
+
}
|
|
71
|
+
/** Combining marks — they belong to the character before them. */
|
|
72
|
+
function isMark(c) {
|
|
73
|
+
return (inRange(c, 0x0300, 0x036f) ||
|
|
74
|
+
inRange(c, 0x0483, 0x0489) ||
|
|
75
|
+
inRange(c, 0x0591, 0x05bd) ||
|
|
76
|
+
c === 0x05bf ||
|
|
77
|
+
c === 0x05c1 || c === 0x05c2 ||
|
|
78
|
+
c === 0x05c4 || c === 0x05c5 ||
|
|
79
|
+
c === 0x05c7 ||
|
|
80
|
+
inRange(c, 0x0610, 0x061a) ||
|
|
81
|
+
inRange(c, 0x064b, 0x065f) ||
|
|
82
|
+
c === 0x0670 ||
|
|
83
|
+
inRange(c, 0x06d6, 0x06dc) ||
|
|
84
|
+
inRange(c, 0x06df, 0x06e4) ||
|
|
85
|
+
c === 0x06e7 || c === 0x06e8 ||
|
|
86
|
+
inRange(c, 0x06ea, 0x06ed) ||
|
|
87
|
+
inRange(c, 0x08d3, 0x08ff) && c !== 0x08e2 ||
|
|
88
|
+
c === 0xfb1e ||
|
|
89
|
+
inRange(c, 0x20d0, 0x20ff) ||
|
|
90
|
+
inRange(c, 0xfe00, 0xfe0f) ||
|
|
91
|
+
inRange(c, 0xfe20, 0xfe2f));
|
|
92
|
+
}
|
|
93
|
+
/** The Bidi_Class of a code point, for the scripts this writer can draw. */
|
|
94
|
+
function classOf(c) {
|
|
95
|
+
// ASCII first: it is nearly every character in nearly every document.
|
|
96
|
+
if (c < 0x80) {
|
|
97
|
+
if (c >= 0x30 && c <= 0x39)
|
|
98
|
+
return EN;
|
|
99
|
+
if ((c >= 0x41 && c <= 0x5a) || (c >= 0x61 && c <= 0x7a))
|
|
100
|
+
return L;
|
|
101
|
+
if (c === 0x20 || c === 0x0c)
|
|
102
|
+
return WS;
|
|
103
|
+
if (c === 0x09 || c === 0x0b || c === 0x1f)
|
|
104
|
+
return S;
|
|
105
|
+
if (c === 0x0a || c === 0x0d || (c >= 0x1c && c <= 0x1e))
|
|
106
|
+
return B;
|
|
107
|
+
if (c < 0x20 || c === 0x7f)
|
|
108
|
+
return BN;
|
|
109
|
+
if (c === 0x2b || c === 0x2d)
|
|
110
|
+
return ES; // + -
|
|
111
|
+
if (c >= 0x23 && c <= 0x25)
|
|
112
|
+
return ET; // # $ %
|
|
113
|
+
if (c === 0x2c || c === 0x2e || c === 0x2f || c === 0x3a)
|
|
114
|
+
return CS; // , . / :
|
|
115
|
+
return ON;
|
|
116
|
+
}
|
|
117
|
+
if (isMark(c))
|
|
118
|
+
return NSM;
|
|
119
|
+
// Latin-1 supplement
|
|
120
|
+
if (c < 0x100) {
|
|
121
|
+
if (c === 0x85)
|
|
122
|
+
return B;
|
|
123
|
+
if (c < 0xa0)
|
|
124
|
+
return BN;
|
|
125
|
+
if (c === 0xa0)
|
|
126
|
+
return CS;
|
|
127
|
+
if (c === 0xad)
|
|
128
|
+
return BN;
|
|
129
|
+
if (c === 0xb2 || c === 0xb3 || c === 0xb9)
|
|
130
|
+
return EN;
|
|
131
|
+
if ((c >= 0xa2 && c <= 0xa5) || c === 0xb0 || c === 0xb1)
|
|
132
|
+
return ET;
|
|
133
|
+
if (c === 0xaa || c === 0xb5 || c === 0xba || c >= 0xc0) {
|
|
134
|
+
return c === 0xd7 || c === 0xf7 ? ON : L;
|
|
135
|
+
}
|
|
136
|
+
return ON;
|
|
137
|
+
}
|
|
138
|
+
// Hebrew
|
|
139
|
+
if (c >= 0x0590 && c <= 0x05ff)
|
|
140
|
+
return R;
|
|
141
|
+
// Arabic
|
|
142
|
+
if (c >= 0x0600 && c <= 0x06ff) {
|
|
143
|
+
if (c <= 0x0605 || (c >= 0x0660 && c <= 0x0669) || c === 0x066b || c === 0x066c || c === 0x06dd)
|
|
144
|
+
return AN;
|
|
145
|
+
if (c === 0x060c)
|
|
146
|
+
return CS;
|
|
147
|
+
if (c === 0x066a)
|
|
148
|
+
return ET;
|
|
149
|
+
if (c >= 0x06f0 && c <= 0x06f9)
|
|
150
|
+
return EN;
|
|
151
|
+
if (c === 0x0609 || c === 0x060a)
|
|
152
|
+
return ET;
|
|
153
|
+
if (c === 0x060e || c === 0x060f || c === 0x06de || c === 0x06e9)
|
|
154
|
+
return ON;
|
|
155
|
+
return AL;
|
|
156
|
+
}
|
|
157
|
+
if (c >= 0x0700 && c <= 0x074f)
|
|
158
|
+
return AL; // Syriac
|
|
159
|
+
if (c >= 0x0750 && c <= 0x077f)
|
|
160
|
+
return AL; // Arabic supplement
|
|
161
|
+
if (c >= 0x0780 && c <= 0x07bf)
|
|
162
|
+
return AL; // Thaana
|
|
163
|
+
if (c >= 0x07c0 && c <= 0x085f)
|
|
164
|
+
return R; // NKo, Samaritan, Mandaic
|
|
165
|
+
if (c >= 0x0860 && c <= 0x08ff)
|
|
166
|
+
return AL; // Syriac/Arabic extended
|
|
167
|
+
if (c >= 0xfb1d && c <= 0xfb4f)
|
|
168
|
+
return c === 0xfb29 ? ES : R; // Hebrew presentation forms
|
|
169
|
+
if (c >= 0xfb50 && c <= 0xfdff)
|
|
170
|
+
return c === 0xfd3e || c === 0xfd3f ? ON : AL;
|
|
171
|
+
if (c >= 0xfe70 && c <= 0xfefe)
|
|
172
|
+
return AL;
|
|
173
|
+
if (c === 0xfeff)
|
|
174
|
+
return BN;
|
|
175
|
+
// General punctuation and friends
|
|
176
|
+
if (c >= 0x2000 && c <= 0x200a)
|
|
177
|
+
return WS;
|
|
178
|
+
if (c >= 0x200b && c <= 0x200d)
|
|
179
|
+
return BN;
|
|
180
|
+
if (c === 0x200e)
|
|
181
|
+
return L; // LRM
|
|
182
|
+
if (c === 0x200f)
|
|
183
|
+
return R; // RLM
|
|
184
|
+
if (c === 0x2028)
|
|
185
|
+
return WS;
|
|
186
|
+
if (c === 0x2029)
|
|
187
|
+
return B;
|
|
188
|
+
if ((c >= 0x202a && c <= 0x202e) || (c >= 0x2066 && c <= 0x2069))
|
|
189
|
+
return BN; // embeddings/isolates: unsupported, ignored
|
|
190
|
+
if (c === 0x202f)
|
|
191
|
+
return CS;
|
|
192
|
+
if (c >= 0x2030 && c <= 0x2034)
|
|
193
|
+
return ET;
|
|
194
|
+
if (c === 0x2044)
|
|
195
|
+
return CS;
|
|
196
|
+
if (c === 0x205f)
|
|
197
|
+
return WS;
|
|
198
|
+
if (c >= 0x2060 && c <= 0x2064)
|
|
199
|
+
return BN;
|
|
200
|
+
if (c >= 0x2010 && c <= 0x205e)
|
|
201
|
+
return ON;
|
|
202
|
+
if (c === 0x2070 || (c >= 0x2074 && c <= 0x2079) || (c >= 0x2080 && c <= 0x2089))
|
|
203
|
+
return EN;
|
|
204
|
+
if (c === 0x207a || c === 0x207b || c === 0x208a || c === 0x208b)
|
|
205
|
+
return ES;
|
|
206
|
+
if (c >= 0x207c && c <= 0x207e)
|
|
207
|
+
return ON;
|
|
208
|
+
if (c >= 0x208c && c <= 0x208e)
|
|
209
|
+
return ON;
|
|
210
|
+
if (c >= 0x20a0 && c <= 0x20cf)
|
|
211
|
+
return ET; // currency
|
|
212
|
+
if (c === 0x2212)
|
|
213
|
+
return ES;
|
|
214
|
+
if (c === 0x2213)
|
|
215
|
+
return ET;
|
|
216
|
+
if (c === 0x212e)
|
|
217
|
+
return ET;
|
|
218
|
+
if (c >= 0x2100 && c <= 0x214f)
|
|
219
|
+
return L; // letterlike: mostly L, a few ON — L is the safe default
|
|
220
|
+
if (c >= 0x2150 && c <= 0x218f)
|
|
221
|
+
return ON;
|
|
222
|
+
if (c >= 0x2190 && c <= 0x2bff)
|
|
223
|
+
return ON; // arrows, maths, box drawing, shapes, dingbats
|
|
224
|
+
if (c === 0x1680 || c === 0x3000)
|
|
225
|
+
return WS;
|
|
226
|
+
if (c >= 0x3001 && c <= 0x3004)
|
|
227
|
+
return ON;
|
|
228
|
+
if (c >= 0x3008 && c <= 0x3020)
|
|
229
|
+
return ON;
|
|
230
|
+
if (c >= 0xfe50 && c <= 0xfe6f) {
|
|
231
|
+
if (c === 0xfe50 || c === 0xfe52 || c === 0xfe55)
|
|
232
|
+
return CS;
|
|
233
|
+
if (c === 0xfe62 || c === 0xfe63)
|
|
234
|
+
return ES;
|
|
235
|
+
if (c === 0xfe5f || c === 0xfe69 || c === 0xfe6a)
|
|
236
|
+
return ET;
|
|
237
|
+
return ON;
|
|
238
|
+
}
|
|
239
|
+
if (c >= 0xff01 && c <= 0xff20) {
|
|
240
|
+
if (c >= 0xff10 && c <= 0xff19)
|
|
241
|
+
return EN;
|
|
242
|
+
if (c === 0xff0b || c === 0xff0d)
|
|
243
|
+
return ES;
|
|
244
|
+
if (c >= 0xff03 && c <= 0xff05)
|
|
245
|
+
return ET;
|
|
246
|
+
if (c === 0xff0c || c === 0xff0e || c === 0xff0f || c === 0xff1a)
|
|
247
|
+
return CS;
|
|
248
|
+
return ON;
|
|
249
|
+
}
|
|
250
|
+
if (c >= 0x10800 && c <= 0x10fff)
|
|
251
|
+
return R; // historic RTL scripts
|
|
252
|
+
if (c >= 0x1e800 && c <= 0x1efff)
|
|
253
|
+
return R;
|
|
254
|
+
return L;
|
|
255
|
+
}
|
|
256
|
+
/** Bidi_Mirroring_Glyph for the pairs a document is likely to hold. */
|
|
257
|
+
const MIRROR = {
|
|
258
|
+
'(': ')', ')': '(', '[': ']', ']': '[', '{': '}', '}': '{', '<': '>', '>': '<',
|
|
259
|
+
'\u00ab': '\u00bb', '\u00bb': '\u00ab', // « »
|
|
260
|
+
'\u2039': '\u203a', '\u203a': '\u2039', // ‹ ›
|
|
261
|
+
'\u2264': '\u2265', '\u2265': '\u2264', // ≤ ≥
|
|
262
|
+
'\u226a': '\u226b', '\u226b': '\u226a', // ≪ ≫
|
|
263
|
+
'\u2045': '\u2046', '\u2046': '\u2045', // ⁅ ⁆
|
|
264
|
+
'\u207d': '\u207e', '\u207e': '\u207d', // superscript ( )
|
|
265
|
+
'\u208d': '\u208e', '\u208e': '\u208d', // subscript ( )
|
|
266
|
+
'\u2329': '\u232a', '\u232a': '\u2329', // angle brackets
|
|
267
|
+
'\u3008': '\u3009', '\u3009': '\u3008',
|
|
268
|
+
};
|
|
269
|
+
/** Bidi_Paired_Bracket, opening → closing, for rule N0. */
|
|
270
|
+
const OPENING = {
|
|
271
|
+
'(': ')', '[': ']', '{': '}',
|
|
272
|
+
'\u2045': '\u2046', '\u207d': '\u207e', '\u208d': '\u208e', '\u2329': '\u232a', '\u3008': '\u3009',
|
|
273
|
+
};
|
|
274
|
+
const CLOSING = new Set(Object.values(OPENING));
|
|
275
|
+
/** The glyph to draw for `ch` at an odd (right-to-left) level. */
|
|
276
|
+
export function mirrorOf(ch) {
|
|
277
|
+
return MIRROR[ch] ?? ch;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* The paragraph's direction (P2/P3): 1 if its first strong letter is
|
|
281
|
+
* right-to-left, else 0. A paragraph with no letters at all is left-to-right.
|
|
282
|
+
*/
|
|
283
|
+
export function paragraphLevel(text) {
|
|
284
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
285
|
+
const cp = text.codePointAt(i);
|
|
286
|
+
if (cp > 0xffff)
|
|
287
|
+
i += 1;
|
|
288
|
+
const t = classOf(cp);
|
|
289
|
+
if (t === L)
|
|
290
|
+
return 0;
|
|
291
|
+
if (t === R || t === AL)
|
|
292
|
+
return 1;
|
|
293
|
+
}
|
|
294
|
+
return 0;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Resolve the embedding level of every character in one paragraph (rules
|
|
298
|
+
* P2–I2). Returns `null` for a paragraph with nothing right-to-left in it
|
|
299
|
+
* (unless `base` forces it right-to-left), so a caller can keep its all-Latin
|
|
300
|
+
* path exactly as it was.
|
|
301
|
+
*
|
|
302
|
+
* `base` forces the paragraph direction; left out, it comes from the text.
|
|
303
|
+
*/
|
|
304
|
+
export function resolveLevels(text, base) {
|
|
305
|
+
// A paragraph FORCED right-to-left needs resolving even with no Hebrew in
|
|
306
|
+
// it: "1." in a Hebrew list reads ".1".
|
|
307
|
+
if (base !== 1 && !hasRtl(text))
|
|
308
|
+
return null;
|
|
309
|
+
const e = base ?? paragraphLevel(text);
|
|
310
|
+
const n = text.length;
|
|
311
|
+
const orig = new Uint8Array(n);
|
|
312
|
+
for (let i = 0; i < n; i += 1) {
|
|
313
|
+
const cp = text.codePointAt(i);
|
|
314
|
+
orig[i] = classOf(cp);
|
|
315
|
+
if (cp > 0xffff) {
|
|
316
|
+
// The low surrogate travels with its high one.
|
|
317
|
+
orig[i + 1] = orig[i] === NSM ? NSM : orig[i];
|
|
318
|
+
i += 1;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
// A surrogate pair's second half is not a character of its own: treated as a
|
|
322
|
+
// mark, it simply takes whatever its first half resolves to.
|
|
323
|
+
const types = new Uint8Array(orig);
|
|
324
|
+
for (let i = 0; i < n; i += 1) {
|
|
325
|
+
const cp = text.charCodeAt(i);
|
|
326
|
+
if (cp >= 0xdc00 && cp <= 0xdfff && i > 0)
|
|
327
|
+
types[i] = NSM;
|
|
328
|
+
}
|
|
329
|
+
const sos = e === 1 ? R : L;
|
|
330
|
+
const eos = sos;
|
|
331
|
+
// X9 (approximately): boundary-neutral characters behave like marks, taking
|
|
332
|
+
// the type of what they follow. Removing them outright would shift every
|
|
333
|
+
// index after them; this keeps the arrays aligned with the text.
|
|
334
|
+
for (let i = 0; i < n; i += 1)
|
|
335
|
+
if (types[i] === BN)
|
|
336
|
+
types[i] = NSM;
|
|
337
|
+
// W1: a mark takes the type of the character before it.
|
|
338
|
+
for (let i = 0; i < n; i += 1) {
|
|
339
|
+
if (types[i] === NSM)
|
|
340
|
+
types[i] = i === 0 ? sos : types[i - 1];
|
|
341
|
+
}
|
|
342
|
+
// W2: European digits after Arabic letters are Arabic digits.
|
|
343
|
+
let lastStrong = sos;
|
|
344
|
+
for (let i = 0; i < n; i += 1) {
|
|
345
|
+
const t = types[i];
|
|
346
|
+
if (t === L || t === R || t === AL)
|
|
347
|
+
lastStrong = t;
|
|
348
|
+
else if (t === EN && lastStrong === AL)
|
|
349
|
+
types[i] = AN;
|
|
350
|
+
}
|
|
351
|
+
// W3: Arabic letters are right-to-left letters from here on.
|
|
352
|
+
for (let i = 0; i < n; i += 1)
|
|
353
|
+
if (types[i] === AL)
|
|
354
|
+
types[i] = R;
|
|
355
|
+
// W4: one separator between two numbers of the same kind joins them.
|
|
356
|
+
for (let i = 1; i < n - 1; i += 1) {
|
|
357
|
+
const t = types[i];
|
|
358
|
+
const prev = types[i - 1];
|
|
359
|
+
const next = types[i + 1];
|
|
360
|
+
if (t === ES && prev === EN && next === EN)
|
|
361
|
+
types[i] = EN;
|
|
362
|
+
else if (t === CS && prev === EN && next === EN)
|
|
363
|
+
types[i] = EN;
|
|
364
|
+
else if (t === CS && prev === AN && next === AN)
|
|
365
|
+
types[i] = AN;
|
|
366
|
+
}
|
|
367
|
+
// W5: currency and percent signs touching a European number join it.
|
|
368
|
+
for (let i = 0; i < n; i += 1) {
|
|
369
|
+
if (types[i] !== ET)
|
|
370
|
+
continue;
|
|
371
|
+
let j = i;
|
|
372
|
+
while (j < n && types[j] === ET)
|
|
373
|
+
j += 1;
|
|
374
|
+
const touches = (i > 0 && types[i - 1] === EN) || (j < n && types[j] === EN);
|
|
375
|
+
if (touches)
|
|
376
|
+
for (let k = i; k < j; k += 1)
|
|
377
|
+
types[k] = EN;
|
|
378
|
+
i = j - 1;
|
|
379
|
+
}
|
|
380
|
+
// W6: any separator left over is a neutral.
|
|
381
|
+
for (let i = 0; i < n; i += 1) {
|
|
382
|
+
const t = types[i];
|
|
383
|
+
if (t === ES || t === ET || t === CS)
|
|
384
|
+
types[i] = ON;
|
|
385
|
+
}
|
|
386
|
+
// W7: European numbers after a left-to-right letter are left-to-right.
|
|
387
|
+
lastStrong = sos;
|
|
388
|
+
for (let i = 0; i < n; i += 1) {
|
|
389
|
+
const t = types[i];
|
|
390
|
+
if (t === L || t === R)
|
|
391
|
+
lastStrong = t;
|
|
392
|
+
else if (t === EN && lastStrong === L)
|
|
393
|
+
types[i] = L;
|
|
394
|
+
}
|
|
395
|
+
// N0: paired brackets resolve together, from what they enclose.
|
|
396
|
+
resolveBrackets(text, orig, types, e, sos);
|
|
397
|
+
// N1/N2: a run of neutrals between two things of the same direction takes
|
|
398
|
+
// that direction; otherwise the paragraph's. Numbers count as right-to-left.
|
|
399
|
+
const isNeutral = (t) => t === ON || t === WS || t === S || t === B;
|
|
400
|
+
const strongDir = (t) => (t === L ? L : R); // only called on L, R, EN, AN
|
|
401
|
+
for (let i = 0; i < n; i += 1) {
|
|
402
|
+
if (!isNeutral(types[i]))
|
|
403
|
+
continue;
|
|
404
|
+
let j = i;
|
|
405
|
+
while (j < n && isNeutral(types[j]))
|
|
406
|
+
j += 1;
|
|
407
|
+
const before = i === 0 ? sos : strongDir(types[i - 1]);
|
|
408
|
+
const after = j === n ? eos : strongDir(types[j]);
|
|
409
|
+
const dir = before === after ? before : e === 1 ? R : L;
|
|
410
|
+
for (let k = i; k < j; k += 1)
|
|
411
|
+
types[k] = dir;
|
|
412
|
+
i = j - 1;
|
|
413
|
+
}
|
|
414
|
+
// I1/I2: implicit levels.
|
|
415
|
+
const levels = new Uint8Array(n);
|
|
416
|
+
for (let i = 0; i < n; i += 1) {
|
|
417
|
+
const t = types[i];
|
|
418
|
+
if (e === 0)
|
|
419
|
+
levels[i] = t === R ? 1 : t === AN || t === EN ? 2 : 0;
|
|
420
|
+
else
|
|
421
|
+
levels[i] = t === L || t === EN || t === AN ? 2 : 1;
|
|
422
|
+
}
|
|
423
|
+
return { base: e, levels };
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Rule N0 (UAX #9 §3.3.5), with BD16's pairing: a bracket pair takes the
|
|
427
|
+
* paragraph's direction if it encloses anything of that direction, else the
|
|
428
|
+
* opposite one if it encloses that AND the text before it agrees.
|
|
429
|
+
*/
|
|
430
|
+
function resolveBrackets(text, orig, types, e, sos) {
|
|
431
|
+
const pairs = [];
|
|
432
|
+
const stack = [];
|
|
433
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
434
|
+
if (types[i] !== ON)
|
|
435
|
+
continue;
|
|
436
|
+
const ch = text[i];
|
|
437
|
+
const close = OPENING[ch];
|
|
438
|
+
if (close) {
|
|
439
|
+
if (stack.length === 63)
|
|
440
|
+
break; // BD16: stop at the stack limit
|
|
441
|
+
stack.push({ close, at: i });
|
|
442
|
+
}
|
|
443
|
+
else if (CLOSING.has(ch)) {
|
|
444
|
+
for (let s = stack.length - 1; s >= 0; s -= 1) {
|
|
445
|
+
if (stack[s].close === ch) {
|
|
446
|
+
pairs.push([stack[s].at, i]);
|
|
447
|
+
stack.length = s;
|
|
448
|
+
break;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
pairs.sort((a, b) => a[0] - b[0]);
|
|
454
|
+
const embed = e === 1 ? R : L;
|
|
455
|
+
const opposite = e === 1 ? L : R;
|
|
456
|
+
const strongOf = (t) => t === L ? L : t === R || t === AL || t === EN || t === AN ? R : null;
|
|
457
|
+
for (const [open, close] of pairs) {
|
|
458
|
+
let foundEmbed = false;
|
|
459
|
+
let foundOpposite = false;
|
|
460
|
+
for (let k = open + 1; k < close; k += 1) {
|
|
461
|
+
const s = strongOf(types[k]);
|
|
462
|
+
if (s === embed) {
|
|
463
|
+
foundEmbed = true;
|
|
464
|
+
break;
|
|
465
|
+
}
|
|
466
|
+
if (s === opposite)
|
|
467
|
+
foundOpposite = true;
|
|
468
|
+
}
|
|
469
|
+
let dir = null;
|
|
470
|
+
if (foundEmbed)
|
|
471
|
+
dir = embed;
|
|
472
|
+
else if (foundOpposite) {
|
|
473
|
+
let before = sos;
|
|
474
|
+
for (let k = open - 1; k >= 0; k -= 1) {
|
|
475
|
+
const s = strongOf(types[k]);
|
|
476
|
+
if (s !== null) {
|
|
477
|
+
before = s;
|
|
478
|
+
break;
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
dir = before === opposite ? opposite : embed;
|
|
482
|
+
}
|
|
483
|
+
if (dir === null)
|
|
484
|
+
continue;
|
|
485
|
+
for (const at of [open, close]) {
|
|
486
|
+
types[at] = dir;
|
|
487
|
+
// Marks on a bracket follow it (they were made ON by W1).
|
|
488
|
+
for (let k = at + 1; k < text.length && orig[k] === NSM; k += 1)
|
|
489
|
+
types[k] = dir;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* Split `text` into clusters — a character plus any combining marks after it —
|
|
495
|
+
* each carrying the level of its first code unit. A mark must be drawn AFTER
|
|
496
|
+
* its base whichever way the line runs (rule L3), so they reverse as one.
|
|
497
|
+
*/
|
|
498
|
+
export function clustersOf(text, levels) {
|
|
499
|
+
const out = [];
|
|
500
|
+
let i = 0;
|
|
501
|
+
while (i < text.length) {
|
|
502
|
+
const start = i;
|
|
503
|
+
const cp = text.codePointAt(i);
|
|
504
|
+
i += cp > 0xffff ? 2 : 1;
|
|
505
|
+
while (i < text.length) {
|
|
506
|
+
const next = text.codePointAt(i);
|
|
507
|
+
if (!isMark(next) && next !== 0x200d)
|
|
508
|
+
break;
|
|
509
|
+
i += next > 0xffff ? 2 : 1;
|
|
510
|
+
}
|
|
511
|
+
out.push({ text: text.slice(start, i), level: levels[start] ?? 0 });
|
|
512
|
+
}
|
|
513
|
+
return out;
|
|
514
|
+
}
|
|
515
|
+
const WHITESPACE = /^\s+$/; // \s includes U+2028, which stands in for a hard break
|
|
516
|
+
/**
|
|
517
|
+
* Put one rendered line's clusters into visual (left-to-right) order: rule L1
|
|
518
|
+
* (trailing whitespace and tabs to the paragraph level) then L2 (reverse every
|
|
519
|
+
* run at or above each odd level, highest first). Returns a new array; each
|
|
520
|
+
* item's `level` is the one it was DRAWN at, so the caller can mirror (L4).
|
|
521
|
+
*/
|
|
522
|
+
export function reorderLine(line, base) {
|
|
523
|
+
const items = line.map((c) => ({ ...c }));
|
|
524
|
+
// L1: tabs, whitespace before a tab, and whitespace at the end of the line.
|
|
525
|
+
let trailing = true;
|
|
526
|
+
for (let i = items.length - 1; i >= 0; i -= 1) {
|
|
527
|
+
const t = items[i].text;
|
|
528
|
+
if (t === '\t') {
|
|
529
|
+
items[i].level = base;
|
|
530
|
+
trailing = true;
|
|
531
|
+
continue;
|
|
532
|
+
}
|
|
533
|
+
if (WHITESPACE.test(t)) {
|
|
534
|
+
if (trailing)
|
|
535
|
+
items[i].level = base;
|
|
536
|
+
continue;
|
|
537
|
+
}
|
|
538
|
+
trailing = false;
|
|
539
|
+
}
|
|
540
|
+
// L2
|
|
541
|
+
let highest = 0;
|
|
542
|
+
let lowestOdd = 255;
|
|
543
|
+
for (const c of items) {
|
|
544
|
+
if (c.level > highest)
|
|
545
|
+
highest = c.level;
|
|
546
|
+
if (c.level % 2 === 1 && c.level < lowestOdd)
|
|
547
|
+
lowestOdd = c.level;
|
|
548
|
+
}
|
|
549
|
+
for (let level = highest; level >= lowestOdd && level > 0; level -= 1) {
|
|
550
|
+
let i = 0;
|
|
551
|
+
while (i < items.length) {
|
|
552
|
+
if (items[i].level < level) {
|
|
553
|
+
i += 1;
|
|
554
|
+
continue;
|
|
555
|
+
}
|
|
556
|
+
let j = i;
|
|
557
|
+
while (j < items.length && items[j].level >= level)
|
|
558
|
+
j += 1;
|
|
559
|
+
reverse(items, i, j - 1);
|
|
560
|
+
i = j;
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
return items;
|
|
564
|
+
}
|
|
565
|
+
function reverse(a, from, to) {
|
|
566
|
+
while (from < to) {
|
|
567
|
+
const t = a[from];
|
|
568
|
+
a[from] = a[to];
|
|
569
|
+
a[to] = t;
|
|
570
|
+
from += 1;
|
|
571
|
+
to -= 1;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* One line of text as it will be SEEN, left to right — the whole algorithm in
|
|
576
|
+
* one call, for a caller that draws a single line (a label, a list marker) and
|
|
577
|
+
* for the tests. Text with nothing right-to-left in it is returned unchanged.
|
|
578
|
+
*/
|
|
579
|
+
export function visualOrder(text, base) {
|
|
580
|
+
const para = resolveLevels(text, base);
|
|
581
|
+
if (!para)
|
|
582
|
+
return text;
|
|
583
|
+
return reorderLine(clustersOf(text, para.levels), para.base)
|
|
584
|
+
.map((c) => (c.level % 2 === 1 ? mirrorOf(c.text) : c.text))
|
|
585
|
+
.join('');
|
|
586
|
+
}
|
|
587
|
+
//# sourceMappingURL=bidi.js.map
|
package/dist/bidi.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bidi.js","sourceRoot":"","sources":["../src/bidi.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,5 +17,7 @@ export type { EmbeddableFont } from './truetype.js';
|
|
|
17
17
|
export type { FontId, PdfImage, Rgb } from './pdfcore.js';
|
|
18
18
|
export { imageToJpeg, imagesToPdf } from './image.js';
|
|
19
19
|
export type { PdfPageSource } from './image.js';
|
|
20
|
+
export { visualOrder, resolveLevels, paragraphLevel } from './bidi.js';
|
|
21
|
+
export type { BidiParagraph } from './bidi.js';
|
|
20
22
|
export { emuToPoints, odfLengthToPoints, vmlStyleSize } from './length.js';
|
|
21
23
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2CA,YAAY,EACV,KAAK,EACL,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,GAAG,GACJ,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAG9C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,cAAc,CAAA;AAOrB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAK3C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG7F,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACrD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM/C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2CA,YAAY,EACV,KAAK,EACL,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,GAAG,GACJ,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAG9C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,cAAc,CAAA;AAOrB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAK3C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG7F,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACrD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM/C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACtE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAM9C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -64,6 +64,11 @@ export { PdfDocument, PdfPage, rgb, toWinAnsi, unspellable, widthOfText } from '
|
|
|
64
64
|
// ---- Embedding a font, for the alphabets base-14 cannot spell --------------
|
|
65
65
|
export { readTrueType, FontFormatError } from './truetype.js';
|
|
66
66
|
export { imageToJpeg, imagesToPdf } from './image.js';
|
|
67
|
+
// ---- Right-to-left text ----------------------------------------------------
|
|
68
|
+
// The bidi reordering `docToPdf` applies to every line, for a caller that
|
|
69
|
+
// draws its own text straight onto a `PdfPage` (which draws left to right, as
|
|
70
|
+
// given) — and for the self-tests.
|
|
71
|
+
export { visualOrder, resolveLevels, paragraphLevel } from './bidi.js';
|
|
67
72
|
// ---- Source lengths → points ----------------------------------------------
|
|
68
73
|
// Exported so the self-tests can reach them: they are the one part of the
|
|
69
74
|
// image-sizing path with no DOM in it, and they are where an off-by-a-third
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,EAAE;AACF,0BAA0B;AAC1B,0BAA0B;AAC1B,8EAA8E;AAC9E,4EAA4E;AAC5E,uEAAuE;AACvE,wEAAwE;AACxE,sEAAsE;AACtE,+EAA+E;AAC/E,4EAA4E;AAC5E,YAAY;AACZ,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,sEAAsE;AACtE,+EAA+E;AAC/E,2EAA2E;AAC3E,gFAAgF;AAChF,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,uDAAuD;AACvD,uDAAuD;AACvD,6EAA6E;AAC7E,gFAAgF;AAChF,+DAA+D;AAC/D,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,4DAA4D;AAC5D,EAAE;AACF,gFAAgF;AAChF,wCAAwC;AACxC,8EAA8E;AAW9E,8EAA8E;AAC9E,kEAAkE;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,+EAA+E;AAC/E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,cAAc,CAAA;AAYrB,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,2DAA2D;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEvD,8EAA8E;AAC9E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGrD,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE7F,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAG7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGrD,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,EAAE;AACF,0BAA0B;AAC1B,0BAA0B;AAC1B,8EAA8E;AAC9E,4EAA4E;AAC5E,uEAAuE;AACvE,wEAAwE;AACxE,sEAAsE;AACtE,+EAA+E;AAC/E,4EAA4E;AAC5E,YAAY;AACZ,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,sEAAsE;AACtE,+EAA+E;AAC/E,2EAA2E;AAC3E,gFAAgF;AAChF,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,uDAAuD;AACvD,uDAAuD;AACvD,6EAA6E;AAC7E,gFAAgF;AAChF,+DAA+D;AAC/D,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,4DAA4D;AAC5D,EAAE;AACF,gFAAgF;AAChF,wCAAwC;AACxC,8EAA8E;AAW9E,8EAA8E;AAC9E,kEAAkE;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,+EAA+E;AAC/E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,cAAc,CAAA;AAYrB,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,2DAA2D;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEvD,8EAA8E;AAC9E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGrD,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE7F,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAG7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGrD,+EAA+E;AAC/E,0EAA0E;AAC1E,8EAA8E;AAC9E,mCAAmC;AACnC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAGtE,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/write/pdf.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../src/write/pdf.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pdf.d.ts","sourceRoot":"","sources":["../../src/write/pdf.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAS,OAAO,EAAO,MAAM,aAAa,CAAA;AAOtD,OAAO,KAAK,EAAyB,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAqD1E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAID;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;AAyBjE,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,WAAW,EACrB,gBAAgB,CAAC,EAAE,kBAAkB,GACpC,OAAO,CAAC,SAAS,CAAC,CA6CpB"}
|
package/dist/write/pdf.js
CHANGED
|
@@ -30,6 +30,7 @@ import { PdfDocument, rgb, unspellable, widthOfText } from '../pdfcore.js';
|
|
|
30
30
|
import { readTrueType } from '../truetype.js';
|
|
31
31
|
import { MONO, SANS, SERIF } from '../metrics.js';
|
|
32
32
|
import { imageToJpeg } from '../image.js';
|
|
33
|
+
import { clustersOf, mirrorOf, paragraphLevel, reorderLine, resolveLevels, visualOrder } from '../bidi.js';
|
|
33
34
|
import { runsToText } from '../model.js';
|
|
34
35
|
// ── Palette ──────────────────────────────────────────────────────────────────
|
|
35
36
|
// The suite's own, matching Universal PDF's markdown export so two documents
|
|
@@ -287,8 +288,83 @@ class Renderer {
|
|
|
287
288
|
});
|
|
288
289
|
}
|
|
289
290
|
}
|
|
291
|
+
// Bidi levels are resolved over the WHOLE paragraph, here, before wrapping
|
|
292
|
+
// — see the header of `bidi.ts` for why that order is the only right one.
|
|
293
|
+
// A hard break stands in as U+2028, the line separator, which the
|
|
294
|
+
// algorithm treats as whitespace: same paragraph, same direction.
|
|
295
|
+
const para = resolveLevels(out.map((t) => (t.isBreak ? '\u2028' : t.text)).join(''));
|
|
296
|
+
if (para) {
|
|
297
|
+
let at = 0;
|
|
298
|
+
for (const token of out) {
|
|
299
|
+
if (token.isBreak) {
|
|
300
|
+
at += 1;
|
|
301
|
+
continue;
|
|
302
|
+
}
|
|
303
|
+
token.levels = para.levels.slice(at, at + token.text.length);
|
|
304
|
+
token.base = para.base;
|
|
305
|
+
at += token.text.length;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return out;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* One wrapped line in the order it is SEEN (bidi rules L1–L4).
|
|
312
|
+
*
|
|
313
|
+
* A line with no right-to-left paragraph behind it comes back as the same
|
|
314
|
+
* array, untouched. Otherwise every token is cut into clusters, the line is
|
|
315
|
+
* reordered, and consecutive clusters from the same token are glued back
|
|
316
|
+
* into one drawable piece — so a Hebrew word stays one `Tj`, reversed, and a
|
|
317
|
+
* word like "שלום," can split into its letters and a comma drawn where the
|
|
318
|
+
* comma belongs.
|
|
319
|
+
*/
|
|
320
|
+
visualLine(tokens) {
|
|
321
|
+
if (!tokens.some((t) => t.levels))
|
|
322
|
+
return tokens;
|
|
323
|
+
const base = tokens.find((t) => t.base !== undefined)?.base ?? 0;
|
|
324
|
+
const cells = [];
|
|
325
|
+
tokens.forEach((token, from) => {
|
|
326
|
+
const levels = token.levels ?? new Uint8Array(token.text.length).fill(base);
|
|
327
|
+
for (const c of clustersOf(token.text, levels))
|
|
328
|
+
cells.push({ ...c, from });
|
|
329
|
+
});
|
|
330
|
+
const out = [];
|
|
331
|
+
let piece = '';
|
|
332
|
+
let owner = -1;
|
|
333
|
+
const flush = () => {
|
|
334
|
+
if (owner < 0)
|
|
335
|
+
return;
|
|
336
|
+
const token = tokens[owner];
|
|
337
|
+
out.push({
|
|
338
|
+
...token,
|
|
339
|
+
text: piece,
|
|
340
|
+
width: piece === token.text ? token.width : widthOfText(token.font, piece, token.size, this.embedded),
|
|
341
|
+
levels: undefined,
|
|
342
|
+
});
|
|
343
|
+
};
|
|
344
|
+
for (const cell of reorderLine(cells, base)) {
|
|
345
|
+
const glyph = cell.level % 2 === 1 ? mirrorOf(cell.text) : cell.text;
|
|
346
|
+
if (cell.from !== owner) {
|
|
347
|
+
flush();
|
|
348
|
+
owner = cell.from;
|
|
349
|
+
piece = '';
|
|
350
|
+
}
|
|
351
|
+
piece += glyph;
|
|
352
|
+
}
|
|
353
|
+
flush();
|
|
290
354
|
return out;
|
|
291
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Where a line starts: at `x`, or — in a right-to-left paragraph — pushed
|
|
358
|
+
* right so it ENDS at the column's right edge.
|
|
359
|
+
*/
|
|
360
|
+
lineStart(line, x, maxWidth) {
|
|
361
|
+
if (!isRtlLine(line))
|
|
362
|
+
return x;
|
|
363
|
+
let width = 0;
|
|
364
|
+
for (const token of line)
|
|
365
|
+
width += token.width;
|
|
366
|
+
return x + Math.max(0, maxWidth - width);
|
|
367
|
+
}
|
|
292
368
|
/**
|
|
293
369
|
* Break a token too wide for the column.
|
|
294
370
|
*
|
|
@@ -300,13 +376,22 @@ class Renderer {
|
|
|
300
376
|
return [token];
|
|
301
377
|
const out = [];
|
|
302
378
|
let rest = token.text;
|
|
379
|
+
let at = 0;
|
|
303
380
|
while (rest.length) {
|
|
304
381
|
let n = 1;
|
|
305
382
|
while (n < rest.length && widthOfText(token.font, rest.slice(0, n + 1), token.size, this.embedded) <= maxWidth)
|
|
306
383
|
n += 1;
|
|
307
384
|
const head = rest.slice(0, n);
|
|
308
|
-
out.push({
|
|
385
|
+
out.push({
|
|
386
|
+
...token,
|
|
387
|
+
text: head,
|
|
388
|
+
width: widthOfText(token.font, head, token.size, this.embedded),
|
|
389
|
+
// Only set when the token had levels, so a Latin token's copy has no
|
|
390
|
+
// `levels: undefined` key it did not have before.
|
|
391
|
+
...(token.levels ? { levels: token.levels.slice(at, at + n) } : {}),
|
|
392
|
+
});
|
|
309
393
|
rest = rest.slice(n);
|
|
394
|
+
at += n;
|
|
310
395
|
}
|
|
311
396
|
return out;
|
|
312
397
|
}
|
|
@@ -345,7 +430,8 @@ class Renderer {
|
|
|
345
430
|
lines.push(line);
|
|
346
431
|
return lines;
|
|
347
432
|
}
|
|
348
|
-
drawTokens(
|
|
433
|
+
drawTokens(logical, baseline, x, color) {
|
|
434
|
+
const tokens = this.visualLine(logical);
|
|
349
435
|
// Plates first, in their own pass: drawn inline they would paint over the
|
|
350
436
|
// preceding token's glyphs, because a plate is wider than its text.
|
|
351
437
|
let cursor = x;
|
|
@@ -397,7 +483,7 @@ class Renderer {
|
|
|
397
483
|
for (const line of lines) {
|
|
398
484
|
this.ensure(lineHeight);
|
|
399
485
|
this.y -= lineHeight;
|
|
400
|
-
this.drawTokens(line, this.y + (lineHeight - size) * 0.25, x, color);
|
|
486
|
+
this.drawTokens(line, this.y + (lineHeight - size) * 0.25, this.lineStart(line, x, maxWidth), color);
|
|
401
487
|
}
|
|
402
488
|
}
|
|
403
489
|
// ── Blocks ─────────────────────────────────────────────────────────────────
|
|
@@ -477,9 +563,13 @@ class Renderer {
|
|
|
477
563
|
if (spec.rule) {
|
|
478
564
|
this.y -= 4;
|
|
479
565
|
this.ensure(3);
|
|
480
|
-
|
|
566
|
+
// The orange accent sits under the heading's FIRST word, which in a
|
|
567
|
+
// right-to-left heading is at the right-hand end.
|
|
568
|
+
const rtl = paragraphLevel(runsToText(runs)) === 1;
|
|
569
|
+
const accentX = rtl ? this.margin.left + this.contentWidth - 36 : this.margin.left;
|
|
570
|
+
this.page.drawRect({ x: accentX, y: this.y, width: 36, height: 2.5, color: ORANGE });
|
|
481
571
|
this.page.drawRect({
|
|
482
|
-
x: this.margin.left + 36,
|
|
572
|
+
x: rtl ? this.margin.left : this.margin.left + 36,
|
|
483
573
|
y: this.y + 0.75,
|
|
484
574
|
width: this.contentWidth - 36,
|
|
485
575
|
height: 1,
|
|
@@ -504,6 +594,9 @@ class Renderer {
|
|
|
504
594
|
const x = this.margin.left + indent;
|
|
505
595
|
const maxWidth = this.contentWidth - indent;
|
|
506
596
|
const lines = this.wrap(this.tokenize(item.runs, this.base), maxWidth);
|
|
597
|
+
// A right-to-left item is mirrored whole: text against the right margin,
|
|
598
|
+
// its marker in the gutter to the RIGHT of it.
|
|
599
|
+
const rtl = lines.some(isRtlLine);
|
|
507
600
|
lines.forEach((line, lineIndex) => {
|
|
508
601
|
this.ensure(lineHeight);
|
|
509
602
|
this.y -= lineHeight;
|
|
@@ -515,18 +608,26 @@ class Renderer {
|
|
|
515
608
|
// and the renderer emitting characters it cannot draw put a "some
|
|
516
609
|
// characters came out as ?" warning on every nested list in the app.
|
|
517
610
|
// These three are Word's own defaults and all three are in WinAnsi.
|
|
518
|
-
const
|
|
611
|
+
const logicalMarker = ordered
|
|
519
612
|
? `${counters[level]}.`
|
|
520
613
|
: level === 0 ? '•' : level === 1 ? 'o' : '-';
|
|
614
|
+
// "1." in a right-to-left list reads ".1" on the page — the full stop
|
|
615
|
+
// follows the number in reading order, which is leftwards.
|
|
616
|
+
const marker = rtl ? visualOrder(logicalMarker, 1) : logicalMarker;
|
|
617
|
+
const markerFont = ordered ? this.body.bold : this.body.regular;
|
|
618
|
+
const markerX = rtl
|
|
619
|
+
? this.margin.left + this.contentWidth - indent + BULLET_INDENT - (ordered ? 0 : 3)
|
|
620
|
+
- widthOfText(markerFont, marker, this.base, this.embedded)
|
|
621
|
+
: this.margin.left + indent - BULLET_INDENT + (ordered ? 0 : 3);
|
|
521
622
|
this.page.drawText(marker, {
|
|
522
|
-
x:
|
|
623
|
+
x: markerX,
|
|
523
624
|
y: baseline,
|
|
524
625
|
size: this.base,
|
|
525
|
-
font:
|
|
626
|
+
font: markerFont,
|
|
526
627
|
color: ordered ? SLATE_600 : ORANGE,
|
|
527
628
|
});
|
|
528
629
|
}
|
|
529
|
-
this.drawTokens(line, baseline, x, SLATE_700);
|
|
630
|
+
this.drawTokens(line, baseline, rtl ? this.lineStart(line, this.margin.left, maxWidth) : x, SLATE_700);
|
|
530
631
|
});
|
|
531
632
|
if (index < items.length - 1)
|
|
532
633
|
this.y -= LIST_GAP;
|
|
@@ -542,11 +643,14 @@ class Renderer {
|
|
|
542
643
|
*/
|
|
543
644
|
renderQuote(runs) {
|
|
544
645
|
this.y -= PARA_GAP;
|
|
545
|
-
const x = this.margin.left + QUOTE_INDENT;
|
|
546
646
|
const maxWidth = this.contentWidth - QUOTE_INDENT;
|
|
547
647
|
const lines = this.wrap(this.tokenize(runs, this.base), maxWidth);
|
|
548
648
|
if (!lines.length)
|
|
549
649
|
return;
|
|
650
|
+
// A right-to-left quote is mirrored: bar on the right, text against it.
|
|
651
|
+
const rtl = lines.some(isRtlLine);
|
|
652
|
+
const x = rtl ? this.margin.left : this.margin.left + QUOTE_INDENT;
|
|
653
|
+
const barX = rtl ? this.margin.left + this.contentWidth - 3 : this.margin.left;
|
|
550
654
|
const lineHeight = this.base * BASE_LINE;
|
|
551
655
|
let segmentPage = this.page;
|
|
552
656
|
let segmentTop = this.y;
|
|
@@ -554,7 +658,7 @@ class Renderer {
|
|
|
554
658
|
if (segmentTop - bottom <= 0)
|
|
555
659
|
return;
|
|
556
660
|
segmentPage.drawRect({
|
|
557
|
-
x:
|
|
661
|
+
x: barX,
|
|
558
662
|
y: bottom - 2,
|
|
559
663
|
width: 3,
|
|
560
664
|
height: segmentTop - bottom + 4,
|
|
@@ -569,7 +673,7 @@ class Renderer {
|
|
|
569
673
|
segmentTop = this.y;
|
|
570
674
|
}
|
|
571
675
|
this.y -= lineHeight;
|
|
572
|
-
this.drawTokens(line, this.y + (lineHeight - this.base) * 0.25, x, SLATE_600);
|
|
676
|
+
this.drawTokens(line, this.y + (lineHeight - this.base) * 0.25, this.lineStart(line, x, maxWidth), SLATE_600);
|
|
573
677
|
}
|
|
574
678
|
drawBar(this.y);
|
|
575
679
|
}
|
|
@@ -802,7 +906,8 @@ class Renderer {
|
|
|
802
906
|
let baseline = this.y - TABLE_PAD_Y;
|
|
803
907
|
for (const line of cellLines[c]) {
|
|
804
908
|
baseline -= lineHeight;
|
|
805
|
-
this.
|
|
909
|
+
const start = this.lineStart(line, x + TABLE_PAD_X, widths[c] - TABLE_PAD_X * 2);
|
|
910
|
+
this.drawTokens(line, baseline + lineHeight * 0.2, start, isHeader ? SLATE_900 : SLATE_700);
|
|
806
911
|
}
|
|
807
912
|
x += widths[c];
|
|
808
913
|
}
|
|
@@ -840,6 +945,10 @@ class Renderer {
|
|
|
840
945
|
}
|
|
841
946
|
}
|
|
842
947
|
}
|
|
948
|
+
/** True if this line belongs to a right-to-left paragraph. */
|
|
949
|
+
function isRtlLine(line) {
|
|
950
|
+
return line.some((t) => t.base === 1);
|
|
951
|
+
}
|
|
843
952
|
/**
|
|
844
953
|
* How big to draw a picture, before the fit-to-column clamp.
|
|
845
954
|
*
|
package/dist/write/pdf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/write/pdf.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../src/write/pdf.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oCAAoC;AACpC,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,gEAAgE;AAChE,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,iEAAiE;AACjE,EAAE;AACF,oCAAoC;AACpC,oCAAoC;AACpC,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,8BAA8B;AAC9B,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,+DAA+D;AAC/D,6EAA6E;AAC7E,mEAAmE;AACnE,+EAA+E;AAC/E,gBAAgB;AAChB,8EAA8E;AAE9E,OAAO,EAAE,WAAW,EAA+B,GAAG,EAAE,WAAW,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAA;AAC9H,OAAO,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAmB,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE1G,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAQxC,gFAAgF;AAChF,6EAA6E;AAC7E,+EAA+E;AAC/E,aAAa;AACb,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACpC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACvC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACtC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACvC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACvC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACvC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACtC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;AACpC,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACzC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACrC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAElC,gFAAgF;AAChF,MAAM,SAAS,GAAG,IAAI,CAAA;AACtB,MAAM,QAAQ,GAAG,CAAC,CAAA;AAClB,6DAA6D;AAC7D,MAAM,aAAa,GAAG,CAAC,CAAA;AACvB,MAAM,QAAQ,GAAG,CAAC,CAAA;AAClB,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,MAAM,WAAW,GAAG,CAAC,CAAA;AACrB,MAAM,WAAW,GAAG,CAAC,CAAA;AACrB,MAAM,aAAa,GAAG,EAAE,CAAA;AACxB,MAAM,YAAY,GAAG,EAAE,CAAA;AAEvB,+EAA+E;AAC/E,MAAM,OAAO,GAAG;IACd,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;IAClD,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;IACnD,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;IACnD,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;CAC1C,CAAA;AAEV,mEAAmE;AACnE,MAAM,KAAK,GAAwC;IACjD,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;CACtB,CAAA;AAED,MAAM,OAAO,GAAqF;IAChG,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACpD,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACpD,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;CACnD,CAAA;AA4BD;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,GAAY;IAC3B,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,MAAM,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;aAClD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;aACjD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;aAC5F,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM;gBAAE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM;oBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;YAC/E,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI;gBAAE,KAAK,MAAM,IAAI,IAAI,GAAG;oBAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;QACpF,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,GAAG,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAY,EACZ,QAAqB,EACrB,gBAAqC;IAErC,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAA;IAC/C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAQ;QAC9D,IAAI,CAAC;YACH,0EAA0E;YAC1E,0EAA0E;YAC1E,oEAAoE;YACpE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,oDAAoD;YACpD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,2DAA2D;IAC3D,IAAI,QAAoC,CAAA;IACxC,IAAI,gBAAgB,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,gBAAgB,EAAE,CAAA;YACtC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM;gBAAE,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,SAAS,CAAA;QACtB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACzD,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACjC,IAAI,QAAQ,CAAC,WAAW;QAAE,QAAQ,CAAC,eAAe,EAAE,CAAA;IAEpD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC,CAAA;IACF,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS;QAC7B,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;KAC1C,CAAA;AACH,CAAC;AAuBD,MAAM,QAAQ;IACZ,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;IACvB,IAAI,CAAU;IACd,SAAS,GAAG,CAAC,CAAA;IACb,UAAU,GAAG,CAAC,CAAA;IACd,CAAC,GAAG,CAAC,CAAA;IACL,KAAK,GAAc,EAAE,CAAA;IAEb,QAAQ,CAAa;IACrB,IAAI,CAAY;IAChB,MAAM,CAA4B;IAClC,MAAM,CAA4B;IAC1C;;;;;;;OAOG;IACK,QAAQ,CAAiB;IAEjC,YACE,QAAqB,EACrB,MAAkC,EAClC,QAAyB;QAEzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACpD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,yEAAyE;QACzE,oCAAoC;QACpC,IAAI,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QAClD,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;IAC/B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;IAC9D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,GAA4B,IAAI,CAAA;IAErC,qDAAqD;IACrD,YAAY;QACV,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACpE,CAAC;IAED,OAAO;QACL,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;QACxB,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;IACnC,CAAC;IAED,6DAA6D;IAC7D,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;IACrD,CAAC;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,KAAa,EAAE,MAAc;QACpC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;YACvF,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YAC5B,OAAM;QACR,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;YACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;YACxB,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,MAAc;QACnB,IAAI,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IAC1D,CAAC;IAED,UAAU,CAAC,GAAQ;QACjB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QAC1C,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,UAAU,CAAA;QACpD,IAAI,GAAG,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC,IAAI,CAAA;QAChC,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,MAAM,CAAA;QACpC,OAAO,MAAM,CAAC,OAAO,CAAA;IACvB,CAAC;IAED,QAAQ,CAAC,IAAoB,EAAE,QAAgB;QAC7C,MAAM,GAAG,GAAY,EAAE,CAAA;QACvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YACjC,uEAAuE;YACvE,4CAA4C;YAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;YAClD,wEAAwE;YACxE,iEAAiE;YACjE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;oBAChF,SAAQ;gBACV,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC;oBACP,GAAG;oBACH,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;oBACnD,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9B,OAAO,EAAE,KAAK;oBACd,IAAI;oBACJ,IAAI;iBACL,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,0EAA0E;QAC1E,kEAAkE;QAClE,kEAAkE;QAClE,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACpF,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,EAAE,GAAG,CAAC,CAAA;YACV,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAAC,EAAE,IAAI,CAAC,CAAC;oBAAC,SAAQ;gBAAC,CAAC;gBACxC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC5D,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;gBACtB,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;YACzB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;;;OASG;IACH,UAAU,CAAC,MAAwB;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAA;QAChD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,CAAA;QAChE,MAAM,KAAK,GAAoD,EAAE,CAAA;QACjE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC3E,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5E,CAAC,CAAC,CAAA;QACF,MAAM,GAAG,GAAY,EAAE,CAAA;QACvB,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;QACd,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAM;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YAC3B,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,KAAK;gBACR,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;gBACrG,MAAM,EAAE,SAAS;aAClB,CAAC,CAAA;QACJ,CAAC,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;YACpE,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACxB,KAAK,EAAE,CAAA;gBACP,KAAK,GAAG,IAAI,CAAC,IAAI,CAAA;gBACjB,KAAK,GAAG,EAAE,CAAA;YACZ,CAAC;YACD,KAAK,IAAI,KAAK,CAAA;QAChB,CAAC;QACD,KAAK,EAAE,CAAA;QACP,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,IAAsB,EAAE,CAAS,EAAE,QAAgB;QAC3D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAA;QAC9B,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,KAAK,MAAM,KAAK,IAAI,IAAI;YAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAA;QAC9C,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAY,EAAE,QAAgB;QACtC,IAAI,KAAK,CAAC,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7E,MAAM,GAAG,GAAY,EAAE,CAAA;QACvB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACrB,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,CAAA;YACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ;gBAAE,CAAC,IAAI,CAAC,CAAA;YACtH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC7B,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,KAAK;gBACR,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC/D,qEAAqE;gBACrE,kDAAkD;gBAClD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,CAAA;YACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACpB,EAAE,IAAI,CAAC,CAAA;QACT,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,CAAC,MAAwB,EAAE,QAAgB;QAC7C,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;QAE3E,MAAM,KAAK,GAAc,EAAE,CAAA;QAC3B,IAAI,IAAI,GAAY,EAAE,CAAA;QACtB,IAAI,KAAK,GAAG,CAAC,CAAA;QAEb,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,yEAAyE;YACzE,6BAA6B;YAC7B,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACpD,KAAK,IAAI,IAAI,CAAC,GAAG,EAAG,CAAC,KAAK,CAAA;YAC5B,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAChB,IAAI,GAAG,EAAE,CAAA;YACT,KAAK,GAAG,CAAC,CAAA;QACX,CAAC,CAAA;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAAC,OAAO,EAAE,CAAC;gBAAC,SAAQ;YAAC,CAAC;YAC1C,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,OAAO,EAAE,CAAA;gBACT,+DAA+D;gBAC/D,IAAI,KAAK,CAAC,OAAO;oBAAE,SAAQ;YAC7B,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAChB,KAAK,IAAI,KAAK,CAAC,KAAK,CAAA;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,UAAU,CAAC,OAAyB,EAAE,QAAgB,EAAE,CAAS,EAAE,KAAU;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACvC,0EAA0E;QAC1E,oEAAoE;QACpE,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjB,CAAC,EAAE,MAAM,GAAG,CAAC;oBACb,CAAC,EAAE,QAAQ,GAAG,CAAC;oBACf,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;oBACtB,MAAM,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC;oBACtB,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,WAAW;oBACxB,WAAW,EAAE,GAAG;iBACjB,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAA;QACvB,CAAC;QAED,MAAM,GAAG,CAAC,CAAA;QACV,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;YACvE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YAE7G,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjB,CAAC,EAAE,MAAM;oBACT,CAAC,EAAE,QAAQ,GAAG,GAAG;oBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;iBACtC,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjB,CAAC,EAAE,MAAM;oBACT,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI;oBAC/B,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,MAAM;iBACd,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACtG,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAA;QACvB,CAAC;IACH,CAAC;IAED,QAAQ,CACN,IAAoB,EACpB,IAAY,EACZ,KAAU,EACV,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EACpB,QAAQ,GAAG,IAAI,CAAC,YAAY,EAC5B,aAAa,GAAG,SAAS;QAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC5D,MAAM,UAAU,GAAG,IAAI,GAAG,aAAa,CAAA;QACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACvB,IAAI,CAAC,CAAC,IAAI,UAAU,CAAA;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAA;QACtG,CAAC;IACH,CAAC;IAED,8EAA8E;IAE9E;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAwB;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACvB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBACvB,SAAQ;YACV,CAAC;YACD,MAAM,GAAG,GAAiB,CAAC,KAAK,CAAC,CAAA;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY;oBAAE,MAAK;gBACtD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACd,CAAC,IAAI,CAAC,CAAA;YACR,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,WAAW,CAAC,KAAY;QACtB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,SAAS;gBACZ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC3C,MAAK;YACP,KAAK,WAAW;gBACd,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;gBAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;gBAC/C,MAAK;YACP,KAAK,MAAM;gBACT,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC3C,MAAK;YACP,KAAK,OAAO;gBACV,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC5B,MAAK;YACP,KAAK,MAAM;gBACT,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAChC,MAAK;YACP,KAAK,MAAM;gBACT,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,MAAK;YACP,KAAK,OAAO;gBACV,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC1C,MAAK;YACP,KAAK,OAAO;gBACV,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;gBACnC,MAAK;YACP,KAAK,WAAW;gBACd,sEAAsE;gBACtE,qCAAqC;gBACrC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG;oBAAE,IAAI,CAAC,OAAO,EAAE,CAAA;gBAC9D,MAAK;YACP,KAAK,WAAW;gBACd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;gBACxC,MAAK;QACT,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAoB,EAAE,KAAoB;QACtD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;QACnC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAA;QAClB,wEAAwE;QACxE,yEAAyE;QACzE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QAE9E,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;YACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACd,oEAAoE;YACpE,kDAAkD;YAClD,MAAM,GAAG,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAA;YAClD,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;YAClF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YACpF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACjB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE;gBACjD,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI;gBAChB,KAAK,EAAE,IAAI,CAAC,YAAY,GAAG,EAAE;gBAC7B,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,SAAS;aACjB,CAAC,CAAA;YACF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QACb,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAA;IACvB,CAAC;IAED,UAAU,CAAC,KAAgD,EAAE,OAAgB;QAC3E,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;QACxC,2EAA2E;QAC3E,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAEhC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YAClD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACpB,KAAK,IAAI,MAAM,GAAG,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;gBAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAExF,MAAM,MAAM,GAAG,aAAa,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAA;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,MAAM,CAAA;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAA;YACtE,yEAAyE;YACzE,+CAA+C;YAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAEjC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBACvB,IAAI,CAAC,CAAC,IAAI,UAAU,CAAA;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;gBACzD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,sEAAsE;oBACtE,qEAAqE;oBACrE,oEAAoE;oBACpE,kEAAkE;oBAClE,qEAAqE;oBACrE,oEAAoE;oBACpE,MAAM,aAAa,GAAG,OAAO;wBAC3B,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG;wBACvB,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;oBAC/C,sEAAsE;oBACtE,2DAA2D;oBAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAA;oBAClE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;oBAC/D,MAAM,OAAO,GAAG,GAAG;wBACjB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,MAAM,GAAG,aAAa,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;8BAC/E,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;wBAC7D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,GAAG,aAAa,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;wBACzB,CAAC,EAAE,OAAO;wBACV,CAAC,EAAE,QAAQ;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,IAAI,EAAE,UAAU;wBAChB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;qBACpC,CAAC,CAAA;gBACJ,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;YACxG,CAAC,CAAC,CAAA;YAEF,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;QAClD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,IAAoB;QAC9B,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAA;QACjE,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAM;QACzB,wEAAwE;QACxE,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAA;QAClE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;QAE9E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAA;QACxC,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAA;QAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,CAAA;QAEvB,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,EAAE;YACjC,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC;gBAAE,OAAM;YACpC,WAAW,CAAC,QAAQ,CAAC;gBACnB,CAAC,EAAE,IAAI;gBACP,CAAC,EAAE,MAAM,GAAG,CAAC;gBACb,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,CAAC;gBAC/B,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACf,IAAI,CAAC,OAAO,EAAE,CAAA;gBACd,WAAW,GAAG,IAAI,CAAC,IAAI,CAAA;gBACvB,UAAU,GAAG,IAAI,CAAC,CAAC,CAAA;YACrB,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,UAAU,CAAA;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAA;QAC/G,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,IAAY;QAC1B,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;QACzB,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,GAAG,CAAA;QAE5C,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YACrC,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClB,SAAQ;YACV,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,CAAA;gBACT,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ;oBAAE,CAAC,IAAI,CAAC,CAAA;gBAC1G,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC9B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACpB,sEAAsE;gBACtE,IAAI,IAAI,CAAC,MAAM;oBAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;YACrC,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,eAAe,CAAA;QACzC,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,OAAO,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAA;YAClD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAA;YACvD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;YACnD,MAAM,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,CAAC,GAAG,GAAG,CAAA;YAC1C,IAAI,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACzC,IAAI,CAAC,OAAO,EAAE,CAAA;gBACd,SAAQ;YACV,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACjB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACnB,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM;gBAClB,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,MAAM;gBACN,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,GAAG;aACjB,CAAC,CAAA;YAEF,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAA;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,UAAU,CAAA;gBACpB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE;oBACrC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG;oBACzB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,GAAG;oBAC5B,IAAI;oBACJ,IAAI;oBACJ,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAA;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,MAAM,CAAA;YAChB,KAAK,IAAI,IAAI,CAAA;QACf,CAAC;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;QAClB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACd,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAC/G,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;IACb,CAAC;IAED;;;;;;;;;;;OAWG;IACH;;;;;;;;;;OAUG;IACH,cAAc,CAAC,GAA0B;QACvC,MAAM,QAAQ,GAAgD,EAAE,CAAA;QAChE,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACzC,IAAI,KAAK;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAM;QAC5B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;YACjE,OAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QACnE,MAAM,IAAI,GAAG,aAAa,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,CAAC,EACD,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,YAAY,EACzC,SAAS,GAAG,OAAO,CACpB,CAAA;QAED,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;QAClB,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,CAAA;QAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACnB,IAAI,CAAC,CAAC,IAAI,MAAM,CAAA;QAEhB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAA;YACpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;gBACrC,CAAC;gBACD,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,KAAK;gBACL,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK;aAChC,CAAC,CAAA;YACF,CAAC,IAAI,KAAK,GAAG,aAAa,CAAA;QAC5B,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;IACb,CAAC;IAED,WAAW,CAAC,IAAU,EAAE,QAA8C;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;QAClB,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAA;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;QAC/E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAA;QAErC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACnB,IAAI,CAAC,CAAC,IAAI,MAAM,CAAA;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACzB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC;YACrD,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,KAAK;YACL,MAAM;SACP,CAAC,CAAA;QACF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;IACb,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CAAC,MAAsB,EAAE,IAAwB;QAC1D,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAA;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QACxD,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAM;QAEvB,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAS,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAS,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnD,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;gBAChD,IAAI,OAAO,GAAG,CAAC,CAAA;gBACf,IAAI,MAAM,GAAG,CAAC,CAAA;gBACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,OAAO,IAAI,KAAK,CAAC,KAAK,CAAA;oBACtB,IAAI,CAAC,KAAK,CAAC,OAAO;wBAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC5D,CAAC;gBACD,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;gBAC5C,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,GAAG,CAAC,GAAG,OAAO,CAAA;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,GAAG,OAAO,CAAA;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACxD,IAAI,MAAgB,CAAA;QAEpB,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAA;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YACnE,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,CAAA;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,KAAK,GAAG,YAAY,CAAA;YAClC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAA;YACnF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC/C,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;gBACnC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,GAAqB,EAAE,QAAiB,EAAE,EAAE;YAC7D,MAAM,SAAS,GAAgB,EAAE,CAAA;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAA;gBAC/E,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC7C,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;YAChE,MAAM,UAAU,GAAG,IAAI,GAAG,GAAG,CAAA;YAC7B,MAAM,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,CAAC,CAAA;YACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEnB,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACjB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACnB,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM;oBAClB,KAAK,EAAE,IAAI,CAAC,YAAY;oBACxB,MAAM;oBACN,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,WAAW,CAAA;gBACnC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChC,QAAQ,IAAI,UAAU,CAAA;oBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAA;oBAChF,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;gBAC7F,CAAC;gBACD,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;YAChB,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACjB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACnB,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM;gBAClB,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,SAAS;aACjB,CAAC,CAAA;YACF,IAAI,CAAC,CAAC,IAAI,MAAM,CAAA;QAClB,CAAC,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAC/G,IAAI,MAAM;YAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/C,CAAC;IAED,0EAA0E;IAC1E,eAAe;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;QAC/B,IAAI,KAAK,GAAG,CAAC;YAAE,OAAM;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,EAAE,CAAA;YACnC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YACrE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE;gBAC5B,CAAC,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK;gBAC7C,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;gBACxC,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;gBACvB,KAAK,EAAE,SAAS;aACjB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF;AAED,8DAA8D;AAC9D,SAAS,SAAS,CAAC,IAAsB;IACvC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAA;AACvC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,WAAW,CAClB,KAAe,EACf,QAA8C;IAE9C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAA;IACxC,MAAM,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAA;IACzB,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAA;IAC1B,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;IAC1C,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,CAAA;IAC7C,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;IAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAA;AACrD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unisim/doc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "The suite's document stack: read Word, OpenDocument, RTF, HTML, Markdown, CSV, JSON and text into one model, and write it back out as PDF, text, HTML, Markdown, CSV or JSON. No runtime dependencies.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|