wgc 0.130.4 → 0.131.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -143,6 +143,12 @@ query {
143
143
 
144
144
  ---
145
145
 
146
+ ## 🔨 Contributing
147
+
148
+ - **Contributing document**: [CONTRIBUTING.md](./CONTRIBUTING.md)
149
+
150
+ ---
151
+
146
152
  ## 🌐 About WunderGraph Cosmo
147
153
 
148
154
  WunderGraph Cosmo is a comprehensive, open-source platform for managing GraphQL APIs at scale. It offers:
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wgc",
3
- "version": "0.130.4",
3
+ "version": "0.131.1",
4
4
  "description": "The official CLI tool to manage the GraphQL Federation Platform Cosmo",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -5,13 +5,13 @@ import { create, fromJsonString, toJsonString } from '@bufbuild/protobuf';
5
5
  import { printSchemaWithDirectives } from '@graphql-tools/utils';
6
6
  import { buildRouterConfig, normalizeURL, SubgraphKind, } from '@wundergraph/cosmo-shared';
7
7
  import { Command, program } from 'commander';
8
- import { parse, printSchema } from 'graphql';
8
+ import { parse } from 'graphql';
9
9
  import * as yaml from 'js-yaml';
10
10
  import { basename, dirname, join, resolve } from 'pathe';
11
11
  import pc from 'picocolors';
12
12
  import semver from 'semver';
13
13
  import { FeatureFlagRouterExecutionConfigSchema, FeatureFlagRouterExecutionConfigsSchema, GRPCMappingSchema, RouterConfigSchema, } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
14
- import { ROUTER_COMPATIBILITY_VERSION_ONE } from '@wundergraph/composition';
14
+ import { newContractTagOptionsFromArrays, ROUTER_COMPATIBILITY_VERSION_ONE, } from '@wundergraph/composition';
15
15
  import Table from 'cli-table3';
16
16
  import { composeSubgraphs, introspectSubgraph } from '../../../utils.js';
17
17
  import { featureFlagsDir, getRouterConfigOutputFile, mapperFile, routerConfigFile, writeFeatureFlagConfigToFile, } from '../utils.js';
@@ -64,7 +64,7 @@ function constructRouterSubgraph(result, s, index) {
64
64
  costs,
65
65
  };
66
66
  }
