@node-projects/excelforge 2.4.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/.github/FUNDING.yml +4 -0
  2. package/MISSING.md +326 -0
  3. package/README.md +484 -12
  4. package/dist/core/SharedStrings.js +6 -2
  5. package/dist/core/SharedStrings.js.map +1 -1
  6. package/dist/core/Workbook.d.ts +41 -1
  7. package/dist/core/Workbook.js +773 -57
  8. package/dist/core/Workbook.js.map +1 -1
  9. package/dist/core/WorkbookReader.d.ts +18 -4
  10. package/dist/core/WorkbookReader.js +1386 -20
  11. package/dist/core/WorkbookReader.js.map +1 -1
  12. package/dist/core/Worksheet.d.ts +130 -2
  13. package/dist/core/Worksheet.js +792 -63
  14. package/dist/core/Worksheet.js.map +1 -1
  15. package/dist/core/types.d.ts +287 -5
  16. package/dist/core/types.js +12 -1
  17. package/dist/core/types.js.map +1 -1
  18. package/dist/features/ChartBuilder.d.ts +9 -1
  19. package/dist/features/ChartBuilder.js +140 -14
  20. package/dist/features/ChartBuilder.js.map +1 -1
  21. package/dist/features/CsvModule.d.ts +11 -0
  22. package/dist/features/CsvModule.js +137 -0
  23. package/dist/features/CsvModule.js.map +1 -0
  24. package/dist/features/Encryption.d.ts +6 -0
  25. package/dist/features/Encryption.js +806 -0
  26. package/dist/features/Encryption.js.map +1 -0
  27. package/dist/features/FormControlBuilder.d.ts +6 -0
  28. package/dist/features/FormControlBuilder.js +135 -0
  29. package/dist/features/FormControlBuilder.js.map +1 -0
  30. package/dist/features/FormulaEngine.d.ts +22 -0
  31. package/dist/features/FormulaEngine.js +498 -0
  32. package/dist/features/FormulaEngine.js.map +1 -0
  33. package/dist/features/HtmlModule.d.ts +21 -0
  34. package/dist/features/HtmlModule.js +1417 -0
  35. package/dist/features/HtmlModule.js.map +1 -0
  36. package/dist/features/JsonModule.d.ts +10 -0
  37. package/dist/features/JsonModule.js +76 -0
  38. package/dist/features/JsonModule.js.map +1 -0
  39. package/dist/features/PivotTableBuilder.d.ts +7 -0
  40. package/dist/features/PivotTableBuilder.js +170 -0
  41. package/dist/features/PivotTableBuilder.js.map +1 -0
  42. package/dist/features/Signing.d.ts +12 -0
  43. package/dist/features/Signing.js +318 -0
  44. package/dist/features/Signing.js.map +1 -0
  45. package/dist/features/TableBuilder.js +2 -2
  46. package/dist/features/TableBuilder.js.map +1 -1
  47. package/dist/index-min.js +579 -144
  48. package/dist/index.d.ts +17 -1
  49. package/dist/index.js +10 -0
  50. package/dist/index.js.map +1 -1
  51. package/dist/styles/StyleRegistry.d.ts +14 -0
  52. package/dist/styles/StyleRegistry.js +95 -30
  53. package/dist/styles/StyleRegistry.js.map +1 -1
  54. package/dist/utils/helpers.d.ts +4 -0
  55. package/dist/utils/helpers.js +64 -14
  56. package/dist/utils/helpers.js.map +1 -1
  57. package/dist/utils/zip.js +145 -73
  58. package/dist/utils/zip.js.map +1 -1
  59. package/dist/vba/VbaProject.d.ts +19 -0
  60. package/dist/vba/VbaProject.js +281 -0
  61. package/dist/vba/VbaProject.js.map +1 -0
  62. package/dist/vba/cfb.d.ts +7 -0
  63. package/dist/vba/cfb.js +352 -0
  64. package/dist/vba/cfb.js.map +1 -0
  65. package/dist/vba/ovba.d.ts +2 -0
  66. package/dist/vba/ovba.js +137 -0
  67. package/dist/vba/ovba.js.map +1 -0
  68. package/package.json +4 -3
  69. package/validator.cs +0 -155
  70. package/validatorEpplus.cs +0 -27
  71. package/validatorReadData.cs +0 -111
package/dist/index.d.ts CHANGED
@@ -2,6 +2,22 @@ export { Workbook } from './core/Workbook.js';
2
2
  export { Worksheet } from './core/Worksheet.js';
