@azure-tools/typespec-ts 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +14 -17
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +3 -3
- package/dist/src/lib.js.map +1 -1
- package/dist/src/modular/buildClassicalClient.d.ts +2 -3
- package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
- package/dist/src/modular/buildClassicalClient.js +26 -12
- package/dist/src/modular/buildClassicalClient.js.map +1 -1
- package/dist/src/modular/buildClientContext.d.ts +3 -3
- package/dist/src/modular/buildClientContext.d.ts.map +1 -1
- package/dist/src/modular/buildClientContext.js +5 -4
- package/dist/src/modular/buildClientContext.js.map +1 -1
- package/dist/src/modular/buildCodeModel.d.ts +3 -2
- package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
- package/dist/src/modular/buildCodeModel.js +141 -54
- package/dist/src/modular/buildCodeModel.js.map +1 -1
- package/dist/src/modular/buildOperations.d.ts +2 -2
- package/dist/src/modular/buildOperations.d.ts.map +1 -1
- package/dist/src/modular/buildOperations.js +15 -8
- package/dist/src/modular/buildOperations.js.map +1 -1
- package/dist/src/modular/buildProjectFiles.js +2 -2
- package/dist/src/modular/buildProjectFiles.js.map +1 -1
- package/dist/src/modular/buildRootIndex.d.ts +4 -4
- package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
- package/dist/src/modular/buildRootIndex.js +12 -5
- package/dist/src/modular/buildRootIndex.js.map +1 -1
- package/dist/src/modular/buildSubpathIndex.d.ts +2 -2
- package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
- package/dist/src/modular/buildSubpathIndex.js +7 -4
- package/dist/src/modular/buildSubpathIndex.js.map +1 -1
- package/dist/src/modular/emitModels.d.ts +3 -3
- package/dist/src/modular/emitModels.d.ts.map +1 -1
- package/dist/src/modular/emitModels.js +28 -18
- package/dist/src/modular/emitModels.js.map +1 -1
- package/dist/src/modular/helpers/clientHelpers.js +1 -1
- package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.d.ts +1 -1
- package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.js +140 -77
- package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
- package/dist/src/modular/helpers/typeHelpers.d.ts +2 -2
- package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/typeHelpers.js +13 -7
- package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
- package/dist/src/modular/modularCodeModel.d.ts +11 -0
- package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.js +3 -4
- package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
- package/dist/src/transform/transformParameters.d.ts +0 -10
- package/dist/src/transform/transformParameters.d.ts.map +1 -1
- package/dist/src/transform/transformParameters.js +7 -51
- package/dist/src/transform/transformParameters.js.map +1 -1
- package/dist/src/transform/transformResponses.js +3 -4
- package/dist/src/transform/transformResponses.js.map +1 -1
- package/dist/src/transform/transformSchemas.d.ts.map +1 -1
- package/dist/src/transform/transformSchemas.js +4 -8
- package/dist/src/transform/transformSchemas.js.map +1 -1
- package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -1
- package/dist/src/transform/transformTelemetryInfo.js +3 -10
- package/dist/src/transform/transformTelemetryInfo.js.map +1 -1
- package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
- package/dist/src/transform/transfromRLCOptions.js +48 -9
- package/dist/src/transform/transfromRLCOptions.js.map +1 -1
- package/dist/src/utils/modelUtils.d.ts +2 -1
- package/dist/src/utils/modelUtils.d.ts.map +1 -1
- package/dist/src/utils/modelUtils.js +83 -73
- package/dist/src/utils/modelUtils.js.map +1 -1
- package/dist/src/utils/operationUtil.d.ts +15 -1
- package/dist/src/utils/operationUtil.d.ts.map +1 -1
- package/dist/src/utils/operationUtil.js +82 -3
- package/dist/src/utils/operationUtil.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -11
- package/src/index.ts +24 -51
- package/src/lib.ts +3 -3
- package/src/modular/buildClassicalClient.ts +29 -16
- package/src/modular/buildClientContext.ts +8 -9
- package/src/modular/buildCodeModel.ts +183 -60
- package/src/modular/buildOperations.ts +16 -11
- package/src/modular/buildProjectFiles.ts +2 -2
- package/src/modular/buildRootIndex.ts +19 -12
- package/src/modular/buildSubpathIndex.ts +10 -8
- package/src/modular/emitModels.ts +35 -24
- package/src/modular/helpers/clientHelpers.ts +1 -1
- package/src/modular/helpers/operationHelpers.ts +231 -118
- package/src/modular/helpers/typeHelpers.ts +14 -7
- package/src/modular/modularCodeModel.ts +11 -0
- package/src/transform/transformHelperFunctionDetails.ts +10 -4
- package/src/transform/transformParameters.ts +15 -57
- package/src/transform/transformResponses.ts +2 -4
- package/src/transform/transformSchemas.ts +5 -9
- package/src/transform/transformTelemetryInfo.ts +4 -18
- package/src/transform/transfromRLCOptions.ts +67 -9
- package/src/utils/modelUtils.ts +81 -72
- package/src/utils/operationUtil.ts +121 -4
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { getPagedResult, isFixed } from "@azure-tools/typespec-azure-core";
|
|
2
|
-
import { getDoc, getFriendlyName, getMaxLength, getMaxValue, getMinLength, getMinValue, getPattern, getSummary, getVisibility, ignoreDiagnostics, isErrorModel, isNeverType, getEffectiveModelType, getDiscriminator, isKey, isStringType, getPropertyType, isNumericType,
|
|
3
|
-
import { getAuthentication, getHeaderFieldName,
|
|
2
|
+
import { getDoc, getFriendlyName, getMaxLength, getMaxValue, getMinLength, getMinValue, getPattern, getSummary, getVisibility, ignoreDiagnostics, isErrorModel, isNeverType, getEffectiveModelType, getDiscriminator, isKey, isStringType, getPropertyType, isNumericType, getMinItems, getMaxItems, listServices, getProjectedName, isNullType, getEncode, isTemplateDeclarationOrInstance, getFormat } from "@typespec/compiler";
|
|
3
|
+
import { getAuthentication, getHeaderFieldName, getPathParamName, getQueryParamName, getServers, isStatusCode, isHeader, getHttpOperation } from "@typespec/http";
|
|
4
4
|
import { getAddedOnVersions } from "@typespec/versioning";
|
|
5
|
-
import { listClients, listOperationGroups, listOperationsInOperationGroup, isApiVersion, getDefaultApiVersion, getClientNamespaceString,
|
|
5
|
+
import { listClients, listOperationGroups, listOperationsInOperationGroup, isApiVersion, getDefaultApiVersion, getClientNamespaceString, getSdkUnion, getAllModels, getSdkSimpleType } from "@azure-tools/typespec-client-generator-core";
|
|
6
6
|
import { getResourceOperation } from "@typespec/rest";
|
|
7
|
-
import {
|
|
8
|
-
import { getEnrichedDefaultApiVersion } from "../utils/modelUtils.js";
|
|
7
|
+
import { getEnrichedDefaultApiVersion, isAzureCoreErrorType } from "../utils/modelUtils.js";
|
|
9
8
|
import { camelToSnakeCase, toCamelCase } from "../utils/casingUtils.js";
|
|
10
|
-
import { getClientName } from "@azure-tools/rlc-common";
|
|
11
|
-
import { getOperationGroupName, getOperationName } from "../utils/operationUtil.js";
|
|
9
|
+
import { getClientName, NameType, normalizeName } from "@azure-tools/rlc-common";
|
|
10
|
+
import { getOperationGroupName, getOperationName, isIgnoredHeaderParam } from "../utils/operationUtil.js";
|
|
12
11
|
let CASING = "snake";
|
|
13
12
|
function applyCasing(name, options = { casing: "snake" }) {
|
|
14
13
|
if (options.casing === "camel") {
|
|
@@ -28,7 +27,8 @@ function isSimpleType(program, type) {
|
|
|
28
27
|
getMaxValue,
|
|
29
28
|
getMinLength,
|
|
30
29
|
getMaxLength,
|
|
31
|
-
getPattern
|
|
30
|
+
getPattern,
|
|
31
|
+
getEncode
|
|
32
32
|
];
|
|
33
33
|
for (const func of funcs) {
|
|
34
34
|
if (func(program, type)) {
|
|
@@ -65,7 +65,7 @@ function handleDiscriminator(context, type, model) {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
// it is not included in properties of
|
|
68
|
+
// it is not included in properties of typespec but needed by python codegen
|
|
69
69
|
if (discriminatorProperty) {
|
|
70
70
|
const discriminatorType = { ...discriminatorProperty.type };
|
|
71
71
|
discriminatorType.value = null;
|
|
@@ -132,7 +132,7 @@ function processModelProperties(context, newValue, model) {
|
|
|
132
132
|
}
|
|
133
133
|
function getType(context, type, options = {}) {
|
|
134
134
|
// don't cache simple type(string, int, etc) since decorators may change the result
|
|
135
|
-
const enableCache = !isSimpleType(context.program, type)
|
|
135
|
+
const enableCache = !isSimpleType(context.program, type);
|
|
136
136
|
const effectiveModel = !options.disableEffectiveModel &&
|
|
137
137
|
(type.kind === "Model" || type.kind === "Union")
|
|
138
138
|
? getEffectiveSchemaType(context.program, type)
|
|
@@ -151,6 +151,9 @@ function getType(context, type, options = {}) {
|
|
|
151
151
|
else {
|
|
152
152
|
newValue = emitType(context, type);
|
|
153
153
|
}
|
|
154
|
+
if (type.kind === "ModelProperty" || type.kind === "Scalar") {
|
|
155
|
+
newValue = applyEncoding(context.program, type, newValue);
|
|
156
|
+
}
|
|
154
157
|
if (enableCache) {
|
|
155
158
|
typesMap.set(effectiveModel, newValue);
|
|
156
159
|
if (type.kind === "Union") {
|
|
@@ -187,11 +190,14 @@ function emitParamBase(program, parameter) {
|
|
|
187
190
|
let name;
|
|
188
191
|
let description = "";
|
|
189
192
|
let addedOn;
|
|
193
|
+
let format;
|
|
190
194
|
if (parameter.kind === "ModelProperty") {
|
|
195
|
+
const newParameter = applyEncoding(program, parameter, parameter);
|
|
191
196
|
optional = parameter.optional;
|
|
192
197
|
name = parameter.name;
|
|
193
198
|
description = getDocStr(program, parameter);
|
|
194
199
|
addedOn = getAddedOnVersion(program, parameter);
|
|
200
|
+
format = newParameter.format;
|
|
195
201
|
}
|
|
196
202
|
else {
|
|
197
203
|
optional = false;
|
|
@@ -202,7 +208,8 @@ function emitParamBase(program, parameter) {
|
|
|
202
208
|
description,
|
|
203
209
|
addedOn,
|
|
204
210
|
clientName: applyCasing(name, { casing: CASING }),
|
|
205
|
-
inOverload: false
|
|
211
|
+
inOverload: false,
|
|
212
|
+
format
|
|
206
213
|
};
|
|
207
214
|
}
|
|
208
215
|
function getBodyType(program, route) {
|
|
@@ -266,6 +273,7 @@ function emitBodyParameter(context, httpOperation) {
|
|
|
266
273
|
};
|
|
267
274
|
}
|
|
268
275
|
function emitParameter(context, parameter, implementation) {
|
|
276
|
+
var _a;
|
|
269
277
|
const base = emitParamBase(context.program, parameter.param);
|
|
270
278
|
let type = getType(context, parameter.param.type);
|
|
271
279
|
let clientDefaultValue = undefined;
|
|
@@ -279,9 +287,10 @@ function emitParameter(context, parameter, implementation) {
|
|
|
279
287
|
const paramMap = {
|
|
280
288
|
restApiName: parameter.name,
|
|
281
289
|
location: parameter.type,
|
|
282
|
-
type: type,
|
|
290
|
+
type: base.format ? { ...type, format: base.format } : type,
|
|
283
291
|
implementation: implementation,
|
|
284
|
-
skipUrlEncoding: parameter.type === "endpointPath"
|
|
292
|
+
skipUrlEncoding: parameter.type === "endpointPath",
|
|
293
|
+
format: (_a = parameter.format) !== null && _a !== void 0 ? _a : base.format
|
|
285
294
|
};
|
|
286
295
|
if (paramMap.type.type === "constant") {
|
|
287
296
|
clientDefaultValue = paramMap.type.value;
|
|
@@ -352,19 +361,6 @@ function emitResponseHeaders(context, headers) {
|
|
|
352
361
|
}
|
|
353
362
|
return retval;
|
|
354
363
|
}
|
|
355
|
-
function isAzureCoreErrorType(t) {
|
|
356
|
-
var _a;
|
|
357
|
-
if ((t === null || t === void 0 ? void 0 : t.kind) !== "Model" ||
|
|
358
|
-
!["Error", "ErrorResponse", "InnerError"].includes(t.name))
|
|
359
|
-
return false;
|
|
360
|
-
const namespaces = ".Azure.Core.Foundations".split(".");
|
|
361
|
-
while (namespaces.length > 0 &&
|
|
362
|
-
((t === null || t === void 0 ? void 0 : t.kind) === "Model" || (t === null || t === void 0 ? void 0 : t.kind) === "Namespace") &&
|
|
363
|
-
((_a = t.namespace) === null || _a === void 0 ? void 0 : _a.name) === namespaces.pop()) {
|
|
364
|
-
t = t.namespace;
|
|
365
|
-
}
|
|
366
|
-
return namespaces.length == 0;
|
|
367
|
-
}
|
|
368
364
|
function emitResponse(context, response, innerResponse) {
|
|
369
365
|
var _a, _b;
|
|
370
366
|
let type = undefined;
|
|
@@ -468,6 +464,9 @@ function emitBasicOperation(context, operation, operationGroupName, rlcModels) {
|
|
|
468
464
|
op.path === sourceRoutePath);
|
|
469
465
|
});
|
|
470
466
|
for (const param of httpOperation.parameters.parameters) {
|
|
467
|
+
if (isIgnoredHeaderParam(param)) {
|
|
468
|
+
continue;
|
|
469
|
+
}
|
|
471
470
|
const emittedParam = emitParameter(context, param, "Method");
|
|
472
471
|
if (isApiVersion(context, param) && apiVersionParam === undefined) {
|
|
473
472
|
apiVersionParam = emittedParam;
|
|
@@ -482,7 +481,7 @@ function emitBasicOperation(context, operation, operationGroupName, rlcModels) {
|
|
|
482
481
|
for (const innerResponse of response.responses) {
|
|
483
482
|
const emittedResponse = emitResponse(context, response, innerResponse);
|
|
484
483
|
if (isErrorModel(context.program, response.type)) {
|
|
485
|
-
// * is valid status code in
|
|
484
|
+
// * is valid status code in typespec but invalid for autorest.python
|
|
486
485
|
if (response.statusCode === "*") {
|
|
487
486
|
exceptions.push(emittedResponse);
|
|
488
487
|
}
|
|
@@ -532,7 +531,7 @@ function emitBasicOperation(context, operation, operationGroupName, rlcModels) {
|
|
|
532
531
|
};
|
|
533
532
|
}
|
|
534
533
|
function isReadOnly(program, type) {
|
|
535
|
-
// https://microsoft.github.io/
|
|
534
|
+
// https://microsoft.github.io/typespec/standard-library/http/operations#automatic-visibility
|
|
536
535
|
// Only "read" should be readOnly
|
|
537
536
|
const visibility = getVisibility(program, type);
|
|
538
537
|
if (visibility) {
|
|
@@ -543,7 +542,8 @@ function isReadOnly(program, type) {
|
|
|
543
542
|
}
|
|
544
543
|
}
|
|
545
544
|
function emitProperty(context, property) {
|
|
546
|
-
var _a, _b;
|
|
545
|
+
var _a, _b, _c;
|
|
546
|
+
const newProperty = applyEncoding(context.program, property, property);
|
|
547
547
|
let clientDefaultValue = undefined;
|
|
548
548
|
const propertyDefaultKind = (_a = property.default) === null || _a === void 0 ? void 0 : _a.kind;
|
|
549
549
|
if (property.default &&
|
|
@@ -552,21 +552,26 @@ function emitProperty(context, property) {
|
|
|
552
552
|
propertyDefaultKind === "Boolean")) {
|
|
553
553
|
clientDefaultValue = property.default.value;
|
|
554
554
|
}
|
|
555
|
+
if (propertyDefaultKind === "EnumMember") {
|
|
556
|
+
clientDefaultValue = (_b = property.default.value) !== null && _b !== void 0 ? _b : property.default.name;
|
|
557
|
+
}
|
|
555
558
|
// const [clientName, jsonName] = getPropertyNames(context, property);
|
|
556
559
|
const clientName = property.name;
|
|
557
|
-
const jsonName = (
|
|
560
|
+
const jsonName = (_c = getProjectedName(context.program, property, "json")) !== null && _c !== void 0 ? _c : property.name;
|
|
558
561
|
if (property.model) {
|
|
559
562
|
getType(context, property.model);
|
|
560
563
|
}
|
|
564
|
+
const type = getType(context, property.type);
|
|
561
565
|
return {
|
|
562
566
|
clientName: applyCasing(clientName, { casing: CASING }),
|
|
563
567
|
restApiName: jsonName,
|
|
564
|
-
type:
|
|
568
|
+
type: newProperty.format ? { ...type, format: newProperty.format } : type,
|
|
565
569
|
optional: property.optional,
|
|
566
570
|
description: getDocStr(context.program, property),
|
|
567
571
|
addedOn: getAddedOnVersion(context.program, property),
|
|
568
572
|
readonly: isReadOnly(context.program, property) || isKey(context.program, property),
|
|
569
|
-
clientDefaultValue: clientDefaultValue
|
|
573
|
+
clientDefaultValue: clientDefaultValue,
|
|
574
|
+
format: newProperty.format
|
|
570
575
|
};
|
|
571
576
|
}
|
|
572
577
|
function getName(program, type) {
|
|
@@ -589,6 +594,7 @@ function getName(program, type) {
|
|
|
589
594
|
}
|
|
590
595
|
}
|
|
591
596
|
function emitModel(context, type) {
|
|
597
|
+
var _a, _b;
|
|
592
598
|
// Now we know it's a defined model
|
|
593
599
|
const properties = [];
|
|
594
600
|
let baseModel = undefined;
|
|
@@ -596,9 +602,27 @@ function emitModel(context, type) {
|
|
|
596
602
|
baseModel = getType(context, type.baseModel);
|
|
597
603
|
}
|
|
598
604
|
const effectiveName = getEffectiveSchemaType(context.program, type).name;
|
|
599
|
-
const
|
|
600
|
-
|
|
601
|
-
|
|
605
|
+
const overridedModelName = (_b = (_a = getProjectedName(context.program, type, "javascript")) !== null && _a !== void 0 ? _a : getProjectedName(context.program, type, "client")) !== null && _b !== void 0 ? _b : getFriendlyName(context.program, type);
|
|
606
|
+
let modelName = overridedModelName !== null && overridedModelName !== void 0 ? overridedModelName : (effectiveName ? effectiveName : getName(context.program, type));
|
|
607
|
+
if (!overridedModelName &&
|
|
608
|
+
type.templateMapper &&
|
|
609
|
+
type.templateMapper.args &&
|
|
610
|
+
type.templateMapper.args.length > 0 &&
|
|
611
|
+
getPagedResult(context.program, type)) {
|
|
612
|
+
modelName =
|
|
613
|
+
type.templateMapper.args
|
|
614
|
+
.map((it) => {
|
|
615
|
+
switch (it.kind) {
|
|
616
|
+
case "Model":
|
|
617
|
+
return it.name;
|
|
618
|
+
case "String":
|
|
619
|
+
return it.value;
|
|
620
|
+
default:
|
|
621
|
+
return "";
|
|
622
|
+
}
|
|
623
|
+
})
|
|
624
|
+
.join("") + "List";
|
|
625
|
+
}
|
|
602
626
|
return {
|
|
603
627
|
type: "model",
|
|
604
628
|
name: modelName,
|
|
@@ -690,9 +714,11 @@ function emitCredentialUnion(cred_types) {
|
|
|
690
714
|
return result;
|
|
691
715
|
}
|
|
692
716
|
function emitStdScalar(program, scalar) {
|
|
717
|
+
var _a, _b, _c;
|
|
718
|
+
const newScalar = applyEncoding(program, scalar, scalar);
|
|
693
719
|
switch (scalar.name) {
|
|
694
720
|
case "bytes":
|
|
695
|
-
return { type: "byte-array", format:
|
|
721
|
+
return { type: "byte-array", format: newScalar.format };
|
|
696
722
|
case "int8":
|
|
697
723
|
case "int16":
|
|
698
724
|
case "int32":
|
|
@@ -714,31 +740,55 @@ function emitStdScalar(program, scalar) {
|
|
|
714
740
|
case "boolean":
|
|
715
741
|
return { type: "boolean" };
|
|
716
742
|
case "plainDate":
|
|
717
|
-
return { type: "date" };
|
|
743
|
+
return { type: "datetime", format: (_a = newScalar.format) !== null && _a !== void 0 ? _a : "date" };
|
|
718
744
|
case "utcDateTime":
|
|
719
|
-
return { type: "datetime", format:
|
|
745
|
+
return { type: "datetime", format: newScalar.format };
|
|
720
746
|
case "plainTime":
|
|
721
|
-
return { type: "time" };
|
|
747
|
+
return { type: "datetime", format: (_b = newScalar.format) !== null && _b !== void 0 ? _b : "time" };
|
|
748
|
+
case "offsetDateTime":
|
|
749
|
+
return { type: "datetime", format: (_c = newScalar.format) !== null && _c !== void 0 ? _c : "rfc7231" };
|
|
722
750
|
case "duration":
|
|
723
|
-
return { type: "duration" };
|
|
751
|
+
return { type: "duration", format: newScalar.format };
|
|
724
752
|
case "numeric":
|
|
725
753
|
return {}; // Waiting on design for more precise type https://github.com/microsoft/cadl/issues/1260
|
|
726
754
|
default:
|
|
727
755
|
return {};
|
|
728
756
|
}
|
|
729
757
|
}
|
|
758
|
+
function applyEncoding(program, typespecType, target = {}) {
|
|
759
|
+
const encodeData = getEncode(program, typespecType);
|
|
760
|
+
const formatData = getFormat(program, typespecType);
|
|
761
|
+
formatData;
|
|
762
|
+
if (encodeData) {
|
|
763
|
+
const newTarget = { ...target };
|
|
764
|
+
const newType = emitScalar(program, encodeData.type);
|
|
765
|
+
// newTarget["type"] = newType["type"];
|
|
766
|
+
// If the target already has a format it takes priority. (e.g. int32)
|
|
767
|
+
newTarget["format"] = mergeFormatAndEncoding(newTarget.format, encodeData.encoding, newType["format"]);
|
|
768
|
+
return newTarget;
|
|
769
|
+
}
|
|
770
|
+
return target;
|
|
771
|
+
}
|
|
772
|
+
function mergeFormatAndEncoding(format, encoding, encodeAsFormat) {
|
|
773
|
+
switch (format) {
|
|
774
|
+
case undefined:
|
|
775
|
+
return encodeAsFormat !== null && encodeAsFormat !== void 0 ? encodeAsFormat : encoding;
|
|
776
|
+
case "date-time":
|
|
777
|
+
return encoding;
|
|
778
|
+
case "duration":
|
|
779
|
+
default:
|
|
780
|
+
return encodeAsFormat !== null && encodeAsFormat !== void 0 ? encodeAsFormat : encoding;
|
|
781
|
+
}
|
|
782
|
+
}
|
|
730
783
|
function applyIntrinsicDecorators(program, type, result) {
|
|
731
|
-
|
|
784
|
+
let newResult = { ...result };
|
|
732
785
|
const docStr = getDoc(program, type);
|
|
733
786
|
const isString = isStringType(program, getPropertyType(type));
|
|
734
787
|
const isNumeric = isNumericType(program, getPropertyType(type));
|
|
735
788
|
if (!result.description && docStr) {
|
|
736
789
|
newResult.description = docStr;
|
|
737
790
|
}
|
|
738
|
-
|
|
739
|
-
if (isString && !result.format && formatStr) {
|
|
740
|
-
newResult.format = formatStr;
|
|
741
|
-
}
|
|
791
|
+
newResult = applyEncoding(program, type, newResult);
|
|
742
792
|
const pattern = getPattern(program, type);
|
|
743
793
|
if (isString && !result.pattern && pattern) {
|
|
744
794
|
newResult.pattern = pattern;
|
|
@@ -771,7 +821,8 @@ function applyIntrinsicDecorators(program, type, result) {
|
|
|
771
821
|
}
|
|
772
822
|
function emitScalar(program, scalar) {
|
|
773
823
|
let result = {};
|
|
774
|
-
|
|
824
|
+
const isStd = program.checker.isStdType(scalar);
|
|
825
|
+
if (isStd) {
|
|
775
826
|
result = emitStdScalar(program, scalar);
|
|
776
827
|
}
|
|
777
828
|
else if (scalar.baseScalar) {
|
|
@@ -799,7 +850,7 @@ function emitListOrDict(context, type) {
|
|
|
799
850
|
}
|
|
800
851
|
return undefined;
|
|
801
852
|
}
|
|
802
|
-
function
|
|
853
|
+
function mapTypeSpecType(context, type) {
|
|
803
854
|
switch (type.kind) {
|
|
804
855
|
case "Number":
|
|
805
856
|
return constantType(type.value, intOrFloat(type.value));
|
|
@@ -893,7 +944,7 @@ function emitType(context, type) {
|
|
|
893
944
|
if (type.kind === "CredentialTypeUnion") {
|
|
894
945
|
return emitCredentialUnion(type);
|
|
895
946
|
}
|
|
896
|
-
const builtinType =
|
|
947
|
+
const builtinType = mapTypeSpecType(context, type);
|
|
897
948
|
if (builtinType !== undefined) {
|
|
898
949
|
// add in description elements for types derived from primitive types (SecureString, etc.)
|
|
899
950
|
const doc = getDoc(context.program, type);
|
|
@@ -944,8 +995,32 @@ function emitOperationGroups(context, client, rlcModels) {
|
|
|
944
995
|
operations: clientOperations
|
|
945
996
|
});
|
|
946
997
|
}
|
|
998
|
+
resolveConflictIfExist(operationGroups);
|
|
947
999
|
return operationGroups;
|
|
948
1000
|
}
|
|
1001
|
+
function resolveConflictIfExist(operationGroups) {
|
|
1002
|
+
if (operationGroups.length < 2) {
|
|
1003
|
+
return;
|
|
1004
|
+
}
|
|
1005
|
+
const nameSet = new Set();
|
|
1006
|
+
const hasConflict = operationGroups.some((g) => g.operations.some((op) => {
|
|
1007
|
+
if (nameSet.has(op.name)) {
|
|
1008
|
+
return true;
|
|
1009
|
+
}
|
|
1010
|
+
else {
|
|
1011
|
+
nameSet.add(op.name);
|
|
1012
|
+
return false;
|
|
1013
|
+
}
|
|
1014
|
+
}));
|
|
1015
|
+
if (!hasConflict) {
|
|
1016
|
+
return;
|
|
1017
|
+
}
|
|
1018
|
+
// Append operation group prefix
|
|
1019
|
+
operationGroups.forEach((g) => g.operations.forEach((op) => {
|
|
1020
|
+
op.oriName = op.name;
|
|
1021
|
+
op.name = `${g.propertyName}_${op.name}`;
|
|
1022
|
+
}));
|
|
1023
|
+
}
|
|
949
1024
|
function getServerHelper(program, namespace) {
|
|
950
1025
|
const servers = getServers(program, namespace);
|
|
951
1026
|
if (servers === undefined) {
|
|
@@ -1097,7 +1172,8 @@ function emitClients(context, namespace, rlcModelsMap) {
|
|
|
1097
1172
|
operationGroups: emitOperationGroups(context, client, rlcModels),
|
|
1098
1173
|
url: server ? server.url : "",
|
|
1099
1174
|
apiVersions: [],
|
|
1100
|
-
rlcClientName: rlcModels ? getClientName(rlcModels) : client.name
|
|
1175
|
+
rlcClientName: rlcModels ? getClientName(rlcModels) : client.name,
|
|
1176
|
+
subfolder: ""
|
|
1101
1177
|
};
|
|
1102
1178
|
const emittedApiVersionParam = getApiVersionParameter(context);
|
|
1103
1179
|
if (emittedApiVersionParam) {
|
|
@@ -1125,19 +1201,22 @@ function getNamespaces(context) {
|
|
|
1125
1201
|
}
|
|
1126
1202
|
return namespaces;
|
|
1127
1203
|
}
|
|
1128
|
-
export function emitCodeModel(
|
|
1129
|
-
var _a, _b;
|
|
1204
|
+
export function emitCodeModel(dpgContext, rlcModelsMap, modularSourcesRoot, project, options = { casing: "snake" }) {
|
|
1205
|
+
var _a, _b, _c;
|
|
1130
1206
|
CASING = (_a = options.casing) !== null && _a !== void 0 ? _a : CASING;
|
|
1131
|
-
const dpgContext = createSdkContext(context);
|
|
1132
1207
|
const clientNamespaceString = (_b = getClientNamespaceString(dpgContext)) === null || _b === void 0 ? void 0 : _b.toLowerCase();
|
|
1133
1208
|
// Get types
|
|
1134
1209
|
const codeModel = {
|
|
1135
|
-
options:
|
|
1210
|
+
options: (_c = dpgContext.rlcOptions) !== null && _c !== void 0 ? _c : {},
|
|
1211
|
+
modularOptions: { sourceRoot: modularSourcesRoot },
|
|
1136
1212
|
namespace: clientNamespaceString,
|
|
1137
1213
|
subnamespaceToClients: {},
|
|
1138
1214
|
clients: [],
|
|
1139
|
-
types: []
|
|
1215
|
+
types: [],
|
|
1216
|
+
project
|
|
1140
1217
|
};
|
|
1218
|
+
typesMap.clear();
|
|
1219
|
+
simpleTypesMap.clear();
|
|
1141
1220
|
const allModels = getAllModels(dpgContext);
|
|
1142
1221
|
for (const model of allModels) {
|
|
1143
1222
|
getType(dpgContext, model);
|
|
@@ -1145,9 +1224,17 @@ export function emitCodeModel(context, rlcModelsMap, options = { casing: "snake"
|
|
|
1145
1224
|
for (const namespace of getNamespaces(dpgContext)) {
|
|
1146
1225
|
if (namespace === clientNamespaceString) {
|
|
1147
1226
|
codeModel.clients = emitClients(dpgContext, namespace, rlcModelsMap);
|
|
1227
|
+
codeModel.clients.length > 1 &&
|
|
1228
|
+
codeModel.clients.map((client) => {
|
|
1229
|
+
client["subfolder"] = normalizeName(client.name.replace("Client", ""), NameType.File);
|
|
1230
|
+
});
|
|
1148
1231
|
}
|
|
1149
1232
|
else {
|
|
1150
1233
|
codeModel["subnamespaceToClients"][namespace] = emitClients(dpgContext, namespace, rlcModelsMap);
|
|
1234
|
+
codeModel["subnamespaceToClients"][namespace].length > 1 &&
|
|
1235
|
+
codeModel["subnamespaceToClients"][namespace].map((client) => {
|
|
1236
|
+
client["subfolder"] = normalizeName(client.name, NameType.File);
|
|
1237
|
+
});
|
|
1151
1238
|
}
|
|
1152
1239
|
}
|
|
1153
1240
|
codeModel["types"] = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildCodeModel.js","sourceRoot":"","sources":["../../../src/modular/buildCodeModel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildCodeModel.js","sourceRoot":"","sources":["../../../src/modular/buildCodeModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAGL,MAAM,EACN,eAAe,EACf,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,WAAW,EAKX,qBAAqB,EACrB,gBAAgB,EAEhB,KAAK,EAGL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,EACX,WAAW,EACX,YAAY,EAIZ,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,+BAA+B,EAC/B,SAAS,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EAMV,YAAY,EAEZ,QAAQ,EACR,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAEL,WAAW,EACX,mBAAmB,EACnB,8BAA8B,EAC9B,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,EACX,YAAY,EAEZ,gBAAgB,EACjB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAWtD,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAEL,aAAa,EACb,QAAQ,EACR,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAsBnC,IAAI,MAAM,GAAsB,OAAO,CAAC;AAWxC,SAAS,WAAW,CAClB,IAAY,EACZ,UAAyC,EAAE,MAAM,EAAE,OAAO,EAAE;IAE5D,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;QAC9B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;KAC1B;IAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;AAClD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;AACnD,MAAM,sBAAsB,GAA0B,EAAE,CAAC;AACzD,IAAI,eAAe,GAA0B,SAAS,CAAC;AAEvD,SAAS,YAAY,CACnB,OAAgB,EAChB,IAA6B;IAE7B,wEAAwE;IACxE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,EAAE;QACrE,MAAM,KAAK,GAAG;YACZ,WAAW;YACX,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,SAAS;SACV,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBACvB,OAAO,IAAI,CAAC;aACb;SACF;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,OAAgB,EAAE,MAAY;;IAC/C,OAAO,MAAA,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,mCAAI,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,KAAK,CAAC,QAAiB,EAAE,SAAoB;IACpD,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE;QAC5C,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,KAAK,mBAAmB,EAAE;YACpD,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAmB,EAAE,IAAW,EAAE,KAAU;IACvE,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9D,IAAI,aAAa,EAAE;QACjB,IAAI,qBAAqB,CAAC;QAC1B,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE;YAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC/C,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,UAAU,EAAE;gBAC3C,IAAI,QAAQ,CAAC,WAAW,KAAK,aAAa,CAAC,YAAY,EAAE;oBACvD,SAAS,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;oBACnD,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;oBAChC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;oBAC7D,qBAAqB,GAAG,QAAQ,CAAC;iBAClC;aACF;SACF;QACD,4EAA4E;QAC5E,IAAI,qBAAqB,EAAE;YACzB,MAAM,iBAAiB,GAAG,EAAE,GAAG,qBAAqB,CAAC,IAAI,EAAE,CAAC;YAC5D,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC;YAC/B,MAAM,YAAY,GAAG;gBACnB,GAAG,qBAAqB;gBACxB,aAAa,EAAE,IAAI;gBACnB,IAAI,EAAE,iBAAiB;aACxB,CAAC;YACF,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC;YAC9B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACrC;KACF;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAgB,EAAE,IAAmB;;IACnE,SAAS,gBAAgB,CAAC,QAAuB;QAC/C,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,QAAQ,IAAI,cAAc,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,SAAgB,CAAC;IACrB,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QACzB,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,CAAA,MAAA,cAAc,CAAC,CAAC,CAAC,0CAAE,IAAI,MAAK,OAAO,EAAE;YACtE,SAAS,GAAG,qBAAqB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D;QACD,OAAO,IAAW,CAAC;KACpB;SAAM;QACL,SAAS,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;KACpE;IAED,IAAI,SAAS,CAAC,IAAI,EAAE;QAClB,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,IAAa,CAAC;AACvB,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB;IACrC,yDAAyD;IACzD,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,OAAO;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;QAC1B,CAAC,IAAI,CAAC,SAAS;QACf,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAC/B,CAAC,IAAI,CAAC,OAAO,CACd,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAmB,EACnB,QAAa,EACb,KAAY;IAEZ,oEAAoE;IACpE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;QAChD,IACE,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;YACvC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC1B,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EACnC;YACA,SAAS;SACV;QACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE;YACrE,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;SAC1B;QACD,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;KAC3D;IACD,2EAA2E;IAC3E,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,OAAO,CACd,OAAmB,EACnB,IAAiB,EACjB,UAA+C,EAAE;IAEjD,mFAAmF;IACnF,MAAM,WAAW,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,cAAc,GAClB,CAAC,OAAO,CAAC,qBAAqB;QAC9B,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;QAC9C,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;QAC/C,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,WAAW,EAAE;QACf,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC;SACf;KACF;IACD,IAAI,QAAa,CAAC;IAClB,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE;QACtB,yDAAyD;QACzD,QAAQ,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KAC5B;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACpC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC3D,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;KAC3D;IAED,IAAI,WAAW,EAAE;QACf,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;gBACtC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC3B,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;iBACnD;aACF;SACF;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,oEAAoE;YACpE,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;SACjD;KACF;SAAM;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE;YACT,QAAQ,GAAG,KAAK,CAAC;SAClB;aAAM;YACL,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SACnC;KACF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,wBAAwB;AACxB,SAAS,iBAAiB,CAAC,CAAU,EAAE,CAAO;;IAC5C,OAAO,MAAA,MAAA,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,0CAAG,CAAC,CAAC,0CAAE,KAAK,CAAC;AAC9C,CAAC;AAUD,SAAS,aAAa,CACpB,OAAgB,EAChB,SAA+B;IAE/B,IAAI,QAAiB,CAAC;IACtB,IAAI,IAAY,CAAC;IACjB,IAAI,WAAW,GAAW,EAAE,CAAC;IAC7B,IAAI,OAA2B,CAAC;IAChC,IAAI,MAA0B,CAAC;IAE/B,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE;QACtC,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAClE,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QAC9B,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QACtB,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;KAC9B;SAAM;QACL,QAAQ,GAAG,KAAK,CAAC;QACjB,IAAI,GAAG,MAAM,CAAC;KACf;IAED,OAAO;QACL,QAAQ;QACR,WAAW;QACX,OAAO;QACP,UAAU,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACjD,UAAU,EAAE,KAAK;QACjB,MAAM;KACP,CAAC;AACJ,CAAC;AAUD,SAAS,WAAW,CAAC,OAAgB,EAAE,KAAoB;;IACzD,IAAI,SAAS,GAAG,MAAA,KAAK,CAAC,UAAU,CAAC,IAAI,0CAAE,IAAI,CAAC;IAC5C,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE;QAC9D,MAAM,YAAY,GAAG,MAAA,oBAAoB,CACvC,OAAO,EACP,KAAK,CAAC,SAAS,CAChB,0CAAE,YAAY,CAAC;QAChB,IAAI,YAAY,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACjE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvD,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;gBAC7C,IAAI,CAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,0CAAE,IAAI,MAAK,OAAO,EAAE;oBACxC,MAAM,kBAAkB,GAAG,sBAAsB,CAC/C,OAAO,EACP,YAAY,CAAC,IAAI,CAClB,CAAC;oBACF,mGAAmG;oBACnG,IACE,kBAAkB,KAAK,YAAY;wBACnC,SAAS,CAAC,cAAc;wBACxB,SAAS,CAAC,cAAc,CAAC,IAAI;wBAC7B,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;4BACxC,OAAO,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;gCAC/C,CAAC,CAAC,EAAE,KAAK,kBAAkB;gCAC3B,CAAC,CAAC,KAAK,CAAC;wBACZ,CAAC,CAAC,EACF;wBACA,SAAS,GAAG,YAAY,CAAC;qBAC1B;iBACF;aACF;SACF;QACD,IAAI,YAAY,IAAI,SAAS,CAAC,IAAI,KAAK,EAAE,EAAE;YACzC,SAAS,GAAG,YAAY,CAAC;SAC1B;KACF;IACD,OAAO,SAAU,CAAC;AACpB,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAmB,EACnB,aAA4B;;IAE5B,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAK,CAAC;IAC1B,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACrC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,YAAY,GAAG,CAAC,kBAAkB,CAAC,CAAC;KACrC;IACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,MAAM,KAAK,CAAC,0CAA0C,CAAC,CAAC;KACzD;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;QACzE,qBAAqB,EAAE,IAAI;KAC5B,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE;QAC7C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;KAClE;IAED,OAAO;QACL,YAAY;QACZ,IAAI;QACJ,WAAW,EAAE,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,mCAAI,MAAM;QAC3C,QAAQ,EAAE,MAAM;QAChB,GAAG,IAAI;QACP,kBAAkB,EAChB,CAAA,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,OAAO,mCAAI,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAClE,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,OAAmB,EACnB,SAAuD,EACvD,cAAsB;;IAEtB,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,kBAAkB,GAAG,SAAS,CAAC;IACnC,IACE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,UAAU,EAC3B;QACA,2EAA2E;QAC3E,uCAAuC;QACvC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;KAC1B;IACD,MAAM,QAAQ,GAAQ;QACpB,WAAW,EAAE,SAAS,CAAC,IAAI;QAC3B,QAAQ,EAAE,SAAS,CAAC,IAAI;QACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;QAC3D,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,SAAS,CAAC,IAAI,KAAK,cAAc;QAClD,MAAM,EAAE,MAAC,SAAiB,CAAC,MAAM,mCAAI,IAAI,CAAC,MAAM;KACjD,CAAC;IAEF,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;QACrC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;KAC1C;IAED,IAAI,YAAY,CAAC,OAAO,EAAE,SAAmC,CAAC,EAAE;QAC9D,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,OAAO,EACP,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CACrC,CAAC;QACF,QAAQ,CAAC,IAAI,GAAG,iBAAiB;YAC/B,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACvB,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC;QACnC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;QAC9B,IAAI,iBAAiB,EAAE;YACrB,kBAAkB,GAAG,iBAAiB,CAAC,KAAK,CAAC;SAC9C;QACD,IAAI,CAAC,kBAAkB,EAAE;YACvB,kBAAkB,GAAG,4BAA4B,CAC/C,OAAO,CAAC,OAAO,EACf,OAAO,CACR,CAAC;SACH;KACF;IACD,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,sBAAsB,CAC7B,aAAkC,EAClC,QAAa;IAEb,OAAO;QACL,gBAAgB,EAAE,KAAK;QACvB,kBAAkB,EAAE,IAAI;QACxB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,cAAc,EAAE,QAAQ;QACxB,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC;QAC3C,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC9B,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,KAAK;QACtB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QACtB,sBAAsB,EAAE,IAAI;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC;KACd;IACD,MAAM,IAAI,GAAa;QACrB,WAAW,EAAE,EAAE;QACf,kBAAkB,EAAE,IAAI;QACxB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,WAAW,EAAE,EAAE;KAChB,CAAC;IACF,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAmB,EACnB,OAAuC;IAEvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,MAAM,CAAC;KACf;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAClD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;YAClC,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;KACJ;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CACnB,OAAmB,EACnB,QAA+B,EAC/B,aAA2C;;IAE3C,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,IACE,CAAA,MAAA,aAAa,CAAC,IAAI,0CAAE,IAAI;QACxB,CAAC,oBAAoB,CAAC,MAAA,aAAa,CAAC,IAAI,0CAAE,IAAI,CAAC,EAC/C;QACA,0EAA0E;QAC1E,MAAM,SAAS,GAAG;YAChB,oBAAoB;YACpB,yBAAyB;YACzB,kBAAkB;SACnB,CAAC;QACF,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,IAAa,CAAC;QACpD,IACE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;YACxC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,EAC5C;YACA,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACtE,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClD;KACF;IACD,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;QAC/B,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC7B;SAAM;QACL,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;KACjD;IACD,OAAO;QACL,OAAO,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC;QAC5D,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE;QAC9B,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC1D,aAAa,EAAE,OAAO;QACtB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,OAAmB,EACnB,SAAoB,EACpB,kBAA0B,EAC1B,SAAmB;IAEnB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,GAAG,IAAI,MAAM,EAAE;QACjB,OAAO,sBAAsB,CAC3B,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,SAAS,CACV,CAAC;KACH;SAAM,IAAI,MAAM,EAAE;QACjB,OAAO,mBAAmB,CACxB,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,SAAS,CACV,CAAC;KACH;SAAM,IAAI,GAAG,EAAE;QACd,OAAO,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;KAC5E;IACD,OAAO,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,iBAAiB,CAAC,gBAA+B;IACxD,gBAAgB,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC;AAC5C,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAgB,EAChB,SAAoB,EACpB,gBAAqC;IAErC,gBAAgB,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC;IAC7C,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACvD,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,MAAM,KAAK,CACT,8EAA8E,CAC/E,CAAC;KACH;IACD,gBAAgB,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC;IACrD,gBAAgB,CAAC,uBAAuB,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC;AACvE,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAmB,EACnB,SAAoB,EACpB,kBAA0B,EAC1B,SAAmB;IAEnB,MAAM,gBAAgB,GAAG,kBAAkB,CACzC,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,SAAS,CACV,CAAC;IACF,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpC,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACnE,gBAAgB,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC;IAChD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAmB,EACnB,SAAoB,EACpB,kBAA0B,EAC1B,SAAmB;IAEnB,MAAM,gBAAgB,GAAG,kBAAkB,CACzC,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,SAAS,CACV,CAAC;IACF,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAmB,EACnB,SAAoB,EACpB,kBAA0B,EAC1B,SAAmB;IAEnB,MAAM,gBAAgB,GAAG,kBAAkB,CACzC,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,SAAS,CACV,CAAC;IACF,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACnE,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAmB,EACnB,SAAoB,EACpB,kBAA0B,EAC1B,SAAmB;;IAEnB,kCAAkC;IAClC,MAAM,UAAU,GAAU,EAAE,CAAC;IAC7B,IAAI,sBAAsB,EAAE;QAC1B,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE;YAC1C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxB;KACF;IACD,MAAM,aAAa,GAAG,iBAAiB,CACrC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAC7C,CAAC;IACF,MAAM,eAAe,GACnB,SAAS,CAAC,eAAe;QACzB,CAAC,+BAA+B,CAAC,SAAS,CAAC,eAAe,CAAC;QACzD,CAAC,CAAC,SAAS,CAAC,eAAe;QAC3B,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,wBAAwB,GAAG,qBAAqB,CACpD,OAAO,EACP,eAAe,CAChB,CAAC;IACF,MAAM,mBAAmB,GAAG,gBAAgB,CAC1C,OAAO,CAAC,OAAO,EACf,eAAe,CAChB,CAAC;IACF,MAAM,eAAe,GAAG,iBAAiB,CACvC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAC7C,CAAC,IAAI,CAAC;IACP,MAAM,YAAY,GAAG,MAAA,SAAS,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACtD,OAAO,CACL,CAAC,wBAAwB,KAAK,EAAE;YAC9B,EAAE,CAAC,cAAc,KAAK,wBAAwB,CAAC;YACjD,EAAE,CAAC,aAAa,KAAK,mBAAmB;YACxC,EAAE,CAAC,IAAI,KAAK,eAAe,CAC5B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE;QACvD,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;YAC/B,SAAS;SACV;QACD,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,eAAe,KAAK,SAAS,EAAE;YACjE,eAAe,GAAG,YAAY,CAAC;SAChC;QACD,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC/B;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,MAAM,UAAU,GAAY,KAAK,CAAC;IAClC,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,SAAS,EAAE;QAC9C,KAAK,MAAM,aAAa,IAAI,QAAQ,CAAC,SAAS,EAAE;YAC9C,MAAM,eAAe,GAAa,YAAY,CAC5C,OAAO,EACP,QAAQ,EACR,aAAa,CACd,CAAC;YACF,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAChD,qEAAqE;gBACrE,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;oBAC/B,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;iBAClC;aACF;iBAAM;gBACL,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACjC;SACF;KACF;IAED,IAAI,aAA8B,CAAC;IACnC,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE;QAC/C,aAAa,GAAG,SAAS,CAAC;KAC3B;SAAM;QACL,aAAa,GAAG,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC1D,IACE,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;YACnC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAClC;YACA,aAAa,CAAC,yBAAyB,CAAC,GAAG,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,EAAE;gBACf,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;aAC7C;YACD,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpD,aAAa,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAC/D,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACzB,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;aAClE;SACF;KACF;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;QAClD,OAAO,EAAE,MAAA,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,mCAAI,EAAE;QACrD,GAAG,EAAE,aAAa,CAAC,IAAI;QACvB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE;QACxC,UAAU,EAAE,UAAU;QACtB,aAAa,EAAE,aAAa;QAC5B,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE;QAC1B,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;QAC5B,SAAS,EAAE,kBAAkB;QAC7B,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;QACtD,aAAa,EAAE,OAAO;QACtB,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC5D,WAAW,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,OAAgB,EAAE,IAAmB;IACvD,6FAA6F;IAC7F,iCAAiC;IACjC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,IAAI,UAAU,EAAE;QACd,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACpC;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAED,SAAS,YAAY,CACnB,OAAmB,EACnB,QAAuB;;IAEvB,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvE,IAAI,kBAAkB,GAAG,SAAS,CAAC;IACnC,MAAM,mBAAmB,GAAG,MAAA,QAAQ,CAAC,OAAO,0CAAE,IAAI,CAAC;IACnD,IACE,QAAQ,CAAC,OAAO;QAChB,CAAC,mBAAmB,KAAK,QAAQ;YAC/B,mBAAmB,KAAK,QAAQ;YAChC,mBAAmB,KAAK,SAAS,CAAC,EACpC;QACA,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;KAC7C;IAED,IAAI,mBAAmB,KAAK,YAAY,EAAE;QACxC,kBAAkB,GAAG,MAAA,QAAQ,CAAC,OAAO,CAAC,KAAK,mCAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;KACtE;IAED,sEAAsE;IACtE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;IACjC,MAAM,QAAQ,GACZ,MAAA,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,mCAAI,QAAQ,CAAC,IAAI,CAAC;IAEvE,IAAI,QAAQ,CAAC,KAAK,EAAE;QAClB,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;KAClC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO;QACL,UAAU,EAAE,WAAW,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACvD,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;QACzE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;QACjD,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;QACrD,QAAQ,EACN,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC3E,kBAAkB,EAAE,kBAAkB;QACtC,MAAM,EAAE,WAAW,CAAC,MAAM;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,OAAgB,EAAE,IAAW;IAC5C,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpD,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC;KACrB;SAAM;QACL,IACE,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,cAAc,CAAC,IAAI;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EACnC;YACA,OAAO,CACL,IAAI,CAAC,IAAI;gBACT,IAAI,CAAC,cAAc,CAAC,IAAI;qBACrB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACjD,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;SAClB;KACF;AACH,CAAC;AAED,SAAS,SAAS,CAAC,OAAmB,EAAE,IAAW;;IACjD,mCAAmC;IACnC,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,IAAI,SAAS,GAAG,SAAS,CAAC;IAC1B,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9C;IACD,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,kBAAkB,GACtB,MAAA,MAAA,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,mCACrD,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,mCACjD,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,SAAS,GACX,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAClB,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,IACE,CAAC,kBAAkB;QACnB,IAAI,CAAC,cAAc;QACnB,IAAI,CAAC,cAAc,CAAC,IAAI;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACnC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EACrC;QACA,SAAS;YACP,IAAI,CAAC,cAAc,CAAC,IAAI;iBACrB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACV,QAAQ,EAAE,CAAC,IAAI,EAAE;oBACf,KAAK,OAAO;wBACV,OAAO,EAAE,CAAC,IAAI,CAAC;oBACjB,KAAK,QAAQ;wBACX,OAAO,EAAE,CAAC,KAAK,CAAC;oBAClB;wBACE,OAAO,EAAE,CAAC;iBACb;YACH,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;KACxB;IAED,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;QAC7C,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;QACrC,qBAAqB,EAAE,EAAE;QACzB,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;QACjD,aAAa,EAAE,SAAS;YACtB,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC5C,CAAC,CAAC,SAAS;QACb,IAAI,EAAE,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QACvC,eAAe,EAAE,oBAAoB,CAAC,IAAI,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AACpE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QAC/B,OAAO,IAAI,CAAC;KACb;IACD,OAAO,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,QAAQ,CAAC,OAAgB,EAAE,IAAU;;IAC5C,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;QACrC,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,IAAI;YACxB,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;SACnC,CAAC,CAAC;KACJ;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC;QACrC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;QACvE,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;KAChC,CAAC;IACF,SAAS,cAAc,CAAC,MAAkB;QACxC,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;YACpC,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACjC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAU,EAAE,SAAiB;IACjD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,IAAI,eAAe,GAAQ,EAAE,CAAC;IAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC1B,eAAe,GAAG;YAChB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE;gBACN,IAAI,EAAE,6BAA6B;gBACnC,gBAAgB,EAAE,EAAE;aACrB;SACF,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC/B,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC3D;YACD,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;SAChD;KACF;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;QACjC,eAAe,GAAG;YAChB,IAAI,EAAE,KAAK;YACX,MAAM,EAAE;gBACN,IAAI,EAAE,0BAA0B;gBAChC,GAAG,EAAE,IAAI,CAAC,IAAI;aACf;SACF,CAAC;KACH;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA+B;IAC1D,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,4EAA4E;IAC5E,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,KAAK,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;KACrD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CACpB,OAAgB,EAChB,MAA8C;;IAE9C,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;QAC1D,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAA,SAAS,CAAC,MAAM,mCAAI,MAAM,EAAE,CAAC;QAClE,KAAK,aAAa;YAChB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;QACxD,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAA,SAAS,CAAC,MAAM,mCAAI,MAAM,EAAE,CAAC;QAClE,KAAK,gBAAgB;YACnB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAA,SAAS,CAAC,MAAM,mCAAI,SAAS,EAAE,CAAC;QACrE,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;QACxD,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC,CAAC,wFAAwF;QACrG;YACE,OAAO,EAAE,CAAC;KACb;AACH,CAAC;AAED,SAAS,aAAa,CACpB,OAAgB,EAChB,YAAoC,EACpC,SAAc,EAAE;IAEhB,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACpD,UAAU,CAAC;IACX,IAAI,UAAU,EAAE;QACd,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACrD,uCAAuC;QACvC,qEAAqE;QACrE,SAAS,CAAC,QAAQ,CAAC,GAAG,sBAAsB,CAC1C,SAAS,CAAC,MAAM,EAChB,UAAU,CAAC,QAAQ,EACnB,OAAO,CAAC,QAAQ,CAAC,CAClB,CAAC;QACF,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAC7B,MAA0B,EAC1B,QAAgB,EAChB,cAAkC;IAElC,QAAQ,MAAM,EAAE;QACd,KAAK,SAAS;YACZ,OAAO,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,QAAQ,CAAC;QACpC,KAAK,WAAW;YACd,OAAO,QAAQ,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB;YACE,OAAO,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,QAAQ,CAAC;KACrC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAgB,EAChB,IAA4B,EAC5B,MAAW;IAEX,IAAI,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;QACjC,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC;KAChC;IAED,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,EAAE;QAC1C,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;KAC7B;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE;QAC5D,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;KACjC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE;QAC5D,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;KACjC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC1D,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;KAC9B;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC1D,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC;KAC9B;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC9C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC/B;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC9C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC/B;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,UAAU,CAAC,OAAgB,EAAE,MAAc;IAClD,IAAI,MAAM,GAAwB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,KAAK,EAAE;QACT,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KACzC;SAAM,IAAI,MAAM,CAAC,UAAU,EAAE;QAC5B,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;KACjD;IACD,OAAO,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,cAAc,CACrB,OAAmB,EACnB,IAAW;IAEX,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACnC,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC;iBACnD,CAAC;aACH;iBAAM,IAAI,IAAI,KAAK,SAAS,EAAE;gBAC7B,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC;iBACnD,CAAC;aACH;SACF;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,OAAmB,EAAE,IAAU;IACtD,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5C,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,KAAK,OAAO;YACV,OAAO,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACxC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,SAAS,CAAC,OAAmB,EAAE,IAAW;IACjD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;KAC/C;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5B,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,WAAW,SAAS,EAAE;YACnC,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC3D,WAAW,EAAE,EAAE;SAChB,CAAC;KACH;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;QAClC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI,WAAW,OAAO,CAAC,IAAI,EAAE;YACrD,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,SAA0B,CAAC;YACtE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACpD,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YACjD,WAAW,EAAE,EAAE;SAChB,CAAC;KACH;SAAM;QACL,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;KAC5E;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAS;IAC/B,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,GAAG;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,OAAmB,EACnB,IAA4C;IAE5C,IAAI,OAAsB,CAAC;IAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;QACvD,OAAO,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KAC3C;SAAM;QACL,OAAO,GAAG,IAAI,CAAC;KAChB;IAED,MAAM,gBAAgB,GAAwB,EAAE,CAAC;IACjD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC7B,gBAAgB,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9C,gBAAgB,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QAClD,gBAAgB,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;KACnD;SAAM,IACL,OAAO,CAAC,IAAI,KAAK,OAAO;QACxB,OAAO,CAAC,IAAI,KAAK,OAAO;QACxB,OAAO,CAAC,IAAI,KAAK,SAAS;QAC1B,OAAO,CAAC,IAAI,KAAK,SAAS,EAC1B;QACA,gBAAgB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAChD,gBAAgB,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;KACjD;IACD,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,gBAAgB;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,OAAmB,EAAE,IAAiB;IACtD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE;QAC9B,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE;QACvC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;KAClC;IACD,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,0FAA0F;QAC1F,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,GAAG,EAAE;YACP,WAAW,CAAC,WAAW,GAAG,GAAG,CAAC;SAC/B;QACD,OAAO,WAAW,CAAC;KACpB;IAED,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,OAAO;YACV,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClC,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,KAAK,OAAO;YACV,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClC,KAAK,cAAc;YACjB,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC;YACE,MAAM,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;KAC7C;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAmB,EACnB,MAAiB,EACjB,SAAmB;IAEnB,MAAM,eAAe,GAAqB,EAAE,CAAC;IAC7C,KAAK,MAAM,cAAc,IAAI,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QACjE,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACtC,KAAK,MAAM,SAAS,IAAI,8BAA8B,CACpD,OAAO,EACP,cAAc,CACf,EAAE;YACD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;SACrE;QACD,eAAe,CAAC,IAAI,CAAC;YACnB,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,UAAU;SACvB,CAAC,CAAC;KACJ;IACD,MAAM,gBAAgB,GAAoB,EAAE,CAAC;IAC7C,KAAK,MAAM,SAAS,IAAI,8BAA8B,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QACvE,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;KACzE;IACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,eAAe,CAAC,IAAI,CAAC;YACnB,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC;KACJ;IACD,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACxC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAAC,eAAiC;IAC/D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;QAC9B,OAAO;KACR;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;SACd;IACH,CAAC,CAAC,CACH,CAAC;IACF,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO;KACR;IACD,gCAAgC;IAChC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QAC1B,EAAE,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;QACrB,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,OAAgB,EAChB,SAAoB;IAEpB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAmB,EACnB,SAAoB;IAEpB,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,OAAO;YACL;gBACE,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,cAAc;gBAC3B,UAAU,EAAE,UAAU;gBACtB,kBAAkB,EAAE,IAAI;gBACxB,WAAW,EAAE,OAAO;gBACpB,QAAQ,EAAE,cAAc;gBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,KAAK;aAClB;SACF,CAAC;KACH;IACD,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;YAC9C,MAAM,eAAe,GAAwB;gBAC3C,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK;aACb,CAAC;YACF,MAAM,gBAAgB,GAAG,aAAa,CACpC,OAAO,EACP,eAAe,EACf,QAAQ,CACT,CAAC;YACF,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IACE,YAAY,CAAC,OAAO,EAAE,eAAsB,CAAC;gBAC7C,eAAe,IAAI,SAAS,EAC5B;gBACA,eAAe,GAAG,gBAAgB,CAAC;gBACnC,SAAS;aACV;YACD,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAC/B;QACD,OAAO,MAAM,CAAC;KACf;SAAM;QACL,OAAO;YACL;gBACE,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,cAAc;gBAC3B,UAAU,EAAE,UAAU;gBACtB,kBAAkB,EAAE,MAAM,CAAC,GAAG;gBAC9B,WAAW,EAAE,OAAO;gBACpB,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,KAAK;aAClB;SACF,CAAC;KACH;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAmB,EACnB,SAAoB;IAEpB,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3D,IAAI,IAAI,EAAE;QACR,MAAM,gBAAgB,GAAqB,EAAE,CAAC;QAC9C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;gBACnC,MAAM,IAAI,GAAmB;oBAC3B,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,MAAM;iBACf,CAAC;gBACF,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7B;SACF;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,IAAI,IAAiB,CAAC;YACtB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE;gBACxD,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;aAC5B;iBAAM;gBACL,IAAI,GAAG;oBACL,IAAI,EAAE,qBAAqB;oBAC3B,KAAK,EAAE,gBAAgB;iBACxB,CAAC;aACH;YACD,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC5B,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,uDAAuD;gBACpE,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,YAAY;gBACzB,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,KAAK;aAClB,CAAC;SACH;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAmB,EACnB,SAAoB;IAEpB,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAChE,IAAI,eAAe,EAAE;QACnB,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KACxC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAmB;IACjD,MAAM,OAAO,GAAG,oBAAoB,CAClC,OAAO,EACP,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CACrC,CAAC;IACF,IAAI,eAAe,EAAE;QACnB,OAAO,EAAE,GAAG,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KACnD;SAAM,IAAI,OAAO,KAAK,SAAS,EAAE;QAChC,OAAO;YACL,UAAU,EAAE,aAAa;YACzB,kBAAkB,EAAE,OAAO,CAAC,KAAK;YACjC,WAAW,EAAE,aAAa;YAC1B,cAAc,EAAE,QAAQ;YACxB,QAAQ,EAAE,OAAO;YACjB,WAAW,EAAE,aAAa;YAC1B,eAAe,EAAE,KAAK;YACtB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC;YACpC,YAAY,EAAE,IAAI;SACnB,CAAC;KACH;AACH,CAAC;AAED,SAAS,WAAW,CAClB,OAAmB,EACnB,SAAiB,EACjB,YAAmC;;IAEnC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;YACpD,SAAS;SACV;QACD,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE;YACd,SAAS;SACV;QACD,MAAM,aAAa,GAAe;YAChC,IAAI,EAAE,MAAA,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE;YACxC,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;YAC5C,UAAU,EAAE,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;YACzD,eAAe,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;YAChE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC7B,WAAW,EAAE,EAAE;YACf,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;YACjE,SAAS,EAAE,EAAE;SACd,CAAC;QACF,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,sBAAsB,EAAE;YAC1B,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SACvD;QACD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5B;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,OAAmB,EAAE,UAAkB;IAC3D,gGAAgG;IAChG,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7E,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,wBAAwB,CAAC,OAAO,CAAE,CAAC,WAAW,EAAE,CAAC;KACzD;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,OAAmB;IACxC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;QACzC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KACpD;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,UAAsB,EACtB,YAAmC,EACnC,kBAA0B,EAC1B,OAAgB,EAChB,UAAyC,EAAE,MAAM,EAAE,OAAO,EAAE;;IAE5D,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,MAAM,CAAC;IAClC,MAAM,qBAAqB,GACzB,MAAA,wBAAwB,CAAC,UAAU,CAAC,0CAAE,WAAW,EAAE,CAAC;IACtD,YAAY;IACZ,MAAM,SAAS,GAAqB;QAClC,OAAO,EAAE,MAAA,UAAU,CAAC,UAAU,mCAAI,EAAE;QACpC,cAAc,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE;QAClD,SAAS,EAAE,qBAAqB;QAChC,qBAAqB,EAAE,EAAE;QACzB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;QACT,OAAO;KACR,CAAC;IAEF,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;KAC5B;IAED,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE;QACjD,IAAI,SAAS,KAAK,qBAAqB,EAAE;YACvC,SAAS,CAAC,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YACrE,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAC1B,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC/B,MAAM,CAAC,WAAW,CAAC,GAAG,aAAa,CACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EACjC,QAAQ,CAAC,IAAI,CACd,CAAC;gBACJ,CAAC,CAAC,CAAC;SACN;aAAM;YACL,SAAS,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,GAAG,WAAW,CACzD,UAAU,EACV,SAAS,EACT,YAAY,CACb,CAAC;YACF,SAAS,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;gBACrD,SAAS,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAkB,CAAC,GAAG,CACjE,CAAC,MAAM,EAAE,EAAE;oBACT,MAAM,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAClE,CAAC,CACF,CAAC;SACL;KACF;IAED,SAAS,CAAC,OAAO,CAAC,GAAG;QACnB,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClB,GAAG,QAAQ,CAAC,MAAM,EAAE;QACpB,GAAG,cAAc,CAAC,MAAM,EAAE;KAC3B,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Project, SourceFile } from "ts-morph";
|
|
2
|
-
import { Client, Operation } from "./modularCodeModel.js";
|
|
2
|
+
import { Client, ModularCodeModel, Operation } from "./modularCodeModel.js";
|
|
3
3
|
import { SdkContext } from "../utils/interfaces.js";
|
|
4
4
|
/**
|
|
5
5
|
* This function creates a file under /api for each operation group.
|
|
6
6
|
* If there is no operation group in the TypeSpec program, we create a single
|
|
7
7
|
* file called operations.ts where all operations are generated.
|
|
8
8
|
*/
|
|
9
|
-
export declare function buildOperationFiles(dpgContext: SdkContext,
|
|
9
|
+
export declare function buildOperationFiles(dpgContext: SdkContext, codeModel: ModularCodeModel, client: Client, needUnexpectedHelper?: boolean): SourceFile[];
|
|
10
10
|
export declare function importModels(srcPath: string, sourceFile: SourceFile, project: Project, subfolder?: string): void;
|
|
11
11
|
/**
|
|
12
12
|
* This function generates the interfaces for each operation options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildOperations.d.ts","sourceRoot":"","sources":["../../../src/modular/buildOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAS/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"buildOperations.d.ts","sourceRoot":"","sources":["../../../src/modular/buildOperations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAS/C,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAG5E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,EACd,oBAAoB,GAAE,OAAc,gBAiGrC;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,MAAW,QAuBvB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,QAwBvB"}
|