unframer 2.25.4 → 2.26.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 (119) hide show
  1. package/dist/babel-jsx.d.ts +15 -0
  2. package/dist/babel-jsx.d.ts.map +1 -0
  3. package/dist/babel-jsx.js +223 -0
  4. package/dist/babel-jsx.js.map +1 -0
  5. package/dist/babel-plugin-imports.d.ts +0 -6
  6. package/dist/babel-plugin-imports.d.ts.map +1 -1
  7. package/dist/babel-plugin-imports.js +2 -135
  8. package/dist/babel-plugin-imports.js.map +1 -1
  9. package/dist/cli.d.ts +1 -0
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +31 -6
  12. package/dist/cli.js.map +1 -1
  13. package/dist/css.js +13 -13
  14. package/dist/esbuild.d.ts.map +1 -1
  15. package/dist/esbuild.js +82 -66
  16. package/dist/esbuild.js.map +1 -1
  17. package/dist/example-code.test.js +39 -39
  18. package/dist/example-code.test.js.map +1 -1
  19. package/dist/exporter.d.ts.map +1 -1
  20. package/dist/exporter.js +137 -87
  21. package/dist/exporter.js.map +1 -1
  22. package/dist/flat-cache-interceptor.d.ts +27 -0
  23. package/dist/flat-cache-interceptor.d.ts.map +1 -0
  24. package/dist/flat-cache-interceptor.js +99 -0
  25. package/dist/flat-cache-interceptor.js.map +1 -0
  26. package/dist/framer.d.ts.map +1 -1
  27. package/dist/framer.js +895 -741
  28. package/dist/framer.js.map +1 -1
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/react.d.ts.map +1 -1
  32. package/dist/react.js +15 -3
  33. package/dist/react.js.map +1 -1
  34. package/dist/sentry.d.ts +1 -1
  35. package/dist/sentry.d.ts.map +1 -1
  36. package/dist/sentry.js +2 -17
  37. package/dist/sentry.js.map +1 -1
  38. package/dist/undici-dispatcher.d.ts +2 -0
  39. package/dist/undici-dispatcher.d.ts.map +1 -0
  40. package/dist/undici-dispatcher.js +13 -0
  41. package/dist/undici-dispatcher.js.map +1 -0
  42. package/dist/utils.d.ts +3 -3
  43. package/dist/utils.d.ts.map +1 -1
  44. package/dist/utils.js +4 -10
  45. package/dist/utils.js.map +1 -1
  46. package/dist/utils.test.d.ts +2 -0
  47. package/dist/utils.test.d.ts.map +1 -0
  48. package/dist/utils.test.js +143 -0
  49. package/dist/utils.test.js.map +1 -0
  50. package/dist/version.d.ts +1 -1
  51. package/dist/version.js +1 -1
  52. package/esm/babel-jsx.d.ts +15 -0
  53. package/esm/babel-jsx.d.ts.map +1 -0
  54. package/esm/babel-jsx.js +219 -0
  55. package/esm/babel-jsx.js.map +1 -0
  56. package/esm/babel-plugin-imports.d.ts +0 -6
  57. package/esm/babel-plugin-imports.d.ts.map +1 -1
  58. package/esm/babel-plugin-imports.js +2 -134
  59. package/esm/babel-plugin-imports.js.map +1 -1
  60. package/esm/cli.d.ts +1 -0
  61. package/esm/cli.d.ts.map +1 -1
  62. package/esm/cli.js +31 -6
  63. package/esm/cli.js.map +1 -1
  64. package/esm/css.js +13 -13
  65. package/esm/esbuild.d.ts.map +1 -1
  66. package/esm/esbuild.js +82 -66
  67. package/esm/esbuild.js.map +1 -1
  68. package/esm/example-code.test.js +40 -40
  69. package/esm/example-code.test.js.map +1 -1
  70. package/esm/exporter.d.ts.map +1 -1
  71. package/esm/exporter.js +100 -50
  72. package/esm/exporter.js.map +1 -1
  73. package/esm/flat-cache-interceptor.d.ts +27 -0
  74. package/esm/flat-cache-interceptor.d.ts.map +1 -0
  75. package/esm/flat-cache-interceptor.js +95 -0
  76. package/esm/flat-cache-interceptor.js.map +1 -0
  77. package/esm/framer.d.ts.map +1 -1
  78. package/esm/framer.js +871 -729
  79. package/esm/framer.js.map +1 -1
  80. package/esm/index.d.ts +1 -1
  81. package/esm/index.d.ts.map +1 -1
  82. package/esm/react.d.ts.map +1 -1
  83. package/esm/react.js +15 -3
  84. package/esm/react.js.map +1 -1
  85. package/esm/sentry.d.ts +1 -1
  86. package/esm/sentry.d.ts.map +1 -1
  87. package/esm/sentry.js +2 -17
  88. package/esm/sentry.js.map +1 -1
  89. package/esm/undici-dispatcher.d.ts +2 -0
  90. package/esm/undici-dispatcher.d.ts.map +1 -0
  91. package/esm/undici-dispatcher.js +10 -0
  92. package/esm/undici-dispatcher.js.map +1 -0
  93. package/esm/utils.d.ts +3 -3
  94. package/esm/utils.d.ts.map +1 -1
  95. package/esm/utils.js +3 -9
  96. package/esm/utils.js.map +1 -1
  97. package/esm/utils.test.d.ts +2 -0
  98. package/esm/utils.test.d.ts.map +1 -0
  99. package/esm/utils.test.js +141 -0
  100. package/esm/utils.test.js.map +1 -0
  101. package/esm/version.d.ts +1 -1
  102. package/esm/version.js +1 -1
  103. package/package.json +8 -10
  104. package/src/babel-jsx.ts +277 -0
  105. package/src/babel-plugin-imports.ts +6 -169
  106. package/src/cli.ts +45 -6
  107. package/src/css.ts +13 -13
  108. package/src/esbuild.ts +93 -74
  109. package/src/example-code.test.ts +40 -41
  110. package/src/exporter.ts +124 -54
  111. package/src/flat-cache-interceptor.ts +114 -0
  112. package/src/framer.js +921 -764
  113. package/src/index.ts +1 -1
  114. package/src/react.tsx +15 -1
  115. package/src/sentry.ts +3 -22
  116. package/src/undici-dispatcher.ts +13 -0
  117. package/src/utils.test.ts +148 -0
  118. package/src/utils.ts +4 -17
  119. package/src/version.ts +1 -1
package/esm/exporter.js CHANGED
@@ -3,17 +3,21 @@ import packageJson from '../package.json';
3
3
  import url from 'url';
4
4
  import { Sema } from 'async-sema';
5
5
  import { nodeModulesPolyfillPlugin } from 'esbuild-plugins-node-modules-polyfill';
6
+ import { transform } from '@babel/core';
6
7
  import { exec } from 'child_process';
8
+ import { error } from 'console';
7
9
  import fs from 'fs';
8
10
  import path from 'path';