3
3
  export { SharedStrings } from './core/SharedStrings.js';
4
4
  export { StyleRegistry } from './styles/StyleRegistry.js';
5
+ export { CellError } from './core/types.js';
5
6
  export { style, StyleBuilder, Styles, Colors, NumFmt } from './styles/builders.js';
6
- export type { CellValue, Cell, RichTextRun, CellStyle, Font, Fill, PatternFill, GradientFill, GradientStop, Border, BorderSide, BorderStyle, Alignment, NumberFormat, Color, FillPattern, HorizontalAlign, VerticalAlign, MergeRange, Image, ImageFormat, ImagePosition, Chart, ChartType, ChartSeries, ChartAxis, ChartPosition, ConditionalFormat, CFType, CFColorScale, CFDataBar, CFIconSet, IconSet, Table, TableColumn, TableStyle, Sparkline, SparklineType, DataValidation, ValidationType, ValidationOperator, AutoFilter, Comment, Hyperlink, NamedRange, ColumnDef, RowDef, FreezePane, SplitPane, SheetProtection, PageSetup, PageMargins, HeaderFooter, PrintOptions, SheetView, PaperSize, Orientation, WorkbookProperties, WorksheetOptions, } from './core/types.js';
7
+ export { a1ToR1C1, r1c1ToA1, formulaToR1C1, formulaFromR1C1, } from './utils/helpers.js';
8
+ export { worksheetToCsv, csvToWorkbook } from './features/CsvModule.js';
9
+ export type { CsvOptions } from './features/CsvModule.js';
10
+ export { worksheetToJson, workbookToJson } from './features/JsonModule.js';
11
+ export type { JsonExportOptions } from './features/JsonModule.js';
12
+ export { worksheetToHtml, workbookToHtml } from './features/HtmlModule.js';
13
+ export type { HtmlExportOptions, WorkbookHtmlExportOptions } from './features/HtmlModule.js';
14
+ export { FormulaEngine } from './features/FormulaEngine.js';
15
+ export { encryptWorkbook, decryptWorkbook, isEncrypted } from './features/Encryption.js';
16
+ export type { EncryptionOptions } from './features/Encryption.js';
17
+ export { saveChartTemplate, applyChartTemplate, serializeChartTemplate, deserializeChartTemplate } from './features/ChartBuilder.js';
18
+ export { signPackage, signVbaProject, signWorkbook, generateTestCertificate } from './features/Signing.js';
19
+ export type { SigningOptions, SignResult } from './features/Signing.js';
20
+ export type { CellValue, ErrorValue, Cell, RichTextRun, CellStyle, Font, Fill, PatternFill, GradientFill, GradientStop, Border, BorderSide, BorderStyle, Alignment, NumberFormat, Color, FillPattern, HorizontalAlign, VerticalAlign, MergeRange, Image, CellImage, ImageFormat, ImagePosition, Chart, ChartType, ChartSeries, ChartAxis, ChartPosition, ChartDataLabels, ChartTemplate, ChartModernStyle, ChartColorPalette, ConditionalFormat, CFType, CFColorScale, CFDataBar, CFIconSet, IconSet, Table, TableColumn, TableStyle, PivotTable, PivotDataField, PivotFunction, Sparkline, SparklineType, DataValidation, ValidationType, ValidationOperator, AutoFilter, Comment, Hyperlink, FormControl, FormControlType, FormControlAnchor, NamedRange, Connection, ConnectionType, CommandType, PowerQuery, ColumnDef, RowDef, FreezePane, SplitPane, SheetProtection, PageSetup, PageMargins, PageBreak, HeaderFooter, PrintOptions, SheetView, PaperSize, Orientation, WorkbookProperties, WorksheetOptions, Shape, ShapeType, WordArt, WordArtPreset, Theme, ThemeColor, CustomIcon, CFCustomIconSet, TableSlicer, PivotSlicer, CustomPivotStyle, PivotStyleElement, QueryTable, ExternalLink, LocaleSettings, MathEquation, MathElement, MathElementType, } from './core/types.js';
21
+ export { VbaProject } from './vba/VbaProject.js';
22
+ export type { VbaModule, VbaModuleType } from './vba/VbaProject.js';
7
23
  export { colIndexToLetter, colLetterToIndex, cellRefToIndices, indicesToCellRef, parseRange, dateToSerial, pxToEmu, base64ToBytes, bytesToBase64, } from './utils/helpers.js';
