api 7.0.0-beta.16 → 7.0.0-beta.17

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 (35) hide show
  1. package/dist/bin.js +5 -5
  2. package/dist/bin.js.map +1 -1
  3. package/dist/codegen/codegenerator.d.ts +1 -1
  4. package/dist/codegen/codegenerator.d.ts.map +1 -1
  5. package/dist/codegen/codegenerator.js +1 -1
  6. package/dist/codegen/codegenerator.js.map +1 -1
  7. package/dist/codegen/factory.d.ts +1 -1
  8. package/dist/codegen/factory.d.ts.map +1 -1
  9. package/dist/codegen/languages/typescript/index.d.ts +20 -0
  10. package/dist/codegen/languages/typescript/index.d.ts.map +1 -1
  11. package/dist/codegen/languages/typescript/index.js +146 -83
  12. package/dist/codegen/languages/typescript/index.js.map +1 -1
  13. package/dist/codegen/languages/typescript/util.d.ts +7 -0
  14. package/dist/codegen/languages/typescript/util.d.ts.map +1 -1
  15. package/dist/codegen/languages/typescript/util.js +15 -0
  16. package/dist/codegen/languages/typescript/util.js.map +1 -1
  17. package/dist/commands/install.d.ts.map +1 -1
  18. package/dist/commands/install.js +27 -5
  19. package/dist/commands/install.js.map +1 -1
  20. package/dist/fetcher.js +6 -6
  21. package/dist/fetcher.js.map +1 -1
  22. package/dist/lib/prompt.d.ts.map +1 -1
  23. package/dist/lib/prompt.js +15 -17
  24. package/dist/lib/prompt.js.map +1 -1
  25. package/dist/lib/suggestedOperations.d.ts.map +1 -1
  26. package/dist/lib/suggestedOperations.js +0 -1
  27. package/dist/lib/suggestedOperations.js.map +1 -1
  28. package/dist/packageInfo.d.ts +1 -1
  29. package/dist/packageInfo.js +1 -1
  30. package/dist/storage.d.ts.map +1 -1
  31. package/dist/storage.js +3 -3
  32. package/dist/storage.js.map +1 -1
  33. package/legacy-require-handler.cjs +0 -1
  34. package/package.json +45 -45
  35. package/schema.json +35 -10
package/dist/bin.js CHANGED
@@ -2,12 +2,12 @@ import { Command } from 'commander';
2
2
  import updateNotifier from 'update-notifier';
3
3
  import commands from './commands/index.js';
4
4
  import logger from './logger.js';
