@wundergraph/composition 0.28.2 → 0.28.4

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/ast/utils.d.ts +1 -0
  2. package/dist/ast/utils.js +5 -1
  3. package/dist/ast/utils.js.map +1 -1
  4. package/dist/errors/errors.d.ts +14 -13
  5. package/dist/errors/errors.js +134 -102
  6. package/dist/errors/errors.js.map +1 -1
  7. package/dist/federation/federation-factory.d.ts +3 -2
  8. package/dist/federation/federation-factory.js +57 -34
  9. package/dist/federation/federation-factory.js.map +1 -1
  10. package/dist/federation/utils.d.ts +15 -19
  11. package/dist/federation/utils.js +13 -1
  12. package/dist/federation/utils.js.map +1 -1
  13. package/dist/federation/walkers.js +2 -2
  14. package/dist/federation/walkers.js.map +1 -1
  15. package/dist/normalization/normalization-factory.d.ts +15 -8
  16. package/dist/normalization/normalization-factory.js +68 -20
  17. package/dist/normalization/normalization-factory.js.map +1 -1
  18. package/dist/normalization/utils.d.ts +7 -3
  19. package/dist/normalization/utils.js +125 -76
  20. package/dist/normalization/utils.js.map +1 -1
  21. package/dist/normalization/walkers.js +28 -28
  22. package/dist/normalization/walkers.js.map +1 -1
  23. package/dist/router-configuration/router-configuration.d.ts +10 -0
  24. package/dist/router-configuration/router-configuration.js +7 -0
  25. package/dist/router-configuration/router-configuration.js.map +1 -1
  26. package/dist/schema-building/utils.d.ts +21 -4
  27. package/dist/schema-building/utils.js +60 -31
  28. package/dist/schema-building/utils.js.map +1 -1
  29. package/dist/subgraph/subgraph.d.ts +4 -2
  30. package/dist/subgraph/subgraph.js.map +1 -1
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/dist/warnings/warnings.d.ts +7 -1
  33. package/dist/warnings/warnings.js +35 -1
  34. package/dist/warnings/warnings.js.map +1 -1
  35. package/package.json +2 -2