package/dist/index.js CHANGED
@@ -2,6 +2,16 @@ export { Workbook } from './core/Workbook.js';
2
2
  export { Worksheet } from './core/Worksheet.js';
3
3
  export { SharedStrings } from './core/SharedStrings.js';
4
4
  export { StyleRegistry } from './styles/StyleRegistry.js';
5
+ export { CellError } from './core/types.js';
5
6
  export { style, StyleBuilder, Styles, Colors, NumFmt } from './styles/builders.js';
7
+ export { a1ToR1C1, r1c1ToA1, formulaToR1C1, formulaFromR1C1, } from './utils/helpers.js';
8
+ export { worksheetToCsv, csvToWorkbook } from './features/CsvModule.js';
9
+ export { worksheetToJson, workbookToJson } from './features/JsonModule.js';
10
+ export { worksheetToHtml, workbookToHtml } from './features/HtmlModule.js';
11
+ export { FormulaEngine } from './features/FormulaEngine.js';
12
+ export { encryptWorkbook, decryptWorkbook, isEncrypted } from './features/Encryption.js';
13
+ export { saveChartTemplate, applyChartTemplate, serializeChartTemplate, deserializeChartTemplate } from './features/ChartBuilder.js';
14
+ export { signPackage, signVbaProject, signWorkbook, generateTestCertificate } from './features/Signing.js';
15
+ export { VbaProject } from './vba/VbaProject.js';
6
16
  export { colIndexToLetter, colLetterToIndex, cellRefToIndices, indicesToCellRef, parseRange, dateToSerial, pxToEmu, base64ToBytes, bytesToBase64, } from './utils/helpers.js';
7
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,QAAQ,EAAE,MAAU,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAS,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AA2EnF,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,OAAO,EACP,aAAa,EACb,aAAa,GACd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,QAAQ,EAAE,MAAU,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAS,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAS,iBAAiB,CAAC;AAG/C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EACL,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,GACnD,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI3E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI3E,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIzF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGrI,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAiH3G,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,OAAO,EACP,aAAa,EACb,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -3,17 +3,31 @@ export declare class StyleRegistry {
3
3
  private fonts;
4
4
  private fills;
5
5
  private borders;
6
+ private fontIdx;
7
+ private fillIdx;
8
+ private borderIdx;
6
9
  private numFmts;
7
10
  private xfs;
8
11
  private styleKey;
9
12
  private dxfs;
10
13
  private nextNumFmtId;
14
+ private cellStyleXfs;
15
+ private cellStyleNames;
11
16
  constructor();
17
+ registerNamedStyle(name: string, style: CellStyle, builtinId?: number): number;
12
18
  private internFont;
13
19
  private internFill;
14
20
  private internBorder;
15
21
  private internNumFmt;
16
22
  register(style: CellStyle | undefined): number;
17
23
  registerDxf(style: CellStyle): number;
24
+ prependRawDxfs(rawInners: string[]): void;
25
+ private tableStyleDefs;
26
+ registerTableStyle(name: string, def: {
27
+ headerRow?: import('../core/types.js').CellStyle;
28
+ dataRow1?: import('../core/types.js').CellStyle;
29
+ dataRow2?: import('../core/types.js').CellStyle;
30
+ totalRow?: import('../core/types.js').CellStyle;
31
+ }): void;
18
32
  toXml(): string;
19
33
  }