5
- import * as pkg from './packageInfo.js'; // eslint-disable-line readme/no-wildcard-imports
6
- updateNotifier({ pkg: { name: pkg.PACKAGE_NAME, version: pkg.PACKAGE_VERSION } }).notify();
7
- (async () => {
5
+ import { PACKAGE_NAME, PACKAGE_VERSION } from './packageInfo.js';
6
+ updateNotifier({ pkg: { name: PACKAGE_NAME, version: PACKAGE_VERSION } }).notify();
7
+ void (async () => {
8
8
  const program = new Command();
9
- program.name(pkg.PACKAGE_NAME);
10
- program.version(pkg.PACKAGE_VERSION);
9
+ program.name(PACKAGE_NAME);
10
+ program.version(PACKAGE_VERSION);
11
11
  /**
12
12
  * Instead of using Commander's `executableDir` API for loading in external command files we're
13
13
  * programatically doing it like this because it's cleaner for us to let Commander manage option
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAE7C,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC,CAAC,iDAAiD;AAE1F,cAAc,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAE3F,CAAC,KAAK,IAAI,EAAE;IACV,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAErC;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAoB,EAAE,EAAE;QAC9D,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACjD,IAAI,GAAG,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAE7C,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEjE,cAAc,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEnF,KAAK,CAAC,KAAK,IAAI,EAAE;IACf,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3B,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEjC;;;;OAIG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAoB,EAAE,EAAE;QAC9D,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACjD,IAAI,GAAG,CAAC,OAAO;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { InstallerOptions } from './factory.js';
2
1
  import type Storage from '../storage.js';
2
+ import type { InstallerOptions } from './factory.js';
3
3
  import type Oas from 'oas';
4
4
  export default abstract class CodeGenerator {
5
5
  /** The associated API definition */
@@ -1 +1 @@
1
- {"version":3,"file":"codegenerator.d.ts","sourceRoot":"","sources":["../../src/codegen/codegenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAO3B,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,aAAa;IACzC,oCAAoC;IACpC,IAAI,EAAE,GAAG,CAAC;IAEV;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAM;IAEjD;;;OAGG;IACH,gBAAgB,EAAG,MAAM,CACvB,MAAM,EACN;QACE,cAAc,EAAE,aAAa,GAAG,YAAY,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CACF,CAAC;IAEF;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;gBAExB,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAgE3D,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpD,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E;;;;;;OAMG;WAEU,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhF,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,QAAQ,CAAC,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;IAEzD,mBAAmB;CAGpB"}
1
+ {"version":3,"file":"codegenerator.d.ts","sourceRoot":"","sources":["../../src/codegen/codegenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAO3B,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,aAAa;IACzC,oCAAoC;IACpC,IAAI,EAAE,GAAG,CAAC;IAEV;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAM;IAEjD;;;OAGG;IACH,gBAAgB,EAAG,MAAM,CACvB,MAAM,EACN;QACE,cAAc,EAAE,aAAa,GAAG,YAAY,CAAC;QAC7C,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CACF,CAAC;IAEF;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;gBAExB,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAgE3D,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpD,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E;;;;;;OAMG;WAEU,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhF,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E,QAAQ,CAAC,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;IAEzD,mBAAmB;CAGpB"}
@@ -101,7 +101,7 @@ export default class CodeGenerator {
101
101
  *
102
102
  * @see {@link https://github.com/microsoft/TypeScript/issues/34516}
103
103
  */
104
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
104
+ // oxlint-disable-next-line no-unused-vars -- This is an abstract class.
105
105
  static async uninstall(storage, opts) {
106
106
  throw new TypeError('The uninstallation step for this language has not been implemented');
107
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codegenerator.js","sourceRoot":"","sources":["../../src/codegen/codegenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegenerator.js","sourceRoot":"","sources":["../../src/codegen/codegenerator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type CodeGenerator from './codegenerator.js';
2
1
  import type Storage from '../storage.js';
2
+ import type CodeGenerator from './codegenerator.js';
3
3
  import type Oas from 'oas';
4
4
  export declare const SupportedLanguages: {
5
5
  readonly JS: "js";
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/codegen/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,eAAO,MAAM,kBAAkB;;CAErB,CAAC;AAEX,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAElC,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,aAAa,CAQf;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAQf"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/codegen/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAI3B,eAAO,MAAM,kBAAkB;;CAErB,CAAC;AAEX,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAElC,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,aAAa,CAQf;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -16,6 +16,7 @@ export default class TSGenerator extends CodeGenerator {
16
16
  } | Record<string, unknown>>;
17
17
  usesHTTPMethodRangeInterface: boolean;
18
18
  constructor(spec: Oas, specPath: string, identifier: string);
19
+ private getInstallCommands;
19
20
  install(storage: Storage, opts?: InstallerOptions): Promise<void>;
20
21
  static uninstall(storage: Storage, opts?: InstallerOptions): Promise<void>;
21
22
  /**
@@ -120,5 +121,24 @@ export default class TSGenerator extends CodeGenerator {
120
121
  *
121
122
  */
122
123
  private addSchemaToExport;
124
+ /**
125
+ * If a schema is a `$ref` component (identified by `x-readme-ref-name`), return its exported
126
+ * type name.
127
+ *
128
+ */
129
+ private getComponentSchemaTypeName;
130
+ /**
131
+ * Walk a schema and replace any nested `x-readme-ref-name` usages with type import placeholders.
132
+ *
133
+ * Exported schema files (eg. `Pet.ts`) are stored separately from the schema tree being
134
+ * traversed (eg. a response wrapper), so replacements must be applied in both places.
135
+ *
136
+ */
137
+ private replaceSchemaReferences;
138
+ /**
139
+ * Find the nearest exported schema ancestor for a nested `x-readme-ref-name` node.
140
+ *
141
+ */
142
+ private findExportedSchemaAncestor;
123
143
  }
124
144
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/codegen/languages/typescript/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAK3B,OAAO,KAAK,EACV,gBAAgB,EAMhB,UAAU,EACX,MAAM,UAAU,CAAC;AAYlB,OAAO,EAAmB,OAAO,EAAoD,MAAM,UAAU,CAAC;AAKtG,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,aAAa,MAAM,wBAAwB,CAAC;AA4DnD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,aAAa;;IACpD,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3B,GAAG,EAAG,gBAAgB,CAAC;IAEvB,OAAO,EAAE,MAAM,CACb,MAAM,EAGJ;QACE,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAED,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC1B,CAAC;IAEF,4BAA4B,UAAS;gBAEzB,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAiDrD,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;WAkD9D,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpF;;;OAGG;IAEG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3E;;;OAGG;IACG,QAAQ;;;IAuDR,qBAAqB;IAiB3B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgIvB;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,UAAU,EAAE,UAAU;IA4GtC;;;OAGG;IACH,eAAe;IAYf;;;OAGG;IACH,cAAc;IAmBd;;;OAGG;IACH,iBAAiB;IAqFjB;;;OAGG;IACG,YAAY;IAsClB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgEzB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAevB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAuM/B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAoChC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAiDzC;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAoExC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAsB1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/codegen/languages/typescript/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAK3B,OAAO,KAAK,EACV,gBAAgB,EAMhB,UAAU,EACX,MAAM,UAAU,CAAC;AAalB,OAAO,EAAmB,OAAO,EAAoD,MAAM,UAAU,CAAC;AAKtG,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,aAAa,MAAM,wBAAwB,CAAC;AA4DnD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,aAAa;;IACpD,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE3B,GAAG,EAAG,gBAAgB,CAAC;IAEvB,OAAO,EAAE,MAAM,CACb,MAAM,EAEJ;QACE,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAED,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC1B,CAAC;IAEF,4BAA4B,UAAS;gBAEzB,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IA+C3D,OAAO,CAAC,kBAAkB;IAKpB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;WA6C9D,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpF;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3E;;;OAGG;IACG,QAAQ;;;IAwDR,qBAAqB;IAiB3B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgIvB;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,UAAU,EAAE,UAAU;IA4GtC;;;OAGG;IACH,eAAe;IAYf;;;OAGG;IACH,cAAc;IAmBd;;;OAGG;IACH,iBAAiB;IAqFjB;;;OAGG;IACG,YAAY;IAsClB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgEzB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAevB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAuM/B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAoChC;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAuCzC;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAmExC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAmBlC;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IA6C/B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;CAwCnC"}
@@ -1,8 +1,9 @@
1
1
  import path from 'node:path';
2
2
  import corePkg from '@readme/api-core/package.json' with { type: 'json' };
3
3
  import { execa } from 'execa';
4
+ import traverse from 'json-schema-traverse';
4
5
  import { getLicense } from 'license';
5
- import { setWith } from 'lodash-es';
6
+ import { get, setWith } from 'lodash-es';
6
7
  import preferredPM from 'preferred-pm';
7
8
  import semver from 'semver';
8
9
  import { IndentationText, Project, QuoteKind, ScriptTarget, VariableDeclarationKind } from 'ts-morph';
@@ -11,7 +12,7 @@ import logger from '../../../logger.js';
11
12
  import { PACKAGE_VERSION } from '../../../packageInfo.js';
12
13
  import Storage from '../../../storage.js';
13
14
  import CodeGenerator from '../../codegenerator.js';
14
- import { docblockEscape, generateTypeName, wordWrap } from './util.js';
15
+ import { docblockEscape, generateTypeName, jsonPointerToPath, wordWrap } from './util.js';
15
16
  /**
16
17
  * This is the conversion prefix that we add to all `$ref` pointers we find in generated JSON
17
18
  * Schema.
@@ -67,8 +68,7 @@ export default class TSGenerator extends CodeGenerator {
67
68
  // (setting 'dev')" workspace error message because we're creating a funky circular
68
69
  // dependency.
69
70
  process.env.NODE_ENV === 'test'
70
- ? // eslint-disable-next-line unicorn/prefer-module
71
- `file:${path.relative(__dirname, path.dirname(require.resolve('@readme/api-core/package.json')))}`
71
+ ? `file:${path.relative(__dirname, path.dirname(require.resolve('@readme/api-core/package.json')))}`
72
72
  : `^${corePkg.version}`,
73
73
  },
74
74
  tsup: {
@@ -98,7 +98,10 @@ export default class TSGenerator extends CodeGenerator {
98
98
  this.types = new Map();
99
99
  this.schemas = {};
100
100
  }
101
- // eslint-disable-next-line class-methods-use-this
101
+ getInstallCommands(pm, dryRun) {
102
+ const baseCommand = pm === 'npm' ? 'install' : 'add';
103
+ return [baseCommand, dryRun ? '--dry-run' : ''].filter(Boolean);
104
+ }
102
105
  async install(storage, opts = {}) {
103
106
  const installDir = storage.getIdentifierStorageDir();
104
107
  const packageManager = await detectPackageManager();
@@ -113,17 +116,13 @@ export default class TSGenerator extends CodeGenerator {
113
116
  }
114
117
  handleExecFailure(err, options);
115
118
  };
116
- const getInstallCommands = (pm, dryRun) => {
117
- const baseCommand = pm === 'npm' ? 'install' : 'add';
118
- return [baseCommand, dryRun ? '--dry-run' : ''].filter(Boolean);
119
- };
120
119
  try {
121
120
  if (!['npm', 'bun'].includes(packageManager)) {
122
121
  // install internal dependencies first
123
122
  // npm and bun will handle this automatically
124
123
  await execa(packageManager, ['install'], { cwd: installDir });
125
124
  }
126
- const installCommand = getInstallCommands(packageManager, opts.dryRun);
125
+ const installCommand = this.getInstallCommands(packageManager, opts.dryRun);
127
126
  const result = await execa(packageManager, [...installCommand, installDir]);
128
127
  if (['yarn', 'bun'].includes(packageManager)) {
129
128
  // If we're using Yarn or Bun, we need to additionally link the package after installation
@@ -152,7 +151,6 @@ export default class TSGenerator extends CodeGenerator {
152
151
  * Compile the TS code we generated into JS for use in CJS and ESM environments.
153
152
  *
154
153
  */
155
- // eslint-disable-next-line class-methods-use-this
156
154
  async compile(storage, opts = {}) {
157
155
  const installDir = storage.getIdentifierStorageDir();
158
156
  const packageManager = await detectPackageManager();
@@ -196,28 +194,29 @@ export default class TSGenerator extends CodeGenerator {
196
194
  .find(id => id.getText().includes('HTTPMethodRange'))
197
195
  ?.replaceWithText("import type { ConfigOptions, FetchResponse } from '@readme/api-core/types';");
198
196
  }
199
- return [
200
- ...this.project.getSourceFiles().map(sourceFile => {
201
- // `getFilePath` will always return a string that contains a preceeding directory separator
202
- // however when we're creating these codegen'd files that may cause us to create that file
203
- // in the root directory (because it's preceeded by a `/`). We don't want that to happen so
204
- // we're slicing off that first character.
205
- let filePath = sourceFile.getFilePath().toString();
206
- filePath = filePath.substring(1);
207
- /**
208
- * It's not Prettier-level of nice but `ts-morph` offers a method of using the TS
209
- * formatter for formatting code which we can use to make our generated SDK not look like
210
- * total garbage.
211
- *
212
- * @see {@link https://ts-morph.com/manipulation/formatting}
213
- */
214
- if (filePath.endsWith('.ts'))
215
- sourceFile.formatText();
216
- return {
217
- [filePath]: sourceFile.getFullText(),
218
- };
219
- }),
220
- ].reduce((prev, next) => Object.assign(prev, next));
197
+ return this.project
198
+ .getSourceFiles()
199
+ .map(sourceFile => {
200
+ // `getFilePath` will always return a string that contains a preceeding directory separator
201
+ // however when we're creating these codegen'd files that may cause us to create that file
202
+ // in the root directory (because it's preceeded by a `/`). We don't want that to happen so
203
+ // we're slicing off that first character.
204
+ let filePath = sourceFile.getFilePath().toString();
205
+ filePath = filePath.substring(1);
206
+ /**
207
+ * It's not Prettier-level of nice but `ts-morph` offers a method of using the TS
208
+ * formatter for formatting code which we can use to make our generated SDK not look like
209
+ * total garbage.
210
+ *
211
+ * @see {@link https://ts-morph.com/manipulation/formatting}
212
+ */
213
+ if (filePath.endsWith('.ts'))
214
+ sourceFile.formatText();
215
+ return {
216
+ [filePath]: sourceFile.getFullText(),
217
+ };
218
+ })
219
+ .reduce((prev, next) => Object.assign(prev, next));
221
220
  }
222
221
  async getExampleCodeSnippet() {
223
222
  // if we've already built the code snippet, return it instead of re-building it!
@@ -911,40 +910,30 @@ Generated at ${createdAt}
911
910
  const schemas = operation.getParametersAsJSONSchema({
912
911
  includeDiscriminatorMappingRefs: false,
913
912
  mergeIntoBodyAndMetadata: true,
914
- retainDeprecatedProperties: true,
915
- transformer: (s) => {
916
- // As our schemas are dereferenced in the `oas` library we don't want to pollute our
917
- // codegen'd schemas file with duplicate schemas.
918
- if ('x-readme-ref-name' in s && typeof s['x-readme-ref-name'] !== 'undefined') {
919
- const typeName = generateTypeName(s['x-readme-ref-name']);
920
- this.addSchemaToExport(s, typeName, typeName);
921
- return `${REF_PLACEHOLDER}${typeName}`;
922
- }
923
- return s;
924
- },
925
913
  });
926
914
  if (!schemas || !schemas.length) {
927
915
  return false;
928
916
  }
929
917
  const res = schemas
930
- .map(param => ({ [param.type]: param.schema }))
918
+ .map(param => {
919
+ this.replaceSchemaReferences(param.schema);
920
+ return { [param.type]: param.schema };
921
+ })
931
922
  .reduce((prev, next) => Object.assign(prev, next));
932
923
  return Object.entries(res)
933
924
  .map(([paramType, schema]) => {
934
- let typeName;
935
- if (typeof schema === 'string' && schema.startsWith(REF_PLACEHOLDER)) {
936
- // If this schema is a string and has our conversion prefix then we've already created
937
- // a type for it.
938
- typeName = schema.replace(REF_PLACEHOLDER, '');
939
- }
940
- else {
941
- typeName = generateTypeName(operationId, paramType, 'param');
942
- this.addSchemaToExport(schema, typeName, `${generateTypeName(operationId)}.${paramType}`);
925
+ const componentTypeName = this.getComponentSchemaTypeName(schema);
926
+ if (componentTypeName) {
927
+ return {
928
+ [paramType]: `types.${componentTypeName}`,
929
+ };
943
930
  }
931
+ const paramTypeName = generateTypeName(operationId, paramType, 'param');
932
+ this.addSchemaToExport(schema, paramTypeName, `${generateTypeName(operationId)}.${paramType}`);
944
933
  return {
945
934
  // Types are prefixed with `types.` because that's how we're importing them from
946
935
  // `types.d.ts`.
947
- [paramType]: `types.${typeName}`,
936
+ [paramType]: `types.${paramTypeName}`,
948
937
  };
949
938
  })
950
939
  .reduce((prev, next) => Object.assign(prev, next), {});
@@ -956,54 +945,51 @@ Generated at ${createdAt}
956
945
  prepareResponseTypesForOperation(operation, operationId) {
957
946
  const responseStatusCodes = operation.getResponseStatusCodes();
958
947
  if (!responseStatusCodes.length) {
959
- return undefined;
948
+ return;
960
949
  }
961
950
  const schemas = responseStatusCodes
962
951
  .map(status => {
963
952
  const schema = operation.getResponseAsJSONSchema(status, {
964
953
  includeDiscriminatorMappingRefs: false,
965
- transformer: (s) => {
966
- // As our schemas are dereferenced in the `oas` library we don't want to pollute our
967
- // codegen'd schemas file with duplicate schemas.
968
- if ('x-readme-ref-name' in s && typeof s['x-readme-ref-name'] !== 'undefined') {
969
- const typeName = generateTypeName(s['x-readme-ref-name']);
970
- this.addSchemaToExport(s, typeName, `${typeName}`);
971
- return `${REF_PLACEHOLDER}${typeName}`;
972
- }
973
- return s;
974
- },
975
- /**
976
- * @todo can remove this casting after https://github.com/readmeio/oas/pull/956 is published
977
- */
978
954
  });
979
955
  if (!schema) {
980
956
  return false;
981
957
  }
958
+ const wrapped = schema.shift();
959
+ if (!wrapped) {
960
+ return false;
961
+ }
962
+ const currSchema = wrapped.schema;
963
+ this.replaceSchemaReferences(currSchema);
982
964
  return {
983
- [status]: schema.shift(),
965
+ [status]: {
966
+ description: wrapped.description,
967
+ schema: currSchema,
968
+ },
984
969
  };
985
970
  })
986
971
  .reduce((prev, next) => Object.assign(prev, next));
987
972
  const res = Object.entries(schemas)
988
973
  .map(([status, { description, schema }]) => {
989
- let typeName;
990
- if (typeof schema === 'string' && schema.startsWith(REF_PLACEHOLDER)) {
991
- // If this schema is a string and has our conversion prefix then we've already created
992
- // a type for it.
993
- typeName = schema.replace(REF_PLACEHOLDER, '');
994
- }
995
- else {
996
- typeName = generateTypeName(operationId, 'response', status);
997
- // Because `status` will usually be a number here we need to set the pointer for it
998
- // within an `[]` as if we do `FromSchema<typeof schemas.operation.response.200>`,
999
- // TypeScript will throw a compilation error.
1000
- this.addSchemaToExport(schema, typeName, `${generateTypeName(operationId)}.response['${status}']`);
974
+ let responseTypeName = this.getComponentSchemaTypeName(schema);
975
+ if (responseTypeName) {
976
+ return {
977
+ [status]: {
978
+ type: `types.${responseTypeName}`,
979
+ description,
980
+ },
981
+ };
1001
982
  }
983
+ responseTypeName = generateTypeName(operationId, 'response', status);
984
+ // Because `status` will usually be a number here we need to set the pointer for it
985
+ // within an `[]` as if we do `FromSchema<typeof schemas.operation.response.200>`,
986
+ // TypeScript will throw a compilation error.
987
+ this.addSchemaToExport(schema, responseTypeName, `${generateTypeName(operationId)}.response['${status}']`);
1002
988
  return {
1003
989
  // Types are prefixed with `types.` because that's how we're importing them from
1004
990
  // `types.d.ts`.
1005
991
  [status]: {
1006
- type: `types.${typeName}`,
992
+ type: `types.${responseTypeName}`,
1007
993
  description,
1008
994
  },
1009
995
  };
@@ -1022,6 +1008,83 @@ Generated at ${createdAt}
1022
1008
  setWith(this.schemas, pointer, schema, Object);
1023
1009
  this.types.set(typeName, `FromSchema<typeof schemas.${pointer}>`);
1024
1010
  }
1011
+ /**
1012
+ * If a schema is a `$ref` component (identified by `x-readme-ref-name`), return its exported
1013
+ * type name.
1014
+ *
1015
+ */
1016
+ getComponentSchemaTypeName(schema) {
1017
+ if (typeof schema === 'string' && schema.startsWith(REF_PLACEHOLDER)) {
1018
+ // If this schema is a string and has our conversion prefix then we've already created a type
1019
+ // for it.
1020
+ return schema.replace(REF_PLACEHOLDER, '');
1021
+ }
1022
+ if (typeof schema === 'object' &&
1023
+ schema !== null &&
1024
+ 'x-readme-ref-name' in schema &&
1025
+ typeof schema['x-readme-ref-name'] === 'string') {
1026
+ return generateTypeName(schema['x-readme-ref-name']);
1027
+ }
1028
+ return undefined;
1029
+ }
1030
+ /**
1031
+ * Walk a schema and replace any nested `x-readme-ref-name` usages with type import placeholders.
1032
+ *
1033
+ * Exported schema files (eg. `Pet.ts`) are stored separately from the schema tree being
1034
+ * traversed (eg. a response wrapper), so replacements must be applied in both places.
1035
+ *
1036
+ */
1037
+ replaceSchemaReferences(containerSchema) {
1038
+ const references = [];
1039
+ traverse(containerSchema, {
1040
+ allKeys: true,
1041
+ cb: (s, pointer) => {
1042
+ if ('x-readme-ref-name' in s && typeof s['x-readme-ref-name'] !== 'undefined') {
1043
+ const typeName = generateTypeName(s['x-readme-ref-name']);
1044
+ const schemaPath = jsonPointerToPath(pointer);
1045
+ this.addSchemaToExport(s, typeName, typeName);
1046
+ references.push({
1047
+ schemaPath,
1048
+ typeName,
1049
+ exportTarget: this.findExportedSchemaAncestor(containerSchema, schemaPath, typeName),
1050
+ });
1051
+ }
1052
+ },
1053
+ });
1054
+ references
1055
+ .sort((a, b) => b.schemaPath.length - a.schemaPath.length)
1056
+ .forEach(({ exportTarget, schemaPath, typeName }) => {
1057
+ const placeholder = `${REF_PLACEHOLDER}${typeName}`;
1058
+ if (schemaPath.length) {
1059
+ setWith(containerSchema, schemaPath, placeholder, Object);
1060
+ }
1061
+ if (exportTarget) {
1062
+ setWith(this.schemas[exportTarget.schemaName], exportTarget.relativePath, placeholder, Object);
1063
+ }
1064
+ });
1065
+ }
1066
+ /**
1067
+ * Find the nearest exported schema ancestor for a nested `x-readme-ref-name` node.
1068
+ *
1069
+ */
1070
+ findExportedSchemaAncestor(containerSchema, schemaPath, currentTypeName) {
1071
+ for (let i = schemaPath.length; i >= 0; i -= 1) {
1072
+ const node = i === 0 ? containerSchema : get(containerSchema, schemaPath.slice(0, i));
1073
+ if (node && typeof node === 'object' && !Array.isArray(node)) {
1074
+ const refName = node['x-readme-ref-name'];
1075
+ if (typeof refName !== 'undefined') {
1076
+ const schemaName = generateTypeName(refName);
1077
+ if (schemaName !== currentTypeName && schemaName in this.schemas) {
1078
+ return {
1079
+ schemaName,
1080
+ relativePath: schemaPath.slice(i),
1081
+ };
1082
+ }
1083
+ }
1084
+ }
1085
+ }
1086
+ return undefined;
1087
+ }
1025
1088
  /**
1026
1089
  * Add a new JSDoc `@tag` to an existing docblock.
1027
1090
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/languages/typescript/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/languages/typescript/index.ts"],"names":[],"mappings":"AAmBA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,OAAO,MAAM,+BAA+B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEtG,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC1G,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,aAAa,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAgB1F;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAG,aAAa,CAAC;AACtC,MAAM,qBAAqB,GAAG,gCAAgC,CAAC;AAE/D,SAAS,iBAAiB,CAAC,GAA6B,EAAE,OAAyB,EAAE;IACnF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAU,EAAE,OAAyB,EAAE;IAChE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,MAAM,GAAG,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAE3C,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,CAAC,IAAI,CAAC;IACjB,CAAC;IACD,6DAA6D;IAC7D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,aAAa;IACpD,OAAO,CAAU;IAEjB,KAAK,CAAsB;IAE3B,GAAG,CAAoB;IAEvB,OAAO,CAUL;IAEF,4BAA4B,GAAG,KAAK,CAAC;IAErC,YAAY,IAAS,EAAE,QAAgB,EAAE,UAAkB;QACzD,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAElC,IAAI,CAAC,gBAAgB,GAAG;YACtB,kBAAkB,EAAE;gBAClB,cAAc,EAAE,YAAY;gBAC5B,MAAM,EAAE,+EAA+E;gBACvF,GAAG,EAAE,oBAAoB;gBACzB,OAAO;gBACL,uFAAuF;gBACvF,yFAAyF;gBACzF,mFAAmF;gBACnF,cAAc;gBACd,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;oBAC7B,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE;oBACpG,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;aAC5B;YACD,IAAI,EAAE;gBACJ,cAAc,EAAE,aAAa;gBAC7B,MAAM,EAAE,sFAAsF;gBAC9F,GAAG,EAAE,0BAA0B;gBAC/B,OAAO,EAAE,QAAQ;aAClB;YACD,UAAU,EAAE;gBACV,cAAc,EAAE,aAAa;gBAC7B,MAAM,EAAE,sBAAsB;gBAC9B,OAAO,EAAE,QAAQ;aAClB;SACF,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC;YACzB,eAAe,EAAE;gBACf,MAAM,EAAE,MAAM;gBACd,iBAAiB,EAAE,IAAI;gBACvB,MAAM,EAAE,YAAY,CAAC,MAAM;aAC5B;YACD,oBAAoB,EAAE;gBACpB,eAAe,EAAE,eAAe,CAAC,SAAS;gBAC1C,SAAS,EAAE,SAAS,CAAC,MAAM;aAC5B;YACD,qBAAqB,EAAE,IAAI;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAEO,kBAAkB,CAAC,EAAU,EAAE,MAAgB;QACrD,MAAM,WAAW,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QACrD,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,OAAyB,EAAE;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACrD,MAAM,cAAc,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAEpD,MAAM,WAAW,GAAG,CAAC,GAAU,EAAE,OAAyB,EAAQ,EAAE;YAClE,4FAA4F;YAC5F,4FAA4F;YAC5F,+EAA+E;YAC/E,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;gBAC/B,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,wDAAwD,CAAC,EAC9E,CAAC;gBACD,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YAED,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC7C,sCAAsC;gBACtC,6CAA6C;gBAC7C,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC,GAAG,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;YAE5E,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC7C,0FAA0F;gBAC1F,yDAAyD;gBACzD,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC7C,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC3D,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAgB,EAAE,OAAyB,EAAE;QAClE,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAY,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAEpD,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpF,OAAO,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC;aAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACzC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,OAAgB,EAAE,OAAyB,EAAE;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACrD,MAAM,cAAc,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAEpD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,sBAAsB,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;aAC5E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACzC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAE9C,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE;YAC9C,GAAG,EAAE,UAAU;SAChB,CAAC;aACC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACzC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAErC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,2FAA2F;YAC3F,SAAS;iBACN,qBAAqB,EAAE;iBACvB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,2CAA2C,CAAC;gBACzE,EAAE,MAAM,EAAE,CAAC;QACf,CAAC;QAED,6FAA6F;QAC7F,sDAAsD;QACtD,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACvC,SAAS;iBACN,qBAAqB,EAAE;iBACvB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBACrD,EAAE,eAAe,CAAC,6EAA6E,CAAC,CAAC;QACrG,CAAC;QAED,OAAO,IAAI,CAAC,OAAO;aAChB,cAAc,EAAE;aAChB,GAAG,CAAC,UAAU,CAAC,EAAE;YAChB,2FAA2F;YAC3F,0FAA0F;YAC1F,2FAA2F;YAC3F,0CAA0C;YAC1C,IAAI,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;YACnD,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAEjC;;;;;;eAMG;YACH,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,UAAU,CAAC,UAAU,EAAE,CAAC;YAEtD,OAAO;gBACL,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,WAAW,EAAE;aACrC,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,gFAAgF;QAChF,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,WAAW,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACjC,CAAC;QAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,eAA0B;QAClD,MAAM,UAAU,GAAG,eAAe,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAEpE,UAAU,CAAC,oBAAoB,CAAC;YAC9B,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAEjC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,eAA0B;QAChD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEvD,MAAM,UAAU,GAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAElE,UAAU,CAAC,qBAAqB,CAAC;YAC/B,2FAA2F;YAC3F,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE;YACnE;gBACE,sFAAsF;gBACtF,aAAa,EAAE,wDAAwD;gBACvE,eAAe,EAAE,wBAAwB;aAC1C;YACD,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE;YACjE,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE;SAC/G,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC;YAC7B,IAAI,EAAE,KAAK;YACX,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/C,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;YACtB,UAAU,EAAE,MAAM,CAAC,EAAE;gBACnB,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvF,OAAO,MAAM,CAAC;YAChB,CAAC;SACF,CAAC,CAAC;QAEH,8FAA8F;QAC9F,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAClB;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;gBACvD,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,8BAA8B,CAAC;gBACtE,IAAI,EAAE;oBACJ;wBACE,WAAW,EAAE,MAAM,CAAC,EAAE,CACpB,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,2DAA2D,CAAC,CAAC;wBACzF,IAAI,EAAE;4BACJ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,qDAAqD,EAAE;4BACjF;gCACE,OAAO,EAAE,OAAO;gCAChB,IAAI,EAAE,QAAQ,CACZ,+HAA+H,CAChI;6BACF;yBACF;qBACF;iBACF;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;gBAChE,UAAU,EAAE,MAAM,CAAC,EAAE;oBACnB,MAAM,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;oBAClD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBACjC,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,IAAI,EAAE;oBACJ;wBACE,WAAW,EAAE,MAAM,CAAC,EAAE,CACpB,MAAM,CAAC,SAAS,CACd,QAAQ,CAAC;;;;;;;;;;;sBAWH,CAAC,CACR;wBACH,IAAI,EAAE;4BACJ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,8DAA8D,EAAE;4BACxF,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,8DAA8D,EAAE;4BACxF;gCACE,OAAO,EAAE,OAAO;gCAChB,IAAI,EAAE,qFAAqF;6BAC5F;yBACF;qBACF;iBACF;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE;iBACzC;gBACD,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,sCAAsC,CAAC;gBAC9E,IAAI,EAAE;oBACJ;wBACE,WAAW,EAAE,MAAM,CAAC,EAAE,CACpB,MAAM,CAAC,SAAS,CACd,QAAQ,CAAC;;;;;;;;;8CASqB,CAAC,CAChC;wBACH,IAAI,EAAE;4BACJ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE;4BAC5C,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,kEAAkE,EAAE;yBAC/F;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QAEH,yDAAyD;QACzD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAiC,EAAE,EAAE;YACzF,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,eAAe,CAAC,UAAsB;QACpC,IAAI,QAAQ,GAAiC,EAAE,CAAC;QAEhD,2FAA2F;QAC3F,6FAA6F;QAC7F,4FAA4F;QAC5F,QAAQ;QACR,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAA8B,CAAC;QAChE,IAAI,UAAU,EAAE,KAAK,IAAI,UAAU,EAAE,WAAW,EAAE,CAAC;YACjD,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE;gBAC9B,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBAED,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC3B,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC9C,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACrE,CAAC;gBAED,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACzB,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;gBACjD,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YACxB,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;gBACjD,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG;aACvC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,UAAU,EAAE,cAAc,EAAE,CAAC;YAC/B,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;gBACjD,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,UAAU,UAAU,CAAC,cAAc,oBAAoB;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;gBACjD,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,IAAI,CAAC,WAAW;aACvB,CAAC,CAAC;YAEH,2FAA2F;YAC3F,2EAA2E;YAC3E,+CAA+C;YAC/C,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC3C,IAAI;gBACJ,qEAAqE;gBACrE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG;aACpC,CAAC;iBACC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;iBACxB,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAE9B,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;YAC/B,yFAAyF;YACzF,IAAI,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC9B,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;oBACjD,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI;iBAC9B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;gBAC5B,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;oBACjD,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,UAAU,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG;iBAC1C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,uBAAuB,CAAC,KAAK;YAC9C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACpD,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,MAAM,CAAC,EAAE;wBACpB,6DAA6D;wBAC7D,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;wBAChD,OAAO,MAAM,CAAC;oBAChB,CAAC;iBACF;aACF;SACF,CAAC,CAAC;QAEH,UAAU,CAAC,mBAAmB,CAAC;YAC7B,yFAAyF;YACzF,oFAAoF;YACpF,6FAA6F;YAC7F,yBAAyB;YACzB,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,MAAM,IAAI,GAAG;;;;CAIhB,CAAC;QAEE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAErE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAiB;YAC3B,eAAe,EAAE;gBACf,eAAe,EAAE,IAAI;gBACrB,MAAM,EAAE,QAAQ;gBAChB,gBAAgB,EAAE,SAAS;gBAC3B,iBAAiB,EAAE,IAAI;gBACvB,MAAM,EAAE,IAAI;aACb;YACD,OAAO,EAAE,CAAC,YAAY,CAAC;SACxB,CAAC;QAEF,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE1D,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAEpD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC;QAC5C,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,4FAA4F;YAC5F,iEAAiE;YACjE,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAW,CAAC;YAC9C,MAAM,CAAC,sEAAsE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,WAAW,GAAY;YAC3B,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,IAAI;YACT,KAAK,EAAE;gBACL,gBAAgB;gBAChB,cAAc;gBACd,sFAAsF;gBACtF,4BAA4B;gBAC5B,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;aACjC,CAAC,MAAM,CAAC,OAAO,CAAC;YACjB,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;YACtB,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;SAChB,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;aACvD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACxG,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;aAC1D,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACzG,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,MAAM,GAAG,GAAgB;YACvB,IAAI,EAAE,QAAQ,IAAI,CAAC,UAAU,EAAE;YAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,MAAM,EAAE,iBAAiB;oBACzB,OAAO,EAAE,kBAAkB;iBAC5B;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,eAAe;oBACvB,OAAO,EAAE,gBAAgB;iBAC1B;gBACD,GAAG,CAAC,QAAQ;oBACV,CAAC,CAAC;wBACE,SAAS,EAAE;4BACT,MAAM,EAAE,iBAAiB;4BACzB,OAAO,EAAE,kBAAkB;yBAC5B;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,gBAAgB,EAAE,gBAAgB;aACnC;YACD,OAAO,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YAC/B,KAAK,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;YAC/B,OAAO,EAAE;gBACP,IAAI,EAAE,cAAc;aACrB;YACD,YAAY;YACZ,eAAe;YACf,IAAI,EAAE,WAAyB;SAChC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC;QAED,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEvD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9F,IAAI,UAAU;YAAE,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QAEjD,IAAI,YAAY,GAAG,4FAA4F,CAAC;QAChH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC1D,IAAI,cAAc,EAAE,CAAC;YACnB,YAAY,GAAG;;;;EAInB,cAAc;;CAEf,CAAC,IAAI,EAAE,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,IAAI,CAAC,UAAU;;;;EAI1C,YAAY;;;;;;mBAMK,eAAe;eACnB,SAAS;;;CAGvB,CAAC;QAEE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEpE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,eAA0B;QAClD,MAAM,UAAU,GAAG,eAAe,CAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAE9D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/E,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE;YACzD,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,GAAG,UAAU,KAAK,CAAC,CAAC;YAEnE,wFAAwF;YACxF,sDAAsD;YACtD,UAAU,CAAC,oBAAoB,CAAC;gBAC9B,aAAa,EAAE,UAAU;gBACzB,eAAe,EAAE,aAAa,UAAU,KAAK;aAC9C,CAAC,CAAC;YAEH,yFAAyF;YACzF,uFAAuF;YACvF,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3G,IAAI,iBAAiB,EAAE,CAAC;gBACtB,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBAEzB,wFAAwF;gBACxF,QAAQ;gBACR,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAE3D,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAC9B,oFAAoF;oBACpF,sBAAsB;oBACtB,UAAU,CAAC,oBAAoB,CAAC;wBAC9B,aAAa,EAAE,GAAG;wBAClB,eAAe,EAAE,KAAK,GAAG,KAAK;qBAC/B,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAED,wEAAwE;YACxE,UAAU,CAAC,oBAAoB,CAAC;gBAC9B,eAAe,EAAE,uBAAuB,CAAC,KAAK;gBAC9C,YAAY,EAAE;oBACZ;wBACE,IAAI,EAAE,UAAU;wBAChB,WAAW,EAAE,MAAM,CAAC,EAAE;4BACpB,oFAAoF;4BACpF,yBAAyB;4BACzB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;4BAE/C,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC;4BAChC,OAAO,MAAM,CAAC;wBAChB,CAAC;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,UAAU,CAAC,aAAa,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,oEAAoE;QACpE,UAAU,CAAC,aAAa,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CAAC,eAA0B;QAChD,MAAM,UAAU,GAAG,eAAe,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAEpE,UAAU,CAAC,qBAAqB,CAAC;YAC/B,EAAE,aAAa,EAAE,qBAAqB,EAAE,eAAe,EAAE,wBAAwB,EAAE;YACnF,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE;SACxE,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE;YAClG,UAAU,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,uBAAuB,CAC7B,SAAoB,EACpB,WAAmB,EACnB,UAAoD,EACpD,aAA0D;QAE1D,IAAI,QAAQ,GAAiC,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;QAC/C,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;YAC3B,uFAAuF;YACvF,4FAA4F;YAC5F,iDAAiD;YACjD,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE;gBAC9B,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC1D,CAAC;qBAAM,IAAI,OAAO,EAAE,CAAC;oBACnB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtD,CAAC;gBAED,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;YAEF,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;gBAC3B,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;oBACjD,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACxC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,MAAM,UAAU,GAAG,EAGlB,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,0FAA0F;YAC1F,yEAAyE;YACzE,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC3C,eAAe,GAAG,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC;gBAEtD,UAAU,CAAC,IAAI,GAAG;oBAChB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ;oBAC7D,gBAAgB,EAAE,eAAe;iBAClC,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACxB,mBAAmB,GAAG,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;gBAEzD,UAAU,CAAC,QAAQ,GAAG;oBACpB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,UAAU,CAAC,QAAQ;oBACzB,gBAAgB,EAAE,mBAAmB;iBACtC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,UAAU,GAAG,yCAAyC,CAAC;QAC3D,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;iBAC9C,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE;gBAC1E,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;oBACvC,OAAO,yBAAyB,YAAY,GAAG,CAAC;gBAClD,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtE,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;wBAC5C,mFAAmF;wBACnF,uEAAuE;wBACvE,OAAO,yBAAyB,YAAY,GAAG,CAAC;oBAClD,CAAC;oBAED,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9B,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;4BACjD,OAAO,EAAE,QAAQ;4BACjB,IAAI,EAAE,cAAc,MAAM,KAAK,YAAY,IACzC,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9E,EAAE;yBACH,CAAC,CAAC;wBAEH,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;oBACzC,OAAO,iCAAiC,YAAY,OAAO,YAAY,QAAQ,YAAY,GAAG,CAAC;gBACjG,CAAC;gBAED,yFAAyF;gBACzF,2BAA2B;gBAC3B,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;oBAC1B,QAAQ,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;wBACjD,OAAO,EAAE,QAAQ;wBACjB,IAAI,EAAE,cAAc,MAAM,KAAK,YAAY,IACzC,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9E,EAAE;qBACH,CAAC,CAAC;oBAEH,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,OAAO,iBAAiB,MAAM,KAAK,YAAY,GAAG,CAAC;YACrD,CAAC,CAAC;iBACD,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,KAAK,CAAC,CAAC;YAEf,6FAA6F;YAC7F,gDAAgD;YAChD,UAAU,GAAG,WAAW,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gCAAgC,GAAG,CAAC;QACjG,CAAC;QAED,MAAM,0BAA0B,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,IAAI,CAAC,mBAAmB,CAAC;QACnH,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAC7C,IAAI,EAAE,WAAW;YACjB,UAAU;YAEV,8FAA8F;YAC9F,8FAA8F;YAC9F,wFAAwF;YACxF,mCAAmC;YACnC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACpG,UAAU,EAAE,MAAM,CAAC,EAAE;gBACnB;;;mBAGG;gBACH,MAAM,SAAS,GAAG,MAAM;qBACrB,KAAK,CAAC,yBAAyB,CAAC;qBAChC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;qBACrB,KAAK,CAAC,IAAI,CAAC;qBACX,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAE3B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBAC3C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BACZ,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACxB,CAAC;wBAED,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC1B,IAAI,CAAC,KAAK,WAAW,GAAG,CAAC,EAAE,CAAC;4BAC1B,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACxB,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,SAAS,CAAC;YACnB,CAAC;SACF,CAAC,CAAC;QAEH,2FAA2F;QAC3F,6FAA6F;QAC7F,mCAAmC;QACnC,IAAI,0BAA0B,EAAE,CAAC;YAC/B,iFAAiF;YACjF,mBAAmB,CAAC,WAAW,CAAC;gBAC9B,UAAU,EAAE;oBACV,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE;oBAC/C,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE;iBACpD;gBACD,UAAU;gBACV,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;aAC5D,CAAC,CAAC;YAEH,kEAAkE;YAClE,mBAAmB,CAAC,WAAW,CAAC;gBAC9B,UAAU,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACxC,UAAU;aACX,CAAC,CAAC;YAEH,6FAA6F;YAC7F,8FAA8F;YAC9F,0EAA0E;YAC1E,EAAE;YACF,iGAAiG;YACjG,4FAA4F;YAC5F,QAAQ;YACR,mBAAmB,CAAC,aAAa,CAAC;gBAChC;oBACE,GAAG,UAAU,CAAC,IAAI;oBAClB,yFAAyF;oBACzF,yFAAyF;oBACzF,wFAAwF;oBACxF,2BAA2B;oBAC3B,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE;oBAC7D,gBAAgB,EAAE,IAAI;iBACvB;gBACD,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE;aACnD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,wBAAwB;QAC9B,MAAM,UAAU,GAA2D,EAAE,CAAC;QAC9E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;QAEvC,yFAAyF;QACzF,cAAc;QACd,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE;YACvD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAsB,EAAE,EAAE;gBACvE,OAAO,CAAC,GAAG,CAAC,MAAqB,CAAC,CAAC;gBAEnC,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC;oBAC3C,sFAAsF;oBACtF,yFAAyF;oBACzF,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBAEH,UAAU,CAAC,WAAW,CAAC,GAAG;oBACxB,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI,CAAC,iCAAiC,CAAC,SAAS,EAAE,WAAW,CAAC;wBACtE,SAAS,EAAE,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,WAAW,CAAC;qBACzE;oBACD,SAAS;iBACV,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC9G,CAAC;QAED,OAAO;YACL,UAAU;YACV,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,iCAAiC,CAAC,SAAoB,EAAE,WAAmB;QACjF,MAAM,OAAO,GAAG,SAAS,CAAC,yBAAyB,CAAC;YAClD,+BAA+B,EAAE,KAAK;YACtC,wBAAwB,EAAE,IAAI;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAG,OAAO;aAChB,GAAG,CAAC,KAAK,CAAC,EAAE;YACX,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACxC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aACvB,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAkC,EAAE,EAAE;YAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAElE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO;oBACL,CAAC,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE;iBAC1C,CAAC;YACJ,CAAC;YAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACxE,IAAI,CAAC,iBAAiB,CAAC,MAAsB,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;YAE/G,OAAO;gBACL,gFAAgF;gBAChF,gBAAgB;gBAChB,CAAC,SAAS,CAAC,EAAE,SAAS,aAAa,EAAE;aACtC,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAqD,CAAC;IAC/G,CAAC;IAED;;;OAGG;IACK,gCAAgC,CAAC,SAAoB,EAAE,WAAmB;QAChF,MAAM,mBAAmB,GAAG,SAAS,CAAC,sBAAsB,EAAE,CAAC;QAC/D,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB;aAChC,GAAG,CAAC,MAAM,CAAC,EAAE;YACZ,MAAM,MAAM,GAAG,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE;gBACvD,+BAA+B,EAAE,KAAK;aACvC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;YAClC,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAEzC,OAAO;gBACL,CAAC,MAAM,CAAC,EAAE;oBACR,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,MAAM,EAAE,UAAU;iBACnB;aACF,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAErD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,gBAAgB,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAE/D,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO;oBACL,CAAC,MAAM,CAAC,EAAE;wBACR,IAAI,EAAE,SAAS,gBAAgB,EAAE;wBACjC,WAAW;qBACZ;iBACF,CAAC;YACJ,CAAC;YAED,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAErE,mFAAmF;YACnF,mFAAmF;YACnF,6CAA6C;YAC7C,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,cAAc,MAAM,IAAI,CAAC,CAAC;YAE3G,OAAO;gBACL,gFAAgF;gBAChF,gBAAgB;gBAChB,CAAC,MAAM,CAAC,EAAE;oBACR,IAAI,EAAE,SAAS,gBAAgB,EAAE;oBACjC,WAAW;iBACZ;aACF,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,MAAoB,EAAE,QAAgB,EAAE,OAAe;QAC/E,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,6BAA6B,OAAO,GAAG,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACK,0BAA0B,CAAC,MAA6B;QAC9D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACrE,6FAA6F;YAC7F,UAAU;YACV,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,mBAAmB,IAAI,MAAM;YAC7B,OAAO,MAAM,CAAC,mBAAmB,CAAC,KAAK,QAAQ,EAC/C,CAAC;YACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACK,uBAAuB,CAAC,eAA6B;QAC3D,MAAM,UAAU,GAIV,EAAE,CAAC;QAET,QAAQ,CAAC,eAAe,EAAE;YACxB,OAAO,EAAE,IAAI;YACb,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;gBACjB,IAAI,mBAAmB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,mBAAmB,CAAC,KAAK,WAAW,EAAE,CAAC;oBAC9E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBAC1D,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBAE9C,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAE9C,UAAU,CAAC,IAAI,CAAC;wBACd,UAAU;wBACV,QAAQ;wBACR,YAAY,EAAE,IAAI,CAAC,0BAA0B,CAAC,eAAe,EAAE,UAAU,EAAE,QAAQ,CAAC;qBACrF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,UAAU;aACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;aACzD,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,WAAW,GAAG,GAAG,eAAe,GAAG,QAAQ,EAAE,CAAC;YAEpD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,OAAO,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAiB,EACrD,YAAY,CAAC,YAAY,EACzB,WAAW,EACX,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACK,0BAA0B,CAChC,eAA6B,EAC7B,UAA+B,EAC/B,eAAuB;QAEvB,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAEtF,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAE1C,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;oBACnC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAE7C,IAAI,UAAU,KAAK,eAAe,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjE,OAAO;4BACL,UAAU;4BACV,YAAY,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;yBAClC,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAsC,EAAE,GAAoC;QACnG,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEf,OAAO;YACL,GAAG,QAAQ;YACX,IAAI;SACL,CAAC;IACJ,CAAC;CACF"}
@@ -7,5 +7,12 @@ export declare function wordWrap(str: string, max?: number): string;
7
7
  *
8
8
  */
9
9
  export declare function docblockEscape(str: string): string;
10
+ /**
11
+ * Convert a JSON Pointer from `json-schema-traverse` into a path that lodash `set`/`setWith`
12
+ * understands.
13
+ *
14
+ * @see {@link https://datatracker.ietf.org/doc/html/rfc6901}
15
+ */
16
+ export declare function jsonPointerToPath(pointer: string): (string | number)[];
10
17
  export declare function generateTypeName(...parts: string[]): string;
11
18
  //# sourceMappingURL=util.d.ts.map