9
- import dedent from 'string-dedent';
11
+ import { dedent } from './utils.js';
12
+ import { babelPluginJsxTransform, removeJsxExpressionContainer, } from './babel-jsx.js';
13
+ import { propCamelCaseJustLikeFramer } from './compat.js';
10
14
  import { breakpointsStyles, breakpointsStylesLegacy, defaultBreakpointSizes, getFontsStyles, groupBy, logFontsUsage, } from './css.js';
11
15
  import { defaultExternalPackages, esbuildPluginBundleDependencies, resolveRedirect, } from './esbuild';
12
16
  import { ControlType, combinedCSSRules, } from './framer.js';
13
- import { stackblitzDemoExample, kebabCase, logger, spinner, terminalMarkdown, } from './utils.js';
14
- import { error } from 'console';
15
17
  import { notifyError } from './sentry';
16
- import { propCamelCaseJustLikeFramer } from './compat';
18
+ import { kebabCase, logger, spinner, stackblitzDemoExample, terminalMarkdown, } from './utils.js';
19
+ import { Biome, Distribution } from '@biomejs/js-api';
20
+ let biome;
17
21
  export async function bundle({ config, cwd: out = '', watch = false, signal = undefined, }) {
18
22
  const { components, breakpoints, tokens, framerWebPages } = config;
19
23
  out ||= path.resolve(process.cwd(), 'example');
@@ -22,7 +26,7 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
22
26
  await fs.promises.mkdir(out, { recursive: true });
23
27
  }
24
28
  catch (e) { }
25
- spinner.start();
29
+ spinner.start('exporting components...');
26
30
  const otherRoutes = Object.fromEntries((config.framerWebPages || []).map((page) => [
27
31
  page.webPageId,
28
32
  { path: page.path },
@@ -50,6 +54,7 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
50
54
  };
51
55
  }),
52
56
  jsx: 'automatic',
57
+ // jsxFactory: '_jsx',
53
58
  bundle: true,
54
59
  platform: 'browser',
55
60
  metafile: true,
@@ -169,25 +174,52 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
169
174
  });
170
175
  spinner.update('Finished build');