67
- async function handleSplitRouterConfig({ config, inputFileLocation, options, routerConfig, subgraphs, }) {
67
+ async function handleSplitRouterConfig({ config, contractTagOptionsByFeatureFlagName, inputFileLocation, options, routerConfig, subgraphs, }) {
68
68
  let outputDir = options.out ? resolve(options.out) : options.out;
69
69
  if (!outputDir) {
70
70
  outputDir = resolve('router-compose-output');
@@ -86,7 +86,7 @@ async function handleSplitRouterConfig({ config, inputFileLocation, options, rou
86
86
  await writeFile(join(outputDir, mapperFile), JSON.stringify(Object.fromEntries(mapper)));
87
87
  return;
88
88
  }
89
- const ffConfigs = await buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, options);
89
+ const ffConfigs = await buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, options, contractTagOptionsByFeatureFlagName);
90
90
  const ffDir = join(outputDir, featureFlagsDir);
91
91
  try {
92
92
  await mkdir(ffDir);
@@ -110,9 +110,9 @@ async function handleSplitRouterConfig({ config, inputFileLocation, options, rou
110
110
  await writeFile(join(outputDir, mapperFile), JSON.stringify(Object.fromEntries(mapper)));
111
111
  console.log(pc.green(`Router execution manifest successfully written to "${pc.bold(outputDir)}".`));
112
112
  }
113
- async function handleEmbeddedRouterConfig({ config, inputFileLocation, options, routerConfig, subgraphs, }) {
113
+ async function handleEmbeddedRouterConfig({ config, contractTagOptionsByFeatureFlagName, inputFileLocation, options, routerConfig, subgraphs, }) {
114
114
  if (!config.feature_flags || config.feature_flags.length > 0) {
115
- routerConfig.featureFlagConfigs = await buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, options);
115
+ routerConfig.featureFlagConfigs = await buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, options, contractTagOptionsByFeatureFlagName);
116
116
  }
117
117
  const routerConfigJson = toJsonString(RouterConfigSchema, routerConfig);
118
118
  if (options.out) {
@@ -133,20 +133,51 @@ export default (_) => {
133
133
  command.option('--disable-resolvability-validation', 'This flag will disable the validation for whether all nodes of the federated graph are resolvable. Do NOT use unless troubleshooting.');
134
134
  command.option('--ignore-external-keys', 'This flag ignores errors related to true external entity keys.');
135
135
  command.option('--split-configs-enabled', 'This flag enables splitting the router config into multiple files. Router version 0.315.0 or higher is required.');
136
+ command.option('--exclude [tags...]', 'Schema elements with these tags will be excluded from the composed schema. Providing exclude and/or include tags produces a contract of the supergraph rather than the full supergraph.');
137
+ command.option('--include [tags...]', 'Schema elements with these tags will be included in the composed schema. Providing exclude and/or include tags produces a contract of the supergraph rather than the full supergraph.');
138
+ command.option('--disable-base-contract', 'Specify whether a contract of the base federated graph should be made.');
139
+ command.option('--contract-feature-flag-names [feature-flag-names...]', 'Specify the feature flag name(s) for which the contract(s) should be created.');
136
140
  command.action(async (options) => {
141
+ var _a, _b;
137
142
  const inputFile = resolve(options.input);
138
143
  const inputFileLocation = dirname(inputFile);
139
144
  if (!existsSync(inputFile)) {
140
145
  program.error(pc.red(pc.bold(`The input file '${pc.bold(inputFile)}' does not exist. Please check the path and try again.`)));
141
146
  }
147
+ const fileContent = (await readFile(inputFile)).toString();
148
+ const config = yaml.load(fileContent);
149
+ const validFeatureFlagNames = new Set((_a = config.feature_flags) === null || _a === void 0 ? void 0 : _a.map((ff) => ff.name));
150
+ const contractTagOptions = toContractTagOptions(options.exclude, options.include);
151
+ const contractTagOptionsByFeatureFlagName = new Map();
152
+ if (typeof options.contractFeatureFlagNames === 'boolean') {
153
+ program.error(pc.red(pc.bold(`The "contract-feature-flag-names" option requires at least one feature flag name.`)));
154
+ }
155
+ if (contractTagOptions) {
156
+ for (const featureFlagName of (_b = options.contractFeatureFlagNames) !== null && _b !== void 0 ? _b : []) {
157
+ if (!validFeatureFlagNames.has(featureFlagName)) {
158
+ program.error(pc.red(pc.bold(`The "contract-feature-flag-names" option defines unknown feature flag "${featureFlagName}".`)));
159
+ }
160
+ contractTagOptionsByFeatureFlagName.set(featureFlagName, contractTagOptions);
161
+ }
162
+ // Error so that the message does appear in a shell pipe
163
+ console.error(pc.dim(`Composing a supergraph contract (excluded tags: [${[...contractTagOptions.tagNamesToExclude].join(', ')}], included tags:` +
164
+ ` [${[...contractTagOptions.tagNamesToInclude].join(', ')}]).`));
165
+ }
166
+ else if (options.disableBaseContract) {
167
+ program.error(pc.red(pc.bold(`The "disable-base-contract" option requires at least one included or excluded tag.`)));
168
+ }
169
+ else if (options.contractFeatureFlagNames) {
170
+ program.error(pc.red(pc.bold(`The "contract-feature-flag-names" option requires at least one included or excluded tag.`)));
171
+ }
172
+ if (contractTagOptions && options.disableBaseContract && contractTagOptionsByFeatureFlagName.size === 0) {
173
+ program.error(pc.red(pc.bold(`Defining tags also requires either "--disable-base-contract" to be removed or at least one "contract-feature-flag-names" to be defined.`)));
174
+ }
142
175
  if (options.out) {
143
176
  options.out = resolve(options.out);
144
177
  if (options.splitConfigsEnabled) {
145
178
  await mkdir(options.out, { recursive: true });
146
179
  }
147
180
  }
148
- const fileContent = (await readFile(inputFile)).toString();
149
- const config = yaml.load(fileContent);
150
181
  const subgraphs = [];
151
182
  for (const [index, subgraphConfig] of config.subgraphs.entries()) {
152
183
  const metadata = await toSubgraphMetadata(inputFileLocation, index, subgraphConfig, subgraphs);
@@ -169,7 +200,7 @@ export default (_) => {
169
200
  }), {
170
201
  disableResolvabilityValidation: options.disableResolvabilityValidation,
171
202
  ignoreExternalKeys: options.ignoreExternalKeys,
172
- });
203
+ }, options.disableBaseContract ? undefined : contractTagOptions);
173
204
  if (!result.success) {
174
205
  const compositionErrorsTable = new Table({
175
206
  head: [pc.bold(pc.white('ERROR_MESSAGE'))],
@@ -209,11 +240,56 @@ export default (_) => {
209
240
  subgraphs: subgraphs.map((s, index) => constructRouterSubgraph(result, s, index)),
210
241
  });
211
242
  await (options.splitConfigsEnabled
212
- ? handleSplitRouterConfig({ config, inputFileLocation, options, routerConfig, subgraphs })
213
- : handleEmbeddedRouterConfig({ config, inputFileLocation, options, routerConfig, subgraphs }));
243
+ ? handleSplitRouterConfig({
244
+ config,
245
+ contractTagOptionsByFeatureFlagName,
246
+ inputFileLocation,
247
+ options,
248
+ routerConfig,
249
+ subgraphs,
250
+ })
251
+ : handleEmbeddedRouterConfig({
252
+ config,
253
+ contractTagOptionsByFeatureFlagName,
254
+ inputFileLocation,
255
+ options,
256
+ routerConfig,
257
+ subgraphs,
258
+ }));
214
259
  });
215
260
  return command;
216
261
  };
262
+ /**
263
+ * Returns the contract tag options for the provided exclude and include tags, or undefined if
264
+ * neither option was provided, in which case the full supergraph is composed.
265
+ */
266
+ function toContractTagOptions(exclude, include) {
267
+ const excludeTags = toTags(exclude, '--exclude');
268
+ const includeTags = toTags(include, '--include');
269
+ if (excludeTags.length === 0 && includeTags.length === 0) {
270
+ return undefined;
271
+ }
272
+ return newContractTagOptionsFromArrays(excludeTags, includeTags);
273
+ }
274
+ function toTags(value, optionName) {
275
+ if (value === undefined) {
276
+ return [];
277
+ }
278
+ /**
279
+ * Commander parses a variadic option without values, e.g. "--exclude", as a boolean. Such an
280
+ * option provides no tags, so it cannot define a contract.
281
+ */
282
+ if (typeof value === 'boolean') {
283
+ program.error(pc.red(pc.bold(`The "${optionName}" option requires at least one tag.`)));
284
+ }
285
+ const tags = value;
286
+ for (const tag of tags) {
287
+ if (tag.trim() === '') {
288
+ program.error(pc.red(pc.bold(`The "${optionName}" option contains a blank tag. Tags must not be blank.`)));
289
+ }
290
+ }
291
+ return [...new Set(tags)];
292
+ }
217
293
  function toSubgraphMetadata(inputFileLocation, index, subgraphConfig, subgraphs) {
218
294
  if ('plugin' in subgraphConfig) {
219
295
  return toSubgraphMetadataPlugin(inputFileLocation, subgraphConfig, subgraphs);
@@ -348,7 +424,7 @@ function validateSubgraphPlugin(inputFileLocation, s) {
348
424
  program.error(pc.red(pc.bold(`The plugin version '${pc.bold(s.plugin.version)}' is not a valid semver. Please check the version and try again.`)));
349
425
  }
350
426
  }
351
- async function buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, options) {
427
+ async function buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, options, contractTagOptionsByFeatureFlagName) {
352
428
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
353
429
  const ffConfigs = create(FeatureFlagRouterExecutionConfigsSchema);
354
430
  // @TODO This logic should exist only once in the shared package and reused across
@@ -415,7 +491,7 @@ async function buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, opt
415
491
  })), {
416
492
  disableResolvabilityValidation: options.disableResolvabilityValidation,
417
493
  ignoreExternalKeys: options.ignoreExternalKeys,
418
- });
494
+ }, contractTagOptionsByFeatureFlagName === null || contractTagOptionsByFeatureFlagName === void 0 ? void 0 : contractTagOptionsByFeatureFlagName.get(ff.name));
419
495
  if (!featureResult.success) {
420
496
  const compositionErrorsTable = new Table({
421
497
  head: [pc.bold(pc.white('ERROR_MESSAGE'))],
@@ -442,7 +518,7 @@ async function buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, opt
442
518
  console.log(compositionWarningsTable.toString());
443
519
  }
444
520
  const featureFederatedClientSDL = featureResult.shouldIncludeClientSchema
445
- ? printSchema(featureResult.federatedGraphClientSchema)
521
+ ? printSchemaWithDirectives(featureResult.federatedGraphClientSchema)
446
522
  : '';
447
523
  const featureRouterConfig = buildRouterConfig({
448
524
  federatedClientSDL: featureFederatedClientSDL,
@@ -1 +1 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../../../src/commands/router/commands/compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../../../src/commands/router/commands/compose.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ContractTagOptions } from '@wundergraph/composition';
1
2
  import type { RouterConfig } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
2
3
  import { Config, SubgraphMetaData } from './types.js';
3
4
  export type HandleRouterConfigParams = {
@@ -6,4 +7,5 @@ export type HandleRouterConfigParams = {
6
7
  options: any;
7
8
  routerConfig: RouterConfig;
8
9
  subgraphs: SubgraphMetaData[];
10
+ contractTagOptionsByFeatureFlagName?: Map<string, ContractTagOptions>;
9
11
  };
@@ -1,4 +1,4 @@
1
- import { CompositionOptions, FederationResult, Subgraph } from '@wundergraph/composition';
1
+ import { CompositionOptions, ContractTagOptions, FederationResult, Subgraph } from '@wundergraph/composition';
2
2
  import { SubscriptionProtocol, WebsocketSubprotocol } from '@wundergraph/cosmo-shared';
3
3
  import { SubgraphPublishStats } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb';
4
4
  import { KeycloakToken } from './commands/auth/utils.js';
@@ -17,8 +17,10 @@ export declare const introspectSubgraph: ({ subgraphURL, additionalHeaders, rawI
17
17
  }>;
18
18
  /**
19
19
  * Composes a list of subgraphs into a single schema.
20
+ * If contract tag options are provided, the resulting schema is a contract of the supergraph
21
+ * rather than the full supergraph.
20
22
  */
21
- export declare function composeSubgraphs(subgraphs: Subgraph[], options?: CompositionOptions): FederationResult;
23
+ export declare function composeSubgraphs(subgraphs: Subgraph[], options?: CompositionOptions, contractTagOptions?: ContractTagOptions): FederationResult;
22
24
  export type ConfigData = Partial<KeycloakToken & {
23
25
  organizationSlug: string;
24
26
  lastUpdateCheck: number;
package/dist/src/utils.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable import/named */
2
2
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
3
3
  import { access } from 'node:fs/promises';
4
- import { federateSubgraphs, ROUTER_COMPATIBILITY_VERSION_ONE, } from '@wundergraph/composition';
4
+ import { federateSubgraphs, federateSubgraphsContract, ROUTER_COMPATIBILITY_VERSION_ONE, } from '@wundergraph/composition';
5
5
  import boxen from 'boxen';
6
6
  import { buildClientSchema, printSchema } from 'graphql';
7
7
  import yaml from 'js-yaml';
@@ -147,9 +147,19 @@ export const introspectSubgraph = async ({ subgraphURL, additionalHeaders, rawIn
147
147
  };
148
148
  /**
149
149
  * Composes a list of subgraphs into a single schema.
150
+ * If contract tag options are provided, the resulting schema is a contract of the supergraph
151
+ * rather than the full supergraph.
150
152
  */
151
- export function composeSubgraphs(subgraphs, options) {
153
+ export function composeSubgraphs(subgraphs, options, contractTagOptions) {
152
154
  // @TODO get router compatibility version programmatically
155
+ if (contractTagOptions) {
156
+ return federateSubgraphsContract({
157
+ contractTagOptions,
158
+ options,
159
+ subgraphs,
160
+ version: ROUTER_COMPATIBILITY_VERSION_ONE,
161
+ });
162
+ }
153
163
  return federateSubgraphs({
154
164
  options,
155
165
  subgraphs,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAGL,iBAAiB,EACjB,yBAAyB,EAEzB,gCAAgC,GAEjC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,GAG5B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQjE,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkGzB,CAAC;AAEH,MAAM,QAAQ,GAAG;;;;;;CAMhB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,WAAW,EACX,iBAAiB,EACjB,gBAAgB,GAKjB,EAAqE,EAAE;IACtE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IACnD,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ;QACvD,SAAS,EAAE,EAAE;KACd,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;QACxC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,oCAAoC;YAClD,GAAG,EAAE,EAAE;SACR,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAEvB,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IAExF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,GAAG;KACJ,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAqB,EACrB,OAA4B,EAC5B,kBAAuC;IAEvC,0DAA0D;IAC1D,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,yBAAyB,CAAC;YAC/B,kBAAkB;YAClB,OAAO;YACP,SAAS;YACT,OAAO,EAAE,gCAAgC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,iBAAiB,CAAC;QACvB,OAAO;QACP,SAAS;QACT,OAAO,EAAE,gCAAgC;KAC1C,CAAC,CAAC;AACL,CAAC;AAID;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAoB,EAAE;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAe,EAAE;IAC7C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAEzD,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAmB,EAAE,EAAE;IACtD,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,GAAG,YAAY;QACf,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;IACxC,IAAI,MAAM,CAAC,kBAAkB,KAAK,MAAM,EAAE,CAAC;QACzC,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE/B,MAAM,cAAc,GAAG,cAAc,EAAE,CAAC;QACxC,IAAI,cAAc,CAAC,eAAe,IAAI,WAAW,GAAG,cAAc,CAAC,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YACzG,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;QAEtD,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC;mEACzB,aAAa;wBACxD,CAAC;QAErB,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,OAAO,EAAE;YACb,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,OAAO;SACrB,CAAC,CACH,CAAC;QAEF,gBAAgB,CAAC;YACf,eAAe,EAAE,WAAW;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,uGAAuG,CAAC,CAAC,OAAO,EAAE,CACnH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAC5C,oBAAoB,EACpB,oBAAoB,GAIrB,EAAE,EAAE;IACH,IAAI,oBAAoB,IAAI,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,KAAK,CACX,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,IAAI,CACL,8BAA8B,EAAE,CAAC,IAAI,CACnC,oBAAoB,CACrB,qEAAqE,CACvE,CACF,CACF,CAAC;IACJ,CAAC;IAED,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAI,oBAAoB,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO,CAAC,KAAK,CACX,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,IAAI,CACL,8BAA8B,EAAE,CAAC,IAAI,CACnC,oBAAoB,CACrB,0DAA0D,CAC5D,CACF,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,KAAK,CACX,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,IAAI,CACL,8BAA8B,EAAE,CAAC,IAAI,CACnC,oBAAoB,CACrB,0FAA0F,CAC5F,CACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AASF;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,MAA0G,EAC1G,OAAgB;IAEhB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;IAE3D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAEvB,MAAM,MAAM,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE5B,SAAS;QACT,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,6BAA6B;QAC7B,MAAM,UAAU,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAEhE,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC;QACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACvD,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QAE3D,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAE,oBAAoB,EAAE,gBAAgB,EAAgC;IAC7G,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,IAAI,gBAAgB,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,CAAC;QAChF,cAAc,CAAC,IAAI,CACjB,uBAAuB,oBAAoB,CAAC,iBAAiB,OAAO,gBAAgB,CAAC,iBAAiB,SAAS,CAChH,CAAC;IACJ,CAAC;IACD,IAAI,gBAAgB,CAAC,mBAAmB,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,CAAC;QACpF,cAAc,CAAC,IAAI,CACjB,yBAAyB,oBAAoB,CAAC,mBAAmB,OAAO,gBAAgB,CAAC,mBAAmB,SAAS,CACtH,CAAC;IACJ,CAAC;IACD,IAAI,gBAAgB,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;QAC9E,cAAc,CAAC,IAAI,CACjB,sBAAsB,oBAAoB,CAAC,gBAAgB,OAAO,gBAAgB,CAAC,gBAAgB,SAAS,CAC7G,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wCAAwC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACxB,OAAO,CACL,KAAK;SACF,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACf,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC9C,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,GAAG,WAAW,CAC1B,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,aAAa,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,MAAM,aAAa,GAA+B;IAChD,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO;IACxB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,SAAS;IACzB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,SAAS;IACzB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ;IACxB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO;IACvB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO;IACvB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,KAAc;IACjE,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,IAAI,WAAW,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;YAClD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IACtB,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACtF,CAAC;AACJ,CAAC"}