@@ -68,11 +68,11 @@ function upsertDirectiveSchemaAndEntityDefinitions(nf, document) {
68
68
  if (!(0, utils_2.isObjectLikeNodeEntity)(node)) {
69
69
  return;
70
70
  }
71
- const fieldSetData = (0, utils_1.getValueOrDefault)(nf.fieldSetDataByTypeName, typeName, utils_3.newFieldSetData);
72
- nf.extractKeyFieldSets(node, fieldSetData);
71
+ const keyFieldSetData = (0, utils_1.getValueOrDefault)(nf.keyFieldSetDataByTypeName, typeName, utils_3.newKeyFieldSetData);
72
+ nf.extractKeyFieldSets(node, keyFieldSetData);
73
73
  (0, utils_1.upsertEntityDataProperties)(nf.entityDataByTypeName, {
74
74
  typeName,
75
- keyFieldSets: fieldSetData.isUnresolvableByKeyFieldSet.keys(),
75
+ keyFieldSets: keyFieldSetData.isUnresolvableByKeyFieldSet.keys(),
76
76
  ...(nf.subgraphName ? { subgraphNames: [nf.subgraphName] } : {}),
77
77
  });
78
78
  (0, utils_1.getValueOrDefault)(nf.entityInterfaceDataByTypeName, typeName, () => ({
@@ -91,11 +91,11 @@ function upsertDirectiveSchemaAndEntityDefinitions(nf, document) {
91
91
  return;
92
92
  }
93
93
  const typeName = node.name.value;
94
- const fieldSetData = (0, utils_1.getValueOrDefault)(nf.fieldSetDataByTypeName, typeName, utils_3.newFieldSetData);
95
- nf.extractKeyFieldSets(node, fieldSetData);
94
+ const keyFieldSetData = (0, utils_1.getValueOrDefault)(nf.keyFieldSetDataByTypeName, typeName, utils_3.newKeyFieldSetData);
95
+ nf.extractKeyFieldSets(node, keyFieldSetData);
96
96
  (0, utils_1.upsertEntityDataProperties)(nf.entityDataByTypeName, {
97
97
  typeName,
98
- keyFieldSets: fieldSetData.isUnresolvableByKeyFieldSet.keys(),
98
+ keyFieldSets: keyFieldSetData.isUnresolvableByKeyFieldSet.keys(),
99
99
  ...(nf.subgraphName ? { subgraphNames: [nf.subgraphName] } : {}),
100
100
  });
101
101
  },
@@ -109,11 +109,11 @@ function upsertDirectiveSchemaAndEntityDefinitions(nf, document) {
109
109
  if ((0, utils_2.isNodeInterfaceObject)(node)) {
110
110
  nf.internalGraph.addOrUpdateNode(typeName, { isAbstract: true });
111
111
  }
112
- const fieldSetData = (0, utils_1.getValueOrDefault)(nf.fieldSetDataByTypeName, typeName, utils_3.newFieldSetData);
113
- nf.extractKeyFieldSets(node, fieldSetData);
112
+ const keyFieldSetData = (0, utils_1.getValueOrDefault)(nf.keyFieldSetDataByTypeName, typeName, utils_3.newKeyFieldSetData);
113
+ nf.extractKeyFieldSets(node, keyFieldSetData);
114
114
  (0, utils_1.upsertEntityDataProperties)(nf.entityDataByTypeName, {
115
115
  typeName,
116
- keyFieldSets: fieldSetData.isUnresolvableByKeyFieldSet.keys(),
116
+ keyFieldSets: keyFieldSetData.isUnresolvableByKeyFieldSet.keys(),
117
117
  ...(nf.subgraphName ? { subgraphNames: [nf.subgraphName] } : {}),
118
118
  });
119
119
  },
@@ -124,11 +124,11 @@ function upsertDirectiveSchemaAndEntityDefinitions(nf, document) {
124
124
  return;
125
125
  }
126
126
  const typeName = node.name.value;
127
- const fieldSetData = (0, utils_1.getValueOrDefault)(nf.fieldSetDataByTypeName, typeName, utils_3.newFieldSetData);
128
- nf.extractKeyFieldSets(node, fieldSetData);
127
+ const keyFieldSetData = (0, utils_1.getValueOrDefault)(nf.keyFieldSetDataByTypeName, typeName, utils_3.newKeyFieldSetData);
128
+ nf.extractKeyFieldSets(node, keyFieldSetData);
129
129
  (0, utils_1.upsertEntityDataProperties)(nf.entityDataByTypeName, {
130
130
  typeName,
131
- keyFieldSets: fieldSetData.isUnresolvableByKeyFieldSet.keys(),
131
+ keyFieldSets: keyFieldSetData.isUnresolvableByKeyFieldSet.keys(),
132
132
  ...(nf.subgraphName ? { subgraphNames: [nf.subgraphName] } : {}),
133
133
  });
134
134
  },
@@ -324,30 +324,30 @@ function upsertParentsAndChildren(nf, document) {
324
324
  // Add parent-level shareable and external to the field extraction and repeatable validation
325
325
  (0, utils_4.addInheritedDirectivesToFieldData)(parentData.directivesByDirectiveName, directivesByDirectiveName);
326
326
  const fieldData = (0, utils_4.addFieldDataByNode)(parentData.fieldDataByFieldName, node, argumentDataByArgumentName, directivesByDirectiveName, nf.originalParentTypeName, nf.renamedParentTypeName || nf.originalParentTypeName, nf.subgraphName, nf.isSubgraphVersionTwo, nf.errors);
327
+ const providesDirectives = fieldData.directivesByDirectiveName.get(string_constants_1.PROVIDES);
328
+ const requiresDirectives = fieldData.directivesByDirectiveName.get(string_constants_1.REQUIRES);
329
+ // return early to avoid creating unnecessary FieldSetDatas
330
+ if (!requiresDirectives && !providesDirectives) {
331
+ return;
332
+ }
327
333
  const entityData = nf.entityDataByTypeName.get(nf.originalParentTypeName);
328
334
  if (entityData) {
329
335
  entityData.fieldNames.add(nf.childName);
330
- // Only entities will have an existing FieldSet
331
- const existingFieldSet = nf.fieldSetDataByTypeName.get(nf.originalParentTypeName);
332
- if (existingFieldSet) {
333
- // @requires should only be defined on a field whose parent is an entity
334
- // If there is existingFieldSet, it's an entity
335
- (0, utils_3.extractFieldSetValue)(nf.childName, existingFieldSet.requires, fieldData.directivesByDirectiveName.get(string_constants_1.REQUIRES));
336
- // @provides only makes sense on entities, but the field can be encountered before the type definition
337
- // When the FieldSet is evaluated, it will be checked whether the field is an entity.
338
- (0, utils_3.extractFieldSetValue)(nf.childName, existingFieldSet.provides, fieldData.directivesByDirectiveName.get(string_constants_1.PROVIDES));
339
- return;
340
- }
336
+ const fieldSetData = (0, utils_1.getValueOrDefault)(nf.fieldSetDataByTypeName, nf.originalParentTypeName, utils_3.newFieldSetData);
337
+ (0, utils_3.extractFieldSetValue)(nf.childName, fieldSetData.requires, requiresDirectives);
338
+ (0, utils_3.extractFieldSetValue)(nf.childName, fieldSetData.provides, providesDirectives);
339
+ return;
340
+ }
341
+ // @requires should only be defined on a field whose parent is an entity
342
+ if (requiresDirectives) {
343
+ // todo warning
341
344
  }
342
- const providesDirectives = fieldData.directivesByDirectiveName.get(string_constants_1.PROVIDES);
343
345
  // Check whether the directive exists to avoid creating unnecessary fieldSet configurations
344
346
  if (!providesDirectives) {
345
347
  return;
346
348
  }
347
- const fieldSetContainer = (0, utils_1.getValueOrDefault)(nf.fieldSetDataByTypeName, nf.originalParentTypeName, utils_3.newFieldSetData);
348
- // @provides only makes sense on entities, but the field can be encountered before the type definition
349
- // When the FieldSet is evaluated, it will be checked whether the field is an entity.
350
- (0, utils_3.extractFieldSetValue)(nf.childName, fieldSetContainer.provides, providesDirectives);
349
+ const fieldSetData = (0, utils_1.getValueOrDefault)(nf.fieldSetDataByTypeName, nf.originalParentTypeName, utils_3.newFieldSetData);
350
+ (0, utils_3.extractFieldSetValue)(nf.childName, fieldSetData.provides, providesDirectives);
351
351
  },
352
352
  leave() {
353
353
  nf.childName = '';
@@ -1 +1 @@
1
- {"version":3,"file":"walkers.js","sourceRoot":"","sources":["../../src/normalization/walkers.ts"],"names":[],"mappings":";;AA+EA,8FA+OC;AAED,4DAkgBC;AAGD,gFAoHC;AAz7BD,qCAAwE;AACxE,6CAW0B;AAE1B,kDAK4B;AAC5B,0CAUwB;AACxB,wCAA0G;AAC1G,mCAAgE;AAChE,gEAiBmC;AACnC,oDAsBkC;AAElC,gDAAkE;AAGlE,2EAA2E;AAC3E,SAAgB,yCAAyC,CAAC,EAAwB,EAAE,QAAsB;IACxG,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IAAA,eAAK,EAAC,QAAQ,EAAE;QACd,SAAS,EAAE;YACT,KAAK,CAAC,IAAI;gBACR,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7B,IAAI,wCAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,qDAAyC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxD,EAAE,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBAC/B,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,uDAA2C,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,IAAI,KAAK,sCAAmB,EAAE,CAAC;oBACjC,EAAE,CAAC,kCAAkC,CAAC,GAAG,CAAC,sCAAmB,EAAE,0CAA8B,CAAC,CAAC;gBACjG,CAAC;gBACD,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;SACF;QACD,mBAAmB,EAAE;YACnB,KAAK,CAAC,IAAI;gBACR,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7B,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,0CAAiC,EAAC,IAAI,CAAC,CAAC,CAAC;oBACxD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5B,gFAAgF;gBAChF,IAAI,qDAAyC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxD,EAAE,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBAC/B,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,wCAAwC;gBACxC,IAAI,uDAA2C,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,IAAI,KAAK,sCAAmB,EAAE,CAAC;oBACjC,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,EAAE,CAAC,kCAAkC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtD,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC9C,OAAO,KAAK,CAAC;YACf,CAAC;SACF;QACD,uBAAuB,EAAE;YACvB,KAAK,CAAC,IAAI;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,IAAA,8BAAsB,EAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,OAAO;gBACT,CAAC;gBACD,MAAM,YAAY,GAAG,IAAA,yBAAiB,EAAC,EAAE,CAAC,sBAAsB,EAAE,QAAQ,EAAE,uBAAe,CAAC,CAAC;gBAC7F,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC3C,IAAA,kCAA0B,EAAC,EAAE,CAAC,oBAAoB,EAAE;oBAClD,QAAQ;oBACR,YAAY,EAAE,YAAY,CAAC,2BAA2B,CAAC,IAAI,EAAE;oBAC7D,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjE,CAAC,CAAC;gBACH,IAAA,yBAAiB,EAAC,EAAE,CAAC,6BAA6B,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnE,iBAAiB,EAAE,IAAI,GAAG,EAAU;oBACpC,UAAU,EAAE,EAAE;oBACd,mBAAmB,EAAE,IAAI,GAAG,EAAU;oBACtC,yBAAyB,EAAE,IAAI,GAAG,EAAU;oBAC5C,iBAAiB,EAAE,KAAK;oBACxB,QAAQ;iBACT,CAAC,CAAC,CAAC;YACN,CAAC;SACF;QACD,sBAAsB,EAAE;YACtB,KAAK,CAAC,IAAI;gBACR,IAAI,CAAC,IAAA,8BAAsB,EAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjC,MAAM,YAAY,GAAG,IAAA,yBAAiB,EAAC,EAAE,CAAC,sBAAsB,EAAE,QAAQ,EAAE,uBAAe,CAAC,CAAC;gBAC7F,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC3C,IAAA,kCAA0B,EAAC,EAAE,CAAC,oBAAoB,EAAE;oBAClD,QAAQ;oBACR,YAAY,EAAE,YAAY,CAAC,2BAA2B,CAAC,IAAI,EAAE;oBAC7D,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC;SACF;QACD,oBAAoB,EAAE;YACpB,KAAK,CAAC,IAAI;gBACR,IAAI,CAAC,IAAA,8BAAsB,EAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjC,IAAI,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM,YAAY,GAAG,IAAA,yBAAiB,EAAC,EAAE,CAAC,sBAAsB,EAAE,QAAQ,EAAE,uBAAe,CAAC,CAAC;gBAC7F,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC3C,IAAA,kCAA0B,EAAC,EAAE,CAAC,oBAAoB,EAAE;oBAClD,QAAQ;oBACR,YAAY,EAAE,YAAY,CAAC,2BAA2B,CAAC,IAAI,EAAE;oBAC7D,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC;SACF;QACD,mBAAmB,EAAE;YACnB,KAAK,CAAC,IAAI;gBACR,IAAI,CAAC,IAAA,8BAAsB,EAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjC,MAAM,YAAY,GAAG,IAAA,yBAAiB,EAAC,EAAE,CAAC,sBAAsB,EAAE,QAAQ,EAAE,uBAAe,CAAC,CAAC;gBAC7F,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC3C,IAAA,kCAA0B,EAAC,EAAE,CAAC,oBAAoB,EAAE;oBAClD,QAAQ;oBACR,YAAY,EAAE,YAAY,CAAC,2BAA2B,CAAC,IAAI,EAAE;oBAC7D,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC;SACF;QACD,uBAAuB,EAAE;YACvB,KAAK,CAAC,IAAI;gBACR,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;gBACrC,MAAM,cAAc,GAAG,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC7E,MAAM,aAAa,GAAG,IAAA,8BAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1D,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAA,8CAAqC,EACnC,aAAa,EACb,aAAa,EACb,IAAA,8BAAwB,EAAC,cAAc,CAAC,IAAI,CAAC,CAC9C,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM,qBAAqB,GAAG,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAChF,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,4CAAmC,EAAC,qBAAqB,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;oBACzG,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBACjE,EAAE,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;YACf,CAAC;SACF;QACD,gBAAgB,EAAE;YAChB,KAAK,CAAC,IAAI;gBACR,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,EAAE,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACrD,CAAC;SACF;QACD,eAAe,EAAE;YACf,KAAK,CAAC,IAAI;gBACR,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;SACF;QACD,mBAAmB,EAAE;YACnB,KAAK,CAAC,IAAI;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjC,IAAI,QAAQ,KAAK,+BAAY,EAAE,CAAC;oBAC9B,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,iDAAiD;gBACjD,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,qCAA4B,EAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACpF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAA,oCAA4B,EAC1B,EAAE,CAAC,8BAA8B,EACjC,IAAI,EACJ,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,EAAE,CAAC,mCAAmC,EACtC,EAAE,CAAC,mBAAmB,CACvB,CAAC;YACJ,CAAC;SACF;QACD,kBAAkB,EAAE;YAClB,KAAK,CAAC,IAAI;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjC,IAAI,QAAQ,KAAK,+BAAY,EAAE,CAAC;oBAC9B,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM,SAAS,GAAG,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;oBACxB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,mCAA0B,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC3D,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,iDAAiD;gBACjD,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,SAAS,CAAC,IAAI,KAAK,cAAI,CAAC,oBAAoB,EAAE,CAAC;wBACjD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,wCAA+B,EAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;wBACtE,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,IAAA,yBAAiB,EACf,IAAI,EACJ,SAAS,CAAC,yBAAyB,EACnC,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,QAAQ,CACT,CAAC;oBACF,IAAA,iCAAyB,EACvB,IAAI,CAAC,KAAK,EACV,SAAS,CAAC,sBAAsB,EAChC,EAAE,CAAC,MAAM,EACT,QAAQ,EACR,EAAE,CAAC,mCAAmC,EACtC,EAAE,CAAC,mBAAmB,CACvB,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAA,mCAA2B,EACzB,EAAE,CAAC,6BAA6B,EAChC,IAAI,EACJ,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,EAAE,CAAC,mCAAmC,EACtC,EAAE,CAAC,mBAAmB,CACvB,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;SACF;KACF,CAAC,CAAC;IACH;;+CAE2C;IAC3C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAA,yBAAiB,EACf,IAAI,EACJ,EAAE,CAAC,gBAAgB,CAAC,yBAAyB,EAC7C,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,yBAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,wBAAwB,CAAC,EAAwB,EAAE,QAAsB;IACvF,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,iBAAmD,CAAC;IACxD,IAAA,eAAK,EAAC,QAAQ,EAAE;QACd,kBAAkB,EAAE;YAClB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9E,IAAI,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBACrE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,qCAA4B,EAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBACrG,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClC,MAAM,yBAAyB,GAAG,EAAE,CAAC,iCAAiC,CACpE,IAAI,EACJ,IAAI,GAAG,EAAgC,CACxC,CAAC;gBACF,IAAA,mCAA2B,EAAC,EAAE,CAAC,8BAA8B,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;YAClG,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC;YACpC,CAAC;SACF;QACD,iBAAiB,EAAE;YACjB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,6CAA6C;gBAC7C,uDAAuD;gBACvD,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClC,EAAE,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACnC,MAAM,SAAS,GAAG,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;gBAClF,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,SAAS,CAAC,IAAI,KAAK,cAAI,CAAC,mBAAmB,EAAE,CAAC;wBAChD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,wCAA+B,EAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;wBACtE,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,EAAE,CAAC,iCAAiC,CAAC,IAAI,EAAE,SAAS,CAAC,yBAAyB,CAAC,CAAC;oBAChF,OAAO;gBACT,CAAC;gBACD,MAAM,yBAAyB,GAAG,EAAE,CAAC,iCAAiC,CACpE,IAAI,EACJ,IAAI,GAAG,EAAgC,CACxC,CAAC;gBACF,IAAA,kCAA0B,EAAC,EAAE,CAAC,6BAA6B,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;YAChG,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC;gBAClC,EAAE,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,CAAC;SACF;QACD,mBAAmB,EAAE;YACnB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/B,EAAE,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjC,MAAM,UAAU,GAAG,EAAE,CAAC,wBAAwB;oBAC5C,CAAC,CAAC,IAAA,uBAAe,EAAC,EAAE,CAAC,6BAA6B,EAAE,EAAE,CAAC,sBAAsB,EAAE,6BAAU,CAAC;oBAC1F,CAAC,CAAC,IAAA,uBAAe,EAAC,EAAE,CAAC,8BAA8B,EAAE,EAAE,CAAC,sBAAsB,EAAE,yCAAsB,CAAC,CAAC;gBAC1G,IAAI,UAAU,CAAC,IAAI,KAAK,cAAI,CAAC,oBAAoB,IAAI,UAAU,CAAC,IAAI,KAAK,cAAI,CAAC,mBAAmB,EAAE,CAAC;oBAClG,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,IAAA,0CAAiC,EAC/B,EAAE,CAAC,sBAAsB,EACzB,wBAAwB,EACxB,IAAA,wBAAgB,EAAC,UAAU,CAAC,IAAI,CAAC,EACjC,EAAE,CAAC,SAAS,EACZ,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,CAC5B,CACF,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,UAAU,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1D,MAAM,KAAK,GAAG,EAAE,CAAC,wBAAwB;wBACvC,CAAC,CAAC,IAAA,qCAA4B,EAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,EAAE,EAAE,CAAC,SAAS,CAAC;wBAC/E,CAAC,CAAC,IAAA,0CAAiC,EAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC;oBAC/E,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACtB,OAAO;gBACT,CAAC;gBACD,IAAA,8BAAsB,EACpB,UAAU,CAAC,wBAAwB,EACnC,IAAI,EACJ,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,EAAE,CAAC,sBAAsB,CAC1B,CAAC;YACJ,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;gBAClB,EAAE,CAAC,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC;YACnC,CAAC;SACF;QACD,eAAe,EAAE;YACf,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/B,IAAI,gBAAgB,EAAE,CAAC;oBACrB,IAAI,EAAE,CAAC,SAAS,KAAK,gCAAa,IAAI,EAAE,CAAC,SAAS,KAAK,iCAAc,EAAE,CAAC;wBACtE,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,EAAE,CAAC,qCAAqC,CAAC,IAAI,CAAC,CAAC;gBACjD,CAAC;gBACD,yDAAyD;gBACzD,IAAI,EAAE,CAAC,uBAAuB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACxC,EAAE,CAAC,2CAA2C,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBACD,EAAE,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjC,MAAM,kBAAkB,GAAG,IAAA,8BAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/D,iFAAiF;gBACjF,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;oBACvD,EAAE,CAAC,aAAa,CAAC,OAAO,CACtB,iBAAiB,EACjB,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC,EACpD,EAAE,CAAC,SAAS,CACb,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,wBAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC1C,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM,UAAU,GAAG,EAAE,CAAC,wBAAwB;oBAC5C,CAAC,CAAC,IAAA,uBAAe,EAAC,EAAE,CAAC,6BAA6B,EAAE,EAAE,CAAC,sBAAsB,EAAE,6BAAU,CAAC;oBAC1F,CAAC,CAAC,IAAA,uBAAe,EAAC,EAAE,CAAC,8BAA8B,EAAE,EAAE,CAAC,sBAAsB,EAAE,yCAAsB,CAAC,CAAC;gBAC1G,IACE,UAAU,CAAC,IAAI,KAAK,cAAI,CAAC,sBAAsB;oBAC/C,UAAU,CAAC,IAAI,KAAK,cAAI,CAAC,qBAAqB;oBAC9C,UAAU,CAAC,IAAI,KAAK,cAAI,CAAC,yBAAyB;oBAClD,UAAU,CAAC,IAAI,KAAK,cAAI,CAAC,wBAAwB,EACjD,CAAC;oBACD,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,IAAA,0CAAiC,EAC/B,EAAE,CAAC,sBAAsB,EACzB,6DAA6D,EAC7D,IAAA,wBAAgB,EAAC,UAAU,CAAC,IAAI,CAAC,EACjC,EAAE,CAAC,SAAS,EACZ,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,CAC5B,CACF,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,sCAA6B,EAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBACvF,OAAO;gBACT,CAAC;gBACD,MAAM,0BAA0B,GAAG,IAAA,wBAAgB,EACjD,IAAI,GAAG,EAA0B,EACjC,IAAI,EACJ,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,EAAE,CAAC,yBAAyB,EAC5B,EAAE,CAAC,sBAAsB,EACzB,EAAE,CAAC,qBAAqB,IAAI,EAAE,CAAC,sBAAsB,EACrD,EAAE,CAAC,YAAY,CAChB,CAAC;gBACF,MAAM,yBAAyB,GAAG,EAAE,CAAC,iCAAiC,CACpE,IAAI,EACJ,IAAI,GAAG,EAAgC,CACxC,CAAC;gBACF,4FAA4F;gBAC5F,IAAA,yCAAiC,EAAC,UAAU,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,CAAC;gBACnG,MAAM,SAAS,GAAG,IAAA,0BAAkB,EAClC,UAAU,CAAC,oBAAoB,EAC/B,IAAI,EACJ,0BAA0B,EAC1B,yBAAyB,EACzB,EAAE,CAAC,sBAAsB,EACzB,EAAE,CAAC,qBAAqB,IAAI,EAAE,CAAC,sBAAsB,EACrD,EAAE,CAAC,YAAY,EACf,EAAE,CAAC,oBAAoB,EACvB,EAAE,CAAC,MAAM,CACV,CAAC;gBACF,MAAM,UAAU,GAAG,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;gBAC1E,IAAI,UAAU,EAAE,CAAC;oBACf,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;oBACxC,+CAA+C;oBAC/C,MAAM,gBAAgB,GAAG,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;oBAClF,IAAI,gBAAgB,EAAE,CAAC;wBACrB,wEAAwE;wBACxE,+CAA+C;wBAC/C,IAAA,4BAAoB,EAClB,EAAE,CAAC,SAAS,EACZ,gBAAgB,CAAC,QAAQ,EACzB,SAAS,CAAC,yBAAyB,CAAC,GAAG,CAAC,2BAAQ,CAAC,CAClD,CAAC;wBACF,sGAAsG;wBACtG,qFAAqF;wBACrF,IAAA,4BAAoB,EAClB,EAAE,CAAC,SAAS,EACZ,gBAAgB,CAAC,QAAQ,EACzB,SAAS,CAAC,yBAAyB,CAAC,GAAG,CAAC,2BAAQ,CAAC,CAClD,CAAC;wBACF,OAAO;oBACT,CAAC;gBACH,CAAC;gBACD,MAAM,kBAAkB,GAAG,SAAS,CAAC,yBAAyB,CAAC,GAAG,CAAC,2BAAQ,CAAC,CAAC;gBAC7E,2FAA2F;gBAC3F,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,OAAO;gBACT,CAAC;gBACD,MAAM,iBAAiB,GAAG,IAAA,yBAAiB,EACzC,EAAE,CAAC,sBAAsB,EACzB,EAAE,CAAC,sBAAsB,EACzB,uBAAe,CAChB,CAAC;gBACF,sGAAsG;gBACtG,qFAAqF;gBACrF,IAAA,4BAAoB,EAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YACrF,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;gBAClB,EAAE,CAAC,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC;YACnC,CAAC;SACF;QACD,yBAAyB,EAAE;YACzB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,IAAI,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBACrE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,qCAA4B,EAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBACrG,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClC,IAAA,0CAAkC,EAChC,EAAE,CAAC,8BAA8B,EACjC,IAAI,EACJ,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,EAAE,CAAC,YAAY,EACf,EAAE,CAAC,MAAM,CACV,CAAC;YACJ,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC;gBAClC,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;YACjC,CAAC;SACF;QACD,wBAAwB,EAAE;YACxB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClC,EAAE,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACnC,MAAM,SAAS,GAAG,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;gBAClF,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,SAAS,CAAC,IAAI,KAAK,cAAI,CAAC,2BAA2B,EAAE,CAAC;wBACxD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,wCAA+B,EAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;wBACtE,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,IAAA,yBAAiB,EACf,IAAI,EACJ,SAAS,CAAC,yBAAyB,EACnC,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,EAAE,CAAC,sBAAsB,CAC1B,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,IAAA,yCAAiC,EAC/B,EAAE,CAAC,6BAA6B,EAChC,IAAI,EACJ,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,EAAE,CAAC,MAAM,CACV,CAAC;YACJ,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC;gBAClC,EAAE,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,CAAC;SACF;QACD,oBAAoB,EAAE;YACpB,KAAK,CAAC,IAAI;gBACR,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7B,qFAAqF;gBACrF,IACE,EAAE,CAAC,kBAAkB,KAAK,cAAI,CAAC,4BAA4B;oBAC3D,EAAE,CAAC,kBAAkB,KAAK,cAAI,CAAC,2BAA2B,EAC1D,CAAC;oBACD,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC;oBACvB,OAAO;gBACT,CAAC;gBACD,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC;gBACpB,EAAE,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC;gBACjC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,sBAAsB,IAAI,IAAI,EAAE,CAAC;gBACzD,MAAM,uBAAuB,GAAG,IAAA,8BAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpE,IAAI,CAAC,wBAAY,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;oBAC/C,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACtD,CAAC;gBACD,MAAM,UAAU,GAAG,EAAE,CAAC,wBAAwB;oBAC5C,CAAC,CAAC,IAAA,uBAAe,EAAC,EAAE,CAAC,6BAA6B,EAAE,EAAE,CAAC,sBAAsB,EAAE,6BAAU,CAAC;oBAC1F,CAAC,CAAC,IAAA,uBAAe,EAAC,EAAE,CAAC,8BAA8B,EAAE,EAAE,CAAC,sBAAsB,EAAE,yCAAsB,CAAC,CAAC;gBAC1G,IACE,UAAU,CAAC,IAAI,KAAK,cAAI,CAAC,4BAA4B;oBACrD,UAAU,CAAC,IAAI,KAAK,cAAI,CAAC,2BAA2B,EACpD,CAAC;oBACD,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,IAAA,0CAAiC,EAC/B,EAAE,CAAC,sBAAsB,EACzB,wCAAwC,EACxC,IAAA,wBAAgB,EAAC,UAAU,CAAC,IAAI,CAAC,EACjC,EAAE,CAAC,SAAS,EACZ,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,CAC5B,CACF,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,UAAU,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,qCAA4B,EAAC,OAAO,EAAE,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC,CAAC;oBACvF,OAAO;gBACT,CAAC;gBACD,IAAA,+BAAuB,EACrB,UAAU,CAAC,yBAAyB,EACpC,IAAI,EACJ,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,SAAS,EACT,EAAE,CAAC,YAAY,EACf,EAAE,CAAC,MAAM,CACV,CAAC;YACJ,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC;gBACrB,gFAAgF;gBAChF,IAAI,EAAE,CAAC,iBAAiB,KAAK,cAAI,CAAC,sBAAsB,EAAE,CAAC;oBACzD,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;oBAClB,EAAE,CAAC,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC;gBACnC,CAAC;YACH,CAAC;SACF;QACD,uBAAuB,EAAE;YACvB,KAAK,CAAC,IAAI;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjC,EAAE,CAAC,sBAAsB,GAAG,QAAQ,CAAC;gBACrC,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClC,IAAI,IAAA,uBAAe,EAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,OAAO,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBAC5C,CAAC;gBACD,IAAI,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,qCAA4B,EAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACpF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM,mBAAmB,GAAG,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC3E,IAAA,wCAAgC,EAC9B,EAAE,CAAC,8BAA8B,EACjC,IAAI,EACJ,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,CAAC,CAAC,mBAAmB,EACrB,EAAE,CAAC,YAAY,CAChB,CAAC;gBACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACzB,OAAO;gBACT,CAAC;gBACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;oBAC1C,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YACD,KAAK;gBACH,sEAAsE;gBACtE,MAAM,UAAU,GAAG,EAAE,CAAC,wBAAwB;oBAC5C,CAAC,CAAC,IAAA,uBAAe,EAAC,EAAE,CAAC,6BAA6B,EAAE,EAAE,CAAC,sBAAsB,EAAE,4CAAyB,CAAC;oBACzG,CAAC,CAAC,IAAA,uBAAe,EAAC,EAAE,CAAC,8BAA8B,EAAE,EAAE,CAAC,sBAAsB,EAAE,6CAA0B,CAAC,CAAC;gBAC9G,IAAA,2DAAmD,EAAC,UAAU,CAAC,CAAC;gBAChE,EAAE,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACpC,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC;YACpC,CAAC;SACF;QACD,sBAAsB,EAAE;YACtB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClC,OAAO,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;YACD,KAAK;gBACH,IAAA,2DAAmD,EACjD,IAAA,uBAAe,EAAC,EAAE,CAAC,6BAA6B,EAAE,EAAE,CAAC,sBAAsB,EAAE,4CAAyB,CAAC,CACxG,CAAC;gBACF,EAAE,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACpC,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC;YACpC,CAAC;SACF;QACD,oBAAoB,EAAE;YACpB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,IAAI,EAAE,CAAC,sBAAsB,KAAK,iCAAc,EAAE,CAAC;oBACjD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,gBAAgB,GAAG,IAAA,0BAAkB,EAAC,EAAE,CAAC,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC;gBACjG,EAAE,CAAC,qBAAqB,GAAG,IAAA,8BAAsB,EAAC,EAAE,CAAC,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC;gBAC7G,EAAE,CAAC,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC;gBAC9F,iBAAiB,GAAG,gBAAgB;oBAClC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,qBAAqC,CAAC;oBACxE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;gBAC/D,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClC,EAAE,CAAC,wCAAwC,CAAC,IAAI,CAAC,CAAC;gBAClD,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAC/B,kCAAkC;gBAClC,IAAI,IAAA,uBAAe,EAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,OAAO,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBACrE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,qCAA4B,EAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBACrG,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAA,qCAA6B,EAC3B,EAAE,CAAC,8BAA8B,EACjC,IAAI,EACJ,EAAE,CAAC,MAAM,EACT,EAAE,CAAC,kCAAkC,EACrC,EAAE,CAAC,mCAAmC,EACtC,IAAA,8BAAsB,EAAC,IAAI,CAAC,EAC5B,gBAAgB,EAChB,EAAE,CAAC,YAAY,IAAI,sBAAG,EACtB,EAAE,CAAC,qBAAqB,CACzB,CAAC;YACJ,CAAC;YACD,KAAK;gBACH,sEAAsE;gBACtE,MAAM,UAAU,GAAG,EAAE,CAAC,wBAAwB;oBAC5C,CAAC,CAAC,IAAA,uBAAe,EAAC,EAAE,CAAC,6BAA6B,EAAE,EAAE,CAAC,sBAAsB,EAAE,4CAAyB,CAAC;oBACzG,CAAC,CAAC,IAAA,uBAAe,EAAC,EAAE,CAAC,8BAA8B,EAAE,EAAE,CAAC,sBAAsB,EAAE,6CAA0B,CAAC,CAAC;gBAC9G,IAAA,2DAAmD,EAAC,UAAU,CAAC,CAAC;gBAChE,iBAAiB,GAAG,SAAS,CAAC;gBAC9B,gBAAgB,GAAG,KAAK,CAAC;gBACzB,EAAE,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACpC,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBAC9B,EAAE,CAAC,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC;YACpC,CAAC;SACF;QACD,mBAAmB,EAAE;YACnB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,IAAI,EAAE,CAAC,sBAAsB,KAAK,iCAAc,EAAE,CAAC;oBACjD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,gBAAgB,GAAG,IAAA,0BAAkB,EAAC,EAAE,CAAC,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC;gBACjG,EAAE,CAAC,qBAAqB,GAAG,IAAA,8BAAsB,EAAC,EAAE,CAAC,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAAC,CAAC;gBAC7G,EAAE,CAAC,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC;gBAC9F,iBAAiB,GAAG,gBAAgB;oBAClC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,qBAAqC,CAAC;oBACxE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;gBAC/D,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClC,EAAE,CAAC,wCAAwC,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK;gBACH,IAAA,2DAAmD,EACjD,IAAA,uBAAe,EAAC,EAAE,CAAC,6BAA6B,EAAE,EAAE,CAAC,sBAAsB,EAAE,4CAAyB,CAAC,CACxG,CAAC;gBACF,iBAAiB,GAAG,SAAS,CAAC;gBAC9B,gBAAgB,GAAG,KAAK,CAAC;gBACzB,EAAE,CAAC,wBAAwB,GAAG,KAAK,CAAC;gBACpC,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBAC9B,EAAE,CAAC,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC;YACpC,CAAC;SACF;QACD,oBAAoB,EAAE;YACpB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,IAAI,EAAE,CAAC,sBAAsB,KAAK,6BAAU,EAAE,CAAC;oBAC7C,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,EAAE,CAAC;oBACrE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,qCAA4B,EAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBACrG,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9E,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClC,MAAM,yBAAyB,GAAG,EAAE,CAAC,iCAAiC,CACpE,IAAI,EACJ,IAAI,GAAG,EAAgC,CACxC,CAAC;gBACF,IAAA,qCAA6B,EAAC,EAAE,CAAC,8BAA8B,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;YACpG,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC;YACpC,CAAC;SACF;QACD,mBAAmB,EAAE;YACnB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,IAAI,EAAE,CAAC,sBAAsB,KAAK,6BAAU,EAAE,CAAC;oBAC7C,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,EAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAClC,OAAO;gBACP,iFAAiF;gBACjF,MAAM,SAAS,GAAG,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;gBAClF,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,SAAS,CAAC,IAAI,KAAK,cAAI,CAAC,qBAAqB,EAAE,CAAC;wBAClD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,wCAA+B,EAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;wBACtE,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,EAAE,CAAC,iCAAiC,CAAC,IAAI,EAAE,SAAS,CAAC,yBAAyB,CAAC,CAAC;oBAChF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM,yBAAyB,GAAG,EAAE,CAAC,iCAAiC,CACpE,IAAI,EACJ,IAAI,GAAG,EAAgC,CACxC,CAAC;gBACF,IAAA,oCAA4B,EAAC,EAAE,CAAC,6BAA6B,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC;gBAChG,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC;YACpC,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F,SAAgB,kCAAkC,CAAC,EAAwB,EAAE,WAAyB;IACpG,IAAI,uBAAsD,CAAC;IAC3D,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAA,eAAK,EAAC,WAAW,EAAE;QACjB,eAAe,EAAE;YACf,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/B,MAAM,QAAQ,GAAG,IAAA,8BAAwB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,qBAAqB,GAAG,EAAE,CAAC,wCAAwC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxF,IACE,CAAC,CAAC,uBAAuB,IAAI,CAAC,uBAAuB,CAAC,2BAA2B,CAAC;oBAClF,CAAC,qBAAqB,EACtB,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM,cAAc,GAAG,EAAE,CAAC,qBAAqB,IAAI,EAAE,CAAC,sBAAsB,CAAC;gBAC7E,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC7B,uBAAuB,GAAG,IAAA,sBAAc,EACtC,EAAE,CAAC,iCAAiC,EACpC,cAAc,EACd,IAAA,4BAAoB,EAAC,cAAc,CAAC,CACrC,CAAC;gBACJ,CAAC;gBACD,MAAM,sBAAsB,GAAG,IAAA,yBAAiB,EAC9C,uBAAuB,CAAC,iCAAiC,EACzD,EAAE,CAAC,SAAS,EACZ,GAAG,EAAE,CAAC,IAAA,iCAAyB,EAAC,EAAE,CAAC,SAAS,CAAC,CAC9C,CAAC;gBACF,IAAI,CAAC,IAAA,mCAA2B,EAAC,uBAAuB,EAAE,sBAAsB,CAAC,EAAE,CAAC;oBAClF,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,sBAAsB,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;oBAChF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC3B,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,eAAe,EAAE,CAAC;oBACpB;gFAC4D;oBAC5D,IAAA,yBAAiB,EAAC,EAAE,CAAC,oCAAoC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;oBAC5G,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM,2BAA2B,GAAG,EAAE,CAAC,iCAAiC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACvF,IACE,2BAA2B;oBAC3B,2BAA2B,CAAC,2BAA2B;oBACvD,CAAC,IAAA,mCAA2B,EAAC,2BAA2B,EAAE,sBAAsB,CAAC,EACjF,CAAC;oBACD,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,sBAAsB,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;gBAClF,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,CAAC;SACF;QACD,uBAAuB,EAAE;YACvB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,uBAAuB,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBACxD,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,uBAAuB,GAAG,SAAS,CAAC;gBACpC,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;SACF;QACD,sBAAsB,EAAE;YACtB,KAAK,CAAC,IAAI;gBACR,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC5C,uBAAuB,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBACxD,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,uBAAuB,GAAG,SAAS,CAAC;gBACpC,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;SACF;QACD,oBAAoB,EAAE;YACpB,KAAK,CAAC,IAAI;gBACR,MAAM,UAAU,GACd,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtD,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,EAAE,CAAC,sBAAsB,GAAG,UAAU,CAAC,IAAI,CAAC;gBAC5C,EAAE,CAAC,qBAAqB,GAAI,UAAyB,CAAC,eAAe,CAAC;gBACtE,uBAAuB,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBAC9B,uBAAuB,GAAG,SAAS,CAAC;YACtC,CAAC;SACF;QACD,mBAAmB,EAAE;YACnB,KAAK,CAAC,IAAI;gBACR,MAAM,UAAU,GACd,EAAE,CAAC,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtD,EAAE,CAAC,6BAA6B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,EAAE,CAAC,sBAAsB,GAAG,UAAU,CAAC,IAAI,CAAC;gBAC5C,EAAE,CAAC,qBAAqB,GAAI,UAAyB,CAAC,eAAe,CAAC;gBACtE,uBAAuB,GAAG,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;YACD,KAAK;gBACH,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC;gBAC/B,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBAC9B,uBAAuB,GAAG,SAAS,CAAC;YACtC,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"walkers.js","sourceRoot":"","sources":["../../src/normalization/walkers.ts"],"names":[],"mappings":"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"}
@@ -39,9 +39,19 @@ export type FieldConfiguration = {
39
39
  requiresAuthentication?: boolean;
40
40
  requiredScopes?: string[][];
41
41
  };
42
+ export type FieldSetCondition = {
43
+ fieldCoordinatesPath: Array<string>;
44
+ fieldPath: Array<string>;
45
+ };
46
+ export type FieldSetConditionOptions = {
47
+ fieldCoordinatesPath: Array<string>;
48
+ fieldPath: Array<string>;
49
+ };
50
+ export declare function newFieldSetConditionData({ fieldCoordinatesPath, fieldPath, }: FieldSetConditionOptions): FieldSetCondition;
42
51
  export type RequiredFieldConfiguration = {
43
52
  fieldName: string;
44
53
  selectionSet: string;
54
+ conditions?: Array<FieldSetCondition>;
45
55
  disableEntityResolver?: boolean;
46
56
  };
47
57
  export type ConfigurationData = {
@@ -1,3 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newFieldSetConditionData = newFieldSetConditionData;
4
+ function newFieldSetConditionData({ fieldCoordinatesPath, fieldPath, }) {
5
+ return {
6
+ fieldCoordinatesPath,
7
+ fieldPath,
8
+ };
9
+ }
3
10
  //# sourceMappingURL=router-configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router-configuration.js","sourceRoot":"","sources":["../../src/router-configuration/router-configuration.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"router-configuration.js","sourceRoot":"","sources":["../../src/router-configuration/router-configuration.ts"],"names":[],"mappings":";;AA6DA,4DAQC;AARD,SAAgB,wBAAwB,CAAC,EACvC,oBAAoB,EACpB,SAAS,GACgB;IACzB,OAAO;QACL,oBAAoB;QACpB,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { BooleanValueNode, ConstDirectiveNode, DirectiveDefinitionNode, EnumTypeDefinitionNode, EnumTypeExtensionNode, EnumValueDefinitionNode, EnumValueNode, FieldDefinitionNode, FloatValueNode, InputObjectTypeDefinitionNode, InputObjectTypeExtensionNode, InputValueDefinitionNode, InterfaceTypeDefinitionNode, InterfaceTypeExtensionNode, IntValueNode, Kind, NamedTypeNode, NullValueNode, ObjectTypeDefinitionNode, ObjectTypeExtensionNode, OperationTypeNode, ScalarTypeDefinitionNode, ScalarTypeExtensionNode, SchemaDefinitionNode, StringValueNode, TypeNode, UnionTypeDefinitionNode, UnionTypeExtensionNode } from 'graphql';
2
- import { DefinitionData, DefinitionWithFieldsData, EnumDefinitionData, EnumValueData, FieldData, InputObjectDefinitionData, InputValueData, NodeData, ObjectDefinitionData, ParentDefinitionData, PersistedDirectiveDefinitionData, PersistedDirectivesData, ScalarDefinitionData, SchemaData, UnionDefinitionData } from './type-definition-data';
2
+ import { DefinitionData, DefinitionWithFieldsData, EnumDefinitionData, EnumValueData, FieldData, InputObjectDefinitionData, InputValueData, NodeData, ObjectDefinitionData, ParentDefinitionData, ParentWithFieldsData, PersistedDirectiveDefinitionData, PersistedDirectivesData, ScalarDefinitionData, SchemaData, UnionDefinitionData } from './type-definition-data';
3
3
  import { MutableFieldNode, MutableInputValueNode, MutableTypeDefinitionNode } from './ast';
4
4
  import { InputObjectTypeNode, InterfaceTypeNode, ObjectTypeNode, SchemaNode, UnionTypeNode } from '../ast/utils';
5
5
  import { EnumExtensionData, ExtensionWithFieldsData, InputObjectExtensionData, ObjectExtensionData, ParentExtensionData, ScalarExtensionData, UnionExtensionData } from './type-extension-data';
6
6
  import { AuthorizationData } from '../utils/utils';
7
- import { FieldConfiguration, SubscriptionFilterValue } from '../router-configuration/router-configuration';
7
+ import { FieldConfiguration, FieldSetCondition, SubscriptionFilterValue } from '../router-configuration/router-configuration';
8
8
  export type ObjectData = ObjectDefinitionData | ObjectExtensionData;
9
9
  type IsNodeExternalOrShareableResult = {
10
10
  isExternal: boolean;
@@ -57,8 +57,15 @@ export declare function getClientSchemaFieldNodeByFieldData(fieldData: FieldData
57
57
  export declare function getNodeWithPersistedDirectivesByInputValueData(inputValueData: InputValueData, persistedDirectiveDefinitionByDirectiveName: Map<string, DirectiveDefinitionNode>, errors: Error[]): MutableInputValueNode;
58
58
  export declare function getValidFieldArgumentNodes(fieldData: FieldData, persistedDirectiveDefinitionByDirectiveName: Map<string, DirectiveDefinitionNode>, fieldConfigurationByFieldPath: Map<string, FieldConfiguration>, errors: Error[]): MutableInputValueNode[];
59
59
  export declare function addValidPersistedDirectiveDefinitionNodeByData(definitions: MutableTypeDefinitionNode[], data: PersistedDirectiveDefinitionData, persistedDirectiveDefinitionByDirectiveName: Map<string, DirectiveDefinitionNode>, errors: Error[]): void;
60
- export declare function isShareabilityOfAllFieldInstancesValid(fieldData: FieldData): boolean;
61
- export declare function isFieldExternalInAllMutualSubgraphs(subgraphs: Set<string>, fieldData: FieldData): boolean;
60
+ type InvalidFieldNames = {
61
+ byShareable: Set<string>;
62
+ subgraphNamesByExternalFieldName: Map<string, Array<string>>;
63
+ };
64
+ export declare function newInvalidFieldNames(): {
65
+ byShareable: Set<string>;
66
+ subgraphNamesByExternalFieldName: Map<string, string[]>;
67
+ };
68
+ export declare function validateExternalAndShareable(fieldData: FieldData, invalidFieldNames: InvalidFieldNames): void;
62
69
  export declare enum MergeMethod {
63
70
  UNION = 0,
64
71
  INTERSECTION = 1,
@@ -68,4 +75,14 @@ export declare function isTypeValidImplementation(originalType: TypeNode, implem
68
75
  export declare function isNodeDataInaccessible(data: NodeData | ObjectExtensionData): boolean;
69
76
  export declare function isLeafKind(kind: Kind): boolean;
70
77
  export declare function getSubscriptionFilterValue(valueNode: BooleanValueNode | EnumValueNode | FloatValueNode | IntValueNode | NullValueNode | StringValueNode): SubscriptionFilterValue;
78
+ export declare function getParentTypeName(parentData: ParentWithFieldsData): string;
79
+ export declare enum FieldSetDirective {
80
+ PROVIDES = "provides",
81
+ REQUIRES = "requires"
82
+ }
83
+ export type ConditionalFieldData = {
84
+ providedBy: Array<FieldSetCondition>;
85
+ requiredBy: Array<FieldSetCondition>;
86
+ };
87
+ export declare function newConditionalFieldData(): ConditionalFieldData;
71
88
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MergeMethod = void 0;
3
+ exports.FieldSetDirective = exports.MergeMethod = void 0;
4
4
  exports.isNodeExternalOrShareable = isNodeExternalOrShareable;
5
5
  exports.getDefinedArgumentsForDirective = getDefinedArgumentsForDirective;
6
6
  exports.getDirectiveValidationErrors = getDirectiveValidationErrors;
@@ -48,12 +48,14 @@ exports.getClientSchemaFieldNodeByFieldData = getClientSchemaFieldNodeByFieldDat
48
48
  exports.getNodeWithPersistedDirectivesByInputValueData = getNodeWithPersistedDirectivesByInputValueData;
49
49
  exports.getValidFieldArgumentNodes = getValidFieldArgumentNodes;
50
50
  exports.addValidPersistedDirectiveDefinitionNodeByData = addValidPersistedDirectiveDefinitionNodeByData;
51
- exports.isShareabilityOfAllFieldInstancesValid = isShareabilityOfAllFieldInstancesValid;
52
- exports.isFieldExternalInAllMutualSubgraphs = isFieldExternalInAllMutualSubgraphs;
51
+ exports.newInvalidFieldNames = newInvalidFieldNames;
52
+ exports.validateExternalAndShareable = validateExternalAndShareable;
53
53
  exports.isTypeValidImplementation = isTypeValidImplementation;
54
54
  exports.isNodeDataInaccessible = isNodeDataInaccessible;
55
55
  exports.isLeafKind = isLeafKind;
56
56
  exports.getSubscriptionFilterValue = getSubscriptionFilterValue;
57
+ exports.getParentTypeName = getParentTypeName;
58
+ exports.newConditionalFieldData = newConditionalFieldData;
57
59
  const graphql_1 = require("graphql");
58
60
  const ast_1 = require("./ast");
59
61
  const utils_1 = require("../ast/utils");
@@ -1000,45 +1002,51 @@ function addValidPersistedDirectiveDefinitionNodeByData(definitions, data, persi
1000
1002
  description: data.description,
1001
1003
  });
1002
1004
  }
1003
- function isShareabilityOfAllFieldInstancesValid(fieldData) {
1004
- let shareableFields = 0;
1005
+ function newInvalidFieldNames() {
1006
+ return {
1007
+ byShareable: new Set(),
1008
+ subgraphNamesByExternalFieldName: new Map(),
1009
+ };
1010
+ }
1011
+ function validateExternalAndShareable(fieldData, invalidFieldNames) {
1012
+ // fieldData.subgraphNames.size is not used due to overridden fields
1013
+ const instances = fieldData.isShareableBySubgraphName.size;
1014
+ let externalFieldSubgraphNames = [];
1005
1015
  let unshareableFields = 0;
1006
1016
  for (const [subgraphName, isShareable] of fieldData.isShareableBySubgraphName) {
1007
1017
  /*
1008
- shareability is ignored if:
1009
- 1. the field is external
1010
- 2. the field is overridden by another subgraph (in which case it has not been upserted)
1011
- */
1018
+ * shareability is ignored if:
1019
+ * 1. the field is external
1020
+ * 2. the field is overridden by another subgraph (in which case it has not been upserted)
1021
+ */
1012
1022
  if (fieldData.isExternalBySubgraphName.get(subgraphName)) {
1023
+ externalFieldSubgraphNames.push(subgraphName);
1013
1024
  continue;
1014
1025
  }
1015
1026
  if (isShareable) {
1016
- if (unshareableFields) {
1017
- return false;
1018
- }
1019
- shareableFields += 1;
1020
1027
  continue;
1021
1028
  }
1022
1029
  unshareableFields += 1;
1023
- if (shareableFields || unshareableFields > 1) {
1024
- return false;
1025
- }
1026
1030
  }
1027
- return true;
1028
- }
1029
- function isFieldExternalInAllMutualSubgraphs(subgraphs, fieldData) {
1030
- const mutualSubgraphs = (0, utils_3.getAllMutualEntries)(subgraphs, fieldData.subgraphNames);
1031
- if (mutualSubgraphs.size < 1) {
1032
- return false;
1033
- }
1034
- for (const mutualSubgraph of mutualSubgraphs) {
1035
- const isExternal = fieldData.isExternalBySubgraphName.get(mutualSubgraph);
1036
- if (isExternal) {
1037
- continue;
1038
- }
1039
- return false;
1031
+ switch (unshareableFields) {
1032
+ case 0:
1033
+ // At least one instance of a field must be non-external
1034
+ if (instances === externalFieldSubgraphNames.length) {
1035
+ invalidFieldNames.subgraphNamesByExternalFieldName.set(fieldData.name, externalFieldSubgraphNames);
1036
+ }
1037
+ return;
1038
+ case 1:
1039
+ // The field can be unshareable if it's the only one
1040
+ if (instances === 1) {
1041
+ return;
1042
+ }
1043
+ if (instances - externalFieldSubgraphNames.length !== 1) {
1044
+ invalidFieldNames.byShareable.add(fieldData.name);
1045
+ }
1046
+ return;
1047
+ default:
1048
+ invalidFieldNames.byShareable.add(fieldData.name);
1040
1049
  }
1041
- return true;
1042
1050
  }
1043
1051
  var MergeMethod;
1044
1052
  (function (MergeMethod) {
@@ -1079,7 +1087,7 @@ function isTypeValidImplementation(originalType, implementationType, concreteTyp
1079
1087
  }
1080
1088
  }
1081
1089
  function isNodeDataInaccessible(data) {
1082
- return data.persistedDirectivesData.directives.has(string_constants_1.INACCESSIBLE);
1090
+ return data.persistedDirectivesData.directives.has(string_constants_1.INACCESSIBLE) || data.directivesByDirectiveName.has(string_constants_1.INACCESSIBLE);
1083
1091
  }
1084
1092
  function isLeafKind(kind) {
1085
1093
  return kind === graphql_1.Kind.SCALAR_TYPE_DEFINITION || kind === graphql_1.Kind.ENUM_TYPE_DEFINITION;
@@ -1110,4 +1118,25 @@ function getSubscriptionFilterValue(valueNode) {
1110
1118
  }
1111
1119
  }
1112
1120
  }
1121
+ function getParentTypeName(parentData) {
1122
+ switch (parentData.kind) {
1123
+ case graphql_1.Kind.OBJECT_TYPE_DEFINITION:
1124
+ // intentional fallthrough
1125
+ case graphql_1.Kind.OBJECT_TYPE_EXTENSION:
1126
+ return parentData.renamedTypeName;
1127
+ default:
1128
+ return parentData.name;
1129
+ }
1130
+ }
1131
+ var FieldSetDirective;
1132
+ (function (FieldSetDirective) {
1133
+ FieldSetDirective["PROVIDES"] = "provides";
1134
+ FieldSetDirective["REQUIRES"] = "requires";
1135
+ })(FieldSetDirective || (exports.FieldSetDirective = FieldSetDirective = {}));
1136
+ function newConditionalFieldData() {
1137
+ return {
1138
+ providedBy: [],
1139
+ requiredBy: [],
1140
+ };
1141
+ }
1113
1142
  //# sourceMappingURL=utils.js.map