171
176
  for (let file of buildResult.outputFiles) {
172
- const resultPathAbs = path.resolve(out, file.path);
177
+ const resultPathAbsJs = path.resolve(out, file.path);
178
+ const resultPathAbsJsx = resultPathAbsJs.replace(/\.js$/, '.jsx');
173
179
  const existing = await fs.promises
174
- .readFile(file.path, 'utf-8')
180
+ .readFile(resultPathAbsJsx, 'utf-8')
175
181
  .catch(() => null);
176
- // let res = transform(file.text || '', {
177
- // babelrc: false,
178
- // sourceType: 'module',
179
- // plugins: [
180
- // babelPluginDeduplicateImports,
181
- // babelPluginJsxTransform(),
182
- // ],
183
- // filename: 'x.js',
184
- // compact: true,
185
- // sourceMaps: false,
186
- // })
187
- // let inputCode = res!.code!
188
- const tooBigSize = 1 * 1024 * 1024;
182
+ const tooBigSize = 0.7 * 1024 * 1024;
189
183
  let formatted = file.text;
190
- // let tooBig = file.text.length >= tooBigSize
184
+ let tooBig = file.text.length >= tooBigSize;
185
+ let didFormat = false;
186
+ if (config.jsx &&
187
+ !tooBig &&
188
+ !resultPathAbsJs.includes('/chunks/') &&
189
+ !resultPathAbsJs.includes('\\chunks\\')) {
190
+ try {
191
+ let res = transform(file.text || '', {
192
+ babelrc: false,
193
+ sourceType: 'module',
194
+ plugins: [
195
+ // babelPluginDeduplicateImports,
196
+ babelPluginJsxTransform,
197
+ removeJsxExpressionContainer,
198
+ ],
199
+ // ast: true,
200
+ // code: false,
201
+ filename: 'x.jsx',
202
+ compact: false,
203
+ sourceMaps: false,
204
+ });
205
+ if (res?.code) {
206
+ if (!biome) {
207
+ biome = await Biome.create({
208
+ distribution: Distribution.NODE,
209
+ });
210
+ }
211
+ let result = biome.formatContent(res.code, {
212
+ filePath: 'example.jsx',
213
+ });
214
+ didFormat = true;
215
+ formatted = result.content;
216
+ }
217
+ }
218
+ catch (e) {
219
+ notifyError(e, 'babel transform and format');
220
+ }
221
+ }
222
+ // let inputCode = res!.code!
191
223
  // let shouldFormat = !tooBig && !file.path.includes('chunks')
192
224
  // if (shouldFormat) {
193
225
  // spinner.update(`Formatting ${path.relative(out, file.path)}`)
@@ -206,10 +238,6 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
206
238
  // )}, too big`,
207
239
  // )
208
240
  // }
209
- let codeNew = `// @ts-nocheck\n` +
210
- `/* eslint-disable */\n` +
211
- doNotEditComment +
212
- formatted;
213
241
  // if (framerWebPages?.length) {
214
242
  // codeNew = replaceWebPageIds({
215
243
  // code: codeNew,
@@ -225,14 +253,22 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
225
253
  // logger.log(`${path.resolve(out, file.path)}:${line + 1}`)
226
254
  // })
227
255
  // }
228
- if (existing === codeNew) {
229
- continue;
230
- }
256
+ const prefix = `// @ts-nocheck\n` + `/* eslint-disable */\n` + doNotEditComment;
257
+ const codeJsx = prefix + formatted;
258
+ const codeJs = prefix + file.text;
259
+ // if (existing === codeJsx) {
260
+ // continue
261
+ // }
231
262
  logger.log(`writing`, path.relative(out, file.path));
232
- await fs.promises.mkdir(path.dirname(resultPathAbs), {
263
+ await fs.promises.mkdir(path.dirname(resultPathAbsJsx), {
233
264
  recursive: true,
234
265
  });
235
- await fs.promises.writeFile(resultPathAbs, codeNew, 'utf-8');
266
+ if (codeJs !== codeJsx || !didFormat) {
267
+ await fs.promises.writeFile(resultPathAbsJs, codeJs, 'utf-8');
268
+ }
269
+ if (didFormat) {
270
+ await fs.promises.writeFile(resultPathAbsJsx, codeJsx, 'utf-8');
271
+ }
236
272
  }
237
273
  spinner.stop();
238
274
  await fs.promises.writeFile(path.resolve(out, '.cursorignore'), `**/*.js\nchunks\n`, 'utf-8');
@@ -241,7 +277,7 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
241
277
  }
242
278
  const packageJson = path.resolve(out, 'package.json');
243
279
  await fs.promises.writeFile(packageJson, JSON.stringify({ type: 'module' }), 'utf-8');
244
- const sema = new Sema(stackblitzDemoExample ? 5 : 10);
280
+ const sema = new Sema(stackblitzDemoExample ? 5 : 6);
245
281
  spinner.update('Extracting types');
246
282
  logger.log(`using node path`, nodePath);
247
283
  let allFonts = [];
@@ -250,11 +286,15 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
250
286
  await sema.acquire();
251
287
  const name = path
252
288
  .relative(out, file.path)
253
- .replace(/\.js$/, '');
289
+ .replace(/\.jsx?$/, '');
254
290
  const resultPathAbs = path.resolve(out, file.path);
255
291
  if (!components[name]) {
256
292
  return;
257
293
  }
294
+ if (!fs.existsSync(resultPathAbs)) {
295
+ spinner.error(`cannot extract types for ${name}, missing output file`);
296
+ return;
297
+ }
258
298
  logger.log(`extracting types for ${name}`);
259
299
  spinner.update(`Extracting types for ${name}`);
260
300
  const { propertyControls, fonts } = await extractPropControlsUnsafe(resultPathAbs, name);
@@ -304,8 +344,12 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
304
344
  getFontsStyles(allFonts);
305
345
  await fs.promises.writeFile(path.resolve(out, 'styles.css'), cssString, 'utf-8');
306
346
  logFontsUsage(allFonts)
307
- .split('\n')
347
+ ?.split('\n')
308
348
  .forEach((x) => logger.log(x));
349
+ const jsxFiles = buildResult.outputFiles
350
+ .filter((x) => x.path.endsWith('.js') &&
351
+ fs.existsSync(x.path.replace(/\.js$/, '.jsx')))
352
+ .map((x) => x.path.replace(/\.js$/, '.jsx'));
309
353
  const outFiles = buildResult.outputFiles
310
354
  .map((x) => path.resolve(out, x.path))
311
355
  .concat([
@@ -314,8 +358,14 @@ export async function bundle({ config, cwd: out = '', watch = false, signal = un
314
358
  path.resolve(out, '.cursorignore'),
315
359
  path.resolve(out, 'styles.css'),
316
360
  ])
317
- .concat(buildResult.outputFiles.map((x) => path.resolve(out, x.path.replace('.js', '.d.ts'))));
318
- const filesToDelete = prevFiles.filter((x) => !outFiles.includes(x));
361
+ .concat(jsxFiles)
362
+ .concat(buildResult.outputFiles.map((x) => path.resolve(out, x.path.replace(/\.jsx?$/, '.d.ts'))));
363
+ const filesToDelete = prevFiles
364
+ .filter((x) => !outFiles.includes(x))
365
+ .concat(buildResult.outputFiles
366
+ .map((x) => x.path)
367
+ .filter((js) => js.endsWith('.js') &&
368
+ jsxFiles.some((x) => x.startsWith(js))));
319
369
  for (let file of filesToDelete) {
320
370
  logger.log('deleting', path.relative(out, file));
321
371
  try {
@@ -436,7 +486,7 @@ export function resolvePackage({ cwd, pkg }) {
436
486
  }, (error, stdout, stderr) => {
437
487
  if (error) {
438
488
  logger.log(stderr);
439
- reject(new Error('Unframer is not installed in your project'));
489
+ reject(new Error(`${pkg} is not installed in your project`));
440
490
  return;
441
491
  }
442
492
  const version = stdout.trim();
@@ -873,7 +923,7 @@ function splitOnce(str, separator) {
873
923
  return [str.slice(0, index), str.slice(index + 1)];
874
924
  }
875
925
  export function componentCamelCase(str) {
876
- str = str?.replace(/\.js$/, '');
926
+ str = str?.replace(/\.jsx?$/, '');
877
927
  if (!str) {
878
928
  return 'FramerComponent';
879
929
  }
@@ -947,6 +997,8 @@ async function recursiveReaddir(dir) {
947
997
  return files.flat();
948
998
  }
949
999
  function indentWithTabs(str, tabs) {
1000
+ if (!str)
1001
+ return '';
950
1002
  return str
951
1003
  .split('\n')
952
1004
  .map((line, i) => (!i ? line : tabs + line))
@@ -956,14 +1008,14 @@ export async function createExampleComponentCode({ outDir, config, }) {
956
1008
  const outDirForExample = path.posix
957
1009
  .relative(process.cwd(), outDir)
958
1010
  .replace(/^src\//, ''); // remove src so file works inside src
959
- const instances = config?.componentInstancesInIndexPage.sort((a, b) => {
1011
+ const instances = config?.componentInstancesInIndexPage?.sort((a, b) => {
960
1012
  // Order first by nodeDepth (lower is better)
961
1013
  return a.nodeDepth - b.nodeDepth || a.pageOrdering - b.pageOrdering;
962
1014
  });
963
- const imports = instances.map((exampleComponent) => {
1015
+ const imports = instances?.map((exampleComponent) => {
964
1016
  return `import ${componentCamelCase(exampleComponent?.componentPathSlug)} from './${outDirForExample}/${exampleComponent?.componentPathSlug}'`;
965
1017
  });
966
- const jsx = instances.map((exampleComponent) => {
1018
+ const jsx = instances?.map((exampleComponent) => {
967
1019
  let propStr = '';
968
1020
  for (let [key, value] of Object.entries(exampleComponent.controls || {})) {
969
1021
  if (key === 'variant') {
@@ -974,13 +1026,11 @@ export async function createExampleComponentCode({ outDir, config, }) {
974
1026
  }
975
1027
  // TODO get property controls to render enums much better? maybe do this in plugin instead
976
1028
  propStr += '\n';
977
- propStr += ` ${key}={${JSON.stringify(value)}}`;
1029
+ propStr += ` ${key}={${JSON.stringify(value)}}`;
978
1030
  }
979
1031
  if (propStr)
980
1032
  propStr += '\n';
981
- const responsiveComponent = dedent `
982
- <${componentCamelCase(exampleComponent?.componentPathSlug)}.Responsive${propStr}/>
983
- `;
1033
+ const responsiveComponent = `<${componentCamelCase(exampleComponent?.componentPathSlug)}.Responsive${propStr}/>`;
984
1034
  return responsiveComponent;
985
1035
  });
986
1036
  let containerClasses = '';
@@ -991,14 +1041,14 @@ export async function createExampleComponentCode({ outDir, config, }) {
991
1041
  const exampleCode = dedent `
992
1042
  import './${outDirForExample}/styles.css'
993
1043
 
994
- ${indentWithTabs(imports.join('\n'), '')}
1044
+ ${indentWithTabs(imports?.join('\n'), '')}
995
1045
 
996
1046
  export default function App() {
997
- return (
998
- <div className='flex flex-col items-center gap-3 ${containerClasses}'>
999
- ${indentWithTabs(jsx.join('\n'), ' ')}
1000
- </div>
1001
- );
1047
+ return (
1048
+ <div className='flex flex-col items-center gap-3 ${containerClasses}'>
1049
+ ${indentWithTabs(jsx?.join('\n'), ' ')}
1050
+ </div>
1051
+ );
1002
1052
  };
1003
1053
  `;
1004
1054
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAA;AACxE,OAAO,WAAW,MAAM,iBAAiB,CAAA;AAEzC,OAAO,GAAG,MAAM,KAAK,CAAA;AAGrB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AAEjF,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,MAAM,MAAM,eAAe,CAAA;AAClC,OAAO,EAEH,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,OAAO,EACP,aAAa,GAChB,MAAM,UAAU,CAAA;AACjB,OAAO,EACH,uBAAuB,EACvB,+BAA+B,EAC/B,eAAe,GAClB,MAAM,WAAW,CAAA;AAClB,OAAO,EAEH,WAAW,EAEX,gBAAgB,GACnB,MAAM,aAAa,CAAA;AACpB,OAAO,EACH,qBAAqB,EACrB,SAAS,EACT,MAAM,EACN,OAAO,EACP,gBAAgB,GACnB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAStD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EACzB,MAAM,EACN,GAAG,EAAE,GAAG,GAAG,EAAE,EACb,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,SAAoC,GAMhD;IACG,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAA;IAClE,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAA;IAC9C,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACvB,IAAI,CAAC;QACD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAEd,OAAO,CAAC,KAAK,EAAE,CAAA;IAEf,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAClC,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS;QACd,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;KACtB,CAAC,CACL,CAAA;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAClC,MAAM,CAAC,WAAW,IAAI,sBAAsB,CAC/C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/B,SAAS,WAAW,CAAC,IAAkB;QACnC,OAAO;YACH,OAAO;gBACH,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;YACD,MAAM,KAAI,CAAC;YACX,OAAO,KAAI,CAAC;SACf,CAAA;IACL,CAAC;IACD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAA;IACxC,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC;QAC1B,aAAa,EAAE,GAAG;QAClB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,OAAO;gBACH,EAAE,EAAE,WAAW,IAAI,EAAE;gBACrB,GAAG,EAAE,IAAI;aACZ,CAAA;QACL,CAAC,CAAC;QACN,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,CAAC,qBAAqB,CAAC;QAC7B,QAAQ,EAAE,uBAAuB;QACjC,UAAU,EAAE,sBAAsB;QAClC,OAAO,EAAE;YACL,+BAA+B,CAAC;gBAC5B,MAAM;gBACN,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,cAAc,EAAE,MAAM,CAAC,WAAW;gBAClC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,gBAAgB,EAAE,CAAC,CAAC,EAAE,EAAE;oBACpB,UAAU,GAAG,IAAI,CAAA;gBACrB,CAAC;aACJ,CAAC;YACF,yBAAyB,CAAC,EAAE,CAAC;YAC7B;gBACI,IAAI,EAAE,gBAAgB;gBACtB,KAAK,CAAC,KAAK;oBACP,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;wBAChD,OAAO;4BACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;4BACxC,SAAS,EAAE,SAAS;yBACvB,CAAA;oBACL,CAAC,CAAC,CAAA;oBAEF,KAAK,CAAC,MAAM,CACR,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EACtC,KAAK,EAAE,IAAI,EAAE,EAAE;wBACX,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;wBACtB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;wBAC5B,MAAM,oBAAoB,GACtB,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,IAAI,CAClC,IAAI,EAAE,CAAA;wBAEX,MAAM,GAAG,GAAG,eAAe;6BACtB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE;4BAC1B,MAAM,SAAS,GACX,eAAe,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC/B,QAAQ,CAAA;4BACZ,MAAM,kBAAkB,GACpB,oBAAoB,CAAC,IAAI,CACrB,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,KAAK,IAAI,KAAK;gCAChB,CAAC,CAAC,KAAK,GAAG,SAAS,CAC1B,CAAA;4BACL,IAAI,CAAC,kBAAkB,EAAE,CAAC;gCACtB,OAAO,EAAE,CAAA;4BACb,CAAC;4BACD,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;wBAC/C,CAAC,CAAC;6BACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;wBAC5B,MAAM,cAAc,GAAG,GAAG,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAClB,EAAE,CAAC,CAAC,CAAC,CAAA;wBACN,MAAM,kBAAkB,GACpB,cAAc;4BACV,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;gCACf,CAAC,MAAM,EAAE,cAAc,CAAC;gCACxB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;6BAClB,CAAC;4BACJ,CAAC,CAAC,EAAE,CAAA;wBAEZ,OAAO;4BACH,QAAQ,EAAE,UAAU,CAAC;;;;yDAII,MAAM,eAAe,CAAC;gCAC3C,GAAG;gCACH,MAAM;6BACT,CAAC;;kDAGE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IACtC;oEACoC,IAAI,CAAC,SAAS,CAC9C,kBAAkB,EAClB,IAAI,EACJ,CAAC,CACJ;;;;;sDAKqB,IAAI,CAAC,SAAS,CACpB,WAAW,CACd;;;;;;4DAMe,IAAI,CAAC,SAAS,CAC1B,MAAM,CAAC,mBAAmB,CAC7B;;;;;;;;;;sDAUS,IAAI,CAAC,SAAS,CACpB,WAAW,EACX,IAAI,EACJ,CAAC,CACJ;;4DAEe,IAAI,CAAC,SAAS,CAC1B,MAAM,CAAC,mBAAmB,CAC7B;;;;;;;iCAOZ;4BACD,MAAM,EAAE,KAAK;yBAChB,CAAA;oBACL,CAAC,CACJ,CAAA;gBACL,CAAC;aACJ;SACJ;QACD,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,GAAG;KACd,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,6DACrB,MAAM,CAAC,SAAS,IAAI,EACxB,KAAK,MAAM,CAAC,WAAW,8BAA8B,CAAA;IAErD,KAAK,UAAU,OAAO;QAClB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACzD,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC5C,UAAU,GAAG,IAAI,CAAA;gBACjB,OAAO,CAAC,KAAK,CACT,wIAAwI,CAC3I,CAAA;gBACD,OAAO,CAAC,KAAK,CACT,mFAAmF,CACtF,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;YACD,MAAM,CAAC,CAAA;QACX,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAEhC,KAAK,IAAI,IAAI,IAAI,WAAW,CAAC,WAAY,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAClD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ;iBAC7B,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;iBAC5B,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;YACtB,yCAAyC;YACzC,sBAAsB;YACtB,4BAA4B;YAC5B,iBAAiB;YACjB,yCAAyC;YAEzC,qCAAqC;YACrC,SAAS;YACT,wBAAwB;YACxB,qBAAqB;YACrB,yBAAyB;YACzB,KAAK;YACL,6BAA6B;YAE7B,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA;YAElC,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAA;YACzB,8CAA8C;YAC9C,8DAA8D;YAC9D,sBAAsB;YACtB,oEAAoE;YACpE,yDAAyD;YACzD,0BAA0B;YAC1B,sCAAsC;YACtC,oCAAoC;YACpC,gCAAgC;YAChC,SAAS;YACT,IAAI;YACJ,gBAAgB;YAChB,oBAAoB;YACpB,gDAAgD;YAChD,mBAAmB;YACnB,yBAAyB;YACzB,wBAAwB;YACxB,QAAQ;YACR,IAAI;YAEJ,IAAI,OAAO,GACP,kBAAkB;gBAClB,wBAAwB;gBACxB,gBAAgB;gBAChB,SAAS,CAAA;YACb,gCAAgC;YAChC,oCAAoC;YACpC,yBAAyB;YACzB,oCAAoC;YACpC,SAAS;YACT,IAAI;YACJ,2CAA2C;YAC3C,sBAAsB;YACtB,qBAAqB;YACrB,qEAAqE;YACrE,QAAQ;YACR,gCAAgC;YAChC,oEAAoE;YACpE,SAAS;YACT,IAAI;YAEJ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACvB,SAAQ;YACZ,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACpD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBACjD,SAAS,EAAE,IAAI;aAClB,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAChE,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,EAClC,mBAAmB,EACnB,OAAO,CACV,CAAA;QAED,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAChD,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;QACrD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,WAAW,EACX,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAClC,OAAO,CACV,CAAA;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACrD,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAClC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAA;QACvC,IAAI,QAAQ,GAAG,EAA2B,CAAA;QAC1C,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACxC,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBACpB,MAAM,IAAI,GAAG,IAAI;qBACZ,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;qBACxB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBACzB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpB,OAAM;gBACV,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAA;gBAC1C,OAAO,CAAC,MAAM,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAA;gBAC9C,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAC7B,MAAM,yBAAyB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;gBACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACpB,MAAM,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAA;gBACxD,CAAC;gBAED,QAAQ,CAAC,IAAI,CACT,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzB,GAAG,CAAC;oBACJ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;iBACrC,CAAC,CAAC,CACN,CAAA;gBACD,MAAM,KAAK,GAAG,kBAAkB,CAAC;oBAC7B,QAAQ,EAAE,gBAAiB;oBAC3B,QAAQ,EAAE,IAAI;oBACd,MAAM;iBACT,CAAC,CAAA;gBACF,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBACjD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,EACjC,KAAK,CACR,CAAA;gBACD,OAAO;oBACH,gBAAgB;oBAChB,KAAK;oBACL,IAAI;iBACP,CAAA;YACL,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,OAAO,EAAE,CAAA;YAClB,CAAC;QACL,CAAC,CAAC,CACL,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC;gBACD,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAA;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,yDAAyD;YAC7D,CAAC;QACL,CAAC,CAAC,CAAA;QACF,iBAAiB;QAEjB,MAAM,SAAS,GACX,gBAAgB;YAChB,+EAA+E;YAC/E,IAAI;YACJ,cAAc;YACd,iBAAiB,CAAC,MAAM,IAAI,EAAE,CAAC;YAC/B,iBAAiB,CAAC,WAAW,CAAC;YAC9B,uBAAuB,CAAC,WAAW,CAAC;YACpC,MAAM;YACN,gBAAgB;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjD,IAAI,CAAC,IAAI,CAAC;YACf,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC5B,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,EAC/B,SAAS,EACT,OAAO,CACV,CAAA;QAED,aAAa,CAAC,QAAQ,CAAC;aAClB,KAAK,CAAC,IAAI,CAAC;aACX,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAElC,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aACrC,MAAM,CAAC;YACJ,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;YAClC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC;SAClC,CAAC;aACD,MAAM,CACH,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CACpD,CACJ,CAAA;QACL,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACpE,KAAK,IAAI,IAAI,IAAI,aAAa,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;YAChD,IAAI,CAAC;gBACD,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,yDAAyD;YAC7D,CAAC;QACL,CAAC;QAED,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,EAC9B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAC7C,OAAO,CACV,CAAA;QAED,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAClB,MAAM,SAAS,GACX,8KAA8K;gBAC9K,uJAAuJ;gBACvJ,YAAY,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;YAC9C,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACvB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,EAC/B,SAAS,EACT,OAAO,CACV,CAAA;QACL,CAAC;QACD,MAAM,GAAG,GAAiB;YACtB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;gBACrD,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAC1B,CAAA;gBAED,OAAO;oBACH,iBAAiB,EAAE,IAAI;oBACvB,GAAG,EAAE,CAAC;oBACN,IAAI;oBACJ,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC;oBACvC,gBAAgB,EAAE,YAAY,EAAE,gBAAgB;iBACnD,CAAA;YACL,CAAC,CAAC;SACL,CAAA;QAED,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC/B,OAAO,GAAG,CAAA;IACd,CAAC;IAED,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC5B,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,MAAM,YAAY,CAAC,MAAM,EAAE,CAAA;QAC3B,YAAY,CAAC,OAAO,EAAE,CAAA;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,uBAAuB;IAC3C,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,MAAM,YAAY,CAAC,MAAM,EAAE,CAAA;QAC3B,YAAY,CAAC,OAAO,EAAE,CAAA;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,uBAAuB;IAC3C,CAAC,CAAC,CAAA;IACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,YAAY,CAAC,MAAM,EAAE,CAAA;QAC3B,YAAY,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAA;IAC9B,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,MAAM,gBAAgB,GAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC7D,QAAQ,CAAA,CAAC,sCAAsC;IACnD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,0BAA0B,CAAC;QACrD,MAAM,EAAE,GAAG;QACX,uBAAuB;QACvB,MAAM;KACT,CAAC,CAAA;IACF,IAAI,qBAAqB,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;QACrD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YACzD,SAAS,EAAE,IAAI;SAClB,CAAC,CAAA;QACF,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACP,gBAAgB,CAAC,MAAM,CAAA;;;4CAGS,gBAAgB;;;;;;;;;;;UAWlD,WAAW;;;;;;;;;SASZ,CAAC,CACD,CAAA;IACL,CAAC;IACD,MAAM,oBAAoB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAA;AAC5C,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAA;AAErD,MAAM,UAAU,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;IACvC,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,WAAW,GAAG,4GAA4G,CAAA;QAEvI,MAAM,OAAO,GAAG;YACZ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;YACxB,IAAI;YACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SACvB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEX,IAAI,CACA,OAAO,EACP;YACI,GAAG;SACN,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACtB,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBAClB,MAAM,CACF,IAAI,KAAK,CAAC,2CAA2C,CAAC,CACzD,CAAA;gBACD,OAAM;YACV,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;YAC7B,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YACrC,OAAO,CAAC,OAAO,CAAC,CAAA;QACpB,CAAC,CACJ,CAAA;IACL,CAAC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAE,GAAG,EAAmB;IAC/D,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAA;IAC1C,IAAI,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;QACvE,IAAI,gBAAgB,KAAK,cAAc,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CACT,8EAA8E,CACjF,CAAA;QACL,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,KAAK,CACT,wFAAwF,CAC3F,CAAA;IACL,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAGnC;IACG,MAAM,EAAE,YAAY,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAChD,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,CACH,yCAAyC;YACzC,eAAe;YACf,OAAO;YACP,IAAI;YACJ,SAAS;YACT,GAAG,CACN,CAAA;IACL,CAAC;IACD,OAAO,WAAW,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,MAAoB,EACpB,eAAkC,OAAO;IAEzC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,CAAA;IACb,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM;SAC7B,GAAG,CACA,CAAC,KAAK,EAAE,EAAE,CACN,iBAAiB;QACjB,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACjC,IAAI;QACJ,KAAK,CAAC,UAAU;QAChB,GAAG,CACV;SACA,IAAI,CAAC,IAAI,CAAC,CAAA;IAEf,MAAM,WAAW,GAAG,MAAM;SACrB,GAAG,CACA,CAAC,KAAK,EAAE,EAAE,CACN,cAAc,GAAG,KAAK,CAAC,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC,UAAU,GAAG,GAAG,CAChE;SACA,IAAI,CAAC,IAAI,CAAC,CAAA;IAEf,MAAM,kBAAkB,GAAG,MAAM;SAC5B,GAAG,CACA,CAAC,KAAK,EAAE,EAAE,CACN,iBAAiB;QACjB,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACjC,IAAI;QACJ,KAAK,CAAC,SAAS;QACf,GAAG,CACV;SACA,IAAI,CAAC,IAAI,CAAC,CAAA;IAEf,MAAM,UAAU,GAAG,MAAM;SACpB,GAAG,CACA,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,GAAG,KAAK,CAAC,EAAE,GAAG,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,GAAG,CACtE;SACA,IAAI,CAAC,IAAI,CAAC,CAAA;IAEf,OAAO,CACH,WAAW;QACX,mBAAmB;QACnB,MAAM;QACN,WAAW;QACX,IAAI;QACJ,OAAO;QACP,mBAAmB,CAAC;YAChB,YAAY;YACZ,OAAO,EAAE,kBAAkB,GAAG,MAAM,GAAG,UAAU;SACpD,CAAC,CACL,CAAA;AACL,CAAC;AACD,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,gBAAgB,CAAA;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACtB,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,WAAW,CAAC,CAAA;AAC3B,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAI,EAAE,IAAI;IAC7C,IAAI,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAC1D,oDAAoD;QACpD,MAAM,YAAY,GACd,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC,gBAAgB;gBAAE,OAAM;YAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;YAClC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAA;YAEhD,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAA;YAExC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAA;YAE7B,IAAI,MAAM,GAAG,SAAS,CAAA;YACtB,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;gBACvC,MAAM,GAAG,CAAC,CAAA;YACd,CAAC,CAAC,CAAA;YAEF,MAAM,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;YAC3C,MAAM,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC/C,oDAAoD;gBACpD,OAAM;YACV,CAAC,CAAC,CAAA;YACF,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACtB,OAAO,MAAM,CAAA;QACjB,CAAC,CAAC,CAAA;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAA;YAChE,OAAM;QACV,CAAC;QACD,OAAO,YAAY,CAAA;IACvB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,WAAW,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;IACrE,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,EAClB,GAAG,EACH,MAAM,GAIT;IACG,MAAM,SAAS,GAAG,EAKf,CAAA;IACH,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,WAAY,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;QACnE,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACrC,gCAAgC;QAChC,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CACzC,CAAA;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAE9C,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;gBACpB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACrB,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CACxD,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;oBACP,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAChC,OAAO,KAAK,CAAA;oBAChB,CAAC;oBACD,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAC7B,CAAA;oBACD,OAAO,YAAY,CAAA;gBACvB,CAAC,CACJ,CAAA;gBACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;YACnC,CAAC,CAAC,EAAE,CAAA;YACJ,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,SAAQ;YACZ,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,SAAS,CAAC,IAAI,CAAC;oBACX,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC5C,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI;oBACpC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;iBAClC,CAAC,CAAA;YACN,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;gBAC7C,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;oBAClD,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAA;gBAChD,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;QAC9D,OAAO,GAAG,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;QACjB,OAAO,CACH,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAC3D,CAAC,GAAG,CAAC,CAAC;iBACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACP,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAA;gBAClD,IAAI,OAAO,GAAG,EAAE,CAAA;gBAChB,OAAO,IAAI,CAAC,CAAC,cAAc;oBACvB,CAAC,CAAC,aAAa,IAAI,CAAC,SAAS,CACvB,CAAC,CAAC,cAAc,CACnB,aAAa;oBAChB,CAAC,CAAC,EAAE,CAAA;gBACR,OAAO;oBACH,cAAc,CAAC,MAAM,GAAG,CAAC;wBACrB,CAAC,CAAC,iBAAiB,cAAc;6BAC1B,KAAK,CAAC,CAAC,CAAC;6BACR,IAAI,CAAC,IAAI,CAAC,GAAG;wBACpB,CAAC,CAAC,EAAE,CAAA;gBAEZ,OAAO,OAAO,CAAC,CAAC,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,KAC3C,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,EAClC,EAAE,CAAA;YACN,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAClB,CAAA;IACL,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;IACf,MAAM,SAAS,GAAG,YAAY,UAAU,KAAK,CAAA;IAC7C,OAAO,SAAS,CAAA;AACpB,CAAC;AAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAA;AAE1C,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC3C,QAAQ,EACR,IAAI;IAKJ,MAAM,SAAS,GAAG,eAAe,CAAA;IACjC,IAAI,QAAQ,GAAG,2GAA2G,CAAA;IAE1H,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;IAChD,MAAM,IAAI,GAAG,WAAW,OAAO,+BAA+B,SAAS,mBAAmB,QAAQ,MAAM,CAAA;IAExG,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAA;IACxB,MAAM,qBAAqB,GAAG;QAC1B,QAAQ,EAAE,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI;QACpE,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACvD,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QACjE,mBAAmB,EAAE,GAAG,CAAC,aAAa,CAClC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CACvC,CAAC,IAAI;KACT,CAAA;IACD,IAAI,YAAY,GAAG,aAAa,GAAG,CAAC,aAAa,CAC7C,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAChD,GAAG,CAAA;IACJ,IAAI,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;QAExC,qBAAqB,CAAC,QAAQ,GAAG,EAAE,CAAA;IACvC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,IAAI,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAChD,MAAM,GAAG,GAAG,IACR,QACJ,uCAAuC,YAAY,QAAQ,IAAI,GAAG,CAAA;QAElE,IAAI,YAAY,GAAG,IAAI,CACnB,GAAG,EACH;YACI,GAAG,EAAE;gBACD,kBAAkB;gBAClB,qBAAqB,EAAE,IAAI,CAAC,SAAS,CACjC,qBAAqB,CACxB;aACJ;SACJ,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACpB,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAA;gBACnD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACrB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,CAAA;QACf,CAAC,CACJ,CAAA;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,YAAY,CAAC,IAAI,EAAE,CAAA;YACnB,GAAG,CACC,IAAI,KAAK,CACL,mBAAmB,OAAO,iCAAiC,IAAI,EAAE,CACpE,CACJ,CAAA;QACL,CAAC,EAAE,OAAO,CAAC,CAAA;IACf,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACnB,OAAO,EAAE,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,EAAE,CAAA;IACb,CAAC;IAED,sBAAsB;IACtB,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,aAAa,CAAC,IAAI;IACvB,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACrD,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,QAAQ,GAKX;IACG,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAK,EAAuB,CAAC;aAC7D,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAClB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAM;YACV,CAAC;YAED,MAAM,cAAc,GAAG,CAAC,KAA8B,EAAE,EAAE;gBACtD,KAAK,CAAC,IAAI,CAAA;gBACV,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACjB,KAAK,WAAW,CAAC,KAAK;wBAClB,OAAO,QAAQ,CAAA;oBACnB,KAAK,WAAW,CAAC,OAAO;wBACpB,OAAO,SAAS,CAAA;oBACpB,KAAK,WAAW,CAAC,MAAM;wBACnB,OAAO,QAAQ,CAAA;oBACnB,KAAK,WAAW,CAAC,MAAM;wBACnB,OAAO,QAAQ,CAAA;oBACnB,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;wBACpB,mBAAmB;wBACnB,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAA;wBACnD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACnD,CAAC;oBACD,KAAK,WAAW,CAAC,IAAI;wBACjB,OAAO,QAAQ,CAAA;oBACnB,KAAK,WAAW,CAAC,KAAK;wBAClB,OAAO,QAAQ,CAAA;oBACnB,KAAK,WAAW,CAAC,iBAAiB;wBAC9B,OAAO,iBAAiB,CAAA;oBAC5B,KAAK,WAAW,CAAC,KAAK;wBAClB,mBAAmB;wBACnB,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAA;oBAC/C,KAAK,WAAW,CAAC,MAAM;wBACnB,mBAAmB;wBACnB,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;6BACpC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;4BACZ,mBAAmB;4BACnB,OAAO,GAAG,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAA;wBACvC,CAAC,CAAC;6BACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;oBACrB,KAAK,WAAW,CAAC,IAAI;wBACjB,OAAO,eAAe,CAAA;oBAC1B,KAAK,WAAW,CAAC,IAAI;wBACjB,OAAO,QAAQ,CAAA;oBACnB,KAAK,WAAW,CAAC,eAAe;wBAC5B,OAAO,8CAA8C,CAAA;oBACzD,KAAK,WAAW,CAAC,WAAW;wBACxB,OAAO,QAAQ,CAAA;oBACnB,KAAK,WAAW,CAAC,UAAU;wBACvB,OAAO,KAAK,CAAA;oBAChB,KAAK,WAAW,CAAC,YAAY;wBACzB,OAAO,UAAU,CAAA;gBACzB,CAAC;YACL,CAAC,CAAA;YACD,IAAI,IAAI,GAAG,2BAA2B,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,IAAI,EAAE,CAAC,CAAA;YAChE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,OAAO,EAAE,CAAA;YACb,CAAC;YACD,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,CAAA;QACnE,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAA;QAEf,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAElD,MAAM,iBAAiB,GACnB;YACI,4BAA4B;YAC5B,iBAAiB;YACjB,6BAA6B;YAC7B,oBAAoB;YACpB,aAAa;YACb,aAAa;YACb,cAAc;YACd,mBAAmB;SACtB;aACI,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;aAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,GAAG,EAAE,CAAA;QACV,CAAC,IAAI,mEAAmE,CAAA;QAExE,CAAC,IAAI,oCAAoC,CAAA;QACzC,CAAC,IAAI,mDAAmD,CAAA;QACxD,CAAC,IAAI,iBACD,MAAM,CAAC,OAAO,EAAE,MAAM;YAClB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACtD,CAAC,CAAC,QACV,IAAI,CAAA;QACJ,CAAC,IAAI,6BAA6B,iBAAiB,GAAG,KAAK,SAAS,CAAA;QACpE,CAAC,IAAI,SAAS,aAAa,8BAA8B,CAAA;QACzD,CAAC,IAAI,2GAA2G,CAAA;QAChH,CAAC,IAAI,GAAG,aAAa,qFAAqF,CAAA;QAC1G,CAAC,IAAI,kBAAkB,aAAa,MAAM,CAAA;QAE1C,OAAO,CAAC,CAAA;IACZ,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;QAC9C,OAAO,EAAE,CAAA;IACb,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAClD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACjD,OAAO,IAAI,CAAA;IACf,CAAC;IACD,kEAAkE;IAClE,IAAI,eAAe,GAAG,CAAC,CAAA;IACvB,IAAI,iBAAiB,GAAG,CAAC,CAAA;IACzB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,2BAA2B;IAC3B,OAAO,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACvC,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAK;QACT,CAAC;QACD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YAC7B,eAAe,EAAE,CAAA;YACjB,OAAO,GAAG,IAAI,GAAG,CAAC,CAAA;QACtB,CAAC;QACD,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YAC7B,iBAAiB,EAAE,CAAA;YACnB,OAAO,GAAG,IAAI,GAAG,CAAC,CAAA;QACtB,CAAC;QACD,IAAI,eAAe,KAAK,iBAAiB,EAAE,CAAC;YACxC,MAAK;QACT,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAA;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,CAAA;IACb,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAChD,CAAC;AASD,MAAM,UAAU,gBAAgB,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAA;IACvE,MAAM,MAAM,GAAyB,EAAE,CAAA;IAEvC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,OAAO,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;YAC/C,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpB,MAAK;YACT,CAAC;YAED,IAAI,QAAQ,GAAG,CAAC,CAAA;YAChB,IAAI,YAAY,GAAG,EAAE,CAAA;YACrB,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBAClB,QAAQ,EAAE,CAAA;gBACd,CAAC;qBAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzB,QAAQ,EAAE,CAAA;gBACd,CAAC;gBAED,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;gBACvB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACjB,MAAK;gBACT,CAAC;YACL,CAAC;YACD,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,0CAA0C;YACnG,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;YAE9D,IAAI,QAAyC,CAAA;YAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YACrD,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;gBACvD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;oBACtB,MAAM,UAAU,GAAG,IAAI;yBAClB,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,YAAY,CAAC;yBACvC,IAAI,EAAE,CAAA;oBACX,IAAI,CAAC;wBACD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;oBACrC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,wDAAwD;oBAC5D,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC;oBACR,SAAS;oBACT,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE;oBACjC,QAAQ;iBACX,CAAC,CAAA;YACN,CAAC;YAED,UAAU,IAAI,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA,CAAC,6DAA6D;QACrH,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC;AACD,SAAS,SAAS,CAAC,GAAW,EAAE,SAAiB;IAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACpC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,GAAG,GAAG,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,iBAAiB,CAAA;IAC5B,CAAC;IACD,+BAA+B;IAC/B,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;IAChD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IACxD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IACzD,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACzC,GAAG,GAAG,GAAG,GAAG,iBAAiB,CAAA;IAC7B,OAAO,GAAG,CAAA;AACd,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;AAE1D,SAAS,2BAA2B,CAAC,YAA+B;IAChE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,IAAI,QAAQ,GACR,YAAY,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC;QACtC,YAAY,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;QACjC,EAAE,CAAA;IACN,yCAAyC;IACzC,OAAO;QACH,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CACnC,CACJ;KACJ,CAAA;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,gBAAmC;IAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE;QACtE,qCAAqC;QACrC,OAAO,OAAO,EAAE,IAAI,KAAK,WAAW,CAAC,MAAM,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,2BAA2B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAA;AAClE,CAAC;AAED,6HAA6H;AAC7H,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBtB,CAAA;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW;IACvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IACvE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QAC1C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAC7D,CAAC,CAAC,CACL,CAAA;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;AACvB,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,IAAY;IAC7C,OAAO,GAAG;SACL,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;SAC3C,IAAI,CAAC,IAAI,CAAC,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC7C,MAAM,EACN,MAAM,GAIT;IACG,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK;SAC9B,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC;SAC/B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA,CAAC,sCAAsC;IACjE,MAAM,SAAS,GAAG,MAAM,EAAE,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClE,6CAA6C;QAC7C,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE;QAC/C,OAAO,UAAU,kBAAkB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,YAAY,gBAAgB,IAChG,gBAAgB,EAAE,iBACtB,GAAG,CAAA;IACP,CAAC,CAAC,CAAA;IAEF,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE;QAC3C,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CACnC,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAClC,EAAE,CAAC;YACA,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACpB,SAAQ;YACZ,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,SAAQ;YACZ,CAAC;YACD,0FAA0F;YAC1F,OAAO,IAAI,IAAI,CAAA;YACf,OAAO,IAAI,OAAO,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAA;QACtD,CAAC;QACD,IAAI,OAAO;YAAE,OAAO,IAAI,IAAI,CAAA;QAC5B,MAAM,mBAAmB,GAAG,MAAM,CAAA;WAC/B,kBAAkB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,cAAc,OAAO;SAC9E,CAAA;QACD,OAAO,mBAAmB,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,IAAI,gBAAgB,GAAG,EAAE,CAAA;IACzB,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC7B,IAAI,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACtD,gBAAgB,IAAI,OAAO,EAAE,GAAG,CAAA;IACpC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAA;kBACZ,gBAAgB;;QAE1B,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;;;;iEAImB,gBAAgB;oBAC7D,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;;;;OAI3D,CAAA;IACH,OAAO;QACH,WAAW;KACd,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../src/exporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { Writable } from 'node:stream';
2
+ import type CacheHandler from 'undici/types/cache-interceptor.js';
3
+ type CacheKey = CacheHandler.CacheKey;
4
+ type CacheValue = CacheHandler.CacheValue;
5
+ type GetResult = CacheHandler.GetResult;
6
+ type CacheStore = CacheHandler.CacheStore;
7
+ /**
8
+ * A CacheStore that persists each entry as separate files in os.tmpdir()/.unframer.
9
+ * Each cache entry creates a .json file for metadata and a .bin file for the body.
10
+ * It satisfies the exact same interface that `MemoryCacheStore` and
11
+ * `SqliteCacheStore` implement inside Undici (see cache-interceptor.d.ts).
12
+ */
13
+ export declare class FlatCacheStore implements CacheStore {
14
+ private readonly cacheDir;
15
+ constructor();
16
+ private ensureCacheDir;
17
+ private getFileHash;
18
+ private getFilePaths;
19
+ /** Read a cached response (metadata + body) */
20
+ get(key: CacheKey): Promise<GetResult | undefined>;
21
+ /** Return a writable stream so the interceptor can pipe the body into us */
22
+ createWriteStream(key: CacheKey, meta: CacheValue): Writable;
23
+ /** Delete one entry */
24
+ delete(key: CacheKey): Promise<void>;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=flat-cache-interceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flat-cache-interceptor.d.ts","sourceRoot":"","sources":["../src/flat-cache-interceptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAMtC,OAAO,KAAK,YAAY,MAAM,mCAAmC,CAAA;AAIjE,KAAK,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;AACrC,KAAK,UAAU,GAAG,YAAY,CAAC,UAAU,CAAA;AACzC,KAAK,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;AACvC,KAAK,UAAU,GAAG,YAAY,CAAC,UAAU,CAAA;AAEzC;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,UAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;;YAQnB,cAAc;IAQ5B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAWpB,+CAA+C;IACzC,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAmBxD,4EAA4E;IAC5E,iBAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,QAAQ;IA0B5D,uBAAuB;IACjB,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAW7C"}
@@ -0,0 +1,95 @@
1
+ // FlatCacheStore.ts
2
+ import { Writable } from 'node:stream';
3
+ import { promises as fs } from 'node:fs';
4
+ import { join } from 'node:path';
5
+ import { tmpdir } from 'node:os';
6
+ import { createHash } from 'node:crypto';
7
+ import { logger } from './utils';
8
+ /**
9
+ * A CacheStore that persists each entry as separate files in os.tmpdir()/.unframer.
10
+ * Each cache entry creates a .json file for metadata and a .bin file for the body.
11
+ * It satisfies the exact same interface that `MemoryCacheStore` and
12
+ * `SqliteCacheStore` implement inside Undici (see cache-interceptor.d.ts).
13
+ */
14
+ export class FlatCacheStore {
15
+ cacheDir;
16
+ constructor() {
17
+ this.cacheDir = join(tmpdir(), '.unframer');
18
+ logger.log(`using cache dir`, this.cacheDir);
19
+ this.ensureCacheDir();
20
+ }
21
+ async ensureCacheDir() {
22
+ try {
23
+ await fs.mkdir(this.cacheDir, { recursive: true });
24
+ }
25
+ catch (error) {
26
+ // Directory might already exist, ignore error
27
+ }
28
+ }
29
+ getFileHash(key) {
30
+ return createHash('sha256').update(JSON.stringify(key)).digest('hex');
31
+ }
32
+ getFilePaths(key) {
33
+ const hash = this.getFileHash(key);
34
+ return {
35
+ metaPath: join(this.cacheDir, `${hash}.json`),
36
+ bodyPath: join(this.cacheDir, `${hash}.bin`),
37
+ };
38
+ }
39
+ /** Read a cached response (metadata + body) */
40
+ async get(key) {
41
+ try {
42
+ const { metaPath, bodyPath } = this.getFilePaths(key);
43
+ const [metaData, bodyData] = await Promise.all([
44
+ fs.readFile(metaPath, 'utf-8'),
45
+ fs.readFile(bodyPath),
46
+ ]);
47
+ const meta = JSON.parse(metaData);
48
+ return {
49
+ ...meta,
50
+ body: bodyData,
51
+ };
52
+ }
53
+ catch (error) {
54
+ return undefined;
55
+ }
56
+ }
57
+ /** Return a writable stream so the interceptor can pipe the body into us */
58
+ createWriteStream(key, meta) {
59
+ const chunks = [];
60
+ return new Writable({
61
+ write(chunk, _enc, cb) {
62
+ chunks.push(chunk);
63
+ cb();
64
+ },
65
+ final: async (cb) => {
66
+ try {
67
+ await this.ensureCacheDir();
68
+ const { metaPath, bodyPath } = this.getFilePaths(key);
69
+ await Promise.all([
70
+ fs.writeFile(metaPath, JSON.stringify(meta, null, 2)),
71
+ fs.writeFile(bodyPath, Buffer.concat(chunks)),
72
+ ]);
73
+ cb();
74
+ }
75
+ catch (error) {
76
+ cb(error);
77
+ }
78
+ },
79
+ });
80
+ }
81
+ /** Delete one entry */
82
+ async delete(key) {
83
+ try {
84
+ const { metaPath, bodyPath } = this.getFilePaths(key);
85
+ await Promise.all([
86
+ fs.unlink(metaPath).catch(() => { }),
87
+ fs.unlink(bodyPath).catch(() => { }),
88
+ ]);
89
+ }
90
+ catch (error) {
91
+ // Ignore errors when deleting non-existent files
92
+ }
93
+ }
94
+ }
95
+ //# sourceMappingURL=flat-cache-interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flat-cache-interceptor.js","sourceRoot":"","sources":["../src/flat-cache-interceptor.ts"],"names":[],"mappings":"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"}