@@ -11,10 +11,20 @@ const BUILTIN_NUMFMT = {
11
11
  function colorXml(color, prefix = 'rgb') {
12
12
  if (!color)
13
13
  return '';
14
+ if (color.startsWith('theme:'))
15
+ return `<color theme="${color.slice(6)}"/>`;
14
16
  if (color.startsWith('#'))
15
17
  color = 'FF' + color.slice(1);
16
18
  return `<color ${prefix}="${color}"/>`;
17
19
  }
20
+ function colorAttrXml(tag, color) {
21
+ if (!color)
22
+ return '';
23
+ if (color.startsWith('theme:'))
24
+ return `<${tag} theme="${color.slice(6)}"/>`;
25
+ const rgb = color.startsWith('#') ? 'FF' + color.slice(1) : color;
26
+ return `<${tag} rgb="${rgb}"/>`;
27
+ }
18
28
  function fontXml(f) {
19
29
  const parts = [];
20
30
  if (f.bold)
@@ -30,7 +40,7 @@ function fontXml(f) {
30
40
  if (f.size)
31
41
  parts.push(`<sz val="${f.size}"/>`);
32
42
  if (f.color)
33
- parts.push(`<color rgb="${f.color.startsWith('#') ? 'FF' + f.color.slice(1) : f.color}"/>`);
43
+ parts.push(colorAttrXml('color', f.color));
34
44
  if (f.name)
35
45
  parts.push(`<name val="${escapeXml(f.name)}"/>`);
36
46
  if (f.family)
@@ -44,12 +54,12 @@ function fontXml(f) {
44
54
  function fillXml(fill) {
45
55
  if (fill.type === 'pattern') {
46
56
  const f = fill;
47
- const fg = f.fgColor ? `<fgColor rgb="${f.fgColor.startsWith('#') ? 'FF' + f.fgColor.slice(1) : f.fgColor}"/>` : '';
48
- const bg = f.bgColor ? `<bgColor rgb="${f.bgColor.startsWith('#') ? 'FF' + f.bgColor.slice(1) : f.bgColor}"/>` : '';
57
+ const fg = colorAttrXml('fgColor', f.fgColor);
58
+ const bg = colorAttrXml('bgColor', f.bgColor);
49
59
  return `<patternFill patternType="${f.pattern}">${fg}${bg}</patternFill>`;
50
60
  }
51
61
  const f = fill;
52
- const stops = f.stops.map(s => `<stop position="${s.position}"><color rgb="${s.color.startsWith('#') ? 'FF' + s.color.slice(1) : s.color}"/></stop>`).join('');
62
+ const stops = f.stops.map(s => `<stop position="${s.position}">${colorAttrXml('color', s.color)}</stop>`).join('');
53
63
  const attrs = [
54
64
  f.gradientType ? `type="${f.gradientType}"` : '',
55
65
  f.degree !== undefined ? `degree="${f.degree}"` : '',
@@ -63,7 +73,7 @@ function fillXml(fill) {
63
73
  function borderSideXml(tag, s) {
64
74
  if (!s)
65
75
  return `<${tag}/>`;
66
- const color = s.color ? `<color rgb="${s.color.startsWith('#') ? 'FF' + s.color.slice(1) : s.color}"/>` : '';
76
+ const color = colorAttrXml('color', s.color);
67
77
  return s.style
68
78
  ? `<${tag} style="${s.style}">${color}</${tag}>`
69
79
  : `<${tag}/>`;
@@ -98,46 +108,84 @@ export class StyleRegistry {
98
108
  this.fonts = [];
99
109
  this.fills = [];
100
110
  this.borders = [];
111
+ this.fontIdx = new Map();
112
+ this.fillIdx = new Map();
113
+ this.borderIdx = new Map();
101
114
  this.numFmts = new Map();
102
115
  this.xfs = [];
103
116
  this.styleKey = new Map();
104
117
  this.dxfs = [];
105
118
  this.nextNumFmtId = 164;
106
- this.fonts.push(fontXml({ name: 'Calibri', size: 11, scheme: 'minor' }));
107
- this.fills.push(fillXml({ type: 'pattern', pattern: 'none' }));
108
- this.fills.push(fillXml({ type: 'pattern', pattern: 'gray125' }));
109
- this.borders.push(borderXml({}));
119
+ this.cellStyleXfs = [];
120
+ this.cellStyleNames = [];
121
+ this.tableStyleDefs = [];
122
+ const defFont = fontXml({ name: 'Calibri', size: 11, scheme: 'minor' });
123
+ this.fonts.push(defFont);
124
+ this.fontIdx.set(defFont, 0);
125
+ const fill0 = fillXml({ type: 'pattern', pattern: 'none' });
126
+ const fill1 = fillXml({ type: 'pattern', pattern: 'gray125' });
127
+ this.fills.push(fill0, fill1);
128
+ this.fillIdx.set(fill0, 0);
129
+ this.fillIdx.set(fill1, 1);
130
+ const defBorder = borderXml({});
131
+ this.borders.push(defBorder);
132
+ this.borderIdx.set(defBorder, 0);
133
+ this.cellStyleXfs.push(`<xf numFmtId="0" fontId="0" fillId="0" borderId="0"/>`);
134
+ this.cellStyleNames.push({ name: 'Normal', xfId: 0, builtinId: 0 });
110
135
  this.xfs.push(`<xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/>`);
111
136
  }
137
+ registerNamedStyle(name, style, builtinId) {
138
+ const fontId = this.internFont(style.font);
139
+ const fillId = this.internFill(style.fill);
140
+ const borderId = this.internBorder(style.border);
141
+ const numFmtId = this.internNumFmt(style.numberFormat, style.numFmtId);
142
+ const applyFont = style.font ? ' applyFont="1"' : '';
143
+ const applyFill = style.fill ? ' applyFill="1"' : '';
144
+ const applyBorder = style.border ? ' applyBorder="1"' : '';
145
+ const applyAlignment = style.alignment ? ' applyAlignment="1"' : '';
146
+ const applyNumFmt = (style.numberFormat || style.numFmtId !== undefined) ? ' applyNumberFormat="1"' : '';
147
+ const align = style.alignment ? alignmentXml(style.alignment) : '';
148
+ const xml = `<xf numFmtId="${numFmtId}" fontId="${fontId}" fillId="${fillId}" borderId="${borderId}"${applyFont}${applyFill}${applyBorder}${applyAlignment}${applyNumFmt}>${align}</xf>`;
149
+ this.cellStyleXfs.push(xml);
150
+ const xfId = this.cellStyleXfs.length - 1;
151
+ this.cellStyleNames.push({ name, xfId, builtinId });
152
+ return xfId;
153
+ }
112
154
  internFont(f) {
113
155
  if (!f)
114
156
  return 0;
115
- const key = JSON.stringify(f);
116
- const idx = this.fonts.findIndex((_, i) => this.fonts[i] === fontXml(f));
117
- if (idx >= 0)
118
- return idx;
119
- this.fonts.push(fontXml(f));
120
- return this.fonts.length - 1;
157
+ const xml = fontXml(f);
158
+ const existing = this.fontIdx.get(xml);
159
+ if (existing !== undefined)
160
+ return existing;
161
+ const idx = this.fonts.length;
162
+ this.fonts.push(xml);
163
+ this.fontIdx.set(xml, idx);
164
+ return idx;
121
165
  }
122
166
  internFill(f) {
123
167
  if (!f)
124
168
  return 0;
125
169
  const xml = fillXml(f);
126
- const idx = this.fills.indexOf(xml);
127
- if (idx >= 0)
128
- return idx;
170
+ const existing = this.fillIdx.get(xml);
171
+ if (existing !== undefined)
172
+ return existing;
173
+ const idx = this.fills.length;
129
174
  this.fills.push(xml);
130
- return this.fills.length - 1;
175
+ this.fillIdx.set(xml, idx);
176
+ return idx;
131
177
  }
132
178
  internBorder(b) {
133
179
  if (!b)
134
180
  return 0;
135
181
  const xml = borderXml(b);
136
- const idx = this.borders.indexOf(xml);
137
- if (idx >= 0)
138
- return idx;
182
+ const existing = this.borderIdx.get(xml);
183
+ if (existing !== undefined)
184
+ return existing;
185
+ const idx = this.borders.length;
139
186
  this.borders.push(xml);
140
- return this.borders.length - 1;
187
+ this.borderIdx.set(xml, idx);
188
+ return idx;
141
189
  }
142
190
  internNumFmt(fmt, builtinId) {
143
191
  if (builtinId !== undefined)
@@ -170,7 +218,8 @@ export class StyleRegistry {
170
218
  const prot = (style.locked !== undefined || style.hidden !== undefined)
171
219
  ? `<protection${style.locked !== undefined ? ` locked="${style.locked ? '1' : '0'}"` : ''}${style.hidden !== undefined ? ` hidden="${style.hidden ? '1' : '0'}"` : ''}/>`
172
220
  : '';
173
- const xml = `<xf numFmtId="${numFmtId}" fontId="${fontId}" fillId="${fillId}" borderId="${borderId}" xfId="0"${applyFont}${applyFill}${applyBorder}${applyAlignment}${applyNumFmt}${applyProtection}>${align}${prot}</xf>`;
221
+ const xfId = style.namedStyleId ?? 0;
222
+ const xml = `<xf numFmtId="${numFmtId}" fontId="${fontId}" fillId="${fillId}" borderId="${borderId}" xfId="${xfId}"${applyFont}${applyFill}${applyBorder}${applyAlignment}${applyNumFmt}${applyProtection}>${align}${prot}</xf>`;
174
223
  this.xfs.push(xml);
175
224
  const idx = this.xfs.length - 1;
176
225
  this.styleKey.set(key, idx);
@@ -180,21 +229,36 @@ export class StyleRegistry {
180
229
  const parts = [];
181
230
  if (style.font)
182
231
  parts.push(`<font>${fontXml(style.font)}</font>`);
183
- if (style.fill)
184
- parts.push(`<fill>${fillXml(style.fill)}</fill>`);
185
- if (style.border)
186
- parts.push(borderXml(style.border));
187
232
  if (style.numberFormat) {
188
233
  const id = this.internNumFmt(style.numberFormat);
189
234
  parts.push(`<numFmt numFmtId="${id}" formatCode="${escapeXml(style.numberFormat.formatCode)}"/>`);
190
235
  }
236
+ if (style.fill)
237
+ parts.push(`<fill>${fillXml(style.fill)}</fill>`);
191
238
  if (style.alignment) {
192
239
  parts.push(`<alignment${style.alignment.horizontal ? ` horizontal="${style.alignment.horizontal}"` : ''}${style.alignment.vertical ? ` vertical="${style.alignment.vertical}"` : ''}${style.alignment.wrapText ? ' wrapText="1"' : ''}${style.alignment.textRotation ? ` textRotation="${style.alignment.textRotation}"` : ''}/>`);
193
240
  }
241
+ if (style.border)
242
+ parts.push(borderXml(style.border));
194
243
  const xml = parts.join('');
195
244
  this.dxfs.push(xml);
196
245
  return this.dxfs.length - 1;
197
246
  }
247
+ prependRawDxfs(rawInners) {
248
+ this.dxfs.unshift(...rawInners);
249
+ }
250
+ registerTableStyle(name, def) {
251
+ const elements = [];
252
+ if (def.headerRow)
253
+ elements.push({ type: 'headerRow', dxfId: this.registerDxf(def.headerRow) });
254
+ if (def.totalRow)
255
+ elements.push({ type: 'totalRow', dxfId: this.registerDxf(def.totalRow) });
256
+ if (def.dataRow1)
257
+ elements.push({ type: 'firstRowStripe', dxfId: this.registerDxf(def.dataRow1) });
258
+ if (def.dataRow2)
259
+ elements.push({ type: 'secondRowStripe', dxfId: this.registerDxf(def.dataRow2) });
260
+ this.tableStyleDefs.push({ name, elements });
261
+ }
198
262
  toXml() {
199
263
  const numFmtXml = this.numFmts.size
200
264
  ? `<numFmts count="${this.numFmts.size}">${[...this.numFmts.entries()].map(([fmt, id]) => `<numFmt numFmtId="${id}" formatCode="${escapeXml(fmt)}"/>`).join('')}</numFmts>`
@@ -205,10 +269,11 @@ ${numFmtXml}
205
269
  <fonts count="${this.fonts.length}">${this.fonts.map(f => `<font>${f}</font>`).join('')}</fonts>
206
270
  <fills count="${this.fills.length}">${this.fills.map(f => `<fill>${f}</fill>`).join('')}</fills>
207
271
  <borders count="${this.borders.length}">${this.borders.join('')}</borders>
208
- <cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs>
272
+ <cellStyleXfs count="${this.cellStyleXfs.length}">${this.cellStyleXfs.join('')}</cellStyleXfs>
209
273
  <cellXfs count="${this.xfs.length}">${this.xfs.join('')}</cellXfs>
210
- <cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles>
274
+ <cellStyles count="${this.cellStyleNames.length}">${this.cellStyleNames.map(cs => `<cellStyle name="${escapeXml(cs.name)}" xfId="${cs.xfId}"${cs.builtinId !== undefined ? ` builtinId="${cs.builtinId}"` : ''}/>`).join('')}</cellStyles>
211
275
  ${this.dxfs.length ? `<dxfs count="${this.dxfs.length}">${this.dxfs.map(d => `<dxf>${d}</dxf>`).join('')}</dxfs>` : ''}
276
+ ${this.tableStyleDefs.length ? `<tableStyles count="${this.tableStyleDefs.length}">${this.tableStyleDefs.map(ts => `<tableStyle name="${escapeXml(ts.name)}" count="${ts.elements.length}">${ts.elements.map(el => `<tableStyleElement type="${el.type}" dxfId="${el.dxfId}"/>`).join('')}</tableStyle>`).join('')}</tableStyles>` : ''}
212
277
  </styleSheet>`;
213
278
  }
214
279
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StyleRegistry.js","sourceRoot":"","sources":["../../src/styles/StyleRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StyleRegistry.js","sourceRoot":"","sources":["../../src/styles/StyleRegistry.ts"],"names":[],"mappings":"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"}
@@ -24,3 +24,7 @@ export declare function colWidthToEmu(w: number, charWidth?: number): number;
24
24
  export declare function rowHeightToEmu(h: number): number;
25
25
  export declare function base64ToBytes(b64: string): Uint8Array;
26
26
  export declare function bytesToBase64(data: Uint8Array): string;
27
+ export declare function a1ToR1C1(ref: string, baseRow: number, baseCol: number): string;
28
+ export declare function r1c1ToA1(ref: string, baseRow: number, baseCol: number): string;
29
+ export declare function formulaToR1C1(formula: string, baseRow: number, baseCol: number): string;
30
+ export declare function formulaFromR1C1(formula: string, baseRow: number, baseCol: number): string;
@@ -1,10 +1,14 @@
1
+ const _colCache = [];
1
2
  export function colIndexToLetter(n) {
2
- let s = '';
3
- while (n > 0) {
4
- const r = (n - 1) % 26;
3
+ if (_colCache[n])
4
+ return _colCache[n];
5
+ let s = '', v = n;
6
+ while (v > 0) {
7
+ const r = (v - 1) % 26;
5
8
  s = String.fromCharCode(65 + r) + s;
6
- n = Math.floor((n - 1) / 26);
9
+ v = Math.floor((v - 1) / 26);
7
10
  }
11
+ _colCache[n] = s;
8
12
  return s;
9
13
  }
10
14
  export function colLetterToIndex(col) {
@@ -30,13 +34,10 @@ export function parseRange(range) {
30
34
  const e = end ? cellRefToIndices(end.replace(/\$/g, '')) : s;
31
35
  return { startRow: s.row, startCol: s.col, endRow: e.row, endCol: e.col };
32
36
  }
37
+ const _xmlEsc = { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&apos;' };
38
+ const _xmlRe = /[&<>"']/g;
33
39
  export function escapeXml(s) {
34
- return s
35
- .replace(/&/g, '&amp;')
36
- .replace(/</g, '&lt;')
37
- .replace(/>/g, '&gt;')
38
- .replace(/"/g, '&quot;')
39
- .replace(/'/g, '&apos;');
40
+ return _xmlRe.test(s) ? (_xmlRe.lastIndex = 0, s.replace(_xmlRe, ch => _xmlEsc[ch])) : s;
40
41
  }
41
42
  export function xmlAttrs(attrs) {
42
43
  return Object.entries(attrs)
@@ -77,9 +78,58 @@ export function base64ToBytes(b64) {
77
78
  return out;
78
79
  }
79
80
  export function bytesToBase64(data) {
80
- let bin = '';
81
- for (let i = 0; i < data.length; i++)
82
- bin += String.fromCharCode(data[i]);
83
- return btoa(bin);
81
+ const chunks = [];
82
+ for (let i = 0; i < data.length; i += 8192) {
83
+ chunks.push(String.fromCharCode.apply(null, data.subarray(i, i + 8192)));
84
+ }
85
+ return btoa(chunks.join(''));
86
+ }
87
+ export function a1ToR1C1(ref, baseRow, baseCol) {
88
+ const m = ref.match(/^(\$?)([A-Z]+)(\$?)(\d+)$/);
89
+ if (!m)
90
+ return ref;
91
+ const colAbs = m[1] === '$', col = colLetterToIndex(m[2]);
92
+ const rowAbs = m[3] === '$', row = parseInt(m[4], 10);
93
+ const rPart = rowAbs ? `R${row}` : (row === baseRow ? 'R' : `R[${row - baseRow}]`);
94
+ const cPart = colAbs ? `C${col}` : (col === baseCol ? 'C' : `C[${col - baseCol}]`);
95
+ return rPart + cPart;
96
+ }
97
+ export function r1c1ToA1(ref, baseRow, baseCol) {
98
+ const m = ref.match(/^R(\[(-?\d+)\]|(\d+))?C(\[(-?\d+)\]|(\d+))?$/);
99
+ if (!m)
100
+ return ref;
101
+ let row, rowAbs;
102
+ let col, colAbs;
103
+ if (m[3] !== undefined) {
104
+ row = parseInt(m[3], 10);
105
+ rowAbs = true;
106
+ }
107
+ else if (m[2] !== undefined) {
108
+ row = baseRow + parseInt(m[2], 10);
109
+ rowAbs = false;
110
+ }
111
+ else {
112
+ row = baseRow;
113
+ rowAbs = false;
114
+ }
115
+ if (m[6] !== undefined) {
116
+ col = parseInt(m[6], 10);
117
+ colAbs = true;
118
+ }
119
+ else if (m[5] !== undefined) {
120
+ col = baseCol + parseInt(m[5], 10);
121
+ colAbs = false;
122
+ }
123
+ else {
124
+ col = baseCol;
125
+ colAbs = false;
126
+ }
127
+ return `${colAbs ? '$' : ''}${colIndexToLetter(col)}${rowAbs ? '$' : ''}${row}`;
128
+ }
129
+ export function formulaToR1C1(formula, baseRow, baseCol) {
130
+ return formula.replace(/(\$?)([A-Z]+)(\$?)(\d+)/g, (m, d1, c, d2, r) => a1ToR1C1(`${d1}${c}${d2}${r}`, baseRow, baseCol));
131
+ }
132
+ export function formulaFromR1C1(formula, baseRow, baseCol) {
133
+ return formula.replace(/R(\[(-?\d+)\]|(\d+))?C(\[(-?\d+)\]|(\d+))?/g, (m) => r1c1ToA1(m, baseRow, baseCol));
84
134
  }
85
135
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AACA,MAAM,SAAS,GAAa,EAAE,CAAC;AAC/B,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,IAAI,SAAS,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,CAAC;AACX,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;IACpD,OAAO,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAClE,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,GAAW,EAAE,GAAG,GAAG,KAAK;IACpE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACzB,OAAO,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;AAClD,CAAC;AAGD,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;AAC5E,CAAC;AAGD,MAAM,OAAO,GAA2B,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AACjH,MAAM,MAAM,GAAG,UAAU,CAAC;AAC1B,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAGD,MAAM,UAAU,QAAQ,CAAC,KAA4D;IACnF,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SACjD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAGD,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,KAA0B,EAAE,OAAgB;IAC9E,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IAC5C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,GAAG,IAAI,IAAI,CAAC;IAC9C,OAAO,GAAG,IAAI,IAAI,OAAO,KAAK,GAAG,GAAG,CAAC;AACvC,CAAC;AAED,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AAC9B,MAAM,UAAU,UAAU,CAAC,CAAS,IAAgB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAG3E,MAAM,UAAU,YAAY,CAAC,CAAO,EAAE,QAAQ,GAAG,KAAK;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC;IAEhD,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC5D,CAAC;AAGD,MAAM,UAAU,SAAS,CAAI,CAAI,IAAO,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAG/E,IAAI,GAAG,GAAG,CAAC,CAAC;AACZ,MAAM,UAAU,GAAG,KAAa,OAAO,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAGvD,MAAM,UAAU,OAAO,CAAC,GAAW,IAAY,OAAO,GAAG,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1E,MAAM,UAAU,OAAO,CAAC,EAAU,IAAY,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAGpF,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,SAAS,GAAG,CAAC;IACpD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AAC5C,CAAC;AAGD,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAGD,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,CAAC;AACb,CAAC;AAGD,MAAM,UAAU,aAAa,CAAC,IAAgB;IAE5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAQ,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AASD,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,OAAe,EAAE,OAAe;IACpE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACnB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;IACnF,OAAO,KAAK,GAAG,KAAK,CAAC;AACvB,CAAC;AAOD,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,OAAe,EAAE,OAAe;IACpE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACnB,IAAI,GAAW,EAAE,MAAe,CAAC;IACjC,IAAI,GAAW,EAAE,MAAe,CAAC;IACjC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,MAAM,GAAG,IAAI,CAAC;IAAC,CAAC;SAC/D,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAAC,GAAG,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,MAAM,GAAG,KAAK,CAAC;IAAC,CAAC;SAC/E,CAAC;QAAC,GAAG,GAAG,OAAO,CAAC;QAAC,MAAM,GAAG,KAAK,CAAC;IAAC,CAAC;IACvC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,MAAM,GAAG,IAAI,CAAC;IAAC,CAAC;SAC/D,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAAC,GAAG,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,MAAM,GAAG,KAAK,CAAC;IAAC,CAAC;SAC/E,CAAC;QAAC,GAAG,GAAG,OAAO,CAAC;QAAC,MAAM,GAAG,KAAK,CAAC;IAAC,CAAC;IACvC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC;AAClF,CAAC;AAMD,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAAe,EAAE,OAAe;IAC7E,OAAO,OAAO,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CACrE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CACjD,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,OAAe,EAAE,OAAe;IAC/E,OAAO,OAAO,CAAC,OAAO,CAAC,6CAA6C,EAAE,CAAC,CAAC,EAAE,EAAE,CAC1E,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAC9B,CAAC;AACJ,CAAC"}