@usejunior/docx-core 0.0.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +86 -28
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/atomizer.d.ts +218 -0
  5. package/dist/atomizer.d.ts.map +1 -0
  6. package/dist/atomizer.js +856 -0
  7. package/dist/atomizer.js.map +1 -0
  8. package/dist/baselines/atomizer/atomLcs.d.ts +96 -0
  9. package/dist/baselines/atomizer/atomLcs.d.ts.map +1 -0
  10. package/dist/baselines/atomizer/atomLcs.js +347 -0
  11. package/dist/baselines/atomizer/atomLcs.js.map +1 -0
  12. package/dist/baselines/atomizer/debug.d.ts +41 -0
  13. package/dist/baselines/atomizer/debug.d.ts.map +1 -0
  14. package/dist/baselines/atomizer/debug.js +85 -0
  15. package/dist/baselines/atomizer/debug.js.map +1 -0
  16. package/dist/baselines/atomizer/documentReconstructor.d.ts +64 -0
  17. package/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -0
  18. package/dist/baselines/atomizer/documentReconstructor.js +939 -0
  19. package/dist/baselines/atomizer/documentReconstructor.js.map +1 -0
  20. package/dist/baselines/atomizer/hierarchicalLcs.d.ts +111 -0
  21. package/dist/baselines/atomizer/hierarchicalLcs.d.ts.map +1 -0
  22. package/dist/baselines/atomizer/hierarchicalLcs.js +469 -0
  23. package/dist/baselines/atomizer/hierarchicalLcs.js.map +1 -0
  24. package/dist/baselines/atomizer/inPlaceModifier.d.ts +183 -0
  25. package/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -0
  26. package/dist/baselines/atomizer/inPlaceModifier.js +1600 -0
  27. package/dist/baselines/atomizer/inPlaceModifier.js.map +1 -0
  28. package/dist/baselines/atomizer/numberingIntegration.d.ts +59 -0
  29. package/dist/baselines/atomizer/numberingIntegration.d.ts.map +1 -0
  30. package/dist/baselines/atomizer/numberingIntegration.js +209 -0
  31. package/dist/baselines/atomizer/numberingIntegration.js.map +1 -0
  32. package/dist/baselines/atomizer/pipeline.d.ts +65 -0
  33. package/dist/baselines/atomizer/pipeline.d.ts.map +1 -0
  34. package/dist/baselines/atomizer/pipeline.js +510 -0
  35. package/dist/baselines/atomizer/pipeline.js.map +1 -0
  36. package/dist/baselines/atomizer/premergeRuns.d.ts +26 -0
  37. package/dist/baselines/atomizer/premergeRuns.d.ts.map +1 -0
  38. package/dist/baselines/atomizer/premergeRuns.js +150 -0
  39. package/dist/baselines/atomizer/premergeRuns.js.map +1 -0
  40. package/dist/baselines/atomizer/trackChangesAcceptor.d.ts +63 -0
  41. package/dist/baselines/atomizer/trackChangesAcceptor.d.ts.map +1 -0
  42. package/dist/baselines/atomizer/trackChangesAcceptor.js +254 -0
  43. package/dist/baselines/atomizer/trackChangesAcceptor.js.map +1 -0
  44. package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts +64 -0
  45. package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +1 -0
  46. package/dist/baselines/atomizer/trackChangesAcceptorAst.js +586 -0
  47. package/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +1 -0
  48. package/dist/baselines/atomizer/xmlToWmlElement.d.ts +65 -0
  49. package/dist/baselines/atomizer/xmlToWmlElement.d.ts.map +1 -0
  50. package/dist/baselines/atomizer/xmlToWmlElement.js +95 -0
  51. package/dist/baselines/atomizer/xmlToWmlElement.js.map +1 -0
  52. package/dist/baselines/diffmatch/documentBuilder.d.ts +44 -0
  53. package/dist/baselines/diffmatch/documentBuilder.d.ts.map +1 -0
  54. package/dist/baselines/diffmatch/documentBuilder.js +227 -0
  55. package/dist/baselines/diffmatch/documentBuilder.js.map +1 -0
  56. package/dist/baselines/diffmatch/paragraphAlignment.d.ts +75 -0
  57. package/dist/baselines/diffmatch/paragraphAlignment.d.ts.map +1 -0
  58. package/dist/baselines/diffmatch/paragraphAlignment.js +206 -0
  59. package/dist/baselines/diffmatch/paragraphAlignment.js.map +1 -0
  60. package/dist/baselines/diffmatch/pipeline.d.ts +33 -0
  61. package/dist/baselines/diffmatch/pipeline.d.ts.map +1 -0
  62. package/dist/baselines/diffmatch/pipeline.js +84 -0
  63. package/dist/baselines/diffmatch/pipeline.js.map +1 -0
  64. package/dist/baselines/diffmatch/runDiff.d.ts +53 -0
  65. package/dist/baselines/diffmatch/runDiff.d.ts.map +1 -0
  66. package/dist/baselines/diffmatch/runDiff.js +253 -0
  67. package/dist/baselines/diffmatch/runDiff.js.map +1 -0
  68. package/dist/baselines/diffmatch/trackChangesRenderer.d.ts +64 -0
  69. package/dist/baselines/diffmatch/trackChangesRenderer.d.ts.map +1 -0
  70. package/dist/baselines/diffmatch/trackChangesRenderer.js +178 -0
  71. package/dist/baselines/diffmatch/trackChangesRenderer.js.map +1 -0
  72. package/dist/baselines/diffmatch/xmlParser.d.ts +45 -0
  73. package/dist/baselines/diffmatch/xmlParser.d.ts.map +1 -0
  74. package/dist/baselines/diffmatch/xmlParser.js +216 -0
  75. package/dist/baselines/diffmatch/xmlParser.js.map +1 -0
  76. package/dist/baselines/wmlcomparer/DocxodusWasm.d.ts +51 -0
  77. package/dist/baselines/wmlcomparer/DocxodusWasm.d.ts.map +1 -0
  78. package/dist/baselines/wmlcomparer/DocxodusWasm.js +83 -0
  79. package/dist/baselines/wmlcomparer/DocxodusWasm.js.map +1 -0
  80. package/dist/baselines/wmlcomparer/DotnetCli.d.ts +40 -0
  81. package/dist/baselines/wmlcomparer/DotnetCli.d.ts.map +1 -0
  82. package/dist/baselines/wmlcomparer/DotnetCli.js +135 -0
  83. package/dist/baselines/wmlcomparer/DotnetCli.js.map +1 -0
  84. package/dist/benchmark/metrics.d.ts +72 -0
  85. package/dist/benchmark/metrics.d.ts.map +1 -0
  86. package/dist/benchmark/metrics.js +45 -0
  87. package/dist/benchmark/metrics.js.map +1 -0
  88. package/dist/benchmark/reporter.d.ts +23 -0
  89. package/dist/benchmark/reporter.d.ts.map +1 -0
  90. package/dist/benchmark/reporter.js +147 -0
  91. package/dist/benchmark/reporter.js.map +1 -0
  92. package/dist/benchmark/runner.d.ts +30 -0
  93. package/dist/benchmark/runner.d.ts.map +1 -0
  94. package/dist/benchmark/runner.js +233 -0
  95. package/dist/benchmark/runner.js.map +1 -0
  96. package/dist/cli/compare-two.d.ts +28 -0
  97. package/dist/cli/compare-two.d.ts.map +1 -0
  98. package/dist/cli/compare-two.js +110 -0
  99. package/dist/cli/compare-two.js.map +1 -0
  100. package/dist/cli/index.d.ts +3 -0
  101. package/dist/cli/index.d.ts.map +1 -0
  102. package/dist/cli/index.js +21 -0
  103. package/dist/cli/index.js.map +1 -0
  104. package/dist/core-types.d.ts +296 -0
  105. package/dist/core-types.d.ts.map +1 -0
  106. package/dist/core-types.js +122 -0
  107. package/dist/core-types.js.map +1 -0
  108. package/dist/footnotes.d.ts +144 -0
  109. package/dist/footnotes.d.ts.map +1 -0
  110. package/dist/footnotes.js +291 -0
  111. package/dist/footnotes.js.map +1 -0
  112. package/dist/format-detection.d.ts +120 -0
  113. package/dist/format-detection.d.ts.map +1 -0
  114. package/dist/format-detection.js +338 -0
  115. package/dist/format-detection.js.map +1 -0
  116. package/dist/index.d.ts +177 -0
  117. package/dist/index.d.ts.map +1 -0
  118. package/dist/index.js +55 -0
  119. package/dist/index.js.map +1 -0
  120. package/dist/integration/output-artifacts.d.ts +6 -0
  121. package/dist/integration/output-artifacts.d.ts.map +1 -0
  122. package/dist/integration/output-artifacts.js +30 -0
  123. package/dist/integration/output-artifacts.js.map +1 -0
  124. package/dist/move-detection.d.ts +211 -0
  125. package/dist/move-detection.d.ts.map +1 -0
  126. package/dist/move-detection.js +391 -0
  127. package/dist/move-detection.js.map +1 -0
  128. package/dist/numbering.d.ts +136 -0
  129. package/dist/numbering.d.ts.map +1 -0
  130. package/dist/numbering.js +446 -0
  131. package/dist/numbering.js.map +1 -0
  132. package/dist/primitives/accept_changes.d.ts +30 -0
  133. package/dist/primitives/accept_changes.d.ts.map +1 -0
  134. package/dist/primitives/accept_changes.js +241 -0
  135. package/dist/primitives/accept_changes.js.map +1 -0
  136. package/dist/primitives/bookmarks.d.ts +12 -0
  137. package/dist/primitives/bookmarks.d.ts.map +1 -0
  138. package/dist/primitives/bookmarks.js +248 -0
  139. package/dist/primitives/bookmarks.js.map +1 -0
  140. package/dist/primitives/comments.d.ts +88 -0
  141. package/dist/primitives/comments.d.ts.map +1 -0
  142. package/dist/primitives/comments.js +703 -0
  143. package/dist/primitives/comments.js.map +1 -0
  144. package/dist/primitives/document.d.ts +168 -0
  145. package/dist/primitives/document.d.ts.map +1 -0
  146. package/dist/primitives/document.js +532 -0
  147. package/dist/primitives/document.js.map +1 -0
  148. package/dist/primitives/document_view.d.ts +93 -0
  149. package/dist/primitives/document_view.d.ts.map +1 -0
  150. package/dist/primitives/document_view.js +722 -0
  151. package/dist/primitives/document_view.js.map +1 -0
  152. package/dist/primitives/dom-helpers.d.ts +94 -0
  153. package/dist/primitives/dom-helpers.d.ts.map +1 -0
  154. package/dist/primitives/dom-helpers.js +219 -0
  155. package/dist/primitives/dom-helpers.js.map +1 -0
  156. package/dist/primitives/errors.d.ts +7 -0
  157. package/dist/primitives/errors.d.ts.map +1 -0
  158. package/dist/primitives/errors.js +10 -0
  159. package/dist/primitives/errors.js.map +1 -0
  160. package/dist/primitives/extract_revisions.d.ts +50 -0
  161. package/dist/primitives/extract_revisions.d.ts.map +1 -0
  162. package/dist/primitives/extract_revisions.js +340 -0
  163. package/dist/primitives/extract_revisions.js.map +1 -0
  164. package/dist/primitives/footnotes.d.ts +37 -0
  165. package/dist/primitives/footnotes.d.ts.map +1 -0
  166. package/dist/primitives/footnotes.js +552 -0
  167. package/dist/primitives/footnotes.js.map +1 -0
  168. package/dist/primitives/formatting_tags.d.ts +30 -0
  169. package/dist/primitives/formatting_tags.d.ts.map +1 -0
  170. package/dist/primitives/formatting_tags.js +217 -0
  171. package/dist/primitives/formatting_tags.js.map +1 -0
  172. package/dist/primitives/index.d.ts +26 -0
  173. package/dist/primitives/index.d.ts.map +1 -0
  174. package/dist/primitives/index.js +26 -0
  175. package/dist/primitives/index.js.map +1 -0
  176. package/dist/primitives/layout.d.ts +53 -0
  177. package/dist/primitives/layout.d.ts.map +1 -0
  178. package/dist/primitives/layout.js +178 -0
  179. package/dist/primitives/layout.js.map +1 -0
  180. package/dist/primitives/list_labels.d.ts +19 -0
  181. package/dist/primitives/list_labels.d.ts.map +1 -0
  182. package/dist/primitives/list_labels.js +57 -0
  183. package/dist/primitives/list_labels.js.map +1 -0
  184. package/dist/primitives/matching.d.ts +17 -0
  185. package/dist/primitives/matching.d.ts.map +1 -0
  186. package/dist/primitives/matching.js +144 -0
  187. package/dist/primitives/matching.js.map +1 -0
  188. package/dist/primitives/merge_runs.d.ts +23 -0
  189. package/dist/primitives/merge_runs.d.ts.map +1 -0
  190. package/dist/primitives/merge_runs.js +195 -0
  191. package/dist/primitives/merge_runs.js.map +1 -0
  192. package/dist/primitives/namespaces.d.ts +90 -0
  193. package/dist/primitives/namespaces.d.ts.map +1 -0
  194. package/dist/primitives/namespaces.js +107 -0
  195. package/dist/primitives/namespaces.js.map +1 -0
  196. package/dist/primitives/numbering.d.ts +27 -0
  197. package/dist/primitives/numbering.d.ts.map +1 -0
  198. package/dist/primitives/numbering.js +182 -0
  199. package/dist/primitives/numbering.js.map +1 -0
  200. package/dist/primitives/prevent_double_elevation.d.ts +18 -0
  201. package/dist/primitives/prevent_double_elevation.d.ts.map +1 -0
  202. package/dist/primitives/prevent_double_elevation.js +190 -0
  203. package/dist/primitives/prevent_double_elevation.js.map +1 -0
  204. package/dist/primitives/reject_changes.d.ts +27 -0
  205. package/dist/primitives/reject_changes.d.ts.map +1 -0
  206. package/dist/primitives/reject_changes.js +371 -0
  207. package/dist/primitives/reject_changes.js.map +1 -0
  208. package/dist/primitives/relationships.d.ts +7 -0
  209. package/dist/primitives/relationships.d.ts.map +1 -0
  210. package/dist/primitives/relationships.js +24 -0
  211. package/dist/primitives/relationships.js.map +1 -0
  212. package/dist/primitives/semantic_tags.d.ts +32 -0
  213. package/dist/primitives/semantic_tags.d.ts.map +1 -0
  214. package/dist/primitives/semantic_tags.js +139 -0
  215. package/dist/primitives/semantic_tags.js.map +1 -0
  216. package/dist/primitives/simplify_redlines.d.ts +19 -0
  217. package/dist/primitives/simplify_redlines.d.ts.map +1 -0
  218. package/dist/primitives/simplify_redlines.js +94 -0
  219. package/dist/primitives/simplify_redlines.js.map +1 -0
  220. package/dist/primitives/styles.d.ts +36 -0
  221. package/dist/primitives/styles.d.ts.map +1 -0
  222. package/dist/primitives/styles.js +190 -0
  223. package/dist/primitives/styles.js.map +1 -0
  224. package/dist/primitives/text.d.ts +27 -0
  225. package/dist/primitives/text.d.ts.map +1 -0
  226. package/dist/primitives/text.js +416 -0
  227. package/dist/primitives/text.js.map +1 -0
  228. package/dist/primitives/validate_document.d.ts +24 -0
  229. package/dist/primitives/validate_document.d.ts.map +1 -0
  230. package/dist/primitives/validate_document.js +147 -0
  231. package/dist/primitives/validate_document.js.map +1 -0
  232. package/dist/primitives/xml.d.ts +5 -0
  233. package/dist/primitives/xml.d.ts.map +1 -0
  234. package/dist/primitives/xml.js +19 -0
  235. package/dist/primitives/xml.js.map +1 -0
  236. package/dist/primitives/zip.d.ts +25 -0
  237. package/dist/primitives/zip.d.ts.map +1 -0
  238. package/dist/primitives/zip.js +78 -0
  239. package/dist/primitives/zip.js.map +1 -0
  240. package/dist/shared/docx/DocxArchive.d.ts +94 -0
  241. package/dist/shared/docx/DocxArchive.d.ts.map +1 -0
  242. package/dist/shared/docx/DocxArchive.js +169 -0
  243. package/dist/shared/docx/DocxArchive.js.map +1 -0
  244. package/dist/shared/ooxml/namespaces.d.ts +149 -0
  245. package/dist/shared/ooxml/namespaces.d.ts.map +1 -0
  246. package/dist/shared/ooxml/namespaces.js +224 -0
  247. package/dist/shared/ooxml/namespaces.js.map +1 -0
  248. package/dist/shared/ooxml/types.d.ts +136 -0
  249. package/dist/shared/ooxml/types.d.ts.map +1 -0
  250. package/dist/shared/ooxml/types.js +7 -0
  251. package/dist/shared/ooxml/types.js.map +1 -0
  252. package/package.json +63 -6
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Baseline B: Track changes OOXML renderer.
3
+ *
4
+ * Generates OOXML track changes markup (w:ins, w:del) from diff results.
5
+ */
6
+ /** ID allocator for revision IDs */
7
+ let nextRevisionId = 1;
8
+ /**
9
+ * Reset the revision ID counter.
10
+ */
11
+ export function resetRevisionIds() {
12
+ nextRevisionId = 1;
13
+ }
14
+ /**
15
+ * Allocate a new revision ID.
16
+ */
17
+ export function allocateRevisionId() {
18
+ return nextRevisionId++;
19
+ }
20
+ /**
21
+ * Format a date for OOXML (ISO 8601 format).
22
+ */
23
+ export function formatOoxmlDate(date) {
24
+ return date.toISOString().replace('Z', 'Z');
25
+ }
26
+ /**
27
+ * Escape XML special characters.
28
+ */
29
+ export function escapeXml(text) {
30
+ return text
31
+ .replace(/&/g, '&')
32
+ .replace(/</g, '&lt;')
33
+ .replace(/>/g, '&gt;')
34
+ .replace(/"/g, '&quot;')
35
+ .replace(/'/g, '&apos;');
36
+ }
37
+ /**
38
+ * Generate run properties XML.
39
+ */
40
+ function generateRunProperties(run) {
41
+ if (!run.properties) {
42
+ return '';
43
+ }
44
+ const props = [];
45
+ const p = run.properties;
46
+ if (p.bold) {
47
+ props.push('<w:b/>');
48
+ }
49
+ if (p.italic) {
50
+ props.push('<w:i/>');
51
+ }
52
+ if (p.underline) {
53
+ props.push(`<w:u w:val="${escapeXml(p.underline)}"/>`);
54
+ }
55
+ if (p.strikethrough) {
56
+ props.push('<w:strike/>');
57
+ }
58
+ if (p.highlight) {
59
+ props.push(`<w:highlight w:val="${escapeXml(p.highlight)}"/>`);
60
+ }
61
+ if (p.color) {
62
+ props.push(`<w:color w:val="${escapeXml(p.color)}"/>`);
63
+ }
64
+ if (p.fontSize !== undefined) {
65
+ props.push(`<w:sz w:val="${p.fontSize}"/>`);
66
+ }
67
+ if (p.fontFamily) {
68
+ props.push(`<w:rFonts w:ascii="${escapeXml(p.fontFamily)}" w:hAnsi="${escapeXml(p.fontFamily)}"/>`);
69
+ }
70
+ if (props.length === 0) {
71
+ return '';
72
+ }
73
+ return `<w:rPr>${props.join('')}</w:rPr>`;
74
+ }
75
+ /**
76
+ * Generate a single run's XML.
77
+ */
78
+ function generateRunXml(text, run, useDelText = false) {
79
+ const rPr = generateRunProperties(run);
80
+ const textElement = useDelText ? 'w:delText' : 'w:t';
81
+ // Handle whitespace preservation
82
+ const needsSpace = text.startsWith(' ') || text.endsWith(' ') || text.includes(' ');
83
+ const spaceAttr = needsSpace ? ' xml:space="preserve"' : '';
84
+ return `<w:r>${rPr}<${textElement}${spaceAttr}>${escapeXml(text)}</${textElement}></w:r>`;
85
+ }
86
+ /**
87
+ * Generate insertion markup.
88
+ */
89
+ export function generateInsertion(runs, author, date) {
90
+ const id = allocateRevisionId();
91
+ const dateStr = formatOoxmlDate(date);
92
+ const runXml = runs.map(run => generateRunXml(run.text, run, false)).join('');
93
+ return `<w:ins w:id="${id}" w:author="${escapeXml(author)}" w:date="${dateStr}">${runXml}</w:ins>`;
94
+ }
95
+ /**
96
+ * Generate deletion markup.
97
+ */
98
+ export function generateDeletion(runs, author, date) {
99
+ const id = allocateRevisionId();
100
+ const dateStr = formatOoxmlDate(date);
101
+ // Deletions use w:delText instead of w:t
102
+ const runXml = runs.map(run => generateRunXml(run.text, run, true)).join('');
103
+ return `<w:del w:id="${id}" w:author="${escapeXml(author)}" w:date="${dateStr}">${runXml}</w:del>`;
104
+ }
105
+ /**
106
+ * Generate unchanged run markup.
107
+ */
108
+ export function generateUnchangedRun(run) {
109
+ return generateRunXml(run.text, run, false);
110
+ }
111
+ /**
112
+ * Render merged runs with track changes to OOXML.
113
+ *
114
+ * @param mergedRuns - Runs with revision markers from diffRuns()
115
+ * @param options - Rendering options
116
+ * @returns OOXML paragraph content with track changes
117
+ */
118
+ export function renderTrackChanges(mergedRuns, options) {
119
+ const { author, date } = options;
120
+ const parts = [];
121
+ // Group consecutive runs by revision type for cleaner output
122
+ let i = 0;
123
+ while (i < mergedRuns.length) {
124
+ const run = mergedRuns[i];
125
+ const revType = run.revision?.type;
126
+ if (!revType) {
127
+ // Unchanged run
128
+ parts.push(generateUnchangedRun(run));
129
+ i++;
130
+ }
131
+ else if (revType === 'insertion') {
132
+ // Collect consecutive insertions
133
+ const insertionRuns = [];
134
+ while (i < mergedRuns.length && mergedRuns[i]?.revision?.type === 'insertion') {
135
+ insertionRuns.push(mergedRuns[i]);
136
+ i++;
137
+ }
138
+ parts.push(generateInsertion(insertionRuns, author, date));
139
+ }
140
+ else if (revType === 'deletion') {
141
+ // Collect consecutive deletions
142
+ const deletionRuns = [];
143
+ while (i < mergedRuns.length && mergedRuns[i]?.revision?.type === 'deletion') {
144
+ deletionRuns.push(mergedRuns[i]);
145
+ i++;
146
+ }
147
+ parts.push(generateDeletion(deletionRuns, author, date));
148
+ }
149
+ else {
150
+ // Unknown revision type, treat as unchanged
151
+ parts.push(generateUnchangedRun(run));
152
+ i++;
153
+ }
154
+ }
155
+ return parts.join('');
156
+ }
157
+ /**
158
+ * Wrap content in a paragraph element.
159
+ */
160
+ export function wrapInParagraph(content, pPr) {
161
+ const pPrXml = pPr ? `<w:pPr>${pPr}</w:pPr>` : '';
162
+ return `<w:p>${pPrXml}${content}</w:p>`;
163
+ }
164
+ /**
165
+ * Generate a complete deleted paragraph.
166
+ */
167
+ export function generateDeletedParagraph(runs, author, date, pPr) {
168
+ const content = generateDeletion(runs, author, date);
169
+ return wrapInParagraph(content, pPr);
170
+ }
171
+ /**
172
+ * Generate a complete inserted paragraph.
173
+ */
174
+ export function generateInsertedParagraph(runs, author, date, pPr) {
175
+ const content = generateInsertion(runs, author, date);
176
+ return wrapInParagraph(content, pPr);
177
+ }
178
+ //# sourceMappingURL=trackChangesRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trackChangesRenderer.js","sourceRoot":"","sources":["../../../src/baselines/diffmatch/trackChangesRenderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * XML Parser for extracting paragraphs and runs from DOCX document.xml.
3
+ *
4
+ * Uses xmldom to parse OOXML and extract ParagraphInfo objects
5
+ * suitable for comparison.
6
+ */
7
+ import type { ParagraphInfo, RunProperties } from '../../shared/ooxml/types.js';
8
+ /**
9
+ * Extended ParagraphInfo with original XML for reconstruction.
10
+ */
11
+ export interface ExtendedParagraphInfo extends ParagraphInfo {
12
+ /** Original paragraph properties XML (w:pPr) for preservation */
13
+ pPrXml?: string;
14
+ /** Original paragraph index in document */
15
+ originalIndex: number;
16
+ }
17
+ /**
18
+ * Extract paragraphs from document.xml content.
19
+ *
20
+ * @param documentXml - The raw document.xml content
21
+ * @returns Array of ParagraphInfo objects with runs and metadata
22
+ */
23
+ export declare function extractParagraphs(documentXml: string): ExtendedParagraphInfo[];
24
+ /**
25
+ * Extract run properties from a w:rPr element.
26
+ */
27
+ export declare function extractRunProperties(rPrElement: Element): RunProperties | undefined;
28
+ /**
29
+ * Get the document body content (everything inside w:body).
30
+ * Useful for document reconstruction.
31
+ */
32
+ export declare function getBodyContent(documentXml: string): {
33
+ beforeBody: string;
34
+ bodyContent: string;
35
+ afterBody: string;
36
+ };
37
+ /**
38
+ * Extract sectPr (section properties) from body content if present.
39
+ * sectPr must remain at the end of body.
40
+ */
41
+ export declare function extractSectPr(bodyContent: string): {
42
+ content: string;
43
+ sectPr: string | null;
44
+ };
45
+ //# sourceMappingURL=xmlParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xmlParser.d.ts","sourceRoot":"","sources":["../../../src/baselines/diffmatch/xmlParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAW,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAMzF;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAsB9E;AAoED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAiDnF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAoBA;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAaA"}
@@ -0,0 +1,216 @@
1
+ /**
2
+ * XML Parser for extracting paragraphs and runs from DOCX document.xml.
3
+ *
4
+ * Uses xmldom to parse OOXML and extract ParagraphInfo objects
5
+ * suitable for comparison.
6
+ */
7
+ import { XMLSerializer } from '@xmldom/xmldom';
8
+ import { parseXml } from '../../primitives/xml.js';
9
+ import { hashParagraph } from './paragraphAlignment.js';
10
+ const ELEMENT_NODE = 1;
11
+ const serializer = new XMLSerializer();
12
+ /**
13
+ * Extract paragraphs from document.xml content.
14
+ *
15
+ * @param documentXml - The raw document.xml content
16
+ * @returns Array of ParagraphInfo objects with runs and metadata
17
+ */
18
+ export function extractParagraphs(documentXml) {
19
+ const doc = parseXml(documentXml);
20
+ const paragraphs = [];
21
+ // Navigate to w:body
22
+ const body = doc.getElementsByTagName('w:body')[0];
23
+ if (!body) {
24
+ return paragraphs;
25
+ }
26
+ // Find direct w:p children in body.
27
+ let paragraphIndex = 0;
28
+ for (const child of childElements(body)) {
29
+ if (child.tagName === 'w:p') {
30
+ const para = extractParagraph(child, paragraphIndex);
31
+ paragraphs.push(para);
32
+ paragraphIndex++;
33
+ }
34
+ // Note: We skip w:tbl (tables) for v1 - could add support later
35
+ }
36
+ return paragraphs;
37
+ }
38
+ /**
39
+ * Extract a single paragraph from a parsed w:p element.
40
+ */
41
+ function extractParagraph(pElement, index) {
42
+ const runs = [];
43
+ let charOffset = 0;
44
+ let pPrXml;
45
+ for (const child of childElements(pElement)) {
46
+ if (child.tagName === 'w:pPr') {
47
+ // Extract paragraph properties as XML for preservation
48
+ pPrXml = elementToXml(child);
49
+ }
50
+ else if (child.tagName === 'w:r') {
51
+ // Extract run
52
+ const runInfo = extractRun(child, charOffset);
53
+ if (runInfo.text.length > 0) {
54
+ runs.push(runInfo);
55
+ charOffset = runInfo.end;
56
+ }
57
+ }
58
+ // Skip other elements (bookmarkStart, bookmarkEnd, etc.)
59
+ }
60
+ // Combine all run text
61
+ const text = runs.map(r => r.text).join('');
62
+ return {
63
+ text,
64
+ runs,
65
+ hash: hashParagraph(text),
66
+ pPrXml,
67
+ originalIndex: index,
68
+ };
69
+ }
70
+ /**
71
+ * Extract a single run from a parsed w:r element.
72
+ */
73
+ function extractRun(rElement, startOffset) {
74
+ let text = '';
75
+ let properties;
76
+ for (const child of childElements(rElement)) {
77
+ if (child.tagName === 'w:rPr') {
78
+ properties = extractRunProperties(child);
79
+ }
80
+ else if (child.tagName === 'w:t') {
81
+ // Get text content
82
+ text += child.textContent ?? '';
83
+ }
84
+ else if (child.tagName === 'w:tab') {
85
+ // Tab character
86
+ text += '\t';
87
+ }
88
+ else if (child.tagName === 'w:br') {
89
+ // Break (newline)
90
+ text += '\n';
91
+ }
92
+ // Skip other elements (w:sym, w:drawing, etc.)
93
+ }
94
+ return {
95
+ text,
96
+ start: startOffset,
97
+ end: startOffset + text.length,
98
+ properties,
99
+ };
100
+ }
101
+ /**
102
+ * Extract run properties from a w:rPr element.
103
+ */
104
+ export function extractRunProperties(rPrElement) {
105
+ const props = {};
106
+ let hasProps = false;
107
+ for (const child of childElements(rPrElement)) {
108
+ if (child.tagName === 'w:b') {
109
+ props.bold = true;
110
+ hasProps = true;
111
+ }
112
+ else if (child.tagName === 'w:i') {
113
+ props.italic = true;
114
+ hasProps = true;
115
+ }
116
+ else if (child.tagName === 'w:u') {
117
+ const val = child.getAttribute('w:val');
118
+ props.underline = val || 'single';
119
+ hasProps = true;
120
+ }
121
+ else if (child.tagName === 'w:strike') {
122
+ props.strikethrough = true;
123
+ hasProps = true;
124
+ }
125
+ else if (child.tagName === 'w:highlight') {
126
+ const val = child.getAttribute('w:val');
127
+ if (val) {
128
+ props.highlight = val;
129
+ hasProps = true;
130
+ }
131
+ }
132
+ else if (child.tagName === 'w:color') {
133
+ const val = child.getAttribute('w:val');
134
+ if (val) {
135
+ props.color = val;
136
+ hasProps = true;
137
+ }
138
+ }
139
+ else if (child.tagName === 'w:sz') {
140
+ const val = child.getAttribute('w:val');
141
+ if (val) {
142
+ const parsed = Number.parseInt(val, 10);
143
+ if (!Number.isNaN(parsed)) {
144
+ props.fontSize = parsed;
145
+ hasProps = true;
146
+ }
147
+ }
148
+ }
149
+ else if (child.tagName === 'w:rFonts') {
150
+ const ascii = child.getAttribute('w:ascii');
151
+ if (ascii) {
152
+ props.fontFamily = ascii;
153
+ hasProps = true;
154
+ }
155
+ }
156
+ }
157
+ return hasProps ? props : undefined;
158
+ }
159
+ /**
160
+ * Get the document body content (everything inside w:body).
161
+ * Useful for document reconstruction.
162
+ */
163
+ export function getBodyContent(documentXml) {
164
+ // Use regex to extract body content while preserving structure
165
+ const bodyMatch = documentXml.match(/(<w:body[^>]*>)([\s\S]*?)(<\/w:body>)/);
166
+ if (!bodyMatch) {
167
+ return {
168
+ beforeBody: documentXml,
169
+ bodyContent: '',
170
+ afterBody: '',
171
+ };
172
+ }
173
+ const bodyStart = documentXml.indexOf(bodyMatch[0]);
174
+ const bodyEnd = bodyStart + bodyMatch[0].length;
175
+ return {
176
+ beforeBody: documentXml.slice(0, bodyStart) + bodyMatch[1],
177
+ bodyContent: bodyMatch[2],
178
+ afterBody: bodyMatch[3] + documentXml.slice(bodyEnd),
179
+ };
180
+ }
181
+ /**
182
+ * Extract sectPr (section properties) from body content if present.
183
+ * sectPr must remain at the end of body.
184
+ */
185
+ export function extractSectPr(bodyContent) {
186
+ // Find the last w:sectPr in the body
187
+ const sectPrMatch = bodyContent.match(/<w:sectPr[^>]*>[\s\S]*?<\/w:sectPr>\s*$/);
188
+ if (!sectPrMatch) {
189
+ return { content: bodyContent, sectPr: null };
190
+ }
191
+ const sectPrStart = bodyContent.lastIndexOf(sectPrMatch[0]);
192
+ return {
193
+ content: bodyContent.slice(0, sectPrStart),
194
+ sectPr: sectPrMatch[0],
195
+ };
196
+ }
197
+ /**
198
+ * Convert an element back to XML string.
199
+ */
200
+ function elementToXml(element) {
201
+ return serializer.serializeToString(element);
202
+ }
203
+ /**
204
+ * Get direct element children.
205
+ */
206
+ function childElements(element) {
207
+ const children = [];
208
+ for (let i = 0; i < element.childNodes.length; i++) {
209
+ const child = element.childNodes[i];
210
+ if (child && child.nodeType === ELEMENT_NODE) {
211
+ children.push(child);
212
+ }
213
+ }
214
+ return children;
215
+ }
216
+ //# sourceMappingURL=xmlParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xmlParser.js","sourceRoot":"","sources":["../../../src/baselines/diffmatch/xmlParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Baseline A: WmlComparer via Docxodus WASM.
3
+ *
4
+ * Uses the Docxodus npm package's WASM-based comparison in Node.js.
5
+ *
6
+ * Note: WASM support in Node.js requires additional setup:
7
+ * 1. WASM files must be served or loaded from the filesystem
8
+ * 2. May need polyfills for browser APIs used by Blazor WASM
9
+ *
10
+ * This implementation is a placeholder - full WASM integration requires
11
+ * building Docxodus and hosting the WASM files.
12
+ */
13
+ import type { CompareResult } from '../../index.js';
14
+ export interface WasmOptions {
15
+ /** Author name for revisions. Default: "Comparison" */
16
+ author?: string;
17
+ /** Detail threshold (0.0-1.0, lower = more detailed). Default: 0.15 */
18
+ detailThreshold?: number;
19
+ /** Case-insensitive comparison. Default: false */
20
+ caseInsensitive?: boolean;
21
+ /** Path to WASM files directory. */
22
+ wasmPath?: string;
23
+ }
24
+ /**
25
+ * Initialize the WASM runtime.
26
+ *
27
+ * Must be called before using compareWithWasm().
28
+ *
29
+ * @param wasmPath - Path to the directory containing WASM files
30
+ */
31
+ export declare function initializeWasm(wasmPath: string): Promise<void>;
32
+ /**
33
+ * Check if WASM runtime is initialized.
34
+ */
35
+ export declare function isWasmInitialized(): boolean;
36
+ /**
37
+ * Compare two DOCX documents using WASM.
38
+ *
39
+ * @param original - Original document as Buffer
40
+ * @param revised - Revised document as Buffer
41
+ * @param options - WASM options
42
+ * @returns Comparison result with track changes
43
+ */
44
+ export declare function compareWithWasm(original: Buffer, revised: Buffer, options?: WasmOptions): Promise<CompareResult>;
45
+ /**
46
+ * Check if WASM is available and can be used in this environment.
47
+ *
48
+ * Note: WASM in Node.js has limitations compared to browser environments.
49
+ */
50
+ export declare function isWasmAvailable(): Promise<boolean>;
51
+ //# sourceMappingURL=DocxodusWasm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocxodusWasm.d.ts","sourceRoot":"","sources":["../../../src/baselines/wmlcomparer/DocxodusWasm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kDAAkD;IAClD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,aAAa,CAAC,CA8BxB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAYxD"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Baseline A: WmlComparer via Docxodus WASM.
3
+ *
4
+ * Uses the Docxodus npm package's WASM-based comparison in Node.js.
5
+ *
6
+ * Note: WASM support in Node.js requires additional setup:
7
+ * 1. WASM files must be served or loaded from the filesystem
8
+ * 2. May need polyfills for browser APIs used by Blazor WASM
9
+ *
10
+ * This implementation is a placeholder - full WASM integration requires
11
+ * building Docxodus and hosting the WASM files.
12
+ */
13
+ /** Whether WASM runtime has been initialized */
14
+ let wasmInitialized = false;
15
+ /**
16
+ * Initialize the WASM runtime.
17
+ *
18
+ * Must be called before using compareWithWasm().
19
+ *
20
+ * @param wasmPath - Path to the directory containing WASM files
21
+ */
22
+ export async function initializeWasm(wasmPath) {
23
+ // TODO: Implement WASM initialization
24
+ // This requires:
25
+ // 1. Loading the Docxodus WASM module
26
+ // 2. Initializing the .NET runtime
27
+ // 3. Setting up any required polyfills for Node.js
28
+ throw new Error(`WASM initialization not yet implemented. ` +
29
+ `WASM path: ${wasmPath}. ` +
30
+ `For now, use compareWithDotnet() as a fallback.`);
31
+ }
32
+ /**
33
+ * Check if WASM runtime is initialized.
34
+ */
35
+ export function isWasmInitialized() {
36
+ return wasmInitialized;
37
+ }
38
+ /**
39
+ * Compare two DOCX documents using WASM.
40
+ *
41
+ * @param original - Original document as Buffer
42
+ * @param revised - Revised document as Buffer
43
+ * @param options - WASM options
44
+ * @returns Comparison result with track changes
45
+ */
46
+ export async function compareWithWasm(original, revised, options = {}) {
47
+ if (!wasmInitialized) {
48
+ throw new Error('WASM runtime not initialized. Call initializeWasm() first, ' +
49
+ 'or use compareWithDotnet() as a fallback.');
50
+ }
51
+ const { author = 'Comparison', detailThreshold = 0.15, caseInsensitive = false, } = options;
52
+ // TODO: Implement WASM-based comparison
53
+ // This would call into the Docxodus WASM module:
54
+ //
55
+ // const docxodus = await import('docxodus');
56
+ // const result = await docxodus.compareDocuments(
57
+ // new Uint8Array(original),
58
+ // new Uint8Array(revised),
59
+ // { authorName: author, detailThreshold, caseInsensitive }
60
+ // );
61
+ throw new Error(`WASM comparison not yet implemented. ` +
62
+ `Options: author=${author}, detailThreshold=${detailThreshold}, caseInsensitive=${caseInsensitive}. ` +
63
+ `Original size: ${original.length}, Revised size: ${revised.length}. ` +
64
+ `Use compareWithDotnet() as a fallback.`);
65
+ }
66
+ /**
67
+ * Check if WASM is available and can be used in this environment.
68
+ *
69
+ * Note: WASM in Node.js has limitations compared to browser environments.
70
+ */
71
+ export async function isWasmAvailable() {
72
+ // Check for WebAssembly support
73
+ // WebAssembly is available in Node.js since v8
74
+ try {
75
+ // Simple check that WebAssembly is available
76
+ const testModule = new WebAssembly.Module(new Uint8Array([0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00]));
77
+ return testModule !== null;
78
+ }
79
+ catch {
80
+ return false;
81
+ }
82
+ }
83
+ //# sourceMappingURL=DocxodusWasm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocxodusWasm.js","sourceRoot":"","sources":["../../../src/baselines/wmlcomparer/DocxodusWasm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAeH,gDAAgD;AAChD,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,sCAAsC;IACtC,iBAAiB;IACjB,sCAAsC;IACtC,mCAAmC;IACnC,mDAAmD;IAEnD,MAAM,IAAI,KAAK,CACb,2CAA2C;QACzC,cAAc,QAAQ,IAAI;QAC1B,iDAAiD,CACpD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,OAAe,EACf,UAAuB,EAAE;IAEzB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,6DAA6D;YAC3D,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IAED,MAAM,EACJ,MAAM,GAAG,YAAY,EACrB,eAAe,GAAG,IAAI,EACtB,eAAe,GAAG,KAAK,GACxB,GAAG,OAAO,CAAC;IAEZ,wCAAwC;IACxC,iDAAiD;IACjD,EAAE;IACF,6CAA6C;IAC7C,kDAAkD;IAClD,8BAA8B;IAC9B,6BAA6B;IAC7B,6DAA6D;IAC7D,KAAK;IAEL,MAAM,IAAI,KAAK,CACb,uCAAuC;QACrC,mBAAmB,MAAM,qBAAqB,eAAe,qBAAqB,eAAe,IAAI;QACrG,kBAAkB,QAAQ,CAAC,MAAM,mBAAmB,OAAO,CAAC,MAAM,IAAI;QACtE,wCAAwC,CAC3C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,gCAAgC;IAChC,+CAA+C;IAC/C,IAAI,CAAC;QACH,6CAA6C;QAC7C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,MAAM,CACvC,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CACjE,CAAC;QACF,OAAO,UAAU,KAAK,IAAI,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Baseline A: WmlComparer via dotnet CLI.
3
+ *
4
+ * Shells out to Docxodus's redline tool to perform document comparison.
5
+ * Requires .NET 8+ and Docxodus to be available.
6
+ */
7
+ import type { CompareResult } from '../../index.js';
8
+ export interface DotnetCliOptions {
9
+ /** Author name for revisions. Default: "Comparison" */
10
+ author?: string;
11
+ /** Path to the redline executable or project. Default: uses global 'dotnet run' */
12
+ redlinePath?: string;
13
+ /** Path to Docxodus repository if using 'dotnet run'. */
14
+ docxodusPath?: string;
15
+ /** Path to dotnet executable. Default: 'dotnet' */
16
+ dotnetPath?: string;
17
+ /** Timeout in milliseconds. Default: 60000 (1 minute) */
18
+ timeout?: number;
19
+ }
20
+ /**
21
+ * Check if dotnet CLI is available.
22
+ */
23
+ export declare function isDotnetAvailable(dotnetPath?: string): Promise<boolean>;
24
+ /**
25
+ * Compare two DOCX documents using the dotnet CLI.
26
+ *
27
+ * @param original - Original document as Buffer
28
+ * @param revised - Revised document as Buffer
29
+ * @param options - CLI options
30
+ * @returns Comparison result with track changes
31
+ */
32
+ export declare function compareWithDotnet(original: Buffer, revised: Buffer, options?: DotnetCliOptions): Promise<CompareResult>;
33
+ /**
34
+ * Check if Docxodus redline tool is available.
35
+ *
36
+ * @param docxodusPath - Path to Docxodus repository
37
+ * @param dotnetPath - Path to dotnet executable
38
+ */
39
+ export declare function isRedlineAvailable(docxodusPath?: string, dotnetPath?: string): Promise<boolean>;
40
+ //# sourceMappingURL=DotnetCli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DotnetCli.d.ts","sourceRoot":"","sources":["../../../src/baselines/wmlcomparer/DotnetCli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,gBAAgB,CAAC;AAIlE,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,SAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAO/E;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAwFxB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,SAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAevG"}